@absol-labs/agent 0.11.0 → 0.12.0-rc.2
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 +43 -51
- package/dist/capability/invocation-capability.d.ts +2 -2
- package/dist/capability/probe-capability.d.ts +225 -0
- package/dist/capability/probe-capability.d.ts.map +1 -0
- package/dist/capability/probe-capability.js +248 -0
- package/dist/capability/probe-capability.js.map +1 -0
- package/dist/cli/args.d.ts +11 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +23 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/claim.d.ts +32 -0
- package/dist/cli/commands/claim.d.ts.map +1 -1
- package/dist/cli/commands/claim.js +116 -28
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.d.ts.map +1 -1
- package/dist/cli/commands/close.js +35 -3
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/invoke.d.ts +2 -0
- package/dist/cli/commands/invoke.d.ts.map +1 -1
- package/dist/cli/commands/invoke.js +2 -2
- package/dist/cli/commands/invoke.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +15 -2
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/open.d.ts.map +1 -1
- package/dist/cli/commands/open.js +58 -4
- package/dist/cli/commands/open.js.map +1 -1
- package/dist/cli/commands/pay.d.ts +34 -0
- package/dist/cli/commands/pay.d.ts.map +1 -0
- package/dist/cli/commands/pay.js +479 -0
- package/dist/cli/commands/pay.js.map +1 -0
- package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -1
- package/dist/cli/commands/reclaim-unverified.js +3 -2
- package/dist/cli/commands/reclaim-unverified.js.map +1 -1
- package/dist/cli/commands/reclaim.d.ts +23 -2
- package/dist/cli/commands/reclaim.d.ts.map +1 -1
- package/dist/cli/commands/reclaim.js +204 -20
- package/dist/cli/commands/reclaim.js.map +1 -1
- package/dist/cli/commands/refund.d.ts +31 -0
- package/dist/cli/commands/refund.d.ts.map +1 -0
- package/dist/cli/commands/refund.js +397 -0
- package/dist/cli/commands/refund.js.map +1 -0
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +21 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/streams.js +8 -12
- package/dist/cli/commands/streams.js.map +1 -1
- package/dist/cli/commands/watch.d.ts.map +1 -1
- package/dist/cli/commands/watch.js +4 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/config.d.ts +44 -26
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +88 -38
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/context.d.ts +19 -0
- package/dist/cli/context.d.ts.map +1 -1
- package/dist/cli/deps.d.ts +53 -0
- package/dist/cli/deps.d.ts.map +1 -1
- package/dist/cli/deps.js +51 -1
- package/dist/cli/deps.js.map +1 -1
- package/dist/cli/errors.d.ts.map +1 -1
- package/dist/cli/errors.js +21 -1
- package/dist/cli/errors.js.map +1 -1
- package/dist/cli/escape-hatch.d.ts +6 -4
- package/dist/cli/escape-hatch.d.ts.map +1 -1
- package/dist/cli/escape-hatch.js +6 -2
- package/dist/cli/escape-hatch.js.map +1 -1
- package/dist/cli/listings.d.ts +18 -0
- package/dist/cli/listings.d.ts.map +1 -1
- package/dist/cli/listings.js +22 -12
- package/dist/cli/listings.js.map +1 -1
- package/dist/cli/preflight.d.ts +20 -14
- package/dist/cli/preflight.d.ts.map +1 -1
- package/dist/cli/preflight.js +34 -20
- package/dist/cli/preflight.js.map +1 -1
- package/dist/cli/privy.d.ts.map +1 -1
- package/dist/cli/privy.js +4 -2
- package/dist/cli/privy.js.map +1 -1
- package/dist/cli/progress.d.ts +13 -1
- package/dist/cli/progress.d.ts.map +1 -1
- package/dist/cli/progress.js +7 -1
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/reclaimability.d.ts +82 -0
- package/dist/cli/reclaimability.d.ts.map +1 -0
- package/dist/cli/reclaimability.js +80 -0
- package/dist/cli/reclaimability.js.map +1 -0
- package/dist/cli/run.d.ts +2 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +62 -21
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/scan-range.d.ts +2 -2
- package/dist/cli/scan-range.js +2 -2
- package/dist/cli/status.d.ts +106 -1
- package/dist/cli/status.d.ts.map +1 -1
- package/dist/cli/status.js +325 -44
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/wallet.d.ts +2 -2
- package/dist/cli/wallet.d.ts.map +1 -1
- package/dist/cli/wallet.js +29 -5
- package/dist/cli/wallet.js.map +1 -1
- package/dist/discovery/rate-band.d.ts +74 -0
- package/dist/discovery/rate-band.d.ts.map +1 -0
- package/dist/discovery/rate-band.js +114 -0
- package/dist/discovery/rate-band.js.map +1 -0
- package/dist/escrow-generation.d.ts +81 -0
- package/dist/escrow-generation.d.ts.map +1 -0
- package/dist/escrow-generation.js +76 -0
- package/dist/escrow-generation.js.map +1 -0
- package/dist/frameworks/agentkit.d.ts +8 -4
- package/dist/frameworks/agentkit.d.ts.map +1 -1
- package/dist/frameworks/agentkit.js +27 -10
- package/dist/frameworks/agentkit.js.map +1 -1
- package/dist/frameworks/eliza.d.ts +3 -3
- package/dist/frameworks/eliza.d.ts.map +1 -1
- package/dist/frameworks/eliza.js +15 -6
- package/dist/frameworks/eliza.js.map +1 -1
- package/dist/frameworks/langchain.d.ts.map +1 -1
- package/dist/frameworks/langchain.js +8 -0
- package/dist/frameworks/langchain.js.map +1 -1
- package/dist/gateway/caller-auth-gateway.d.ts +83 -31
- package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
- package/dist/gateway/caller-auth-gateway.js +180 -27
- package/dist/gateway/caller-auth-gateway.js.map +1 -1
- package/dist/gateway/http-server.d.ts +128 -44
- package/dist/gateway/http-server.d.ts.map +1 -1
- package/dist/gateway/http-server.js +506 -155
- package/dist/gateway/http-server.js.map +1 -1
- package/dist/gateway/probe-auth.d.ts +112 -0
- package/dist/gateway/probe-auth.d.ts.map +1 -0
- package/dist/gateway/probe-auth.js +127 -0
- package/dist/gateway/probe-auth.js.map +1 -0
- package/dist/gateway/signed-rate-bounds.d.ts +51 -0
- package/dist/gateway/signed-rate-bounds.d.ts.map +1 -0
- package/dist/gateway/signed-rate-bounds.js +94 -0
- package/dist/gateway/signed-rate-bounds.js.map +1 -0
- package/dist/gateway/x402-opener-mode.d.ts +252 -0
- package/dist/gateway/x402-opener-mode.d.ts.map +1 -0
- package/dist/gateway/x402-opener-mode.js +772 -0
- package/dist/gateway/x402-opener-mode.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -5
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +64 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +247 -37
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/x402-tools.d.ts +109 -0
- package/dist/mcp/x402-tools.d.ts.map +1 -0
- package/dist/mcp/x402-tools.js +554 -0
- package/dist/mcp/x402-tools.js.map +1 -0
- package/dist/network.d.ts +119 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/network.js +199 -0
- package/dist/network.js.map +1 -0
- package/dist/sdk/client.d.ts +13 -0
- package/dist/sdk/client.d.ts.map +1 -1
- package/dist/sdk/client.js +15 -0
- package/dist/sdk/client.js.map +1 -1
- package/dist/sdk/invoke.d.ts +4 -0
- package/dist/sdk/invoke.d.ts.map +1 -1
- package/dist/sdk/invoke.js +2 -5
- package/dist/sdk/invoke.js.map +1 -1
- package/dist/wallet/autonomous-wallet-broker.d.ts +3 -0
- package/dist/wallet/autonomous-wallet-broker.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet-broker.js +27 -23
- package/dist/wallet/autonomous-wallet-broker.js.map +1 -1
- package/dist/wallet/autonomous-wallet-protocol.d.ts +8 -2
- package/dist/wallet/autonomous-wallet-protocol.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet-protocol.js +9 -2
- package/dist/wallet/autonomous-wallet-protocol.js.map +1 -1
- package/dist/wallet/autonomous-wallet.d.ts.map +1 -1
- package/dist/wallet/autonomous-wallet.js +3 -2
- package/dist/wallet/autonomous-wallet.js.map +1 -1
- package/dist/wallet/broker-escrows.d.ts +222 -0
- package/dist/wallet/broker-escrows.d.ts.map +1 -0
- package/dist/wallet/broker-escrows.js +36 -0
- package/dist/wallet/broker-escrows.js.map +1 -0
- package/dist/wallet/lifecycle.d.ts +21 -5
- package/dist/wallet/lifecycle.d.ts.map +1 -1
- package/dist/wallet/lifecycle.js +32 -12
- package/dist/wallet/lifecycle.js.map +1 -1
- package/dist/wallet/privy-broker-server.d.ts.map +1 -1
- package/dist/wallet/privy-broker-server.js +31 -26
- package/dist/wallet/privy-broker-server.js.map +1 -1
- package/dist/wallet/privy-session-broker.d.ts +14 -5
- package/dist/wallet/privy-session-broker.d.ts.map +1 -1
- package/dist/wallet/privy-session-broker.js +29 -17
- package/dist/wallet/privy-session-broker.js.map +1 -1
- package/dist/wallet/privy-session-provider.d.ts +3 -1
- package/dist/wallet/privy-session-provider.d.ts.map +1 -1
- package/dist/wallet/privy-session-provider.js +5 -3
- package/dist/wallet/privy-session-provider.js.map +1 -1
- package/dist/wallet/provider.d.ts.map +1 -1
- package/dist/wallet/provider.js +15 -8
- package/dist/wallet/provider.js.map +1 -1
- package/dist/x402/facilitator.d.ts +3 -30
- package/dist/x402/facilitator.d.ts.map +1 -1
- package/dist/x402/facilitator.js +0 -27
- package/dist/x402/facilitator.js.map +1 -1
- package/dist/x402-buyer/guarded-fetch.d.ts +51 -0
- package/dist/x402-buyer/guarded-fetch.d.ts.map +1 -0
- package/dist/x402-buyer/guarded-fetch.js +147 -0
- package/dist/x402-buyer/guarded-fetch.js.map +1 -0
- package/dist/x402-buyer/index.d.ts +10 -0
- package/dist/x402-buyer/index.d.ts.map +1 -0
- package/dist/x402-buyer/index.js +10 -0
- package/dist/x402-buyer/index.js.map +1 -0
- package/dist/x402-buyer/pay.d.ts +157 -0
- package/dist/x402-buyer/pay.d.ts.map +1 -0
- package/dist/x402-buyer/pay.js +366 -0
- package/dist/x402-buyer/pay.js.map +1 -0
- package/dist/x402-opener/abi.d.ts +684 -0
- package/dist/x402-opener/abi.d.ts.map +1 -0
- package/dist/x402-opener/abi.js +880 -0
- package/dist/x402-opener/abi.js.map +1 -0
- package/dist/x402-opener/facilitator-entry.d.ts +3 -0
- package/dist/x402-opener/facilitator-entry.d.ts.map +1 -0
- package/dist/x402-opener/facilitator-entry.js +40 -0
- package/dist/x402-opener/facilitator-entry.js.map +1 -0
- package/dist/x402-opener/facilitator-server.d.ts +209 -0
- package/dist/x402-opener/facilitator-server.d.ts.map +1 -0
- package/dist/x402-opener/facilitator-server.js +762 -0
- package/dist/x402-opener/facilitator-server.js.map +1 -0
- package/dist/x402-opener/index.d.ts +14 -0
- package/dist/x402-opener/index.d.ts.map +1 -0
- package/dist/x402-opener/index.js +14 -0
- package/dist/x402-opener/index.js.map +1 -0
- package/dist/x402-opener/listing-resolver.d.ts +55 -0
- package/dist/x402-opener/listing-resolver.d.ts.map +1 -0
- package/dist/x402-opener/listing-resolver.js +125 -0
- package/dist/x402-opener/listing-resolver.js.map +1 -0
- package/dist/x402-opener/refund-relay.d.ts +266 -0
- package/dist/x402-opener/refund-relay.d.ts.map +1 -0
- package/dist/x402-opener/refund-relay.js +1341 -0
- package/dist/x402-opener/refund-relay.js.map +1 -0
- package/dist/x402-opener/relayer-queue.d.ts +14 -0
- package/dist/x402-opener/relayer-queue.d.ts.map +1 -0
- package/dist/x402-opener/relayer-queue.js +18 -0
- package/dist/x402-opener/relayer-queue.js.map +1 -0
- package/dist/x402-opener/scheme.d.ts +296 -0
- package/dist/x402-opener/scheme.d.ts.map +1 -0
- package/dist/x402-opener/scheme.js +1035 -0
- package/dist/x402-opener/scheme.js.map +1 -0
- package/dist/x402-opener/terms.d.ts +165 -0
- package/dist/x402-opener/terms.d.ts.map +1 -0
- package/dist/x402-opener/terms.js +304 -0
- package/dist/x402-opener/terms.js.map +1 -0
- package/dist/zktls/reclaim.d.ts +2 -2
- package/dist/zktls/t2-delivery-proof.d.ts +6 -6
- package/docs/agent-layer.md +3 -2
- package/docs/autonomous-privy-wallet.md +188 -0
- package/docs/cli.md +265 -34
- package/docs/langchain.md +5 -0
- package/docs/mcp-reference.md +91 -5
- package/docs/probe-capability.md +191 -0
- package/docs/quickstart.md +39 -4
- package/docs/threat-model.md +20 -0
- package/docs/x402.md +766 -593
- package/package.json +19 -17
- package/src/capability/probe-capability.ts +355 -0
- package/src/cli/args.ts +29 -0
- package/src/cli/commands/claim.ts +168 -33
- package/src/cli/commands/close.ts +36 -3
- package/src/cli/commands/invoke.ts +5 -2
- package/src/cli/commands/mcp.ts +18 -2
- package/src/cli/commands/open.ts +75 -4
- package/src/cli/commands/pay.ts +584 -0
- package/src/cli/commands/reclaim-unverified.ts +8 -2
- package/src/cli/commands/reclaim.ts +277 -19
- package/src/cli/commands/refund.ts +475 -0
- package/src/cli/commands/status.ts +28 -2
- package/src/cli/commands/streams.ts +10 -14
- package/src/cli/commands/watch.ts +11 -1
- package/src/cli/config.ts +139 -52
- package/src/cli/context.ts +16 -0
- package/src/cli/deps.ts +111 -1
- package/src/cli/errors.ts +24 -1
- package/src/cli/escape-hatch.ts +19 -5
- package/src/cli/listings.ts +43 -10
- package/src/cli/preflight.ts +36 -21
- package/src/cli/privy.ts +4 -2
- package/src/cli/progress.ts +21 -2
- package/src/cli/reclaimability.ts +154 -0
- package/src/cli/run.ts +77 -21
- package/src/cli/scan-range.ts +2 -2
- package/src/cli/status.ts +454 -44
- package/src/cli/wallet.ts +45 -8
- package/src/discovery/rate-band.ts +172 -0
- package/src/escrow-generation.ts +135 -0
- package/src/frameworks/agentkit.ts +45 -11
- package/src/frameworks/eliza.ts +27 -5
- package/src/frameworks/langchain.ts +14 -0
- package/src/gateway/caller-auth-gateway.ts +320 -68
- package/src/gateway/http-server.ts +717 -220
- package/src/gateway/probe-auth.ts +191 -0
- package/src/gateway/signed-rate-bounds.ts +164 -0
- package/src/gateway/x402-opener-mode.ts +1171 -0
- package/src/index.ts +82 -19
- package/src/mcp/server.ts +351 -42
- package/src/mcp/x402-tools.ts +785 -0
- package/src/network.ts +302 -0
- package/src/sdk/client.ts +25 -0
- package/src/sdk/invoke.ts +6 -5
- package/src/wallet/autonomous-wallet-broker.ts +46 -20
- package/src/wallet/autonomous-wallet-protocol.ts +11 -2
- package/src/wallet/autonomous-wallet.ts +4 -2
- package/src/wallet/broker-escrows.ts +66 -0
- package/src/wallet/lifecycle.ts +53 -18
- package/src/wallet/privy-broker-server.ts +35 -25
- package/src/wallet/privy-session-broker.ts +58 -25
- package/src/wallet/privy-session-provider.ts +7 -3
- package/src/wallet/provider.ts +20 -15
- package/src/x402/facilitator.ts +3 -43
- package/src/x402-buyer/guarded-fetch.ts +213 -0
- package/src/x402-buyer/index.ts +9 -0
- package/src/x402-buyer/pay.ts +555 -0
- package/src/x402-opener/abi.ts +881 -0
- package/src/x402-opener/facilitator-entry.ts +48 -0
- package/src/x402-opener/facilitator-server.ts +1114 -0
- package/src/x402-opener/index.ts +13 -0
- package/src/x402-opener/listing-resolver.ts +202 -0
- package/src/x402-opener/refund-relay.ts +1873 -0
- package/src/x402-opener/relayer-queue.ts +18 -0
- package/src/x402-opener/scheme.ts +1551 -0
- package/src/x402-opener/terms.ts +453 -0
- package/dist/gateway/x402-mode.d.ts +0 -123
- package/dist/gateway/x402-mode.d.ts.map +0 -1
- package/dist/gateway/x402-mode.js +0 -212
- package/dist/gateway/x402-mode.js.map +0 -1
- package/dist/x402/delivery-oracle.d.ts +0 -108
- package/dist/x402/delivery-oracle.d.ts.map +0 -1
- package/dist/x402/delivery-oracle.js +0 -174
- package/dist/x402/delivery-oracle.js.map +0 -1
- package/dist/x402/facilitator-server-entry.d.ts +0 -3
- package/dist/x402/facilitator-server-entry.d.ts.map +0 -1
- package/dist/x402/facilitator-server-entry.js +0 -27
- package/dist/x402/facilitator-server-entry.js.map +0 -1
- package/dist/x402/facilitator-server.d.ts +0 -73
- package/dist/x402/facilitator-server.d.ts.map +0 -1
- package/dist/x402/facilitator-server.js +0 -305
- package/dist/x402/facilitator-server.js.map +0 -1
- package/dist/x402/payment-requirements.d.ts +0 -106
- package/dist/x402/payment-requirements.d.ts.map +0 -1
- package/dist/x402/payment-requirements.js +0 -138
- package/dist/x402/payment-requirements.js.map +0 -1
- package/dist/x402/relayer.d.ts +0 -41
- package/dist/x402/relayer.d.ts.map +0 -1
- package/dist/x402/relayer.js +0 -64
- package/dist/x402/relayer.js.map +0 -1
- package/dist/x402/resource-index.d.ts +0 -75
- package/dist/x402/resource-index.d.ts.map +0 -1
- package/dist/x402/resource-index.js +0 -126
- package/dist/x402/resource-index.js.map +0 -1
- package/dist/x402/verified-delivery-facilitator.d.ts +0 -285
- package/dist/x402/verified-delivery-facilitator.d.ts.map +0 -1
- package/dist/x402/verified-delivery-facilitator.js +0 -423
- package/dist/x402/verified-delivery-facilitator.js.map +0 -1
- package/src/gateway/x402-mode.ts +0 -350
- package/src/x402/delivery-oracle.ts +0 -285
- package/src/x402/facilitator-server-entry.ts +0 -35
- package/src/x402/facilitator-server.ts +0 -445
- package/src/x402/payment-requirements.ts +0 -231
- package/src/x402/relayer.ts +0 -122
- package/src/x402/resource-index.ts +0 -228
- package/src/x402/verified-delivery-facilitator.ts +0 -744
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refund-relay.js","sourceRoot":"","sources":["../../src/x402-opener/refund-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializes every relayer submission (simulate + broadcast) of one facilitator
|
|
3
|
+
* process, so concurrent requests never race for the relayer account's nonce.
|
|
4
|
+
*
|
|
5
|
+
* The opener scheme (`deployAndSettle`) and the refund relay (`closeWithSig`,
|
|
6
|
+
* `reclaim`, `reclaimUnverifiedWithSig`) share ONE queue when they share one
|
|
7
|
+
* relayer key: two independent queues would reintroduce the race.
|
|
8
|
+
*/
|
|
9
|
+
export declare class RelayerQueue {
|
|
10
|
+
private tail;
|
|
11
|
+
/** Runs `task` after every previously queued task settles (success or failure). */
|
|
12
|
+
run<T>(task: () => Promise<T>): Promise<T>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=relayer-queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayer-queue.d.ts","sourceRoot":"","sources":["../../src/x402-opener/relayer-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAuC;IAEnD,mFAAmF;IACnF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAK3C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serializes every relayer submission (simulate + broadcast) of one facilitator
|
|
3
|
+
* process, so concurrent requests never race for the relayer account's nonce.
|
|
4
|
+
*
|
|
5
|
+
* The opener scheme (`deployAndSettle`) and the refund relay (`closeWithSig`,
|
|
6
|
+
* `reclaim`, `reclaimUnverifiedWithSig`) share ONE queue when they share one
|
|
7
|
+
* relayer key: two independent queues would reintroduce the race.
|
|
8
|
+
*/
|
|
9
|
+
export class RelayerQueue {
|
|
10
|
+
tail = Promise.resolve();
|
|
11
|
+
/** Runs `task` after every previously queued task settles (success or failure). */
|
|
12
|
+
run(task) {
|
|
13
|
+
const next = this.tail.then(task, task);
|
|
14
|
+
this.tail = next.catch(() => undefined);
|
|
15
|
+
return next;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=relayer-queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relayer-queue.js","sourceRoot":"","sources":["../../src/x402-opener/relayer-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,OAAO,YAAY;IACf,IAAI,GAAqB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEnD,mFAAmF;IACnF,GAAG,CAAI,IAAsB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import type { FacilitatorContext, Network, PaymentPayload, PaymentRequirements, SchemeNetworkFacilitator, SettleResponse, VerifyResponse } from "@x402/core/types";
|
|
2
|
+
import { type Account, type Address, type Chain, type PublicClient, type Transport, type WalletClient } from "viem";
|
|
3
|
+
import type { OperatorSignedListingResolver } from "./listing-resolver.js";
|
|
4
|
+
import { RelayerQueue } from "./relayer-queue.js";
|
|
5
|
+
import { OPENER_TERMS_VERSION, type OpenerTerms, type UpfrontOpenerTerms } from "./terms.js";
|
|
6
|
+
/**
|
|
7
|
+
* What one checked payment settles: the factory's kind and its terms. An
|
|
8
|
+
* `"upfront"` payment carries the 6-field terms (price + non-refundable
|
|
9
|
+
* upfrontAmount); a `"stream"` payment the 4-field ones.
|
|
10
|
+
*/
|
|
11
|
+
export type OpenerSettlementPlan = {
|
|
12
|
+
readonly kind: "stream";
|
|
13
|
+
readonly terms: OpenerTerms;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "upfront";
|
|
16
|
+
readonly terms: UpfrontOpenerTerms;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* `MetrikOpenerExactScheme` — an x402 v2 `exact` facilitator scheme that
|
|
20
|
+
* settles every payment INTO a `StreamEscrowV2` stream through the ownerless
|
|
21
|
+
* `X402StreamOpenerFactory` (metrik-agent#116, metrik-contracts#48).
|
|
22
|
+
*
|
|
23
|
+
* ## What it composes, and what it refuses
|
|
24
|
+
*
|
|
25
|
+
* Standard `exact` checks (EIP-712 signature, recipient == `payTo`, value ==
|
|
26
|
+
* amount, validity window, asset is a contract, balance / nonce simulation of
|
|
27
|
+
* the transfer) are delegated to the official `@x402/evm` `ExactEvmScheme`
|
|
28
|
+
* verifier, never reimplemented. On top of it, every payment must satisfy:
|
|
29
|
+
*
|
|
30
|
+
* - `assetTransferMethod` is EIP-3009. Permit2 and every other method are
|
|
31
|
+
* refused: the opener only ever pulls an EIP-3009 authorization.
|
|
32
|
+
* - The signature is NOT ERC-6492-wrapped. A counterfactual smart wallet would
|
|
33
|
+
* need a factory deploy the opener cannot perform; refused with a reason.
|
|
34
|
+
* - `asset` is on the allowlist AND is the factory's own settlement token.
|
|
35
|
+
* - `payTo == factory.predict(terms)`, recomputed on-chain from the configured
|
|
36
|
+
* factory for the terms in `extra.metrikStreamOpener` — never compared by
|
|
37
|
+
* code or codehash (a byte-identical clone outside the factory proves
|
|
38
|
+
* nothing). The factory named in `extra` must be the configured one.
|
|
39
|
+
* - `(operator, serviceRef)` resolve to exactly ONE operator-signed listing via
|
|
40
|
+
* the existing discovery signature verification; the rate is inside the
|
|
41
|
+
* listing's signed commercial bounds when it declares them.
|
|
42
|
+
* - `0 < amount <= ratePerSecond * maxDuration`.
|
|
43
|
+
* - `factory.deployAndSettle` simulates cleanly from the relayer.
|
|
44
|
+
*
|
|
45
|
+
* Any doubt — an RPC error, an unreachable registry, a malformed field — is an
|
|
46
|
+
* invalid verdict. Nothing here ever fails open.
|
|
47
|
+
*
|
|
48
|
+
* ## Settlement
|
|
49
|
+
*
|
|
50
|
+
* `settle` re-runs the full verification, then calls `deployAndSettle` from the
|
|
51
|
+
* relayer, waits for the receipt, and returns success ONLY when the mined
|
|
52
|
+
* receipt carries both the opener's `StreamOpenedFor` and the escrow's
|
|
53
|
+
* `StreamOpened` for exactly this payer, nonce, amount and terms. The stock
|
|
54
|
+
* `ExactEvmScheme.settle` is never called: it would transfer the USDC straight
|
|
55
|
+
* to `payTo`, and USDC that reaches an opener any other way than
|
|
56
|
+
* `settleAndOpen` is unrecoverable. The signer handed to the stock scheme
|
|
57
|
+
* cannot broadcast at all, so that path is closed structurally too.
|
|
58
|
+
*
|
|
59
|
+
* ## At most one success per authorization
|
|
60
|
+
*
|
|
61
|
+
* An EIP-3009 authorization (chain + asset + payer + nonce) receives AT MOST
|
|
62
|
+
* ONE successful `SettleResponse` from this instance, ever. A settle of an
|
|
63
|
+
* authorization that is in flight, or already settled, returns `success:
|
|
64
|
+
* false` with `duplicate_settlement` (carrying the tx hash when there is one),
|
|
65
|
+
* and `verify` refuses it the same way — so one payment can never buy two
|
|
66
|
+
* served responses. After a `settlement_pending` (receipt wait timed out) the
|
|
67
|
+
* next settle of the SAME payload reconciles against the broadcast tx and may
|
|
68
|
+
* receive the one success, if none was delivered before. The ledger is
|
|
69
|
+
* in-memory and per instance: a multi-instance deployment needs a shared store
|
|
70
|
+
* and does not have one today.
|
|
71
|
+
*
|
|
72
|
+
* Relayer submissions (simulate + write) are serialized so concurrent payers
|
|
73
|
+
* never race for the relayer's account nonce.
|
|
74
|
+
*
|
|
75
|
+
* ## The upfront ("minimum charge") opener kind
|
|
76
|
+
*
|
|
77
|
+
* With `upfrontFactoryAddress` set, a quote may also name the
|
|
78
|
+
* `X402UpfrontStreamOpenerFactory` (metrik-contracts#54). Its 6-field terms
|
|
79
|
+
* add `price` and a non-refundable `upfrontAmount`; the kind is decided by
|
|
80
|
+
* WHICH configured factory the quote names, never by the wire fields. Verify
|
|
81
|
+
* additionally requires the factory's own `validateTerms` rules,
|
|
82
|
+
* `price - upfrontAmount <= rate * maxDuration`, `amount == price` and
|
|
83
|
+
* `payTo == upfrontFactory.predict(terms)`, and simulates the 6-tuple
|
|
84
|
+
* `deployAndSettle`. Settle succeeds only on a receipt that shows exactly the
|
|
85
|
+
* signed split (see {@link MetrikOpenerExactScheme.upfrontSettlement}); an
|
|
86
|
+
* upfront-only payment (`upfrontAmount == price`) opens no stream and is
|
|
87
|
+
* reported with `streamId: null`.
|
|
88
|
+
*/
|
|
89
|
+
/** Reasons this scheme adds to the stock `exact` ones. All fail closed. */
|
|
90
|
+
export declare const OpenerInvalidReason: {
|
|
91
|
+
readonly unsupportedScheme: "metrik_opener_unsupported_scheme";
|
|
92
|
+
readonly unsupportedNetwork: "metrik_opener_unsupported_network";
|
|
93
|
+
readonly unsupportedVersion: "metrik_opener_unsupported_x402_version";
|
|
94
|
+
readonly acceptedMismatch: "metrik_opener_accepted_requirements_mismatch";
|
|
95
|
+
readonly unsupportedAssetTransferMethod: "metrik_opener_asset_transfer_method_not_eip3009";
|
|
96
|
+
readonly erc6492Unsupported: "metrik_opener_erc6492_signature_unsupported";
|
|
97
|
+
readonly missingSignature: "metrik_opener_missing_signature";
|
|
98
|
+
readonly assetNotAllowed: "metrik_opener_asset_not_allowed";
|
|
99
|
+
readonly invalidTerms: "metrik_opener_invalid_terms";
|
|
100
|
+
readonly factoryMismatch: "metrik_opener_factory_mismatch";
|
|
101
|
+
readonly payToMismatch: "metrik_opener_pay_to_not_predicted_opener";
|
|
102
|
+
readonly invalidAmount: "metrik_opener_invalid_amount";
|
|
103
|
+
readonly amountExceedsTerms: "metrik_opener_amount_exceeds_rate_times_duration";
|
|
104
|
+
readonly listingUnavailable: "metrik_opener_listing_registry_unavailable";
|
|
105
|
+
readonly listingNotFound: "metrik_opener_listing_not_found";
|
|
106
|
+
readonly listingAmbiguous: "metrik_opener_listing_ambiguous";
|
|
107
|
+
readonly listingRateOutOfBounds: "metrik_opener_listing_rate_out_of_bounds";
|
|
108
|
+
readonly simulationFailed: "metrik_opener_settle_simulation_failed";
|
|
109
|
+
readonly verifyError: "metrik_opener_verify_error";
|
|
110
|
+
readonly transactionReverted: "metrik_opener_transaction_reverted";
|
|
111
|
+
readonly streamEventMismatch: "metrik_opener_stream_event_mismatch";
|
|
112
|
+
readonly settlementPending: "settlement_pending";
|
|
113
|
+
readonly settleError: "metrik_opener_settle_error";
|
|
114
|
+
readonly amountBelowMinimum: "metrik_opener_amount_below_minimum";
|
|
115
|
+
/**
|
|
116
|
+
* This authorization is already being settled, or already settled, by this
|
|
117
|
+
* facilitator instance. May carry the settlement transaction hash. Never a
|
|
118
|
+
* second success (see "At most one success" on the class).
|
|
119
|
+
*/
|
|
120
|
+
readonly duplicateSettlement: "duplicate_settlement";
|
|
121
|
+
readonly settlementCapacity: "metrik_opener_settlement_capacity_exhausted";
|
|
122
|
+
};
|
|
123
|
+
/** Default facilitator minimum payment: 10000 base units = 0.01 USDC. */
|
|
124
|
+
export declare const DEFAULT_OPENER_MIN_AMOUNT = 10000n;
|
|
125
|
+
export interface MetrikOpenerExactSchemeConfig {
|
|
126
|
+
/** CAIP-2 network (`eip155:<chainId>`), as the registry gives it. Must match the RPC's chain id. */
|
|
127
|
+
readonly network: Network;
|
|
128
|
+
/** The deployed `X402StreamOpenerFactory`. */
|
|
129
|
+
readonly factoryAddress: Address;
|
|
130
|
+
/**
|
|
131
|
+
* The deployed `X402UpfrontStreamOpenerFactory` (metrik-contracts#54), bound
|
|
132
|
+
* to the SAME escrow. When set, upfront ("minimum charge") payments are
|
|
133
|
+
* accepted too and `/supported` advertises it as `upfrontOpener`. Unset = the
|
|
134
|
+
* stream factory only (the pre-upfront behaviour).
|
|
135
|
+
*/
|
|
136
|
+
readonly upfrontFactoryAddress?: Address;
|
|
137
|
+
/**
|
|
138
|
+
* The implementation `upfrontFactoryAddress` must report
|
|
139
|
+
* (`factory.implementation()`), e.g. the registry's. Checked by
|
|
140
|
+
* {@link MetrikOpenerExactScheme.init} when given.
|
|
141
|
+
*/
|
|
142
|
+
readonly upfrontImplementation?: Address;
|
|
143
|
+
/** The `StreamEscrowV2` the factory must point at (checked by {@link init}). */
|
|
144
|
+
readonly escrowAddress: Address;
|
|
145
|
+
/** Settlement tokens this facilitator accepts. Must contain `factory.usdc()`. */
|
|
146
|
+
readonly assetAllowlist: readonly Address[];
|
|
147
|
+
/** Read client for the network. */
|
|
148
|
+
readonly publicClient: PublicClient<Transport, Chain | undefined>;
|
|
149
|
+
/** Relayer wallet. Pays gas for `deployAndSettle`; never holds buyer funds. */
|
|
150
|
+
readonly walletClient: WalletClient<Transport, Chain | undefined, Account>;
|
|
151
|
+
readonly listingResolver: OperatorSignedListingResolver;
|
|
152
|
+
/** How long to wait for a settlement receipt before reporting `settlement_pending`. Default 60s. */
|
|
153
|
+
readonly receiptTimeoutMs?: number;
|
|
154
|
+
/**
|
|
155
|
+
* Smallest accepted payment, token base units. Default
|
|
156
|
+
* {@link DEFAULT_OPENER_MIN_AMOUNT}. Every settlement costs the relayer a
|
|
157
|
+
* full `deployAndSettle`, so dust payments would be a gas drain.
|
|
158
|
+
*/
|
|
159
|
+
readonly minAmount?: bigint;
|
|
160
|
+
/** Injectable clock (unix seconds), for tests. */
|
|
161
|
+
readonly now?: () => number;
|
|
162
|
+
/**
|
|
163
|
+
* The relayer's submission queue. Pass the SAME queue to every component
|
|
164
|
+
* that broadcasts from this relayer key (the refund relay does), so their
|
|
165
|
+
* transactions never race for the account nonce. Default: a private queue.
|
|
166
|
+
*/
|
|
167
|
+
readonly relayerQueue?: RelayerQueue;
|
|
168
|
+
/**
|
|
169
|
+
* Advertise `refundRelay: true` in the `/supported` marker: this service
|
|
170
|
+
* also runs the gasless refund relay (`/streams/:streamId/...`). Set only
|
|
171
|
+
* when the relay is actually mounted. Default false.
|
|
172
|
+
*/
|
|
173
|
+
readonly advertiseRefundRelay?: boolean;
|
|
174
|
+
}
|
|
175
|
+
/** What {@link MetrikOpenerExactScheme.init} proved about the on-chain wiring. */
|
|
176
|
+
export interface OpenerFacilitatorBinding {
|
|
177
|
+
readonly chainId: number;
|
|
178
|
+
readonly factory: Address;
|
|
179
|
+
readonly escrow: Address;
|
|
180
|
+
readonly usdc: Address;
|
|
181
|
+
readonly relayer: Address;
|
|
182
|
+
/** The upfront factory, when configured (same escrow and token). */
|
|
183
|
+
readonly upfront?: {
|
|
184
|
+
readonly factory: Address;
|
|
185
|
+
readonly implementation: Address;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** The upfront opener kind advertised in the `/supported` marker. */
|
|
189
|
+
export interface UpfrontOpenerMarker {
|
|
190
|
+
readonly factory: Address;
|
|
191
|
+
readonly implementation: Address;
|
|
192
|
+
readonly escrow: Address;
|
|
193
|
+
readonly termsVersion: typeof OPENER_TERMS_VERSION.upfront;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Marker this facilitator advertises in `GET /supported` (`kinds[].extra`), so
|
|
197
|
+
* a resource server can refuse to quote an opener `payTo` through any
|
|
198
|
+
* facilitator that would settle it with a plain `transferWithAuthorization`
|
|
199
|
+
* (which strands the funds). See {@link readOpenerFacilitatorMarker}.
|
|
200
|
+
*/
|
|
201
|
+
export interface OpenerFacilitatorMarker {
|
|
202
|
+
readonly settlement: "x402-stream-opener";
|
|
203
|
+
readonly factory: Address;
|
|
204
|
+
readonly escrow: Address;
|
|
205
|
+
readonly usdc: Address;
|
|
206
|
+
readonly chainId: number;
|
|
207
|
+
/** Smallest accepted amount, base units (decimal string). */
|
|
208
|
+
readonly minAmount: string;
|
|
209
|
+
/** How long `settle` waits for a receipt before `settlement_pending`. */
|
|
210
|
+
readonly receiptTimeoutSeconds: number;
|
|
211
|
+
/**
|
|
212
|
+
* True when the same service runs the gasless refund relay
|
|
213
|
+
* (`GET /streams/:streamId`, `POST /streams/:streamId/close|reclaim`).
|
|
214
|
+
* Absent (read as false) otherwise.
|
|
215
|
+
*/
|
|
216
|
+
readonly refundRelay?: true;
|
|
217
|
+
/**
|
|
218
|
+
* Present when this facilitator also settles the UPFRONT ("minimum charge")
|
|
219
|
+
* opener kind. `factory` above stays the stream factory, so a gateway that
|
|
220
|
+
* predates the upfront kind reads the marker exactly as before.
|
|
221
|
+
*/
|
|
222
|
+
readonly upfrontOpener?: UpfrontOpenerMarker;
|
|
223
|
+
}
|
|
224
|
+
export declare class MetrikOpenerExactScheme implements SchemeNetworkFacilitator {
|
|
225
|
+
private readonly config;
|
|
226
|
+
readonly scheme: "exact";
|
|
227
|
+
readonly caipFamily = "eip155:*";
|
|
228
|
+
private readonly stock;
|
|
229
|
+
private readonly chainId;
|
|
230
|
+
private readonly allowlist;
|
|
231
|
+
private readonly receiptTimeoutMs;
|
|
232
|
+
private readonly minAmount;
|
|
233
|
+
private readonly now;
|
|
234
|
+
private readonly ledger;
|
|
235
|
+
/** Serializes relayer submissions (simulate + write) so nonces never collide. */
|
|
236
|
+
private readonly relayerQueue;
|
|
237
|
+
private binding;
|
|
238
|
+
constructor(config: MetrikOpenerExactSchemeConfig);
|
|
239
|
+
/**
|
|
240
|
+
* Proves the on-chain wiring before the facilitator serves anything: the RPC
|
|
241
|
+
* is on the configured chain, the factory has code, points at the configured
|
|
242
|
+
* escrow, and its token is allowlisted. Throws otherwise (the service refuses
|
|
243
|
+
* to start).
|
|
244
|
+
*/
|
|
245
|
+
init(): Promise<OpenerFacilitatorBinding>;
|
|
246
|
+
/** `/supported` extra: the marker a resource server checks before quoting an opener. */
|
|
247
|
+
getExtra(_network: string): Record<string, unknown> | undefined;
|
|
248
|
+
getSigners(_network: string): string[];
|
|
249
|
+
verify(payload: PaymentPayload, requirements: PaymentRequirements, context?: FacilitatorContext): Promise<VerifyResponse>;
|
|
250
|
+
settle(payload: PaymentPayload, requirements: PaymentRequirements, context?: FacilitatorContext): Promise<SettleResponse>;
|
|
251
|
+
/** Records the outcome of one settle attempt in the ledger and returns it. */
|
|
252
|
+
private finish;
|
|
253
|
+
/**
|
|
254
|
+
* Simulate + broadcast `deployAndSettle`, one at a time. Concurrent
|
|
255
|
+
* submissions from one relayer would otherwise race for the same account
|
|
256
|
+
* nonce and all but one would fail after the upstream already did the work.
|
|
257
|
+
*/
|
|
258
|
+
private submitSerialized;
|
|
259
|
+
/** chain + asset + payer + authorization nonce, or undefined if unparseable. */
|
|
260
|
+
private ledgerKey;
|
|
261
|
+
/**
|
|
262
|
+
* Drops entries whose authorization can no longer be settled by anyone
|
|
263
|
+
* (past `validBefore` plus a grace). Never drops an in-flight entry.
|
|
264
|
+
*/
|
|
265
|
+
private pruneLedger;
|
|
266
|
+
/**
|
|
267
|
+
* `eth_call` (simulate) `deployAndSettle` on the factory of the plan's kind:
|
|
268
|
+
* the 4-tuple stream factory, or the 6-tuple upfront factory.
|
|
269
|
+
*/
|
|
270
|
+
private simulateDeployAndSettle;
|
|
271
|
+
private awaitSettlement;
|
|
272
|
+
/**
|
|
273
|
+
* The success response of a mined UPFRONT settlement, or a mismatch failure.
|
|
274
|
+
* The receipt must show exactly what the signed terms imply:
|
|
275
|
+
*
|
|
276
|
+
* - `upfrontAmount > 0`: the opener's `UpfrontCharged` for this payer, nonce
|
|
277
|
+
* and operator, for exactly `upfrontAmount`, naming the stream it opened
|
|
278
|
+
* (or `bytes32(0)` when none was);
|
|
279
|
+
* - `price > upfrontAmount`: the escrow's `StreamOpened` (buyer = opener) and
|
|
280
|
+
* the opener's `StreamOpenedFor` with `deposit = price - upfrontAmount`;
|
|
281
|
+
* - `upfrontAmount == price` (upfront-only): NO stream at all. Success, with
|
|
282
|
+
* `streamId: null`: nothing was escrowed and there is nothing to refund.
|
|
283
|
+
*
|
|
284
|
+
* The reported `upfrontAmount` / `upfrontFee` are read from `UpfrontCharged`.
|
|
285
|
+
*/
|
|
286
|
+
/** @internal */
|
|
287
|
+
private upfrontSettlement;
|
|
288
|
+
/** Every Metrik check plus the stock verifier. Cheapest, most local first. */
|
|
289
|
+
private check;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Reads an opener facilitator marker out of a `/supported` kind's `extra`, or
|
|
293
|
+
* `undefined` when the facilitator does not advertise opener settlement.
|
|
294
|
+
*/
|
|
295
|
+
export declare function readOpenerFacilitatorMarker(extra: Record<string, unknown> | undefined): OpenerFacilitatorMarker | undefined;
|
|
296
|
+
//# sourceMappingURL=scheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheme.d.ts","sourceRoot":"","sources":["../../src/x402-opener/scheme.ts"],"names":[],"mappings":"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"}
|