Skip to content

Feat/currency exchange#645

Merged
gamalielhere merged 11 commits intodevop/pakage-updatesfrom
feat/currency-exchange
Mar 28, 2025
Merged

Feat/currency exchange#645
gamalielhere merged 11 commits intodevop/pakage-updatesfrom
feat/currency-exchange

Conversation

@gamalielhere
Copy link
Contributor

@gamalielhere gamalielhere commented Mar 20, 2025

Summary by CodeRabbit

  • New Features

    • Enhanced currency formatting across transaction fees, token displays, and fiat values for improved clarity.
    • Introduced a new currency settings interface that lets users select their preferred currency with dynamic exchange rate updates.
    • Added methods for handling currency settings, allowing users to set and retrieve their preferred currency.
    • New components setting-select-option.vue and settings-select.vue introduced for better user interaction in currency selection.
    • New method fetchAndSetRates added to fetch and update currency rates.
    • New store module for managing currency settings and selections.
  • Chores

    • Updated underlying libraries and dependencies to boost performance and overall stability.

@gamalielhere gamalielhere changed the base branch from main to develop March 20, 2025 19:35
@coderabbitai
Copy link

coderabbitai bot commented Mar 20, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (3)
  • main
  • develop
  • devop/vite-migrate

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This pull request introduces a new XML workspace configuration file for the MacOS Xcode project and updates numerous dependency versions across multiple package.json files. It adds enhanced currency settings support by extending the settings state with new methods and types, integrates a new currency filter utility (parseCurrency), and implements a dedicated Pinia store module for currency management. Several UI components have been updated to use the new currency formatting, and new Vue components for settings selection have been introduced. Minor formatting improvements and adjustments to code layout are also included.

Changes

File(s) Change Summary
macos/Enkrypt/Enkrypt.xcodeproj/.../contents.xcworkspacedata Added new XML workspace configuration file defining a basic workspace structure.
package.json,
packages/extension-bridge/package.json,
packages/extension/package.json,
packages/hw-wallets/package.json,
packages/keyring/package.json,
packages/name-resolution/package.json,
packages/request/package.json,
packages/signers/{bitcoin,ethereum,kadena,polkadot}/package.json,
packages/storage/package.json,
packages/swap/package.json,
packages/types/package.json,
packages/utils/package.json
Updated dependency and devDependency versions (e.g. ESLint, Prettier, TypeScript, Node types, etc.) across the project.
packages/extension/src/libs/settings-state/{index.ts,types.ts},
packages/extension/src/ui/action/utils/{filters.ts,currencyConfig.ts},
packages/extension/src/ui/action/types/filters.ts,
packages/extension/src/ui/action/views/settings/store.ts,
packages/extension/src/ui/action/App.vue,
packages/extension/src/ui/action/views/settings/views/settings-general/index.vue
Added currency settings support with new asynchronous methods, a CurrencySettingsType interface and enum update, a new Pinia store for currency management, and the parseCurrency utility function integrated across components.
Files under packages/extension/src/providers/**/ui/send-transaction/*,
Files under packages/extension/src/ui/action/views/{transaction-fee,network-activity,network-assets,swap}/**,
packages/extension/src/ui/action/composables/account-info.ts
Modified UI templates to replace separate fiat value and symbol displays with unified currency formatting by invoking the parseCurrency filter, along with minor formatting adjustments.
packages/extension/src/ui/action/views/settings/components/{setting-select-option.vue,settings-select.vue} Introduced new Vue components for select options in the settings view with props for selection and display attributes.
packages/extension/src/ui/action/main.ts,
packages/extension/src/ui/action/utils/misc.ts,
packages/extension/src/ui/action/views/settings/views/settings-backups/index.vue
Minor code formatting changes and integration of Pinia state management.

Sequence Diagram(s)

sequenceDiagram
    participant App as App.vue
    participant API as Currency API
    participant Store as Currency Store (Pinia)
    participant Settings as SettingsState
    participant UI as UI Component

    App->>API: fetch exchange rates
    API-->>App: return currency data
    App->>Store: setCurrencyList(data)
    Store->>Settings: pull current currency settings
    Settings-->>Store: return currentSelectedCurrency
    UI->>Store: retrieve selected currency
    UI->>Filters: parseCurrency(formatted value)
Loading
sequenceDiagram
    participant User
    participant Select as settings-select.vue
    participant Store as Currency Store (Pinia)
    participant Settings as SettingsState

    User->>Select: click to select new currency
    Select->>Store: trigger selectCurrency(newCurrency)
    Store->>Settings: setSelectedCurrency(newCurrency)
    Settings-->>Store: confirm update
    Select-->>User: update UI with new selection
Loading

Suggested reviewers

  • NickKelly1
  • SemajaM8
  • kvhnuke

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions
Copy link

github-actions bot commented Mar 20, 2025

💼 Build Files
chrome: enkrypt-chrome-fbdf5a31.zip
firefox: enkrypt-firefox-fbdf5a31.zip

💉 Virus total analysis
chrome: fbdf5a31
firefox: fbdf5a31

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (12)
packages/extension/src/ui/action/utils/currencyConfig.ts (3)

1-168: Consider optimizing imports for better performance.

This file imports 168 SVG icons individually which could impact build size and performance. Consider using dynamic imports or a single sprite sheet to reduce the bundle size.


169-338: Add TypeScript type definitions for better maintainability.

The LANG_INFO object is a large mapping with a consistent structure, but lacks type definitions. Adding an interface would improve type safety and maintainability.

+interface LangInfo {
+  locale: string;
+  icon: any; // or more specific SVG type
+}
+
+const LANG_INFO: Record<string, LangInfo> = {
  "AED": { locale: "ar-AE", icon: AED },
  // remaining entries...

216-216: Consider adding more specific locale for EUR.

The Euro is used across multiple countries, but you're using only "fr-FR" as the locale. Consider providing a more flexible approach for Euro that can adapt to the user's country.

packages/extension/src/libs/settings-state/types.ts (1)

27-29: Consider future extensibility for CurrencySettingsType

The CurrencySettingsType interface is currently simple with just a value property, which works for the current implementation. However, if more complex currency settings are anticipated in the future (e.g., formatting preferences, regional overrides), consider designing a more extensible structure.

export interface CurrencySettingsType {
  value: string;
+  // For future extensibility, consider adding:
+  // format?: string;
+  // customSymbol?: string;
+  // decimalPlaces?: number;
}
packages/extension/src/ui/action/utils/filters.ts (1)

23-35: Consider adding error handling and input validation to parseCurrency.

The function works well for valid inputs, but could be more robust with these improvements:

  1. Add validation for empty or invalid input values
  2. Add error handling around store access
  3. Handle potential errors when constructing BigNumber
 export const parseCurrency = (value: string): string => {
+  if (!value) return '0';
+  
   const store = useCurrencyStore();
   const currency = store.currentSelectedCurrency;
   const currencyCode = LANG_INFO[currency as keyof typeof LANG_INFO].locale || 'en-US';
   const findRate = store.currencyList.find((c) => c.fiat_currency === currency);
   const rate = findRate || { exchange_rate: 1 };

+  try {
     return new Intl.NumberFormat(currencyCode, {
       style: 'currency',
       currency: currency,
     }).format(parseFloat(BigNumber(value).times(rate.exchange_rate).toString()));
+  } catch (error) {
+    console.error('Error formatting currency:', error);
+    return value;
+  }
 }
packages/extension/src/ui/action/views/settings/components/setting-select-option.vue (4)

1-11: Consider improving accessibility and semantic HTML.

The component uses an <a> tag without an href attribute, which isn't ideal for accessibility. Consider using a <button> element instead, as this is an interactive element that performs an action rather than a navigation link.

 <template>
-  <a class="base-select__option" @click="select()">
+  <button type="button" class="base-select__option" @click="select()">
     <div class="base-select__option__img-container">
       <img :src="flag" width="40" height="40" />
     </div>
     <div>
       <h5>{{ title }}</h5>
       <done-icon v-show="isSelect" />
     </div>
-  </a>
+  </button>
 </template>

16-41: Simplify prop default values.

The current implementation uses arrow functions to return default values, which is unnecessarily verbose. You can simplify these to direct values.

 const props = defineProps({
   select: {
     type: Function,
-    default: () => {
-      return null;
-    },
+    default: () => null,
   },
   title: {
     type: String,
-    default: () => {
-      return '';
-    },
+    default: '',
   },
   isSelect: {
     type: Boolean,
-    default: () => {
-      return false;
-    },
+    default: false,
   },
   flag: {
     type: String,
-    default: () => {
-      return XCD;
-    },
+    default: XCD,
   },
 });

43-45: Add event modifier to prevent event propagation.

When using clickable elements inside other clickable elements or forms, it's a good practice to prevent event propagation.

 const select = () => {
   props.select(props.title);
 };

In the template, update the click handler:

-  <a class="base-select__option" @click="select()">
+  <a class="base-select__option" @click.stop="select()">

48-99: Add scoped attribute to style tag to prevent style leakage.

The styles are currently not scoped, which could affect other components using similar class names.

-<style lang="less">
+<style lang="less" scoped>
 @import '@action/styles/theme.less';

Improve image handling approach.

The current approach uses negative margins to adjust the image size within its container, which can lead to rendering issues. Consider either:

  1. Making the container match the image size
  2. Using object-fit to properly scale the image within the container
 &__img-container {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   overflow: hidden;
   margin-right: 12px;

   img {
-    width: 60px;
-    height: 60px;
-    margin-top: -10px;
-    margin-left: -10px;
+    width: 100%;
+    height: 100%;
+    object-fit: cover;
   }
 }
packages/extension/src/ui/action/views/settings/components/settings-select.vue (2)

92-94: Remove console log and improve fallback handling

The debug logging and fallback mechanism need improvement:

const returnFlag = (value: string) => {
-  if (!LANG_INFO[value]) console.log(value);
-  return LANG_INFO[value]?.icon || XCD;
+  return LANG_INFO[value]?.icon || XCD;
};

While using XCD as fallback is functional, consider also notifying the user when an unrecognized currency is selected.


186-190: Improve overflow behavior for dropdown

The dropdown's overflow behavior can be improved for better user experience:

&__item-container {
  max-height: 230px;
-  overflow: scroll;
+  overflow: auto;
}

Using overflow: auto instead of scroll will only show scrollbars when needed, providing a cleaner UI.

packages/extension/src/ui/action/views/settings/views/settings-general/index.vue (1)

114-116: Consider adding error handling to the currency selection method.

The selectCurrency method currently doesn't include any error handling. Consider adding try/catch blocks to handle potential failures when setting the currency.

 const selectCurrency = async (currency: string) => {
-  setSelectedCurrency(currency);
+  try {
+    await setSelectedCurrency(currency);
+  } catch (error) {
+    console.error('Failed to set currency:', error);
+    // Consider adding user notification here
+  }
 };
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 88b1888 and b8d0a81.

⛔ Files ignored due to path filters (173)
  • packages/extension/src/ui/action/assets/fiat/AED.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AFN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ALL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AMD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ANG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AOA.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ARS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AUD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AWG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/AZN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BAM.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BBD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BDT.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BGN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BHD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BIF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BMD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BND.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BOB.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BRL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BSD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BTN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BWP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BYN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BYR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/BZD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CAD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CDF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CHF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CLF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CLP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CNH.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CNY.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/COP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CRC.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CUC.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CUP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CVE.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/CZK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/DJF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/DKK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/DOP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/DZD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/EGP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ERN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ETB.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/EUR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/FJD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/FKP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GBP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GEL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GGP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GHS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GIP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GMD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GNF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GTQ.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/GYD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/HKD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/HNL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/HRK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/HTG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/HUF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/IDQ.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/IDR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ILS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/IMP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/INR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/IQD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/IRR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ISK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/JEP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/JMD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/JOD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/JPY.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KES.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KGS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KHR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KMF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KPW.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KRW.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KWD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KYD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/KZT.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LAK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LBP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LKR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LRD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LSL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LTL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LVL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/LYD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MAD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MDL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MGA.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MKD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MMK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MNT.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MOP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MRU.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MUR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MVR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MWK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MXN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MYR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/MZN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NAD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NGN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NIO.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NOK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NPR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/NZD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/OMR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PAB.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PEN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PGK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PHP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PKR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PLN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/PYG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/QAR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/RON.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/RSD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/RUB.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/RWF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SAR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SBD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SCR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SDG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SEK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SGD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SHP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SLE.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SLL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SOS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SRD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SSP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/STD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/STN.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SVC.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SYP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/SZL.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/THB.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TJS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TMT.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TND.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TOP.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TRY.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TTD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TWD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/TZS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/UAH.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/UGX.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/USD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/UYU.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/UZS.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/VES.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/VND.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/VUV.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/WST.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XAF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XAG.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XAU.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XCD.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XDR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XOF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/XPF.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/YER.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ZAR.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ZMK.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ZMW.svg is excluded by !**/*.svg
  • packages/extension/src/ui/action/assets/fiat/ZWL.svg is excluded by !**/*.svg
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (48)
  • macos/Enkrypt/Enkrypt.xcodeproj/project.xcworkspace/contents.xcworkspacedata (1 hunks)
  • package.json (1 hunks)
  • packages/extension-bridge/package.json (1 hunks)
  • packages/extension/package.json (4 hunks)
  • packages/extension/src/libs/settings-state/index.ts (2 hunks)
  • packages/extension/src/libs/settings-state/types.ts (2 hunks)
  • packages/extension/src/providers/common/ui/send-transaction/send-fee-select.vue (1 hunks)
  • packages/extension/src/providers/common/ui/send-transaction/send-input-amount.vue (1 hunks)
  • packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue (1 hunks)
  • packages/extension/src/providers/ethereum/ui/send-transaction/index.vue (3 hunks)
  • packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-display.vue (1 hunks)
  • packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-select.vue (1 hunks)
  • packages/extension/src/providers/polkadot/ui/send-transaction/components/send-fee-display.vue (1 hunks)
  • packages/extension/src/providers/polkadot/ui/send-transaction/components/send-fee-select.vue (1 hunks)
  • packages/extension/src/providers/solana/ui/send-transaction/components/send-fee-select.vue (1 hunks)
  • packages/extension/src/providers/solana/ui/send-transaction/index.vue (2 hunks)
  • packages/extension/src/ui/action/App.vue (4 hunks)
  • packages/extension/src/ui/action/composables/account-info.ts (1 hunks)
  • packages/extension/src/ui/action/main.ts (2 hunks)
  • packages/extension/src/ui/action/types/filters.ts (2 hunks)
  • packages/extension/src/ui/action/utils/currencyConfig.ts (1 hunks)
  • packages/extension/src/ui/action/utils/filters.ts (2 hunks)
  • packages/extension/src/ui/action/utils/misc.ts (0 hunks)
  • packages/extension/src/ui/action/views/assets-select-list/components/assets-select-list-item.vue (1 hunks)
  • packages/extension/src/ui/action/views/network-activity/components/network-activity-total.vue (1 hunks)
  • packages/extension/src/ui/action/views/network-activity/components/network-activity-transaction.vue (3 hunks)
  • packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue (1 hunks)
  • packages/extension/src/ui/action/views/settings/components/setting-select-option.vue (1 hunks)
  • packages/extension/src/ui/action/views/settings/components/settings-select.vue (1 hunks)
  • packages/extension/src/ui/action/views/settings/store.ts (1 hunks)
  • packages/extension/src/ui/action/views/settings/views/settings-backups/index.vue (3 hunks)
  • packages/extension/src/ui/action/views/settings/views/settings-general/index.vue (4 hunks)
  • packages/extension/src/ui/action/views/swap/components/swap-token-amount-input/index.vue (1 hunks)
  • packages/extension/src/ui/action/views/swap/components/swap-token-to-amount/index.vue (1 hunks)
  • packages/extension/src/ui/action/views/transaction-fee/components/transaction-fee-item.vue (1 hunks)
  • packages/extension/src/ui/action/views/transaction-fee/index.vue (1 hunks)
  • packages/hw-wallets/package.json (2 hunks)
  • packages/keyring/package.json (1 hunks)
  • packages/name-resolution/package.json (2 hunks)
  • packages/request/package.json (1 hunks)
  • packages/signers/bitcoin/package.json (1 hunks)
  • packages/signers/ethereum/package.json (1 hunks)
  • packages/signers/kadena/package.json (1 hunks)
  • packages/signers/polkadot/package.json (1 hunks)
  • packages/storage/package.json (1 hunks)
  • packages/swap/package.json (1 hunks)
  • packages/types/package.json (1 hunks)
  • packages/utils/package.json (1 hunks)
💤 Files with no reviewable changes (1)
  • packages/extension/src/ui/action/utils/misc.ts
🧰 Additional context used
🧬 Code Definitions (1)
packages/extension/src/libs/settings-state/index.ts (1)
packages/extension/src/libs/settings-state/types.ts (2) (2)
  • CurrencySettingsType (27-29)
  • SettingsType (30-37)
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: buildAll
🔇 Additional comments (63)
macos/Enkrypt/Enkrypt.xcodeproj/project.xcworkspace/contents.xcworkspacedata (1)

1-7: Standard Xcode workspace configuration looks good.

This is a standard XML workspace configuration file for an Xcode project, properly structured with the correct version and self-referencing FileRef.

packages/extension/src/ui/action/views/network-activity/components/network-activity-total.vue (1)

20-20: Good formatting enhancement for currency display.

The change to use $filters.parseCurrency improves consistency in how currency values are displayed across the application, aligning with the currency exchange feature being implemented.

packages/extension/src/ui/action/main.ts (3)

6-6: Good addition of Pinia for state management.

Adding Pinia is appropriate for handling state management in a Vue 3 application, especially for features like currency exchange that require shared state across components.


15-15: Pinia instance creation looks good.

Correctly creating a Pinia instance before using it in the application.


17-17: Proper integration of Pinia in the application.

The middleware chain is correctly ordered with router first, Vue3Lottie second, and Pinia third.

packages/extension/src/ui/action/views/swap/components/swap-token-amount-input/index.vue (1)

28-28: Good improvement to currency formatting.

Wrapping the existing formatting with $filters.parseCurrency() ensures consistent currency display across the application, which is a core part of the currency exchange feature.

packages/extension/src/ui/action/utils/currencyConfig.ts (1)

339-340: The code correctly exports the LANG_INFO object.

The export is properly defined for the LANG_INFO constant.

packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-display.vue (1)

5-8: Good improvement to currency formatting.

The updated code now uses a centralized currency parsing approach with $filters.parseCurrency(), which will provide more consistent currency formatting across the application.

packages/extension/src/providers/common/ui/send-transaction/send-input-amount.vue (1)

16-18: Good improvement to currency formatting.

The updated code uses the consistent currency parsing pattern with $filters.parseCurrency(), providing better standardization of currency display throughout the application.

packages/extension/src/ui/action/views/assets-select-list/components/assets-select-list-item.vue (1)

18-24: Good implementation of consistent currency formatting.

The price display now uses the standardized $filters.parseCurrency() approach while maintaining the conditional fallback to '~' for missing prices.

package.json (1)

35-37: Dependency versions updated to improve consistency and security.

The commitlint and swc packages have been updated to their latest versions, which aligns with similar version updates across other package.json files in the project.

packages/storage/package.json (1)

30-30: Development dependencies updated to their latest versions.

These dependency updates are part of a coordinated effort to standardize dependency versions across multiple packages in the project. The updates include patches and minor version improvements that likely contain bug fixes and performance enhancements.

Also applies to: 33-33, 39-39, 42-45

packages/extension/src/ui/action/views/settings/views/settings-backups/index.vue (1)

182-182: Layout adjustments improve the visual spacing.

The margin increase from 0 16px 12px to 0 32px provides more horizontal spacing, and the container height reduction from 225px to 205px creates a better visual cue that there's more content to scroll through.

Also applies to: 193-193

packages/utils/package.json (2)

33-33: Development dependencies updated to their latest versions.

These dependency updates are part of a coordinated effort to standardize dependency versions across multiple packages in the project. The updates include patches and minor version improvements that likely contain bug fixes and performance enhancements.

Also applies to: 36-36, 42-42, 45-49


27-27:

Details

❓ Verification inconclusive

Polkadot crypto utility update may include important changes.

Since @polkadot/util-crypto is a runtime dependency (not just a dev dependency), the update from 13.3.1 to 13.4.3 might include functionality changes that could affect application behavior. Consider checking the package's release notes for any breaking changes.


🌐 Web query:

What are the changes between @polkadot/util-crypto version 13.3.1 and 13.4.3?

💡 Result:

The changes between @polkadot/util-crypto versions 13.3.1 and 13.4.3 include:

Key Additions

  • Added support for custom mnemonic wordlists when creating KeyringPair instances, enabling greater flexibility in key generation[9].
  • Implemented improved WebSocket error handling by switching to Node.js 22+'s native WebSocket library (ws)[9].

Technical Adjustments

  • Rolled back a WebSocket implementation change in x-ws module to address compatibility issues (#1980)[3][7].

Dependency Updates

  • Updated internal dependencies like @polkadot/common and @polkadot/api to maintain ecosystem compatibility[2][9].

These changes focus on enhancing security customization options while maintaining compatibility with modern Node.js environments.

Citations:


Action Required: Verify Runtime Compatibility After Update

The update from version 13.3.1 to 13.4.3 for @polkadot/util-crypto introduces enhancements—such as support for custom mnemonic wordlists, improved WebSocket handling, and dependency updates—that could potentially affect runtime behavior. Since this is a runtime dependency, please review the package’s release notes and changelog to ensure that none of these changes lead to unexpected issues in our application.

  • Location: packages/utils/package.json (line 27)
  • Updated Dependency: "@polkadot/util-crypto": "^13.4.3"
packages/types/package.json (1)

27-27: Dependencies updated to latest versions

The updates to the development dependencies are a good practice for maintaining a secure and up-to-date codebase. The changes are minor version updates and patch releases which should be backward compatible.

Also applies to: 30-31, 36-41

packages/extension/src/providers/polkadot/ui/send-transaction/components/send-fee-select.vue (1)

6-12: Improved currency formatting with parseCurrency

The implementation now uses the parseCurrency filter which consolidates currency formatting and symbol display into a single function. This improves consistency across the application.

packages/extension/src/providers/ethereum/ui/send-transaction/index.vue (3)

180-180: Import for new parseCurrency filter

Adding the import for the new currency formatting utility aligns with the currency enhancements in this PR.


257-262: Network-specific fee selection logic

Added special handling for Fantom network to use the FASTEST gas price type by default, which is appropriate for networks where transaction finality needs to be prioritized.


452-457: Standardized currency formatting in error messages

Updated error message formatting to use the new parseCurrency function, maintaining consistency with the rest of the application.

packages/signers/ethereum/package.json (1)

35-35: Dependencies updated to latest versions

The updates to the development dependencies will help maintain a secure and up-to-date development environment. These are minor version updates which should be backward compatible.

Also applies to: 38-39, 44-50

packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue (1)

4-7: Great enhancement to currency formatting!

The change from hardcoded "$" to using the parseCurrency filter improves internationalization support, allowing the application to display network fees in the user's preferred currency format.

packages/signers/kadena/package.json (1)

31-48: Dependencies updated appropriately

These development dependency updates align with the project-wide dependency refresh. The changes are incremental version updates that should improve tooling and maintain compatibility across packages.

packages/extension/src/ui/action/views/transaction-fee/index.vue (1)

18-22: Consistent currency formatting implementation

This change follows the same pattern used elsewhere in the application, using the parseCurrency filter to standardize currency display. This ensures consistency in how monetary values are presented throughout the UI.

packages/signers/bitcoin/package.json (1)

35-50: Development dependencies properly updated

These updates to development tools and libraries match the versions used in other packages, ensuring consistency across the project's build system and development environment.

packages/extension/src/providers/solana/ui/send-transaction/index.vue (2)

177-177: New import for currency formatting.

The addition of parseCurrency import is part of the standardized currency formatting approach being implemented across the application.


377-379: Improved currency display in error messages.

The error message now uses parseCurrency to format the fiat value, which will respect the user's selected currency format instead of hardcoding to USD format.

packages/extension/src/ui/action/views/swap/components/swap-token-to-amount/index.vue (1)

19-26: Enhanced currency display formatting.

The token price display now uses the parseCurrency filter which will respect the user's selected currency settings instead of displaying the value in a fixed format.

packages/extension/src/ui/action/composables/account-info.ts (1)

34-41: Removed hardcoded USD currency suffix.

The fiat amount is now formatted without the hardcoded " USD" suffix, allowing the parseCurrency function to handle the currency symbol and formatting based on the user's settings.

packages/extension/src/providers/polkadot/ui/send-transaction/components/send-fee-display.vue (1)

5-8: Standardized fee currency display.

Fee display now uses the parseCurrency filter to format the fiat value according to the user's currency settings, consistent with other currency displays in the application.

packages/extension/src/ui/action/types/filters.ts (1)

8-10: Well-structured integration of the parseCurrency filter!

The addition of the parseCurrency function to the global $filters namespace is clean and follows the existing pattern. This enhancement will enable consistent currency formatting across the application.

Also applies to: 18-20

packages/signers/polkadot/package.json (1)

25-28: Dependencies updated appropriately

All dependency updates are minor version bumps that should maintain compatibility while providing bug fixes and improvements.

Also applies to: 34-49

packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-select.vue (1)

6-12: Good implementation of the parseCurrency filter

The code now uses the new parseCurrency filter to format the fiat value, which will ensure consistent currency formatting across the application. The conditional check for the existence of fee.fiatValue is properly maintained.

packages/extension/src/libs/settings-state/types.ts (2)

6-6: Good addition to StorageKeys enum

The addition of currencyState to the StorageKeys enum follows the existing naming convention.


35-35: Proper integration with SettingsType interface

The currency settings state is properly added to the main SettingsType interface.

packages/extension/src/providers/solana/ui/send-transaction/components/send-fee-select.vue (1)

5-8: Good change to standardize currency formatting

The update to use the parseCurrency filter provides more consistent currency formatting across the application, aligning with the currency management improvements in this PR.

packages/extension/src/providers/common/ui/send-transaction/send-fee-select.vue (1)

9-12: Nice improvement to currency display format

The change to use the parseCurrency filter standardizes how currencies are displayed throughout the application, which should provide a more consistent user experience.

packages/extension-bridge/package.json (1)

47-64: Good dependency maintenance

These minor version updates to dev dependencies will help keep the project secure and up-to-date with the latest bug fixes and improvements.

packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue (1)

46-47:

Details

❓ Verification inconclusive

Verify property name change while updating currency formatting

While the change to use parseCurrency is good for consistency, I noticed a potential issue: the property changed from what appears to be token.valuef to token.value. Please verify this is intentional and that these properties contain compatible data.


🏁 Script executed:

#!/bin/bash
# Searching for usages of token.valuef and token.value
echo "Searching for token.valuef usage:"
rg "token\.valuef" -A 2 -B 2

echo -e "\nSearching for token.value usage:"
rg "token\.value" -A 2 -B 2

Length of output: 4842


Action Required: Verify Compatibility Between token.value and token.valuef

After reviewing the repository:

  • The update in packages/extension/src/ui/action/views/network-assets/components/network-assets-item.vue now uses $filters.parseCurrency(token.value), aligning with how token prices are handled in several provider files (e.g., in the Kadena, Solana, Ethereum, and Bitcoin network types).
  • However, in packages/extension/src/ui/action/views/asset-detail-view/index.vue the property token.valuef is still in use.

Please confirm that:

  • The switch to token.value in the network assets view is intentional and that its (likely numeric) data is compatible with parseCurrency.
  • The apparent distinction between token.value (used for formatting in most contexts) and token.valuef (possibly a pre-formatted string) is by design.
    If both properties are meant to represent token pricing information, ensuring consistency across components might be beneficial.
packages/extension/src/ui/action/views/transaction-fee/components/transaction-fee-item.vue (1)

21-22: Good improvement to currency formatting!

Replacing the hardcoded dollar sign with the parseCurrency filter allows for better internationalization support and consistent currency formatting throughout the application.

packages/extension/src/libs/settings-state/index.ts (5)

11-11: Good addition of CurrencySettingsType import.

Properly importing the new type for currency settings.


76-78: Implementation of setCurrencySettings follows established pattern.

The implementation correctly follows the same pattern as other settings methods, storing the state in the appropriate storage location.


80-86: Well-structured getCurrencySettings implementation.

The method properly retrieves currency settings with a default value of 'USD', following the same pattern as other settings retrieval methods in the class.


93-93: Good integration with getAllSettings.

Correctly retrieves the currency settings state when getting all settings.


99-99: Properly includes currencySettingsState in the returned settings object.

The implementation correctly includes the currency settings in the returned object.

packages/extension/src/ui/action/utils/filters.ts (3)

1-1: Good import of BigNumber for precise numerical operations.

Using BigNumber is appropriate for financial calculations to avoid floating-point precision issues.


3-3: Proper import of LANG_INFO for localization.

This import provides the necessary locale information for currency formatting.


8-8: Good integration with currency store.

Importing the currency store allows access to user's currency preferences.

packages/extension/src/ui/action/views/network-activity/components/network-activity-transaction.vue (3)

13-19: Improved code readability for image source

Good restructuring of the template code for better readability. Breaking up the complex logic into multiple lines makes it easier to understand.


76-78: Updated to use consistent currency formatting

Good update to use the new parseCurrency filter for consistent currency formatting across the application.


123-126: Updated to use consistent currency formatting for swap view

Good implementation of the new parseCurrency filter in the swap transaction view, ensuring consistency with other currency displays.

packages/extension/src/ui/action/views/settings/components/settings-select.vue (1)

1-192: Well-implemented settings selector component

Overall, this new component is well-structured and provides a good user experience for selecting currencies. The component has:

  1. Clear separation between template, script, and styles
  2. Proper reactive state management
  3. Good search functionality with computed property
  4. Well-organized props with defaults

The implementation follows Vue 3 Composition API practices correctly.

packages/extension/src/ui/action/views/settings/views/settings-general/index.vue (2)

4-9: Great improvement to the UI components!

The replacement of the commented-out <base-select> with an active <settings-select> component enhances the currency selection functionality. The binding to selectCurrency, currentSelectedCurrency, and currencySymbols properly connects this component to the new currency store.


137-141: Well-implemented computed property for currency symbols.

The computed property correctly derives the list of currency symbols from the currency list. The null check prevents errors when the list is empty.

packages/keyring/package.json (1)

32-32: Dependencies updated appropriately.

The dependency updates to @polkadot/util and development dependencies are good practice for maintaining a healthy codebase. These updates likely include security patches, bug fixes, and new features.

Also applies to: 37-52

packages/name-resolution/package.json (1)

25-40: Dependencies updated appropriately.

The dependency updates, particularly the update to ethers, are important for security and compatibility. The consistent updates across packages suggest a coordinated maintenance effort.

Also applies to: 53-53

packages/hw-wallets/package.json (1)

25-40: Important hardware wallet dependency updates.

The updates to Ledger and Polkadot packages are crucial for maintaining compatibility with the latest hardware wallet firmware and blockchain updates. These updates enhance security and functionality for hardware wallet integrations.

Also applies to: 55-62

packages/request/package.json (2)

30-31: Dependency Versions Updated: uuid & ws
The versions for "uuid" and "ws" have been updated to ^11.1.0 and ^8.18.1, respectively. These updates appear to be minor but ensure that any breaking changes in these libraries have been reviewed and are compatible with your codebase.


34-49: DevDependencies Upgrades Reviewed
The versions for "@types/node", "eslint", "prettier", "tsup", "typescript", "typescript-eslint", and "vitest" have been bumped. These updates are in line with similar changes across other packages. Please confirm that these new versions integrate smoothly with your development and CI environments.

packages/swap/package.json (2)

27-39: Updated Dependencies Across Core Libraries
The dependency updates include:

  • "@solana/spl-token" updated to ^0.4.13
  • "rango-sdk-basic" updated to ^0.1.64
  • "uuid" updated to ^11.1.0
  • "ws" updated to ^8.18.1

These changes are consistent with the upgrades in other parts of the repository. Please verify that these updated versions maintain backward compatibility with your current implementations.


42-57: DevDependencies Alignment Confirmed
The updated devDependencies—namely "@types/node", "eslint", "prettier", "tsup", "typescript", "typescript-eslint", and "vitest"—are now consistent with the versions used in related packages. This consolidation can help avoid version conflicts during development and build processes.

packages/extension/package.json (2)

26-80: Comprehensive Dependencies Updates
A broad set of dependencies have been upgraded, including blockchain integration libraries and analytics tools:

  • "@amplitude/analytics-browser", "@kadena/client", and "@kadena/pactjs-cli" now support the latest features.
  • Multiple updates to the "@metaplex-foundation", "@polkadot", and "@solana" packages are in place—likely to support enhanced currency settings and blockchain functionalities.
  • The update to "uuid" now aligns with changes in other package components.

These updates should reinforce the new currency exchange features, but please double-check that any changes in these external packages (especially those involved in financial or blockchain operations) do not introduce breaking changes in the application.


92-140: Robust DevDependencies Enhancements
DevDependencies such as the Rollup plugins, ESLint, Prettier, TypeScript, and associated tooling have been updated. This ensures that the build tools and development linting configurations remain current and compatible with the rest of the ecosystem. Verify that these updates do not adversely affect the build process or local development configurations.

@kvhnuke kvhnuke changed the base branch from develop to devop/pakage-updates March 28, 2025 18:01
@gamalielhere gamalielhere merged commit c5fcbbd into devop/pakage-updates Mar 28, 2025
3 of 4 checks passed
@coderabbitai coderabbitai bot mentioned this pull request Apr 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments