@aifinpay/agent 1.8.4 → 2.0.0-rc.8
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/README.md +7 -9
- package/dist/agentPassport.d.ts +35 -0
- package/dist/agentPassport.d.ts.map +1 -0
- package/dist/agentPassport.js +87 -0
- package/dist/agentPassport.js.map +1 -0
- package/dist/aifp1.d.ts +52 -9
- package/dist/aifp1.d.ts.map +1 -1
- package/dist/aifp1.js +94 -2
- package/dist/aifp1.js.map +1 -1
- package/dist/chains.d.ts +4 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +24 -0
- package/dist/chains.js.map +1 -0
- package/dist/facilitators/detect.d.ts +3 -3
- package/dist/facilitators/detect.d.ts.map +1 -1
- package/dist/facilitators/detect.js +3 -22
- package/dist/facilitators/detect.js.map +1 -1
- package/dist/facilitators/standard-x402.d.ts +4 -8
- package/dist/facilitators/standard-x402.d.ts.map +1 -1
- package/dist/facilitators/standard-x402.js +202 -92
- package/dist/facilitators/standard-x402.js.map +1 -1
- package/dist/index.d.ts +14 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -34
- package/dist/index.js.map +1 -1
- package/dist/settlement.d.ts +172 -0
- package/dist/settlement.d.ts.map +1 -0
- package/dist/settlement.js +355 -0
- package/dist/settlement.js.map +1 -0
- package/dist/settlementV14.d.ts +135 -0
- package/dist/settlementV14.d.ts.map +1 -0
- package/dist/settlementV14.js +203 -0
- package/dist/settlementV14.js.map +1 -0
- package/dist/splitterRoutes.d.ts +116 -0
- package/dist/splitterRoutes.d.ts.map +1 -0
- package/dist/splitterRoutes.generated.d.ts +22 -0
- package/dist/splitterRoutes.generated.d.ts.map +1 -0
- package/dist/splitterRoutes.generated.js +399 -0
- package/dist/splitterRoutes.generated.js.map +1 -0
- package/dist/splitterRoutes.js +70 -0
- package/dist/splitterRoutes.js.map +1 -0
- package/dist/unifiedAgent.d.ts +9 -5
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +32 -77
- package/dist/unifiedAgent.js.map +1 -1
- package/dist/wallet.d.ts +11 -52
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +27 -51
- package/dist/wallet.js.map +1 -1
- package/package.json +6 -4
package/README.md
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# @aifinpay/agent (Node / TypeScript)
|
|
2
2
|
|
|
3
|
-
Non-custodial
|
|
4
|
-
[AiFinPay](https://aifinpay.io)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
Polygon + Solana. The protocol is live across 13 networks — see
|
|
11
|
-
[aifinpay.io/llms.txt](https://aifinpay.io/llms.txt).
|
|
3
|
+
Non-custodial payment client for autonomous AI agents on
|
|
4
|
+
[AiFinPay](https://aifinpay.io). AIFP-1 is gross-inclusive: payer total equals
|
|
5
|
+
the quote, merchant receives 99%, AiFinPay receives 1%, creator/referral
|
|
6
|
+
receives 0%. AIFP-2/x402 currently charges 0% at the protocol layer. Legacy
|
|
7
|
+
`/api/b2b` split-invoice methods are retired. Settlement fails closed unless
|
|
8
|
+
the selected deployment, runtime hash, governance profile, merchant target,
|
|
9
|
+
asset and paid E2E evidence are verified.
|
|
12
10
|
|
|
13
11
|
The Ed25519 keypair is generated locally with `tweetnacl` and never leaves
|
|
14
12
|
your process. The SDK only sends a one-time SHA-256 + Ed25519 signature in
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type AgentPassportNetwork = "polygon" | "avalanche" | "arbitrum" | "bnb" | "base" | "unichain" | "optimism" | "botchain" | "xrplevm" | "solana" | "near" | "aptos" | "casper";
|
|
2
|
+
export type AgentPassportChainFamily = "evm" | "solana" | "near" | "aptos" | "casper";
|
|
3
|
+
export interface AgentPassportWalletBinding {
|
|
4
|
+
network: AgentPassportNetwork;
|
|
5
|
+
chain_family: AgentPassportChainFamily;
|
|
6
|
+
address: string;
|
|
7
|
+
is_primary: boolean;
|
|
8
|
+
verified_at: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AgentPassportIdentity {
|
|
11
|
+
agent_id: string;
|
|
12
|
+
agent_number: number;
|
|
13
|
+
agent_number_display: string;
|
|
14
|
+
username: string;
|
|
15
|
+
display_name: string | null;
|
|
16
|
+
status: "active" | "suspended" | "revoked";
|
|
17
|
+
verification_level: "self_verified" | "organization_verified" | "enhanced_verified";
|
|
18
|
+
created_at: number;
|
|
19
|
+
updated_at: number;
|
|
20
|
+
wallets: AgentPassportWalletBinding[];
|
|
21
|
+
}
|
|
22
|
+
export declare class AgentPassportError extends Error {
|
|
23
|
+
readonly code: string;
|
|
24
|
+
constructor(message: string, code?: string);
|
|
25
|
+
}
|
|
26
|
+
export declare function normalizeAgentPassportIdentifier(identifier: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve a public Agent Passport by @username, permanent AIFP number, or
|
|
29
|
+
* immutable agent_id. Resolution is addressability only; callers MUST still
|
|
30
|
+
* verify/require the destination wallet signature or payment invoice rules.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveAgentPassport(identifier: string, baseUrl?: string, fetchImpl?: typeof fetch): Promise<AgentPassportIdentity>;
|
|
33
|
+
/** Pick a verified wallet binding without silently crossing networks. */
|
|
34
|
+
export declare function agentPassportWallet(passport: AgentPassportIdentity, network: AgentPassportNetwork): AgentPassportWalletBinding;
|
|
35
|
+
//# sourceMappingURL=agentPassport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentPassport.d.ts","sourceRoot":"","sources":["../src/agentPassport.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC5B,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAClE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,oBAAoB,CAAC;IAC9B,YAAY,EAAE,wBAAwB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAC3C,kBAAkB,EAAE,eAAe,GAAG,uBAAuB,GAAG,mBAAmB,CAAC;IACpF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACvC;AAED,qBAAa,kBAAmB,SAAQ,KAAK;aACE,IAAI;gBAArC,OAAO,EAAE,MAAM,EAAkB,IAAI,SAAyB;CAI3E;AAMD,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAY3E;AA6BD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,SAAwB,EAC/B,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgBhC;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,oBAAoB,GAC5B,0BAA0B,CAQ5B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export class AgentPassportError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
constructor(message, code = "agent_passport_error") {
|
|
4
|
+
super(message);
|
|
5
|
+
this.code = code;
|
|
6
|
+
this.name = "AgentPassportError";
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
const AGENT_ID_RE = /^aifp_agent_[0-9a-f]{32}$/;
|
|
10
|
+
const AGENT_NUMBER_RE = /^AIFP-\d{1,18}$/i;
|
|
11
|
+
const USERNAME_RE = /^@[a-z][a-z0-9_]{2,31}$/;
|
|
12
|
+
export function normalizeAgentPassportIdentifier(identifier) {
|
|
13
|
+
const raw = String(identifier || "").trim();
|
|
14
|
+
if (AGENT_ID_RE.test(raw))
|
|
15
|
+
return raw;
|
|
16
|
+
if (AGENT_NUMBER_RE.test(raw))
|
|
17
|
+
return `AIFP-${raw.split("-")[1]}`;
|
|
18
|
+
const username = raw.startsWith("@") ? raw.toLowerCase() : `@${raw.toLowerCase()}`;
|
|
19
|
+
if (!USERNAME_RE.test(username)) {
|
|
20
|
+
throw new AgentPassportError("identifier must be an immutable aifp_agent_* id, AIFP number, or 3-32 character @username", "invalid_agent_identifier");
|
|
21
|
+
}
|
|
22
|
+
return username;
|
|
23
|
+
}
|
|
24
|
+
function validateResolvedIdentity(value) {
|
|
25
|
+
if (!value || typeof value !== "object")
|
|
26
|
+
throw new AgentPassportError("invalid Agent Passport response");
|
|
27
|
+
const v = value;
|
|
28
|
+
if (typeof v.agent_id !== "string" || !AGENT_ID_RE.test(v.agent_id)) {
|
|
29
|
+
throw new AgentPassportError("invalid agent_id in Agent Passport response");
|
|
30
|
+
}
|
|
31
|
+
if (typeof v.agent_number !== "number" || !Number.isSafeInteger(v.agent_number) || v.agent_number <= 0) {
|
|
32
|
+
throw new AgentPassportError("invalid agent_number in Agent Passport response");
|
|
33
|
+
}
|
|
34
|
+
if (typeof v.agent_number_display !== "string" || !AGENT_NUMBER_RE.test(v.agent_number_display)) {
|
|
35
|
+
throw new AgentPassportError("invalid agent_number_display in Agent Passport response");
|
|
36
|
+
}
|
|
37
|
+
if (typeof v.username !== "string" || !USERNAME_RE.test(v.username)) {
|
|
38
|
+
throw new AgentPassportError("invalid username in Agent Passport response");
|
|
39
|
+
}
|
|
40
|
+
if (!Array.isArray(v.wallets))
|
|
41
|
+
throw new AgentPassportError("Agent Passport response has no wallets array");
|
|
42
|
+
const wallets = v.wallets.map((raw) => {
|
|
43
|
+
if (!raw || typeof raw !== "object")
|
|
44
|
+
throw new AgentPassportError("invalid wallet binding");
|
|
45
|
+
const w = raw;
|
|
46
|
+
if (typeof w.network !== "string" || typeof w.chain_family !== "string" || typeof w.address !== "string") {
|
|
47
|
+
throw new AgentPassportError("invalid wallet binding fields");
|
|
48
|
+
}
|
|
49
|
+
return raw;
|
|
50
|
+
});
|
|
51
|
+
return { ...value, wallets };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Resolve a public Agent Passport by @username, permanent AIFP number, or
|
|
55
|
+
* immutable agent_id. Resolution is addressability only; callers MUST still
|
|
56
|
+
* verify/require the destination wallet signature or payment invoice rules.
|
|
57
|
+
*/
|
|
58
|
+
export async function resolveAgentPassport(identifier, baseUrl = "https://aifinpay.io", fetchImpl = fetch) {
|
|
59
|
+
const normalized = normalizeAgentPassportIdentifier(identifier);
|
|
60
|
+
const url = `${baseUrl.replace(/\/$/, "")}/api/agent/resolve/${encodeURIComponent(normalized)}`;
|
|
61
|
+
const response = await fetchImpl(url, { headers: { accept: "application/json" } });
|
|
62
|
+
let body;
|
|
63
|
+
try {
|
|
64
|
+
body = await response.json();
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
throw new AgentPassportError(`Agent Passport resolver returned non-JSON HTTP ${response.status}`);
|
|
68
|
+
}
|
|
69
|
+
if (!response.ok) {
|
|
70
|
+
const rec = body && typeof body === "object" ? body : {};
|
|
71
|
+
throw new AgentPassportError(typeof rec.error === "string" ? rec.error : `Agent Passport HTTP ${response.status}`, response.status === 404 ? "agent_not_found" : "agent_passport_http_error");
|
|
72
|
+
}
|
|
73
|
+
const rec = body;
|
|
74
|
+
return validateResolvedIdentity(rec.agent);
|
|
75
|
+
}
|
|
76
|
+
/** Pick a verified wallet binding without silently crossing networks. */
|
|
77
|
+
export function agentPassportWallet(passport, network) {
|
|
78
|
+
if (passport.status !== "active") {
|
|
79
|
+
throw new AgentPassportError(`Agent Passport is ${passport.status}`, "agent_not_active");
|
|
80
|
+
}
|
|
81
|
+
const candidates = passport.wallets.filter((w) => w.network === network);
|
|
82
|
+
const selected = candidates.find((w) => w.is_primary) ?? candidates[0];
|
|
83
|
+
if (!selected)
|
|
84
|
+
throw new AgentPassportError(`Agent Passport has no verified ${network} wallet`, "wallet_binding_missing");
|
|
85
|
+
return selected;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=agentPassport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentPassport.js","sourceRoot":"","sources":["../src/agentPassport.ts"],"names":[],"mappings":"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"}
|
package/dist/aifp1.d.ts
CHANGED
|
@@ -55,28 +55,66 @@ export interface Aifp1Quote {
|
|
|
55
55
|
accepted_assets: string[];
|
|
56
56
|
accepted_chains: string[];
|
|
57
57
|
pay_to: Record<string, string>;
|
|
58
|
-
/**
|
|
58
|
+
/** Native Polygon v1.3 gross settlement, when enabled by backend readiness. */
|
|
59
59
|
native_settlement?: {
|
|
60
60
|
asset: string;
|
|
61
61
|
decimals: number;
|
|
62
62
|
rate_usd: string;
|
|
63
|
+
rate_fixed_at?: string;
|
|
63
64
|
total_wei: string;
|
|
65
|
+
gross_wei?: string;
|
|
66
|
+
payer_total_wei?: string;
|
|
64
67
|
merchant_wei: string;
|
|
65
68
|
treasury_wei: string;
|
|
66
69
|
creator_wei: string;
|
|
70
|
+
valid_until?: string;
|
|
71
|
+
settlement_semantics?: "gross-inclusive";
|
|
67
72
|
};
|
|
68
73
|
settlement: {
|
|
69
74
|
batch_units: string;
|
|
70
75
|
total_units: string;
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
gross_units: string;
|
|
77
|
+
payer_total_units: string;
|
|
78
|
+
merchant_units: string;
|
|
79
|
+
protocol_fee_units: string;
|
|
80
|
+
creator_units: string;
|
|
81
|
+
fee_on_top: false;
|
|
76
82
|
};
|
|
77
83
|
nonce: string;
|
|
78
84
|
expires_at: string;
|
|
79
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* A one-object, human-and-LLM-readable summary of what a quote actually buys.
|
|
88
|
+
*
|
|
89
|
+
* The raw quote answers "1.06 POL" and leaves the agent — or the person reading
|
|
90
|
+
* over its shoulder — to work out FOR WHAT. That is the gap an agent-flow audit
|
|
91
|
+
* flagged: a payment prompt that states an amount without the terms is a prompt
|
|
92
|
+
* a careful agent should refuse, and a careless one over-pays on. Every field
|
|
93
|
+
* here already exists in the quote; this just assembles them into the sentence
|
|
94
|
+
* a reasonable payer needs before signing.
|
|
95
|
+
*/
|
|
96
|
+
export interface QuoteSummary {
|
|
97
|
+
/** One line, safe to show a user or feed an LLM: what, how much, how many, until when. */
|
|
98
|
+
headline: string;
|
|
99
|
+
amount_usd: string;
|
|
100
|
+
/** The on-chain figure and its asset, when the quote is settled natively. */
|
|
101
|
+
pay: {
|
|
102
|
+
amount: string;
|
|
103
|
+
asset: string;
|
|
104
|
+
} | null;
|
|
105
|
+
/** How many requests this batch covers, and each request's weight. */
|
|
106
|
+
requests: number;
|
|
107
|
+
unit_quota: number;
|
|
108
|
+
/** WHERE the batch may be spent — the single most misread field (see the
|
|
109
|
+
* wildcard bug): "exact" buys one path, "prefix" buys a subtree. */
|
|
110
|
+
scope: Aifp1Scope;
|
|
111
|
+
resource: string;
|
|
112
|
+
/** When the quote stops being settleable. */
|
|
113
|
+
expires_at: string;
|
|
114
|
+
/** The protocol fee, stated up front. */
|
|
115
|
+
fee_bps: number | null;
|
|
116
|
+
}
|
|
117
|
+
export declare function describeQuote(q: Aifp1Quote): QuoteSummary;
|
|
80
118
|
/** POST /v1/pay 200 body — routes/aifp.js. */
|
|
81
119
|
export interface Aifp1PayResult {
|
|
82
120
|
receipt_id: string;
|
|
@@ -276,12 +314,17 @@ export interface Aifp1Deps {
|
|
|
276
314
|
/** AIFP-Agent-Id / agent_id — a 0x address, or agent policies cannot key on it. */
|
|
277
315
|
agentId: string;
|
|
278
316
|
/**
|
|
279
|
-
* Settle
|
|
280
|
-
*
|
|
317
|
+
* Settle one canonical v1.3 gross amount, returning a hash whose transaction
|
|
318
|
+
* was included AND succeeded. Implementations must independently verify the
|
|
319
|
+
* deployment/runtime profile before signing.
|
|
281
320
|
*/
|
|
282
321
|
settle(p: {
|
|
283
322
|
merchantWallet: `0x${string}`;
|
|
284
|
-
|
|
323
|
+
grossWei: bigint;
|
|
324
|
+
merchantWei: bigint;
|
|
325
|
+
treasuryWei: bigint;
|
|
326
|
+
creatorWei: bigint;
|
|
327
|
+
validUntil: bigint;
|
|
285
328
|
orderId: string;
|
|
286
329
|
}): Promise<`0x${string}`>;
|
|
287
330
|
/** Per-call cap. false ⇒ the caller asked to skip rather than throw. */
|
package/dist/aifp1.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aifp1.d.ts","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAS5C,qBAAa,UAAW,SAAQ,aAAa;CAAG;AAEhD,oEAAoE;AACpE,qBAAa,eAAgB,SAAQ,UAAU;CAAG;AAElD,sEAAsE;AACtE,qBAAa,+BAAgC,SAAQ,UAAU;CAAG;AAElE;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,UAAU;aACF,KAAK,CAAC,EAAE,MAAM;aAAkB,OAAO,CAAC,EAAE,MAAM;gBAA7E,GAAG,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,MAAM,YAAA,EAAkB,OAAO,CAAC,EAAE,MAAM,YAAA;CAG1F;AAED,sEAAsE;AACtE,qBAAa,yBAA0B,SAAQ,UAAU;CAAG;AAI5D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,uDAAuD;AACvD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAQ,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAM;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACrD;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAS,MAAM,CAAC;IACxB,WAAW,EAAM,MAAM,CAAC;IACxB,QAAQ,EAAS,MAAM,CAAC;IACxB,KAAK,EAAY,UAAU,CAAC;IAC5B,IAAI,EAAa,MAAM,CAAC;IACxB,UAAU,EAAO,MAAM,CAAC;IACxB,QAAQ,EAAS,MAAM,CAAC;IACxB,KAAK,EAAY,MAAM,CAAC;IACxB,UAAU,EAAO,MAAM,CAAC;IACxB,MAAM,EAAW,MAAM,CAAC;IACxB,QAAQ,EAAS,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC
|
|
1
|
+
{"version":3,"file":"aifp1.d.ts","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"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"}
|
package/dist/aifp1.js
CHANGED
|
@@ -69,6 +69,49 @@ export class Aifp1PayError extends Aifp1Error {
|
|
|
69
69
|
/** The gateway rejected a receipt we believed covered the request. */
|
|
70
70
|
export class Aifp1ReceiptRejectedError extends Aifp1Error {
|
|
71
71
|
}
|
|
72
|
+
export function describeQuote(q) {
|
|
73
|
+
const ns = q.native_settlement;
|
|
74
|
+
const pay = ns
|
|
75
|
+
? { amount: formatUnits(ns.total_wei, ns.decimals), asset: ns.asset }
|
|
76
|
+
: null;
|
|
77
|
+
// Fee as basis points, from the split the quote already carries. Stated so the
|
|
78
|
+
// agent sees the rate, not just the total — the same reason the 402 does.
|
|
79
|
+
let feeBps = null;
|
|
80
|
+
try {
|
|
81
|
+
const total = BigInt(q.settlement.gross_units);
|
|
82
|
+
const merchant = BigInt(q.settlement.merchant_units);
|
|
83
|
+
if (total > 0n)
|
|
84
|
+
feeBps = Number(((total - merchant) * 10000n) / total);
|
|
85
|
+
}
|
|
86
|
+
catch { /* leave null rather than guess */ }
|
|
87
|
+
const where = q.scope === "merchant" ? `anything on ${q.merchant_id}`
|
|
88
|
+
: q.scope === "prefix" ? `any path under ${q.resource}`
|
|
89
|
+
: q.resource;
|
|
90
|
+
const payPart = pay ? `${pay.amount} ${pay.asset}` : `$${q.amount}`;
|
|
91
|
+
const headline = `Pay ${payPart} ($${q.amount}) for ${q.requests} request${q.requests === 1 ? "" : "s"} ` +
|
|
92
|
+
`to ${where}` +
|
|
93
|
+
(feeBps != null ? ` (incl. ${(feeBps / 100).toFixed(2)}% fee)` : "") +
|
|
94
|
+
`, valid until ${q.expires_at}.`;
|
|
95
|
+
return {
|
|
96
|
+
headline,
|
|
97
|
+
amount_usd: q.amount,
|
|
98
|
+
pay,
|
|
99
|
+
requests: q.requests,
|
|
100
|
+
unit_quota: q.unit_quota,
|
|
101
|
+
scope: q.scope,
|
|
102
|
+
resource: q.resource,
|
|
103
|
+
expires_at: q.expires_at,
|
|
104
|
+
fee_bps: feeBps,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/** wei/lamports → a decimal string with the asset's own decimals, no float. */
|
|
108
|
+
function formatUnits(raw, decimals) {
|
|
109
|
+
const n = BigInt(raw);
|
|
110
|
+
const base = 10n ** BigInt(decimals);
|
|
111
|
+
const whole = n / base;
|
|
112
|
+
const frac = (n % base).toString().padStart(decimals, "0").replace(/0+$/, "");
|
|
113
|
+
return frac ? `${whole}.${frac}` : `${whole}`;
|
|
114
|
+
}
|
|
72
115
|
// ── Scope, ported from the server ─────────────────────────────────────────
|
|
73
116
|
//
|
|
74
117
|
// backend/aifp/scope.js decides whether a receipt covers a request, and this
|
|
@@ -344,6 +387,30 @@ function resolveScope(opts, challenge) {
|
|
|
344
387
|
resource: scope === "prefix" ? prefixHint(challenge.resource) : challenge.resource,
|
|
345
388
|
};
|
|
346
389
|
}
|
|
390
|
+
function validateCanonicalQuoteEconomics(quote) {
|
|
391
|
+
try {
|
|
392
|
+
const s = quote.settlement;
|
|
393
|
+
const gross = BigInt(s.gross_units);
|
|
394
|
+
const payer = BigInt(s.payer_total_units);
|
|
395
|
+
const total = BigInt(s.total_units);
|
|
396
|
+
const merchant = BigInt(s.merchant_units);
|
|
397
|
+
const protocol = BigInt(s.protocol_fee_units);
|
|
398
|
+
const creator = BigInt(s.creator_units);
|
|
399
|
+
const expectedProtocol = gross / 100n;
|
|
400
|
+
if (s.fee_on_top !== false
|
|
401
|
+
|| gross <= 0n
|
|
402
|
+
|| payer !== gross
|
|
403
|
+
|| total !== gross
|
|
404
|
+
|| creator !== 0n
|
|
405
|
+
|| protocol !== expectedProtocol
|
|
406
|
+
|| merchant !== gross - expectedProtocol) {
|
|
407
|
+
throw new Error("split mismatch");
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
catch {
|
|
411
|
+
throw new Aifp1QuoteError(`quote ${quote.quote_id} does not implement canonical AIFP-1 gross economics (payer 100%, merchant 99%, protocol 1%, creator 0%)`);
|
|
412
|
+
}
|
|
413
|
+
}
|
|
347
414
|
/** Is this response the AIFP-1 paywall asking for money? */
|
|
348
415
|
function isAifp1Challenge(body) {
|
|
349
416
|
const b = body;
|
|
@@ -469,6 +536,11 @@ export async function aifp1Fetch(deps, url, init = {}, opts = {}) {
|
|
|
469
536
|
if (quote.merchant_id !== challenge.merchant_id) {
|
|
470
537
|
throw new Aifp1QuoteError(`quote ${quote.quote_id} is for merchant ${quote.merchant_id} but ${site} refused as ${challenge.merchant_id} — refusing to pay`);
|
|
471
538
|
}
|
|
539
|
+
validateCanonicalQuoteEconomics(quote);
|
|
540
|
+
const quoteExpiryMs = Date.parse(quote.expires_at);
|
|
541
|
+
if (!Number.isFinite(quoteExpiryMs) || quoteExpiryMs <= Date.now()) {
|
|
542
|
+
throw new Aifp1QuoteError(`quote ${quote.quote_id} is expired or has invalid expires_at`);
|
|
543
|
+
}
|
|
472
544
|
// 3. Budget. The quote states the batch total in USD, so both caps are
|
|
473
545
|
// checked against the real figure, before anything is signed.
|
|
474
546
|
const amountUsd = Number(quote.amount);
|
|
@@ -511,15 +583,35 @@ export async function aifp1Fetch(deps, url, init = {}, opts = {}) {
|
|
|
511
583
|
throw new Aifp1QuoteError(`quote ${quote.quote_id} states total_wei ${native.total_wei} at rate "${native.rate_usd}" — `
|
|
512
584
|
+ `unusable, and the caps were checked against $${amountUsd}`);
|
|
513
585
|
}
|
|
514
|
-
// 2% covers
|
|
586
|
+
// 2% covers native conversion rounding and a
|
|
515
587
|
// rate printed to six places; anything wider is a disagreement, not drift.
|
|
516
588
|
if (Math.abs(weiUsd - amountUsd) > Math.max(0.02 * amountUsd, 1e-6)) {
|
|
517
589
|
throw new Aifp1QuoteError(`quote ${quote.quote_id} would debit ${native.total_wei} wei ≈ $${weiUsd.toFixed(6)} `
|
|
518
590
|
+ `but states $${amountUsd} — refusing to sign a payment the budget caps did not see`);
|
|
519
591
|
}
|
|
592
|
+
const nativeGross = BigInt(native.gross_wei ?? native.total_wei);
|
|
593
|
+
const nativeMerchant = BigInt(native.merchant_wei);
|
|
594
|
+
const nativeTreasury = BigInt(native.treasury_wei);
|
|
595
|
+
const nativeCreator = BigInt(native.creator_wei);
|
|
596
|
+
if (native.settlement_semantics !== "gross-inclusive"
|
|
597
|
+
|| BigInt(native.payer_total_wei ?? native.total_wei) !== nativeGross
|
|
598
|
+
|| BigInt(native.total_wei) !== nativeGross
|
|
599
|
+
|| nativeCreator !== 0n
|
|
600
|
+
|| nativeTreasury !== nativeGross / 100n
|
|
601
|
+
|| nativeMerchant !== nativeGross - nativeTreasury) {
|
|
602
|
+
throw new Aifp1QuoteError(`quote ${quote.quote_id} native settlement does not match canonical AIFP-1 gross split`);
|
|
603
|
+
}
|
|
604
|
+
const validUntil = BigInt(native.valid_until ?? Math.floor(quoteExpiryMs / 1000));
|
|
605
|
+
if (validUntil !== BigInt(Math.floor(quoteExpiryMs / 1000))) {
|
|
606
|
+
throw new Aifp1QuoteError(`quote ${quote.quote_id} valid_until does not match expires_at`);
|
|
607
|
+
}
|
|
520
608
|
const txRef = await deps.settle({
|
|
521
609
|
merchantWallet: quote.pay_to.polygon,
|
|
522
|
-
|
|
610
|
+
grossWei: nativeGross,
|
|
611
|
+
merchantWei: nativeMerchant,
|
|
612
|
+
treasuryWei: nativeTreasury,
|
|
613
|
+
creatorWei: nativeCreator,
|
|
614
|
+
validUntil,
|
|
523
615
|
// The binding the server verifies on-chain: the Payment event's orderId
|
|
524
616
|
// must equal the quote id, or /v1/pay answers order_id_mismatch.
|
|
525
617
|
orderId: quote.quote_id,
|
package/dist/aifp1.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aifp1.js","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aifp1.js","sourceRoot":"","sources":["../src/aifp1.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,oEAAoE;AACpE,EAAE;AACF,gFAAgF;AAChF,2EAA2E;AAC3E,2EAA2E;AAC3E,iEAAiE;AACjE,EAAE;AACF,qDAAqD;AACrD,yEAAyE;AACzE,+EAA+E;AAC/E,4EAA4E;AAC5E,gEAAgE;AAChE,iDAAiD;AACjD,yCAAyC;AACzC,EAAE;AACF,qEAAqE;AACrE,EAAE;AACF,+EAA+E;AAC/E,0EAA0E;AAC1E,uEAAuE;AACvE,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,gFAAgF;AAChF,8CAA8C;AAC9C,6EAA6E;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAE7E,MAAM,OAAO,UAAW,SAAQ,aAAa;CAAG;AAEhD,oEAAoE;AACpE,MAAM,OAAO,eAAgB,SAAQ,UAAU;CAAG;AAElD,sEAAsE;AACtE,MAAM,OAAO,+BAAgC,SAAQ,UAAU;CAAG;AAElE;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,UAAU;IACF;IAAgC;IAAzE,YAAY,GAAW,EAAkB,KAAc,EAAkB,OAAgB;QACvF,KAAK,CAAC,GAAG,CAAC,CAAC;QAD4B,UAAK,GAAL,KAAK,CAAS;QAAkB,YAAO,GAAP,OAAO,CAAS;IAEzF,CAAC;CACF;AAED,sEAAsE;AACtE,MAAM,OAAO,yBAA0B,SAAQ,UAAU;CAAG;AA6F5D,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAC/B,MAAM,GAAG,GAAG,EAAE;QACZ,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;QACrE,CAAC,CAAC,IAAI,CAAC;IAET,+EAA+E;IAC/E,0EAA0E;IAC1E,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACrD,IAAI,KAAK,GAAG,EAAE;YAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAE9C,MAAM,KAAK,GACT,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE;QACvD,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;YACvD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEf,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;IACpE,MAAM,QAAQ,GACZ,OAAO,OAAO,MAAM,CAAC,CAAC,MAAM,SAAS,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;QACxF,MAAM,KAAK,EAAE;QACb,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,iBAAiB,CAAC,CAAC,UAAU,GAAG,CAAC;IAEnC,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,CAAC,CAAC,MAAM;QACpB,GAAG;QACH,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,GAAW,EAAE,QAAgB;IAChD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IACvB,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;AAChD,CAAC;AAuBD,6EAA6E;AAC7E,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,wEAAwE;AACxE,6EAA6E;AAC7E,iCAAiC;AAEjC,wCAAwC;AACxC,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,QAAgB,EAAE,IAAY;IACnF,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,IAAI,QAAQ,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC,CAAc,kCAAkC;QAClF,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAa,yBAAyB;QACzE,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAyB,qCAAqC;AACzF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,6BAA6B,CAAU,CAAC;AAEhF,MAAM,UAAU,eAAe,CAC7B,GAAW,EACX,iBAAoC,uBAAuB;IAE3D,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,UAAU,CAClB,oEAAoE;cAClE,2DAA2D,CAC9D,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,UAAU,CAClB,GAAG,CAAC,CAAC,MAAM,8CAA8C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;cACrF,+EAA+E;cAC/E,gCAAgC,CACnC,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,UAAU,CAAC,GAAG,GAAG,0FAA0F,CAAC,CAAC;IACzH,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC1B,OAAO;QACL,IAAI,EAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE;QAC/B,IAAI;QACJ,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,OAAO,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAEjC;IACC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC;SAChC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;SAC7D,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,SAAS,MAAM,EAAE,CAAC,CAAG,+CAA+C;AAC7E,CAAC;AAqBD;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IACX,OAAO,GAAyB,EAAE,CAAC;IAEpD;;;;;;;;;;;;;;OAcG;IACc,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEhE,0EAA0E;IAC1E,KAAK,CAAC,QAAQ,CAAI,IAAY,EAAE,GAAqB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAiD,CAAC,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,IAAY,EAAE,QAAgB,EAAE,UAAmB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,CAAC,IAAI,KAAK,IAAI;eACZ,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;eACzD,CAAC,CAAC,SAAS,GAAG,CAAC;eACf,CAAC,CAAC,SAAS,GAAG,gBAAgB,GAAG,GAAG;eACpC,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,GAAG,CAAC,KAAyB;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,iFAAiF;IACjF,kBAAkB,CAAC,KAAyB,EAAE,SAAiB;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,KAAyB;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,+EAA+E;IAC/E,IAAI;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACnD;AAiCD;;;kEAGkE;AAClE;;;;;;;;;;GAUG;AACH,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,iFAAiF;AACjF,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,SAAsD;IACpF,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,cAAc,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AACD,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAS,YAAY,CACnB,IAAuB,EACvB,SAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;IACrC,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAE,oBAAoB;IACtF,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7D,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ;KACnF,CAAC;AACJ,CAAC;AAqCD,SAAS,+BAA+B,CAAC,KAAiB;IACxD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,CAAC;QACtC,IACE,CAAC,CAAC,UAAU,KAAK,KAAK;eACnB,KAAK,IAAI,EAAE;eACX,KAAK,KAAK,KAAK;eACf,KAAK,KAAK,KAAK;eACf,OAAO,KAAK,EAAE;eACd,QAAQ,KAAK,gBAAgB;eAC7B,QAAQ,KAAK,KAAK,GAAG,gBAAgB,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CACvB,SAAS,KAAK,CAAC,QAAQ,0GAA0G,CAClI,CAAC;IACJ,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,gBAAgB,CAAC,IAAa;IACrC,MAAM,CAAC,GAAG,IAAsC,CAAC;IACjD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;WACrE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpE,4EAA4E;AAC5E,SAAS,cAAc,CAAC,IAAc;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACrD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAe,EACf,GAAW,EACX,OAAoB,EAAE,EACtB,OAA0B,EAAE;IAE5B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC,CAAC;IAEhG,6EAA6E;IAC7E,6EAA6E;IAC7E,kDAAkD;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;WAC1C,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;WAC7B,OAAQ,IAAI,CAAC,IAAgC,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC9E,MAAM,IAAI,UAAU,CAClB,yEAAyE;cACvE,yEAAyE;cACzE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,UAAmB,EAAqB,EAAE;QACtD,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YACzB,GAAG,IAAI;YACP,OAAO;YACP,wEAAwE;YACxE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,4DAA4D;IAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,IAAI,EAAE,CAAC;QACT,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACxB,0EAA0E;QAC1E,sEAAsE;QACtE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChC,yEAAyE;YACzE,mEAAmE;YACnE,yEAAyE;YACzE,wEAAwE;YACxE,0EAA0E;YAC1E,iEAAiE;YACjE,EAAE;YACF,iEAAiE;YACjE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,UAAU,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;YAChG,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAe,qCAAqC;YAE3E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,IAAI,yBAAyB,CACjC,2BAA2B,IAAI,CAAC,SAAS,QAAQ,QAAQ,WAAW,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC3F,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uEAAuE;IACvE,sCAAsC;IACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9C,2EAA2E;IAC3E,0EAA0E;IAC1E,+CAA+C;IAC/C,IAAI,IAAI;QAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,uCAAuC;IACvC,EAAE;IACF,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,iCAAiC;IACjC,MAAM,QAAQ,GAAG,KAAK,IAA8B,EAAE;QACpD,YAAY;QACZ,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACzE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE;YAC9C,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,SAAS,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,yEAAyE;QACzE,+DAA+D;QAC/D,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CACvB,SAAS,KAAK,CAAC,QAAQ,oBAAoB,KAAK,CAAC,WAAW,QAAQ,IAAI,eAAe,SAAS,CAAC,WAAW,oBAAoB,CACjI,CAAC;QACJ,CAAC;QAED,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,eAAe,CAAC,SAAS,KAAK,CAAC,QAAQ,uCAAuC,CAAC,CAAC;QAC5F,CAAC;QAED,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,eAAe,CAAC,SAAS,KAAK,CAAC,QAAQ,4BAA4B,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,WAAW,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAExC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACvC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,+BAA+B,CACvC,SAAS,KAAK,CAAC,QAAQ,oEAAoE;sBACzF,mFAAmF;sBACnF,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,oEAAoE,CACzG,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxE,MAAM,IAAI,+BAA+B,CACvC,SAAS,KAAK,CAAC,QAAQ,qCAAqC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;sBAChG,wFAAwF,CAC3F,CAAC;YACJ,CAAC;YAED,2EAA2E;YAC7E,4EAA4E;YAC5E,2EAA2E;YAC3E,sCAAsC;YACtC,EAAE;YACF,kEAAkE;YAClE,4EAA4E;YAC5E,sEAAsE;YACtE,yEAAyE;YACzE,8DAA8D;YAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;gBAC1D,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU;gBACxD,CAAC,CAAC,GAAG,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,eAAe,CACvB,SAAS,KAAK,CAAC,QAAQ,qBAAqB,MAAM,CAAC,SAAS,aAAa,MAAM,CAAC,QAAQ,MAAM;sBAC5F,gDAAgD,SAAS,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,6CAA6C;YAC7C,2EAA2E;YAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAI,eAAe,CACvB,SAAS,KAAK,CAAC,QAAQ,gBAAgB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;sBACpF,eAAe,SAAS,2DAA2D,CACtF,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACnD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACjD,IACE,MAAM,CAAC,oBAAoB,KAAK,iBAAiB;mBAC9C,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,WAAW;mBAClE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,WAAW;mBACxC,aAAa,KAAK,EAAE;mBACpB,cAAc,KAAK,WAAW,GAAG,IAAI;mBACrC,cAAc,KAAK,WAAW,GAAG,cAAc,EAClD,CAAC;gBACD,MAAM,IAAI,eAAe,CACvB,SAAS,KAAK,CAAC,QAAQ,gEAAgE,CACxF,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;YAClF,IAAI,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,eAAe,CAAC,SAAS,KAAK,CAAC,QAAQ,wCAAwC,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;gBAC5B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,OAAwB;gBACrD,QAAQ,EAAQ,WAAW;gBAC3B,WAAW,EAAK,cAAc;gBAC9B,WAAW,EAAK,cAAc;gBAC9B,UAAU,EAAM,aAAa;gBAC7B,UAAU;gBACV,wEAAwE;gBACxE,iEAAiE;gBACjE,OAAO,EAAS,KAAK,CAAC,QAAQ;aAC/B,CAAC,CAAC;YAEH,0EAA0E;YAC1E,2EAA2E;YAC3E,uBAAuB;YACvB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,OAAO,WAAW,KAAK,QAAQ;gBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAE/E,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElF,kDAAkD;YAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,yBAAyB,CACjC,kCAAkC,QAAQ,kCAAkC;sBAC1E,GAAG,IAAI,CAAC,UAAU,QAAQ,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC5D,CAAC;YACJ,CAAC;YAED,0EAA0E;YAC1E,yDAAyD;YACzD,MAAM,KAAK,GAAuB;gBAChC,IAAI;gBACJ,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,SAAS,EAAG,IAAI,CAAC,UAAU;gBAC3B,GAAG,EAAS,IAAI,CAAC,OAAO;gBACxB,KAAK,EAAO,IAAI,CAAC,KAAK;gBACtB,QAAQ,EAAI,IAAI,CAAC,QAAQ;gBACzB,SAAS,EAAG,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAG,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvC,SAAS;aACV,CAAC;YACF,wEAAwE;YACxE,uEAAuE;YACvE,mBAAmB;YACnB,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9C,KAAK,CAAC,SAAS,GAAG,SAAS,KAAK,IAAI;gBAClC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACzD,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,wEAAwE;YACxE,oEAAoE;YACpE,0CAA0C;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,wEAAwE;gBACxE,wEAAwE;gBACxE,yEAAyE;gBACzE,yEAAyE;gBACzE,mEAAmE;gBACnE,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;YAC1E,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEtB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU;aAC3E,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,sEAAsE;YACtE,+DAA+D;YAC/D,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAExC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC;AAED,6EAA6E;AAE7E,KAAK,UAAU,YAAY,CACzB,IAAe,EACf,OAAe,EACf,IAA6B;IAE7B,IAAI,CAAW,CAAC;IAChB,IAAI,CAAC;QACH,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,WAAW,EAAE;YAC9C,MAAM,EAAG,MAAM;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE;YAC9E,IAAI,EAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CAAC,QAAQ,OAAO,qBAAsB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACV,qEAAqE;QACrE,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,IAAI,eAAe,CAAC,oBAAoB,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,sCAAsC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CAAC,4CAA4C,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6EAA6E;AAE7E;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAe,EACf,OAAe,EACf,KAAiB,EACjB,KAAoB,EACpB,KAAa,EACb,IAAuB;IAEvB,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,cAAc,GAAG,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC,CAAC;IAE1F,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,IAAI,CAAW,CAAC;QAChB,IAAI,CAAC;YACH,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,SAAS,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAK,kBAAkB;oBACrC,iBAAiB,EAAE,cAAc;oBACjC,eAAe,EAAI,IAAI,CAAC,OAAO;iBAChC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO;iBAC9E,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CACrB,QAAQ,OAAO,kCAAmC,CAAW,CAAC,OAAO,EAAE,EACvE,KAAK,EAAE,KAAK,CAAC,QAAQ,CACtB,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,aAAa,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC3G,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChC,0EAA0E;QAC1E,wCAAwC;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,aAAa,CACrB,kBAAkB,CAAC,CAAC,MAAM,8BAA8B,KAAK,cAAc,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE,EAC1G,KAAK,EAAE,KAAK,CAAC,QAAQ,CACtB,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
package/dist/chains.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,MAAM,CAAC;AAE/C,eAAO,MAAM,QAAQ,EAAE,KAQrB,CAAC;AAEH,eAAO,MAAM,OAAO,EAAE,KAQpB,CAAC"}
|
package/dist/chains.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// BOT Chain (677) and XRPL EVM (1440000) are not shipped with viem/chains, so
|
|
2
|
+
// they are defined here rather than in each module that needs them. Two
|
|
3
|
+
// definitions of the same chain is a drift risk: they would be edited
|
|
4
|
+
// separately and eventually disagree about an RPC or a chain id.
|
|
5
|
+
import { defineChain } from "viem";
|
|
6
|
+
export const botchain = defineChain({
|
|
7
|
+
id: 677,
|
|
8
|
+
name: "BOT Chain",
|
|
9
|
+
nativeCurrency: { name: "BOT", symbol: "BOT", decimals: 18 },
|
|
10
|
+
rpcUrls: { default: { http: ["https://rpc.botchain.ai"] } },
|
|
11
|
+
blockExplorers: {
|
|
12
|
+
default: { name: "BOT Chain Explorer", url: "https://scan.botchain.ai" },
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
export const xrplevm = defineChain({
|
|
16
|
+
id: 1440000,
|
|
17
|
+
name: "XRPL EVM",
|
|
18
|
+
nativeCurrency: { name: "XRP", symbol: "XRP", decimals: 18 },
|
|
19
|
+
rpcUrls: { default: { http: ["https://rpc.xrplevm.org"] } },
|
|
20
|
+
blockExplorers: {
|
|
21
|
+
default: { name: "XRPL EVM Explorer", url: "https://explorer.xrplevm.org" },
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=chains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../src/chains.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wEAAwE;AACxE,sEAAsE;AACtE,iEAAiE;AACjE,OAAO,EAAE,WAAW,EAAc,MAAM,MAAM,CAAC;AAE/C,MAAM,CAAC,MAAM,QAAQ,GAAU,WAAW,CAAC;IACzC,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE;IAC3D,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,GAAG,EAAE,0BAA0B,EAAE;KACzE;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAAU,WAAW,CAAC;IACxC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,UAAU;IAChB,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE;IAC3D,cAAc,EAAE;QACd,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,GAAG,EAAE,8BAA8B,EAAE;KAC5E;CACF,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Facilitator, FacilitatorClass } from "./base.js";
|
|
2
2
|
/**
|
|
3
|
-
* Order matters: most-specific detector first.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Order matters: most-specific detector first. Standard x402 is checked before
|
|
4
|
+
* the historical Coinbase compatibility adapter because HTTP header names are
|
|
5
|
+
* case-insensitive and both may observe PAYMENT-REQUIRED.
|
|
6
6
|
*/
|
|
7
7
|
export declare const REGISTERED: FacilitatorClass[];
|
|
8
8
|
export declare function detectFacilitator(resp: Response, override?: string): Promise<Facilitator>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/facilitators/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI/D;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,EAIxC,CAAC;AAMF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,MAAe,GACxB,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/facilitators/detect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAI/D;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,EAIxC,CAAC;AAMF,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,MAAe,GACxB,OAAO,CAAC,WAAW,CAAC,CAuBtB"}
|
|
@@ -3,9 +3,9 @@ import { AiFinPayFacilitator } from "./aifinpay.js";
|
|
|
3
3
|
import { CoinbaseX402Facilitator } from "./coinbase.js";
|
|
4
4
|
import { StandardX402Facilitator } from "./standard-x402.js";
|
|
5
5
|
/**
|
|
6
|
-
* Order matters: most-specific detector first.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Order matters: most-specific detector first. Standard x402 is checked before
|
|
7
|
+
* the historical Coinbase compatibility adapter because HTTP header names are
|
|
8
|
+
* case-insensitive and both may observe PAYMENT-REQUIRED.
|
|
9
9
|
*/
|
|
10
10
|
export const REGISTERED = [
|
|
11
11
|
AiFinPayFacilitator,
|
|
@@ -22,25 +22,6 @@ export async function detectFacilitator(resp, override = "auto") {
|
|
|
22
22
|
}
|
|
23
23
|
return new cls();
|
|
24
24
|
}
|
|
25
|
-
// Checked BEFORE the loop, and that ordering is the whole point.
|
|
26
|
-
//
|
|
27
|
-
// The Coinbase facilitator detects a `PAYMENT-REQUIRED` header, and the v2
|
|
28
|
-
// standard uses `payment-required` — the same header, since HTTP header
|
|
29
|
-
// names are case-insensitive. So Coinbase claims a real v2 response, wins
|
|
30
|
-
// the loop, and then fails somewhere deep in buildAuth with an error about
|
|
31
|
-
// its own internals. Anyone debugging that goes looking at Coinbase, which
|
|
32
|
-
// has nothing to do with it.
|
|
33
|
-
//
|
|
34
|
-
// Verified against https://x402.org/protected on 2026-08-10: without this,
|
|
35
|
-
// detectFacilitator returns coinbase-x402 for an endpoint that is not
|
|
36
|
-
// Coinbase's flavour at all.
|
|
37
|
-
if (StandardX402Facilitator.isUnsupportedV2(resp)) {
|
|
38
|
-
throw new UnsupportedFacilitatorError("this endpoint speaks x402 version 2 (payment data in the " +
|
|
39
|
-
"`payment-required` header), which this SDK does not implement yet — " +
|
|
40
|
-
"its standard-x402 facilitator targets version 1, where the payment " +
|
|
41
|
-
"data is in the response body. The agent cannot pay this endpoint. " +
|
|
42
|
-
"Tracking: Obsidian/proposals/2026-08-10-x402-interop-scoping.md");
|
|
43
|
-
}
|
|
44
25
|
for (const cls of REGISTERED) {
|
|
45
26
|
if (await cls.detect(resp))
|
|
46
27
|
return new cls();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/facilitators/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC5C,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAc,EACd,WAAmB,MAAM;IAEzB,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,2BAA2B,CACnC,kCAAkC,QAAQ,KAAK;gBAC7C,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/facilitators/detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAuB;IAC5C,mBAAmB;IACnB,uBAAuB;IACvB,uBAAuB;CACxB,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACzC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAc,EACd,WAAmB,MAAM;IAEzB,IAAI,QAAQ,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,2BAA2B,CACnC,kCAAkC,QAAQ,KAAK;gBAC7C,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7C,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,MAAM,IAAI,2BAA2B,CACnC,oDAAoD;QAClD,WAAW,IAAI,CAAC,MAAM,IAAI;QAC1B,YAAY,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnD,CAAC;AACJ,CAAC"}
|