From 65692abf29bcf2478ec26723fd75f3ce8e511ae8 Mon Sep 17 00:00:00 2001 From: AkshatGada Date: Fri, 6 Mar 2026 07:03:18 +0530 Subject: [PATCH 1/5] fix(wallet): detect counterfactual wallet gas simulation failure in send-native When a smart wallet hasn't been deployed on-chain yet, the Sequence relayer fails gas simulation with 'Request aborted'. Previously this gave a cryptic error. Now both fee paths detect simulation failures and surface a clear actionable message telling the user to fund the wallet with USDC first. Fixes: send-native --broadcast failing with 'Transaction failed: Request aborted' --- .../polygon-agent-cli/src/lib/dapp-client.ts | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/polygon-agent-cli/src/lib/dapp-client.ts b/packages/polygon-agent-cli/src/lib/dapp-client.ts index d60bb51..16c1c46 100644 --- a/packages/polygon-agent-cli/src/lib/dapp-client.ts +++ b/packages/polygon-agent-cli/src/lib/dapp-client.ts @@ -306,8 +306,20 @@ export async function runDappClientTx({ if (debugFee) console.error(JSON.stringify({ debug: 'feeOptions', feeOptions }, null, 2)); const nativeOpt = (feeOptions || []).find(isNativeFeeOption); if (nativeOpt) feeOpt = nativeOpt; - } catch { - // Fall through to ERC20 fee path + } catch (e) { + const msg = (e as Error)?.message || String(e); + const isSimulationFailure = + msg.includes('gas usage simulation failed') || + msg.includes('Request aborted') || + msg.includes('Aborted'); + if (isSimulationFailure) { + throw new Error( + `Gas simulation failed — your smart wallet (${walletAddress}) may not be deployed on-chain yet. ` + + `Fund it with USDC (native) first, then retry. ` + + `Original error: ${msg}` + ); + } + // Other errors: fall through to ERC20 fee path } } @@ -391,7 +403,19 @@ export async function runDappClientTx({ const feeOptions = await client.getFeeOptions(chainId, transactions as any); feeOpt = feeOptions?.[0]; } catch (e) { - throw new Error(`Unable to determine fee option: ${(e as Error)?.message}`); + const msg = (e as Error)?.message || String(e); + const isSimulationFailure = + msg.includes('gas usage simulation failed') || + msg.includes('Request aborted') || + msg.includes('Aborted'); + if (isSimulationFailure) { + throw new Error( + `Gas simulation failed — your smart wallet (${walletAddress}) may not be deployed on-chain yet. ` + + `Fund it with USDC (native) first, then retry. ` + + `Original error: ${msg}` + ); + } + throw new Error(`Unable to determine fee option: ${msg}`); } } From d5cce30a424ad88c656a007b980d179869fad3a4 Mon Sep 17 00:00:00 2001 From: AkshatGada Date: Fri, 6 Mar 2026 07:56:52 +0530 Subject: [PATCH 2/5] docs(skill): add explicit agent instruction to show approvalUrl and wait for user --- packages/polygon-agent-cli/skills/SKILL.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/polygon-agent-cli/skills/SKILL.md b/packages/polygon-agent-cli/skills/SKILL.md index 6992821..bc66550 100644 --- a/packages/polygon-agent-cli/skills/SKILL.md +++ b/packages/polygon-agent-cli/skills/SKILL.md @@ -46,16 +46,6 @@ export SEQUENCE_INDEXER_ACCESS_KEY=$SEQUENCE_PROJECT_ACCESS_KEY export TRAILS_API_KEY=$SEQUENCE_PROJECT_ACCESS_KEY ``` -### Optional - -| Variable | Default | -| ---------------------------------- | ----------------------------------------------------- | -| `SEQUENCE_ECOSYSTEM_CONNECTOR_URL` | `https://agentconnect.polygon.technology/` | -| `SEQUENCE_DAPP_ORIGIN` | Same as connector URL origin | -| `TRAILS_TOKEN_MAP_JSON` | Token-directory lookup | -| `POLYGON_AGENT_DEBUG_FETCH` | Off — logs HTTP to `~/.polygon-agent/fetch-debug.log` | -| `POLYGON_AGENT_DEBUG_FEE` | Off — dumps fee options to stderr | - ## Complete Setup Flow ```bash @@ -66,6 +56,10 @@ polygon-agent setup --name "MyAgent" # Phase 2: Create ecosystem wallet (auto-waits for browser approval) export SEQUENCE_PROJECT_ACCESS_KEY= polygon-agent wallet create --usdc-limit 100 --native-limit 5 +# → IMPORTANT: The command outputs an `approvalUrl`. You MUST send the COMPLETE, +# UNTRUNCATED URL to the user and wait for them to open it in a browser and approve. +# Do NOT proceed to the next step until the user confirms approval (or the CLI +# automatically detects the callback). The wallet address is only available after approval. # Phase 3: Fund wallet polygon-agent fund From 0e4987aa31e93c0d1d693c34595f1464b39977a5 Mon Sep 17 00:00:00 2001 From: AkshatGada Date: Fri, 6 Mar 2026 13:41:24 +0530 Subject: [PATCH 3/5] fix(wallet): replace string-matching with eth_getCode check for counterfactual wallets --- .../polygon-agent-cli/src/lib/dapp-client.ts | 59 ++++++++++--------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/packages/polygon-agent-cli/src/lib/dapp-client.ts b/packages/polygon-agent-cli/src/lib/dapp-client.ts index 16c1c46..c2053fe 100644 --- a/packages/polygon-agent-cli/src/lib/dapp-client.ts +++ b/packages/polygon-agent-cli/src/lib/dapp-client.ts @@ -278,6 +278,35 @@ export async function runDappClientTx({ await client.initialize(); if (!client.isInitialized) throw new Error('Client not initialized'); + if (broadcast) { + // Detect counterfactual (undeployed) wallet early — the relayer cannot simulate + // meta-transactions against a contract that doesn't exist on-chain yet. + try { + const rpcUrl = nodesUrl.replace('{network}', 'polygon'); + const res = await fetch(rpcUrl, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + jsonrpc: '2.0', + id: 1, + method: 'eth_getCode', + params: [walletAddress, 'latest'] + }) + }); + const json = (await res.json()) as { result?: string }; + if (json.result === '0x' || json.result === '0x0') { + throw new Error( + `Smart wallet ${walletAddress} is not yet deployed on-chain. ` + + `Send USDC to the wallet address and use the 'send' command to make the first ERC20 transfer — ` + + `this will deploy the wallet contract via the Sequence relayer. Then retry send-native.` + ); + } + } catch (e) { + if ((e as Error).message.includes('not yet deployed')) throw e; + // RPC check failed — proceed and let the relayer surface any error + } + } + if (!broadcast) { const bigintReplacer = (_k: string, v: unknown) => (typeof v === 'bigint' ? v.toString() : v); console.log( @@ -306,20 +335,8 @@ export async function runDappClientTx({ if (debugFee) console.error(JSON.stringify({ debug: 'feeOptions', feeOptions }, null, 2)); const nativeOpt = (feeOptions || []).find(isNativeFeeOption); if (nativeOpt) feeOpt = nativeOpt; - } catch (e) { - const msg = (e as Error)?.message || String(e); - const isSimulationFailure = - msg.includes('gas usage simulation failed') || - msg.includes('Request aborted') || - msg.includes('Aborted'); - if (isSimulationFailure) { - throw new Error( - `Gas simulation failed — your smart wallet (${walletAddress}) may not be deployed on-chain yet. ` + - `Fund it with USDC (native) first, then retry. ` + - `Original error: ${msg}` - ); - } - // Other errors: fall through to ERC20 fee path + } catch { + // Fall through to ERC20 fee path } } @@ -403,19 +420,7 @@ export async function runDappClientTx({ const feeOptions = await client.getFeeOptions(chainId, transactions as any); feeOpt = feeOptions?.[0]; } catch (e) { - const msg = (e as Error)?.message || String(e); - const isSimulationFailure = - msg.includes('gas usage simulation failed') || - msg.includes('Request aborted') || - msg.includes('Aborted'); - if (isSimulationFailure) { - throw new Error( - `Gas simulation failed — your smart wallet (${walletAddress}) may not be deployed on-chain yet. ` + - `Fund it with USDC (native) first, then retry. ` + - `Original error: ${msg}` - ); - } - throw new Error(`Unable to determine fee option: ${msg}`); + throw new Error(`Unable to determine fee option: ${(e as Error)?.message}`); } } From 7cae2978b701e8ea7743ca7f2c65f2c80045501d Mon Sep 17 00:00:00 2001 From: AkshatGada Date: Fri, 6 Mar 2026 14:14:49 +0530 Subject: [PATCH 4/5] fix(wallet): detect undeployed wallet before send-native broadcast MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Sequence relayer cannot simulate native token transfers via ValueForwarder against counterfactual (undeployed) smart wallets. Added an eth_getCode check scoped to send-native (preferNativeFee) that detects this early and surfaces a clear actionable error. ERC20 sends remain unaffected — the relayer handles deploy+execute for those. Tested E2E on fresh counterfactual wallet 0x92ee...859ab: - send-native blocked with clear error before deployment - send USDC succeeded and deployed wallet - send-native succeeded after deployment --- packages/polygon-agent-cli/src/lib/dapp-client.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/polygon-agent-cli/src/lib/dapp-client.ts b/packages/polygon-agent-cli/src/lib/dapp-client.ts index c2053fe..274fa69 100644 --- a/packages/polygon-agent-cli/src/lib/dapp-client.ts +++ b/packages/polygon-agent-cli/src/lib/dapp-client.ts @@ -278,9 +278,10 @@ export async function runDappClientTx({ await client.initialize(); if (!client.isInitialized) throw new Error('Client not initialized'); - if (broadcast) { + if (broadcast && preferNativeFee) { // Detect counterfactual (undeployed) wallet early — the relayer cannot simulate - // meta-transactions against a contract that doesn't exist on-chain yet. + // native token transfers (via ValueForwarder) against a contract that doesn't exist yet. + // ERC20 sends work fine on counterfactual wallets (relayer bundles deploy+execute). try { const rpcUrl = nodesUrl.replace('{network}', 'polygon'); const res = await fetch(rpcUrl, { From 88ec0cd86c4de83cdc9f326542aee55e26bbf0cc Mon Sep 17 00:00:00 2001 From: AkshatGada Date: Mon, 9 Mar 2026 15:04:37 +0530 Subject: [PATCH 5/5] fix(wallet): bump SDK to beta.17 and simplify fee handling for counterfactual wallets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump @0xsequence packages from 3.0.0-beta.16 to 3.0.0-beta.17 which includes fixes for native token sends on undeployed (counterfactual) smart wallets. Remove the custom eth_getCode check and getFeeTokens fallback from dapp-client.ts. The SDK now handles counterfactual wallets natively via the guest executor — routing deploy+execute through getFeeOptions() and sendTransaction() without custom workarounds. --- packages/polygon-agent-cli/package.json | 16 +- .../polygon-agent-cli/src/lib/dapp-client.ts | 138 +----------------- pnpm-lock.yaml | 122 ++++++++-------- 3 files changed, 75 insertions(+), 201 deletions(-) diff --git a/packages/polygon-agent-cli/package.json b/packages/polygon-agent-cli/package.json index cb87377..a8ecc9b 100644 --- a/packages/polygon-agent-cli/package.json +++ b/packages/polygon-agent-cli/package.json @@ -23,17 +23,17 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@0xsequence/abi": "3.0.0-beta.16", - "@0xsequence/api": "3.0.0-beta.16", - "@0xsequence/builder": "3.0.0-beta.16", - "@0xsequence/dapp-client": "3.0.0-beta.16", + "@0xsequence/abi": "3.0.0-beta.17", + "@0xsequence/api": "3.0.0-beta.17", + "@0xsequence/builder": "3.0.0-beta.17", + "@0xsequence/dapp-client": "3.0.0-beta.17", "@0xsequence/dapp-client-cli": "0.1.5", "@0xsequence/indexer": "^2.3.40", "@0xsequence/network": "^2.3.40", - "@0xsequence/relayer": "3.0.0-beta.16", - "@0xsequence/wallet-core": "3.0.0-beta.16", - "@0xsequence/wallet-primitives": "3.0.0-beta.16", - "@0xsequence/wallet-wdk": "3.0.0-beta.16", + "@0xsequence/relayer": "3.0.0-beta.17", + "@0xsequence/wallet-core": "3.0.0-beta.17", + "@0xsequence/wallet-primitives": "3.0.0-beta.17", + "@0xsequence/wallet-wdk": "3.0.0-beta.17", "@0xtrails/api": "^0.10.4", "@x402/core": "^2.3.1", "@x402/evm": "^2.3.1", diff --git a/packages/polygon-agent-cli/src/lib/dapp-client.ts b/packages/polygon-agent-cli/src/lib/dapp-client.ts index 274fa69..86e13b9 100644 --- a/packages/polygon-agent-cli/src/lib/dapp-client.ts +++ b/packages/polygon-agent-cli/src/lib/dapp-client.ts @@ -278,36 +278,6 @@ export async function runDappClientTx({ await client.initialize(); if (!client.isInitialized) throw new Error('Client not initialized'); - if (broadcast && preferNativeFee) { - // Detect counterfactual (undeployed) wallet early — the relayer cannot simulate - // native token transfers (via ValueForwarder) against a contract that doesn't exist yet. - // ERC20 sends work fine on counterfactual wallets (relayer bundles deploy+execute). - try { - const rpcUrl = nodesUrl.replace('{network}', 'polygon'); - const res = await fetch(rpcUrl, { - method: 'POST', - headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ - jsonrpc: '2.0', - id: 1, - method: 'eth_getCode', - params: [walletAddress, 'latest'] - }) - }); - const json = (await res.json()) as { result?: string }; - if (json.result === '0x' || json.result === '0x0') { - throw new Error( - `Smart wallet ${walletAddress} is not yet deployed on-chain. ` + - `Send USDC to the wallet address and use the 'send' command to make the first ERC20 transfer — ` + - `this will deploy the wallet contract via the Sequence relayer. Then retry send-native.` - ); - } - } catch (e) { - if ((e as Error).message.includes('not yet deployed')) throw e; - // RPC check failed — proceed and let the relayer surface any error - } - } - if (!broadcast) { const bigintReplacer = (_k: string, v: unknown) => (typeof v === 'bigint' ? v.toString() : v); console.log( @@ -320,110 +290,14 @@ export async function runDappClientTx({ return { walletAddress, dryRun: true }; } - const debugFee = ['1', 'true', 'yes'].includes( - String( - process.env.SEQ_ECO_DEBUG_FEE_OPTIONS || process.env.POLYGON_AGENT_DEBUG_FEE || '' - ).toLowerCase() - ); - + // Let the SDK handle fee selection — including counterfactual (undeployed) wallets. + // The SDK routes undeployed wallets through the guest executor and bundles deploy+execute. // eslint-disable-next-line @typescript-eslint/no-explicit-any - let feeOpt: any; - - if (preferNativeFee) { - try { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const feeOptions = await client.getFeeOptions(chainId, transactions as any); - if (debugFee) console.error(JSON.stringify({ debug: 'feeOptions', feeOptions }, null, 2)); - const nativeOpt = (feeOptions || []).find(isNativeFeeOption); - if (nativeOpt) feeOpt = nativeOpt; - } catch { - // Fall through to ERC20 fee path - } - } - - if (!feeOpt) { - try { - const feeTokens = await client.getFeeTokens(chainId); - if (debugFee) console.error(JSON.stringify({ debug: 'feeTokens', feeTokens }, null, 2)); - - const paymentAddress = feeTokens?.paymentAddress; - const tokens = Array.isArray(feeTokens?.tokens) ? feeTokens.tokens : []; - - const USDC_POLYGON = '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359'; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - let erc20Token: any = null; - if (tokens.length > 0) { - try { - const { SequenceIndexer } = await import('@0xsequence/indexer'); - const chainIndexerUrl = `https://polygon-indexer.sequence.app`; - const indexerKey = process.env.SEQUENCE_INDEXER_ACCESS_KEY || projectAccessKey; - const indexer = new SequenceIndexer(chainIndexerUrl, indexerKey); - const balRes = await indexer.getTokenBalances({ - accountAddress: walletAddress, - includeMetadata: false - }); - const heldAddresses = new Set( - (balRes?.balances || []).map((b: { contractAddress?: string }) => - b.contractAddress?.toLowerCase() - ) - ); - const heldFeeTokens = tokens.filter( - (t: { contractAddress?: string }) => - t?.contractAddress && heldAddresses.has(t.contractAddress.toLowerCase()) - ); - erc20Token = - heldFeeTokens.find( - (t: { contractAddress?: string }) => t.contractAddress?.toLowerCase() === USDC_POLYGON - ) || - heldFeeTokens.find((t: { symbol?: string }) => t?.symbol === 'USDC') || - heldFeeTokens[0] || - null; - } catch { - // Indexer unavailable — fall back to symbol matching - } - if (!erc20Token) { - erc20Token = - tokens.find( - (t: { contractAddress?: string }) => - t?.contractAddress?.toLowerCase() === USDC_POLYGON - ) || - tokens.find( - (t: { contractAddress?: string; symbol?: string }) => - t?.contractAddress && t?.symbol === 'USDC' - ) || - tokens.find((t: { contractAddress?: string }) => t?.contractAddress) || - null; - } - } - - if (paymentAddress && erc20Token) { - const decimals = typeof erc20Token.decimals === 'number' ? erc20Token.decimals : 6; - const feeValue = decimals >= 2 ? 10 ** (decimals - 2) : 1; - feeOpt = { - token: erc20Token, - to: paymentAddress, - value: String(feeValue), - gasLimit: 0 - }; - if (debugFee) console.error(JSON.stringify({ debug: 'selectedFee', feeOpt }, null, 2)); - } - } catch (e) { - if (debugFee) - console.error( - JSON.stringify({ debug: 'getFeeTokens failed', error: (e as Error)?.message }, null, 2) - ); - } - } - - if (!feeOpt) { - try { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const feeOptions = await client.getFeeOptions(chainId, transactions as any); - feeOpt = feeOptions?.[0]; - } catch (e) { - throw new Error(`Unable to determine fee option: ${(e as Error)?.message}`); - } + const feeOptions = await client.getFeeOptions(chainId, transactions as any); + if (!feeOptions || feeOptions.length === 0) { + throw new Error('No fee options available for this transaction.'); } + const feeOpt = (preferNativeFee && feeOptions.find(isNativeFeeOption)) || feeOptions[0]; // eslint-disable-next-line @typescript-eslint/no-explicit-any const txHash = await client.sendTransaction(chainId, transactions as any, feeOpt); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 703a599..1c5cc40 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -106,17 +106,17 @@ importers: packages/polygon-agent-cli: dependencies: '@0xsequence/abi': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16 + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17 '@0xsequence/api': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16 + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17 '@0xsequence/builder': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16 + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17 '@0xsequence/dapp-client': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xsequence/dapp-client-cli': specifier: 0.1.5 version: 0.1.5(typescript@5.9.3)(zod@3.25.76) @@ -127,17 +127,17 @@ importers: specifier: ^2.3.40 version: 2.3.41(ethers@6.16.0) '@0xsequence/relayer': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xsequence/wallet-core': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xsequence/wallet-primitives': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xsequence/wallet-wdk': - specifier: 3.0.0-beta.16 - version: 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + specifier: 3.0.0-beta.17 + version: 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xtrails/api': specifier: ^0.10.4 version: 0.10.4 @@ -178,14 +178,14 @@ packages: '@0xsequence/abi@2.3.41': resolution: {integrity: sha512-CMiuW/5HiNxB0jpVBEUZfVkwXgeiT9HbsUy/7FL/8XWv9rLM5mE9Y6fj4QAH/jaRnvGfG4iDcCbq05+PQ/q5Rw==} - '@0xsequence/abi@3.0.0-beta.16': - resolution: {integrity: sha512-EqPirhge2aXRHuvE7lBvW4W4SZFuuIIh65LS+9Z/B47+2xef/pTyuZc4/lLl2Kz0zNFxsqUeggZD0DT/5XZTSA==} + '@0xsequence/abi@3.0.0-beta.17': + resolution: {integrity: sha512-YoIBLe1CzhEX0fLAWgI8ccPKT9EptzGsCjXPlZWyEB6lRyxvM3qhtVoZfB5t2I4n7IIhgS6FN8KdjFBidnhOkw==} - '@0xsequence/api@3.0.0-beta.16': - resolution: {integrity: sha512-CWTUJlScxMsUYXByL4FjLxtFgpeKOkCOICArLauwAD+6Ft1/6CWVswnbwymdnMoL3QGakX57DqSFnjyu+gFyrQ==} + '@0xsequence/api@3.0.0-beta.17': + resolution: {integrity: sha512-vvw+fzSZNmRtA6MTYNDKrtNjGl3u0aaEJviLkJ3oUruecKUuIPJkLmgvA8kNQQq0XJT8D9SVO8UJQYSipSkJHA==} - '@0xsequence/builder@3.0.0-beta.16': - resolution: {integrity: sha512-WTUKm0KNhXc8ByquS1Z20LYzRllfJAU+SdCjTKEw6Bv0Xs/9AYvWu+q8UHO+CSXj4vK3cs1c2OfmweAqc2YWcA==} + '@0xsequence/builder@3.0.0-beta.17': + resolution: {integrity: sha512-Oy4KAO4ow5AnTfHMJndZBG9ZF0MCSpih3NuYD1BzkPlueYMckWc6MKJNO+/vJn5ioKZUkeCGafOfT3WwbsrQpg==} '@0xsequence/core@2.3.41': resolution: {integrity: sha512-ibZ71pF0qkRjBXt7XiZLoP7THJn8d8M6MLKYE1u713g8iqmYT4ITlXWIGdO2T2noveSMw9YVCuJGkkh/PJ4PTw==} @@ -208,8 +208,8 @@ packages: '@0xsequence/guard@3.0.0-beta.19': resolution: {integrity: sha512-4A+LjH+uCywX9JD+O76D6o2ZkoIvym7LEVo5bxAcRV8zFyuwy7yiQHdiVvNcNaGayApn0Y7vt6mfZKdALoXqSA==} - '@0xsequence/identity-instrument@3.0.0-beta.19': - resolution: {integrity: sha512-aAoEXt5+JQCNyZttyxBVpZQOQf80hSE0CngsOiVxekJQl6xD/pX2FteWCXiPQPAeXOMtn6HTa/qNw+FAIAZpmg==} + '@0xsequence/identity-instrument@3.0.0': + resolution: {integrity: sha512-JKOVFlJvMHPCBrVPpSsVCq0yboBsVdgD49ScvOSiclia1yfPgIWne/MBmxTkcTUi8klB5ea912x4SNWatr3ztg==} '@0xsequence/indexer@2.3.41': resolution: {integrity: sha512-zAclbFgafj9O8+t4x7UmyNQu359SHY32aOGRQWsl5E7TvrfgPrAfDMW8Rfsu++fNwEhIgOt5gkL0kbyvUGKtLQ==} @@ -224,12 +224,12 @@ packages: peerDependencies: ethers: '>=6' - '@0xsequence/relayer@3.0.0': - resolution: {integrity: sha512-hMMAKGVeOqEdHO9/BqtSde1XpI6gc2V9ERXazuylYzly+eKnfLt2Ne/Tu0bGvfGgMU1+yvhGrtDabSxBRU5NMA==} - '@0xsequence/relayer@3.0.0-beta.16': resolution: {integrity: sha512-AThyuMWuvAJv64I2o38hJKtlRxzj51x8pYLWr70yqHkRi2CasHAEK5xEDhVJA9XCQ2g+XiKiBSezwsfNbStDVg==} + '@0xsequence/relayer@3.0.0-beta.17': + resolution: {integrity: sha512-PP75DQmaTQeNNzhC7zG5tCcGe44hfPyNKVEu5VjtYRQhQk+wlF1TjYxHUTB4ywynrnvfMYLDDE4uF7I6wjjMTg==} + '@0xsequence/tee-verifier@0.1.2': resolution: {integrity: sha512-7sKr8/T4newknx6LAukjlRI3siGiGhBnZohz2Z3jX0zb0EBQdKUq0L//A7CPSckHFPxTg/QvQU2v8e9x9GfkDw==} @@ -238,20 +238,20 @@ packages: peerDependencies: ethers: '>=6' - '@0xsequence/wallet-core@3.0.0': - resolution: {integrity: sha512-8A2UVY3lYPjo3/OxtVSGY4QJk34HEZKU8heMspoE563wyglwKP8Q0uxzFwQVMLc8mMV0qBIOMku3bdNEhI3FZw==} - '@0xsequence/wallet-core@3.0.0-beta.16': resolution: {integrity: sha512-Vi34/n5FPVXfbz6ykoiATXaG/CAYyMbo3f01/t3NuyZc2DkgzZ7/fIlN6G2i2PEi2aV3gTt/ENVapOsJVRD/xw==} - '@0xsequence/wallet-primitives@3.0.0': - resolution: {integrity: sha512-V43rz82YoRjOMRBRz8FRcXldyzdUtvhLaCwuqu2zW61SZhag/QVNEHNxGg8EGtqIt6e8xKHx8PfXPRWeUiEzpQ==} + '@0xsequence/wallet-core@3.0.0-beta.17': + resolution: {integrity: sha512-0IKBI+25BUoDbi/m3/uehFMjM+WuF8RAXVfz3QUtp7hI/sA6v0+bFA2Gq/rQdtoB40HkZjxTtsMhKEzmxLZTPA==} '@0xsequence/wallet-primitives@3.0.0-beta.16': resolution: {integrity: sha512-iwweQtEo/6sA6VBSVTQggdwKRvYoJOaRBrB+1trp05ULq4+rtvS+BG4mPfZQN86RWy93MYwCF1znsDon69u6wQ==} - '@0xsequence/wallet-wdk@3.0.0-beta.16': - resolution: {integrity: sha512-UQntO5CvZQkVsJEkZoGReIOUPa8i4m3Db/shbeUyJLfhMJCDWIbUNMlb8R9mOhPfISCumDzv84o05GDokhsWiA==} + '@0xsequence/wallet-primitives@3.0.0-beta.17': + resolution: {integrity: sha512-AjdckQi1tgqgHG55XvilfkINB0TTooCC2j5bHNB+FQyk30XwFCH7N6oUt55BzDycckHHrDhixsT7ua2V2/xxWg==} + + '@0xsequence/wallet-wdk@3.0.0-beta.17': + resolution: {integrity: sha512-tqunDMEu+LqNIt3Zbt6yrE6bb8tFs2aqk+fha0Tp7x8VOYGcgrPBiVOF48jjwljtzOk2tO/yu/tETH7wHIzX6Q==} '@0xtrails/api@0.10.4': resolution: {integrity: sha512-jjGYCxWvZxoox2kzEjVJSgmuy9LBKSxs1ZcEkGageJ6ggvOlN4H35H6kSouDkycz5uTyRsH3O+4qW6nxy9niBQ==} @@ -4897,11 +4897,11 @@ snapshots: '@0xsequence/abi@2.3.41': {} - '@0xsequence/abi@3.0.0-beta.16': {} + '@0xsequence/abi@3.0.0-beta.17': {} - '@0xsequence/api@3.0.0-beta.16': {} + '@0xsequence/api@3.0.0-beta.17': {} - '@0xsequence/builder@3.0.0-beta.16': {} + '@0xsequence/builder@3.0.0-beta.17': {} '@0xsequence/core@2.3.41(ethers@6.16.0)': dependencies: @@ -4938,9 +4938,9 @@ snapshots: '@0xsequence/dapp-client@3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76)': dependencies: '@0xsequence/guard': 3.0.0(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/relayer': 3.0.0(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/wallet-core': 3.0.0(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/wallet-primitives': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/relayer': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-core': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) transitivePeerDependencies: - bufferutil @@ -4962,7 +4962,7 @@ snapshots: - typescript - zod - '@0xsequence/identity-instrument@3.0.0-beta.19(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/identity-instrument@3.0.0(typescript@5.9.3)(zod@3.25.76)': dependencies: json-canonicalize: 2.0.0 jwt-decode: 4.0.0 @@ -4988,9 +4988,9 @@ snapshots: '@0xsequence/utils': 2.3.41(ethers@6.16.0) ethers: 6.16.0 - '@0xsequence/relayer@3.0.0(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/relayer@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': dependencies: - '@0xsequence/wallet-primitives': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) mipd: 0.0.7(typescript@5.9.3) ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) viem: 2.46.3(typescript@5.9.3)(zod@3.25.76) @@ -5000,9 +5000,9 @@ snapshots: - utf-8-validate - zod - '@0xsequence/relayer@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/relayer@3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76)': dependencies: - '@0xsequence/wallet-primitives': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) mipd: 0.0.7(typescript@5.9.3) ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) viem: 2.46.3(typescript@5.9.3)(zod@3.25.76) @@ -5022,11 +5022,11 @@ snapshots: ethers: 6.16.0 js-base64: 3.7.8 - '@0xsequence/wallet-core@3.0.0(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/wallet-core@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': dependencies: - '@0xsequence/guard': 3.0.0(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/relayer': 3.0.0(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/wallet-primitives': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/guard': 3.0.0-beta.19(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/relayer': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) mipd: 0.0.7(typescript@5.9.3) ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) viem: 2.46.3(typescript@5.9.3)(zod@3.25.76) @@ -5036,11 +5036,11 @@ snapshots: - utf-8-validate - zod - '@0xsequence/wallet-core@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/wallet-core@3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76)': dependencies: - '@0xsequence/guard': 3.0.0-beta.19(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/relayer': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/wallet-primitives': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/guard': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/relayer': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) mipd: 0.0.7(typescript@5.9.3) ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) viem: 2.46.3(typescript@5.9.3)(zod@3.25.76) @@ -5050,28 +5050,28 @@ snapshots: - utf-8-validate - zod - '@0xsequence/wallet-primitives@3.0.0(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/wallet-primitives@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': dependencies: ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) transitivePeerDependencies: - typescript - zod - '@0xsequence/wallet-primitives@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/wallet-primitives@3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76)': dependencies: ox: 0.9.17(typescript@5.9.3)(zod@3.25.76) transitivePeerDependencies: - typescript - zod - '@0xsequence/wallet-wdk@3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76)': + '@0xsequence/wallet-wdk@3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76)': dependencies: - '@0xsequence/guard': 3.0.0-beta.19(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/identity-instrument': 3.0.0-beta.19(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/relayer': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/guard': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/identity-instrument': 3.0.0(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/relayer': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) '@0xsequence/tee-verifier': 0.1.2 - '@0xsequence/wallet-core': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) - '@0xsequence/wallet-primitives': 3.0.0-beta.16(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-core': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) + '@0xsequence/wallet-primitives': 3.0.0-beta.17(typescript@5.9.3)(zod@3.25.76) idb: 8.0.3 jwt-decode: 4.0.0 ox: 0.9.17(typescript@5.9.3)(zod@3.25.76)