@aifinpay/agent 0.3.0-alpha.4 → 1.0.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 +6 -6
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +4 -2
- package/dist/agent.js.map +1 -1
- package/dist/crossChain.d.ts +77 -0
- package/dist/crossChain.d.ts.map +1 -0
- package/dist/crossChain.js +143 -0
- package/dist/crossChain.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/unifiedAgent.d.ts +138 -5
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +406 -25
- package/dist/unifiedAgent.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @aifinpay/agent (Node / TypeScript)
|
|
2
2
|
|
|
3
3
|
Non-custodial x402 payment client for autonomous AI agents on
|
|
4
|
-
[AiFinPay](https://aifinpay.
|
|
4
|
+
[AiFinPay](https://aifinpay.io).
|
|
5
5
|
|
|
6
6
|
The Ed25519 keypair is generated locally with `tweetnacl` and never leaves
|
|
7
7
|
your process. The SDK only sends a one-time SHA-256 + Ed25519 signature in
|
|
@@ -10,10 +10,10 @@ the `x-signature` header to authenticate against AiFinPay-protected endpoints.
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
|
-
#
|
|
14
|
-
npm install @aifinpay/agent
|
|
15
|
-
# or pnpm add @aifinpay/agent
|
|
16
|
-
# or yarn add @aifinpay/agent
|
|
13
|
+
# install (latest)
|
|
14
|
+
npm install @aifinpay/agent
|
|
15
|
+
# or pnpm add @aifinpay/agent
|
|
16
|
+
# or yarn add @aifinpay/agent
|
|
17
17
|
|
|
18
18
|
# stable (when 1.0 ships)
|
|
19
19
|
npm install @aifinpay/agent
|
|
@@ -41,7 +41,7 @@ const invoice = await agent.reserveSeatInvoice({
|
|
|
41
41
|
// `invoice.raw` has program_id, treasury_vault, mints, nonce, etc.
|
|
42
42
|
|
|
43
43
|
// Once the Seat is on-chain, gated endpoints just work:
|
|
44
|
-
const res = await agent.get("https://aifinpay.
|
|
44
|
+
const res = await agent.get("https://aifinpay.io/api/stats");
|
|
45
45
|
console.log(await res.json());
|
|
46
46
|
```
|
|
47
47
|
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQzD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,OAAQ,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,KAAK;IAChB,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,SAAS,EAAE,OAAO,KAAK,CAAC;IAEjC,OAAO;IAmBP,MAAM,CAAC,GAAG,CAAC,IAAI,GAAE,YAAiB,GAAG,KAAK;IAK1C,0EAA0E;IAC1E,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,KAAK;IAevE,2EAA2E;WAC9D,eAAe,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,KAAK,CAAC;IAcjB,gCAAgC;IAChC,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,sEAAsE;IACtE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAIK,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAO7C,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAS7C,UAAU,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAOlE,qDAAqD;IAC/C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgB9C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAO3B,cAAc,CAAC,EACnB,WAAiB,EACjB,MAAc,EACd,SAAmB,GACpB,GAAE;QACD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBtB;;;;OAIG;IACG,kBAAkB,CAAC,EACvB,SAAS,EACT,KAAc,GACf,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;KACjC,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBpB;;;;;;;;;OASG;IACG,UAAU,CAAC,IAAI,EAAE;QACrB,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KAC1C,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAgBpC;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;QACzC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAuCpC;;;;;;OAMG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAoDvD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,WAAgB,GACrB,OAAO,CAAC,QAAQ,CAAC;IAIpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIvD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YAM1C,IAAI;CA6BnB"}
|
package/dist/agent.js
CHANGED
|
@@ -3,9 +3,11 @@ import bs58 from "bs58";
|
|
|
3
3
|
import { sha256 } from "./crypto.js";
|
|
4
4
|
import { AiFinPayError, FundingTimeoutError, X402Error } from "./errors.js";
|
|
5
5
|
import { detectFacilitator } from "./facilitators/detect.js";
|
|
6
|
-
|
|
6
|
+
// Canonical domain is aifinpay.io (aifinpay.company 301-redirects there,
|
|
7
|
+
// which silently downgrades POST → GET in fetch — never rely on it).
|
|
8
|
+
const DEFAULT_BASE_URL = "https://aifinpay.io";
|
|
7
9
|
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
8
|
-
const SDK_UA = "aifinpay-agent-node/0.
|
|
10
|
+
const SDK_UA = "aifinpay-agent-node/0.3.0";
|
|
9
11
|
export class Agent {
|
|
10
12
|
publicKey;
|
|
11
13
|
secretKey; // 64 bytes (secret + public)
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,yEAAyE;AACzE,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,GAAG,2BAA2B,CAAC;AAsB3C,MAAM,OAAO,KAAK;IACP,SAAS,CAAa;IACtB,SAAS,CAAa,CAAC,6BAA6B;IACpD,OAAO,CAAS;IAChB,SAAS,CAAS;IAC3B,yFAAyF;IAChF,SAAS,CAAe;IAEjC,YACE,SAAqB,EACrB,SAAqB,EACrB,OAAqB,EAAE;QAEvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CACrB,yEAAyE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAE1E,MAAM,CAAC,GAAG,CAAC,OAAqB,EAAE;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,0EAA0E;IAC1E,MAAM,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAqB,EAAE;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,EAAE,CAAC;QACP,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACtB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC7B,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,aAAa,CACrB,6CAA6C,GAAG,CAAC,MAAM,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,2EAA2E;IAC3E,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,IAAY,EACZ,OAAqB,EAAE;QAEvB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,aAAa,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,0EAA0E;IAE1E,gCAAgC;IAChC,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,sEAAsE;IACtE,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,SAAS;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAGhD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAGvD,CAAC;IACJ,CAAC;IAED,yEAAyE;IAEzE,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAG9B,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,WAAW;QACf,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAClC,iBAAiB,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CACzC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,OAAO;YAC9B,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,yEAAyE;IAEzE,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAE7D,CAAC;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,EACnB,WAAW,GAAG,GAAG,EACjB,MAAM,GAAG,KAAK,EACd,SAAS,GAAG,OAAO,MAKjB,EAAE;QACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAElE,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;oBACtD,IAAI,KAAK,IAAI,WAAW;wBAAE,OAAO;gBACnC,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,IAAI,mBAAmB,CAC3B,WAAW,IAAI,CAAC,OAAO,kBAAkB,WAAW,iBAAiB,CACtE,CAAC;IACJ,CAAC;IAED,yEAAyE;IAEzE;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,EACvB,SAAS,EACT,KAAK,GAAG,MAAM,GAIf;QACC,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC;QACvE,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,IAAI,CAAC,OAAO;SAC3B,CAAC;QACF,IAAI,KAAK,KAAK,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAGvD,CAAC;QACF,OAAO;YACL,SAAS;YACT,aAAa,EAAG,IAAI,CAAC,cAAyB,IAAI,EAAE;YACpD,SAAS,EAAG,IAAI,CAAC,UAAqB,IAAI,EAAE;YAC5C,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,EAAE;YACnC,GAAG,EAAE,IAAI;SACV,CAAC;IACJ,CAAC;IAED,wEAAwE;IAExE;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAC,IAGhB;QACC,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,KAAK,QAAQ;YACrB,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,qBAAqB,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;QAC3D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC7C,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,EAAE;SAC9D,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,aAAa,CAAC,8BAA8B,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,mBAAmB,CAAC,IAMzB;QACC,MAAM,EAAE,8BAA8B,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,yBAAyB,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,MAAM;aACrB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,OAAO;gBAC1B,eAAe,EAAE,IAAI,CAAC,cAAc;gBACpC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;gBAC5C,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrB,IAAI,GAAG,GAAG,uBAAuB,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAyB,CAAC;gBACtD,IAAI,IAAI,CAAC,OAAO;oBAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,MAAM,IAAI,8BAA8B,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,aAAa,CAAC,kCAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;IACrD,CAAC;IAED,yEAAyE;IAEzE;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE;QACvC,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,UAAU,GAAG,CAAC,EACd,OAAO,GAAG,EAAE,EACZ,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,CACX,CAAS,EACT,OAA+B,EAC/B,IAAsB,EACtB,EAAE,CACF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;YAClB,GAAG,IAAI;YACP,MAAM,EAAE,CAAC;YACT,OAAO;YACP,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI;SACxB,CAAC,CAAC;QAEL,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC,CAAC;YACb,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,IAAI,EACJ,OAAO,CAAC,WAAW,IAAI,MAAM,CAC9B,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC;YAC9B,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxB,IAAI,SAAiB,CAAC;YACtB,IAAI,CAAC;gBACH,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,8BAA8B,OAAO,kBAAkB;gBACrD,cAAc,SAAS,EAAE,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wEAAwE;IAExE,KAAK,CAAC,OAAO,CACX,MAAc,EACd,GAAW,EACX,OAAoB,EAAE;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,OAAgB,EAAE;QAClC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,yEAAyE;IAEjE,KAAK,CAAC,IAAI,CAChB,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,IAAI,GAAgB;YACxB,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,kBAAkB;gBAC1B,YAAY,EAAE,MAAM;gBACpB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;SACF,CAAC;QACF,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE;gBAClD,GAAG,IAAI;gBACP,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,aAAa,CAAC,GAAG,MAAM,IAAI,IAAI,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF;AAED,SAAS,YAAY,CACnB,GAAG,OAAgE;IAEnE,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,IAAI,GAAG,YAAY,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type { PublicClient, WalletClient } from "viem";
|
|
2
|
+
export declare const EVM_CHAINS: {
|
|
3
|
+
readonly ethereum: 1;
|
|
4
|
+
readonly polygon: 137;
|
|
5
|
+
readonly bsc: 56;
|
|
6
|
+
readonly arbitrum: 42161;
|
|
7
|
+
readonly optimism: 10;
|
|
8
|
+
readonly base: 8453;
|
|
9
|
+
};
|
|
10
|
+
export type EvmChainName = keyof typeof EVM_CHAINS;
|
|
11
|
+
export declare const USDC_NATIVE: Record<EvmChainName, `0x${string}`>;
|
|
12
|
+
export declare const USDC_BRIDGED: Partial<Record<EvmChainName, `0x${string}`>>;
|
|
13
|
+
export interface BridgeQuoteOptions {
|
|
14
|
+
fromChain: EvmChainName;
|
|
15
|
+
toChain: EvmChainName;
|
|
16
|
+
fromToken: `0x${string}`;
|
|
17
|
+
toToken: `0x${string}`;
|
|
18
|
+
fromAmount: string;
|
|
19
|
+
fromAddress: `0x${string}`;
|
|
20
|
+
toAddress?: `0x${string}`;
|
|
21
|
+
slippage?: number;
|
|
22
|
+
integrator?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface BridgeQuote {
|
|
25
|
+
from: {
|
|
26
|
+
chain: EvmChainName;
|
|
27
|
+
token: `0x${string}`;
|
|
28
|
+
amount: string;
|
|
29
|
+
};
|
|
30
|
+
to: {
|
|
31
|
+
chain: EvmChainName;
|
|
32
|
+
token: `0x${string}`;
|
|
33
|
+
amount: string;
|
|
34
|
+
amount_min: string;
|
|
35
|
+
};
|
|
36
|
+
fees: {
|
|
37
|
+
bridge_usd: number;
|
|
38
|
+
gas_usd: number;
|
|
39
|
+
total_usd: number;
|
|
40
|
+
};
|
|
41
|
+
eta_seconds: number;
|
|
42
|
+
bridge_tool: string;
|
|
43
|
+
raw_quote: unknown;
|
|
44
|
+
}
|
|
45
|
+
export declare function bridgeQuote(opts: BridgeQuoteOptions): Promise<BridgeQuote>;
|
|
46
|
+
export interface BridgeReceipt {
|
|
47
|
+
source_tx: `0x${string}`;
|
|
48
|
+
source_chain: EvmChainName;
|
|
49
|
+
dest_chain: EvmChainName;
|
|
50
|
+
bridge_tool: string;
|
|
51
|
+
status: "submitted" | "pending" | "done" | "failed";
|
|
52
|
+
dest_tx?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Submit the source-chain transaction returned by `bridgeQuote()`.
|
|
56
|
+
* Caller supplies a viem walletClient connected to the SOURCE chain (the
|
|
57
|
+
* agent's wallet on `opts.fromChain`). We don't switch chains for the
|
|
58
|
+
* caller — that's an explicit choice to keep this primitive small.
|
|
59
|
+
*
|
|
60
|
+
* The agent signs and submits. AiFinPay never touches the funds.
|
|
61
|
+
*/
|
|
62
|
+
export declare function bridgeExecute(quote: BridgeQuote, walletClient: WalletClient, publicClient: PublicClient): Promise<BridgeReceipt>;
|
|
63
|
+
/**
|
|
64
|
+
* Poll LiFi's /v1/status for cross-chain arrival. Stargate/Across typically
|
|
65
|
+
* finalise in 30s-3min; Circle CCTP can take 15-25min on Polygon side.
|
|
66
|
+
*
|
|
67
|
+
* Returns once status is "DONE" or "FAILED", or throws on timeout.
|
|
68
|
+
*/
|
|
69
|
+
export declare function bridgeWaitForArrival(sourceTxHash: `0x${string}`, opts?: {
|
|
70
|
+
pollIntervalMs?: number;
|
|
71
|
+
timeoutMs?: number;
|
|
72
|
+
}): Promise<{
|
|
73
|
+
status: "done" | "failed";
|
|
74
|
+
dest_tx?: string;
|
|
75
|
+
raw: unknown;
|
|
76
|
+
}>;
|
|
77
|
+
//# sourceMappingURL=crossChain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossChain.d.ts","sourceRoot":"","sources":["../src/crossChain.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAOvD,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,UAAU,CAAC;AAInD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,MAAM,EAAE,CAO3D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC,CAGrE,CAAC;AAIF,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAK,YAAY,CAAC;IAC3B,OAAO,EAAO,YAAY,CAAC;IAC3B,SAAS,EAAK,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAO,KAAK,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAI,MAAM,CAAC;IACrB,WAAW,EAAG,KAAK,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAK,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAG,MAAM,CAAC;CACtB;AAKD,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,EAAE,EAAI;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,WAAW,EAAG,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IAErB,SAAS,EAAK,OAAO,CAAC;CACvB;AA8BD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwChF;AAID,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAM,KAAK,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAG,YAAY,CAAC;IAC5B,UAAU,EAAK,YAAY,CAAC;IAC5B,WAAW,EAAI,MAAM,CAAC;IACtB,MAAM,EAAS,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAG3D,OAAO,CAAC,EAAO,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAW,WAAW,EAC3B,YAAY,EAAI,YAAY,EAC5B,YAAY,EAAI,YAAY,GAC3B,OAAO,CAAC,aAAa,CAAC,CAmDxB;AAID;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAG,KAAK,MAAM,EAAE,EAC5B,IAAI,GAAE;IACJ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAO,MAAM,CAAC;CACpB,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBxE"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { AiFinPayError } from "./errors.js";
|
|
2
|
+
const LIFI_API = "https://li.quest/v1";
|
|
3
|
+
// ── Supported EVM chains for cross-chain settlement ──────────────────────
|
|
4
|
+
// EVM chain IDs (canonical, used by both viem and LiFi).
|
|
5
|
+
export const EVM_CHAINS = {
|
|
6
|
+
ethereum: 1,
|
|
7
|
+
polygon: 137,
|
|
8
|
+
bsc: 56,
|
|
9
|
+
arbitrum: 42161,
|
|
10
|
+
optimism: 10,
|
|
11
|
+
base: 8453,
|
|
12
|
+
};
|
|
13
|
+
// USDC token addresses per chain. Native (Circle CCTP) variant where it
|
|
14
|
+
// exists; bridged USDC.e listed in `USDC_BRIDGED` for legacy compatibility.
|
|
15
|
+
export const USDC_NATIVE = {
|
|
16
|
+
ethereum: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
|
|
17
|
+
polygon: "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
|
|
18
|
+
bsc: "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d", // Binance-Peg BSC-USD; closest analogue
|
|
19
|
+
arbitrum: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
|
|
20
|
+
optimism: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
|
|
21
|
+
base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
|
|
22
|
+
};
|
|
23
|
+
export const USDC_BRIDGED = {
|
|
24
|
+
polygon: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174", // USDC.e PoS bridged (deprecated, kept for legacy merchants)
|
|
25
|
+
arbitrum: "0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8", // USDC.e (deprecated)
|
|
26
|
+
};
|
|
27
|
+
// ── Quote ────────────────────────────────────────────────────────────────
|
|
28
|
+
export async function bridgeQuote(opts) {
|
|
29
|
+
const fromChainId = EVM_CHAINS[opts.fromChain];
|
|
30
|
+
const toChainId = EVM_CHAINS[opts.toChain];
|
|
31
|
+
const url = new URL(`${LIFI_API}/quote`);
|
|
32
|
+
url.searchParams.set("fromChain", String(fromChainId));
|
|
33
|
+
url.searchParams.set("toChain", String(toChainId));
|
|
34
|
+
url.searchParams.set("fromToken", opts.fromToken);
|
|
35
|
+
url.searchParams.set("toToken", opts.toToken);
|
|
36
|
+
url.searchParams.set("fromAmount", opts.fromAmount);
|
|
37
|
+
url.searchParams.set("fromAddress", opts.fromAddress);
|
|
38
|
+
if (opts.toAddress)
|
|
39
|
+
url.searchParams.set("toAddress", opts.toAddress);
|
|
40
|
+
if (opts.slippage !== undefined)
|
|
41
|
+
url.searchParams.set("slippage", String(opts.slippage));
|
|
42
|
+
url.searchParams.set("integrator", opts.integrator ?? "aifinpay");
|
|
43
|
+
const r = await fetch(url.toString());
|
|
44
|
+
if (!r.ok) {
|
|
45
|
+
const detail = await r.text().catch(() => "<unreadable>");
|
|
46
|
+
throw new AiFinPayError(`bridgeQuote: LiFi /quote returned ${r.status} for ${opts.fromChain}→${opts.toChain}: ${detail.slice(0, 300)}`);
|
|
47
|
+
}
|
|
48
|
+
const j = (await r.json());
|
|
49
|
+
const bridgeUsd = (j.estimate.feeCosts ?? []).reduce((s, f) => s + Number(f.amountUSD ?? 0), 0);
|
|
50
|
+
const gasUsd = (j.estimate.gasCosts ?? []).reduce((s, g) => s + Number(g.amountUSD ?? 0), 0);
|
|
51
|
+
return {
|
|
52
|
+
from: { chain: opts.fromChain, token: opts.fromToken, amount: j.estimate.fromAmount },
|
|
53
|
+
to: {
|
|
54
|
+
chain: opts.toChain,
|
|
55
|
+
token: opts.toToken,
|
|
56
|
+
amount: j.estimate.toAmount,
|
|
57
|
+
amount_min: j.estimate.toAmountMin,
|
|
58
|
+
},
|
|
59
|
+
fees: { bridge_usd: bridgeUsd, gas_usd: gasUsd, total_usd: bridgeUsd + gasUsd },
|
|
60
|
+
eta_seconds: j.estimate.executionDuration ?? 0,
|
|
61
|
+
bridge_tool: j.toolDetails?.name ?? j.tool,
|
|
62
|
+
raw_quote: j,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Submit the source-chain transaction returned by `bridgeQuote()`.
|
|
67
|
+
* Caller supplies a viem walletClient connected to the SOURCE chain (the
|
|
68
|
+
* agent's wallet on `opts.fromChain`). We don't switch chains for the
|
|
69
|
+
* caller — that's an explicit choice to keep this primitive small.
|
|
70
|
+
*
|
|
71
|
+
* The agent signs and submits. AiFinPay never touches the funds.
|
|
72
|
+
*/
|
|
73
|
+
export async function bridgeExecute(quote, walletClient, publicClient) {
|
|
74
|
+
const raw = quote.raw_quote;
|
|
75
|
+
const tx = raw.transactionRequest;
|
|
76
|
+
if (!tx) {
|
|
77
|
+
throw new AiFinPayError(`bridgeExecute: quote has no transactionRequest — likely returned by /quote/toAmount which we don't use`);
|
|
78
|
+
}
|
|
79
|
+
// Sanity-check that the wallet client is on the source chain.
|
|
80
|
+
const chainId = await walletClient.getChainId();
|
|
81
|
+
if (chainId !== tx.chainId) {
|
|
82
|
+
throw new AiFinPayError(`bridgeExecute: walletClient is on chain ${chainId}, quote requires ${tx.chainId} (${quote.from.chain})`);
|
|
83
|
+
}
|
|
84
|
+
const account = walletClient.account;
|
|
85
|
+
if (!account) {
|
|
86
|
+
throw new AiFinPayError(`bridgeExecute: walletClient has no account — pass account: at creation`);
|
|
87
|
+
}
|
|
88
|
+
const hash = await walletClient.sendTransaction({
|
|
89
|
+
account,
|
|
90
|
+
to: tx.to,
|
|
91
|
+
data: tx.data,
|
|
92
|
+
value: BigInt(tx.value || "0x0"),
|
|
93
|
+
gas: tx.gasLimit ? BigInt(tx.gasLimit) : undefined,
|
|
94
|
+
chain: null,
|
|
95
|
+
});
|
|
96
|
+
// Wait for source-chain inclusion only. Dest-chain arrival is async —
|
|
97
|
+
// caller polls via `bridgeWaitForArrival(hash)` if they care.
|
|
98
|
+
const receipt = await publicClient.waitForTransactionReceipt({ hash });
|
|
99
|
+
if (receipt.status !== "success") {
|
|
100
|
+
return {
|
|
101
|
+
source_tx: hash,
|
|
102
|
+
source_chain: quote.from.chain,
|
|
103
|
+
dest_chain: quote.to.chain,
|
|
104
|
+
bridge_tool: quote.bridge_tool,
|
|
105
|
+
status: "failed",
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
return {
|
|
109
|
+
source_tx: hash,
|
|
110
|
+
source_chain: quote.from.chain,
|
|
111
|
+
dest_chain: quote.to.chain,
|
|
112
|
+
bridge_tool: quote.bridge_tool,
|
|
113
|
+
status: "submitted",
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// ── Status polling ───────────────────────────────────────────────────────
|
|
117
|
+
/**
|
|
118
|
+
* Poll LiFi's /v1/status for cross-chain arrival. Stargate/Across typically
|
|
119
|
+
* finalise in 30s-3min; Circle CCTP can take 15-25min on Polygon side.
|
|
120
|
+
*
|
|
121
|
+
* Returns once status is "DONE" or "FAILED", or throws on timeout.
|
|
122
|
+
*/
|
|
123
|
+
export async function bridgeWaitForArrival(sourceTxHash, opts = {}) {
|
|
124
|
+
const pollMs = opts.pollIntervalMs ?? 5000;
|
|
125
|
+
const timeoutMs = opts.timeoutMs ?? 30 * 60 * 1000; // 30 min ceiling
|
|
126
|
+
const deadline = Date.now() + timeoutMs;
|
|
127
|
+
while (Date.now() < deadline) {
|
|
128
|
+
const url = `${LIFI_API}/status?txHash=${sourceTxHash}`;
|
|
129
|
+
const r = await fetch(url);
|
|
130
|
+
if (r.ok) {
|
|
131
|
+
const j = (await r.json());
|
|
132
|
+
if (j.status === "DONE") {
|
|
133
|
+
return { status: "done", dest_tx: j.receiving?.txHash, raw: j };
|
|
134
|
+
}
|
|
135
|
+
if (j.status === "FAILED" || j.status === "INVALID") {
|
|
136
|
+
return { status: "failed", raw: j };
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
await new Promise((resolve) => setTimeout(resolve, pollMs));
|
|
140
|
+
}
|
|
141
|
+
throw new AiFinPayError(`bridgeWaitForArrival: timeout after ${timeoutMs}ms — source tx ${sourceTxHash} did not finalise on dest`);
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=crossChain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossChain.js","sourceRoot":"","sources":["../src/crossChain.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,11 +16,13 @@
|
|
|
16
16
|
*
|
|
17
17
|
* const agent = Agent.new();
|
|
18
18
|
* await agent.reserveSeatInvoice({ amountUsd: 1.0, asset: "USDC" });
|
|
19
|
-
* const res = await agent.pay("https://aifinpay.
|
|
19
|
+
* const res = await agent.pay("https://aifinpay.io/api/stats");
|
|
20
20
|
*/
|
|
21
21
|
export { AiFinPayAgent } from "./unifiedAgent.js";
|
|
22
|
-
export type { AiFinPayAgentOptions, CallOptions, ChainId, ProviderEntry, BalanceSnapshot, ReputationSnapshot, BudgetCaps, SessionHandle, SessionReceipt, } from "./unifiedAgent.js";
|
|
22
|
+
export type { AiFinPayAgentOptions, CallOptions, ChainId, ProviderEntry, BalanceSnapshot, ReputationSnapshot, BudgetCaps, SessionHandle, SessionReceipt, NetworkAgent, } from "./unifiedAgent.js";
|
|
23
23
|
export { ProviderUnknownError, WrongChainBalanceError, InsufficientFundsError, BudgetCapExceededError, SettlementError, SessionExpiredError, } from "./unifiedAgent.js";
|
|
24
|
+
export { bridgeQuote, bridgeExecute, bridgeWaitForArrival, EVM_CHAINS, USDC_NATIVE, USDC_BRIDGED, } from "./crossChain.js";
|
|
25
|
+
export type { BridgeQuote, BridgeReceipt, BridgeQuoteOptions, EvmChainName, } from "./crossChain.js";
|
|
24
26
|
export { Agent } from "./agent.js";
|
|
25
27
|
export type { AgentOptions, Invoice, PayInit } from "./agent.js";
|
|
26
28
|
export { AiFinPayError, FacilitatorNotImplementedError, FundingTimeoutError, PaymentTooExpensiveError, SeatNotFoundError, UnsupportedFacilitatorError, X402Error, } from "./errors.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;AAClD,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,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
|
@@ -16,11 +16,16 @@
|
|
|
16
16
|
*
|
|
17
17
|
* const agent = Agent.new();
|
|
18
18
|
* await agent.reserveSeatInvoice({ amountUsd: 1.0, asset: "USDC" });
|
|
19
|
-
* const res = await agent.pay("https://aifinpay.
|
|
19
|
+
* const res = await agent.pay("https://aifinpay.io/api/stats");
|
|
20
20
|
*/
|
|
21
21
|
// ── Unified surface (Phase 1+) ───────────────────────────────────────────
|
|
22
22
|
export { AiFinPayAgent } from "./unifiedAgent.js";
|
|
23
23
|
export { ProviderUnknownError, WrongChainBalanceError, InsufficientFundsError, BudgetCapExceededError, SettlementError, SessionExpiredError, } from "./unifiedAgent.js";
|
|
24
|
+
// ── Cross-chain orchestration (Phase 1.5a — EVM↔EVM via LiFi) ────────────
|
|
25
|
+
// Standalone primitives — also exposed as methods on AiFinPayAgent.
|
|
26
|
+
// Use the methods (agent.bridgeQuote / agent.bridgeExecute) unless you
|
|
27
|
+
// need to orchestrate from a wallet that isn't an AiFinPayAgent instance.
|
|
28
|
+
export { bridgeQuote, bridgeExecute, bridgeWaitForArrival, EVM_CHAINS, USDC_NATIVE, USDC_BRIDGED, } from "./crossChain.js";
|
|
24
29
|
// ── Legacy chain-aware surface (kept for back-compat) ───────────────────
|
|
25
30
|
export { Agent } from "./agent.js";
|
|
26
31
|
export { AiFinPayError, FacilitatorNotImplementedError, FundingTimeoutError, PaymentTooExpensiveError, SeatNotFoundError, UnsupportedFacilitatorError, X402Error, } from "./errors.js";
|
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,MAAM,mBAAmB,CAAC;AAalD,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,6 +1,7 @@
|
|
|
1
1
|
import { type PrivateKeyAccount } from "viem/accounts";
|
|
2
2
|
import { AiFinPayError } from "./errors.js";
|
|
3
3
|
import { Agent, type AgentOptions } from "./agent.js";
|
|
4
|
+
import { type BridgeQuote, type BridgeReceipt, type EvmChainName } from "./crossChain.js";
|
|
4
5
|
export type ChainId = "solana" | "polygon";
|
|
5
6
|
export interface ProviderEntry {
|
|
6
7
|
name: string;
|
|
@@ -89,6 +90,9 @@ export interface AiFinPayAgentOptions extends AgentOptions {
|
|
|
89
90
|
budgetCaps?: BudgetCaps;
|
|
90
91
|
telemetry?: boolean;
|
|
91
92
|
polygonRpc?: string;
|
|
93
|
+
solanaRpc?: string;
|
|
94
|
+
/** RPC overrides for non-Polygon EVM chains used in bridge flows. */
|
|
95
|
+
evmRpcUrls?: Partial<Record<EvmChainName, string>>;
|
|
92
96
|
}
|
|
93
97
|
export declare class ProviderUnknownError extends AiFinPayError {
|
|
94
98
|
}
|
|
@@ -115,6 +119,24 @@ export declare class SessionExpiredError extends AiFinPayError {
|
|
|
115
119
|
session_id: string;
|
|
116
120
|
constructor(session_id: string);
|
|
117
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* A published entry in the public AiFinPay agent network — what `search()`
|
|
124
|
+
* returns and `register()` produces. Identity is the agent's EVM address.
|
|
125
|
+
*/
|
|
126
|
+
export interface NetworkAgent {
|
|
127
|
+
address: string;
|
|
128
|
+
name: string | null;
|
|
129
|
+
description: string | null;
|
|
130
|
+
endpoint: string | null;
|
|
131
|
+
capabilities: string[];
|
|
132
|
+
pricing: {
|
|
133
|
+
per_call: number;
|
|
134
|
+
currency: string;
|
|
135
|
+
} | null;
|
|
136
|
+
rating: number | null;
|
|
137
|
+
published_at: number | null;
|
|
138
|
+
created_at: number | null;
|
|
139
|
+
}
|
|
118
140
|
export declare class AiFinPayAgent {
|
|
119
141
|
readonly inner: Agent;
|
|
120
142
|
readonly evmAccount: PrivateKeyAccount;
|
|
@@ -127,8 +149,11 @@ export declare class AiFinPayAgent {
|
|
|
127
149
|
private telemetry;
|
|
128
150
|
private _polygonPublic?;
|
|
129
151
|
private _polygonWallet?;
|
|
152
|
+
private _evmClients;
|
|
153
|
+
private evmRpcUrls;
|
|
130
154
|
private constructor();
|
|
131
155
|
private polygonClients;
|
|
156
|
+
private evmClients;
|
|
132
157
|
/**
|
|
133
158
|
* Generate a fresh agent — new Solana keypair + new EVM keypair.
|
|
134
159
|
* Use `fromSeed()` to derive both from a single backup phrase instead.
|
|
@@ -140,9 +165,11 @@ export declare class AiFinPayAgent {
|
|
|
140
165
|
* chains.
|
|
141
166
|
*
|
|
142
167
|
* Solana key = nacl.sign.keyPair.fromSeed(seed)
|
|
143
|
-
* EVM key =
|
|
144
|
-
*
|
|
145
|
-
*
|
|
168
|
+
* EVM key = SHA-256("aifinpay:evm:v1\0" || seed)
|
|
169
|
+
* (domain-separated; independent path; not BIP-44 — see
|
|
170
|
+
* design notes in 23 - Unified SDK Design. This is the
|
|
171
|
+
* canonical derivation both SDKs implement — the Python
|
|
172
|
+
* SDK mirrors it byte-for-byte.)
|
|
146
173
|
*
|
|
147
174
|
* TODO(phase-1): replace with BIP-39/BIP-44 derivation
|
|
148
175
|
* m/44'/501'/0'/0' (Solana) + m/44'/60'/0'/0/0 (EVM) once the
|
|
@@ -150,8 +177,16 @@ export declare class AiFinPayAgent {
|
|
|
150
177
|
*/
|
|
151
178
|
static fromSeed(seedHex: string, opts?: AiFinPayAgentOptions): Promise<AiFinPayAgent>;
|
|
152
179
|
/**
|
|
153
|
-
* Legacy: load the Solana side from an existing keypair
|
|
154
|
-
*
|
|
180
|
+
* Legacy: load the Solana side from an existing keypair. The EVM key is
|
|
181
|
+
* derived deterministically from the Solana secret's 32-byte seed
|
|
182
|
+
* (domain-separated SHA-256, same path as `fromSeed`) unless an explicit
|
|
183
|
+
* `opts.evmPrivateKey` is provided.
|
|
184
|
+
*
|
|
185
|
+
* Why deterministic: a random key here would change the EVM address on
|
|
186
|
+
* every process restart — anything sent to the previous address becomes
|
|
187
|
+
* unrecoverable because the key was never persisted or printed. With
|
|
188
|
+
* derivation, the same AIFINPAY_AGENT_SECRET always reproduces the same
|
|
189
|
+
* EVM address (this is what the MCP server relies on).
|
|
155
190
|
*/
|
|
156
191
|
static fromSolanaSecret(secretB58: string, opts?: AiFinPayAgentOptions): Promise<AiFinPayAgent>;
|
|
157
192
|
get id(): string;
|
|
@@ -159,6 +194,36 @@ export declare class AiFinPayAgent {
|
|
|
159
194
|
get evmAddress(): string;
|
|
160
195
|
fetchRegistry(force?: boolean): Promise<ProviderEntry[]>;
|
|
161
196
|
resolveProvider(name: string): Promise<ProviderEntry>;
|
|
197
|
+
/**
|
|
198
|
+
* Publish this agent to the public AiFinPay network so other agents can
|
|
199
|
+
* discover and call it. Self-sovereign: proves control of the EVM address by
|
|
200
|
+
* signing a one-time nonce with the agent's own key (EIP-191) — no partner
|
|
201
|
+
* account needed.
|
|
202
|
+
*/
|
|
203
|
+
register(opts: {
|
|
204
|
+
name: string;
|
|
205
|
+
endpoint: string;
|
|
206
|
+
description?: string;
|
|
207
|
+
capabilities?: string[];
|
|
208
|
+
pricing?: {
|
|
209
|
+
perCall: number;
|
|
210
|
+
currency?: string;
|
|
211
|
+
};
|
|
212
|
+
}): Promise<NetworkAgent>;
|
|
213
|
+
/** Remove this agent from the public network directory (same signature proof). */
|
|
214
|
+
unregister(): Promise<void>;
|
|
215
|
+
/**
|
|
216
|
+
* Search the public network for agents advertising a capability or matching a
|
|
217
|
+
* free-text query. Pass a bare string to search by capability
|
|
218
|
+
* (`agent.search("weather")`) or an object for finer control. Returns the
|
|
219
|
+
* directory entries; invoking one (pay + call) lands in a later release.
|
|
220
|
+
*/
|
|
221
|
+
search(query: string | {
|
|
222
|
+
capability?: string;
|
|
223
|
+
q?: string;
|
|
224
|
+
limit?: number;
|
|
225
|
+
}): Promise<NetworkAgent[]>;
|
|
226
|
+
private networkNonce;
|
|
162
227
|
setBudget(caps: BudgetCaps): void;
|
|
163
228
|
/**
|
|
164
229
|
* Internal pre-call check. Returns `false` only when on_limit_exceeded
|
|
@@ -172,6 +237,19 @@ export declare class AiFinPayAgent {
|
|
|
172
237
|
* agent instance. Useful for budget dashboards on the consumer side.
|
|
173
238
|
*/
|
|
174
239
|
getSpend24h(): number;
|
|
240
|
+
/**
|
|
241
|
+
* Sanity-check the USD estimate of an on-chain challenge amount against
|
|
242
|
+
* the declared cost and the per-call cap BEFORE signing the tx.
|
|
243
|
+
*
|
|
244
|
+
* The estimate uses env-priced MATIC/SOL (AIFINPAY_MATIC_USD /
|
|
245
|
+
* AIFINPAY_SOL_USD — same stopgap as balance()), so it is approximate.
|
|
246
|
+
* A 2x + $0.05 tolerance absorbs oracle drift while still catching the
|
|
247
|
+
* dangerous case: a bridge that quotes $0.01 in the registry and then
|
|
248
|
+
* demands 100x in the 402 challenge.
|
|
249
|
+
*
|
|
250
|
+
* Returns false (skip) instead of throwing when on_limit_exceeded="skip".
|
|
251
|
+
*/
|
|
252
|
+
private guardChallengeAmount;
|
|
175
253
|
/**
|
|
176
254
|
* Chain selection heuristic — see Obsidian/23 - Unified SDK Design §Routing.
|
|
177
255
|
*
|
|
@@ -205,6 +283,44 @@ export declare class AiFinPayAgent {
|
|
|
205
283
|
asset?: "USDC" | "USDT" | "SOL" | "MATIC";
|
|
206
284
|
chain?: ChainId;
|
|
207
285
|
}): Promise<unknown>;
|
|
286
|
+
/**
|
|
287
|
+
* Quote a USDC-denominated cross-chain transfer via LiFi.
|
|
288
|
+
*
|
|
289
|
+
* The convenience overload takes a USD amount and the chain names; the
|
|
290
|
+
* full overload accepts arbitrary token addresses for non-USDC corridors.
|
|
291
|
+
* The agent's EVM address is used as both `fromAddress` and `toAddress`
|
|
292
|
+
* unless overridden — bridging to a different recipient is rare for agents.
|
|
293
|
+
*/
|
|
294
|
+
bridgeQuote(opts: {
|
|
295
|
+
fromChain: EvmChainName;
|
|
296
|
+
toChain: EvmChainName;
|
|
297
|
+
amount_usdc?: number;
|
|
298
|
+
fromToken?: `0x${string}`;
|
|
299
|
+
toToken?: `0x${string}`;
|
|
300
|
+
fromAmount?: string;
|
|
301
|
+
toAddress?: `0x${string}`;
|
|
302
|
+
slippage?: number;
|
|
303
|
+
}): Promise<BridgeQuote>;
|
|
304
|
+
/**
|
|
305
|
+
* Execute a previously-fetched bridge quote. Signs and submits the source
|
|
306
|
+
* transaction with the agent's EVM key on the SOURCE chain. Returns once
|
|
307
|
+
* source-side inclusion is confirmed; dest-side arrival is async — call
|
|
308
|
+
* `bridgeWaitForArrival(receipt.source_tx)` if you need to block on it.
|
|
309
|
+
*/
|
|
310
|
+
bridgeExecute(quote: BridgeQuote): Promise<BridgeReceipt>;
|
|
311
|
+
/**
|
|
312
|
+
* Wait for the bridge to deliver on the destination chain. Wraps LiFi's
|
|
313
|
+
* /status polling; timeout default is 30 minutes (Circle CCTP can take
|
|
314
|
+
* 15-25 min on Polygon side). Throws AiFinPayError on timeout.
|
|
315
|
+
*/
|
|
316
|
+
bridgeWaitForArrival(sourceTxHash: `0x${string}`, opts?: {
|
|
317
|
+
pollIntervalMs?: number;
|
|
318
|
+
timeoutMs?: number;
|
|
319
|
+
}): Promise<{
|
|
320
|
+
status: "done" | "failed";
|
|
321
|
+
dest_tx?: string;
|
|
322
|
+
raw: unknown;
|
|
323
|
+
}>;
|
|
208
324
|
/**
|
|
209
325
|
* High-level paid call. Resolves the provider, picks a chain, builds the
|
|
210
326
|
* payment, sends to the bridge, retries with payment proof.
|
|
@@ -238,6 +354,23 @@ export declare class AiFinPayAgent {
|
|
|
238
354
|
balance(): Promise<BalanceSnapshot>;
|
|
239
355
|
private fetchPolygonNative;
|
|
240
356
|
private fetchSolanaNative;
|
|
357
|
+
/**
|
|
358
|
+
* Sum SPL USDC balances across all token accounts owned by the agent's
|
|
359
|
+
* Solana pubkey. Uses raw JSON-RPC `getTokenAccountsByOwner` so we don't
|
|
360
|
+
* pull `@solana/spl-token` as a dep. Returns 0 (never throws) when the
|
|
361
|
+
* RPC is unreachable or returns nothing — `balance()` must remain a
|
|
362
|
+
* non-blocking introspection call.
|
|
363
|
+
*/
|
|
364
|
+
private fetchSolanaUsdc;
|
|
365
|
+
private splitterTreasuryCache;
|
|
366
|
+
/** Read + cache B2BSplitter.treasury(). Returns null on RPC failure. */
|
|
367
|
+
private splitterTreasury;
|
|
368
|
+
/**
|
|
369
|
+
* Read the native Polygon USDC (Circle-issued, 6 decimals) balance for the
|
|
370
|
+
* agent's EVM address via the existing viem publicClient. Returns 0
|
|
371
|
+
* (never throws) on RPC failure — see fetchSolanaUsdc rationale.
|
|
372
|
+
*/
|
|
373
|
+
private fetchPolygonUsdc;
|
|
241
374
|
/**
|
|
242
375
|
* TODO(phase-4 / phase-5): query operator backend reputation engine.
|
|
243
376
|
*/
|
|
@@ -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;AAWvB,OAAO,EACL,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"unifiedAgent.d.ts","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|