From 0bdcceb35b0534818142c6d8c0fc578e68c8771c Mon Sep 17 00:00:00 2001 From: candy Date: Fri, 9 May 2025 10:08:51 +0800 Subject: [PATCH 1/4] feat: add_all_tlds_and paymentid --- packages/extension/package.json | 2 + .../extension/src/libs/name-resolver/index.ts | 2 +- .../ethereum/ui/send-transaction/index.vue | 6 +- .../kadena/ui/send-transaction/index.vue | 6 +- .../polkadot/ui/send-transaction/index.vue | 6 +- .../solana/ui/send-transaction/index.vue | 6 +- .../src/ui/action/views/swap/index.vue | 6 +- packages/name-resolution/package.json | 2 + packages/name-resolution/src/index.ts | 5 +- packages/name-resolution/src/sid/index.ts | 138 ++++-- packages/name-resolution/src/sid/types.ts | 32 ++ packages/name-resolution/src/sid/utils.ts | 3 + packages/name-resolution/src/types.ts | 7 +- packages/name-resolution/tsconfig.json | 9 +- yarn.lock | 415 ++++++++++++++++-- 15 files changed, 538 insertions(+), 107 deletions(-) create mode 100644 packages/name-resolution/src/sid/utils.ts diff --git a/packages/extension/package.json b/packages/extension/package.json index a2a952328..1efb82787 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "@amplitude/analytics-browser": "^2.14.0", + "@bonfida/spl-name-service": "^3.0.10", "@enkryptcom/extension-bridge": "workspace:^", "@enkryptcom/hw-wallets": "workspace:^", "@enkryptcom/keyring": "workspace:^", @@ -78,6 +79,7 @@ "switch-ts": "^1.1.1", "url-parse": "^1.5.10", "uuid": "^11.1.0", + "viem": "^2.23.12", "vue": "^3.5.13", "vue-echarts": "7.0.3", "vue-router": "^4.5.0", diff --git a/packages/extension/src/libs/name-resolver/index.ts b/packages/extension/src/libs/name-resolver/index.ts index b19d9684a..b279c412d 100644 --- a/packages/extension/src/libs/name-resolver/index.ts +++ b/packages/extension/src/libs/name-resolver/index.ts @@ -14,7 +14,7 @@ class GenericNameResolver { }); } - async resolveName(name: string, coins: CoinType[]): Promise { + async resolveName(name: string, coins: CoinType[], providerChain?: string): Promise { let response: string | null = null; for (const coin of coins) { response = await this.nameResolver diff --git a/packages/extension/src/providers/ethereum/ui/send-transaction/index.vue b/packages/extension/src/providers/ethereum/ui/send-transaction/index.vue index 1509894d8..b89963f5d 100644 --- a/packages/extension/src/providers/ethereum/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/ethereum/ui/send-transaction/index.vue @@ -668,7 +668,11 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = async (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName(text, [props.network.name as CoinType, 'ETH']) + .resolveName( + text, + [props.network.name as CoinType, 'ETH'], + props.network?.provider as string, + ) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/extension/src/providers/kadena/ui/send-transaction/index.vue b/packages/extension/src/providers/kadena/ui/send-transaction/index.vue index 90a5c1aee..f17bb2d1e 100644 --- a/packages/extension/src/providers/kadena/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/kadena/ui/send-transaction/index.vue @@ -399,7 +399,11 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName(text, [props.network.name as CoinType]) + .resolveName( + text, + [props.network.name as CoinType], + props.network?.provider as string, + ) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue b/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue index 2b1ec61fc..98370f254 100644 --- a/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue @@ -378,7 +378,11 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName(text, [props.network.name as CoinType, 'DOT', 'KSM']) + .resolveName( + text, + [props.network.name as CoinType, 'DOT', 'KSM'], + props.network?.provider as string, + ) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/extension/src/providers/solana/ui/send-transaction/index.vue b/packages/extension/src/providers/solana/ui/send-transaction/index.vue index a947cbc51..665ec427f 100644 --- a/packages/extension/src/providers/solana/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/solana/ui/send-transaction/index.vue @@ -694,7 +694,11 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = async (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName(text, [props.network.name as CoinType, 'ETH']) + .resolveName( + text, + [props.network.name as CoinType, 'ETH'], + props.network?.provider as string, + ) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/extension/src/ui/action/views/swap/index.vue b/packages/extension/src/ui/action/views/swap/index.vue index ad00e35f3..eb1e37516 100644 --- a/packages/extension/src/ui/action/views/swap/index.vue +++ b/packages/extension/src/ui/action/views/swap/index.vue @@ -404,7 +404,11 @@ const setMax = () => { const inputAddress = (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName(text, [props.network.name as CoinType, 'ETH']) + .resolveName( + text, + [props.network.name as CoinType, 'ETH'], + props.network?.provider as string, + ) .then(resolved => { if (resolved) { inputAddress(resolved); diff --git a/packages/name-resolution/package.json b/packages/name-resolution/package.json index c60e7df5a..be0be4726 100644 --- a/packages/name-resolution/package.json +++ b/packages/name-resolution/package.json @@ -49,7 +49,9 @@ "dependencies": { "@ensdomains/address-encoder": "^1.1.2", "@siddomains/sidjs": "0.1.29", + "@solana/web3.js": "^1.98.0", "@unstoppabledomains/resolution": "^9.3.3", + "@web3-name-sdk/core": "^0.4.1", "ethers": "^5.8.0" } } diff --git a/packages/name-resolution/src/index.ts b/packages/name-resolution/src/index.ts index 7c641bec3..dfb1de661 100644 --- a/packages/name-resolution/src/index.ts +++ b/packages/name-resolution/src/index.ts @@ -47,10 +47,11 @@ class NameResolver { public async resolveAddress( name: string, - coin: CoinType = "ETH" + coin: CoinType = "ETH", + paymentIdChain?: string ): Promise { return this.initDone.then(() => { - if (this.sid.isSupportedName(name)) return this.sid.resolveAddress(name); + if (this.sid.isSupportedName(name)) return this.sid.resolveAddress(name, coin, paymentIdChain); if (this.rns.isSupportedName(name)) return this.rns.resolveAddress(name, coin); if (this.ud.isSupportedName(name)) diff --git a/packages/name-resolution/src/sid/index.ts b/packages/name-resolution/src/sid/index.ts index ca465372e..8c4fd5fba 100644 --- a/packages/name-resolution/src/sid/index.ts +++ b/packages/name-resolution/src/sid/index.ts @@ -1,72 +1,114 @@ -import { ethers } from "ethers"; -import SID, { getSidAddress } from "@siddomains/sidjs"; -import { BaseResolver } from "../types"; +import { createWeb3Name } from "@web3-name-sdk/core"; +import { BaseResolver, CoinType } from "../types"; +import { PAYMENT_ID_CHAINS_MAP, PaymentIdChain, SIDOptions, TIMEOUT_PRESETS } from "./types"; +import { createSolName } from "@web3-name-sdk/core/solName"; +import { createPaymentIdName } from "@web3-name-sdk/core/paymentIdName"; +import { isValidPaymentId } from "./utils"; import { getTLD } from "../utils"; -import { SIDOptions } from "./types"; +// demo: https://sdk-demo-git-main-space-id.vercel.app/ +const evm_tlds = [ + "bnb", + "arb", + "wod", + "mph", + "g", + "eth", + "btc", + "burger", + "alien", + "zkf", + "merlin", + "taiko", + "tomo", + "gno", + "floki", + "ll", + "ip", + "mode", + "mint", + "manta", + "cake", + "zeta", + "ail", + "duck", +]; class SIDResolver implements BaseResolver { name: string; - - supportedTLDs = ["bnb", "arb"]; - + timeout: number; + // The supported tlds for sid in evm and solana + supportedTLDs = ["sol", ...evm_tlds]; rpc: SIDOptions; + solanaNameResolver: ReturnType; + paymentIdNameResolver: ReturnType; + web3NameResolver: ReturnType; constructor(options: SIDOptions) { this.rpc = options; + this.timeout = options.timeout || TIMEOUT_PRESETS.normal; this.name = "spaceid"; + this.solanaNameResolver = createSolName({ timeout: this.timeout }); + this.paymentIdNameResolver = createPaymentIdName(); + this.web3NameResolver = createWeb3Name(); } - // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-empty-function public async init(): Promise {} - public async resolveReverseName(address: string): Promise { - const bnbProvider = new ethers.providers.JsonRpcProvider({ - url: this.rpc.node.bnb, - headers: { - "user-agent": "enkrypt/name-resolver", - }, - }); - const sidBNB = new SID({ - provider: bnbProvider, - sidAddress: getSidAddress("56"), + // The PaymentId only supports getAddress resolution. + public async handlePaymentIdGetAddress( + name: string, + paymentIdChain?: string + ): Promise { + return await this.paymentIdNameResolver.getAddress({ + name, + chainId: PAYMENT_ID_CHAINS_MAP[paymentIdChain?.toLowerCase()] || PaymentIdChain.Ethereum, }); - const nameBnb = await sidBNB.getName(address); - if (nameBnb) return nameBnb.name; - const arbProvider = new ethers.providers.JsonRpcProvider({ - url: this.rpc.node.arb, - headers: { - "user-agent": "enkrypt/name-resolver", - }, - }); - const sidArb = new SID({ - provider: arbProvider, - sidAddress: getSidAddress("42161"), - }); - const nameArb = await sidArb.getName(address); - if (nameArb) return nameArb.name; - return null; } - public async resolveAddress(name: string): Promise { - const provider = new ethers.providers.JsonRpcProvider({ - url: this.rpc.node[getTLD(name)], - headers: { - "user-agent": "enkrypt/name-resolver", - }, - }); - const sid = new SID({ - provider, - sidAddress: getSidAddress(getTLD(name) === "bnb" ? "56" : "42161"), - }); - const address = await sid.name(name).getAddress(); - if (parseInt(address, 16) === 0) { + public async resolveReverseName(address: string): Promise { + try { + let name = await this.web3NameResolver.getDomainName({ + timeout: this.timeout, + address, + }); + if (!name) { + name = await this.solanaNameResolver.getDomainName({ + address, + }); + } + return name; + } catch (error) { return null; } - return address; } + public async resolveAddress( + name: string, + coint: CoinType, + paymentIdChain?: string, + ): Promise { + if (isValidPaymentId(name)) { + console.log("PaymentId name", name, coint); + return this.handlePaymentIdGetAddress(name, paymentIdChain); + } + + const tld = getTLD(name); + switch (tld) { + case "sol": + const solAddress = await this.solanaNameResolver.getAddress({ + name, + }); + return solAddress; + default: + const address = await this.web3NameResolver.getAddress(name, { + timeout: this.timeout, + }); + return parseInt(address, 16) === 0 ? null : address; + } + } public isSupportedName(name: string): boolean { - return this.supportedTLDs.includes(getTLD(name)); + // Compatible with TLD and paymentId + return this.supportedTLDs.includes(getTLD(name)) || isValidPaymentId(name); } } diff --git a/packages/name-resolution/src/sid/types.ts b/packages/name-resolution/src/sid/types.ts index f0c52fef0..e2771c058 100644 --- a/packages/name-resolution/src/sid/types.ts +++ b/packages/name-resolution/src/sid/types.ts @@ -3,4 +3,36 @@ export interface SIDOptions { bnb: string; arb: string; }; + timeout?: number } + +export type Protocol = "EVM" | "Solana" | "PaymentID"; +export enum PaymentIdChain { + Bitcoin = 0, + Ethereum = 1, + Solana = 2, + Tron = 3, + Aptos = 4, + Sui = 5, +} +export const PAYMENT_ID_CHAINS_MAP = { + "bitcoin": 0, + "ethereum": 1, + "solana": 2, + "tron": 3, + "aptos": 4, + "sui": 5, +}; +export type Method = + | "getAddress" + | "getDomainName" + | "batchGetDomainNameByChainId" + | "getMetadata" + | "getContentHash"; + + +export const TIMEOUT_PRESETS = { + veryShort: 100, // Intentionally short to test timeout + normal: 5000, // Normal timeout (5s) + long: 15000, // Long timeout (15s) +}; \ No newline at end of file diff --git a/packages/name-resolution/src/sid/utils.ts b/packages/name-resolution/src/sid/utils.ts new file mode 100644 index 000000000..db6a9e3dd --- /dev/null +++ b/packages/name-resolution/src/sid/utils.ts @@ -0,0 +1,3 @@ +const paymentIdRegex = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+$/ +export const isValidPaymentId = (id: string) => paymentIdRegex.test(id) + diff --git a/packages/name-resolution/src/types.ts b/packages/name-resolution/src/types.ts index 242f5320d..b2aa884ba 100644 --- a/packages/name-resolution/src/types.ts +++ b/packages/name-resolution/src/types.ts @@ -1,5 +1,5 @@ import { ENSOptions } from "./ens/types"; -import { SIDOptions } from "./sid/types"; +import { PaymentIdChain, SIDOptions } from "./sid/types"; export type CoinType = | "BTC" @@ -146,12 +146,13 @@ export abstract class BaseResolver { public abstract resolveAddress( name: string, - coint: CoinType + coint: CoinType, + paymentIdChain?: string ): Promise; public abstract resolveReverseName(address: string): Promise; - public abstract isSupportedName(name: string): boolean; + public abstract isSupportedName(name: string, paymentIdChain?:PaymentIdChain): boolean; } export interface NameResolverOptions { diff --git a/packages/name-resolution/tsconfig.json b/packages/name-resolution/tsconfig.json index 6da8e1f23..d77afeb0b 100644 --- a/packages/name-resolution/tsconfig.json +++ b/packages/name-resolution/tsconfig.json @@ -2,17 +2,20 @@ "extends": "./tsconfig.paths.json", "compilerOptions": { "lib": ["ESNext", "dom"], - "moduleResolution": "node", + "moduleResolution": "bundler", "noUnusedLocals": true, "noUnusedParameters": true, "removeComments": true, "sourceMap": true, "target": "es5", - "module": "commonjs", + "module": "es2020", "outDir": "dist", "resolveJsonModule": true, "esModuleInterop": true, - "declaration": true + "declaration": true, + "paths": { + "@web3-name-sdk/core/*": ["node_modules/@web3-name-sdk/core/dist/*"] + }, }, "include": ["src/**/*.ts", "tests/**/*.ts"], "exclude": [ diff --git a/yarn.lock b/yarn.lock index aec5ea9de..0393ce210 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,6 +23,13 @@ __metadata: languageName: node linkType: hard +"@adraffy/ens-normalize@npm:^1.10.0, @adraffy/ens-normalize@npm:^1.10.1": + version: 1.11.0 + resolution: "@adraffy/ens-normalize@npm:1.11.0" + checksum: 10/abef75f21470ea43dd6071168e092d2d13e38067e349e76186c78838ae174a46c3e18ca50921d05bea6ec3203074147c9e271f8cb6531d1c2c0e146f3199ddcb + languageName: node + linkType: hard + "@amplitude/analytics-browser@npm:^2.14.0": version: 2.14.0 resolution: "@amplitude/analytics-browser@npm:2.14.0" @@ -495,6 +502,38 @@ __metadata: languageName: node linkType: hard +"@bonfida/sns-records@npm:0.0.1": + version: 0.0.1 + resolution: "@bonfida/sns-records@npm:0.0.1" + dependencies: + borsh: "npm:1.0.0" + bs58: "npm:5.0.0" + buffer: "npm:^6.0.3" + peerDependencies: + "@solana/web3.js": ^1.87.3 + checksum: 10/e47294cdd73961288eb9ad41f5f80eb67953fcac5e0e9f29c39990795411f30606e3eba359fbd8e3e8b23ff64f797ce2ad33c8298fe6a2c9634902397b3a3098 + languageName: node + linkType: hard + +"@bonfida/spl-name-service@npm:^3.0.10": + version: 3.0.10 + resolution: "@bonfida/spl-name-service@npm:3.0.10" + dependencies: + "@bonfida/sns-records": "npm:0.0.1" + "@noble/curves": "npm:^1.4.0" + "@scure/base": "npm:^1.1.6" + "@solana/spl-token": "npm:0.4.6" + borsh: "npm:2.0.0" + buffer: "npm:^6.0.3" + graphemesplit: "npm:^2.4.4" + ipaddr.js: "npm:^2.2.0" + punycode: "npm:^2.3.1" + peerDependencies: + "@solana/web3.js": ^1.87.3 + checksum: 10/46b246cb5ac3154ddee69ed739bfb8893045d56759319c75beca61022575ffc048720334cb49abc2903eeee3ccdf815292186f8c0599e65ff2d11cb8db66739f + languageName: node + linkType: hard + "@bundled-es-modules/cookie@npm:^2.0.0": version: 2.0.0 resolution: "@bundled-es-modules/cookie@npm:2.0.0" @@ -1530,6 +1569,7 @@ __metadata: resolution: "@enkryptcom/extension@workspace:packages/extension" dependencies: "@amplitude/analytics-browser": "npm:^2.14.0" + "@bonfida/spl-name-service": "npm:^3.0.10" "@crxjs/vite-plugin": "npm:^2.0.0-beta.32" "@enkryptcom/extension-bridge": "workspace:^" "@enkryptcom/hw-wallets": "workspace:^" @@ -1628,6 +1668,7 @@ __metadata: url: "npm:^0.11.4" url-parse: "npm:^1.5.10" uuid: "npm:^11.1.0" + viem: "npm:^2.23.12" vite: "npm:^6.3.1" vite-plugin-node-polyfills: "npm:0.23.0" vite-tsconfig-paths: "npm:^5.1.4" @@ -1729,10 +1770,12 @@ __metadata: dependencies: "@ensdomains/address-encoder": "npm:^1.1.2" "@siddomains/sidjs": "npm:0.1.29" + "@solana/web3.js": "npm:^1.98.0" "@types/node": "npm:^22.14.1" "@typescript-eslint/eslint-plugin": "npm:^8.30.1" "@typescript-eslint/parser": "npm:^8.30.1" "@unstoppabledomains/resolution": "npm:^9.3.3" + "@web3-name-sdk/core": "npm:^0.4.1" eslint: "npm:^9.24.0" eslint-config-airbnb-base: "npm:^15.0.0" eslint-config-prettier: "npm:^10.1.2" @@ -1746,6 +1789,7 @@ __metadata: tsup: "npm:^8.4.0" typescript: "npm:^5.8.3" typescript-eslint: "npm:8.30.1" + viem: "npm:^2.23.12" vitest: "npm:^3.1.1" languageName: unknown linkType: soft @@ -6418,6 +6462,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:1.8.2, @noble/curves@npm:~1.8.1": + version: 1.8.2 + resolution: "@noble/curves@npm:1.8.2" + dependencies: + "@noble/hashes": "npm:1.7.2" + checksum: 10/540e7b7a8fe92ecd5cef846f84d07180662eb7fd7d8e9172b8960c31827e74f148fe4630da962138a6be093ae9f8992d14ab23d3682a2cc32be839aa57c03a46 + languageName: node + linkType: hard + "@noble/curves@npm:^1.0.0, @noble/curves@npm:^1.1.0, @noble/curves@npm:^1.2.0, @noble/curves@npm:^1.3.0, @noble/curves@npm:^1.4.0, @noble/curves@npm:^1.4.2, @noble/curves@npm:~1.6.0": version: 1.6.0 resolution: "@noble/curves@npm:1.6.0" @@ -6427,12 +6480,12 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:~1.8.1": - version: 1.8.2 - resolution: "@noble/curves@npm:1.8.2" +"@noble/curves@npm:^1.6.0, @noble/curves@npm:~1.9.0": + version: 1.9.0 + resolution: "@noble/curves@npm:1.9.0" dependencies: - "@noble/hashes": "npm:1.7.2" - checksum: 10/540e7b7a8fe92ecd5cef846f84d07180662eb7fd7d8e9172b8960c31827e74f148fe4630da962138a6be093ae9f8992d14ab23d3682a2cc32be839aa57c03a46 + "@noble/hashes": "npm:1.8.0" + checksum: 10/f2c5946310722fee23e04ed747f21ce72e0436e38e1fa620d226a8c613262e7d0dbab5341f14caf92936089d01d9e9231964c409cd1ac2a73a075f3cdb1acc41 languageName: node linkType: hard @@ -6513,6 +6566,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.5.0, @noble/hashes@npm:~1.8.0": + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e + languageName: node + linkType: hard + "@noble/hashes@npm:^1.6.1, @noble/hashes@npm:~1.7.1": version: 1.7.1 resolution: "@noble/hashes@npm:1.7.1" @@ -8374,6 +8434,13 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:^1.1.6, @scure/base@npm:~1.2.5": + version: 1.2.5 + resolution: "@scure/base@npm:1.2.5" + checksum: 10/9a963a27424a373b62760c9ae7099ae496be67eb5b31205639f529f0dbcb2228a827222a36d22842cc2acda78e300a3430d46d84de5d8d4b791208955360853e + languageName: node + linkType: hard + "@scure/base@npm:~1.2.2, @scure/base@npm:~1.2.4": version: 1.2.4 resolution: "@scure/base@npm:1.2.4" @@ -8403,6 +8470,17 @@ __metadata: languageName: node linkType: hard +"@scure/bip32@npm:1.6.2, @scure/bip32@npm:^1.3.1": + version: 1.6.2 + resolution: "@scure/bip32@npm:1.6.2" + dependencies: + "@noble/curves": "npm:~1.8.1" + "@noble/hashes": "npm:~1.7.1" + "@scure/base": "npm:~1.2.2" + checksum: 10/474ee315a8631aa1a7d378b0521b4494e09a231519ec53d879088cb88c8ff644a89b27a02a8bf0b5a9b1c4c0417acc70636ccdb121b800c34594ae53c723f8d7 + languageName: node + linkType: hard + "@scure/bip32@npm:^1.1.5, @scure/bip32@npm:^1.4.0": version: 1.5.0 resolution: "@scure/bip32@npm:1.5.0" @@ -8414,14 +8492,14 @@ __metadata: languageName: node linkType: hard -"@scure/bip32@npm:^1.3.1": - version: 1.6.2 - resolution: "@scure/bip32@npm:1.6.2" +"@scure/bip32@npm:^1.5.0": + version: 1.7.0 + resolution: "@scure/bip32@npm:1.7.0" dependencies: - "@noble/curves": "npm:~1.8.1" - "@noble/hashes": "npm:~1.7.1" - "@scure/base": "npm:~1.2.2" - checksum: 10/474ee315a8631aa1a7d378b0521b4494e09a231519ec53d879088cb88c8ff644a89b27a02a8bf0b5a9b1c4c0417acc70636ccdb121b800c34594ae53c723f8d7 + "@noble/curves": "npm:~1.9.0" + "@noble/hashes": "npm:~1.8.0" + "@scure/base": "npm:~1.2.5" + checksum: 10/f90e0c23ab6a31a164856ae9cb9a8cae2886df608c74a6c0c4875095b017e30ffd92f28f73b8c52890d9a89fca86d19f6d60bb1ea7cad64c7987f92ae83509ad languageName: node linkType: hard @@ -8445,6 +8523,16 @@ __metadata: languageName: node linkType: hard +"@scure/bip39@npm:1.5.4, @scure/bip39@npm:^1.2.1, @scure/bip39@npm:^1.5.1": + version: 1.5.4 + resolution: "@scure/bip39@npm:1.5.4" + dependencies: + "@noble/hashes": "npm:~1.7.1" + "@scure/base": "npm:~1.2.4" + checksum: 10/9f08b433511d7637bc48c51aa411457d5f33da5a85bd03370bf394822b0ea8c007ceb17247a3790c28237303d8fc20c4e7725765940cd47e1365a88319ad0d5c + languageName: node + linkType: hard + "@scure/bip39@npm:^1.2.0, @scure/bip39@npm:^1.3.0": version: 1.4.0 resolution: "@scure/bip39@npm:1.4.0" @@ -8455,13 +8543,13 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:^1.2.1, @scure/bip39@npm:^1.5.1": - version: 1.5.4 - resolution: "@scure/bip39@npm:1.5.4" +"@scure/bip39@npm:^1.4.0": + version: 1.6.0 + resolution: "@scure/bip39@npm:1.6.0" dependencies: - "@noble/hashes": "npm:~1.7.1" - "@scure/base": "npm:~1.2.4" - checksum: 10/9f08b433511d7637bc48c51aa411457d5f33da5a85bd03370bf394822b0ea8c007ceb17247a3790c28237303d8fc20c4e7725765940cd47e1365a88319ad0d5c + "@noble/hashes": "npm:~1.8.0" + "@scure/base": "npm:~1.2.5" + checksum: 10/63e60c40fa1bda2c1b50351546fee6d7b0947cc814aa7a4209dcedd3693b5053302c8fca28292f5f50735e11c613265359acdc019127393dbab17e53489fc449 languageName: node linkType: hard @@ -8699,6 +8787,15 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-core@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-core@npm:2.0.0-preview.2" + dependencies: + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10/28baf598f689deb8b3d2840035789960b73715425dc5684964e8cffec99baedc456aa468887b1ca681cb57d54312b70b3d65f6a5ea1475ddfcd76bb1ffe6710e + languageName: node + linkType: hard + "@solana/codecs-core@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/codecs-core@npm:2.0.0-rc.1" @@ -8721,6 +8818,17 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-data-structures@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-data-structures@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10/2d5fb280b7df155e11cab25639884cf9336641291854dbe2768420a27cca87f86e1ee0289b4339debe92183c27c0c70f95a1f2043601a9cea88f33995b7b3664 + languageName: node + linkType: hard + "@solana/codecs-data-structures@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/codecs-data-structures@npm:2.0.0-rc.1" @@ -8747,6 +8855,16 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-numbers@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-numbers@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10/e6caed4c2d43bc52191f5af15284787bbea2e3b3153f84be0443196f7e7d4c5c02b2a56d60c8f64335c9033d890877a122bdc8de40c0a856ed52c84f39263722 + languageName: node + linkType: hard + "@solana/codecs-numbers@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/codecs-numbers@npm:2.0.0-rc.1" @@ -8771,6 +8889,19 @@ __metadata: languageName: node linkType: hard +"@solana/codecs-strings@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-strings@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + checksum: 10/c9e1c54b2d987fe504c879bfa083effe9539a83cd5927bcbc7446cd34065c6c707d4a6ae67b99ed0d475c6dd87b5879d3df205565febb17c94d3862c586b1783 + languageName: node + linkType: hard + "@solana/codecs-strings@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/codecs-strings@npm:2.0.0-rc.1" @@ -8799,6 +8930,19 @@ __metadata: languageName: node linkType: hard +"@solana/codecs@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-data-structures": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/codecs-strings": "npm:2.0.0-preview.2" + "@solana/options": "npm:2.0.0-preview.2" + checksum: 10/8ee2a6349c602b62f3505d8ecde3dac00a472792fa13485f9aafffc44522d5e212038e90b561ac543a83f0cd78e76c7fe958cc6e2abc1c6e1b56d4e2ce1311f4 + languageName: node + linkType: hard + "@solana/codecs@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/codecs@npm:2.0.0-rc.1" @@ -8829,6 +8973,18 @@ __metadata: languageName: node linkType: hard +"@solana/errors@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/errors@npm:2.0.0-preview.2" + dependencies: + chalk: "npm:^5.3.0" + commander: "npm:^12.0.0" + bin: + errors: bin/cli.js + checksum: 10/37d11270311397d7f652ee320d52e6987265e94c7fe3daa7f47e569e5411ad36cba60acd63e11b672416d3f119f1d7eeb6ffeb9f8a43caa889aaf0199113da55 + languageName: node + linkType: hard + "@solana/errors@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/errors@npm:2.0.0-rc.1" @@ -8929,6 +9085,16 @@ __metadata: languageName: node linkType: hard +"@solana/options@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/options@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + checksum: 10/63572dc6a29a1a2fcb68d19a6afe3b49baa1c60af250088c4413f890d91024dbf7bd752b4bf2c75456d89deb70823c25cd41013470a9cb5da1999b1459644b53 + languageName: node + linkType: hard + "@solana/options@npm:2.0.0-rc.1": version: 2.0.0-rc.1 resolution: "@solana/options@npm:2.0.0-rc.1" @@ -9177,6 +9343,18 @@ __metadata: languageName: node linkType: hard +"@solana/spl-token-group@npm:^0.0.4": + version: 0.0.4 + resolution: "@solana/spl-token-group@npm:0.0.4" + dependencies: + "@solana/codecs": "npm:2.0.0-preview.2" + "@solana/spl-type-length-value": "npm:0.1.0" + peerDependencies: + "@solana/web3.js": ^1.91.6 + checksum: 10/72621ce6dc9c6eedae636058623e7cc77ef1c228ca4c128c382d3f0f9e09e56f4d4f7b873b1d43d659a3b70745aec93ce7d9e2f09c12154f0d7bc55c0e7b279f + languageName: node + linkType: hard + "@solana/spl-token-group@npm:^0.0.7": version: 0.0.7 resolution: "@solana/spl-token-group@npm:0.0.7" @@ -9199,6 +9377,21 @@ __metadata: languageName: node linkType: hard +"@solana/spl-token@npm:0.4.6": + version: 0.4.6 + resolution: "@solana/spl-token@npm:0.4.6" + dependencies: + "@solana/buffer-layout": "npm:^4.0.0" + "@solana/buffer-layout-utils": "npm:^0.2.0" + "@solana/spl-token-group": "npm:^0.0.4" + "@solana/spl-token-metadata": "npm:^0.1.4" + buffer: "npm:^6.0.3" + peerDependencies: + "@solana/web3.js": ^1.91.6 + checksum: 10/944f5a5b4401fd21e17358f33278bd03e978f229682810f40fcd783a3f71cb05841c051b91352ffec1da3e7d3070c0307639c6b2b42312f50fc8ecbe78a3460d + languageName: node + linkType: hard + "@solana/spl-token@npm:0.4.9, @solana/spl-token@npm:^0.4.8": version: 0.4.9 resolution: "@solana/spl-token@npm:0.4.9" @@ -9229,6 +9422,15 @@ __metadata: languageName: node linkType: hard +"@solana/spl-type-length-value@npm:0.1.0": + version: 0.1.0 + resolution: "@solana/spl-type-length-value@npm:0.1.0" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10/00ca61fb03a7eafb90ba43803b8a1e3c3a8ff8558c452ce2e0d571468f0d205ceeb64640160f5474e15c63e31aa75d664f49324f777ad18b019292d50c8b083b + languageName: node + linkType: hard + "@solana/subscribable@npm:2.1.0": version: 2.1.0 resolution: "@solana/subscribable@npm:2.1.0" @@ -12613,6 +12815,23 @@ __metadata: languageName: node linkType: hard +"@web3-name-sdk/core@npm:^0.4.1": + version: 0.4.1 + resolution: "@web3-name-sdk/core@npm:0.4.1" + dependencies: + "@adraffy/ens-normalize": "npm:^1.10.0" + "@ensdomains/ens-validation": "npm:^0.1.0" + peerDependencies: + "@bonfida/spl-name-service": ^3.0.10 + "@sei-js/core": ^3.1.0 + "@siddomains/injective-sidjs": 0.0.2-beta + "@siddomains/sei-sidjs": ^0.0.4 + "@solana/web3.js": ^1.75.0 + viem: ^2.23.12 + checksum: 10/8f047f00fd007f9c4e980da6979c26f75c8927fc865d8381ba37435388289ebdf9612b71e8f1d562ae3e466305433b2fa01277cde9bf4f6894cce79141091f2f + languageName: node + linkType: hard + "@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": version: 1.12.1 resolution: "@webassemblyjs/ast@npm:1.12.1" @@ -13012,6 +13231,21 @@ __metadata: languageName: node linkType: hard +"abitype@npm:1.0.8, abitype@npm:^1.0.6": + version: 1.0.8 + resolution: "abitype@npm:1.0.8" + peerDependencies: + typescript: ">=5.0.4" + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + checksum: 10/878e74fbac6a971953649b6216950437aa5834a604e9fa833a5b275a6967cff59857c7e43594ae906387d2fb7cad9370138dec4298eb8814815a3ffb6365902c + languageName: node + linkType: hard + "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -14291,6 +14525,13 @@ __metadata: languageName: node linkType: hard +"borsh@npm:2.0.0": + version: 2.0.0 + resolution: "borsh@npm:2.0.0" + checksum: 10/b8e80de36b33899d05c5155715ccf9beabb82087a8dfc18ccd7250971a63dfa03e51635ad255e65cf60baff9e6ed88dee2141ef69982bcf442d9e850b2da16a2 + languageName: node + linkType: hard + "borsh@npm:^0.7.0": version: 0.7.0 resolution: "borsh@npm:0.7.0" @@ -14527,6 +14768,15 @@ __metadata: languageName: node linkType: hard +"bs58@npm:5.0.0, bs58@npm:^5.0.0": + version: 5.0.0 + resolution: "bs58@npm:5.0.0" + dependencies: + base-x: "npm:^4.0.0" + checksum: 10/2475cb0684e07077521aac718e604a13e0f891d58cff923d437a2f7e9e28703ab39fce9f84c7c703ab369815a675f11e3bd394d38643bfe8969fbe42e6833d45 + languageName: node + linkType: hard + "bs58@npm:^4.0.0, bs58@npm:^4.0.1": version: 4.0.1 resolution: "bs58@npm:4.0.1" @@ -14536,15 +14786,6 @@ __metadata: languageName: node linkType: hard -"bs58@npm:^5.0.0": - version: 5.0.0 - resolution: "bs58@npm:5.0.0" - dependencies: - base-x: "npm:^4.0.0" - checksum: 10/2475cb0684e07077521aac718e604a13e0f891d58cff923d437a2f7e9e28703ab39fce9f84c7c703ab369815a675f11e3bd394d38643bfe8969fbe42e6833d45 - languageName: node - linkType: hard - "bs58check@npm:2.1.2, bs58check@npm:<3.0.0, bs58check@npm:^2.0.0, bs58check@npm:^2.1.1, bs58check@npm:^2.1.2": version: 2.1.2 resolution: "bs58check@npm:2.1.2" @@ -15519,7 +15760,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^12.1.0": +"commander@npm:^12.0.0, commander@npm:^12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" checksum: 10/cdaeb672d979816853a4eed7f1310a9319e8b976172485c2a6b437ed0db0a389a44cfb222bfbde772781efa9f215bdd1b936f80d6b249485b465c6cb906e1f93 @@ -19770,6 +20011,16 @@ __metadata: languageName: node linkType: hard +"graphemesplit@npm:^2.4.4": + version: 2.6.0 + resolution: "graphemesplit@npm:2.6.0" + dependencies: + js-base64: "npm:^3.6.0" + unicode-trie: "npm:^2.0.0" + checksum: 10/0ccc12a921a99afb673112d7e21486015296e058b9cf92261a0b72e8bfaf6fcb0220760e62acb9f3f44ba1e0ff6181c0c3ef0c6749035b20334e941aa2d9c578 + languageName: node + linkType: hard + "graphql-tag@npm:^2.12.6": version: 2.12.6 resolution: "graphql-tag@npm:2.12.6" @@ -20657,7 +20908,7 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.0.1": +"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.2.0": version: 2.2.0 resolution: "ipaddr.js@npm:2.2.0" checksum: 10/9e1cdd9110b3bca5d910ab70d7fb1933e9c485d9b92cb14ef39f30c412ba3fe02a553921bf696efc7149cc653453c48ccf173adb996ec27d925f1f340f872986 @@ -21279,6 +21530,15 @@ __metadata: languageName: node linkType: hard +"isows@npm:1.0.6": + version: 1.0.6 + resolution: "isows@npm:1.0.6" + peerDependencies: + ws: "*" + checksum: 10/ab9e85b50bcc3d70aa5ec875aa2746c5daf9321cb376ed4e5434d3c2643c5d62b1f466d93a05cd2ad0ead5297224922748c31707cb4fbd68f5d05d0479dce99c + languageName: node + linkType: hard + "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -21470,7 +21730,7 @@ __metadata: languageName: node linkType: hard -"js-base64@npm:^3.7.2, js-base64@npm:^3.7.4, js-base64@npm:^3.7.7": +"js-base64@npm:^3.6.0, js-base64@npm:^3.7.2, js-base64@npm:^3.7.4, js-base64@npm:^3.7.7": version: 3.7.7 resolution: "js-base64@npm:3.7.7" checksum: 10/185e34c536a6b1c4e1ad8bd96d25b49a9ea4e6803e259eaaaca95f1b392a0d590b2933c5ca8580c776f7279507944b81ff1faf889d84baa5e31f026e96d676a5 @@ -24422,6 +24682,26 @@ __metadata: languageName: node linkType: hard +"ox@npm:0.6.9": + version: 0.6.9 + resolution: "ox@npm:0.6.9" + dependencies: + "@adraffy/ens-normalize": "npm:^1.10.1" + "@noble/curves": "npm:^1.6.0" + "@noble/hashes": "npm:^1.5.0" + "@scure/bip32": "npm:^1.5.0" + "@scure/bip39": "npm:^1.4.0" + abitype: "npm:^1.0.6" + eventemitter3: "npm:5.0.1" + peerDependencies: + typescript: ">=5.4.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/11ad9076b594dd424cd89d9763d4701e59e7ffc0733973947c82a14255a00a53483712e62fa9bbacd39efd35c6739bddb7728ef2211b47530f22036ab77cde69 + languageName: node + linkType: hard + "p-cancelable@npm:^2.0.0": version: 2.1.1 resolution: "p-cancelable@npm:2.1.1" @@ -24568,6 +24848,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:^0.2.5": + version: 0.2.9 + resolution: "pako@npm:0.2.9" + checksum: 10/627c6842e90af0b3a9ee47345bd66485a589aff9514266f4fa9318557ad819c46fedf97510f2cef9b6224c57913777966a05cb46caf6a9b31177a5401a06fe15 + languageName: node + linkType: hard + "pako@npm:^2.0.3, pako@npm:^2.0.4": version: 2.1.0 resolution: "pako@npm:2.1.0" @@ -28822,6 +29109,13 @@ __metadata: languageName: node linkType: hard +"tiny-inflate@npm:^1.0.0": + version: 1.0.3 + resolution: "tiny-inflate@npm:1.0.3" + checksum: 10/f620114fb51ea4a16ea7b4c62d6dd753f8faf41808a133c53d431ed4bf2ca377b21443653a0096894f2be22ca11bb327f148e7e5431f9246068917724ec01ffc + languageName: node + linkType: hard + "tiny-secp256k1@npm:1.1.6": version: 1.1.6 resolution: "tiny-secp256k1@npm:1.1.6" @@ -29848,6 +30142,16 @@ __metadata: languageName: node linkType: hard +"unicode-trie@npm:^2.0.0": + version: 2.0.0 + resolution: "unicode-trie@npm:2.0.0" + dependencies: + pako: "npm:^0.2.5" + tiny-inflate: "npm:^1.0.0" + checksum: 10/60404411dbd363bdcca9e81c9327fa80469f2e685737bac88ec693225ff20b9b545ac37ca2da13ec02f1552167dd010dfefd7c58b72a73d44a89fab1ca9c2479 + languageName: node + linkType: hard + "unicorn-magic@npm:^0.1.0": version: 0.1.0 resolution: "unicorn-magic@npm:0.1.0" @@ -30309,6 +30613,27 @@ __metadata: languageName: node linkType: hard +"viem@npm:^2.23.12": + version: 2.29.1 + resolution: "viem@npm:2.29.1" + dependencies: + "@noble/curves": "npm:1.8.2" + "@noble/hashes": "npm:1.7.2" + "@scure/bip32": "npm:1.6.2" + "@scure/bip39": "npm:1.5.4" + abitype: "npm:1.0.8" + isows: "npm:1.0.6" + ox: "npm:0.6.9" + ws: "npm:8.18.1" + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10/2ca6f9148bb309c3f3aae4856a2020103237c2e979010d4f040730e1e6724355395eb22542e8c6608107fe3d4b819f9fc1eb604ea1647ecde2b34ceac6fc5fd1 + languageName: node + linkType: hard + "vite-node@npm:3.1.1": version: 3.1.1 resolution: "vite-node@npm:3.1.1" @@ -31850,6 +32175,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:8.18.1, ws@npm:^8.18.1": + version: 8.18.1 + resolution: "ws@npm:8.18.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/3f38e9594f2af5b6324138e86b74df7d77bbb8e310bf8188679dd80bac0d1f47e51536a1923ac3365f31f3d8b25ea0b03e4ade466aa8292a86cd5defca64b19b + languageName: node + linkType: hard + "ws@npm:^3.0.0": version: 3.3.3 resolution: "ws@npm:3.3.3" @@ -31876,21 +32216,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:^8.18.1": - version: 8.18.1 - resolution: "ws@npm:8.18.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10/3f38e9594f2af5b6324138e86b74df7d77bbb8e310bf8188679dd80bac0d1f47e51536a1923ac3365f31f3d8b25ea0b03e4ade466aa8292a86cd5defca64b19b - languageName: node - linkType: hard - "xhr-request-promise@npm:^0.1.2": version: 0.1.3 resolution: "xhr-request-promise@npm:0.1.3" From 3ce9397495f9f497723239e28d44d207c4920d94 Mon Sep 17 00:00:00 2001 From: candy Date: Tue, 13 May 2025 10:28:20 +0800 Subject: [PATCH 2/4] feat: code review --- packages/extension/package.json | 1 - packages/extension/src/libs/name-resolver/index.ts | 2 +- .../src/providers/kadena/ui/send-transaction/index.vue | 6 +----- .../src/providers/polkadot/ui/send-transaction/index.vue | 6 +----- packages/name-resolution/package.json | 3 ++- packages/name-resolution/tsconfig.json | 4 ++-- 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/extension/package.json b/packages/extension/package.json index 1efb82787..b883b71b7 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -79,7 +79,6 @@ "switch-ts": "^1.1.1", "url-parse": "^1.5.10", "uuid": "^11.1.0", - "viem": "^2.23.12", "vue": "^3.5.13", "vue-echarts": "7.0.3", "vue-router": "^4.5.0", diff --git a/packages/extension/src/libs/name-resolver/index.ts b/packages/extension/src/libs/name-resolver/index.ts index b279c412d..fd3656efd 100644 --- a/packages/extension/src/libs/name-resolver/index.ts +++ b/packages/extension/src/libs/name-resolver/index.ts @@ -18,7 +18,7 @@ class GenericNameResolver { let response: string | null = null; for (const coin of coins) { response = await this.nameResolver - .resolveAddress(name, coin) + .resolveAddress(name, coin, providerChain) .catch(() => null); if (response) return response; } diff --git a/packages/extension/src/providers/kadena/ui/send-transaction/index.vue b/packages/extension/src/providers/kadena/ui/send-transaction/index.vue index f17bb2d1e..90a5c1aee 100644 --- a/packages/extension/src/providers/kadena/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/kadena/ui/send-transaction/index.vue @@ -399,11 +399,7 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName( - text, - [props.network.name as CoinType], - props.network?.provider as string, - ) + .resolveName(text, [props.network.name as CoinType]) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue b/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue index 98370f254..2b1ec61fc 100644 --- a/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue +++ b/packages/extension/src/providers/polkadot/ui/send-transaction/index.vue @@ -378,11 +378,7 @@ const inputAddressFrom = (text: string) => { const inputAddressTo = (text: string) => { const debounceResolve = debounce(() => { nameResolver - .resolveName( - text, - [props.network.name as CoinType, 'DOT', 'KSM'], - props.network?.provider as string, - ) + .resolveName(text, [props.network.name as CoinType, 'DOT', 'KSM']) .then(resolved => { if (resolved) { addressTo.value = resolved; diff --git a/packages/name-resolution/package.json b/packages/name-resolution/package.json index be0be4726..b207a8047 100644 --- a/packages/name-resolution/package.json +++ b/packages/name-resolution/package.json @@ -52,6 +52,7 @@ "@solana/web3.js": "^1.98.0", "@unstoppabledomains/resolution": "^9.3.3", "@web3-name-sdk/core": "^0.4.1", - "ethers": "^5.8.0" + "ethers": "^5.8.0", + "viem": "^2.23.12" } } diff --git a/packages/name-resolution/tsconfig.json b/packages/name-resolution/tsconfig.json index d77afeb0b..f32c11b10 100644 --- a/packages/name-resolution/tsconfig.json +++ b/packages/name-resolution/tsconfig.json @@ -2,13 +2,13 @@ "extends": "./tsconfig.paths.json", "compilerOptions": { "lib": ["ESNext", "dom"], - "moduleResolution": "bundler", + "moduleResolution": "node", "noUnusedLocals": true, "noUnusedParameters": true, "removeComments": true, "sourceMap": true, "target": "es5", - "module": "es2020", + "module": "commonjs", "outDir": "dist", "resolveJsonModule": true, "esModuleInterop": true, From 34c9791417afc9f96976d3a061ca2e792767037e Mon Sep 17 00:00:00 2001 From: candy Date: Tue, 13 May 2025 10:38:53 +0800 Subject: [PATCH 3/4] feat: code review --- packages/name-resolution/src/types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/name-resolution/src/types.ts b/packages/name-resolution/src/types.ts index b2aa884ba..c60dfa811 100644 --- a/packages/name-resolution/src/types.ts +++ b/packages/name-resolution/src/types.ts @@ -152,7 +152,7 @@ export abstract class BaseResolver { public abstract resolveReverseName(address: string): Promise; - public abstract isSupportedName(name: string, paymentIdChain?:PaymentIdChain): boolean; + public abstract isSupportedName(name: string): boolean; } export interface NameResolverOptions { From 660649626b7500eccb27f145245368f26c97a0d8 Mon Sep 17 00:00:00 2001 From: candy Date: Tue, 13 May 2025 12:58:44 +0800 Subject: [PATCH 4/4] feat: fix yarn build --- packages/name-resolution/package.json | 3 +- packages/name-resolution/src/types.ts | 2 +- yarn.lock | 174 ++++++-------------------- 3 files changed, 37 insertions(+), 142 deletions(-) diff --git a/packages/name-resolution/package.json b/packages/name-resolution/package.json index b207a8047..be0be4726 100644 --- a/packages/name-resolution/package.json +++ b/packages/name-resolution/package.json @@ -52,7 +52,6 @@ "@solana/web3.js": "^1.98.0", "@unstoppabledomains/resolution": "^9.3.3", "@web3-name-sdk/core": "^0.4.1", - "ethers": "^5.8.0", - "viem": "^2.23.12" + "ethers": "^5.8.0" } } diff --git a/packages/name-resolution/src/types.ts b/packages/name-resolution/src/types.ts index c60dfa811..3ecb1c2ed 100644 --- a/packages/name-resolution/src/types.ts +++ b/packages/name-resolution/src/types.ts @@ -1,5 +1,5 @@ import { ENSOptions } from "./ens/types"; -import { PaymentIdChain, SIDOptions } from "./sid/types"; +import { SIDOptions } from "./sid/types"; export type CoinType = | "BTC" diff --git a/yarn.lock b/yarn.lock index 0393ce210..9d88158d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23,7 +23,7 @@ __metadata: languageName: node linkType: hard -"@adraffy/ens-normalize@npm:^1.10.0, @adraffy/ens-normalize@npm:^1.10.1": +"@adraffy/ens-normalize@npm:^1.10.0": version: 1.11.0 resolution: "@adraffy/ens-normalize@npm:1.11.0" checksum: 10/abef75f21470ea43dd6071168e092d2d13e38067e349e76186c78838ae174a46c3e18ca50921d05bea6ec3203074147c9e271f8cb6531d1c2c0e146f3199ddcb @@ -1668,7 +1668,6 @@ __metadata: url: "npm:^0.11.4" url-parse: "npm:^1.5.10" uuid: "npm:^11.1.0" - viem: "npm:^2.23.12" vite: "npm:^6.3.1" vite-plugin-node-polyfills: "npm:0.23.0" vite-tsconfig-paths: "npm:^5.1.4" @@ -1789,7 +1788,6 @@ __metadata: tsup: "npm:^8.4.0" typescript: "npm:^5.8.3" typescript-eslint: "npm:8.30.1" - viem: "npm:^2.23.12" vitest: "npm:^3.1.1" languageName: unknown linkType: soft @@ -6462,15 +6460,6 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:1.8.2, @noble/curves@npm:~1.8.1": - version: 1.8.2 - resolution: "@noble/curves@npm:1.8.2" - dependencies: - "@noble/hashes": "npm:1.7.2" - checksum: 10/540e7b7a8fe92ecd5cef846f84d07180662eb7fd7d8e9172b8960c31827e74f148fe4630da962138a6be093ae9f8992d14ab23d3682a2cc32be839aa57c03a46 - languageName: node - linkType: hard - "@noble/curves@npm:^1.0.0, @noble/curves@npm:^1.1.0, @noble/curves@npm:^1.2.0, @noble/curves@npm:^1.3.0, @noble/curves@npm:^1.4.0, @noble/curves@npm:^1.4.2, @noble/curves@npm:~1.6.0": version: 1.6.0 resolution: "@noble/curves@npm:1.6.0" @@ -6480,12 +6469,12 @@ __metadata: languageName: node linkType: hard -"@noble/curves@npm:^1.6.0, @noble/curves@npm:~1.9.0": - version: 1.9.0 - resolution: "@noble/curves@npm:1.9.0" +"@noble/curves@npm:~1.8.1": + version: 1.8.2 + resolution: "@noble/curves@npm:1.8.2" dependencies: - "@noble/hashes": "npm:1.8.0" - checksum: 10/f2c5946310722fee23e04ed747f21ce72e0436e38e1fa620d226a8c613262e7d0dbab5341f14caf92936089d01d9e9231964c409cd1ac2a73a075f3cdb1acc41 + "@noble/hashes": "npm:1.7.2" + checksum: 10/540e7b7a8fe92ecd5cef846f84d07180662eb7fd7d8e9172b8960c31827e74f148fe4630da962138a6be093ae9f8992d14ab23d3682a2cc32be839aa57c03a46 languageName: node linkType: hard @@ -6566,13 +6555,6 @@ __metadata: languageName: node linkType: hard -"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.5.0, @noble/hashes@npm:~1.8.0": - version: 1.8.0 - resolution: "@noble/hashes@npm:1.8.0" - checksum: 10/474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e - languageName: node - linkType: hard - "@noble/hashes@npm:^1.6.1, @noble/hashes@npm:~1.7.1": version: 1.7.1 resolution: "@noble/hashes@npm:1.7.1" @@ -8434,7 +8416,7 @@ __metadata: languageName: node linkType: hard -"@scure/base@npm:^1.1.6, @scure/base@npm:~1.2.5": +"@scure/base@npm:^1.1.6": version: 1.2.5 resolution: "@scure/base@npm:1.2.5" checksum: 10/9a963a27424a373b62760c9ae7099ae496be67eb5b31205639f529f0dbcb2228a827222a36d22842cc2acda78e300a3430d46d84de5d8d4b791208955360853e @@ -8470,17 +8452,6 @@ __metadata: languageName: node linkType: hard -"@scure/bip32@npm:1.6.2, @scure/bip32@npm:^1.3.1": - version: 1.6.2 - resolution: "@scure/bip32@npm:1.6.2" - dependencies: - "@noble/curves": "npm:~1.8.1" - "@noble/hashes": "npm:~1.7.1" - "@scure/base": "npm:~1.2.2" - checksum: 10/474ee315a8631aa1a7d378b0521b4494e09a231519ec53d879088cb88c8ff644a89b27a02a8bf0b5a9b1c4c0417acc70636ccdb121b800c34594ae53c723f8d7 - languageName: node - linkType: hard - "@scure/bip32@npm:^1.1.5, @scure/bip32@npm:^1.4.0": version: 1.5.0 resolution: "@scure/bip32@npm:1.5.0" @@ -8492,14 +8463,14 @@ __metadata: languageName: node linkType: hard -"@scure/bip32@npm:^1.5.0": - version: 1.7.0 - resolution: "@scure/bip32@npm:1.7.0" +"@scure/bip32@npm:^1.3.1": + version: 1.6.2 + resolution: "@scure/bip32@npm:1.6.2" dependencies: - "@noble/curves": "npm:~1.9.0" - "@noble/hashes": "npm:~1.8.0" - "@scure/base": "npm:~1.2.5" - checksum: 10/f90e0c23ab6a31a164856ae9cb9a8cae2886df608c74a6c0c4875095b017e30ffd92f28f73b8c52890d9a89fca86d19f6d60bb1ea7cad64c7987f92ae83509ad + "@noble/curves": "npm:~1.8.1" + "@noble/hashes": "npm:~1.7.1" + "@scure/base": "npm:~1.2.2" + checksum: 10/474ee315a8631aa1a7d378b0521b4494e09a231519ec53d879088cb88c8ff644a89b27a02a8bf0b5a9b1c4c0417acc70636ccdb121b800c34594ae53c723f8d7 languageName: node linkType: hard @@ -8523,16 +8494,6 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:1.5.4, @scure/bip39@npm:^1.2.1, @scure/bip39@npm:^1.5.1": - version: 1.5.4 - resolution: "@scure/bip39@npm:1.5.4" - dependencies: - "@noble/hashes": "npm:~1.7.1" - "@scure/base": "npm:~1.2.4" - checksum: 10/9f08b433511d7637bc48c51aa411457d5f33da5a85bd03370bf394822b0ea8c007ceb17247a3790c28237303d8fc20c4e7725765940cd47e1365a88319ad0d5c - languageName: node - linkType: hard - "@scure/bip39@npm:^1.2.0, @scure/bip39@npm:^1.3.0": version: 1.4.0 resolution: "@scure/bip39@npm:1.4.0" @@ -8543,13 +8504,13 @@ __metadata: languageName: node linkType: hard -"@scure/bip39@npm:^1.4.0": - version: 1.6.0 - resolution: "@scure/bip39@npm:1.6.0" +"@scure/bip39@npm:^1.2.1, @scure/bip39@npm:^1.5.1": + version: 1.5.4 + resolution: "@scure/bip39@npm:1.5.4" dependencies: - "@noble/hashes": "npm:~1.8.0" - "@scure/base": "npm:~1.2.5" - checksum: 10/63e60c40fa1bda2c1b50351546fee6d7b0947cc814aa7a4209dcedd3693b5053302c8fca28292f5f50735e11c613265359acdc019127393dbab17e53489fc449 + "@noble/hashes": "npm:~1.7.1" + "@scure/base": "npm:~1.2.4" + checksum: 10/9f08b433511d7637bc48c51aa411457d5f33da5a85bd03370bf394822b0ea8c007ceb17247a3790c28237303d8fc20c4e7725765940cd47e1365a88319ad0d5c languageName: node linkType: hard @@ -13231,21 +13192,6 @@ __metadata: languageName: node linkType: hard -"abitype@npm:1.0.8, abitype@npm:^1.0.6": - version: 1.0.8 - resolution: "abitype@npm:1.0.8" - peerDependencies: - typescript: ">=5.0.4" - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - checksum: 10/878e74fbac6a971953649b6216950437aa5834a604e9fa833a5b275a6967cff59857c7e43594ae906387d2fb7cad9370138dec4298eb8814815a3ffb6365902c - languageName: node - linkType: hard - "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -21530,15 +21476,6 @@ __metadata: languageName: node linkType: hard -"isows@npm:1.0.6": - version: 1.0.6 - resolution: "isows@npm:1.0.6" - peerDependencies: - ws: "*" - checksum: 10/ab9e85b50bcc3d70aa5ec875aa2746c5daf9321cb376ed4e5434d3c2643c5d62b1f466d93a05cd2ad0ead5297224922748c31707cb4fbd68f5d05d0479dce99c - languageName: node - linkType: hard - "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -24682,26 +24619,6 @@ __metadata: languageName: node linkType: hard -"ox@npm:0.6.9": - version: 0.6.9 - resolution: "ox@npm:0.6.9" - dependencies: - "@adraffy/ens-normalize": "npm:^1.10.1" - "@noble/curves": "npm:^1.6.0" - "@noble/hashes": "npm:^1.5.0" - "@scure/bip32": "npm:^1.5.0" - "@scure/bip39": "npm:^1.4.0" - abitype: "npm:^1.0.6" - eventemitter3: "npm:5.0.1" - peerDependencies: - typescript: ">=5.4.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/11ad9076b594dd424cd89d9763d4701e59e7ffc0733973947c82a14255a00a53483712e62fa9bbacd39efd35c6739bddb7728ef2211b47530f22036ab77cde69 - languageName: node - linkType: hard - "p-cancelable@npm:^2.0.0": version: 2.1.1 resolution: "p-cancelable@npm:2.1.1" @@ -30613,27 +30530,6 @@ __metadata: languageName: node linkType: hard -"viem@npm:^2.23.12": - version: 2.29.1 - resolution: "viem@npm:2.29.1" - dependencies: - "@noble/curves": "npm:1.8.2" - "@noble/hashes": "npm:1.7.2" - "@scure/bip32": "npm:1.6.2" - "@scure/bip39": "npm:1.5.4" - abitype: "npm:1.0.8" - isows: "npm:1.0.6" - ox: "npm:0.6.9" - ws: "npm:8.18.1" - peerDependencies: - typescript: ">=5.0.4" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10/2ca6f9148bb309c3f3aae4856a2020103237c2e979010d4f040730e1e6724355395eb22542e8c6608107fe3d4b819f9fc1eb604ea1647ecde2b34ceac6fc5fd1 - languageName: node - linkType: hard - "vite-node@npm:3.1.1": version: 3.1.1 resolution: "vite-node@npm:3.1.1" @@ -32175,21 +32071,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.18.1, ws@npm:^8.18.1": - version: 8.18.1 - resolution: "ws@npm:8.18.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10/3f38e9594f2af5b6324138e86b74df7d77bbb8e310bf8188679dd80bac0d1f47e51536a1923ac3365f31f3d8b25ea0b03e4ade466aa8292a86cd5defca64b19b - languageName: node - linkType: hard - "ws@npm:^3.0.0": version: 3.3.3 resolution: "ws@npm:3.3.3" @@ -32216,6 +32097,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.1": + version: 8.18.1 + resolution: "ws@npm:8.18.1" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/3f38e9594f2af5b6324138e86b74df7d77bbb8e310bf8188679dd80bac0d1f47e51536a1923ac3365f31f3d8b25ea0b03e4ade466aa8292a86cd5defca64b19b + languageName: node + linkType: hard + "xhr-request-promise@npm:^0.1.2": version: 0.1.3 resolution: "xhr-request-promise@npm:0.1.3"