Conversation
WalkthroughThis pull request includes extensive dependency updates across multiple Changes
Sequence Diagram(s)sequenceDiagram
participant U as User
participant S as SettingsState
participant Str as Storage
U->>S: setCurrencySettings(newCurrencySettings)
S->>Str: Store newCurrencySettings (key: "currency-settings-state")
Note over S: Currency settings stored
U->>S: getCurrencySettings()
S->>Str: Retrieve currency settings
Str-->>S: Return stored settings
S->>S: Merge with default (USD) if missing
S-->>U: Return final currency settings
sequenceDiagram
participant U as User
participant C as Transaction Component
participant M as Metrics (trackSendEvents/trackNetwork)
U->>C: Open transaction interface (onMounted)
C->>M: trackSendEvents(SendOpen, network)
U->>C: Initiate transaction
C->>M: trackSendEvents(SendApprove, network)
alt Transaction successful
C->>M: trackSendEvents(SendComplete, network)
else Transaction fails
C->>M: trackSendEvents(SendFailed, network, error)
end
Possibly related PRs
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms (2)
🔇 Additional comments (1)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
|
💼 Build Files |
…into devop/add-new-chains
…into fix/solana-swap-error
…into fix/swap-error
…into fix/solana-insufficient-funds
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (8)
packages/extension/src/libs/nft-handlers/simplehash.ts (1)
50-52: Consider adding a TypeScript type guard for the supportedNetworks key accessThe current implementation may cause TypeScript to complain about using a string index to access values in an object with specific keys.
Consider adding a type guard:
- : `${SH_ENDPOINT}owners_v2?chains=${supportedNetworks[network.name as keyof typeof supportedNetworks] + : `${SH_ENDPOINT}owners_v2?chains=${supportedNetworks[network.name as NetworkNames]Or alternatively make the network.name access more type-safe:
- : `${SH_ENDPOINT}owners_v2?chains=${supportedNetworks[network.name as keyof typeof supportedNetworks] + : `${SH_ENDPOINT}owners_v2?chains=${supportedNetworks[network.name as keyof typeof supportedNetworks] || ''packages/extension/src/providers/ethereum/networks/unichain.ts (1)
8-26: Rename constants to be consistent with network name.There are some naming inconsistencies in the constant names that could be improved for clarity:
unchainOptionsshould be renamed tounichainOptionsto match the network nameunchainshould be renamed tounichainfor consistency-const unchainOptions: EvmNetworkOptions = { +const unichainOptions: EvmNetworkOptions = { name: NetworkNames.Unichain, name_long: 'Unichain', homePage: 'https://www.unichain.org/', blockExplorerTX: 'https://uniscan.xyz/tx/[[txHash]]', blockExplorerAddr: 'https://uniscan.xyz/address/[[address]]', chainID: '0x82', isTestNetwork: false, currencyName: 'ETH', currencyNameLong: 'ETH', node: 'https://mainnet.unichain.org', icon, coingeckoID: 'ethereum', NFTHandler: shNFTHandler, assetsInfoHandler, activityHandler: wrapActivityHandler(() => Promise.resolve([])), }; -const unchain = new EvmNetwork(unchainOptions); +const unichain = new EvmNetwork(unichainOptions);packages/extension/src/providers/ethereum/networks/abstract.ts (1)
1-26: Consider adding NFT handler for consistency.The Abstract network configuration doesn't include an NFT handler (
shNFTHandler), which is included in other network configurations like Berachain and Unichain. Consider adding it for consistency if the network supports NFTs.import icon from './icons/abstract.webp'; import { NetworkNames } from '@enkryptcom/types'; import { EvmNetwork, EvmNetworkOptions } from '../types/evm-network'; import wrapActivityHandler from '@/libs/activity-state/wrap-activity-handler'; import assetsInfoHandler from '@/providers/ethereum/libs/assets-handlers/assetinfo-mew'; +import shNFTHandler from '@/libs/nft-handlers/simplehash'; const absOptions: EvmNetworkOptions = { name: NetworkNames.Abstract, name_long: 'Abstract', homePage: 'https://www.abs.xyz/', blockExplorerTX: 'https://abscan.org/tx/[[txHash]]', blockExplorerAddr: 'https://abscan.org/address/[[address]]', chainID: '0xAB5', isTestNetwork: false, currencyName: 'ETH', currencyNameLong: 'ETH', node: 'https://api.mainnet.abs.xyz', icon, coingeckoID: 'ethereum', assetsInfoHandler, + NFTHandler: shNFTHandler, activityHandler: wrapActivityHandler(() => Promise.resolve([])), };packages/extension/src/providers/ethereum/networks/coti.ts (2)
7-20: Configuration looks good, but missing Coingecko integrationThe COTI network configuration is mostly correct, but unlike other network configurations (e.g., Taraxa, Gravity), this one doesn't include
coingeckoIDandcoingeckoPlatformproperties, which might be needed for price tracking.
22-22: Variable name inconsistent with configurationThe variable name
cotiDevnetsuggests a development/test network, but the configuration is for mainnet (isTestNetwork: falseand using mainnet URLs). Consider renaming tocotiMainnetor simplycotifor consistency.-const cotiDevnet = new EvmNetwork(coti); +const cotiNetwork = new EvmNetwork(coti);packages/extension/src/providers/ethereum/networks/story.ts (1)
7-22: Network configuration looks correct, but missing coingeckoPlatformThe Story network configuration is properly structured with almost all necessary parameters, but it's missing the
coingeckoPlatformproperty that is present in other network configurations like Taraxa and Gravity. Consider adding this property for consistency.const storyOptions: EvmNetworkOptions = { name: NetworkNames.Story, name_long: 'Story', homePage: 'https://www.story.foundation/', blockExplorerTX: 'https://www.storyscan.xyz/tx/[[txHash]]', blockExplorerAddr: 'https://www.storyscan.xyz/address/[[address]]', chainID: '0x5EF', isTestNetwork: false, currencyName: 'IP', currencyNameLong: 'IP', node: 'https://mainnet.storyrpc.io', icon, coingeckoID: 'story-2', + coingeckoPlatform: CoingeckoPlatform.Story, assetsInfoHandler, activityHandler: wrapActivityHandler(() => Promise.resolve([])), };Note: You'll need to add the appropriate import and enum value if it doesn't already exist.
packages/extension/src/providers/ethereum/networks/index.ts (1)
149-157: Consider consistent variable naming for network nodes.There's a slight inconsistency in the variable naming. Most network nodes follow the
networkNodepattern (e.g.,beraNode), but some don't have theNodesuffix (e.g.,taraxa,coti).- taraxa: taraxa, + taraxa: taraxaNode, '5ire': _5ireNode, bera: beraNode, story: storyNode, gravity: gravityNode, unichain: unichainNode, abstract: abstractNode, ink: inkNode, - coti: coti + coti: cotiNodepackages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (1)
282-285: Optimize accumulator to avoid O(n²) time complexity.The static analysis tool detected a performance issue with using spread syntax on accumulators, which can lead to O(n²) time complexity.
: tokens.reduce( - (obj, cur) => ({ ...obj, [cur.contract]: null }), + (obj, cur) => { + obj[cur.contract] = null; + return obj; + }, {} as Record<string, CoinGeckoTokenMarket | null>, );🧰 Tools
🪛 Biome (1.9.4)
[error] 283-283: Avoid the use of spread (
...) syntax on accumulators.Spread syntax should be avoided on accumulators (like those in
.reduce) because it causes a time complexity ofO(n^2).
Consider methods such as .splice or .push instead.(lint/performance/noAccumulatingSpread)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (17)
README.md(2 hunks)packages/extension/src/libs/nft-handlers/simplehash.ts(1 hunks)packages/extension/src/providers/common/libs/new-features.ts(1 hunks)packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts(1 hunks)packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts(4 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/networks/abstract.ts(1 hunks)packages/extension/src/providers/ethereum/networks/bera.ts(1 hunks)packages/extension/src/providers/ethereum/networks/coti.ts(1 hunks)packages/extension/src/providers/ethereum/networks/gravity.ts(1 hunks)packages/extension/src/providers/ethereum/networks/index.ts(2 hunks)packages/extension/src/providers/ethereum/networks/inkonchain.ts(1 hunks)packages/extension/src/providers/ethereum/networks/story.ts(1 hunks)packages/extension/src/providers/ethereum/networks/taraxa.ts(1 hunks)packages/extension/src/providers/ethereum/networks/unichain.ts(1 hunks)packages/types/src/networks.ts(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts
🧰 Additional context used
🧬 Code Definitions (1)
packages/extension/src/libs/nft-handlers/simplehash.ts (1)
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (1)
network(261-396)
🪛 Biome (1.9.4)
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts
[error] 283-283: Avoid the use of spread (...) syntax on accumulators.
Spread syntax should be avoided on accumulators (like those in .reduce) because it causes a time complexity of O(n^2).
Consider methods such as .splice or .push instead.
(lint/performance/noAccumulatingSpread)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: buildAll
🔇 Additional comments (14)
packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts (1)
73-74: LGTM: Network endpoints added for Ink and CotiThe addition of Ink and Coti network endpoints to the NetworkEndpoints record aligns with the other changes in the PR for supporting these new networks.
packages/extension/src/providers/common/libs/new-features.ts (1)
4-11: Updated networks in the newNetworks arrayThe newNetworks array has been completely replaced with new entries for Story, Abstract, Gravity, Unichain, Bera, Ink, Taraxa, and Coti networks. This update correctly aligns with the other changes in this PR that add support for these networks.
packages/extension/src/libs/nft-handlers/simplehash.ts (1)
42-43: LGTM: Added NFT support for Unichain and Bera networksAdded Unichain and Berachain to the SimplHash NFT handler's supported networks. This aligns with the other changes in the PR that add support for these networks.
packages/types/src/networks.ts (2)
101-108: LGTM: New network names addedAdded new entries to the NetworkNames enum for Story, Abstract, Unichain, Ink, Gravity, Bera, Taraxa, and Coti networks. This extends the available network types throughout the application.
167-173: LGTM: New Coingecko platform identifiers addedAdded corresponding Coingecko platform identifiers for the new networks, which enables market data retrieval for tokens on these networks.
README.md (1)
103-118: LGTM: New blockchain networks added to supported chains list.The additions of Taraxa, Story, Abstract, Berachain, Ink Onchain, Unichain, and Gravity to the README.md is consistent with the overall PR objective of preparing for the v2.5.0 release.
🧰 Tools
🪛 LanguageTool
[duplication] ~110-~110: Possible typo: you repeated a word.
Context: ...Network - Viction - Westend - ZChains - zkSync - zkSync Goerli - 5ireChain - Story - Abstract -...(ENGLISH_WORD_REPEAT_RULE)
packages/extension/src/providers/ethereum/networks/bera.ts (1)
1-29: LGTM: New Berachain network configuration properly implemented.The implementation correctly configures the Berachain network with appropriate settings including chain ID, currency details, and required handlers. The code follows the established pattern for network definitions.
packages/extension/src/providers/ethereum/networks/taraxa.ts (1)
1-24: Network configuration looks correctThe Taraxa network configuration is properly structured with all necessary parameters:
- Chain ID, block explorer URLs, and RPC node URL are correctly defined
- Network name references the proper enum value
- Coingecko integration is properly configured
Note that the activity handler currently returns an empty array, which is fine for initial implementation but may need to be updated later if specific activity tracking for Taraxa becomes available.
packages/extension/src/providers/ethereum/networks/gravity.ts (1)
1-27: Network configuration looks correctThe Gravity network configuration is properly structured with all necessary parameters. It includes:
- Proper chain ID (0x659) and network name references
- Block explorer URLs with correct placeholders
- Valid RPC node URL
- Complete Coingecko integration
- Asset information handler integration
As with the Taraxa network, the activity handler returns an empty array which is appropriate for initial implementation.
packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts (1)
68-76: LGTM: New networks added toSupportedNetworkNamestype.The additions to the
SupportedNetworkNamestype look good. These new network names align with the PR objective to add support for new networks.packages/extension/src/providers/ethereum/networks/inkonchain.ts (1)
1-27: LGTM: New EVM network configuration for Ink Onchain.The implementation for the Ink Onchain network is complete and follows the same pattern as other network configurations. All required properties are properly defined.
packages/extension/src/providers/ethereum/networks/index.ts (1)
66-73: LGTM: New network imports added.The new network imports are properly added and follow the existing import pattern.
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (2)
124-127: LGTM: New network entries added tosupportedNetworks.The additions to the
supportedNetworksobject for the new networks look good and follow the established pattern.Also applies to: 184-187, 196-219
72-75:Details
❓ Verification inconclusive
Verify removal of
tbNameproperty from Rootstock network.The
tbName: 'rsk'property has been removed from the Rootstock network entry. Please confirm this is intentional and won't impact token balance functionality for this network.
🏁 Script executed:
#!/bin/bash # Description: Check if tbName property is used for the Rootstock network # Search for references to Rootstock tbName echo "Checking for references to tbName for Rootstock..." rg -A 5 "tbName.*rsk" --type ts rg -A 5 "supportedNetworks\[.*Rootstock\]\.tbName" --type ts # Check where tbName is used in the getTokens function echo "Checking usage of tbName in getTokens function..." rg -A 10 -B 10 "getTokens.*tbName" --type ts # Check if Rootstock ever uses the blockscout endpoint echo "Checking if Rootstock network uses blockscout endpoint..." rg -A 3 "supportedNetworks\[.*Rootstock\]\.bsEndpoint" --type tsLength of output: 555
Action Required: Verify Removal of
tbNamefrom Rootstock Configuration
- Automated searches for the
tbNameproperty (including checks in thegetTokensfunction and blockscout endpoint usage) did not return any references.- This suggests that the removal of
tbName: 'rsk'from the Rootstock network configuration inpackages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.tsmay be safe.- However, due to the low-confidence output from the automated verification, please manually confirm that this removal does not impact token balance functionality for Rootstock.
…nKrypt into feat/collapse-networks-menu
Feat/collapse networks menu
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (78)
packages/extension/src/providers/bitcoin/networks/icons/btc.svgis excluded by!**/*.svgpackages/extension/src/providers/bitcoin/networks/icons/doge.svgis excluded by!**/*.svgpackages/extension/src/providers/bitcoin/networks/icons/ltc.svgis excluded by!**/*.svgpackages/extension/src/providers/bitcoin/networks/icons/tbtc.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/5ire.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/aa.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/apex.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/arbitrum-nova.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/arbitrum.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/astr.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/aurora.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/avax.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/base.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/bitrock.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/bsc.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/caga.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/canto.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/celo.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/coti.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/degen.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/edgeware.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/etc.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/eth.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/form.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/forma.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/fraxtal.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/ftm.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/gno.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/godwoken.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/ham.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/immutable-zkevm.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/karura-evm.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/linea.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/manta-pacific.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/matic.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/mode.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/moonbeam.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/moonriver.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/okc.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/ont-evm.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/op.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/opbnb.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/palm.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/rari.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/rootstock.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/sanko.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/scroll.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/sdn.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/shiba-inu.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/skaleBlockBrawlers.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleCalypsoNFTHub.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleCryptoBlades.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleCryptoColloseum.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleEuropa.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/skaleExorde.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleNebula.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleRazor.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skaleTitan.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skl-fuel.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/skl.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/sys_nevm.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/sys_rollux.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/telos.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/tsys_nevm.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/tsys_rollux.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/viction.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/xlayer.pngis excluded by!**/*.pngpackages/extension/src/providers/ethereum/networks/icons/zcd.svgis excluded by!**/*.svgpackages/extension/src/providers/ethereum/networks/icons/zksync.svgis excluded by!**/*.svgpackages/extension/src/providers/kadena/networks/icons/kadena-kda-logo.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/acala.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/amplitude.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/assethub.pngis excluded by!**/*.pngpackages/extension/src/providers/polkadot/networks/icons/astar.pngis excluded by!**/*.pngpackages/extension/src/providers/polkadot/networks/icons/bifrost.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/edgeware.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/karura.svgis excluded by!**/*.svgpackages/extension/src/providers/polkadot/networks/icons/kusama.svgis excluded by!**/*.svg
📒 Files selected for processing (115)
packages/extension/src/libs/menu-state/index.ts(1 hunks)packages/extension/src/libs/menu-state/types.ts(1 hunks)packages/extension/src/providers/bitcoin/networks/bitcoin-testnet.ts(1 hunks)packages/extension/src/providers/bitcoin/networks/bitcoin.ts(1 hunks)packages/extension/src/providers/bitcoin/networks/dogecoin.ts(1 hunks)packages/extension/src/providers/bitcoin/networks/litecoin.ts(1 hunks)packages/extension/src/providers/bitcoin/ui/send-transaction/index.vue(2 hunks)packages/extension/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue(1 hunks)packages/extension/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue(1 hunks)packages/extension/src/providers/common/ui/send-transaction/nft-select-list/index.vue(4 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/common/ui/verify-transaction/verify-transaction-network.vue(1 hunks)packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts(1 hunks)packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts(4 hunks)packages/extension/src/providers/ethereum/networks/5ire.ts(1 hunks)packages/extension/src/providers/ethereum/networks/aa.ts(1 hunks)packages/extension/src/providers/ethereum/networks/aat.ts(1 hunks)packages/extension/src/providers/ethereum/networks/arb-nova.ts(1 hunks)packages/extension/src/providers/ethereum/networks/arb.ts(1 hunks)packages/extension/src/providers/ethereum/networks/astr.ts(1 hunks)packages/extension/src/providers/ethereum/networks/aurora.ts(1 hunks)packages/extension/src/providers/ethereum/networks/avax.ts(1 hunks)packages/extension/src/providers/ethereum/networks/base.ts(2 hunks)packages/extension/src/providers/ethereum/networks/bitrock.ts(1 hunks)packages/extension/src/providers/ethereum/networks/bsc.ts(1 hunks)packages/extension/src/providers/ethereum/networks/cagaAnkara.ts(1 hunks)packages/extension/src/providers/ethereum/networks/canto.ts(1 hunks)packages/extension/src/providers/ethereum/networks/celo.ts(1 hunks)packages/extension/src/providers/ethereum/networks/coti-devnet.ts(1 hunks)packages/extension/src/providers/ethereum/networks/coti.ts(1 hunks)packages/extension/src/providers/ethereum/networks/degen.ts(1 hunks)packages/extension/src/providers/ethereum/networks/dmt.ts(1 hunks)packages/extension/src/providers/ethereum/networks/edg.ts(1 hunks)packages/extension/src/providers/ethereum/networks/etc.ts(1 hunks)packages/extension/src/providers/ethereum/networks/eth.ts(1 hunks)packages/extension/src/providers/ethereum/networks/form-testnet.ts(1 hunks)packages/extension/src/providers/ethereum/networks/form.ts(1 hunks)packages/extension/src/providers/ethereum/networks/forma.ts(1 hunks)packages/extension/src/providers/ethereum/networks/fraxtal.ts(1 hunks)packages/extension/src/providers/ethereum/networks/ftm.ts(1 hunks)packages/extension/src/providers/ethereum/networks/glmr.ts(1 hunks)packages/extension/src/providers/ethereum/networks/gno.ts(1 hunks)packages/extension/src/providers/ethereum/networks/godwoken.ts(1 hunks)packages/extension/src/providers/ethereum/networks/ham.ts(1 hunks)packages/extension/src/providers/ethereum/networks/holesky.ts(1 hunks)packages/extension/src/providers/ethereum/networks/immutable-zkevm.ts(2 hunks)packages/extension/src/providers/ethereum/networks/karura.ts(1 hunks)packages/extension/src/providers/ethereum/networks/linea.ts(1 hunks)packages/extension/src/providers/ethereum/networks/manta-pacific.ts(1 hunks)packages/extension/src/providers/ethereum/networks/matic.ts(1 hunks)packages/extension/src/providers/ethereum/networks/maticzk.ts(1 hunks)packages/extension/src/providers/ethereum/networks/mode.ts(1 hunks)packages/extension/src/providers/ethereum/networks/movr.ts(1 hunks)packages/extension/src/providers/ethereum/networks/okc.ts(1 hunks)packages/extension/src/providers/ethereum/networks/ontevm.ts(1 hunks)packages/extension/src/providers/ethereum/networks/op-bnb.ts(1 hunks)packages/extension/src/providers/ethereum/networks/op.ts(1 hunks)packages/extension/src/providers/ethereum/networks/palm.ts(1 hunks)packages/extension/src/providers/ethereum/networks/pop-apex.ts(1 hunks)packages/extension/src/providers/ethereum/networks/puppy.ts(1 hunks)packages/extension/src/providers/ethereum/networks/rari.ts(1 hunks)packages/extension/src/providers/ethereum/networks/rsk-testnet.ts(1 hunks)packages/extension/src/providers/ethereum/networks/rsk.ts(2 hunks)packages/extension/src/providers/ethereum/networks/scroll.ts(1 hunks)packages/extension/src/providers/ethereum/networks/sdn.ts(1 hunks)packages/extension/src/providers/ethereum/networks/sepolia.ts(1 hunks)packages/extension/src/providers/ethereum/networks/shib.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/README.md(2 hunks)packages/extension/src/providers/ethereum/networks/skale/blockBrawlers.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/calypso.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/cryptoBlades.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/cryptoColosseum.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/europa.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/exorde.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/nebula.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/razor.ts(1 hunks)packages/extension/src/providers/ethereum/networks/skale/skale-base.ts(4 hunks)packages/extension/src/providers/ethereum/networks/skale/titan.ts(1 hunks)packages/extension/src/providers/ethereum/networks/syscoin/nevm-testnet.ts(1 hunks)packages/extension/src/providers/ethereum/networks/syscoin/nevm.ts(1 hunks)packages/extension/src/providers/ethereum/networks/syscoin/rollux-testnet.ts(1 hunks)packages/extension/src/providers/ethereum/networks/syscoin/rollux.ts(1 hunks)packages/extension/src/providers/ethereum/networks/tlos.ts(1 hunks)packages/extension/src/providers/ethereum/networks/vic.ts(1 hunks)packages/extension/src/providers/ethereum/networks/xlayer.ts(1 hunks)packages/extension/src/providers/ethereum/networks/zcd.ts(1 hunks)packages/extension/src/providers/ethereum/networks/zkgoerli.ts(1 hunks)packages/extension/src/providers/ethereum/networks/zksync.ts(1 hunks)packages/extension/src/providers/ethereum/types/custom-evm-network.ts(1 hunks)packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue(1 hunks)packages/extension/src/providers/ethereum/ui/send-transaction/components/send-token-select.vue(1 hunks)packages/extension/src/providers/ethereum/ui/send-transaction/index.vue(6 hunks)packages/extension/src/providers/ethereum/ui/send-transaction/verify-transaction/index.vue(1 hunks)packages/extension/src/providers/ethereum/ui/wallet-add-ethereum-network.vue(1 hunks)packages/extension/src/providers/kadena/networks/kadena-testnet.ts(1 hunks)packages/extension/src/providers/kadena/networks/kadena.ts(1 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/kadena/ui/send-transaction/index.vue(4 hunks)packages/extension/src/providers/kadena/ui/send-transaction/verify-transaction/index.vue(5 hunks)packages/extension/src/providers/polkadot/networks/acala/acala.ts(1 hunks)packages/extension/src/providers/polkadot/networks/acala/assets/acala-assets.ts(1 hunks)packages/extension/src/providers/polkadot/networks/acala/assets/karura-assets.ts(1 hunks)packages/extension/src/providers/polkadot/networks/acala/karura.ts(1 hunks)packages/extension/src/providers/polkadot/networks/assethub/assethub-dot.ts(1 hunks)packages/extension/src/providers/polkadot/networks/assethub/assethub-ksm.ts(1 hunks)packages/extension/src/providers/polkadot/networks/astar/assets/astar-assets.ts(1 hunks)packages/extension/src/providers/polkadot/networks/astar/astar.ts(1 hunks)packages/extension/src/providers/polkadot/networks/astar/shiden.ts(1 hunks)packages/extension/src/providers/polkadot/networks/bifrost/assets/bifrost-assets.ts(1 hunks)packages/extension/src/providers/polkadot/networks/bifrost/kusama.ts(1 hunks)packages/extension/src/providers/polkadot/networks/bifrost/polkadot.ts(1 hunks)packages/extension/src/providers/polkadot/networks/edgeware.ts(1 hunks)
✅ Files skipped from review due to trivial changes (92)
- packages/extension/src/providers/ethereum/networks/celo.ts
- packages/extension/src/providers/ethereum/networks/syscoin/rollux.ts
- packages/extension/src/providers/bitcoin/networks/bitcoin.ts
- packages/extension/src/providers/ethereum/networks/dmt.ts
- packages/extension/src/providers/ethereum/networks/fraxtal.ts
- packages/extension/src/providers/ethereum/networks/skale/exorde.ts
- packages/extension/src/providers/ethereum/networks/forma.ts
- packages/extension/src/providers/ethereum/networks/gno.ts
- packages/extension/src/providers/ethereum/networks/syscoin/nevm.ts
- packages/extension/src/providers/ethereum/networks/shib.ts
- packages/extension/src/providers/polkadot/networks/astar/astar.ts
- packages/extension/src/providers/polkadot/networks/edgeware.ts
- packages/extension/src/providers/polkadot/networks/assethub/assethub-dot.ts
- packages/extension/src/providers/ethereum/networks/mode.ts
- packages/extension/src/providers/ethereum/networks/cagaAnkara.ts
- packages/extension/src/providers/ethereum/networks/matic.ts
- packages/extension/src/providers/ethereum/networks/ham.ts
- packages/extension/src/providers/ethereum/networks/ontevm.ts
- packages/extension/src/providers/ethereum/networks/skale/titan.ts
- packages/extension/src/providers/ethereum/networks/vic.ts
- packages/extension/src/providers/bitcoin/networks/bitcoin-testnet.ts
- packages/extension/src/providers/ethereum/networks/sdn.ts
- packages/extension/src/providers/ethereum/networks/zcd.ts
- packages/extension/src/providers/ethereum/networks/form-testnet.ts
- packages/extension/src/providers/ethereum/networks/etc.ts
- packages/extension/src/providers/ethereum/networks/avax.ts
- packages/extension/src/providers/ethereum/networks/edg.ts
- packages/extension/src/providers/ethereum/networks/degen.ts
- packages/extension/src/providers/ethereum/networks/godwoken.ts
- packages/extension/src/providers/polkadot/networks/astar/shiden.ts
- packages/extension/src/providers/ethereum/networks/bitrock.ts
- packages/extension/src/providers/ethereum/networks/syscoin/nevm-testnet.ts
- packages/extension/src/providers/ethereum/networks/maticzk.ts
- packages/extension/src/providers/ethereum/networks/rari.ts
- packages/extension/src/providers/ethereum/networks/movr.ts
- packages/extension/src/providers/ethereum/networks/skale/calypso.ts
- packages/extension/src/providers/bitcoin/networks/dogecoin.ts
- packages/extension/src/providers/ethereum/networks/sepolia.ts
- packages/extension/src/providers/ethereum/networks/linea.ts
- packages/extension/src/providers/ethereum/networks/okc.ts
- packages/extension/src/providers/ethereum/networks/skale/europa.ts
- packages/extension/src/providers/ethereum/networks/tlos.ts
- packages/extension/src/providers/ethereum/networks/rsk-testnet.ts
- packages/extension/src/providers/polkadot/networks/bifrost/polkadot.ts
- packages/extension/src/providers/ethereum/networks/glmr.ts
- packages/extension/src/providers/kadena/networks/kadena.ts
- packages/extension/src/providers/ethereum/ui/send-transaction/components/send-token-select.vue
- packages/extension/src/providers/polkadot/networks/bifrost/kusama.ts
- packages/extension/src/providers/kadena/networks/kadena-testnet.ts
- packages/extension/src/providers/ethereum/networks/zksync.ts
- packages/extension/src/providers/ethereum/networks/xlayer.ts
- packages/extension/src/providers/ethereum/networks/aat.ts
- packages/extension/src/providers/ethereum/networks/coti-devnet.ts
- packages/extension/src/providers/ethereum/networks/astr.ts
- packages/extension/src/providers/ethereum/networks/5ire.ts
- packages/extension/src/providers/ethereum/networks/karura.ts
- packages/extension/src/providers/ethereum/networks/zkgoerli.ts
- packages/extension/src/providers/ethereum/networks/ftm.ts
- packages/extension/src/providers/ethereum/networks/pop-apex.ts
- packages/extension/src/providers/ethereum/networks/canto.ts
- packages/extension/src/providers/ethereum/networks/skale/blockBrawlers.ts
- packages/extension/src/providers/ethereum/networks/holesky.ts
- packages/extension/src/providers/ethereum/networks/palm.ts
- packages/extension/src/providers/polkadot/networks/acala/karura.ts
- packages/extension/src/providers/ethereum/ui/wallet-add-ethereum-network.vue
- packages/extension/src/providers/ethereum/networks/puppy.ts
- packages/extension/src/providers/ethereum/networks/skale/cryptoBlades.ts
- packages/extension/src/providers/ethereum/networks/op-bnb.ts
- packages/extension/src/providers/polkadot/networks/astar/assets/astar-assets.ts
- packages/extension/src/providers/ethereum/networks/arb-nova.ts
- packages/extension/src/providers/ethereum/networks/scroll.ts
- packages/extension/src/providers/ethereum/networks/eth.ts
- packages/extension/src/providers/ethereum/networks/skale/cryptoColosseum.ts
- packages/extension/src/providers/ethereum/networks/skale/razor.ts
- packages/extension/src/providers/polkadot/networks/bifrost/assets/bifrost-assets.ts
- packages/extension/src/providers/ethereum/networks/aurora.ts
- packages/extension/src/providers/bitcoin/networks/litecoin.ts
- packages/extension/src/providers/ethereum/networks/skale/nebula.ts
- packages/extension/src/providers/ethereum/networks/arb.ts
- packages/extension/src/providers/ethereum/networks/syscoin/rollux-testnet.ts
- packages/extension/src/providers/ethereum/networks/op.ts
- packages/extension/src/providers/ethereum/networks/aa.ts
- packages/extension/src/providers/ethereum/networks/bsc.ts
- packages/extension/src/providers/polkadot/networks/assethub/assethub-ksm.ts
- packages/extension/src/providers/polkadot/networks/acala/assets/karura-assets.ts
- packages/extension/src/providers/polkadot/networks/acala/assets/acala-assets.ts
- packages/extension/src/providers/polkadot/networks/acala/acala.ts
- packages/extension/src/providers/ethereum/networks/skale/README.md
- packages/extension/src/providers/ethereum/networks/skale/skale-base.ts
- packages/extension/src/providers/ethereum/networks/form.ts
- packages/extension/src/providers/ethereum/types/custom-evm-network.ts
- packages/extension/src/providers/ethereum/networks/manta-pacific.ts
🚧 Files skipped from review as they are similar to previous changes (12)
- packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts
- packages/extension/src/providers/common/ui/send-transaction/send-input-amount.vue
- packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-display.vue
- packages/extension/src/providers/kadena/ui/send-transaction/index.vue
- packages/extension/src/providers/ethereum/networks/rsk.ts
- packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue
- packages/extension/src/providers/ethereum/networks/immutable-zkevm.ts
- packages/extension/src/providers/ethereum/ui/send-transaction/index.vue
- packages/extension/src/providers/common/ui/send-transaction/send-fee-select.vue
- packages/extension/src/providers/ethereum/networks/coti.ts
- packages/extension/src/providers/ethereum/networks/base.ts
- packages/extension/src/providers/kadena/ui/send-transaction/components/send-fee-select.vue
🧰 Additional context used
🧬 Code Graph Analysis (2)
packages/extension/src/libs/menu-state/index.ts (1)
packages/extension/src/libs/menu-state/types.ts (1)
IState(5-7)
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (2)
packages/swap/src/configs.ts (1)
NATIVE_TOKEN_ADDRESS(123-123)packages/extension/src/libs/market-data/types.ts (1)
CoinGeckoTokenMarket(23-37)
🪛 Biome (1.9.4)
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts
[error] 283-283: Avoid the use of spread (...) syntax on accumulators.
Spread syntax should be avoided on accumulators (like those in .reduce) because it causes a time complexity of O(n^2).
Consider methods such as .splice or .push instead.
(lint/performance/noAccumulatingSpread)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: buildAll
🔇 Additional comments (32)
packages/extension/src/providers/common/ui/verify-transaction/verify-transaction-network.vue (1)
40-45: Good CSS enhancement for network iconsAdding
object-fit: containis a great improvement as it ensures network icons maintain their aspect ratio while fitting within the specified dimensions. This prevents distortion of network logos that may have different original aspect ratios, creating a more polished UI experience.packages/extension/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue (2)
4-9: Input element updated to support two-way data bindingThe input field has been modified to use Vue's
v-modeldirective, which creates a two-way binding between the input value and the newmodelvariable. This enables the component to expose its state to parent components via v-model.
16-16: Implemented defineModel for modern two-way binding supportThe use of
defineModel<string>()is a clean implementation of Vue 3.4's new feature for simplifying components that supportv-model. This replaces the older pattern of manually defining props and emitting events for two-way binding.packages/extension/src/providers/common/ui/send-transaction/nft-select-list/index.vue (6)
2-7: Improved UI by migrating to app-dialog componentThe implementation has been restructured to use the
app-dialogcomponent withv-modelbinding for better modal management. This provides a more consistent UI pattern across the application and simplifies dialog visibility control.
8-8: Added search functionality with two-way bindingThe search component now uses
v-modelto bind to the newsearchNFTref, which enables dynamic filtering of the NFT list. This leverages the updatednft-select-list-searchcomponent's two-way binding capabilities.
40-40: Added missing AppDialog importThe new import statement correctly adds the dialog component required for the template changes.
42-42: Implemented defineModel for dialog visibilityUsing
defineModel<boolean>()for the dialog's visibility state allows parent components to control the dialog with a simplev-modelbinding, following Vue 3.4's best practices for component design.
62-63: Added reactive reference for search functionalityThe new
searchNFTref creates a reactive state for the search input, which will trigger reactivity when the user types in the search field.
72-81: Implemented search filtering logicThe computed property now includes filtering logic based on the search term, checking both NFT names and collection names. The case-insensitive comparison with
toLowerCase()ensures a user-friendly search experience.packages/extension/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue (1)
62-72: Improved component communication with v-model directive.The addition of
v-model="isProcessing"to the send-process component enhances the communication between parent and child components by enabling two-way data binding for the processing state.This change allows the send-process component to directly update the
isProcessingstate from within its implementation, which streamlines the component interaction pattern and reduces the need for explicit event handling.packages/extension/src/providers/ethereum/ui/send-transaction/verify-transaction/index.vue (1)
68-78: Improved component communication with v-model directive.Adding
v-model="isProcessing"to the send-process component enables two-way data binding for the processing state, which is consistent with similar changes made in the Bitcoin provider implementation.This standardization of component communication patterns across different blockchain providers will make the codebase more maintainable and easier to understand.
packages/extension/src/providers/ethereum/ui/eth-verify-transaction.vue (1)
103-110: Standardized component props and communication pattern.The changes to the transaction-fee-view component:
- Added
v-model="isOpenSelectFee"for two-way binding of the fee selection state- Simplified
:is-popup="true"tois-popup(equivalent shorthand in Vue)These changes align with the standardization of data binding practices across the application and simplify the component API. The two-way binding eliminates the need for explicit event handlers like
@close-popupthat were previously required.packages/extension/src/libs/menu-state/types.ts (2)
1-3: Nice implementation of StorageKeys enum.The StorageKeys enum provides a clear central location for defining storage key constants, making the code more maintainable and less prone to string typos when accessing storage.
5-7: Good interface design for menu state.The IState interface is simple and focused with a clear purpose. The boolean isExpanded property adequately represents the expanded/collapsed state of a menu component.
packages/extension/src/libs/menu-state/index.ts (6)
1-3: Proper imports and type usage.The imports are appropriate and the code correctly imports the types from the types.ts file.
5-10: Good class structure with proper initialization.The MenuState class is well-organized with appropriate encapsulation using a private storage property and clear initialization in the constructor.
12-14: Method implementation looks good.The setState method correctly persists the state object to storage.
27-30: Proper default handling for getIsExpanded.The method correctly handles default cases using nullish coalescing, ensuring a boolean is always returned.
31-35: Good implementation of setIsExpanded.The method properly uses state immutability by creating a new state object with the spread operator.
39-40: Appropriate default export.Exporting the MenuState class as the default export makes importing and using this module clean and straightforward.
packages/extension/src/providers/kadena/ui/send-transaction/verify-transaction/index.vue (7)
67-67: Good enhancement with v-model binding for isProcessingAdding v-model on the isProcessing prop enables two-way data binding, allowing the send-process component to update the processing state from within. This improves component communication and state management.
105-106: Good addition of event tracking importsAdding metrics tracking capabilities is valuable for monitoring user interactions and diagnosing issues in production. These imports support the new event tracking functionality throughout the component.
140-140: Nice implementation of event tracking at verification startTracking the SendVerify event when the component mounts provides visibility into how often users reach the verification screen and which networks they're using.
152-154: Good event tracking for transaction approvalTracking when users approve transactions provides important metrics on user behavior and conversion rates through the transaction flow.
165-167: Good event tracking for successful transactionsTracking successful transactions provides important visibility into completed operations and helps measure the effectiveness of the transaction flow.
213-217: Great error tracking implementationAdding transaction failure tracking with the specific error message and network information will be extremely valuable for diagnosing issues in production. The additional console error logging also helps with debugging.
164-164:Details
✅ Verification successful
Verify removal of chainId parameter
The chainId parameter has been removed from the sendTransaction call. Ensure this doesn't break functionality.
🏁 Script executed:
#!/bin/bash # Search for sendTransaction method definition to verify if chainId is required rg -A 5 -B 5 "sendTransaction.*\(" --glob="**/kadena/**"Length of output: 2453
Verified: Removal of chainId parameter is safe
- The call at
packages/extension/src/providers/kadena/ui/send-transaction/verify-transaction/index.vuenow passes only the transaction object.- In
packages/extension/libs/api.ts, thesendTransactionmethod computes thechainIdinternally viathis.getChainId()and creates the client accordingly.The change does not break functionality.
packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts (4)
124-127: Network addition looks goodThe addition of Base network follows the established pattern with appropriate
tbNameandcgPlatformproperties.
184-187: Network addition looks goodThe addition of ImmutableZkevm network follows the established pattern with appropriate
tbNameandcgPlatformproperties.
196-219: Multiple network additions look goodThe additions of Gravity, Abstract, Story, Ink, Bera, and Unichain networks follow the established pattern with appropriate properties.
Note: For Bera network, there's a slight naming difference (
NetworkNames.BeravsCoingeckoPlatform.Berachain), but this appears intentional and shouldn't cause issues.
72-75: Removal of tbName property for RootstockThe
tbNameproperty has been removed from the Rootstock network configuration. This appears to be intentional since networks withbsEndpoint: trueusegetBlockscoutBalances()(as seen in line 232), which doesn't require thetbNameproperty.packages/extension/src/providers/bitcoin/ui/send-transaction/index.vue (1)
82-88:Details
❓ Verification inconclusive
Transaction fee view component refactoring
The component interaction has been simplified by replacing the separate
:show-feesprop and@close-popupevent handler with a singlev-model="isOpenSelectFee"directive. This is a cleaner approach that follows Vue's recommended patterns for two-way data binding.This change should work correctly as long as the
transaction-fee-viewcomponent is properly set up to handle v-model binding by emitting the 'update:modelValue' event.
🏁 Script executed:
#!/bin/bash # Check if the transaction-fee-view component correctly implements v-model grep -A 20 "emits\|defineEmits" packages/extension/src/action/views/transaction-fee/index.vue # Also check if it properly handles model value updates grep -A 5 "modelValue\|v-model" packages/extension/src/action/views/transaction-fee/index.vueLength of output: 381
Action Required: Confirm the
transaction-fee-viewComponent Location and v‑model ImplementationIt appears that the file path provided in the original verification attempt (
packages/extension/src/action/views/transaction-fee/index.vue) could not be located. Please verify that thetransaction-fee-viewcomponent’s implementation:
- Exists in the codebase under the expected or an updated location (for example, it might now reside in a
componentsdirectory).- Properly implements Vue’s two‑way binding by correctly emitting the
update:modelValueevent to support thev‑modeldirective.The refactoring to use a single
v‑model="isOpenSelectFee"remains a cleaner approach as long as the component is set up accordingly. Kindly verify the correct file path and component implementation.
Summary by CodeRabbit
New Features
UI Improvements
Documentation
Dependency Updates