Skip to content

Comments

release: v2.10.0#737

Merged
kvhnuke merged 50 commits intomainfrom
develop
Aug 7, 2025
Merged

release: v2.10.0#737
kvhnuke merged 50 commits intomainfrom
develop

Conversation

@kvhnuke
Copy link
Contributor

@kvhnuke kvhnuke commented Aug 7, 2025

Summary by CodeRabbit

  • New Features

    • Added support for new networks: CoreDAO, Hoodi, and AppLayer Testnet.
    • Enhanced Solana swap functionality to handle raw transaction types.
  • Bug Fixes

    • Updated activity handlers for several networks to improve reliability.
    • Updated network endpoints and removed support for deprecated networks (Arthera, Holesky, Skale Razor, Edgeware, Quartz).
  • Chores

    • Upgraded multiple dependencies and development tools for improved stability.
    • Improved code formatting and consistency across the application.
  • Documentation

    • Minor formatting updates to documentation files.

Julian-dev28 and others added 30 commits July 7, 2025 17:13
commit 0928965
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Mon Jul 7 17:08:14 2025 -0700

    end of buffer

commit 2f286c9
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Mon Jul 7 15:59:32 2025 -0700

    update okx provider logic

commit 12b50c2
Merge: a687ae4 98ad4a2
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Mon Jul 7 15:49:53 2025 -0700

    Merge branch 'main' of https://github.com/Julian-dev28/enKrypt

commit a687ae4
Author: Julian Martinez <julian.martinez@okg.com>
Date:   Mon Jun 16 21:50:08 2025 -0700

    update request/response params

commit 98ad4a2
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Mon Jun 16 19:18:08 2025 -0700

    update request/response params

commit eff5837
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Thu Jun 12 18:39:25 2025 -0700

    add okx provider

commit 934e55b
Author: julian.martinez <julian_martinez28@outlook.com>
Date:   Wed Jun 11 10:29:01 2025 -0700

    add okx provider
@coderabbitai
Copy link

coderabbitai bot commented Aug 7, 2025

Walkthrough

This change set updates and refactors support for Ethereum-compatible networks, removes certain networks (Arthera, Skale Razor, Holesky), adds new networks (CoreDAO, AppLayer Testnet, Hoodi), and disables or modifies activity handlers for several networks. It also updates dependency versions, applies stylistic and formatting changes, and introduces improvements to Solana swap transaction handling, including support for raw transactions.

Changes

Cohort / File(s) Change Summary
Dependency Version Updates
package.json, packages/extension/package.json, packages/extension-bridge/package.json, packages/hw-wallets/package.json, packages/keyring/package.json, packages/name-resolution/package.json
Updated various dependencies and devDependencies to newer versions across multiple package manifests.
Removed Networks (Arthera, Skale Razor, Holesky)
packages/extension/src/providers/ethereum/networks/aa.ts, .../aat.ts, .../holesky.ts, .../skale/razor.ts, .../skale/index.ts, .../networks/index.ts
Removed Arthera, Arthera Testnet, Holesky, and Skale Razor network modules and their exports from the networks index.
Added Networks (CoreDAO, AppLayer Testnet, Hoodi)
.../networks/coredao.ts, .../applayer-testnet.ts, .../hoodi.ts, .../networks/index.ts
Added new Ethereum-compatible network configurations for CoreDAO, AppLayer Testnet, and Hoodi, and included them in the exported networks object.
Network Activity Handler Changes
.../networks/canto.ts, .../networks/edg.ts, .../networks/ftm.ts, .../networks/okc.ts, .../networks/sdn.ts, .../networks/xlayer.ts, .../networks/etc.ts, .../networks/index.ts, .../networks/skale/index.ts, .../networks/unique/quartz.ts, .../networks/edgeware.ts
Disabled or replaced activity handlers for multiple networks with no-op handlers, changed ETC to use EtherscanActivity, and removed or updated related imports and exports.
Ethereum Network Endpoints and Features
.../activity-handlers/providers/etherscan/configs.ts, .../libs/assets-handlers/assetinfo-mew.ts, .../libs/assets-handlers/token-lists.ts, .../libs/assets-handlers/types/tokenbalance-mew.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts, .../libs/activity-handlers/providers/etherscan/configs.ts, .../libs/activity-handlers/providers/subscan/configs.ts
Added or removed network endpoints, added CoreDAO to supported networks and token lists, and updated supported network types.
Solana Swap Transaction Handling
.../views/swap/libs/solana-gasvals.ts, .../views/swap/libs/swap-txs.ts
Introduced support for raw Solana transactions, updated transaction processing and fee calculation logic to handle new transaction types.
Formatting, Style, and Minor Refactors
(dozens of files across src/, ui/, types/, tests/, README.md, eslint.config.mjs, etc.)
Applied consistent formatting, added semicolons, adjusted import/export style, improved code readability, and made minor non-functional refactors.
Other Network/Feature Removals
.../dapp-list/index.ts, .../common/libs/new-features.ts
Removed Klaytn and Arthera from dapp lists and new features.
Test and Linting Configuration
.../tests/*.ts, .../.eslintignore, .../eslint.config.mjs
Updated test formatting, adjusted ESLint ignore patterns, and updated linting configuration.

Sequence Diagram(s)

sequenceDiagram
    participant UI
    participant SwapLib
    participant SolanaNetwork

    UI->>SwapLib: getSwapTransactions(networkName, transactions)
    alt Solana network
        SwapLib->>SwapLib: For each transaction
        alt isRawData
            SwapLib->>UI: Return raw transaction object with metadata
        else
            SwapLib->>SwapLib: Deserialize to legacy/versioned transaction
            SwapLib->>UI: Return processed transaction object
        end
    else Other network
        SwapLib->>UI: Process as usual
    end

    UI->>SwapLib: getSolanaTransactionFees(txs)
    SwapLib->>SwapLib: For each tx in txs
    alt isRawData
        SwapLib->>UI: Add default fee (10,000 lamports)
    else
        SwapLib->>SolanaNetwork: Fetch/Update blockhash, get message, calculate fee
        SolanaNetwork-->>SwapLib: Fee result
        SwapLib->>UI: Return calculated fee
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~40 minutes

Possibly related PRs

  • enkryptcom/enKrypt#735: Adds the AppLayerTestnet network and updates related configurations, directly matching the addition in this PR.
  • enkryptcom/enKrypt#704: Modifies the resolveName method signature in GenericNameResolver, which is also refactored in this PR.
  • enkryptcom/enKrypt#729: Introduces new Solana swap transaction types and logic for raw transactions, which aligns with the Solana swap changes in this PR.

Suggested reviewers

  • gamalielhere
  • NickKelly1

Note

🔌 MCP (Model Context Protocol) integration is now available in Early Access!

Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch develop

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 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.
    • Explain this complex logic.
    • 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 explain this code block.
  • 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 explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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 generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @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 Aug 7, 2025

💼 Build Files
chrome: enkrypt-chrome-9f85baf0.zip
firefox: enkrypt-firefox-9f85baf0.zip

💉 Virus total analysis
chrome: 9f85baf0
firefox: 9f85baf0

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: 8

🔭 Outside diff range comments (1)
packages/extension/src/ui/action/views/accounts/components/add-account-form.vue (1)

207-213: Invalid CSS value – justify-space-between is not a valid keyword

The flex-box value should be space-between; the current value will be ignored by the browser, so the buttons won’t be spaced correctly.

-    justify-content: justify-space-between;
+    justify-content: space-between;
♻️ Duplicate comments (3)
packages/name-resolution/tests/ens.test.ts (1)

1-1: Same Vitest/Chai import concern

See remark in rns.test.ts; the same mixing pattern exists here.

packages/extension/src/providers/ethereum/networks/canto.ts (1)

22-22: Activity handler disabled for Canto network.

Same pattern as other networks in this PR - the activity handler has been replaced with a no-op function. This systematic change across multiple networks should be documented with the reasoning (API deprecation, rate limiting, service reliability, etc.).

packages/extension/src/providers/polkadot/networks/unique/quartz.ts (1)

28-28: Activity handler disabled for Quartz network.

The pattern of disabling activity handlers extends to Polkadot networks as well, with subscanActivity being replaced with a no-op function. This systematic change across both Ethereum and Polkadot networks suggests a coordinated decision to disable external activity data fetching.

🧹 Nitpick comments (13)
packages/extension/src/ui/action/utils/filters.ts (1)

39-39: Consider breaking down the complex return statement for better readability.

This line contains multiple operations and complex logic that would benefit from being split into more readable components.

Consider refactoring to improve readability:

-  return `${amount.lt(0.0000001) && amount.gt(0) ? '< ' : ''}${new Intl.NumberFormat(locale, { style: 'currency', currency: currency, notation }).format(finalValue)}`;
+  const prefix = amount.lt(0.0000001) && amount.gt(0) ? '< ' : '';
+  const formatter = new Intl.NumberFormat(locale, {
+    style: 'currency',
+    currency: currency,
+    notation
+  });
+  return `${prefix}${formatter.format(finalValue)}`;
packages/extension/src/ui/action/utils/currencyConfig.ts (1)

1-173: Consider adding stronger typing & immutability
Right now LANG_INFO is an un‐typed, mutable object. Two tiny tweaks improve DX and prevent accidental mutation:

-const LANG_INFO = {
+export const LANG_INFO = {
   /* … */
-};
-
-export { LANG_INFO };
+} as const satisfies Record<string, { locale: string }>;

Benefits:

  1. as const freezes both keys & nested literals to readonly, catching unintended writes at compile time.
  2. satisfies Record<…> guarantees every entry has the expected shape while still inferring the literal key union for autocomplete.
  3. Inline export removes the trailing export { LANG_INFO }; statement, slightly reducing boilerplate.
packages/extension/src/ui/action/icons/updates/heart.vue (1)

2-13: Remove redundant fill="black" on the root <svg>

The root fill is overridden by the explicit fill="#202124" on the <path> element, so the attribute adds no visual value and can be misleading when theming these icons via CSS.

-  <svg
-    width="12"
-    height="12"
-    viewBox="0 0 12 12"
-    fill="black"
-    xmlns="http://www.w3.org/2000/svg"
-  >
+  <svg
+    width="12"
+    height="12"
+    viewBox="0 0 12 12"
+    xmlns="http://www.w3.org/2000/svg"
+  >
packages/extension/src/providers/ethereum/methods/wallet_switchEthereumChain.ts (1)

71-73: Template literal now embeds a newline & extra spaces in the runtime error message

Breaking the template literal over several lines preserves the newline + indentation before "not supported", e.g.

wallet_switchEthereumChain: provided network 0x1
            not supported

If any consumer logs, asserts, or parses this string, the extra whitespace can be problematic. Keep the entire literal on one line or strip the whitespace.

-            `wallet_switchEthereumChain: provided network ${
-              payload.params![0].chainId
-            } not supported`,
+            `wallet_switchEthereumChain: provided network ${payload.params![0].chainId} not supported`,
packages/extension/src/ui/action/views/swap/libs/solana-gasvals.ts (2)

149-156: Consider making the default fee configurable or more accurate.

The hardcoded default fee of 10000 lamports for raw transactions might not accurately reflect actual transaction costs. Consider:

  1. Making this value configurable
  2. Using network-specific fee estimates
  3. Adding a comment explaining why this specific value was chosen

Apply this diff to make the default fee more maintainable:

+// Default fee for raw transactions in lamports
+// Based on average Solana transaction costs (5000-10000 lamports)
+const DEFAULT_RAW_TRANSACTION_FEE = 10000;
+
 // Handle raw transactions differently
 if ('isRawData' in tx && tx.isRawData) {
-  // Use a reasonable default fee for raw transactions
-  // Most Solana transactions cost around 5000-10000 lamports
-  const defaultFee = 10000; // 0.00001 SOL
+  const defaultFee = DEFAULT_RAW_TRANSACTION_FEE;
   feesumlamp = feesumlamp.add(toBN(defaultFee));

   continue;
 }

204-210: Consider logging at warning level for unexpected null messages.

When getTxMessage returns null for non-raw transactions, this represents an unexpected state. The error is currently logged but the transaction continues with a default fee.

Apply this diff to improve error handling:

 const msg = getTxMessage(tx);
 if (msg === null) {
-  // This shouldn't happen for non-raw transactions
-  console.error(`Cannot get message for transaction ${txi + 1}`);
-  fee = 10000; // Use default fee
+  // This shouldn't happen for non-raw transactions
+  console.warn(`Cannot get message for transaction ${txi + 1}, using default fee`);
+  fee = DEFAULT_RAW_TRANSACTION_FEE; // Use default fee
   break;
 }
packages/extension/src/ui/action/views/accounts/components/add-account-form.vue (1)

119-124: Consider debouncing the async duplicate-name check

kr.getAccounts() is invoked on every keystroke. With many accounts this becomes chatty and can cause UI jank.
Wrap the call in a small debounce (≈150 ms) or trigger on blur / Enter to reduce background traffic.

packages/extension/src/ui/action/components/app-menu/store.ts (1)

5-8: Store ID and variable naming feel inconsistent

defineStore('restoreWallet', …) is exposed as useOnboardStore.
Consider aligning the ID with the composable name to aid Pinia dev-tools filtering and avoid future confusion.

-export const useOnboardStore = defineStore('restoreWallet', () => {
+export const useOnboardStore = defineStore('onboard', () => {
packages/extension/src/libs/rate-state/index.ts (1)

15-21: Expand the JSDoc to include explicit types and descriptions

Since this file serves as reference implementation for several internal state helpers, consider tightening the comment so that generated documentation (or IDE tooltips) becomes self-explanatory. Example:

 /**
- *
- * @param immediate
- * @returns boolean
- *
- * allow popup to show immediately
- *
+ * Decides whether the rating popup should be displayed.
+ *
+ * @param {boolean} [immediate=false] – Forces the popup to render immediately,
+ *        bypassing the stored cooldown.
+ * @returns {Promise<boolean>} `true` if the popup should be shown, otherwise `false`.
  */

This is purely a doc-only change – no runtime impact.

packages/extension/src/libs/updates-state/index.ts (1)

35-36: Minor perf nit – avoid full copy when only one prop changes

Spreading the entire state just to override a single field recreates all keys each time.
A cheaper assignment is sufficient:

-const newState: IState = { ...state, lastVersionViewed };
+const newState = { ...state, lastVersionViewed };

Totally optional.

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

18-20: lint script no longer invokes ESLint but ESLint deps kept

The lint script now runs Prettier, yet all ESLint-related devDependencies remain.
If ESLint is intentionally dropped, you can remove the unused deps to cut install time.
If not, restore the previous ESLint command.

Example minimal script:

- "lint": "prettier --write .",
+ "lint": "eslint --ext .ts,.tsx --fix . && prettier --write .",
packages/extension/src/providers/ethereum/networks/skale/skale-base.ts (1)

157-158: valuef should be human-readable, not raw price string

All *f fields in AssetsType are formatted values (balancef, balanceUSDf, …).
valuef currently receives the unformatted current_price which breaks that convention and may lead to inconsistent UI output.

-      valuef: nativeAssetMarketData[index]?.current_price?.toString() ?? '0',
+      valuef:
+        formatFloatingPointValue(
+          nativeAssetMarketData[index]?.current_price ?? 0,
+        ).value,

Minor, but keeps the contract of the DTO consistent.

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

49-68: Consider returning the props object if you may need it later

defineProps({...}) is now called without assignment.
That is valid when the script section never references props, but if future refactors need runtime access you’ll have to re-introduce the variable. Keeping the assignment (const props = defineProps<…>()) can prevent that churn and retains strong typing inside the <script setup> block.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e3fdc76 and 9f85baf.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (107)
  • package.json (1 hunks)
  • packages/extension-bridge/package.json (1 hunks)
  • packages/extension/eslint.config.mjs (3 hunks)
  • packages/extension/package.json (6 hunks)
  • packages/extension/src/libs/dapp-list/index.ts (0 hunks)
  • packages/extension/src/libs/name-resolver/index.ts (1 hunks)
  • packages/extension/src/libs/nft-handlers/conflux.ts (5 hunks)
  • packages/extension/src/libs/rate-state/index.ts (2 hunks)
  • packages/extension/src/libs/recently-sent-addresses/index.ts (2 hunks)
  • packages/extension/src/libs/recently-sent-addresses/types.ts (1 hunks)
  • packages/extension/src/libs/tokens-state/index.ts (3 hunks)
  • packages/extension/src/libs/updates-state/index.ts (3 hunks)
  • packages/extension/src/libs/utils/networks.ts (2 hunks)
  • packages/extension/src/libs/utils/number-formatter.ts (1 hunks)
  • packages/extension/src/providers/bitcoin/methods/btc_switchNetwork.ts (1 hunks)
  • packages/extension/src/providers/bitcoin/types/bitcoin-network.ts (1 hunks)
  • packages/extension/src/providers/common/libs/new-features.ts (1 hunks)
  • packages/extension/src/providers/common/ui/send-transaction/send-contacts-list.vue (1 hunks)
  • packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts (2 hunks)
  • packages/extension/src/providers/ethereum/libs/api.ts (1 hunks)
  • packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (3 hunks)
  • packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts (1 hunks)
  • packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts (1 hunks)
  • packages/extension/src/providers/ethereum/libs/transaction/data-decoder.ts (1 hunks)
  • packages/extension/src/providers/ethereum/libs/transaction/index.ts (1 hunks)
  • packages/extension/src/providers/ethereum/methods/wallet_switchEthereumChain.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/aa.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/aat.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/applayer-testnet.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/canto.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/coredao.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/cytonic-testnet.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/edg.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/etc.ts (2 hunks)
  • packages/extension/src/providers/ethereum/networks/ftm.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/holesky.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/hoodi.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/index.ts (4 hunks)
  • packages/extension/src/providers/ethereum/networks/okc.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/sdn.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/skale/index.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/skale/razor.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/skale/skale-base.ts (3 hunks)
  • packages/extension/src/providers/ethereum/networks/syscoin/nevm.ts (1 hunks)
  • packages/extension/src/providers/ethereum/networks/syscoin/rollux.ts (2 hunks)
  • packages/extension/src/providers/ethereum/networks/unitzero-testnet.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/unitzero.ts (0 hunks)
  • packages/extension/src/providers/ethereum/networks/xlayer.ts (1 hunks)
  • packages/extension/src/providers/ethereum/types/evm-network.ts (4 hunks)
  • packages/extension/src/providers/kadena/types/kadena-network.ts (1 hunks)
  • packages/extension/src/providers/polkadot/libs/activity-handlers/providers/subscan/configs.ts (0 hunks)
  • packages/extension/src/providers/polkadot/networks/edgeware.ts (1 hunks)
  • packages/extension/src/providers/polkadot/networks/unique/quartz.ts (1 hunks)
  • packages/extension/src/providers/polkadot/types/substrate-network.ts (1 hunks)
  • packages/extension/src/providers/polkadot/ui/custom-views/transfer-approvetx.vue (1 hunks)
  • packages/extension/src/providers/solana/libs/utils.ts (1 hunks)
  • packages/extension/src/providers/solana/libs/wallet-standard/wallet.ts (1 hunks)
  • packages/extension/src/providers/solana/types/sol-network.ts (2 hunks)
  • packages/extension/src/providers/solana/ui/libs/get-priority-fees.ts (1 hunks)
  • packages/extension/src/types/activity.ts (1 hunks)
  • packages/extension/src/types/env.d.ts (1 hunks)
  • packages/extension/src/types/window.d.ts (1 hunks)
  • packages/extension/src/ui/action/components/app-menu/components/app-menu-item.vue (1 hunks)
  • packages/extension/src/ui/action/components/app-menu/store.ts (1 hunks)
  • packages/extension/src/ui/action/components/base-button/index.vue (4 hunks)
  • packages/extension/src/ui/action/components/base-file-picker/index.vue (1 hunks)
  • packages/extension/src/ui/action/icons/actions/trash.vue (1 hunks)
  • packages/extension/src/ui/action/icons/banners/attractive-apr-icon.vue (1 hunks)
  • packages/extension/src/ui/action/icons/banners/consistent-rewards-icon.vue (1 hunks)
  • packages/extension/src/ui/action/icons/common/enkrypt-staking-logo-white.vue (1 hunks)
  • packages/extension/src/ui/action/icons/common/enkrypt-staking-logo.vue (1 hunks)
  • packages/extension/src/ui/action/icons/updates/heart.vue (1 hunks)
  • packages/extension/src/ui/action/store/menu-store.ts (1 hunks)
  • packages/extension/src/ui/action/store/updates-store.ts (5 hunks)
  • packages/extension/src/ui/action/types/filters.ts (2 hunks)
  • packages/extension/src/ui/action/types/network-category.ts (1 hunks)
  • packages/extension/src/ui/action/types/network-sort.ts (1 hunks)
  • packages/extension/src/ui/action/types/updates.ts (1 hunks)
  • packages/extension/src/ui/action/utils/browser.ts (2 hunks)
  • packages/extension/src/ui/action/utils/currencyConfig.ts (1 hunks)
  • packages/extension/src/ui/action/utils/filters.ts (1 hunks)
  • packages/extension/src/ui/action/views/accounts/components/add-account-form.vue (1 hunks)
  • packages/extension/src/ui/action/views/import-account/index.vue (1 hunks)
  • packages/extension/src/ui/action/views/network-nfts/components/network-nfts-item.vue (1 hunks)
  • packages/extension/src/ui/action/views/settings/store.ts (2 hunks)
  • packages/extension/src/ui/action/views/settings/views/settings-general/index.vue (1 hunks)
  • packages/extension/src/ui/action/views/swap/index.vue (1 hunks)
  • packages/extension/src/ui/action/views/swap/libs/solana-gasvals.ts (3 hunks)
  • packages/extension/src/ui/action/views/swap/libs/swap-txs.ts (1 hunks)
  • packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue (3 hunks)
  • packages/extension/src/ui/onboard/main.ts (1 hunks)
  • packages/extension/src/ui/onboard/restore-wallet/store.ts (1 hunks)
  • packages/extension/tests/setup.ts (1 hunks)
  • packages/hw-wallets/package.json (2 hunks)
  • packages/keyring/package.json (1 hunks)
  • packages/name-resolution/.eslintignore (0 hunks)
  • packages/name-resolution/README.md (1 hunks)
  • packages/name-resolution/package.json (2 hunks)
  • packages/name-resolution/src/ens/index.ts (1 hunks)
  • packages/name-resolution/src/rns/index.ts (1 hunks)
  • packages/name-resolution/src/sid/types.ts (3 hunks)
  • packages/name-resolution/src/sid/utils.ts (1 hunks)
  • packages/name-resolution/src/types.ts (2 hunks)
  • packages/name-resolution/src/ud/index.ts (1 hunks)
  • packages/name-resolution/tests/ens.test.ts (3 hunks)
  • packages/name-resolution/tests/resolver.test.ts (2 hunks)
  • packages/name-resolution/tests/rns.test.ts (3 hunks)
⛔ Files not processed due to max files limit (18)
  • packages/name-resolution/tests/ud.test.ts
  • packages/request/package.json
  • packages/signers/bitcoin/package.json
  • packages/signers/ethereum/package.json
  • packages/signers/kadena/package.json
  • packages/signers/polkadot/package.json
  • packages/storage/package.json
  • packages/swap/package.json
  • packages/swap/src/configs.ts
  • packages/swap/src/index.ts
  • packages/swap/src/providers/okx/index.ts
  • packages/swap/src/providers/okx/types.ts
  • packages/swap/src/providers/zerox/types.ts
  • packages/swap/src/types/index.ts
  • packages/swap/tests/okx.test.ts
  • packages/types/package.json
  • packages/types/src/networks.ts
  • packages/utils/package.json
💤 Files with no reviewable changes (10)
  • packages/extension/src/providers/ethereum/networks/unitzero-testnet.ts
  • packages/extension/src/providers/ethereum/networks/unitzero.ts
  • packages/name-resolution/.eslintignore
  • packages/extension/src/providers/ethereum/networks/holesky.ts
  • packages/extension/src/providers/ethereum/networks/skale/index.ts
  • packages/extension/src/providers/ethereum/networks/skale/razor.ts
  • packages/extension/src/providers/polkadot/libs/activity-handlers/providers/subscan/configs.ts
  • packages/extension/src/libs/dapp-list/index.ts
  • packages/extension/src/providers/ethereum/networks/aa.ts
  • packages/extension/src/providers/ethereum/networks/aat.ts
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-05-09T03:37:47.015Z
Learnt from: Pana
PR: enkryptcom/enKrypt#683
File: packages/extension/src/libs/nft-handlers/conflux.ts:16-56
Timestamp: 2025-05-09T03:37:47.015Z
Learning: For the Conflux NFT handler (and other NFT handlers in general), it's better to maintain reasonable limits (like 100 collections/items) rather than implementing full pagination that fetches all NFTs at once, as users with many NFTs would experience performance issues.

Applied to files:

  • packages/extension/src/libs/nft-handlers/conflux.ts
🧬 Code Graph Analysis (14)
packages/name-resolution/src/ud/index.ts (1)
packages/name-resolution/src/types.ts (1)
  • CoinType (4-140)
packages/extension/src/libs/updates-state/index.ts (1)
packages/extension/src/libs/updates-state/types.ts (1)
  • IState (5-9)
packages/extension/src/providers/ethereum/types/evm-network.ts (1)
packages/extension/src/libs/sparkline/index.ts (1)
  • Sparkline (5-25)
packages/extension/src/providers/ethereum/networks/syscoin/nevm.ts (1)
packages/extension/src/providers/ethereum/types/evm-network.ts (1)
  • EvmNetworkOptions (22-53)
packages/extension/src/providers/ethereum/networks/skale/skale-base.ts (1)
packages/extension/src/libs/sparkline/index.ts (1)
  • Sparkline (5-25)
packages/name-resolution/src/rns/index.ts (2)
packages/utils/src/index.ts (1)
  • stripHexPrefix (36-36)
packages/name-resolution/src/types.ts (1)
  • CoinType (4-140)
packages/extension/src/ui/action/store/menu-store.ts (1)
packages/extension/src/libs/menu-state/index.ts (1)
  • setIsExpanded (31-35)
packages/name-resolution/src/ens/index.ts (1)
packages/name-resolution/src/types.ts (1)
  • CoinType (4-140)
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (1)
packages/extension/src/libs/market-data/types.ts (1)
  • CoinGeckoTokenMarket (23-37)
packages/extension/src/providers/ethereum/networks/coredao.ts (1)
packages/extension/src/providers/ethereum/types/evm-network.ts (2)
  • EvmNetworkOptions (22-53)
  • EvmNetwork (55-286)
packages/extension/src/providers/ethereum/networks/applayer-testnet.ts (2)
packages/extension/src/providers/ethereum/types/evm-network.ts (2)
  • EvmNetworkOptions (22-53)
  • EvmNetwork (55-286)
packages/extension/src/providers/ethereum/libs/activity-handlers/index.ts (1)
  • EtherscanActivity (10-10)
packages/extension/src/ui/action/utils/filters.ts (1)
packages/extension/src/ui/action/utils/currencyConfig.ts (1)
  • LANG_INFO (172-172)
packages/extension/src/ui/action/utils/browser.ts (1)
packages/utils/src/debug-logger.ts (1)
  • error (388-392)
packages/extension/src/libs/recently-sent-addresses/index.ts (1)
packages/extension/src/libs/recently-sent-addresses/types.ts (1)
  • IState (1-3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: buildAll
  • GitHub Check: test
  • GitHub Check: test
🔇 Additional comments (112)
packages/extension/src/ui/onboard/restore-wallet/store.ts (1)

19-26: Readability improvement acknowledged – no further action required

Switching to a multi-line return object with trailing commas improves diff-friendliness and aligns with common style guides. No functional impact detected.

packages/extension/src/providers/ethereum/libs/transaction/index.ts (1)

108-111: No-op formatting change looks good

Arguments are now split across lines for readability; no logic is altered.
Nothing further to address here.

packages/extension/src/libs/nft-handlers/conflux.ts (2)

1-1: LGTM! Clean up unused imports.

Removing the unused NFTItem and ListResponse imports improves code cleanliness.


23-71: LGTM! Improved immutability with const declarations.

Converting let to const for variables that are never reassigned is a good practice that:

  • Prevents accidental reassignment
  • Makes the code more predictable and easier to reason about
  • Clearly communicates intent that these variables should remain unchanged

The changes maintain the existing logic while improving code quality. The implementation also respects the reasonable limit of 100 collections/items as noted in the retrieved learnings, which is appropriate for performance considerations.

packages/extension/src/providers/solana/libs/wallet-standard/wallet.ts (1)

145-147: LGTM! ESLint disable is appropriate here.

The ESLint disable comment for @typescript-eslint/no-unused-expressions is justified. The logical OR expression on lines 146-147 uses short-circuit evaluation intentionally - either pushing to an existing array or creating a new one. This is a common and valid pattern where the "unused expression" warning would be a false positive.

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

8-8: LGTM! Consistent formatting improvement.

Adding trailing commas to import and export lists improves code maintainability and makes future diffs cleaner when adding or removing items.

Also applies to: 18-18

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

27-31: LGTM! Improved readability with multi-line declarations.

Breaking down the variable assignments across multiple lines significantly improves code readability, especially for the complex logic involving currency lookup and exchange rate calculation.

Also applies to: 34-37

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

2-169: No functional risk in switching to identifier keys
All property keys are now bare identifiers (e.g., AED) instead of string literals ("AED"). Because every key is a valid ECMAScript IdentifierName and is still followed by :, this compiles to the same runtime keys ('AED', 'AFN', …). Nothing else changes, so the refactor is safe.

packages/extension/src/ui/action/icons/banners/attractive-apr-icon.vue (1)

2-16: LGTM – pure formatting improves readability

Only attribute-per-line re-formatting. No functional or stylistic issues spotted.

packages/extension/src/ui/action/icons/banners/consistent-rewards-icon.vue (1)

2-26: LGTM – formatting change only

Consistent multi-line SVG markup increases diff-friendliness. No other concerns.

packages/extension/src/ui/action/icons/actions/trash.vue (1)

2-23: LGTM – no functional changes

Nice whitespace/indent update; path data remains untouched.

packages/extension/src/ui/action/icons/common/enkrypt-staking-logo-white.vue (1)

2-82: LGTM – consistent SVG re-formatting

The extensive path/gradient markup is now far more readable. No semantic changes detected.

packages/extension/src/ui/action/icons/common/enkrypt-staking-logo.vue (1)

2-96: Formatting-only diff LGTM

Pure indentation / multiline-attribute reformatting. SVG structure, attributes, and values remain unchanged, so the visual output and runtime behaviour are preserved. Consistent styling across icon components is welcome.

packages/extension/src/providers/solana/libs/utils.ts (1)

6-6: LGTM! Clean code improvement.

Removing the unused error parameter from the catch block is a good stylistic improvement. The function behavior remains unchanged - it still properly catches exceptions and returns false for invalid addresses.

packages/extension/src/ui/action/components/app-menu/components/app-menu-item.vue (1)

169-169: LGTM! Consistent with codebase cleanup.

Removing the unused error parameter from the catch block is a good improvement. The function continues to handle canvas image data extraction errors correctly by returning the default RGB values.

packages/extension/src/providers/solana/ui/libs/get-priority-fees.ts (1)

42-42: LGTM! Proper error handling maintained.

Removing the unused error parameter is a good cleanup. The function correctly handles network failures by returning sensible default values (zero fees) when the priority fee estimation fails.

packages/extension/src/providers/ethereum/libs/transaction/data-decoder.ts (1)

62-62: LGTM! Consistent error handling cleanup.

Removing the unused error parameter from the catch block is appropriate. The method correctly handles ABI decoding failures by falling back to returning the raw transaction data, maintaining the expected behavior.

packages/extension/src/ui/action/views/swap/index.vue (1)

448-448: LGTM! Consistent with error handling cleanup.

Removing the unused error parameter from the catch block is appropriate. The function correctly handles address validation failures by setting addressIsValid.value to false, maintaining the expected behavior for invalid addresses.

packages/extension/src/providers/polkadot/ui/custom-views/transfer-approvetx.vue (1)

67-69: Good improvement to error logging.

Adding console.error(e) to replace the empty catch block improves debugging visibility when address lookups fail.

packages/extension/src/providers/common/ui/send-transaction/send-contacts-list.vue (1)

127-127: LGTM: Clean stylistic improvement.

Since the error parameter wasn't being used (just logging a static message), removing it simplifies the code without changing functionality.

packages/extension/src/providers/ethereum/libs/api.ts (1)

74-74: LGTM: Simplifies unused catch parameter.

Since the error parameter wasn't being used in the catch block, removing it makes the code cleaner while maintaining identical functionality.

packages/extension/src/ui/action/views/import-account/index.vue (1)

167-167: LGTM: Consistent catch block simplification.

Removing the unused error parameter aligns with the codebase-wide pattern while maintaining the same error handling behavior.

packages/extension/src/ui/action/utils/browser.ts (2)

53-53: LGTM: Consistent quote style.

Using single quotes aligns with the codebase style standards.


67-76: Good formatting and error handling improvements.

The variable declarations are now more readable, and adding console.error in the catch block improves debugging visibility for fetch failures.

packages/extension/src/ui/action/views/swap/views/swap-best-offer/index.vue (1)

64-64: LGTM!

The explicit type assertion ensures proper type safety for the fees prop.

packages/extension/src/ui/action/views/swap/libs/swap-txs.ts (1)

112-127: No downstream consumers require deserialized Solana Transaction instances

– Searched for all calls to getSwapTransactions and found only its own definition; no other files invoke it.
– Checked for uses of transaction.compileMessage(), transaction.sign(), and transaction.serialize() and only saw serialize() in packages/swap/src/providers/okx/index.ts, which is unrelated to the extension’s output.
– Since no code consumes the new raw‐data shape as a Transaction object, switching to raw data with metadata is safe.

packages/extension/src/ui/action/views/swap/libs/solana-gasvals.ts (1)

26-41: LGTM! Well-structured type definitions.

The new RawTransaction type and updated TaggedTransaction union properly support the raw transaction format while maintaining backward compatibility.

packages/extension/src/ui/action/views/accounts/components/add-account-form.vue (1)

54-54: Import cleanup looks good

onMounted was unused; dropping it keeps the bundle leaner and silences ESLint. 👍

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

76-76: Unused import removed – no further issues

The file no longer imports computed, and no references remain. Change is sound.

packages/name-resolution/src/sid/utils.ts (1)

1-2: Regex is extremely restrictive – verify business intent

Only alphanumerics surrounding a single @ are allowed (john.doe@abc.com will fail).
If domain dots / hyphens are expected, broaden the pattern:

-const paymentIdRegex = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+$/;
+const paymentIdRegex = /^[\w.+-]+@[\w.-]+$/;
packages/extension/src/ui/action/components/app-menu/store.ts (1)

13-15: Semicolon fix is correct – syntax issue resolved
No further action needed.

packages/extension/tests/setup.ts (1)

4-8: Import kept solely for side-effects – acceptable

crypto is unused in this file but required for runtime polyfills; ESLint directive is appropriate.

packages/extension/src/libs/tokens-state/index.ts (3)

38-38: LGTM: Improved code formatting

The indentation adjustment enhances readability of the multi-line conditional expression.


67-69: LGTM: Consistent multi-line formatting

The proper indentation of the multi-line this.storage.get() call improves code readability.


80-80: LGTM: Consistent indentation

The indentation adjustment aligns with the formatting improvements throughout the file.

packages/extension/src/ui/action/types/network-category.ts (1)

5-5: LGTM: Minor syntax cleanup

Removing the unnecessary semicolon after the enum closing brace is a valid stylistic improvement.

packages/extension/src/libs/utils/number-formatter.ts (1)

541-541: LGTM: Added trailing comma for consistency

The trailing comma in the export statement follows modern JavaScript/TypeScript conventions and makes future additions cleaner.

packages/extension/src/providers/bitcoin/types/bitcoin-network.ts (1)

12-12: LGTM: Simplified import statement

The single-line import format is more concise and consistent with similar changes across other provider files.

package.json (1)

37-38: Dependency updates verified – no security issues found

Both updated packages are development dependencies with minor version bumps and have been confirmed on the npm registry. No security advisories were identified via the GitHub API.

• File: package.json (lines 37–38)

  • Updated @swc/core from ^1.12.1^1.13.2 (version exists)
  • Updated concurrently from ^9.1.2^9.2.0 (version exists)
    • GitHub security API queries returned no advisories for either package

These changes are safe to merge.

packages/extension/src/libs/recently-sent-addresses/types.ts (1)

2-3: LGTM - Improved TypeScript formatting consistency

The addition of semicolons in the interface property and closing brace aligns with TypeScript best practices and improves code consistency across the codebase.

packages/extension/src/ui/action/store/menu-store.ts (4)

1-2: LGTM - Consistent import statement formatting

Adding semicolons to import statements improves consistency with JavaScript/TypeScript conventions.


12-12: LGTM - Function declaration formatting improvement

Adding semicolon after the function's closing brace follows standard JavaScript/TypeScript formatting conventions.


16-16: LGTM - Consistent async function formatting

The semicolon addition maintains consistency with other function declarations in the store.


22-24: LGTM - Object literal formatting improvements

The trailing comma addition is a best practice that makes future diffs cleaner and reduces merge conflicts.

packages/extension/src/ui/action/components/base-button/index.vue (4)

89-95: LGTM - Improved CSS readability

Splitting the background linear-gradient declaration across multiple lines enhances readability without affecting functionality.


129-136: LGTM - Consistent formatting for gray button variant

The multi-line background declaration maintains consistency with other button variants and improves code readability.


144-151: LGTM - Consistent formatting for red button variant

The formatting aligns with other button variants, maintaining consistency across the component.


159-166: LGTM - Consistent formatting for orange button variant

The multi-line background declaration completes the consistent formatting pattern across all button variants.

packages/extension/src/ui/action/components/base-file-picker/index.vue (1)

76-82: LGTM - Consistent CSS formatting improvement

The multi-line background declaration improves readability and maintains consistency with similar formatting changes in other UI components like base-button.

packages/extension/src/ui/action/types/network-sort.ts (2)

1-4: LGTM - Correct TypeScript enum syntax

Removing the semicolon after the enum's closing brace aligns with standard TypeScript enum declaration syntax.


5-8: LGTM - Consistent enum formatting

The syntax correction maintains consistency with the NetworkSortOption enum and follows TypeScript conventions.

packages/extension/src/libs/rate-state/index.ts (1)

52-52: Style change looks good

Moving the else if onto the same line as the closing brace matches the surrounding style and carries no functional impact.

packages/extension/src/libs/updates-state/index.ts (1)

19-25: Default state is never persisted – confirm intention

getState() fabricates a default state when none exists but does not persist it.
Every subsequent call will regenerate the same object, which means a consumer that
only reads (without writing) will continually see the empty defaults.

If this is accidental, persist once:

-      const newState: IState = {
+      const newState: IState = {
         lastVersionViewed: '',
         currentRelease: '',
         currentReleaseTimestamp: 0,
       };
-      return newState;
+      await this.setState(newState);
+      return newState;

Otherwise, ignore this note.

packages/extension/src/types/window.d.ts (1)

1-13: No functional changes – typings remain correct

Semicolon additions and ESLint directive look fine.

packages/keyring/package.json (1)

32-33: Verify Polkadot 13.5.3 bump

@polkadot/util is upgraded to 13.5.3. While patch bumps are usually safe, this repo consumes several Polkadot packages across workers and browsers. Please run the full test-suite and a quick manual smoke test of signing/deriving keys to rule out subtle breaking changes.

packages/extension/package.json (1)

46-54: Large multi-package version sweep – run e2e before publish

Multiple core libs (@polkadot/*, @kadena/*, ledger transports, Vue 3.5.x) were bumped together. Inter-package surface changes can slip through type-checks. Make sure CI executes:

  1. yarn build for all workspace packages
  2. Browser e2e against Chrome & Firefox (signing, swap, hardware wallet flows)

Catching regressions now avoids a hot-fix release right after 2.10.0.

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

55-60: Ledger/Trezor library bumps – confirm device firmware compatibility

Hardware-wallet libs moved several minor versions (@ledgerhq/hw-app-eth 6.45.x, WebUSB transport 6.29.x, @trezor/connect* 9.6.x). Firmware compatibility occasionally shifts with these releases. Please plug real devices and validate at least one ETH/Solana/Polkadot signing flow before publishing.

packages/extension/eslint.config.mjs (3)

1-3: LGTM! Consistent semicolon usage in imports.

The addition of semicolons to import statements improves code consistency and aligns with standard JavaScript/TypeScript formatting practices.


13-13: Good addition to ignore patterns.

Adding 'public/**/*' to the ignore patterns is appropriate for excluding public directory files from linting, which typically contain build artifacts or static assets.


34-34: LGTM! Consistent array termination.

The addition of a semicolon maintains consistent formatting throughout the configuration.

packages/extension/src/ui/action/views/settings/store.ts (3)

10-10: LGTM! Improved semicolon consistency.

The addition of semicolons throughout the file maintains consistent code style and follows TypeScript best practices.

Also applies to: 20-20, 45-45


26-33: Good formatting improvement for readability.

The reformatted conditional statement with each currency check on its own line significantly improves code readability and maintainability.


47-52: Excellent return statement formatting.

The reformatted return statement with each property on its own line and trailing commas follows best practices and makes future modifications easier.

packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts (1)

55-55: CoreDAO network integration verified and approved

All checks confirm that CoreDAO has been fully integrated:

  • packages/types/src/networks.ts
    • NetworkNames.CoreDAO = "CORE"
    • CoingeckoPlatform.CoreDAO = "core"
  • packages/extension/src/providers/ethereum/networks/coredao.ts → correct name and coingeckoPlatform
  • token-lists.ts → URL entry for CoreDAO present
  • assetinfo-mew.ts & tokenbalance-mew.ts → CoreDAO handlers added
  • new-features.ts → CoreDAO listed in newNetworks

No further action required.

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

1-1: LGTM! Consistent quote usage.

The change from double quotes to single quotes in the import statement maintains consistency with the broader codebase formatting standards.

packages/extension/src/providers/polkadot/types/substrate-network.ts (1)

11-11: LGTM! Cleaner import formatting.

The consolidation of the import statement to a single line improves readability by reducing unnecessary line breaks while maintaining the same functionality.

packages/extension/src/types/env.d.ts (1)

2-2: Consistent declaration style – looks good
The added semicolon aligns this ambient interface with prevailing TS style across the repo.

packages/name-resolution/README.md (1)

2-3: Formatting only – no concerns
Blank-line insertion and heading adjustment are purely cosmetic; content remains unchanged.

packages/extension/src/ui/onboard/main.ts (1)

11-11: Semicolon addition keeps style uniform
No functional impact; change harmonises with prettier / ESLint rules applied elsewhere.

packages/name-resolution/tests/resolver.test.ts (1)

39-44: Trailing-comma tweaks only – OK
No behavioural change; the updated commas follow the new formatting rules.

packages/extension/src/providers/kadena/types/kadena-network.ts (1)

16-16: Import compressed – fine
Single-line import is clearer and consistent with other provider files.

packages/name-resolution/src/ud/index.ts (1)

51-54: Stylistic trailing comma – LGTM

The added trailing comma simply aligns the signature with the new Prettier rules. No functional impact.

packages/name-resolution/tests/rns.test.ts (2)

1-1: Import still mixes Vitest with Chai chain-style assertions

import { describe, it, expect } from "vitest"; brings in Vitest’s Jest-style expect, yet the assertions that follow use Chai chains (to.be.eq). Vitest augments expect with Chai compat, but a mis-match in plugins can silently break. Double-check that vitest.config.ts enables the Chai expect extensions (or chai is explicitly imported) to avoid brittle tests.


16-18: Trailing-comma additions – LGTM

Pure formatting; tests remain unchanged in behaviour.

Also applies to: 25-27

packages/name-resolution/tests/ens.test.ts (1)

22-24: Trailing-comma additions – LGTM

Purely stylistic; no functional impact.

Also applies to: 33-35

packages/name-resolution/src/ens/index.ts (1)

34-37: Stylistic trailing comma – LGTM

Matches Prettier rules; no behavioural change.

packages/extension/src/providers/ethereum/networks/syscoin/rollux.ts (1)

4-5: Stylistic change looks good

Switched to single-quote import and re-flowed the long buyLink. No functional impact; improves code style consistency across the repo.

Also applies to: 23-25

packages/extension/src/libs/name-resolver/index.ts (1)

17-21: Pure formatting – no issues

Parameter list re-wrapped for readability; types and behaviour remain unchanged.

packages/extension/src/providers/ethereum/networks/syscoin/nevm.ts (1)

2-6: Stylistic update acknowledged

Uniform single-quote usage and wrapped buyLink; logic untouched.

Also applies to: 11-26

packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts (1)

78-80: CoreDAO added to SupportedNetworkNames

Expansion of the union type aligns with new network integration. Confirm that downstream switch/if branches handling SupportedNetworkNames have corresponding CoreDAO cases to avoid fall-through defaults.

packages/extension/src/providers/solana/types/sol-network.ts (2)

9-9: LGTM! Import statement simplified.

The import statement for formatFloatingPointValue has been properly consolidated to a single line, improving readability while maintaining functionality.


130-130: LGTM! Conditional expression reformatted.

The valuef property assignment has been reformatted from a multi-line conditional to a single-line expression without changing the logic. This improves code consistency and readability.

packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts (2)

58-58: LGTM! Ink network endpoint added.

The Ink network endpoint has been properly added to the NetworkEndpoints mapping with an appropriate explorer URL format.


75-76: LGTM! New network endpoints added.

Both AppLayerTestnet and EthereumClassic network endpoints have been properly added to the NetworkEndpoints mapping with appropriate explorer URLs that follow the established patterns.

packages/name-resolution/src/sid/types.ts (3)

6-6: LGTM! Missing semicolon added.

The missing semicolon after the timeout property has been properly added, improving code consistency.


19-24: LGTM! Object keys simplified.

The PAYMENT_ID_CHAINS_MAP object keys have been properly changed from quoted strings to unquoted identifiers, which is more concise and follows modern JavaScript/TypeScript conventions.


37-37: LGTM! Formatting cleanup.

The extraneous blank line has been removed, improving code cleanliness while maintaining readability.

packages/extension/src/providers/ethereum/networks/etc.ts (1)

4-4: LGTM! Activity handler updated to EtherscanActivity.

The change from RivetActivity to EtherscanActivity for Ethereum Classic is properly implemented with both the import and usage updated consistently. This aligns with the addition of the EthereumClassic endpoint in the etherscan configs and should improve activity data fetching for this network.

Also applies to: 22-22

packages/extension/src/libs/utils/networks.ts (2)

25-27: LGTM! Function signature reformatted.

The getAllNetworks function signature has been properly reformatted to use a multi-line parameter list, improving readability while maintaining functionality.


39-39: LGTM! Missing semicolon added.

The missing semicolon after the return allNetworks statement has been properly added, improving code consistency.

packages/extension/src/providers/ethereum/networks/cytonic-testnet.ts (1)

2-25: LGTM! Clean formatting improvements.

The changes standardize code style with single quotes, consistent 2-space indentation, and improved multiline formatting. These formatting improvements enhance readability and maintain consistency across the codebase without affecting functionality.

packages/extension/src/providers/ethereum/networks/okc.ts (1)

22-22: No action needed: OKC activity handler change is consistent
Confirmed that all Ethereum (and many other) network providers use a no-op activityHandler stub (wrapActivityHandler(() => Promise.resolve([]))). The OKC update aligns with this existing pattern.

packages/name-resolution/src/rns/index.ts (1)

38-94: Excellent formatting improvements throughout the RNS resolver.

The formatting changes enhance code readability with consistent indentation, proper parameter alignment, and appropriate semicolon usage. All functional logic for RNS resolution remains intact, and the default "RSK" coin type parameter is appropriate for Rootstock Name Service.

packages/extension/src/providers/ethereum/networks/xlayer.ts (1)

23-23: Confirm global disabling of activity handlers

The no-op activityHandler: wrapActivityHandler(() => Promise.resolve([])) pattern isn’t limited to xlayer.ts —it’s applied across every network file under packages/extension/src/providers/ethereum/networks/ (unitzero.ts, sdn.ts, okc.ts, hoodi.ts, …, abstract.ts). This change effectively disables activity fetching for all supported networks.

Potential impacts:

  • Transaction histories will no longer display for any network
  • Any feature relying on activity data will return empty lists

Please confirm that you intend to disable activity fetching globally. If this is by design, consider adding a note to the changelog or documentation to inform downstream users of this behavior.

packages/extension/src/providers/ethereum/networks/ftm.ts (1)

22-22: Activity handler disabled consistently with other networks.

The activity handler has been replaced with a no-op function, following the same pattern as other networks in this PR. This will disable transaction history display for the Fantom network.

packages/extension/src/providers/ethereum/networks/sdn.ts (1)

22-22: Activity handler disabled for Shiden network.

Following the same pattern as other networks in this PR, the activity handler has been disabled for the Shiden network.

packages/extension/src/providers/ethereum/networks/edg.ts (2)

20-20: Activity handler disabled for Edgeware network.

Consistent with other networks in this PR, the activity handler has been disabled.


16-16: Manual verification required: Confirm stability of new Edgeware WebSocket endpoint

The WebSocket node URL has been updated from wss://edgeware.jelliedowl.net to wss://edgeware-rpc3.jelliedowl.net. Our sandbox test couldn’t run due to a missing timeout utility, so please verify connectivity and stability in your local or staging environment using one of the following approaches:

  • Use a CLI tool:
    npx wscat -c wss://edgeware-rpc3.jelliedowl.net
  • Or a simple Node.js script:
    const WebSocket = require('ws');
    const ws = new WebSocket('wss://edgeware-rpc3.jelliedowl.net');
    ws.on('open', () => {
      console.log('Connection successful');
      ws.close();
    });
    ws.on('error', (err) => {
      console.error('Connection failed', err);
    });

Ensure you can establish and maintain a stable connection before merging.

packages/extension/src/types/activity.ts (1)

124-131: Improved formatting of union type.

The rawInfo union type has been reformatted with each member on its own line and proper indentation. This improves readability while maintaining the same functionality.

packages/extension/src/providers/ethereum/types/evm-network.ts (1)

5-5: LGTM! Clean formatting improvements.

These formatting changes improve code consistency by consolidating multi-line imports and property assignments into single lines, and adjusting indentation for better readability. No functional changes were made.

Also applies to: 153-153, 157-157, 210-210, 269-269

packages/extension/src/providers/polkadot/networks/edgeware.ts (2)

22-22: Node endpoint updated appropriately.

The WebSocket endpoint has been updated to use rpc3.jelliedowl.net, which likely reflects infrastructure improvements or load balancing changes.


27-27: Activity handler disabled consistently with other networks.

The activity handler has been replaced with a no-op function returning an empty array, which aligns with the systematic disabling of external activity fetching across multiple networks in this release.

packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (3)

12-12: LGTM! Import formatting improvement.

The multi-line import has been consolidated to a single line for better consistency.


225-228: CoreDAO network integration looks correct.

The CoreDAO network has been properly added with the correct token bridge name ('core') and Coingecko platform mapping, which aligns with the broader CoreDAO integration across the codebase.


286-294: LGTM! Formatting improvements.

The indentation adjustments improve code readability without affecting functionality.

packages/extension/src/providers/ethereum/networks/coredao.ts (1)

1-25: CoreDAO network configuration looks comprehensive and correct.

The new CoreDAO network configuration includes all required properties:

  • Proper chain ID (0x45c = 1116)
  • Correct RPC endpoint and block explorer URLs
  • Appropriate currency naming (CORE/Core)
  • Consistent no-op activity handler pattern
  • Proper Coingecko integration

The configuration follows the established pattern for EVM networks and aligns with the broader CoreDAO integration across the codebase.

packages/extension/src/providers/ethereum/networks/hoodi.ts (1)

1-23: Hoodi testnet configuration looks appropriate.

The new Hoodi testnet configuration includes all required properties:

  • Proper testnet chain ID (0x88bb0 = 560048)
  • Correctly marked as test network
  • Appropriate currency naming (HodETH/Hoodi ETH)
  • Uses generic ETH icon (reasonable for testnet)
  • Consistent no-op activity handler pattern
  • WebSocket node endpoint and block explorer URLs properly configured

The configuration follows the established pattern for EVM test networks.

packages/extension/src/ui/action/store/updates-store.ts (1)

1-118: LGTM! Formatting improvements enhance code consistency.

The stylistic changes including semicolon additions, JSDoc comment alignment, and trailing comma consistency improve code readability without affecting functionality.

packages/extension/src/providers/ethereum/networks/applayer-testnet.ts (1)

1-25: Endpoints Verified — Approving Network Configuration

All required fields are correctly set, and the AppLayer Testnet RPC and explorer endpoints returned HTTP 200 in our checks. This configuration follows the established EvmNetwork pattern and is ready to merge.

packages/name-resolution/src/types.ts (1)

2-2: LGTM! Whitespace cleanup improves consistency.

Removing trailing whitespace after the import statement enhances code cleanliness.

packages/extension/src/providers/ethereum/networks/index.ts (2)

62-62: LGTM! New network imports follow established patterns.

The addition of hoodiNode, coredao, and appLayerTestnet imports is consistent with the existing import structure.

Also applies to: 79-80


151-151: All removed networks have been cleaned up

Verified that there are no remaining references to the removed networks:

  • No instances of “arthera” (including “artheraTest”)
  • No instances of “holesky”
  • No instances of “skaleRazor”

No further changes needed—approving these updates.

@kvhnuke kvhnuke merged commit 1b2c545 into main Aug 7, 2025
5 checks passed
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.

7 participants