envoy-pay 0.1.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/CHANGELOG.md +99 -0
- package/LICENSE +200 -0
- package/README.md +529 -0
- package/dist/cjs/adapters/base.js +174 -0
- package/dist/cjs/adapters/base.js.map +1 -0
- package/dist/cjs/adapters/evm.js +339 -0
- package/dist/cjs/adapters/evm.js.map +1 -0
- package/dist/cjs/adapters/index.js +15 -0
- package/dist/cjs/adapters/index.js.map +1 -0
- package/dist/cjs/adapters/ows.js +204 -0
- package/dist/cjs/adapters/ows.js.map +1 -0
- package/dist/cjs/adapters/solana.js +210 -0
- package/dist/cjs/adapters/solana.js.map +1 -0
- package/dist/cjs/adapters/stellar.js +173 -0
- package/dist/cjs/adapters/stellar.js.map +1 -0
- package/dist/cjs/adapters/stripe.js +338 -0
- package/dist/cjs/adapters/stripe.js.map +1 -0
- package/dist/cjs/adapters/types.js +3 -0
- package/dist/cjs/adapters/types.js.map +1 -0
- package/dist/cjs/client.js +309 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/contracts/abis/EnvoyFacilitator.js +197 -0
- package/dist/cjs/contracts/abis/EnvoyFacilitator.js.map +1 -0
- package/dist/cjs/contracts/addresses.js +42 -0
- package/dist/cjs/contracts/addresses.js.map +1 -0
- package/dist/cjs/contracts/facilitator.js +225 -0
- package/dist/cjs/contracts/facilitator.js.map +1 -0
- package/dist/cjs/contracts/index.js +21 -0
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/facilitator/facilitator-service.js +305 -0
- package/dist/cjs/facilitator/facilitator-service.js.map +1 -0
- package/dist/cjs/facilitator/fee-calculator.js +134 -0
- package/dist/cjs/facilitator/fee-calculator.js.map +1 -0
- package/dist/cjs/facilitator/index.js +12 -0
- package/dist/cjs/facilitator/index.js.map +1 -0
- package/dist/cjs/facilitator/types.js +99 -0
- package/dist/cjs/facilitator/types.js.map +1 -0
- package/dist/cjs/identity/agent-card.js +143 -0
- package/dist/cjs/identity/agent-card.js.map +1 -0
- package/dist/cjs/identity/agent-identity.js +166 -0
- package/dist/cjs/identity/agent-identity.js.map +1 -0
- package/dist/cjs/identity/did-resolver.js +149 -0
- package/dist/cjs/identity/did-resolver.js.map +1 -0
- package/dist/cjs/identity/erc8004/abis.js +218 -0
- package/dist/cjs/identity/erc8004/abis.js.map +1 -0
- package/dist/cjs/identity/erc8004/identity.js +268 -0
- package/dist/cjs/identity/erc8004/identity.js.map +1 -0
- package/dist/cjs/identity/erc8004/index.js +36 -0
- package/dist/cjs/identity/erc8004/index.js.map +1 -0
- package/dist/cjs/identity/erc8004/reputation.js +110 -0
- package/dist/cjs/identity/erc8004/reputation.js.map +1 -0
- package/dist/cjs/identity/erc8004/types.js +3 -0
- package/dist/cjs/identity/erc8004/types.js.map +1 -0
- package/dist/cjs/identity/index.js +61 -0
- package/dist/cjs/identity/index.js.map +1 -0
- package/dist/cjs/identity/owner-registry.js +140 -0
- package/dist/cjs/identity/owner-registry.js.map +1 -0
- package/dist/cjs/identity/reputation.js +193 -0
- package/dist/cjs/identity/reputation.js.map +1 -0
- package/dist/cjs/identity/types.js +16 -0
- package/dist/cjs/identity/types.js.map +1 -0
- package/dist/cjs/index.js +72 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/logger.js +7 -0
- package/dist/cjs/logger.js.map +1 -0
- package/dist/cjs/monitor/evm-watcher.js +165 -0
- package/dist/cjs/monitor/evm-watcher.js.map +1 -0
- package/dist/cjs/monitor/index.js +32 -0
- package/dist/cjs/monitor/index.js.map +1 -0
- package/dist/cjs/monitor/multi-watcher.js +94 -0
- package/dist/cjs/monitor/multi-watcher.js.map +1 -0
- package/dist/cjs/monitor/solana-watcher.js +172 -0
- package/dist/cjs/monitor/solana-watcher.js.map +1 -0
- package/dist/cjs/monitor/stellar-watcher.js +125 -0
- package/dist/cjs/monitor/stellar-watcher.js.map +1 -0
- package/dist/cjs/mpp.js +187 -0
- package/dist/cjs/mpp.js.map +1 -0
- package/dist/cjs/policy.js +71 -0
- package/dist/cjs/policy.js.map +1 -0
- package/dist/cjs/providers/bridge.js +323 -0
- package/dist/cjs/providers/bridge.js.map +1 -0
- package/dist/cjs/providers/onchainos.js +210 -0
- package/dist/cjs/providers/onchainos.js.map +1 -0
- package/dist/cjs/requests/eip681.js +77 -0
- package/dist/cjs/requests/eip681.js.map +1 -0
- package/dist/cjs/requests/index.js +18 -0
- package/dist/cjs/requests/index.js.map +1 -0
- package/dist/cjs/requests/sep7.js +61 -0
- package/dist/cjs/requests/sep7.js.map +1 -0
- package/dist/cjs/requests/solana-pay.js +51 -0
- package/dist/cjs/requests/solana-pay.js.map +1 -0
- package/dist/cjs/requests/universal.js +40 -0
- package/dist/cjs/requests/universal.js.map +1 -0
- package/dist/cjs/server/index.js +35 -0
- package/dist/cjs/server/index.js.map +1 -0
- package/dist/cjs/server/mpp-gate.js +118 -0
- package/dist/cjs/server/mpp-gate.js.map +1 -0
- package/dist/cjs/server/payment-gate.js +92 -0
- package/dist/cjs/server/payment-gate.js.map +1 -0
- package/dist/cjs/server/receipt.js +52 -0
- package/dist/cjs/server/receipt.js.map +1 -0
- package/dist/cjs/server/webhook.js +122 -0
- package/dist/cjs/server/webhook.js.map +1 -0
- package/dist/cjs/server/x402-gate.js +103 -0
- package/dist/cjs/server/x402-gate.js.map +1 -0
- package/dist/cjs/solana.js +14 -0
- package/dist/cjs/solana.js.map +1 -0
- package/dist/cjs/stellar.js +14 -0
- package/dist/cjs/stellar.js.map +1 -0
- package/dist/cjs/wallet/balance-aggregator.js +149 -0
- package/dist/cjs/wallet/balance-aggregator.js.map +1 -0
- package/dist/cjs/wallet/chain-router.js +254 -0
- package/dist/cjs/wallet/chain-router.js.map +1 -0
- package/dist/cjs/wallet/index.js +15 -0
- package/dist/cjs/wallet/index.js.map +1 -0
- package/dist/cjs/wallet/intent-resolver.js +145 -0
- package/dist/cjs/wallet/intent-resolver.js.map +1 -0
- package/dist/cjs/wallet/session-manager.js +170 -0
- package/dist/cjs/wallet/session-manager.js.map +1 -0
- package/dist/cjs/wallet/types.js +14 -0
- package/dist/cjs/wallet/types.js.map +1 -0
- package/dist/cjs/wallet/unified-wallet.js +253 -0
- package/dist/cjs/wallet/unified-wallet.js.map +1 -0
- package/dist/esm/adapters/base.js +170 -0
- package/dist/esm/adapters/base.js.map +1 -0
- package/dist/esm/adapters/evm.js +334 -0
- package/dist/esm/adapters/evm.js.map +1 -0
- package/dist/esm/adapters/index.js +6 -0
- package/dist/esm/adapters/index.js.map +1 -0
- package/dist/esm/adapters/ows.js +194 -0
- package/dist/esm/adapters/ows.js.map +1 -0
- package/dist/esm/adapters/solana.js +206 -0
- package/dist/esm/adapters/solana.js.map +1 -0
- package/dist/esm/adapters/stellar.js +136 -0
- package/dist/esm/adapters/stellar.js.map +1 -0
- package/dist/esm/adapters/stripe.js +334 -0
- package/dist/esm/adapters/stripe.js.map +1 -0
- package/dist/esm/adapters/types.js +2 -0
- package/dist/esm/adapters/types.js.map +1 -0
- package/dist/esm/client.js +302 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/contracts/abis/EnvoyFacilitator.js +194 -0
- package/dist/esm/contracts/abis/EnvoyFacilitator.js.map +1 -0
- package/dist/esm/contracts/addresses.js +38 -0
- package/dist/esm/contracts/addresses.js.map +1 -0
- package/dist/esm/contracts/facilitator.js +218 -0
- package/dist/esm/contracts/facilitator.js.map +1 -0
- package/dist/esm/contracts/index.js +8 -0
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/facilitator/facilitator-service.js +301 -0
- package/dist/esm/facilitator/facilitator-service.js.map +1 -0
- package/dist/esm/facilitator/fee-calculator.js +130 -0
- package/dist/esm/facilitator/fee-calculator.js.map +1 -0
- package/dist/esm/facilitator/index.js +5 -0
- package/dist/esm/facilitator/index.js.map +1 -0
- package/dist/esm/facilitator/types.js +96 -0
- package/dist/esm/facilitator/types.js.map +1 -0
- package/dist/esm/identity/agent-card.js +139 -0
- package/dist/esm/identity/agent-card.js.map +1 -0
- package/dist/esm/identity/agent-identity.js +162 -0
- package/dist/esm/identity/agent-identity.js.map +1 -0
- package/dist/esm/identity/did-resolver.js +145 -0
- package/dist/esm/identity/did-resolver.js.map +1 -0
- package/dist/esm/identity/erc8004/abis.js +215 -0
- package/dist/esm/identity/erc8004/abis.js.map +1 -0
- package/dist/esm/identity/erc8004/identity.js +250 -0
- package/dist/esm/identity/erc8004/identity.js.map +1 -0
- package/dist/esm/identity/erc8004/index.js +13 -0
- package/dist/esm/identity/erc8004/index.js.map +1 -0
- package/dist/esm/identity/erc8004/reputation.js +105 -0
- package/dist/esm/identity/erc8004/reputation.js.map +1 -0
- package/dist/esm/identity/erc8004/types.js +2 -0
- package/dist/esm/identity/erc8004/types.js.map +1 -0
- package/dist/esm/identity/index.js +19 -0
- package/dist/esm/identity/index.js.map +1 -0
- package/dist/esm/identity/owner-registry.js +136 -0
- package/dist/esm/identity/owner-registry.js.map +1 -0
- package/dist/esm/identity/reputation.js +189 -0
- package/dist/esm/identity/reputation.js.map +1 -0
- package/dist/esm/identity/types.js +15 -0
- package/dist/esm/identity/types.js.map +1 -0
- package/dist/esm/index.js +37 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/logger.js +3 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/monitor/evm-watcher.js +162 -0
- package/dist/esm/monitor/evm-watcher.js.map +1 -0
- package/dist/esm/monitor/index.js +25 -0
- package/dist/esm/monitor/index.js.map +1 -0
- package/dist/esm/monitor/multi-watcher.js +91 -0
- package/dist/esm/monitor/multi-watcher.js.map +1 -0
- package/dist/esm/monitor/solana-watcher.js +169 -0
- package/dist/esm/monitor/solana-watcher.js.map +1 -0
- package/dist/esm/monitor/stellar-watcher.js +122 -0
- package/dist/esm/monitor/stellar-watcher.js.map +1 -0
- package/dist/esm/mpp.js +175 -0
- package/dist/esm/mpp.js.map +1 -0
- package/dist/esm/policy.js +67 -0
- package/dist/esm/policy.js.map +1 -0
- package/dist/esm/providers/bridge.js +319 -0
- package/dist/esm/providers/bridge.js.map +1 -0
- package/dist/esm/providers/onchainos.js +172 -0
- package/dist/esm/providers/onchainos.js.map +1 -0
- package/dist/esm/requests/eip681.js +74 -0
- package/dist/esm/requests/eip681.js.map +1 -0
- package/dist/esm/requests/index.js +11 -0
- package/dist/esm/requests/index.js.map +1 -0
- package/dist/esm/requests/sep7.js +58 -0
- package/dist/esm/requests/sep7.js.map +1 -0
- package/dist/esm/requests/solana-pay.js +48 -0
- package/dist/esm/requests/solana-pay.js.map +1 -0
- package/dist/esm/requests/universal.js +37 -0
- package/dist/esm/requests/universal.js.map +1 -0
- package/dist/esm/server/index.js +27 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/server/mpp-gate.js +115 -0
- package/dist/esm/server/mpp-gate.js.map +1 -0
- package/dist/esm/server/payment-gate.js +89 -0
- package/dist/esm/server/payment-gate.js.map +1 -0
- package/dist/esm/server/receipt.js +48 -0
- package/dist/esm/server/receipt.js.map +1 -0
- package/dist/esm/server/webhook.js +119 -0
- package/dist/esm/server/webhook.js.map +1 -0
- package/dist/esm/server/x402-gate.js +100 -0
- package/dist/esm/server/x402-gate.js.map +1 -0
- package/dist/esm/solana.js +8 -0
- package/dist/esm/solana.js.map +1 -0
- package/dist/esm/stellar.js +8 -0
- package/dist/esm/stellar.js.map +1 -0
- package/dist/esm/wallet/balance-aggregator.js +145 -0
- package/dist/esm/wallet/balance-aggregator.js.map +1 -0
- package/dist/esm/wallet/chain-router.js +250 -0
- package/dist/esm/wallet/chain-router.js.map +1 -0
- package/dist/esm/wallet/index.js +7 -0
- package/dist/esm/wallet/index.js.map +1 -0
- package/dist/esm/wallet/intent-resolver.js +141 -0
- package/dist/esm/wallet/intent-resolver.js.map +1 -0
- package/dist/esm/wallet/session-manager.js +166 -0
- package/dist/esm/wallet/session-manager.js.map +1 -0
- package/dist/esm/wallet/types.js +13 -0
- package/dist/esm/wallet/types.js.map +1 -0
- package/dist/esm/wallet/unified-wallet.js +249 -0
- package/dist/esm/wallet/unified-wallet.js.map +1 -0
- package/dist/types/adapters/base.d.ts +53 -0
- package/dist/types/adapters/base.d.ts.map +1 -0
- package/dist/types/adapters/evm.d.ts +93 -0
- package/dist/types/adapters/evm.d.ts.map +1 -0
- package/dist/types/adapters/index.d.ts +7 -0
- package/dist/types/adapters/index.d.ts.map +1 -0
- package/dist/types/adapters/ows.d.ts +123 -0
- package/dist/types/adapters/ows.d.ts.map +1 -0
- package/dist/types/adapters/solana.d.ts +77 -0
- package/dist/types/adapters/solana.d.ts.map +1 -0
- package/dist/types/adapters/stellar.d.ts +67 -0
- package/dist/types/adapters/stellar.d.ts.map +1 -0
- package/dist/types/adapters/stripe.d.ts +206 -0
- package/dist/types/adapters/stripe.d.ts.map +1 -0
- package/dist/types/adapters/types.d.ts +110 -0
- package/dist/types/adapters/types.d.ts.map +1 -0
- package/dist/types/client.d.ts +89 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/contracts/abis/EnvoyFacilitator.d.ts +296 -0
- package/dist/types/contracts/abis/EnvoyFacilitator.d.ts.map +1 -0
- package/dist/types/contracts/addresses.d.ts +24 -0
- package/dist/types/contracts/addresses.d.ts.map +1 -0
- package/dist/types/contracts/facilitator.d.ts +172 -0
- package/dist/types/contracts/facilitator.d.ts.map +1 -0
- package/dist/types/contracts/index.d.ts +6 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/facilitator/facilitator-service.d.ts +69 -0
- package/dist/types/facilitator/facilitator-service.d.ts.map +1 -0
- package/dist/types/facilitator/fee-calculator.d.ts +48 -0
- package/dist/types/facilitator/fee-calculator.d.ts.map +1 -0
- package/dist/types/facilitator/index.d.ts +5 -0
- package/dist/types/facilitator/index.d.ts.map +1 -0
- package/dist/types/facilitator/types.d.ts +221 -0
- package/dist/types/facilitator/types.d.ts.map +1 -0
- package/dist/types/identity/agent-card.d.ts +83 -0
- package/dist/types/identity/agent-card.d.ts.map +1 -0
- package/dist/types/identity/agent-identity.d.ts +102 -0
- package/dist/types/identity/agent-identity.d.ts.map +1 -0
- package/dist/types/identity/did-resolver.d.ts +70 -0
- package/dist/types/identity/did-resolver.d.ts.map +1 -0
- package/dist/types/identity/erc8004/abis.d.ts +336 -0
- package/dist/types/identity/erc8004/abis.d.ts.map +1 -0
- package/dist/types/identity/erc8004/identity.d.ts +109 -0
- package/dist/types/identity/erc8004/identity.d.ts.map +1 -0
- package/dist/types/identity/erc8004/index.d.ts +15 -0
- package/dist/types/identity/erc8004/index.d.ts.map +1 -0
- package/dist/types/identity/erc8004/reputation.d.ts +52 -0
- package/dist/types/identity/erc8004/reputation.d.ts.map +1 -0
- package/dist/types/identity/erc8004/types.d.ts +31 -0
- package/dist/types/identity/erc8004/types.d.ts.map +1 -0
- package/dist/types/identity/index.d.ts +10 -0
- package/dist/types/identity/index.d.ts.map +1 -0
- package/dist/types/identity/owner-registry.d.ts +68 -0
- package/dist/types/identity/owner-registry.d.ts.map +1 -0
- package/dist/types/identity/reputation.d.ts +66 -0
- package/dist/types/identity/reputation.d.ts.map +1 -0
- package/dist/types/identity/types.d.ts +182 -0
- package/dist/types/identity/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/logger.d.ts +10 -0
- package/dist/types/logger.d.ts.map +1 -0
- package/dist/types/monitor/evm-watcher.d.ts +40 -0
- package/dist/types/monitor/evm-watcher.d.ts.map +1 -0
- package/dist/types/monitor/index.d.ts +25 -0
- package/dist/types/monitor/index.d.ts.map +1 -0
- package/dist/types/monitor/multi-watcher.d.ts +48 -0
- package/dist/types/monitor/multi-watcher.d.ts.map +1 -0
- package/dist/types/monitor/solana-watcher.d.ts +36 -0
- package/dist/types/monitor/solana-watcher.d.ts.map +1 -0
- package/dist/types/monitor/stellar-watcher.d.ts +34 -0
- package/dist/types/monitor/stellar-watcher.d.ts.map +1 -0
- package/dist/types/mpp.d.ts +153 -0
- package/dist/types/mpp.d.ts.map +1 -0
- package/dist/types/policy.d.ts +40 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/providers/bridge.d.ts +162 -0
- package/dist/types/providers/bridge.d.ts.map +1 -0
- package/dist/types/providers/onchainos.d.ts +128 -0
- package/dist/types/providers/onchainos.d.ts.map +1 -0
- package/dist/types/requests/eip681.d.ts +51 -0
- package/dist/types/requests/eip681.d.ts.map +1 -0
- package/dist/types/requests/index.d.ts +11 -0
- package/dist/types/requests/index.d.ts.map +1 -0
- package/dist/types/requests/sep7.d.ts +56 -0
- package/dist/types/requests/sep7.d.ts.map +1 -0
- package/dist/types/requests/solana-pay.d.ts +50 -0
- package/dist/types/requests/solana-pay.d.ts.map +1 -0
- package/dist/types/requests/universal.d.ts +28 -0
- package/dist/types/requests/universal.d.ts.map +1 -0
- package/dist/types/server/index.d.ts +27 -0
- package/dist/types/server/index.d.ts.map +1 -0
- package/dist/types/server/mpp-gate.d.ts +66 -0
- package/dist/types/server/mpp-gate.d.ts.map +1 -0
- package/dist/types/server/payment-gate.d.ts +33 -0
- package/dist/types/server/payment-gate.d.ts.map +1 -0
- package/dist/types/server/receipt.d.ts +52 -0
- package/dist/types/server/receipt.d.ts.map +1 -0
- package/dist/types/server/webhook.d.ts +46 -0
- package/dist/types/server/webhook.d.ts.map +1 -0
- package/dist/types/server/x402-gate.d.ts +70 -0
- package/dist/types/server/x402-gate.d.ts.map +1 -0
- package/dist/types/solana.d.ts +7 -0
- package/dist/types/solana.d.ts.map +1 -0
- package/dist/types/stellar.d.ts +7 -0
- package/dist/types/stellar.d.ts.map +1 -0
- package/dist/types/wallet/balance-aggregator.d.ts +51 -0
- package/dist/types/wallet/balance-aggregator.d.ts.map +1 -0
- package/dist/types/wallet/chain-router.d.ts +44 -0
- package/dist/types/wallet/chain-router.d.ts.map +1 -0
- package/dist/types/wallet/index.d.ts +7 -0
- package/dist/types/wallet/index.d.ts.map +1 -0
- package/dist/types/wallet/intent-resolver.d.ts +39 -0
- package/dist/types/wallet/intent-resolver.d.ts.map +1 -0
- package/dist/types/wallet/session-manager.d.ts +57 -0
- package/dist/types/wallet/session-manager.d.ts.map +1 -0
- package/dist/types/wallet/types.d.ts +161 -0
- package/dist/types/wallet/types.d.ts.map +1 -0
- package/dist/types/wallet/unified-wallet.d.ts +122 -0
- package/dist/types/wallet/unified-wallet.d.ts.map +1 -0
- package/package.json +194 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PaymentAdapter — generic interface for on-chain settlement.
|
|
3
|
+
*
|
|
4
|
+
* Adapters implement this interface to provide settlement on different
|
|
5
|
+
* chains (Base, Stellar, Arbitrum, Solana, etc.) while the EnvoyClient
|
|
6
|
+
* remains chain-agnostic.
|
|
7
|
+
*
|
|
8
|
+
* Pay Out methods (pay, getAddress) are required.
|
|
9
|
+
* Pay In methods (watchIncoming, createPaymentRequest, getBalance) are optional
|
|
10
|
+
* and enable bi-directional Agent-to-Agent commerce.
|
|
11
|
+
*
|
|
12
|
+
* @see OWS §07 — Supported Chains (CAIP-2 identifiers)
|
|
13
|
+
*/
|
|
14
|
+
export interface PaymentAdapter {
|
|
15
|
+
/**
|
|
16
|
+
* Execute an on-chain payment.
|
|
17
|
+
* @param destination - Recipient address (chain-native format)
|
|
18
|
+
* @param amount - Amount in atomic units (wei, stroops, lamports)
|
|
19
|
+
* @param network - Network identifier ('mainnet' | 'testnet' | CAIP-2 ID)
|
|
20
|
+
* @returns Transaction hash on success, null on failure
|
|
21
|
+
*/
|
|
22
|
+
pay(destination: string, amount: string, network: string): Promise<string | null>;
|
|
23
|
+
/**
|
|
24
|
+
* Get the public address of this adapter's signing account.
|
|
25
|
+
*/
|
|
26
|
+
getAddress(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Human-readable chain name for logging.
|
|
29
|
+
*/
|
|
30
|
+
readonly chainName: string;
|
|
31
|
+
/**
|
|
32
|
+
* CAIP-2 chain identifier.
|
|
33
|
+
* @example "eip155:8453" (Base Mainnet)
|
|
34
|
+
* @example "eip155:84532" (Base Sepolia)
|
|
35
|
+
* @example "stellar:pubnet"
|
|
36
|
+
*/
|
|
37
|
+
readonly caip2Id: string;
|
|
38
|
+
/**
|
|
39
|
+
* Watch for incoming payments to this adapter's address.
|
|
40
|
+
* Returns an unsubscribe function to stop watching.
|
|
41
|
+
*/
|
|
42
|
+
watchIncoming?(options: WatchOptions): Unsubscribe;
|
|
43
|
+
/**
|
|
44
|
+
* Create a payment request URI for this chain.
|
|
45
|
+
* Used to generate EIP-681, SEP-7, Solana Pay URIs, etc.
|
|
46
|
+
*/
|
|
47
|
+
createPaymentRequest?(options: PaymentRequestOptions): PaymentRequest | Promise<PaymentRequest>;
|
|
48
|
+
/**
|
|
49
|
+
* Get the current balance of this adapter's account.
|
|
50
|
+
* Returns human-readable amount string.
|
|
51
|
+
*/
|
|
52
|
+
getBalance?(): Promise<string>;
|
|
53
|
+
}
|
|
54
|
+
/** Options for watching incoming payments. */
|
|
55
|
+
export interface WatchOptions {
|
|
56
|
+
/** Asset to watch: 'USDC', 'native', or 'all'. Default: 'all' */
|
|
57
|
+
asset?: string;
|
|
58
|
+
/** Callback invoked on each incoming payment detected. */
|
|
59
|
+
onPayment: (event: IncomingPayment) => void;
|
|
60
|
+
/** Callback invoked on watcher errors. */
|
|
61
|
+
onError?: (error: Error) => void;
|
|
62
|
+
}
|
|
63
|
+
/** Represents a detected incoming payment. */
|
|
64
|
+
export interface IncomingPayment {
|
|
65
|
+
/** Amount in atomic units. */
|
|
66
|
+
amount: string;
|
|
67
|
+
/** Human-readable formatted amount. */
|
|
68
|
+
amountFormatted: string;
|
|
69
|
+
/** Asset identifier (e.g., 'USDC', 'ETH', 'XLM', 'SOL'). */
|
|
70
|
+
asset: string;
|
|
71
|
+
/** Sender address. */
|
|
72
|
+
from: string;
|
|
73
|
+
/** Transaction hash / ID. */
|
|
74
|
+
transactionHash: string;
|
|
75
|
+
/** Chain name. */
|
|
76
|
+
chain: string;
|
|
77
|
+
/** CAIP-2 chain identifier. */
|
|
78
|
+
caip2Id: string;
|
|
79
|
+
/** Timestamp of the payment. */
|
|
80
|
+
timestamp: Date;
|
|
81
|
+
/** Number of confirmations (if applicable). */
|
|
82
|
+
confirmations?: number;
|
|
83
|
+
}
|
|
84
|
+
/** Options for creating a payment request. */
|
|
85
|
+
export interface PaymentRequestOptions {
|
|
86
|
+
/** Human-readable amount to request. */
|
|
87
|
+
amount: string;
|
|
88
|
+
/** Asset to request: 'USDC' or 'native'. Default: 'native' */
|
|
89
|
+
asset?: string;
|
|
90
|
+
/** Optional memo / reference for the payment. */
|
|
91
|
+
memo?: string;
|
|
92
|
+
/** Expiration time in milliseconds from now. */
|
|
93
|
+
expiresIn?: number;
|
|
94
|
+
}
|
|
95
|
+
/** A generated payment request. */
|
|
96
|
+
export interface PaymentRequest {
|
|
97
|
+
/** Chain-specific payment URI (EIP-681, SEP-7, solana:..., etc.) */
|
|
98
|
+
uri: string;
|
|
99
|
+
/** Requested amount (human-readable). */
|
|
100
|
+
amount: string;
|
|
101
|
+
/** Requested asset. */
|
|
102
|
+
asset: string;
|
|
103
|
+
/** Optional memo included in the request. */
|
|
104
|
+
memo?: string;
|
|
105
|
+
/** When this request expires (if set). */
|
|
106
|
+
expiresAt?: Date;
|
|
107
|
+
}
|
|
108
|
+
/** Function to unsubscribe from a watcher. */
|
|
109
|
+
export type Unsubscribe = () => void;
|
|
110
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,cAAc;IAG7B;;;;;;OAMG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElF;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAIzB;;;OAGG;IACH,aAAa,CAAC,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAAC;IAEnD;;;OAGG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEhG;;;OAGG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;AAID,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,SAAS,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,0CAA0C;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,SAAS,EAAE,IAAI,CAAC;IAChB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { PaymentAdapter } from './adapters/types';
|
|
3
|
+
import { BudgetPolicy, PolicyEngine } from './policy';
|
|
4
|
+
import { Logger } from './logger';
|
|
5
|
+
export interface EnvoyClientOptions {
|
|
6
|
+
/** Base URL of the API that returns 402 challenges. */
|
|
7
|
+
baseURL: string;
|
|
8
|
+
/** Budget policy for the agent. */
|
|
9
|
+
policy: BudgetPolicy;
|
|
10
|
+
/** Any chain adapter implementing PaymentAdapter (EVM, Stellar, Stripe, etc.) */
|
|
11
|
+
adapter: PaymentAdapter;
|
|
12
|
+
/**
|
|
13
|
+
* Optional logger function. If omitted, SDK is silent.
|
|
14
|
+
* Pass `console.log` for verbose output.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const client = new EnvoyClient({
|
|
19
|
+
* baseURL: 'https://api.example.com',
|
|
20
|
+
* policy: { monthlyBudget: 10, maxAmountPerTransaction: 1 },
|
|
21
|
+
* adapter: new EvmPaymentAdapter({ chain: 'base' }),
|
|
22
|
+
* logger: console.log,
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
logger?: Logger;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* EnvoyClient — Dual-protocol autonomous HTTP client for AI agents.
|
|
30
|
+
*
|
|
31
|
+
* Supports BOTH payment protocols:
|
|
32
|
+
* - **x402** (Coinbase/Cloudflare): JSON body challenges + X-PAYMENT header
|
|
33
|
+
* - **MPP** (Stripe/Tempo): WWW-Authenticate challenges + Authorization: Payment header
|
|
34
|
+
*
|
|
35
|
+
* Wraps Axios with an interceptor that automatically detects the protocol,
|
|
36
|
+
* validates spend against PolicyEngine, settles via pluggable adapter,
|
|
37
|
+
* and retries — all without human interaction.
|
|
38
|
+
*
|
|
39
|
+
* @see https://openwallet.sh — Open Wallet Standard specification
|
|
40
|
+
* @see https://x402.org — x402 payment protocol
|
|
41
|
+
* @see https://mpp.dev — Machine Payments Protocol
|
|
42
|
+
* @see https://envoy.dev — envoy agent-pay infrastructure (Celo-first)
|
|
43
|
+
*/
|
|
44
|
+
export declare class EnvoyClient {
|
|
45
|
+
readonly api: AxiosInstance;
|
|
46
|
+
readonly policyEngine: PolicyEngine;
|
|
47
|
+
private adapter;
|
|
48
|
+
private log;
|
|
49
|
+
constructor(options: EnvoyClientOptions);
|
|
50
|
+
/**
|
|
51
|
+
* Handle a 402 Payment Required challenge.
|
|
52
|
+
* Auto-detects protocol (MPP vs x402) and routes accordingly.
|
|
53
|
+
*/
|
|
54
|
+
private handle402;
|
|
55
|
+
/**
|
|
56
|
+
* Handle an MPP 402: parse WWW-Authenticate, create credential, retry.
|
|
57
|
+
*/
|
|
58
|
+
private handleMpp402;
|
|
59
|
+
/**
|
|
60
|
+
* Handle an x402 402: parse JSON body, settle on-chain, retry with X-PAYMENT.
|
|
61
|
+
*/
|
|
62
|
+
private handleX402;
|
|
63
|
+
/**
|
|
64
|
+
* Select the best challenge when multiple are offered.
|
|
65
|
+
* Prefers the method matching the current adapter.
|
|
66
|
+
*/
|
|
67
|
+
private selectChallenge;
|
|
68
|
+
/**
|
|
69
|
+
* Extract USD amount from MPP request object.
|
|
70
|
+
*/
|
|
71
|
+
private extractMppUsdAmount;
|
|
72
|
+
/**
|
|
73
|
+
* Extract USD amount from x402 challenge.
|
|
74
|
+
* Priority: resource.usdAmount → accepts[].maxAmountRequired → heuristic from description.
|
|
75
|
+
*/
|
|
76
|
+
private extractUsdAmount;
|
|
77
|
+
private isStripeAdapter;
|
|
78
|
+
/**
|
|
79
|
+
* High-level helper for AI agents.
|
|
80
|
+
* The agent simply calls performTask() — the interceptor handles
|
|
81
|
+
* everything else (payment, policy, retry) transparently.
|
|
82
|
+
*/
|
|
83
|
+
performTask(endpoint: string, data?: any): Promise<any>;
|
|
84
|
+
/**
|
|
85
|
+
* GET request with autonomous 402 handling.
|
|
86
|
+
*/
|
|
87
|
+
get(endpoint: string): Promise<any>;
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAA6B,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAU9C,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,iFAAiF;IACjF,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAW;IACtB,SAAgB,GAAG,EAAE,aAAa,CAAC;IACnC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,GAAG,CAAS;gBAER,OAAO,EAAE,kBAAkB;IAqBvC;;;OAGG;YACW,SAAS;IAsBvB;;OAEG;YACW,YAAY;IAuG1B;;OAEG;YACW,UAAU;IA8ExB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,eAAe;IAMvB;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAO7D;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAI1C"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal ABI for `EnvoyFacilitator.sol`. Hand-curated to expose only the
|
|
3
|
+
* functions and events the SDK touches — keep it lean so callers' bundles
|
|
4
|
+
* don't carry hardhat/typechain output.
|
|
5
|
+
*
|
|
6
|
+
* Marked `as const` so viem can infer types end-to-end.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ENVOY_FACILITATOR_ABI: readonly [{
|
|
9
|
+
readonly type: "function";
|
|
10
|
+
readonly name: "pay";
|
|
11
|
+
readonly stateMutability: "nonpayable";
|
|
12
|
+
readonly inputs: readonly [{
|
|
13
|
+
readonly name: "auth";
|
|
14
|
+
readonly type: "tuple";
|
|
15
|
+
readonly components: readonly [{
|
|
16
|
+
readonly name: "agentId";
|
|
17
|
+
readonly type: "uint256";
|
|
18
|
+
}, {
|
|
19
|
+
readonly name: "token";
|
|
20
|
+
readonly type: "address";
|
|
21
|
+
}, {
|
|
22
|
+
readonly name: "merchant";
|
|
23
|
+
readonly type: "address";
|
|
24
|
+
}, {
|
|
25
|
+
readonly name: "amount";
|
|
26
|
+
readonly type: "uint256";
|
|
27
|
+
}, {
|
|
28
|
+
readonly name: "challengeId";
|
|
29
|
+
readonly type: "bytes32";
|
|
30
|
+
}, {
|
|
31
|
+
readonly name: "nonce";
|
|
32
|
+
readonly type: "uint256";
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "deadline";
|
|
35
|
+
readonly type: "uint64";
|
|
36
|
+
}];
|
|
37
|
+
}, {
|
|
38
|
+
readonly name: "signature";
|
|
39
|
+
readonly type: "bytes";
|
|
40
|
+
}];
|
|
41
|
+
readonly outputs: readonly [];
|
|
42
|
+
}, {
|
|
43
|
+
readonly type: "function";
|
|
44
|
+
readonly name: "setLimit";
|
|
45
|
+
readonly stateMutability: "nonpayable";
|
|
46
|
+
readonly inputs: readonly [{
|
|
47
|
+
readonly name: "agentId";
|
|
48
|
+
readonly type: "uint256";
|
|
49
|
+
}, {
|
|
50
|
+
readonly name: "token";
|
|
51
|
+
readonly type: "address";
|
|
52
|
+
}, {
|
|
53
|
+
readonly name: "perTx";
|
|
54
|
+
readonly type: "uint128";
|
|
55
|
+
}, {
|
|
56
|
+
readonly name: "perPeriod";
|
|
57
|
+
readonly type: "uint128";
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "periodLen";
|
|
60
|
+
readonly type: "uint32";
|
|
61
|
+
}];
|
|
62
|
+
readonly outputs: readonly [];
|
|
63
|
+
}, {
|
|
64
|
+
readonly type: "function";
|
|
65
|
+
readonly name: "disableLimit";
|
|
66
|
+
readonly stateMutability: "nonpayable";
|
|
67
|
+
readonly inputs: readonly [{
|
|
68
|
+
readonly name: "agentId";
|
|
69
|
+
readonly type: "uint256";
|
|
70
|
+
}, {
|
|
71
|
+
readonly name: "token";
|
|
72
|
+
readonly type: "address";
|
|
73
|
+
}];
|
|
74
|
+
readonly outputs: readonly [];
|
|
75
|
+
}, {
|
|
76
|
+
readonly type: "function";
|
|
77
|
+
readonly name: "setTreasury";
|
|
78
|
+
readonly stateMutability: "nonpayable";
|
|
79
|
+
readonly inputs: readonly [{
|
|
80
|
+
readonly name: "newTreasury";
|
|
81
|
+
readonly type: "address";
|
|
82
|
+
}];
|
|
83
|
+
readonly outputs: readonly [];
|
|
84
|
+
}, {
|
|
85
|
+
readonly type: "function";
|
|
86
|
+
readonly name: "IDENTITY";
|
|
87
|
+
readonly stateMutability: "view";
|
|
88
|
+
readonly inputs: readonly [];
|
|
89
|
+
readonly outputs: readonly [{
|
|
90
|
+
readonly name: "";
|
|
91
|
+
readonly type: "address";
|
|
92
|
+
}];
|
|
93
|
+
}, {
|
|
94
|
+
readonly type: "function";
|
|
95
|
+
readonly name: "feeBps";
|
|
96
|
+
readonly stateMutability: "view";
|
|
97
|
+
readonly inputs: readonly [];
|
|
98
|
+
readonly outputs: readonly [{
|
|
99
|
+
readonly name: "";
|
|
100
|
+
readonly type: "uint16";
|
|
101
|
+
}];
|
|
102
|
+
}, {
|
|
103
|
+
readonly type: "function";
|
|
104
|
+
readonly name: "MAX_FEE_BPS";
|
|
105
|
+
readonly stateMutability: "view";
|
|
106
|
+
readonly inputs: readonly [];
|
|
107
|
+
readonly outputs: readonly [{
|
|
108
|
+
readonly name: "";
|
|
109
|
+
readonly type: "uint16";
|
|
110
|
+
}];
|
|
111
|
+
}, {
|
|
112
|
+
readonly type: "function";
|
|
113
|
+
readonly name: "treasury";
|
|
114
|
+
readonly stateMutability: "view";
|
|
115
|
+
readonly inputs: readonly [];
|
|
116
|
+
readonly outputs: readonly [{
|
|
117
|
+
readonly name: "";
|
|
118
|
+
readonly type: "address";
|
|
119
|
+
}];
|
|
120
|
+
}, {
|
|
121
|
+
readonly type: "function";
|
|
122
|
+
readonly name: "getLimit";
|
|
123
|
+
readonly stateMutability: "view";
|
|
124
|
+
readonly inputs: readonly [{
|
|
125
|
+
readonly name: "agentId";
|
|
126
|
+
readonly type: "uint256";
|
|
127
|
+
}, {
|
|
128
|
+
readonly name: "token";
|
|
129
|
+
readonly type: "address";
|
|
130
|
+
}];
|
|
131
|
+
readonly outputs: readonly [{
|
|
132
|
+
readonly type: "tuple";
|
|
133
|
+
readonly components: readonly [{
|
|
134
|
+
readonly name: "perTx";
|
|
135
|
+
readonly type: "uint128";
|
|
136
|
+
}, {
|
|
137
|
+
readonly name: "perPeriod";
|
|
138
|
+
readonly type: "uint128";
|
|
139
|
+
}, {
|
|
140
|
+
readonly name: "spentInPeriod";
|
|
141
|
+
readonly type: "uint128";
|
|
142
|
+
}, {
|
|
143
|
+
readonly name: "periodStart";
|
|
144
|
+
readonly type: "uint64";
|
|
145
|
+
}, {
|
|
146
|
+
readonly name: "periodLen";
|
|
147
|
+
readonly type: "uint32";
|
|
148
|
+
}, {
|
|
149
|
+
readonly name: "enabled";
|
|
150
|
+
readonly type: "bool";
|
|
151
|
+
}];
|
|
152
|
+
}];
|
|
153
|
+
}, {
|
|
154
|
+
readonly type: "function";
|
|
155
|
+
readonly name: "isNonceUsed";
|
|
156
|
+
readonly stateMutability: "view";
|
|
157
|
+
readonly inputs: readonly [{
|
|
158
|
+
readonly name: "agentId";
|
|
159
|
+
readonly type: "uint256";
|
|
160
|
+
}, {
|
|
161
|
+
readonly name: "nonce";
|
|
162
|
+
readonly type: "uint256";
|
|
163
|
+
}];
|
|
164
|
+
readonly outputs: readonly [{
|
|
165
|
+
readonly name: "";
|
|
166
|
+
readonly type: "bool";
|
|
167
|
+
}];
|
|
168
|
+
}, {
|
|
169
|
+
readonly type: "function";
|
|
170
|
+
readonly name: "paymentAuthHash";
|
|
171
|
+
readonly stateMutability: "view";
|
|
172
|
+
readonly inputs: readonly [{
|
|
173
|
+
readonly name: "auth";
|
|
174
|
+
readonly type: "tuple";
|
|
175
|
+
readonly components: readonly [{
|
|
176
|
+
readonly name: "agentId";
|
|
177
|
+
readonly type: "uint256";
|
|
178
|
+
}, {
|
|
179
|
+
readonly name: "token";
|
|
180
|
+
readonly type: "address";
|
|
181
|
+
}, {
|
|
182
|
+
readonly name: "merchant";
|
|
183
|
+
readonly type: "address";
|
|
184
|
+
}, {
|
|
185
|
+
readonly name: "amount";
|
|
186
|
+
readonly type: "uint256";
|
|
187
|
+
}, {
|
|
188
|
+
readonly name: "challengeId";
|
|
189
|
+
readonly type: "bytes32";
|
|
190
|
+
}, {
|
|
191
|
+
readonly name: "nonce";
|
|
192
|
+
readonly type: "uint256";
|
|
193
|
+
}, {
|
|
194
|
+
readonly name: "deadline";
|
|
195
|
+
readonly type: "uint64";
|
|
196
|
+
}];
|
|
197
|
+
}];
|
|
198
|
+
readonly outputs: readonly [{
|
|
199
|
+
readonly name: "";
|
|
200
|
+
readonly type: "bytes32";
|
|
201
|
+
}];
|
|
202
|
+
}, {
|
|
203
|
+
readonly type: "function";
|
|
204
|
+
readonly name: "domainSeparator";
|
|
205
|
+
readonly stateMutability: "view";
|
|
206
|
+
readonly inputs: readonly [];
|
|
207
|
+
readonly outputs: readonly [{
|
|
208
|
+
readonly name: "";
|
|
209
|
+
readonly type: "bytes32";
|
|
210
|
+
}];
|
|
211
|
+
}, {
|
|
212
|
+
readonly type: "event";
|
|
213
|
+
readonly name: "Settled";
|
|
214
|
+
readonly inputs: readonly [{
|
|
215
|
+
readonly name: "challengeId";
|
|
216
|
+
readonly type: "bytes32";
|
|
217
|
+
readonly indexed: true;
|
|
218
|
+
}, {
|
|
219
|
+
readonly name: "agentId";
|
|
220
|
+
readonly type: "uint256";
|
|
221
|
+
readonly indexed: true;
|
|
222
|
+
}, {
|
|
223
|
+
readonly name: "merchant";
|
|
224
|
+
readonly type: "address";
|
|
225
|
+
readonly indexed: true;
|
|
226
|
+
}, {
|
|
227
|
+
readonly name: "token";
|
|
228
|
+
readonly type: "address";
|
|
229
|
+
readonly indexed: false;
|
|
230
|
+
}, {
|
|
231
|
+
readonly name: "amount";
|
|
232
|
+
readonly type: "uint256";
|
|
233
|
+
readonly indexed: false;
|
|
234
|
+
}, {
|
|
235
|
+
readonly name: "fee";
|
|
236
|
+
readonly type: "uint256";
|
|
237
|
+
readonly indexed: false;
|
|
238
|
+
}, {
|
|
239
|
+
readonly name: "nonce";
|
|
240
|
+
readonly type: "uint256";
|
|
241
|
+
readonly indexed: false;
|
|
242
|
+
}, {
|
|
243
|
+
readonly name: "signer";
|
|
244
|
+
readonly type: "address";
|
|
245
|
+
readonly indexed: false;
|
|
246
|
+
}];
|
|
247
|
+
}, {
|
|
248
|
+
readonly type: "event";
|
|
249
|
+
readonly name: "LimitSet";
|
|
250
|
+
readonly inputs: readonly [{
|
|
251
|
+
readonly name: "agentId";
|
|
252
|
+
readonly type: "uint256";
|
|
253
|
+
readonly indexed: true;
|
|
254
|
+
}, {
|
|
255
|
+
readonly name: "token";
|
|
256
|
+
readonly type: "address";
|
|
257
|
+
readonly indexed: true;
|
|
258
|
+
}, {
|
|
259
|
+
readonly name: "perTx";
|
|
260
|
+
readonly type: "uint128";
|
|
261
|
+
readonly indexed: false;
|
|
262
|
+
}, {
|
|
263
|
+
readonly name: "perPeriod";
|
|
264
|
+
readonly type: "uint128";
|
|
265
|
+
readonly indexed: false;
|
|
266
|
+
}, {
|
|
267
|
+
readonly name: "periodLen";
|
|
268
|
+
readonly type: "uint32";
|
|
269
|
+
readonly indexed: false;
|
|
270
|
+
}];
|
|
271
|
+
}, {
|
|
272
|
+
readonly type: "event";
|
|
273
|
+
readonly name: "LimitDisabled";
|
|
274
|
+
readonly inputs: readonly [{
|
|
275
|
+
readonly name: "agentId";
|
|
276
|
+
readonly type: "uint256";
|
|
277
|
+
readonly indexed: true;
|
|
278
|
+
}, {
|
|
279
|
+
readonly name: "token";
|
|
280
|
+
readonly type: "address";
|
|
281
|
+
readonly indexed: true;
|
|
282
|
+
}];
|
|
283
|
+
}, {
|
|
284
|
+
readonly type: "event";
|
|
285
|
+
readonly name: "TreasurySet";
|
|
286
|
+
readonly inputs: readonly [{
|
|
287
|
+
readonly name: "previous";
|
|
288
|
+
readonly type: "address";
|
|
289
|
+
readonly indexed: true;
|
|
290
|
+
}, {
|
|
291
|
+
readonly name: "current";
|
|
292
|
+
readonly type: "address";
|
|
293
|
+
readonly indexed: true;
|
|
294
|
+
}];
|
|
295
|
+
}];
|
|
296
|
+
//# sourceMappingURL=EnvoyFacilitator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvoyFacilitator.d.ts","sourceRoot":"","sources":["../../../../src/contracts/abis/EnvoyFacilitator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyLxB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract addresses for envoy's on-chain layer plus the canonical ERC-8004 registries
|
|
3
|
+
* on Celo. Keyed by EIP-155 chainId.
|
|
4
|
+
*
|
|
5
|
+
* - `facilitator` → `EnvoyFacilitator.sol` (this repo) — placeholder until deployed
|
|
6
|
+
* - `identityRegistry` → canonical ERC-8004 Identity Registry on Celo
|
|
7
|
+
* - `reputationRegistry` → canonical ERC-8004 Reputation Registry on Celo
|
|
8
|
+
*
|
|
9
|
+
* Run `npm run deploy:celoSepolia` in the contracts/ workspace, then paste the
|
|
10
|
+
* printed JSON to fill in the `facilitator` entries.
|
|
11
|
+
*/
|
|
12
|
+
export interface EnvoyContractAddresses {
|
|
13
|
+
facilitator: `0x${string}`;
|
|
14
|
+
identityRegistry: `0x${string}`;
|
|
15
|
+
reputationRegistry: `0x${string}`;
|
|
16
|
+
}
|
|
17
|
+
/** Celo Mainnet (42220) */
|
|
18
|
+
export declare const CELO_MAINNET: 42220;
|
|
19
|
+
/** Celo Sepolia (11142220) — active testnet; replaces Alfajores */
|
|
20
|
+
export declare const CELO_SEPOLIA: 11142220;
|
|
21
|
+
export declare const ENVOY_CONTRACT_ADDRESSES: Record<number, EnvoyContractAddresses>;
|
|
22
|
+
/** Lookup helper. Throws if the chain has no envoy mapping. */
|
|
23
|
+
export declare function getEnvoyAddresses(chainId: number): EnvoyContractAddresses;
|
|
24
|
+
//# sourceMappingURL=addresses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../src/contracts/addresses.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,kBAAkB,EAAE,KAAK,MAAM,EAAE,CAAC;CACnC;AAID,2BAA2B;AAC3B,eAAO,MAAM,YAAY,EAAG,KAAc,CAAC;AAC3C,mEAAmE;AACnE,eAAO,MAAM,YAAY,EAAG,QAAiB,CAAC;AAE9C,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAW3E,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CASzE"}
|