@xona-labs/xpay 0.2.23 → 0.2.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +133 -76
- package/README.md +95 -71
- package/SKILL.md +29 -22
- package/dist/agenc/api.d.ts +8 -8
- package/dist/agenc/api.js +11 -11
- package/dist/agenc/hire.d.ts +4 -4
- package/dist/agenc/hire.js +17 -17
- package/dist/agenc/price.d.ts +1 -1
- package/dist/agenc/price.js +1 -1
- package/dist/biometric/index.d.ts +3 -3
- package/dist/biometric/index.js +6 -6
- package/dist/cli/accounts.d.ts +1 -1
- package/dist/cli/accounts.js +1 -1
- package/dist/cli/agenc.d.ts +2 -2
- package/dist/cli/agenc.js +4 -4
- package/dist/cli/balance.d.ts +1 -1
- package/dist/cli/balance.d.ts.map +1 -1
- package/dist/cli/balance.js +11 -10
- package/dist/cli/balance.js.map +1 -1
- package/dist/cli/bento.d.ts +3 -3
- package/dist/cli/bento.js +8 -8
- package/dist/cli/bento.js.map +1 -1
- package/dist/cli/biometric.d.ts +1 -1
- package/dist/cli/biometric.js +8 -8
- package/dist/cli/common.js +6 -6
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/discover.d.ts +2 -2
- package/dist/cli/discover.js +10 -4
- package/dist/cli/discover.js.map +1 -1
- package/dist/cli/guardrail.d.ts +1 -1
- package/dist/cli/guardrail.js +3 -3
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +12 -12
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.js +2 -2
- package/dist/cli/magicblock.d.ts +1 -1
- package/dist/cli/magicblock.js +4 -4
- package/dist/cli/mcp-server.d.ts +2 -2
- package/dist/cli/mcp-server.js +21 -21
- package/dist/cli/pay.d.ts +1 -1
- package/dist/cli/pay.js +1 -1
- package/dist/cli/report.d.ts +2 -2
- package/dist/cli/report.js +4 -4
- package/dist/cli/report.js.map +1 -1
- package/dist/cli/sana.d.ts +1 -1
- package/dist/cli/sana.js +3 -3
- package/dist/cli/shop.d.ts +1 -1
- package/dist/cli/shop.js +1 -1
- package/dist/cli/swap.d.ts +1 -1
- package/dist/cli/swap.js +3 -3
- package/dist/cli/token.d.ts +2 -2
- package/dist/cli/token.js +2 -2
- package/dist/cli/trade.d.ts +2 -2
- package/dist/cli/trade.js +8 -8
- package/dist/cli/trade.js.map +1 -1
- package/dist/cli/transfer.d.ts +1 -1
- package/dist/cli/transfer.js +1 -1
- package/dist/cli/x.d.ts +1 -1
- package/dist/cli/x.js +1 -1
- package/dist/cli/zauth.d.ts +1 -1
- package/dist/cli/zauth.js +5 -5
- package/dist/discover/cache.js +1 -1
- package/dist/discover/index.d.ts +2 -2
- package/dist/discover/index.d.ts.map +1 -1
- package/dist/discover/index.js +21 -7
- package/dist/discover/index.js.map +1 -1
- package/dist/discover/orbitx402.d.ts +2 -2
- package/dist/discover/orbitx402.js +1 -1
- package/dist/discover/payai.js +1 -1
- package/dist/do/index.d.ts +2 -2
- package/dist/do/index.js +1 -1
- package/dist/guardrail/index.d.ts +4 -4
- package/dist/guardrail/index.js +14 -14
- package/dist/guardrail/index.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.js +2 -2
- package/dist/magicblock/client.d.ts +2 -2
- package/dist/magicblock/client.js +4 -4
- package/dist/profile/index.d.ts +3 -3
- package/dist/profile/index.d.ts.map +1 -1
- package/dist/profile/index.js +13 -4
- package/dist/profile/index.js.map +1 -1
- package/dist/profile/storage.d.ts +1 -1
- package/dist/profile/storage.js +4 -4
- package/dist/profile/types.d.ts +6 -6
- package/dist/profile/types.js +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/report/index.js +2 -2
- package/dist/sana/tools.js +8 -8
- package/dist/signers/raw-evm.d.ts +1 -1
- package/dist/signers/raw-evm.d.ts.map +1 -1
- package/dist/signers/raw-evm.js +22 -7
- package/dist/signers/raw-evm.js.map +1 -1
- package/dist/signers/raw-solana.d.ts +1 -1
- package/dist/signers/raw-solana.js +4 -4
- package/dist/swap/index.d.ts +6 -6
- package/dist/swap/index.js +12 -12
- package/dist/token/index.d.ts +8 -8
- package/dist/token/index.js +14 -14
- package/dist/token/rwa.d.ts +3 -3
- package/dist/token/rwa.js +3 -3
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +46 -41
- package/dist/tools/index.js.map +1 -1
- package/dist/trading/discovery.d.ts +6 -6
- package/dist/trading/discovery.js +7 -7
- package/dist/trading/index.d.ts +6 -6
- package/dist/trading/index.js +13 -13
- package/dist/transfer/index.d.ts +6 -5
- package/dist/transfer/index.d.ts.map +1 -1
- package/dist/transfer/index.js +41 -21
- package/dist/transfer/index.js.map +1 -1
- package/dist/types.d.ts +10 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/use/index.d.ts +5 -5
- package/dist/use/index.js +24 -20
- package/dist/use/index.js.map +1 -1
- package/dist/wallet/index.d.ts +2 -2
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +5 -3
- package/dist/wallet/index.js.map +1 -1
- package/dist/x402/evm-payment.d.ts +4 -4
- package/dist/x402/evm-payment.d.ts.map +1 -1
- package/dist/x402/evm-payment.js +7 -6
- package/dist/x402/evm-payment.js.map +1 -1
- package/dist/x402/extract.d.ts +1 -1
- package/dist/x402/extract.js +1 -1
- package/dist/x402/svm-payment.d.ts +2 -2
- package/dist/x402/svm-payment.js +2 -2
- package/dist/zauth/index.d.ts +4 -4
- package/dist/zauth/index.js +5 -5
- package/package.json +6 -3
package/dist/transfer/index.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Direct SPL / ERC-20 transfer
|
|
2
|
+
* Direct SPL / ERC-20 transfer - no x402, no provider, just send funds.
|
|
3
3
|
*
|
|
4
4
|
* Goes through the same guardrail as `use()` so a compromised CLI / agent
|
|
5
5
|
* can't drain the wallet past the configured caps.
|
|
6
6
|
*
|
|
7
7
|
* Solana: any SPL token by symbol (USDC, BONK, JUP, …) or raw mint address.
|
|
8
|
-
* EVM:
|
|
8
|
+
* EVM: the network's stablecoin only - USDC, or USDT0 on Stable (other
|
|
9
|
+
* ERC-20 addresses can be added to EVM_STABLECOIN as needed).
|
|
9
10
|
*/
|
|
10
11
|
import type { Network } from "../types.js";
|
|
11
12
|
import type { Wallet } from "../wallet/index.js";
|
|
@@ -16,7 +17,7 @@ export interface SplTokenInfo {
|
|
|
16
17
|
decimals: number;
|
|
17
18
|
symbol: string;
|
|
18
19
|
}
|
|
19
|
-
/** Well-known Solana SPL tokens
|
|
20
|
+
/** Well-known Solana SPL tokens - symbol (uppercase) → info. */
|
|
20
21
|
export declare const SOLANA_TOKENS: Record<string, SplTokenInfo>;
|
|
21
22
|
/** Symbols users can name in CLI / MCP. */
|
|
22
23
|
export declare const KNOWN_SOLANA_SYMBOLS: string[];
|
|
@@ -30,8 +31,8 @@ export interface TransferArgs {
|
|
|
30
31
|
/**
|
|
31
32
|
* Token to transfer.
|
|
32
33
|
* - Solana: symbol ("USDC", "BONK", "JUP", …) or raw mint address.
|
|
33
|
-
* - EVM: only "USDC"
|
|
34
|
-
* Defaults to
|
|
34
|
+
* - EVM: only the network's stablecoin - "USDC", or "USDT0" on Stable.
|
|
35
|
+
* Defaults to the network's stablecoin.
|
|
35
36
|
*/
|
|
36
37
|
token?: string;
|
|
37
38
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAUH,OAAO,KAAK,EAAE,OAAO,EAAsB,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAI3F,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAM,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAI,MAAM,CAAC;CAClB;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAUtD,CAAC;AAQF,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,UAAoD,CAAC;AAsBtF,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAI,MAAM,CAAC;IAChB,MAAM,EAAG,MAAM,CAAC;IAChB,KAAK,EAAI,MAAM,CAAC;IAChB,EAAE,EAAO,MAAM,CAAC;CACjB;AAID,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAmF1E"}
|
package/dist/transfer/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Direct SPL / ERC-20 transfer
|
|
2
|
+
* Direct SPL / ERC-20 transfer - no x402, no provider, just send funds.
|
|
3
3
|
*
|
|
4
4
|
* Goes through the same guardrail as `use()` so a compromised CLI / agent
|
|
5
5
|
* can't drain the wallet past the configured caps.
|
|
6
6
|
*
|
|
7
7
|
* Solana: any SPL token by symbol (USDC, BONK, JUP, …) or raw mint address.
|
|
8
|
-
* EVM:
|
|
8
|
+
* EVM: the network's stablecoin only - USDC, or USDT0 on Stable (other
|
|
9
|
+
* ERC-20 addresses can be added to EVM_STABLECOIN as needed).
|
|
9
10
|
*/
|
|
10
11
|
import { Connection, PublicKey, SystemProgram, Transaction, LAMPORTS_PER_SOL, } from "@solana/web3.js";
|
|
11
12
|
import { getMint } from "@solana/spl-token";
|
|
12
13
|
import { magicBlockPrivateTransfer } from "../magicblock/client.js";
|
|
13
|
-
/** Well-known Solana SPL tokens
|
|
14
|
+
/** Well-known Solana SPL tokens - symbol (uppercase) → info. */
|
|
14
15
|
export const SOLANA_TOKENS = {
|
|
15
16
|
USDC: { mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", decimals: 6, symbol: "USDC" },
|
|
16
17
|
USDT: { mint: "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB", decimals: 6, symbol: "USDT" },
|
|
@@ -30,31 +31,43 @@ for (const info of Object.values(SOLANA_TOKENS)) {
|
|
|
30
31
|
/** Symbols users can name in CLI / MCP. */
|
|
31
32
|
export const KNOWN_SOLANA_SYMBOLS = Object.values(SOLANA_TOKENS).map((t) => t.symbol);
|
|
32
33
|
// ─── EVM token addresses (USDC only for now) ─────────────────────────────────
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
/**
|
|
35
|
+
* The stablecoin each EVM network transfers by default: USDC everywhere except
|
|
36
|
+
* Stable, whose stablecoin is USDT0. All are 6 decimals, so the atomic-amount
|
|
37
|
+
* math below is shared.
|
|
38
|
+
*/
|
|
39
|
+
const EVM_STABLECOIN = {
|
|
40
|
+
base: { symbol: "USDC", contract: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" },
|
|
41
|
+
ethereum: { symbol: "USDC", contract: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" },
|
|
42
|
+
arbitrum: { symbol: "USDC", contract: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831" },
|
|
43
|
+
optimism: { symbol: "USDC", contract: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85" },
|
|
44
|
+
stable: { symbol: "USDT0", contract: "0x779Ded0c9e1022225f8E0630b35a9b54bE713736" },
|
|
38
45
|
};
|
|
46
|
+
/** EVM network slugs xpay knows how to derive a signer for. */
|
|
47
|
+
const EVM_NETWORKS = ["base", "ethereum", "arbitrum", "optimism", "robinhood", "stable"];
|
|
39
48
|
// ─── Main function ────────────────────────────────────────────────────────────
|
|
40
49
|
export async function transfer(args) {
|
|
41
50
|
if (!(args.amount > 0)) {
|
|
42
51
|
throw new Error(`transfer: amount must be > 0`);
|
|
43
52
|
}
|
|
44
53
|
const network = resolveNetwork(args);
|
|
45
|
-
// ── EVM path:
|
|
54
|
+
// ── EVM path: the network's stablecoin only ──────────────────────────────
|
|
46
55
|
if (network !== "solana") {
|
|
47
|
-
const
|
|
48
|
-
if (
|
|
49
|
-
throw new Error(`transfer:
|
|
56
|
+
const stablecoin = EVM_STABLECOIN[network];
|
|
57
|
+
if (!stablecoin) {
|
|
58
|
+
throw new Error(`transfer: no stablecoin registered for EVM network "${network}"`);
|
|
59
|
+
}
|
|
60
|
+
// Accept the network's own symbol, plus the generic "USDC"/"USDT" the
|
|
61
|
+
// caller may default to - on Stable they all mean USDT0.
|
|
62
|
+
const tokenSymbol = (args.token ?? stablecoin.symbol).toUpperCase();
|
|
63
|
+
const aliases = network === "stable" ? ["USDT0", "USDT", "USDC"] : ["USDC"];
|
|
64
|
+
if (!aliases.includes(tokenSymbol)) {
|
|
65
|
+
throw new Error(`transfer: only ${stablecoin.symbol} is supported on "${network}" (got "${args.token}"). ` +
|
|
50
66
|
`Multi-token EVM support coming soon.`);
|
|
51
67
|
}
|
|
52
|
-
const asset = EVM_USDC[network];
|
|
53
|
-
if (!asset)
|
|
54
|
-
throw new Error(`transfer: no USDC address registered for "${network}"`);
|
|
55
68
|
const atoms = BigInt(Math.round(args.amount * 1_000_000)).toString();
|
|
56
69
|
const requirement = {
|
|
57
|
-
asset, payTo: args.to, amount: atoms, scheme: "exact",
|
|
70
|
+
asset: stablecoin.contract, payTo: args.to, amount: atoms, scheme: "exact",
|
|
58
71
|
network: networkToScheme(network),
|
|
59
72
|
};
|
|
60
73
|
await args.guardrail.check({
|
|
@@ -63,14 +76,14 @@ export async function transfer(args) {
|
|
|
63
76
|
});
|
|
64
77
|
const signer = args.wallet.signer(network);
|
|
65
78
|
const txSig = await signer.pay(requirement);
|
|
66
|
-
return { network, txSig, amount: args.amount, token:
|
|
79
|
+
return { network, txSig, amount: args.amount, token: stablecoin.symbol, to: args.to };
|
|
67
80
|
}
|
|
68
81
|
// ── Solana path: native SOL ──────────────────────────────────────────────
|
|
69
82
|
const tokenKey = (args.token ?? "USDC").toUpperCase();
|
|
70
83
|
if (tokenKey === "SOL") {
|
|
71
84
|
if (args.private) {
|
|
72
85
|
throw new Error(`transfer: native SOL is not supported by MagicBlock PER (SPL tokens only). ` +
|
|
73
|
-
`Use "wSOL" instead
|
|
86
|
+
`Use "wSOL" instead - it goes through the PER and settles as wrapped SOL on the other end.`);
|
|
74
87
|
}
|
|
75
88
|
return transferNativeSol(args);
|
|
76
89
|
}
|
|
@@ -121,7 +134,7 @@ async function transferNativeSol(args) {
|
|
|
121
134
|
const rpc = process.env.XPAY_SOLANA_RPC ?? "https://solana-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ";
|
|
122
135
|
const connection = new Connection(rpc, "confirmed");
|
|
123
136
|
// Reconstruct keypair from the signer's signMessage so we can sign the tx.
|
|
124
|
-
// rawSolanaSigner keeps the keypair internally
|
|
137
|
+
// rawSolanaSigner keeps the keypair internally - we access it by signing a
|
|
125
138
|
// known message and rebuilding. Instead, we use a lower-level approach:
|
|
126
139
|
// delegate to signer.pay() with a synthetic SOL "requirement" if it supports
|
|
127
140
|
// it, otherwise build the SystemProgram.transfer tx ourselves.
|
|
@@ -160,7 +173,7 @@ async function resolveSolanaToken(token) {
|
|
|
160
173
|
// Reverse lookup by mint address.
|
|
161
174
|
if (BY_MINT[token])
|
|
162
175
|
return BY_MINT[token];
|
|
163
|
-
// Looks like a base58 mint address
|
|
176
|
+
// Looks like a base58 mint address - fetch from chain.
|
|
164
177
|
if (/^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(token)) {
|
|
165
178
|
const rpc = process.env.XPAY_SOLANA_RPC ?? "https://solana-mainnet.g.alchemy.com/v2/Ug5mqBVIbSHoa8ZHgTUSJ";
|
|
166
179
|
try {
|
|
@@ -187,7 +200,12 @@ function resolveNetwork(args) {
|
|
|
187
200
|
}
|
|
188
201
|
const looksLikeEvm = /^0x[0-9a-fA-F]{40}$/.test(args.to);
|
|
189
202
|
if (looksLikeEvm) {
|
|
190
|
-
|
|
203
|
+
// Auto-detect only across networks the profile actually opted into.
|
|
204
|
+
// Robinhood and Stable signers are always registered (see
|
|
205
|
+
// signersFromProfile), so keying off `wallet.has()` alone would make every
|
|
206
|
+
// EVM transfer ambiguous - reach those two with an explicit --network
|
|
207
|
+
// unless they're in the profile's `networks`.
|
|
208
|
+
const evm = args.wallet.networks.filter((n) => EVM_NETWORKS.includes(n) && args.wallet.has(n));
|
|
191
209
|
if (evm.length === 0)
|
|
192
210
|
throw new Error(`transfer: address looks EVM but no EVM signer is configured`);
|
|
193
211
|
if (evm.length === 1)
|
|
@@ -205,6 +223,8 @@ function networkToScheme(net) {
|
|
|
205
223
|
case "ethereum": return "eip155:1";
|
|
206
224
|
case "arbitrum": return "eip155:42161";
|
|
207
225
|
case "optimism": return "eip155:10";
|
|
226
|
+
case "robinhood": return "eip155:4663";
|
|
227
|
+
case "stable": return "eip155:988";
|
|
208
228
|
default: return net;
|
|
209
229
|
}
|
|
210
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,OAAO,EAAE,yBAAyB,EAAyB,MAAM,yBAAyB,CAAC;AAU3F,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,IAAI,EAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;IACjG,IAAI,EAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;IACjG,IAAI,EAAK,EAAE,IAAI,EAAE,6CAA6C,EAAI,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;IAClG,IAAI,EAAK,EAAE,IAAI,EAAE,6CAA6C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;IAChG,OAAO,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;IACjG,GAAG,EAAM,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAM;IACjG,IAAI,EAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;IACjG,GAAG,EAAM,EAAE,IAAI,EAAE,6CAA6C,EAAG,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAM;IACjG,IAAI,EAAK,EAAE,IAAI,EAAE,6CAA6C,EAAG,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAK;CAClG,CAAC;AAEF,2CAA2C;AAC3C,MAAM,OAAO,GAAiC,EAAE,CAAC;AACjD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtF,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,cAAc,GAAyD;IAC3E,IAAI,EAAO,EAAE,MAAM,EAAE,MAAM,EAAG,QAAQ,EAAE,4CAA4C,EAAE;IACtF,QAAQ,EAAG,EAAE,MAAM,EAAE,MAAM,EAAG,QAAQ,EAAE,4CAA4C,EAAE;IACtF,QAAQ,EAAG,EAAE,MAAM,EAAE,MAAM,EAAG,QAAQ,EAAE,4CAA4C,EAAE;IACtF,QAAQ,EAAG,EAAE,MAAM,EAAE,MAAM,EAAG,QAAQ,EAAE,4CAA4C,EAAE;IACtF,MAAM,EAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,4CAA4C,EAAE;CACvF,CAAC;AAEF,+DAA+D;AAC/D,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAsCzF,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC/C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAErC,4EAA4E;IAC5E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,uDAAuD,OAAO,GAAG,CAAC,CAAC;QACrF,CAAC;QACD,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,CAAC,MAAM,qBAAqB,OAAO,WAAW,IAAI,CAAC,KAAK,MAAM;gBAC1F,sCAAsC,CACvC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,WAAW,GAAuB;YACtC,KAAK,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;YAC1E,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC;SAClC,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,mBAAmB,OAAO,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;YACzH,WAAW;SACZ,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACxF,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,6EAA6E;gBAC7E,2FAA2F,CAC5F,CAAC;QACJ,CAAC;QACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE5F,MAAM,WAAW,GAAuB;QACtC,KAAK,EAAI,SAAS,CAAC,IAAI;QACvB,KAAK,EAAI,IAAI,CAAC,EAAE;QAChB,MAAM,EAAG,KAAK;QACd,MAAM,EAAG,OAAO;QAChB,OAAO,EAAE,QAAQ;KAClB,CAAC;IAEF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,0BAA0B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QACrH,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5C,iCAAiC;IACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC;YAC7C,MAAM;YACN,IAAI,EAAI,SAAS,CAAC,IAAI;YACtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;YACrB,EAAE,EAAM,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,IAAI,CAAC,gBAAgB;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;IACrG,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACvF,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,iBAAiB,CAAC,IAAkB;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAEpE,MAAM,WAAW,GAAuB;QACtC,KAAK,EAAI,KAAK;QACd,KAAK,EAAI,IAAI,CAAC,EAAE;QAChB,MAAM,EAAG,QAAQ,CAAC,QAAQ,EAAE;QAC5B,MAAM,EAAG,OAAO;QAChB,OAAO,EAAE,QAAQ;KAClB,CAAC;IACF,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACzB,QAAQ,EAAE,EAAE,QAAQ,EAAE,0BAA0B,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE;QACrH,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,+DAA+D,CAAC;IAC3G,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAEpD,2EAA2E;IAC3E,2EAA2E;IAC3E,wEAAwE;IACxE,6EAA6E;IAC7E,+DAA+D;IAC/D,EAAE;IACF,iFAAiF;IACjF,+EAA+E;IAC/E,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAK,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpC,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAC9B,aAAa,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CACrE,CAAC;IACF,EAAE,CAAC,eAAe,GAAG,CAAC,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC;IACvE,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEnB,MAAM,QAAQ,GAAI,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAI,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5F,MAAM,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAExD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AACtF,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,KAAK,UAAU,kBAAkB,CAAC,KAAa;IAC7C,iFAAiF;IACjF,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEtD,IAAI,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC,GAAG,CAAE,CAAC;IAEnD,iEAAiE;IACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAChD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,CACtC,CAAC;IACF,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,kCAAkC;IAClC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,KAAK,CAAE,CAAC;IAE3C,uDAAuD;IACvD,IAAI,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,+DAA+D,CAAC;QAC3G,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;QACvF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,KAAK;gBACtD,2DAA2D,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,KAAK;QACtC,kBAAkB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACrD,mDAAmD,CACpD,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,cAAc,CAAC,IAAkB;IACxC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC;QACjB,oEAAoE;QACpE,0DAA0D;QAC1D,2EAA2E;QAC3E,sEAAsE;QACtE,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CACtD,CAAC;QACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACrG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,CAAC,CAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,yEAAyE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CAC5H,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,GAAY;IACnC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,CAAM,OAAO,aAAa,CAAC;QACvC,KAAK,UAAU,CAAC,CAAE,OAAO,UAAU,CAAC;QACpC,KAAK,UAAU,CAAC,CAAE,OAAO,cAAc,CAAC;QACxC,KAAK,UAAU,CAAC,CAAE,OAAO,WAAW,CAAC;QACrC,KAAK,WAAW,CAAC,CAAC,OAAO,aAAa,CAAC;QACvC,KAAK,QAAQ,CAAC,CAAI,OAAO,YAAY,CAAC;QACtC,OAAO,CAAC,CAAU,OAAO,GAAG,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
9
|
/** A network slug. Keep this open-ended so new chains can be added without an SDK release. */
|
|
10
|
-
export type Network = "solana" | "base" | "ethereum" | "arbitrum" | "optimism"
|
|
10
|
+
export type Network = "solana" | "base" | "ethereum" | "arbitrum" | "optimism"
|
|
11
|
+
/** Robinhood Chain (Arbitrum Orbit L2, eip155:4663) - ETH-native. */
|
|
12
|
+
| "robinhood"
|
|
13
|
+
/** Stable (eip155:988) - Tether/Bitfinex payments L1, settles USDT0. */
|
|
14
|
+
| "stable" | (string & {});
|
|
11
15
|
/**
|
|
12
16
|
* One payment option attached to a {@link Resource}.
|
|
13
17
|
*
|
|
@@ -185,7 +189,7 @@ export interface PlatformFeeResult {
|
|
|
185
189
|
txSig?: string;
|
|
186
190
|
/** Whether the fee was successfully charged. */
|
|
187
191
|
success: boolean;
|
|
188
|
-
/** Error message if the fee charge failed (non-fatal
|
|
192
|
+
/** Error message if the fee charge failed (non-fatal - the use result is still returned). */
|
|
189
193
|
error?: string;
|
|
190
194
|
}
|
|
191
195
|
/** Result returned by {@link XPay.use}. */
|
|
@@ -214,7 +218,7 @@ export interface UseResult {
|
|
|
214
218
|
}
|
|
215
219
|
/** Options passed to {@link XPay.discover}. */
|
|
216
220
|
export interface DiscoverOptions {
|
|
217
|
-
/** Free-text query
|
|
221
|
+
/** Free-text query - matched against resource URL, metadata, and category. */
|
|
218
222
|
query?: string;
|
|
219
223
|
/** Restrict to specific networks. Defaults to all configured. */
|
|
220
224
|
networks?: Network[];
|
|
@@ -242,7 +246,7 @@ export interface Signer {
|
|
|
242
246
|
address: string;
|
|
243
247
|
/**
|
|
244
248
|
* Sign an arbitrary message (used for x402 payment authorization payloads).
|
|
245
|
-
* The exact bytes signed depend on the network
|
|
249
|
+
* The exact bytes signed depend on the network - see implementations.
|
|
246
250
|
*/
|
|
247
251
|
signMessage(message: Uint8Array): Promise<Uint8Array>;
|
|
248
252
|
/**
|
|
@@ -276,7 +280,7 @@ export interface Signer {
|
|
|
276
280
|
* Optional (EVM signers): sign an EIP-712 typed-data payload and return the
|
|
277
281
|
* hex signature. When present, `use()` pays eip155 endpoints gaslessly via
|
|
278
282
|
* a signed EIP-3009 `transferWithAuthorization` (the facilitator broadcasts
|
|
279
|
-
* and covers gas
|
|
283
|
+
* and covers gas - no native ETH needed); when absent, it falls back to the
|
|
280
284
|
* legacy `pay()` (broadcasts an ERC-20 transfer, wallet pays its own gas).
|
|
281
285
|
*/
|
|
282
286
|
signEvmTypedData?(typedData: {
|
|
@@ -291,7 +295,7 @@ export interface Signer {
|
|
|
291
295
|
* Optional (EVM signers): return the underlying ethers `Wallet` (connected to
|
|
292
296
|
* a provider) so higher-level flows like on-chain DEX trades can read chain
|
|
293
297
|
* state and broadcast arbitrary contract calls (swaps, approvals). Typed
|
|
294
|
-
* `unknown` to keep ethers out of the core type surface
|
|
298
|
+
* `unknown` to keep ethers out of the core type surface - callers cast it.
|
|
295
299
|
* Mirrors {@link Signer.getKitSigner}. Implemented by `rawEvmSigner`.
|
|
296
300
|
*/
|
|
297
301
|
getEvmWallet?(): unknown;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8FAA8F;AAC9F,MAAM,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8FAA8F;AAC9F,MAAM,MAAM,OAAO,GACf,QAAQ,GACR,MAAM,GACN,UAAU,GACV,UAAU,GACV,UAAU;AACZ,qEAAqE;GACnE,WAAW;AACb,wEAAwE;GACtE,QAAQ,GACR,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;IACnC,qDAAqD;;IAErD,yBAAyB;;IAEzB,sEAAsE;;IAEtE,wCAAwC;;IAExC,mFAAmF;;IAEnF,iDAAiD;;;;IAIjD,wEAAwE;;;;;;;;;;;;;;;;;;;;;;EAExE,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;IACzB,sDAAsD;;IAEtD,6DAA6D;;IAE7D,6BAA6B;;IAE7B,6CAA6C;;IAE7C,oCAAoC;;QAnCpC,qDAAqD;;QAErD,yBAAyB;;QAEzB,sEAAsE;;QAEtE,wCAAwC;;QAExC,mFAAmF;;QAEnF,iDAAiD;;;;QAIjD,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BxE,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,IAAI,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,oEAAoE;IACpE,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD;;;OAGG;IACH,GAAG,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C;;;OAGG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B;;;OAGG;IACH,aAAa,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1C;;;;;;;;;;OAUG;IACH,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,OAAO,CAAC;CAC1B"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,qDAAqD;IACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,yBAAyB;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,sEAAsE;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,wCAAwC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,mFAAmF;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,iDAAiD;IACjD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvC,wEAAwE;IACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,sDAAsD;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,6DAA6D;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,6BAA6B;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,6CAA6C;IAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,oCAAoC;IACpC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC"}
|
package/dist/use/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Use
|
|
2
|
+
* Use - call a paid resource, handling x402 payment end-to-end.
|
|
3
3
|
*
|
|
4
4
|
* Two modes:
|
|
5
5
|
* - **Catalog mode** (`resource` has `accepts[]`): we pick a requirement up
|
|
@@ -21,13 +21,13 @@ export interface UseArgs {
|
|
|
21
21
|
guardrail: Guardrail;
|
|
22
22
|
body?: unknown;
|
|
23
23
|
headers?: Record<string, string>;
|
|
24
|
-
/** AgenC hire settings (RPC, review window)
|
|
24
|
+
/** AgenC hire settings (RPC, review window) - used only for AgenC resources. */
|
|
25
25
|
agenc?: AgencHireConfig;
|
|
26
26
|
}
|
|
27
27
|
export declare function use(args: UseArgs): Promise<UseResult>;
|
|
28
28
|
/**
|
|
29
29
|
* Convenience: call any URL with x402 support. Agents can use this when they
|
|
30
|
-
* have a URL but no catalog entry
|
|
30
|
+
* have a URL but no catalog entry - e.g. crawled from the web.
|
|
31
31
|
*/
|
|
32
32
|
export interface UseByUrlArgs {
|
|
33
33
|
url: string;
|
|
@@ -40,8 +40,8 @@ export interface UseByUrlArgs {
|
|
|
40
40
|
export declare function useByUrl(args: UseByUrlArgs): Promise<UseResult>;
|
|
41
41
|
/**
|
|
42
42
|
* Charge the xPay platform fee ($0.01 USDC) via the x402 endpoint.
|
|
43
|
-
* Fires after every successful `use` call (including AgenC hires
|
|
44
|
-
* for the agenc module). Non-fatal
|
|
43
|
+
* Fires after every successful `use` call (including AgenC hires - exported
|
|
44
|
+
* for the agenc module). Non-fatal - a failure is reported in
|
|
45
45
|
* `platformFee.error` rather than throwing.
|
|
46
46
|
*/
|
|
47
47
|
export declare function chargePlatformFee(wallet: Wallet): Promise<PlatformFeeResult>;
|
package/dist/use/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Use
|
|
2
|
+
* Use - call a paid resource, handling x402 payment end-to-end.
|
|
3
3
|
*
|
|
4
4
|
* Two modes:
|
|
5
5
|
* - **Catalog mode** (`resource` has `accepts[]`): we pick a requirement up
|
|
@@ -16,21 +16,21 @@ import { buildSvmPaymentHeader, isSvmNetwork } from "../x402/svm-payment.js";
|
|
|
16
16
|
import { buildEvmPaymentHeader, hasEvmDomainParams, isEvmNetwork } from "../x402/evm-payment.js";
|
|
17
17
|
import { isAgencResource } from "../agenc/api.js";
|
|
18
18
|
export async function use(args) {
|
|
19
|
-
// AgenC listings are not HTTP resources
|
|
19
|
+
// AgenC listings are not HTTP resources - payment is an on-chain escrow
|
|
20
20
|
// hire, so branch before any x402 catalog / live-challenge logic.
|
|
21
21
|
if (isAgencResource(args.resource)) {
|
|
22
22
|
const { useAgencHire } = await import("../agenc/hire.js");
|
|
23
23
|
return useAgencHire(args);
|
|
24
24
|
}
|
|
25
25
|
// If we have accepts up front, pick the network we can actually pay on
|
|
26
|
-
// (balance-aware) and take the fast path
|
|
26
|
+
// (balance-aware) and take the fast path - unless the chosen option is
|
|
27
27
|
// missing fields that only a live 402 challenge carries.
|
|
28
28
|
if (args.resource.accepts.length > 0) {
|
|
29
29
|
const req = await args.wallet.pickRequirementByBalance(args.resource.accepts);
|
|
30
30
|
if (req) {
|
|
31
31
|
if (!reqNeedsLiveChallenge(args, req))
|
|
32
32
|
return useWithRequirements(args, req);
|
|
33
|
-
// Chosen option needs a live 402 (SVM v2 missing feePayer)
|
|
33
|
+
// Chosen option needs a live 402 (SVM v2 missing feePayer) - fall through.
|
|
34
34
|
}
|
|
35
35
|
else if (args.wallet.pickRequirement(args.resource.accepts)) {
|
|
36
36
|
// We can sign for an option but no payable network has the funds.
|
|
@@ -41,7 +41,7 @@ export async function use(args) {
|
|
|
41
41
|
return useWithLiveChallenge(args);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* Catalog entries are snapshots
|
|
44
|
+
* Catalog entries are snapshots - they carry payTo/asset/amount but not the
|
|
45
45
|
* per-facilitator settlement fields that only a fresh 402 challenge provides.
|
|
46
46
|
* SVM v2 settlement needs `extra.feePayer` (the facilitator's fee-payer
|
|
47
47
|
* pubkey); gasless EVM settlement needs the asset's EIP-712 domain params
|
|
@@ -75,7 +75,7 @@ export async function useByUrl(args) {
|
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
async function useWithRequirements(args, req) {
|
|
78
|
-
// Guardrail runs *before* signing
|
|
78
|
+
// Guardrail runs *before* signing - this is the security boundary.
|
|
79
79
|
await args.guardrail.check({ resource: args.resource, requirement: req });
|
|
80
80
|
const settled = await settle(args, req, args.resource.x402Version ?? 1);
|
|
81
81
|
const res = await callResource(args, settled.header);
|
|
@@ -87,11 +87,11 @@ async function useWithLiveChallenge(args) {
|
|
|
87
87
|
// Step 1: probe without payment.
|
|
88
88
|
const probe = await callResource(args, undefined);
|
|
89
89
|
if (probe.res.status !== 402) {
|
|
90
|
-
// No payment required
|
|
90
|
+
// No payment required - return the probe response as-is. (Useful when a
|
|
91
91
|
// resource later becomes free or for sanity checks.)
|
|
92
92
|
return finalize(probe, "unknown", "0");
|
|
93
93
|
}
|
|
94
|
-
// Step 2: parse the 402 challenge
|
|
94
|
+
// Step 2: parse the 402 challenge - may live in the body OR a response header.
|
|
95
95
|
const { accepts: reqs } = extractRequirements(probe.res.headers, probe.data);
|
|
96
96
|
if (reqs.length === 0) {
|
|
97
97
|
throw new Error(`xpay.use: ${args.resource.resource} returned 402 but no parseable accepts[] in body or headers`);
|
|
@@ -117,13 +117,13 @@ async function useWithLiveChallenge(args) {
|
|
|
117
117
|
* value plus accounting fields. Picks the right encoding by network:
|
|
118
118
|
*
|
|
119
119
|
* SVM (solana / solana:*) + signer has getKitSigner →
|
|
120
|
-
* canonical x402 v2
|
|
120
|
+
* canonical x402 v2 - sign-but-don't-broadcast, header carries the
|
|
121
121
|
* signed tx, facilitator settles. Returns header only (no txSig until
|
|
122
122
|
* the upstream call comes back).
|
|
123
123
|
*
|
|
124
124
|
* EVM (eip155:* / base / ethereum / …) + signer has signEvmTypedData +
|
|
125
125
|
* requirement carries EIP-712 domain params →
|
|
126
|
-
* canonical x402 v2
|
|
126
|
+
* canonical x402 v2 - gasless EIP-3009 transferWithAuthorization
|
|
127
127
|
* signature in the header, facilitator broadcasts and pays gas.
|
|
128
128
|
*
|
|
129
129
|
* Anything else (legacy v1) →
|
|
@@ -142,7 +142,7 @@ async function settle(args, req, x402Version) {
|
|
|
142
142
|
});
|
|
143
143
|
return { header, network };
|
|
144
144
|
}
|
|
145
|
-
// Gasless EVM v2
|
|
145
|
+
// Gasless EVM v2 - sign an EIP-3009 transferWithAuthorization, facilitator
|
|
146
146
|
// broadcasts and pays gas. Needs the EIP-712 domain params from the 402
|
|
147
147
|
// challenge; catalog snapshots without them were already routed through the
|
|
148
148
|
// live flow by reqNeedsLiveChallenge().
|
|
@@ -157,7 +157,7 @@ async function settle(args, req, x402Version) {
|
|
|
157
157
|
});
|
|
158
158
|
return { header, network };
|
|
159
159
|
}
|
|
160
|
-
// Legacy path
|
|
160
|
+
// Legacy path - sign + broadcast on our side, send txSig in the header.
|
|
161
161
|
const txSig = await signer.pay(req);
|
|
162
162
|
return { header: paymentHeader(req, txSig, x402Version), network, txSig };
|
|
163
163
|
}
|
|
@@ -168,7 +168,7 @@ async function callResource(args, paymentHeader) {
|
|
|
168
168
|
};
|
|
169
169
|
if (paymentHeader) {
|
|
170
170
|
// Most x402 servers read `X-PAYMENT`; some (e.g. Nansen) read
|
|
171
|
-
// `Payment-Signature`. The payload is identical, so send both
|
|
171
|
+
// `Payment-Signature`. The payload is identical, so send both - servers
|
|
172
172
|
// ignore the header name they don't recognise.
|
|
173
173
|
headers["x-payment"] = paymentHeader;
|
|
174
174
|
headers["payment-signature"] = paymentHeader;
|
|
@@ -195,7 +195,7 @@ async function callResource(args, paymentHeader) {
|
|
|
195
195
|
}
|
|
196
196
|
function finalize(raw, network, amountPaid, txSig) {
|
|
197
197
|
if (!raw.res.ok) {
|
|
198
|
-
throw new Error(`xpay.use: ${raw.res.status} ${raw.res.statusText}
|
|
198
|
+
throw new Error(`xpay.use: ${raw.res.status} ${raw.res.statusText} - ${typeof raw.data === "string" ? raw.data : JSON.stringify(raw.data)}`);
|
|
199
199
|
}
|
|
200
200
|
// For SVM v2 calls the facilitator broadcasts and echoes settlement details
|
|
201
201
|
// in the `PAYMENT-RESPONSE` header. If present, prefer its signature over
|
|
@@ -233,8 +233,8 @@ const PLATFORM_FEE_URL = "https://api.xona-agent.com/platform-fee";
|
|
|
233
233
|
const PLATFORM_FEE_AMOUNT = 0.01;
|
|
234
234
|
/**
|
|
235
235
|
* Charge the xPay platform fee ($0.01 USDC) via the x402 endpoint.
|
|
236
|
-
* Fires after every successful `use` call (including AgenC hires
|
|
237
|
-
* for the agenc module). Non-fatal
|
|
236
|
+
* Fires after every successful `use` call (including AgenC hires - exported
|
|
237
|
+
* for the agenc module). Non-fatal - a failure is reported in
|
|
238
238
|
* `platformFee.error` rather than throwing.
|
|
239
239
|
*/
|
|
240
240
|
export async function chargePlatformFee(wallet) {
|
|
@@ -262,7 +262,7 @@ export async function chargePlatformFee(wallet) {
|
|
|
262
262
|
if (!req) {
|
|
263
263
|
return { amount: PLATFORM_FEE_AMOUNT, success: false, error: `platform-fee: wallet has no signer for ${reqs.map(r => r.network).join(", ")}` };
|
|
264
264
|
}
|
|
265
|
-
// Pay and retry
|
|
265
|
+
// Pay and retry - use a minimal UseArgs stub (no guardrail needed for our own fee).
|
|
266
266
|
const network = normalizeNetwork(req.network);
|
|
267
267
|
const signer = wallet.signer(network);
|
|
268
268
|
let header;
|
|
@@ -302,13 +302,13 @@ export async function chargePlatformFee(wallet) {
|
|
|
302
302
|
/**
|
|
303
303
|
* Build a clear "you can't afford this" error listing the USDC balance on each
|
|
304
304
|
* network the wallet could have paid on. Raised only when every payable option
|
|
305
|
-
* is underfunded
|
|
305
|
+
* is underfunded - better than attempting a doomed payment and surfacing a raw
|
|
306
306
|
* 402 from the upstream provider.
|
|
307
307
|
*/
|
|
308
308
|
async function insufficientBalanceError(reqs, wallet) {
|
|
309
309
|
const nets = [...new Set(reqs.map((r) => normalizeNetwork(r.network)).filter((n) => wallet.has(n)))];
|
|
310
310
|
const parts = await Promise.all(nets.map(async (n) => `${n} $${(await wallet.balance(n).catch(() => 0)).toFixed(2)}`));
|
|
311
|
-
return new Error(`xpay.use: insufficient USDC balance to pay on any funded network
|
|
311
|
+
return new Error(`xpay.use: insufficient USDC balance to pay on any funded network - ${parts.join(", ")}. ` +
|
|
312
312
|
`Fund one of these and retry.`);
|
|
313
313
|
}
|
|
314
314
|
function normalizeNetwork(raw) {
|
|
@@ -320,7 +320,11 @@ function normalizeNetwork(raw) {
|
|
|
320
320
|
return "arbitrum";
|
|
321
321
|
if (raw === "eip155:10")
|
|
322
322
|
return "optimism";
|
|
323
|
-
|
|
323
|
+
if (raw === "eip155:4663")
|
|
324
|
+
return "robinhood";
|
|
325
|
+
if (raw === "eip155:988")
|
|
326
|
+
return "stable";
|
|
327
|
+
// Solana CAIP - any `solana:<genesis>` form collapses to our "solana" slug.
|
|
324
328
|
if (raw === "solana" || raw.startsWith("solana:") || raw.startsWith("solana-"))
|
|
325
329
|
return "solana";
|
|
326
330
|
return raw;
|
package/dist/use/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/use/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/use/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAUH,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAalD,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAa;IACrC,wEAAwE;IACxE,kEAAkE;IAClE,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1D,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,yDAAyD;IACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9E,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,OAAO,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7E,2EAA2E;QAC7E,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,kEAAkE;YAClE,MAAM,MAAM,wBAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,oDAAoD;IACpD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,IAAa,EAAE,GAAuB;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,MAAM,EAAE,YAAY,KAAK,UAAU,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;IAC5E,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,MAAM,EAAE,gBAAgB,KAAK,UAAU,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC/C,MAAM,QAAQ,GAAa;QACzB,QAAQ,EAAE,IAAI,CAAC,GAAG;QAClB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;QAC5B,OAAO,EAAE,EAAE;KACZ,CAAC;IACF,OAAO,oBAAoB,CAAC;QAC1B,QAAQ;QACR,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAAa,EACb,GAAuB;IAEvB,mEAAmE;IACnE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,CAAC,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAa;IAC/C,iCAAiC;IACjC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7B,wEAAwE;QACxE,qDAAqD;QACrD,OAAO,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,+EAA+E;IAC/E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,6DAA6D,CACjG,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,kEAAkE;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,aAAa,IAAI,CAAC,QAAQ,CAAC,QAAQ,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,CACzH,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAE3C,gCAAgC;IAChC,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,MAAM,CAAC,WAAW,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,MAAM,CACnB,IAAa,EACb,GAAuB,EACvB,WAAmB;IAEnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;YACzC,SAAS;YACT,WAAW,EAAE,GAAG;YAChB,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,4EAA4E;IAC5E,wCAAwC;IACxC,IACE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC;QACzB,OAAO,MAAM,CAAC,gBAAgB,KAAK,UAAU;QAC7C,kBAAkB,CAAC,GAAG,CAAC,EACvB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;YACzC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YACnD,WAAW,EAAE,GAAG;YAChB,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,wEAAwE;IACxE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5E,CAAC;AAOD,KAAK,UAAU,YAAY,CACzB,IAAa,EACb,aAAiC;IAEjC,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,kBAAkB;QAC1B,GAAG,IAAI,CAAC,OAAO;KAChB,CAAC;IACF,IAAI,aAAa,EAAE,CAAC;QAClB,8DAA8D;QAC9D,wEAAwE;QACxE,+CAA+C;QAC/C,OAAO,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QACrC,OAAO,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC;IAC/C,CAAC;IAED,IAAI,IAA0B,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9C,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAC5B,OAAO;QACP,IAAI;KACL,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAY,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,QAAQ,CACf,GAAgB,EAChB,OAAe,EACf,UAAkB,EAClB,KAAc;IAEd,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,MAC/C,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACnE,EAAE,CACH,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE1D,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM;QACtB,OAAO;QACP,UAAU;QACV,KAAK,EAAE,UAAU,EAAE,WAAW,IAAI,KAAK;QACvC,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CACpB,GAAuB,EACvB,KAAa,EACb,WAAmB;IAEnB,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG;QACzB,KAAK;QACL,WAAW;KACZ,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AACnE,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IACpD,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,SAAS,GAAY,SAAS,CAAC;QACnC,IAAI,CAAC;YAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAEzE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6CAA6C,EAAE,CAAC;QAC/G,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0CAA0C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACjJ,CAAC;QAED,oFAAoF;QACpF,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,MAAc,CAAC;QACnB,IAAI,KAAyB,CAAC;QAE9B,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAC3E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,GAAG,MAAM,qBAAqB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;gBAC1D,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;aACnE,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,EAAE;YAChG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO;YACL,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,UAAU,EAAE,WAAW,IAAI,KAAK;YACvC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,iBAAiB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC3E,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,wBAAwB,CACrC,IAA0B,EAC1B,MAAyB;IAEzB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CACtF,CAAC;IACF,OAAO,IAAI,KAAK,CACd,sEAAsE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACxF,8BAA8B,CACjC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,GAAG,KAAK,aAAa;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,GAAG,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,GAAG,KAAK,cAAc;QAAE,OAAO,UAAU,CAAC;IAC9C,IAAI,GAAG,KAAK,WAAW;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,GAAG,KAAK,aAAa;QAAE,OAAO,WAAW,CAAC;IAC9C,IAAI,GAAG,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC;IAC1C,4EAA4E;IAC5E,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChG,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/wallet/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Multi-network wallet. Thin facade over per-network {@link Signer}s.
|
|
3
3
|
*
|
|
4
|
-
* The wallet doesn't hold keys
|
|
4
|
+
* The wallet doesn't hold keys - signers do. This module just exposes a
|
|
5
5
|
* unified view (addresses, balances) and lets callers pick which network to
|
|
6
6
|
* use for a given payment.
|
|
7
7
|
*/
|
|
@@ -28,7 +28,7 @@ export interface Wallet {
|
|
|
28
28
|
pickRequirement(reqs: PaymentRequirement[]): PaymentRequirement | undefined;
|
|
29
29
|
/**
|
|
30
30
|
* Balance-aware picker. Among requirements we have a signer for, prefer the
|
|
31
|
-
* first (in listed order) whose wallet balance covers the cost
|
|
31
|
+
* first (in listed order) whose wallet balance covers the cost - so a $0
|
|
32
32
|
* Base wallet falls through to a funded Solana one. When there are multiple
|
|
33
33
|
* payable networks but none can cover the cost, returns `undefined` so the
|
|
34
34
|
* caller can raise a clear "insufficient balance" error instead of attempting
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,MAAM;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7B,6CAA6C;IAC7C,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,sDAAsD;IACtD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC5E;;;;;;;;OAQG;IACH,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAC/F;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,MAAM;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC7B,6CAA6C;IAC7C,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,gEAAgE;IAChE,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC,sDAAsD;IACtD,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,sFAAsF;IACtF,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC5E;;;;;;;;OAQG;IACH,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;CAC/F;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAyExD"}
|
package/dist/wallet/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Multi-network wallet. Thin facade over per-network {@link Signer}s.
|
|
3
3
|
*
|
|
4
|
-
* The wallet doesn't hold keys
|
|
4
|
+
* The wallet doesn't hold keys - signers do. This module just exposes a
|
|
5
5
|
* unified view (addresses, balances) and lets callers pick which network to
|
|
6
6
|
* use for a given payment.
|
|
7
7
|
*/
|
|
@@ -18,7 +18,7 @@ export function createWallet(opts) {
|
|
|
18
18
|
function matchNetwork(raw) {
|
|
19
19
|
if (signers[raw])
|
|
20
20
|
return raw;
|
|
21
|
-
// Solana CAIP
|
|
21
|
+
// Solana CAIP - `solana:<genesis-hash>` (mainnet/devnet/testnet) → "solana".
|
|
22
22
|
if ((raw === "solana" || raw.startsWith("solana:") || raw.startsWith("solana-")) && signers["solana"]) {
|
|
23
23
|
return "solana";
|
|
24
24
|
}
|
|
@@ -32,6 +32,8 @@ export function createWallet(opts) {
|
|
|
32
32
|
return "optimism";
|
|
33
33
|
if (raw === "eip155:4663" && signers["robinhood"])
|
|
34
34
|
return "robinhood";
|
|
35
|
+
if (raw === "eip155:988" && signers["stable"])
|
|
36
|
+
return "stable";
|
|
35
37
|
return undefined;
|
|
36
38
|
}
|
|
37
39
|
/** USDC balance for a network slug; 0 when the signer can't report it. */
|
|
@@ -69,7 +71,7 @@ export function createWallet(opts) {
|
|
|
69
71
|
return candidates[0];
|
|
70
72
|
// Multiple payable networks: read each balance in parallel and pick the
|
|
71
73
|
// first (listed order) that covers the cost. Compare assumes USDC
|
|
72
|
-
// (6 decimals)
|
|
74
|
+
// (6 decimals) - the asset for virtually all x402 calls.
|
|
73
75
|
const scored = await Promise.all(candidates.map(async (req) => {
|
|
74
76
|
const net = matchNetwork(req.network);
|
|
75
77
|
const bal = await balanceOf(net);
|