@aifinpay/agent 1.2.0 → 1.3.0
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 +8 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/unifiedAgent.d.ts +48 -84
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +160 -204
- package/dist/unifiedAgent.js.map +1 -1
- package/package.json +2 -5
package/README.md
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# @aifinpay/agent (Node / TypeScript)
|
|
2
2
|
|
|
3
3
|
Non-custodial x402 payment client for autonomous AI agents on
|
|
4
|
-
[AiFinPay](https://aifinpay.io).
|
|
4
|
+
[AiFinPay](https://aifinpay.io) — canonical domain **aifinpay.io** (the
|
|
5
|
+
legacy `aifinpay.company` host is retired). SDK settlement: since 1.3.0,
|
|
6
|
+
direct fee-on-top splitter settlement (`AiFinPayAgent.call()`) works on
|
|
7
|
+
Polygon (default), Base, Optimism, Unichain, BOT Chain and XRPL EVM
|
|
8
|
+
(native-token path only — no ERC-20/USDC settlement yet), plus Solana;
|
|
9
|
+
the backend-quoted invoice flow (`/api/b2b/pay-with-split`) remains
|
|
10
|
+
Polygon + Solana. The protocol is live across 13 networks — see
|
|
11
|
+
[aifinpay.io/llms.txt](https://aifinpay.io/llms.txt).
|
|
5
12
|
|
|
6
13
|
The Ed25519 keypair is generated locally with `tweetnacl` and never leaves
|
|
7
14
|
your process. The SDK only sends a one-time SHA-256 + Ed25519 signature in
|
package/dist/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* await agent.reserveSeatInvoice({ amountUsd: 1.0, asset: "USDC" });
|
|
19
19
|
* const res = await agent.pay("https://aifinpay.io/api/stats");
|
|
20
20
|
*/
|
|
21
|
-
export { AiFinPayAgent } from "./unifiedAgent.js";
|
|
22
|
-
export type { AiFinPayAgentOptions, CallOptions, ChainId, ProviderEntry, BalanceSnapshot, ReputationSnapshot, BudgetCaps, SessionHandle, SessionReceipt, NetworkAgent, } from "./unifiedAgent.js";
|
|
21
|
+
export { AiFinPayAgent, SPLITTER_DEPLOYMENTS } from "./unifiedAgent.js";
|
|
22
|
+
export type { AiFinPayAgentOptions, CallOptions, ChainId, SplitterChainName, SplitterDeployment, AnyEvmChainName, ProviderEntry, BalanceSnapshot, ReputationSnapshot, BudgetCaps, SessionHandle, SessionReceipt, NetworkAgent, } from "./unifiedAgent.js";
|
|
23
23
|
export { ProviderUnknownError, WrongChainBalanceError, InsufficientFundsError, BudgetCapExceededError, SettlementError, SessionExpiredError, } from "./unifiedAgent.js";
|
|
24
24
|
export { bridgeQuote, bridgeExecute, bridgeWaitForArrival, EVM_CHAINS, USDC_NATIVE, USDC_BRIDGED, } from "./crossChain.js";
|
|
25
25
|
export type { BridgeQuote, BridgeReceipt, BridgeQuoteOptions, EvmChainName, } from "./crossChain.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,GACX,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* const res = await agent.pay("https://aifinpay.io/api/stats");
|
|
20
20
|
*/
|
|
21
21
|
// ── Unified surface (Phase 1+) ───────────────────────────────────────────
|
|
22
|
-
export { AiFinPayAgent } from "./unifiedAgent.js";
|
|
22
|
+
export { AiFinPayAgent, SPLITTER_DEPLOYMENTS } from "./unifiedAgent.js";
|
|
23
23
|
export { ProviderUnknownError, WrongChainBalanceError, InsufficientFundsError, BudgetCapExceededError, SettlementError, SessionExpiredError, } from "./unifiedAgent.js";
|
|
24
24
|
// ── Cross-chain orchestration (Phase 1.5a — EVM↔EVM via LiFi) ────────────
|
|
25
25
|
// Standalone primitives — also exposed as methods on AiFinPayAgent.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAgBxE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,oEAAoE;AACpE,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAC;AAQzB,2EAA2E;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
package/dist/unifiedAgent.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { type PrivateKeyAccount } from "viem/accounts";
|
|
2
|
+
import { type Chain } from "viem/chains";
|
|
2
3
|
import { AiFinPayError } from "./errors.js";
|
|
3
4
|
import { Agent, type AgentOptions } from "./agent.js";
|
|
4
5
|
import { type BridgeQuote, type BridgeReceipt, type EvmChainName } from "./crossChain.js";
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Chains the unified agent can settle on. "solana" uses the Anchor
|
|
8
|
+
* b2b_pay_with_split program; every other value is an EVM chain with a
|
|
9
|
+
* verified B2BSplitter deployment (see SPLITTER_DEPLOYMENTS below).
|
|
10
|
+
* Additive union — "polygon" remains the EVM default.
|
|
11
|
+
*/
|
|
12
|
+
export type ChainId = "solana" | SplitterChainName;
|
|
6
13
|
export interface ProviderEntry {
|
|
7
14
|
name: string;
|
|
8
15
|
display_name?: string;
|
|
@@ -91,15 +98,41 @@ export interface AiFinPayAgentOptions extends AgentOptions {
|
|
|
91
98
|
telemetry?: boolean;
|
|
92
99
|
polygonRpc?: string;
|
|
93
100
|
solanaRpc?: string;
|
|
94
|
-
/** RPC overrides for non-Polygon EVM chains
|
|
95
|
-
|
|
101
|
+
/** RPC overrides for non-Polygon EVM chains — both bridge-flow chains
|
|
102
|
+
* and splitter-settlement chains (base, optimism, unichain, botchain,
|
|
103
|
+
* xrplevm). Splitter chains fall back to the public RPC listed in
|
|
104
|
+
* SPLITTER_DEPLOYMENTS when no override is given. */
|
|
105
|
+
evmRpcUrls?: Partial<Record<AnyEvmChainName, string>>;
|
|
106
|
+
}
|
|
107
|
+
/** EVM chains with a live, on-chain-verified B2BSplitter deployment. */
|
|
108
|
+
export type SplitterChainName = "polygon" | "base" | "optimism" | "unichain" | "botchain" | "xrplevm";
|
|
109
|
+
export interface SplitterDeployment {
|
|
110
|
+
chainId: number;
|
|
111
|
+
/** viem chain object used for tx signing on this chain. */
|
|
112
|
+
chain: Chain;
|
|
113
|
+
/** Public RPC used when no evmRpcUrls override is supplied. */
|
|
114
|
+
defaultRpc: string;
|
|
115
|
+
/** B2BSplitter contract address (payMatic native-token entrypoint). */
|
|
116
|
+
splitter: `0x${string}`;
|
|
96
117
|
/**
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
118
|
+
* Circle-native USDC on this chain, when one exists. Informational for
|
|
119
|
+
* now: the splitter payment path is native-token only (payMatic) — no
|
|
120
|
+
* ERC-20 settlement path is implemented in the SDK or deployed splitter.
|
|
100
121
|
*/
|
|
101
|
-
|
|
122
|
+
usdc?: `0x${string}`;
|
|
123
|
+
explorer: string;
|
|
124
|
+
/** Env var consulted for the native-token USD price used by the
|
|
125
|
+
* pre-sign challenge guard, and its fallback default. */
|
|
126
|
+
nativeUsdEnv: string;
|
|
127
|
+
nativeUsdDefault: number;
|
|
102
128
|
}
|
|
129
|
+
export declare const SPLITTER_DEPLOYMENTS: Record<SplitterChainName, SplitterDeployment>;
|
|
130
|
+
/**
|
|
131
|
+
* Union of every EVM chain name the SDK knows an RPC/client for: LiFi
|
|
132
|
+
* bridge chains (EvmChainName) + splitter deployment chains. Used for
|
|
133
|
+
* evmRpcUrls overrides and the internal client cache.
|
|
134
|
+
*/
|
|
135
|
+
export type AnyEvmChainName = EvmChainName | SplitterChainName;
|
|
103
136
|
export declare class ProviderUnknownError extends AiFinPayError {
|
|
104
137
|
}
|
|
105
138
|
export declare class WrongChainBalanceError extends AiFinPayError {
|
|
@@ -153,17 +186,14 @@ export declare class AiFinPayAgent {
|
|
|
153
186
|
private budgetCaps;
|
|
154
187
|
private spend24h;
|
|
155
188
|
private telemetry;
|
|
156
|
-
private heartbeatIntervalMs;
|
|
157
|
-
private lastHeartbeatTs;
|
|
158
|
-
private lastBalanceSnapshot?;
|
|
159
189
|
private _polygonPublic?;
|
|
160
190
|
private _polygonWallet?;
|
|
161
191
|
private _evmClients;
|
|
162
192
|
private evmRpcUrls;
|
|
163
|
-
private userSessionCookie?;
|
|
164
193
|
private constructor();
|
|
165
194
|
private polygonClients;
|
|
166
195
|
private evmClients;
|
|
196
|
+
private splitterClients;
|
|
167
197
|
/**
|
|
168
198
|
* Generate a fresh agent — new Solana keypair + new EVM keypair.
|
|
169
199
|
* Use `fromSeed()` to derive both from a single backup phrase instead.
|
|
@@ -335,9 +365,11 @@ export declare class AiFinPayAgent {
|
|
|
335
365
|
* High-level paid call. Resolves the provider, picks a chain, builds the
|
|
336
366
|
* payment, sends to the bridge, retries with payment proof.
|
|
337
367
|
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
*
|
|
368
|
+
* EVM settlement: per-call splitter via on-chain `B2BSplitter.payMatic()`
|
|
369
|
+
* (generic native-token entrypoint) on any SPLITTER_DEPLOYMENTS chain —
|
|
370
|
+
* polygon (default), base, optimism, unichain, botchain, xrplevm. Pass
|
|
371
|
+
* `chain` in CallOptions to override (the provider must accept it).
|
|
372
|
+
* Solana settlement: b2b_pay_with_split (live since 2026-05-18).
|
|
341
373
|
*
|
|
342
374
|
* Returns `null` (instead of a `Response`) iff a budget cap was hit
|
|
343
375
|
* AND budget.on_limit_exceeded is set to "skip" — the call is dropped
|
|
@@ -373,7 +405,8 @@ export declare class AiFinPayAgent {
|
|
|
373
405
|
*/
|
|
374
406
|
private fetchSolanaUsdc;
|
|
375
407
|
private splitterTreasuryCache;
|
|
376
|
-
/** Read + cache B2BSplitter.treasury()
|
|
408
|
+
/** Read + cache B2BSplitter.treasury() on the given chain (default
|
|
409
|
+
* polygon for back-compat). Returns null on RPC failure. */
|
|
377
410
|
private splitterTreasury;
|
|
378
411
|
/**
|
|
379
412
|
* Read the native Polygon USDC (Circle-issued, 6 decimals) balance for the
|
|
@@ -385,75 +418,6 @@ export declare class AiFinPayAgent {
|
|
|
385
418
|
* TODO(phase-4 / phase-5): query operator backend reputation engine.
|
|
386
419
|
*/
|
|
387
420
|
reputation(): Promise<ReputationSnapshot>;
|
|
388
|
-
/**
|
|
389
|
-
* Establish the operator's user-session by hitting a magic-link URL —
|
|
390
|
-
* same mechanism `agent_claim_self` (MCP) uses inline: the link is a
|
|
391
|
-
* one-shot, ~15-min-TTL sign-in URL like
|
|
392
|
-
* `https://aifinpay.io/api/auth/verify?token=…` that the user pastes in
|
|
393
|
-
* after signing in at https://aifinpay.io/login. The resulting session
|
|
394
|
-
* cookie (`__aifinpay_user_session`) is cached on this instance and
|
|
395
|
-
* reused by `listMyAgents()` — call this once per process, not per call.
|
|
396
|
-
*/
|
|
397
|
-
establishUserSession(magicLinkUrl: string): Promise<void>;
|
|
398
|
-
/**
|
|
399
|
-
* Adopt an already-computed session cookie header (e.g. one the MCP
|
|
400
|
-
* `agent_claim_self` tool derived from the same magic link while doing
|
|
401
|
-
* its own claim flow) without re-fetching the magic link. Lets
|
|
402
|
-
* `listMyAgents()` reuse a session established by a sibling flow.
|
|
403
|
-
*/
|
|
404
|
-
adoptUserSessionCookie(cookieHeader: string): void;
|
|
405
|
-
/**
|
|
406
|
-
* List agents owned by the signed-in operator, with balance/spend/health
|
|
407
|
-
* fields for each, over a rolling window. Requires `establishUserSession()`
|
|
408
|
-
* (or the MCP `agent_claim_self` flow, which also captures the cookie on
|
|
409
|
-
* this same agent instance) to have run first — otherwise throws.
|
|
410
|
-
*
|
|
411
|
-
* Calls `GET {baseUrl}/api/me/agents/overview` — owner-gated, same
|
|
412
|
-
* `__aifinpay_user_session` cookie as `/api/me/agents/challenge` and
|
|
413
|
-
* `/api/me/agents/claim`. Returns the parsed `agents` array from
|
|
414
|
-
* `{ window, agents: [...] }`.
|
|
415
|
-
*/
|
|
416
|
-
listMyAgents(): Promise<Array<Record<string, unknown>>>;
|
|
417
421
|
private reportTelemetry;
|
|
418
|
-
/**
|
|
419
|
-
* Opt-in "advisory" heartbeat — reports the agent's own view of its
|
|
420
|
-
* budget caps, 24h spend, and balances so an operator dashboard can show
|
|
421
|
-
* "reported by your agent" liveness. This is NOT server-enforced: the
|
|
422
|
-
* backend does not verify these numbers on-chain, it just displays what
|
|
423
|
-
* the agent self-reports. Respects the same `telemetry: false` opt-out
|
|
424
|
-
* as `call()`'s per-request reporting. Fire-and-forget — never throws.
|
|
425
|
-
*/
|
|
426
|
-
reportHeartbeat(): void;
|
|
427
|
-
/**
|
|
428
|
-
* Opportunistic, throttled heartbeat — called internally after a
|
|
429
|
-
* SUCCESSFUL call()/pay() so the dashboard's "agent-reported caps"
|
|
430
|
-
* section stays warm without every caller having to remember to invoke
|
|
431
|
-
* reportHeartbeat() by hand.
|
|
432
|
-
*
|
|
433
|
-
* Throttle: at most once per `heartbeatIntervalMs` (default 5 min),
|
|
434
|
-
* tracked via `lastHeartbeatTs` — never fires more often than that
|
|
435
|
-
* regardless of call volume.
|
|
436
|
-
*
|
|
437
|
-
* Cost control: does NOT force a fresh balance() RPC round-trip on every
|
|
438
|
-
* heartbeat. It reuses `lastBalanceSnapshot` if one exists and is no
|
|
439
|
-
* older than `heartbeatIntervalMs`; otherwise it sends budget_caps +
|
|
440
|
-
* spend_24h only (balances omitted) rather than paying for a live RPC
|
|
441
|
-
* call on this opportunistic path. Call `balance()` or `reportHeartbeat()`
|
|
442
|
-
* explicitly if you want a heartbeat with a guaranteed-fresh balance.
|
|
443
|
-
*
|
|
444
|
-
* Always fire-and-forget: never awaited by call()/pay(), never throws.
|
|
445
|
-
*/
|
|
446
|
-
private maybeHeartbeat;
|
|
447
|
-
/**
|
|
448
|
-
* Generic x402 payment with telemetry — thin wrapper over
|
|
449
|
-
* `inner.pay(url)` that reports a `kind:"call", via:"pay"` telemetry
|
|
450
|
-
* event on success, mirroring the reporting `call()` already does for
|
|
451
|
-
* registry-resolved payments. Unlike `call()`, the generic x402 flow
|
|
452
|
-
* (native AiFinPay + Coinbase facilitators) does not settle through a
|
|
453
|
-
* bridge that returns a verifiable tx hash here, so `cost` reflects the
|
|
454
|
-
* caller's declared `options.maxAmountUsd` cap (if any) rather than a
|
|
455
|
-
* confirmed on-chain amount — same "advisory" caveat as heartbeat.
|
|
456
|
-
*/
|
|
457
|
-
pay(url: string, init?: Parameters<Agent["pay"]>[1]): Promise<Response>;
|
|
458
422
|
}
|
|
459
423
|
//# sourceMappingURL=unifiedAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedAgent.d.ts","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"unifiedAgent.d.ts","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/unifiedAgent.js
CHANGED
|
@@ -14,12 +14,17 @@ import bs58 from "bs58";
|
|
|
14
14
|
import { createHash } from "node:crypto";
|
|
15
15
|
import { createPublicClient, createWalletClient, http, } from "viem";
|
|
16
16
|
import { privateKeyToAccount, generatePrivateKey, } from "viem/accounts";
|
|
17
|
-
import {
|
|
17
|
+
import { defineChain } from "viem";
|
|
18
|
+
import { polygon, base, arbitrum, optimism, bsc, mainnet, unichain } from "viem/chains";
|
|
18
19
|
import { Connection, Keypair, PublicKey, SystemProgram, Transaction, TransactionInstruction, sendAndConfirmTransaction, } from "@solana/web3.js";
|
|
19
20
|
import { AiFinPayError, X402Error, } from "./errors.js";
|
|
20
21
|
import { Agent } from "./agent.js";
|
|
21
22
|
import { bridgeQuote as crossChainQuote, bridgeExecute as crossChainExecute, bridgeWaitForArrival, USDC_NATIVE, } from "./crossChain.js";
|
|
22
|
-
// ── B2BSplitter contract
|
|
23
|
+
// ── B2BSplitter contract ABI ─────────────────────────────────────────────
|
|
24
|
+
// `payMatic` is the splitter's generic NATIVE-token payment entrypoint —
|
|
25
|
+
// the name is a Polygon-era legacy. On Base/Optimism/Unichain it settles
|
|
26
|
+
// ETH, on BOT Chain BOT, on XRPL EVM XRP. There is no ERC-20/USDC path in
|
|
27
|
+
// the deployed splitter payment flow yet — native-token only.
|
|
23
28
|
const SPLITTER_PAY_MATIC_ABI = [
|
|
24
29
|
{
|
|
25
30
|
type: "function",
|
|
@@ -33,6 +38,94 @@ const SPLITTER_PAY_MATIC_ABI = [
|
|
|
33
38
|
outputs: [],
|
|
34
39
|
},
|
|
35
40
|
];
|
|
41
|
+
// ── B2BSplitter multi-chain deployment registry ──────────────────────────
|
|
42
|
+
//
|
|
43
|
+
// Chains where the fee-on-top B2BSplitter contract is DEPLOYED AND VERIFIED
|
|
44
|
+
// on-chain (eth_getCode returned bytecode for every address below,
|
|
45
|
+
// 2026-07-15). Do NOT add chains here without re-running that check.
|
|
46
|
+
//
|
|
47
|
+
// BOT Chain (677) and XRPL EVM (1440000) are not shipped with viem/chains,
|
|
48
|
+
// so we defineChain() them locally.
|
|
49
|
+
const botchain = defineChain({
|
|
50
|
+
id: 677,
|
|
51
|
+
name: "BOT Chain",
|
|
52
|
+
nativeCurrency: { name: "BOT", symbol: "BOT", decimals: 18 },
|
|
53
|
+
rpcUrls: { default: { http: ["https://rpc.botchain.ai"] } },
|
|
54
|
+
blockExplorers: {
|
|
55
|
+
default: { name: "BOT Chain Explorer", url: "https://scan.botchain.ai" },
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
const xrplevm = defineChain({
|
|
59
|
+
id: 1440000,
|
|
60
|
+
name: "XRPL EVM",
|
|
61
|
+
nativeCurrency: { name: "XRP", symbol: "XRP", decimals: 18 },
|
|
62
|
+
rpcUrls: { default: { http: ["https://rpc.xrplevm.org"] } },
|
|
63
|
+
blockExplorers: {
|
|
64
|
+
default: { name: "XRPL EVM Explorer", url: "https://explorer.xrplevm.org" },
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
export const SPLITTER_DEPLOYMENTS = {
|
|
68
|
+
polygon: {
|
|
69
|
+
chainId: 137,
|
|
70
|
+
chain: polygon,
|
|
71
|
+
defaultRpc: "https://polygon.drpc.org",
|
|
72
|
+
splitter: "0xE34Fc0E6694821c600Fa0955C0F74720ea6d8440",
|
|
73
|
+
usdc: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
|
|
74
|
+
explorer: "https://polygonscan.com",
|
|
75
|
+
nativeUsdEnv: "AIFINPAY_MATIC_USD", // legacy name kept for back-compat
|
|
76
|
+
nativeUsdDefault: 0.70,
|
|
77
|
+
},
|
|
78
|
+
base: {
|
|
79
|
+
chainId: 8453,
|
|
80
|
+
chain: base,
|
|
81
|
+
defaultRpc: "https://mainnet.base.org",
|
|
82
|
+
splitter: "0x8Ad9830D16b1f10333866a3f38C949CbB19f4BAD",
|
|
83
|
+
usdc: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
84
|
+
explorer: "https://basescan.org",
|
|
85
|
+
nativeUsdEnv: "AIFINPAY_ETH_USD",
|
|
86
|
+
nativeUsdDefault: 3000,
|
|
87
|
+
},
|
|
88
|
+
optimism: {
|
|
89
|
+
chainId: 10,
|
|
90
|
+
chain: optimism,
|
|
91
|
+
defaultRpc: "https://mainnet.optimism.io",
|
|
92
|
+
splitter: "0xeE92807decAa3A02F1e165dd7Efcd92ab9aA83CB",
|
|
93
|
+
usdc: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
94
|
+
explorer: "https://optimistic.etherscan.io",
|
|
95
|
+
nativeUsdEnv: "AIFINPAY_ETH_USD",
|
|
96
|
+
nativeUsdDefault: 3000,
|
|
97
|
+
},
|
|
98
|
+
unichain: {
|
|
99
|
+
chainId: 130,
|
|
100
|
+
chain: unichain,
|
|
101
|
+
defaultRpc: "https://mainnet.unichain.org",
|
|
102
|
+
splitter: "0xeE92807decAa3A02F1e165dd7Efcd92ab9aA83CB",
|
|
103
|
+
usdc: "0x078D782b760474a361dDA0AF3839290b0EF57AD6",
|
|
104
|
+
explorer: "https://uniscan.xyz",
|
|
105
|
+
nativeUsdEnv: "AIFINPAY_ETH_USD",
|
|
106
|
+
nativeUsdDefault: 3000,
|
|
107
|
+
},
|
|
108
|
+
botchain: {
|
|
109
|
+
chainId: 677,
|
|
110
|
+
chain: botchain,
|
|
111
|
+
defaultRpc: "https://rpc.botchain.ai",
|
|
112
|
+
splitter: "0x271870ABb6e6756D97191eBdb27C1873911bb587",
|
|
113
|
+
// no USDC on BOT Chain — native BOT only
|
|
114
|
+
explorer: "https://scan.botchain.ai",
|
|
115
|
+
nativeUsdEnv: "AIFINPAY_BOT_USD",
|
|
116
|
+
nativeUsdDefault: 1, // no reliable public feed; set the env var
|
|
117
|
+
},
|
|
118
|
+
xrplevm: {
|
|
119
|
+
chainId: 1440000,
|
|
120
|
+
chain: xrplevm,
|
|
121
|
+
defaultRpc: "https://rpc.xrplevm.org",
|
|
122
|
+
splitter: "0xeE92807decAa3A02F1e165dd7Efcd92ab9aA83CB",
|
|
123
|
+
// no verified USDC on XRPL EVM — native XRP only
|
|
124
|
+
explorer: "https://explorer.xrplevm.org",
|
|
125
|
+
nativeUsdEnv: "AIFINPAY_XRP_USD",
|
|
126
|
+
nativeUsdDefault: 2,
|
|
127
|
+
},
|
|
128
|
+
};
|
|
36
129
|
// ── EVM chain object lookup — viem chains keyed by our EvmChainName ─────
|
|
37
130
|
const EVM_CHAIN_OBJECTS = {
|
|
38
131
|
ethereum: mainnet,
|
|
@@ -42,6 +135,10 @@ const EVM_CHAIN_OBJECTS = {
|
|
|
42
135
|
optimism,
|
|
43
136
|
base,
|
|
44
137
|
};
|
|
138
|
+
function evmChainObject(name) {
|
|
139
|
+
return (EVM_CHAIN_OBJECTS[name]
|
|
140
|
+
?? SPLITTER_DEPLOYMENTS[name]?.chain);
|
|
141
|
+
}
|
|
45
142
|
// Mainnet USDC SPL mint on Solana (Circle native, not Wormhole-wrapped USDCet)
|
|
46
143
|
const USDC_SOLANA_MINT = "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v";
|
|
47
144
|
// Native Polygon USDC ERC20 (Circle-native, not bridged USDC.e)
|
|
@@ -137,26 +234,12 @@ export class AiFinPayAgent {
|
|
|
137
234
|
budgetCaps;
|
|
138
235
|
spend24h = new SpendTracker();
|
|
139
236
|
telemetry;
|
|
140
|
-
// Auto-heartbeat throttle (see maybeHeartbeat()). lastHeartbeatTs=0 means
|
|
141
|
-
// "never fired yet this process" so the first opportunistic heartbeat
|
|
142
|
-
// always goes out.
|
|
143
|
-
heartbeatIntervalMs;
|
|
144
|
-
lastHeartbeatTs = 0;
|
|
145
|
-
// Cheap reuse: the last balance() snapshot taken by ANY caller (explicit
|
|
146
|
-
// agent.balance() or a prior heartbeat). maybeHeartbeat() reuses it if
|
|
147
|
-
// fresh enough instead of forcing a new RPC round-trip.
|
|
148
|
-
lastBalanceSnapshot;
|
|
149
237
|
_polygonPublic;
|
|
150
238
|
_polygonWallet;
|
|
151
239
|
// Multi-chain client cache for cross-chain orchestration (bridge flows).
|
|
152
240
|
// Keyed by EVM chain name (see crossChain.ts EVM_CHAINS).
|
|
153
241
|
_evmClients = new Map();
|
|
154
242
|
evmRpcUrls = {};
|
|
155
|
-
// Cookie for the operator's user-session (magic-link login), captured by
|
|
156
|
-
// establishUserSession(). Same mechanism the MCP agent_claim_self tool
|
|
157
|
-
// uses inline; here it's held on the instance so subsequent calls
|
|
158
|
-
// (listMyAgents()) can reuse it without re-clicking the magic link.
|
|
159
|
-
userSessionCookie;
|
|
160
243
|
constructor(inner, evmAccount, opts = {}) {
|
|
161
244
|
this.inner = inner;
|
|
162
245
|
this.evmAccount = evmAccount;
|
|
@@ -164,7 +247,6 @@ export class AiFinPayAgent {
|
|
|
164
247
|
?? `${inner.baseUrl}${DEFAULT_REGISTRY_PATH}`;
|
|
165
248
|
this.budgetCaps = opts.budgetCaps ?? {};
|
|
166
249
|
this.telemetry = opts.telemetry !== false;
|
|
167
|
-
this.heartbeatIntervalMs = opts.heartbeatIntervalMs ?? 5 * 60 * 1000;
|
|
168
250
|
this.polygonRpc = opts.polygonRpc ?? "https://polygon.drpc.org";
|
|
169
251
|
this.solanaRpc = opts.solanaRpc
|
|
170
252
|
?? process.env.AIFINPAY_SOLANA_RPC
|
|
@@ -195,19 +277,22 @@ export class AiFinPayAgent {
|
|
|
195
277
|
}
|
|
196
278
|
return { publicClient: this._polygonPublic, walletClient: this._polygonWallet };
|
|
197
279
|
}
|
|
198
|
-
// Multi-EVM-chain client cache. Used by bridge orchestration
|
|
199
|
-
//
|
|
200
|
-
//
|
|
201
|
-
// can be supplied via opts.evmRpcUrls
|
|
280
|
+
// Multi-EVM-chain client cache. Used by bridge orchestration AND splitter
|
|
281
|
+
// settlement on chains other than Polygon. Picks viem's built-in chain
|
|
282
|
+
// definitions (or our defineChain() entries for botchain/xrplevm); an
|
|
283
|
+
// optional RPC override per chain can be supplied via opts.evmRpcUrls,
|
|
284
|
+
// else splitter chains use SPLITTER_DEPLOYMENTS.defaultRpc, else viem's
|
|
285
|
+
// chain default.
|
|
202
286
|
evmClients(name) {
|
|
203
287
|
const cached = this._evmClients.get(name);
|
|
204
288
|
if (cached)
|
|
205
289
|
return cached;
|
|
206
|
-
const chain =
|
|
290
|
+
const chain = evmChainObject(name);
|
|
207
291
|
if (!chain) {
|
|
208
292
|
throw new AiFinPayError(`evmClients: unsupported EVM chain "${name}"`);
|
|
209
293
|
}
|
|
210
|
-
const rpcUrl = this.evmRpcUrls[name]
|
|
294
|
+
const rpcUrl = this.evmRpcUrls[name]
|
|
295
|
+
?? SPLITTER_DEPLOYMENTS[name]?.defaultRpc;
|
|
211
296
|
const transport = rpcUrl ? http(rpcUrl) : http();
|
|
212
297
|
const publicClient = createPublicClient({ chain, transport });
|
|
213
298
|
const walletClient = createWalletClient({ chain, transport, account: this.evmAccount });
|
|
@@ -215,6 +300,14 @@ export class AiFinPayAgent {
|
|
|
215
300
|
this._evmClients.set(name, pair);
|
|
216
301
|
return pair;
|
|
217
302
|
}
|
|
303
|
+
// Clients for a splitter-settlement chain. Polygon keeps its dedicated
|
|
304
|
+
// client pair (honours the polygonRpc option byte-for-byte); every other
|
|
305
|
+
// registry chain goes through the generic evmClients cache.
|
|
306
|
+
splitterClients(name) {
|
|
307
|
+
if (name === "polygon")
|
|
308
|
+
return this.polygonClients();
|
|
309
|
+
return this.evmClients(name);
|
|
310
|
+
}
|
|
218
311
|
// ── Constructors ─────────────────────────────────────────────────────────
|
|
219
312
|
/**
|
|
220
313
|
* Generate a fresh agent — new Solana keypair + new EVM keypair.
|
|
@@ -576,9 +669,11 @@ export class AiFinPayAgent {
|
|
|
576
669
|
* High-level paid call. Resolves the provider, picks a chain, builds the
|
|
577
670
|
* payment, sends to the bridge, retries with payment proof.
|
|
578
671
|
*
|
|
579
|
-
*
|
|
580
|
-
*
|
|
581
|
-
*
|
|
672
|
+
* EVM settlement: per-call splitter via on-chain `B2BSplitter.payMatic()`
|
|
673
|
+
* (generic native-token entrypoint) on any SPLITTER_DEPLOYMENTS chain —
|
|
674
|
+
* polygon (default), base, optimism, unichain, botchain, xrplevm. Pass
|
|
675
|
+
* `chain` in CallOptions to override (the provider must accept it).
|
|
676
|
+
* Solana settlement: b2b_pay_with_split (live since 2026-05-18).
|
|
582
677
|
*
|
|
583
678
|
* Returns `null` (instead of a `Response`) iff a budget cap was hit
|
|
584
679
|
* AND budget.on_limit_exceeded is set to "skip" — the call is dropped
|
|
@@ -628,7 +723,6 @@ export class AiFinPayAgent {
|
|
|
628
723
|
// Nothing was paid, so the call does NOT count against budget caps.
|
|
629
724
|
if (this.telemetry)
|
|
630
725
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, free: true });
|
|
631
|
-
this.maybeHeartbeat();
|
|
632
726
|
return initialResp;
|
|
633
727
|
}
|
|
634
728
|
let challenge;
|
|
@@ -669,7 +763,6 @@ export class AiFinPayAgent {
|
|
|
669
763
|
this.spend24h.add(cost);
|
|
670
764
|
if (this.telemetry)
|
|
671
765
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, tx: solTxSig });
|
|
672
|
-
this.maybeHeartbeat();
|
|
673
766
|
// @internal — attach settlement metadata for consumers (MCP, telemetry
|
|
674
767
|
// dashboards) that need to surface the tx hash without an extra RPC
|
|
675
768
|
// call. Response headers are read-only after construction so we use
|
|
@@ -678,32 +771,50 @@ export class AiFinPayAgent {
|
|
|
678
771
|
paidResp.aifinpayChain = "solana";
|
|
679
772
|
return paidResp;
|
|
680
773
|
}
|
|
681
|
-
// ──
|
|
774
|
+
// ── EVM branch (B2BSplitter.payMatic — generic native-token atomic split) ──
|
|
775
|
+
// Settles on any chain in SPLITTER_DEPLOYMENTS (polygon default; base,
|
|
776
|
+
// optimism, unichain, botchain, xrplevm). Native token only — the
|
|
777
|
+
// deployed splitter payment path has no ERC-20/USDC entrypoint.
|
|
682
778
|
if (!challenge.pay_matic) {
|
|
683
779
|
throw new X402Error(`bridge ${provider.name} returned 402 but no pay_matic block — only legacy AiFinPay/Coinbase facilitators not yet wired into AiFinPayAgent.call()`);
|
|
684
780
|
}
|
|
685
781
|
const pm = challenge.pay_matic;
|
|
782
|
+
const deployment = SPLITTER_DEPLOYMENTS[chain];
|
|
783
|
+
if (!deployment) {
|
|
784
|
+
throw new AiFinPayError(`No B2BSplitter deployment registered for chain "${chain}" — supported: ${Object.keys(SPLITTER_DEPLOYMENTS).join(", ")}`);
|
|
785
|
+
}
|
|
786
|
+
// Refuse to pay a quote denominated for another chain's native token:
|
|
787
|
+
// total_wei quoted for POL on Polygon would be a massive overpay if
|
|
788
|
+
// blindly re-sent as ETH on Base. Legacy bridges always emit "polygon".
|
|
789
|
+
if (pm.chain && pm.chain !== chain) {
|
|
790
|
+
throw new X402Error(`bridge ${provider.name} quoted pay_matic for chain "${pm.chain}" but the call was routed to "${chain}" — refusing cross-denomination payment`);
|
|
791
|
+
}
|
|
686
792
|
// Guard: same ballpark check as the Solana branch — never sign for an
|
|
687
|
-
// amount wildly above the declared cost / per-call cap.
|
|
793
|
+
// amount wildly above the declared cost / per-call cap. Native-token
|
|
794
|
+
// USD price per chain via SPLITTER_DEPLOYMENTS.nativeUsdEnv.
|
|
688
795
|
{
|
|
689
796
|
const wei = Number(pm.total_wei);
|
|
690
|
-
const
|
|
691
|
-
const estUsd = (Number.isFinite(wei) ? wei / 1e18 : 0) *
|
|
797
|
+
const nativeUsd = parseFloat(process.env[deployment.nativeUsdEnv] ?? String(deployment.nativeUsdDefault));
|
|
798
|
+
const estUsd = (Number.isFinite(wei) ? wei / 1e18 : 0) * nativeUsd;
|
|
692
799
|
const guarded = this.guardChallengeAmount(estUsd, cost, provider.name);
|
|
693
800
|
if (!guarded)
|
|
694
801
|
return null;
|
|
695
802
|
}
|
|
696
|
-
// 2. Submit B2BSplitter.payMatic on
|
|
803
|
+
// 2. Submit B2BSplitter.payMatic on the selected chain's mainnet.
|
|
804
|
+
// Prefer the challenge's splitter address (current bridge behaviour);
|
|
805
|
+
// fall back to the registry address for bridges that omit it.
|
|
697
806
|
// ipCreator routing: prefer the challenge's explicit ip_creator; else
|
|
698
807
|
// route the royalty slot to the splitter's treasury (mirrors the Solana
|
|
699
808
|
// branch). Passing address(0) would skip the transfer and permanently
|
|
700
809
|
// strand the 1bp inside B2BSplitter — the contract has no sweep function.
|
|
810
|
+
const splitterAddress = pm.splitter
|
|
811
|
+
?? deployment.splitter;
|
|
701
812
|
const ipCreator = pm.ip_creator
|
|
702
|
-
?? await this.splitterTreasury(
|
|
813
|
+
?? await this.splitterTreasury(splitterAddress, chain)
|
|
703
814
|
?? "0x0000000000000000000000000000000000000000";
|
|
704
|
-
const { publicClient, walletClient } = this.
|
|
815
|
+
const { publicClient, walletClient } = this.splitterClients(chain);
|
|
705
816
|
const txHash = await walletClient.writeContract({
|
|
706
|
-
address:
|
|
817
|
+
address: splitterAddress,
|
|
707
818
|
abi: SPLITTER_PAY_MATIC_ABI,
|
|
708
819
|
functionName: "payMatic",
|
|
709
820
|
args: [
|
|
@@ -712,13 +823,13 @@ export class AiFinPayAgent {
|
|
|
712
823
|
pm.order_id,
|
|
713
824
|
],
|
|
714
825
|
value: BigInt(pm.total_wei),
|
|
715
|
-
chain:
|
|
826
|
+
chain: deployment.chain,
|
|
716
827
|
account: this.evmAccount,
|
|
717
828
|
});
|
|
718
|
-
// 3. Wait for receipt (
|
|
829
|
+
// 3. Wait for receipt (inclusion is enough on these fast-block chains).
|
|
719
830
|
const receipt = await publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
720
831
|
if (receipt.status !== "success") {
|
|
721
|
-
throw new AiFinPayError(
|
|
832
|
+
throw new AiFinPayError(`${deployment.chain.name} tx reverted: ${txHash}`);
|
|
722
833
|
}
|
|
723
834
|
// 4. Retry the bridge with payment proof.
|
|
724
835
|
const paidResp = await this.inner.fetchImpl(fullUrl, buildInit({
|
|
@@ -732,10 +843,9 @@ export class AiFinPayAgent {
|
|
|
732
843
|
this.spend24h.add(cost);
|
|
733
844
|
if (this.telemetry)
|
|
734
845
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, tx: txHash });
|
|
735
|
-
this.maybeHeartbeat();
|
|
736
846
|
// @internal — see Solana branch above for rationale on property-attach.
|
|
737
847
|
paidResp.aifinpayTx = txHash;
|
|
738
|
-
paidResp.aifinpayChain =
|
|
848
|
+
paidResp.aifinpayChain = chain;
|
|
739
849
|
return paidResp;
|
|
740
850
|
}
|
|
741
851
|
// ── Solana b2b_pay_with_split — build, sign, send via @solana/web3.js ───
|
|
@@ -825,7 +935,7 @@ export class AiFinPayAgent {
|
|
|
825
935
|
const solanaUsd = solana * solUsd;
|
|
826
936
|
const solanaUsdcUsd = solana_usdc; // USDC ≈ $1
|
|
827
937
|
const polygonUsdcUsd = polygon_usdc; // USDC ≈ $1
|
|
828
|
-
|
|
938
|
+
return {
|
|
829
939
|
agent_balance_usd: polygonUsd + solanaUsd + solanaUsdcUsd + polygonUsdcUsd,
|
|
830
940
|
chains: {
|
|
831
941
|
solana: { sol: solana, usdc: solana_usdc, msecco_balance: 0 },
|
|
@@ -835,9 +945,6 @@ export class AiFinPayAgent {
|
|
|
835
945
|
budget_caps: this.budgetCaps,
|
|
836
946
|
priced_at: Math.floor(Date.now() / 1000),
|
|
837
947
|
};
|
|
838
|
-
// Cache for maybeHeartbeat() reuse — see rationale there.
|
|
839
|
-
this.lastBalanceSnapshot = { at: Date.now(), snapshot };
|
|
840
|
-
return snapshot;
|
|
841
948
|
}
|
|
842
949
|
async fetchPolygonNative() {
|
|
843
950
|
const { publicClient } = this.polygonClients();
|
|
@@ -907,15 +1014,17 @@ export class AiFinPayAgent {
|
|
|
907
1014
|
return 0; // never block balance() on Solana RPC issues
|
|
908
1015
|
}
|
|
909
1016
|
}
|
|
910
|
-
// Cache: splitter address → treasury address (constant per deployment).
|
|
1017
|
+
// Cache: "chain:splitter address" → treasury address (constant per deployment).
|
|
911
1018
|
splitterTreasuryCache = new Map();
|
|
912
|
-
/** Read + cache B2BSplitter.treasury()
|
|
913
|
-
|
|
914
|
-
|
|
1019
|
+
/** Read + cache B2BSplitter.treasury() on the given chain (default
|
|
1020
|
+
* polygon for back-compat). Returns null on RPC failure. */
|
|
1021
|
+
async splitterTreasury(splitter, chainName = "polygon") {
|
|
1022
|
+
const cacheKey = `${chainName}:${splitter.toLowerCase()}`;
|
|
1023
|
+
const cached = this.splitterTreasuryCache.get(cacheKey);
|
|
915
1024
|
if (cached)
|
|
916
1025
|
return cached;
|
|
917
1026
|
try {
|
|
918
|
-
const { publicClient } = this.
|
|
1027
|
+
const { publicClient } = this.splitterClients(chainName);
|
|
919
1028
|
const treasury = await publicClient.readContract({
|
|
920
1029
|
address: splitter,
|
|
921
1030
|
abi: SPLITTER_TREASURY_ABI,
|
|
@@ -923,7 +1032,7 @@ export class AiFinPayAgent {
|
|
|
923
1032
|
});
|
|
924
1033
|
if (!treasury || treasury === "0x0000000000000000000000000000000000000000")
|
|
925
1034
|
return null;
|
|
926
|
-
this.splitterTreasuryCache.set(
|
|
1035
|
+
this.splitterTreasuryCache.set(cacheKey, treasury);
|
|
927
1036
|
return treasury;
|
|
928
1037
|
}
|
|
929
1038
|
catch {
|
|
@@ -964,69 +1073,6 @@ export class AiFinPayAgent {
|
|
|
964
1073
|
flags: [],
|
|
965
1074
|
};
|
|
966
1075
|
}
|
|
967
|
-
// ── Owner user-session (magic-link) ───────────────────────────────────
|
|
968
|
-
/**
|
|
969
|
-
* Establish the operator's user-session by hitting a magic-link URL —
|
|
970
|
-
* same mechanism `agent_claim_self` (MCP) uses inline: the link is a
|
|
971
|
-
* one-shot, ~15-min-TTL sign-in URL like
|
|
972
|
-
* `https://aifinpay.io/api/auth/verify?token=…` that the user pastes in
|
|
973
|
-
* after signing in at https://aifinpay.io/login. The resulting session
|
|
974
|
-
* cookie (`__aifinpay_user_session`) is cached on this instance and
|
|
975
|
-
* reused by `listMyAgents()` — call this once per process, not per call.
|
|
976
|
-
*/
|
|
977
|
-
async establishUserSession(magicLinkUrl) {
|
|
978
|
-
const res = await fetch(magicLinkUrl, { redirect: "manual" });
|
|
979
|
-
const setCookie = res.headers.get("set-cookie");
|
|
980
|
-
if (!setCookie) {
|
|
981
|
-
throw new AiFinPayError(`Magic link did not return a session cookie (HTTP ${res.status}). Link may be expired or already used.`);
|
|
982
|
-
}
|
|
983
|
-
// Some setups split multiple cookies; keep the header verbatim minus
|
|
984
|
-
// attributes (Path=/, HttpOnly, …) — same trim as agent-claim-self.ts.
|
|
985
|
-
this.userSessionCookie = setCookie
|
|
986
|
-
.split(",")
|
|
987
|
-
.map((c) => c.trim().split(";")[0])
|
|
988
|
-
.join("; ");
|
|
989
|
-
}
|
|
990
|
-
/**
|
|
991
|
-
* Adopt an already-computed session cookie header (e.g. one the MCP
|
|
992
|
-
* `agent_claim_self` tool derived from the same magic link while doing
|
|
993
|
-
* its own claim flow) without re-fetching the magic link. Lets
|
|
994
|
-
* `listMyAgents()` reuse a session established by a sibling flow.
|
|
995
|
-
*/
|
|
996
|
-
adoptUserSessionCookie(cookieHeader) {
|
|
997
|
-
this.userSessionCookie = cookieHeader;
|
|
998
|
-
}
|
|
999
|
-
/**
|
|
1000
|
-
* List agents owned by the signed-in operator, with balance/spend/health
|
|
1001
|
-
* fields for each, over a rolling window. Requires `establishUserSession()`
|
|
1002
|
-
* (or the MCP `agent_claim_self` flow, which also captures the cookie on
|
|
1003
|
-
* this same agent instance) to have run first — otherwise throws.
|
|
1004
|
-
*
|
|
1005
|
-
* Calls `GET {baseUrl}/api/me/agents/overview` — owner-gated, same
|
|
1006
|
-
* `__aifinpay_user_session` cookie as `/api/me/agents/challenge` and
|
|
1007
|
-
* `/api/me/agents/claim`. Returns the parsed `agents` array from
|
|
1008
|
-
* `{ window, agents: [...] }`.
|
|
1009
|
-
*/
|
|
1010
|
-
async listMyAgents() {
|
|
1011
|
-
if (!this.userSessionCookie) {
|
|
1012
|
-
throw new AiFinPayError("No user session established. Run the claim flow first — " +
|
|
1013
|
-
"sign in at https://aifinpay.io/login, then call " +
|
|
1014
|
-
"establishUserSession(magicLinkUrl) (Node) with the emailed link, " +
|
|
1015
|
-
"or use the MCP agent_claim_self tool, before calling listMyAgents().");
|
|
1016
|
-
}
|
|
1017
|
-
const r = await this.inner.fetchImpl(`${this.inner.baseUrl}/api/me/agents/overview`, {
|
|
1018
|
-
method: "GET",
|
|
1019
|
-
headers: { accept: "application/json", cookie: this.userSessionCookie },
|
|
1020
|
-
});
|
|
1021
|
-
if (r.status === 401) {
|
|
1022
|
-
throw new AiFinPayError("User session expired or invalid — re-run establishUserSession() with a fresh magic link.");
|
|
1023
|
-
}
|
|
1024
|
-
if (!r.ok) {
|
|
1025
|
-
throw new AiFinPayError(`GET /api/me/agents/overview → ${r.status}`);
|
|
1026
|
-
}
|
|
1027
|
-
const j = (await r.json());
|
|
1028
|
-
return j.agents ?? [];
|
|
1029
|
-
}
|
|
1030
1076
|
// ── Telemetry (opt-out) ─────────────────────────────────────────────────
|
|
1031
1077
|
reportTelemetry(payload) {
|
|
1032
1078
|
// Fire-and-forget. No body content, only metadata.
|
|
@@ -1036,96 +1082,6 @@ export class AiFinPayAgent {
|
|
|
1036
1082
|
body: JSON.stringify({ agent_id: this.id, ...payload, ts: Date.now() }),
|
|
1037
1083
|
}).catch(() => { });
|
|
1038
1084
|
}
|
|
1039
|
-
/**
|
|
1040
|
-
* Opt-in "advisory" heartbeat — reports the agent's own view of its
|
|
1041
|
-
* budget caps, 24h spend, and balances so an operator dashboard can show
|
|
1042
|
-
* "reported by your agent" liveness. This is NOT server-enforced: the
|
|
1043
|
-
* backend does not verify these numbers on-chain, it just displays what
|
|
1044
|
-
* the agent self-reports. Respects the same `telemetry: false` opt-out
|
|
1045
|
-
* as `call()`'s per-request reporting. Fire-and-forget — never throws.
|
|
1046
|
-
*/
|
|
1047
|
-
reportHeartbeat() {
|
|
1048
|
-
if (!this.telemetry)
|
|
1049
|
-
return;
|
|
1050
|
-
void this.balance()
|
|
1051
|
-
.then((bal) => {
|
|
1052
|
-
this.reportTelemetry({
|
|
1053
|
-
kind: "heartbeat",
|
|
1054
|
-
budget_caps: this.budgetCaps,
|
|
1055
|
-
spend_24h_usd: bal.spend_24h_usd,
|
|
1056
|
-
balances: bal.chains,
|
|
1057
|
-
});
|
|
1058
|
-
this.lastHeartbeatTs = Date.now();
|
|
1059
|
-
})
|
|
1060
|
-
.catch(() => { });
|
|
1061
|
-
}
|
|
1062
|
-
/**
|
|
1063
|
-
* Opportunistic, throttled heartbeat — called internally after a
|
|
1064
|
-
* SUCCESSFUL call()/pay() so the dashboard's "agent-reported caps"
|
|
1065
|
-
* section stays warm without every caller having to remember to invoke
|
|
1066
|
-
* reportHeartbeat() by hand.
|
|
1067
|
-
*
|
|
1068
|
-
* Throttle: at most once per `heartbeatIntervalMs` (default 5 min),
|
|
1069
|
-
* tracked via `lastHeartbeatTs` — never fires more often than that
|
|
1070
|
-
* regardless of call volume.
|
|
1071
|
-
*
|
|
1072
|
-
* Cost control: does NOT force a fresh balance() RPC round-trip on every
|
|
1073
|
-
* heartbeat. It reuses `lastBalanceSnapshot` if one exists and is no
|
|
1074
|
-
* older than `heartbeatIntervalMs`; otherwise it sends budget_caps +
|
|
1075
|
-
* spend_24h only (balances omitted) rather than paying for a live RPC
|
|
1076
|
-
* call on this opportunistic path. Call `balance()` or `reportHeartbeat()`
|
|
1077
|
-
* explicitly if you want a heartbeat with a guaranteed-fresh balance.
|
|
1078
|
-
*
|
|
1079
|
-
* Always fire-and-forget: never awaited by call()/pay(), never throws.
|
|
1080
|
-
*/
|
|
1081
|
-
maybeHeartbeat() {
|
|
1082
|
-
if (!this.telemetry)
|
|
1083
|
-
return;
|
|
1084
|
-
const now = Date.now();
|
|
1085
|
-
if (now - this.lastHeartbeatTs < this.heartbeatIntervalMs)
|
|
1086
|
-
return;
|
|
1087
|
-
this.lastHeartbeatTs = now; // claim the slot before the async work starts
|
|
1088
|
-
const fresh = this.lastBalanceSnapshot
|
|
1089
|
-
&& (now - this.lastBalanceSnapshot.at) < this.heartbeatIntervalMs
|
|
1090
|
-
? this.lastBalanceSnapshot.snapshot
|
|
1091
|
-
: undefined;
|
|
1092
|
-
const payload = {
|
|
1093
|
-
kind: "heartbeat",
|
|
1094
|
-
budget_caps: this.budgetCaps,
|
|
1095
|
-
spend_24h_usd: this.spend24h.total24h(),
|
|
1096
|
-
};
|
|
1097
|
-
if (fresh)
|
|
1098
|
-
payload.balances = fresh.chains;
|
|
1099
|
-
this.reportTelemetry(payload);
|
|
1100
|
-
}
|
|
1101
|
-
/**
|
|
1102
|
-
* Generic x402 payment with telemetry — thin wrapper over
|
|
1103
|
-
* `inner.pay(url)` that reports a `kind:"call", via:"pay"` telemetry
|
|
1104
|
-
* event on success, mirroring the reporting `call()` already does for
|
|
1105
|
-
* registry-resolved payments. Unlike `call()`, the generic x402 flow
|
|
1106
|
-
* (native AiFinPay + Coinbase facilitators) does not settle through a
|
|
1107
|
-
* bridge that returns a verifiable tx hash here, so `cost` reflects the
|
|
1108
|
-
* caller's declared `options.maxAmountUsd` cap (if any) rather than a
|
|
1109
|
-
* confirmed on-chain amount — same "advisory" caveat as heartbeat.
|
|
1110
|
-
*/
|
|
1111
|
-
async pay(url, init = {}) {
|
|
1112
|
-
const resp = await this.inner.pay(url, init);
|
|
1113
|
-
if (this.telemetry) {
|
|
1114
|
-
let host = null;
|
|
1115
|
-
try {
|
|
1116
|
-
host = new URL(url).host;
|
|
1117
|
-
}
|
|
1118
|
-
catch { /* leave null */ }
|
|
1119
|
-
this.reportTelemetry({
|
|
1120
|
-
kind: "call",
|
|
1121
|
-
via: "pay",
|
|
1122
|
-
provider: host,
|
|
1123
|
-
cost: init.options?.maxAmountUsd ?? null,
|
|
1124
|
-
});
|
|
1125
|
-
}
|
|
1126
|
-
this.maybeHeartbeat();
|
|
1127
|
-
return resp;
|
|
1128
|
-
}
|
|
1129
1085
|
}
|
|
1130
1086
|
// ── Internal hex helpers (small, no extra deps) ────────────────────────────
|
|
1131
1087
|
function hexToBytes(hex) {
|
package/dist/unifiedAgent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedAgent.js","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unifiedAgent.js","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aifinpay/agent",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Unified agent-economy SDK for autonomous AI agents — chain-opaque AiFinPayAgent surface (call/openSession/balance/verify) over
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Unified agent-economy SDK for autonomous AI agents — chain-opaque AiFinPayAgent surface (call/openSession/balance/verify) over Solana and EVM execution environments (Polygon default; Base, Optimism, Unichain, BOT Chain, XRPL EVM splitter settlement).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -66,8 +66,5 @@
|
|
|
66
66
|
},
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"access": "public"
|
|
69
|
-
},
|
|
70
|
-
"bin": {
|
|
71
|
-
"aifinpay": "./dist/cli.js"
|
|
72
69
|
}
|
|
73
70
|
}
|