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,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionManager — Scoped, time-limited permission management.
|
|
3
|
+
*
|
|
4
|
+
* Implements session-key patterns inspired by EIP-7702, allowing
|
|
5
|
+
* agent owners to grant agents time-limited, capped permissions
|
|
6
|
+
* without exposing master private keys.
|
|
7
|
+
*
|
|
8
|
+
* Sessions enforce:
|
|
9
|
+
* - Per-transaction caps
|
|
10
|
+
* - Total session budget
|
|
11
|
+
* - Destination whitelists
|
|
12
|
+
* - Chain restrictions
|
|
13
|
+
* - Time-based expiry
|
|
14
|
+
*
|
|
15
|
+
* @see EIP-7702 — EOA → Smart Account delegation
|
|
16
|
+
* @see ERC-4337 — Account Abstraction session keys
|
|
17
|
+
*/
|
|
18
|
+
import { Session, SessionPermissions } from './types';
|
|
19
|
+
export declare class SessionManager {
|
|
20
|
+
private sessions;
|
|
21
|
+
/**
|
|
22
|
+
* Create a new session with scoped permissions.
|
|
23
|
+
*/
|
|
24
|
+
createSession(permissions: SessionPermissions): Session;
|
|
25
|
+
/**
|
|
26
|
+
* Revoke (deactivate) a session by ID.
|
|
27
|
+
*/
|
|
28
|
+
revokeSession(sessionId: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Check if a proposed spend is allowed within a session's permissions.
|
|
31
|
+
*/
|
|
32
|
+
checkSession(sessionId: string, amountUsd: number, destination?: string, chain?: string): {
|
|
33
|
+
allowed: boolean;
|
|
34
|
+
reason?: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Record a successful spend against a session.
|
|
38
|
+
*/
|
|
39
|
+
recordSpend(sessionId: string, amountUsd: number): void;
|
|
40
|
+
/**
|
|
41
|
+
* Get a session by ID.
|
|
42
|
+
*/
|
|
43
|
+
getSession(sessionId: string): Session | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* List all active sessions.
|
|
46
|
+
*/
|
|
47
|
+
getActiveSessions(): Session[];
|
|
48
|
+
/**
|
|
49
|
+
* Get the remaining budget for a session.
|
|
50
|
+
*/
|
|
51
|
+
getRemainingBudget(sessionId: string): number;
|
|
52
|
+
/**
|
|
53
|
+
* Prune expired sessions from memory.
|
|
54
|
+
*/
|
|
55
|
+
pruneExpired(): number;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/wallet/session-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAWtD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAmC;IAEnD;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO;IA4BvD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAQzC;;OAEG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;IA0DxC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAQvD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIlD;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAO9B;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM7C;;OAEG;IACH,YAAY,IAAI,MAAM;CAcvB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet Abstraction Types — Unified multi-chain balance & routing.
|
|
3
|
+
*
|
|
4
|
+
* These types power the UnifiedWallet, which abstracts away chain selection
|
|
5
|
+
* so that AI agents can simply say "pay $5" without knowing which chain,
|
|
6
|
+
* token, or gas mechanics are involved.
|
|
7
|
+
*
|
|
8
|
+
* @see EIP-7702 — Session keys & smart account delegation
|
|
9
|
+
* @see ERC-7521 — Intent-based execution
|
|
10
|
+
* @see ERC-4337 — Account abstraction (paymasters)
|
|
11
|
+
*/
|
|
12
|
+
import { PaymentAdapter } from '../adapters/types';
|
|
13
|
+
/**
|
|
14
|
+
* Strategy for selecting which chain/adapter to route a payment through.
|
|
15
|
+
*
|
|
16
|
+
* - `cheapest` — Lowest estimated gas/fee (default)
|
|
17
|
+
* - `fastest` — Fastest expected settlement time
|
|
18
|
+
* - `prefer-crypto` — Prefer on-chain settlement over fiat
|
|
19
|
+
* - `prefer-fiat` — Prefer Stripe/fiat over on-chain
|
|
20
|
+
* - `round-robin` — Distribute across adapters evenly
|
|
21
|
+
*/
|
|
22
|
+
export type RoutingStrategy = 'cheapest' | 'fastest' | 'prefer-crypto' | 'prefer-fiat' | 'round-robin';
|
|
23
|
+
export interface UnifiedWalletOptions {
|
|
24
|
+
/** All available payment adapters (EVM, Stellar, Solana, Stripe, etc.) */
|
|
25
|
+
adapters: PaymentAdapter[];
|
|
26
|
+
/** Routing strategy for chain selection. Default: 'cheapest' */
|
|
27
|
+
strategy?: RoutingStrategy;
|
|
28
|
+
/** Optional logger. */
|
|
29
|
+
logger?: (msg: string) => void;
|
|
30
|
+
/** Fallback adapter index if routing fails. Default: 0 (first adapter) */
|
|
31
|
+
fallbackIndex?: number;
|
|
32
|
+
}
|
|
33
|
+
/** Balance breakdown per chain. */
|
|
34
|
+
export interface ChainBalance {
|
|
35
|
+
/** Human-readable chain name. */
|
|
36
|
+
chain: string;
|
|
37
|
+
/** CAIP-2 identifier. */
|
|
38
|
+
caip2Id: string;
|
|
39
|
+
/** Human-readable balance (e.g., "150.00"). */
|
|
40
|
+
balance: string;
|
|
41
|
+
/** Balance in USD equivalent. */
|
|
42
|
+
balanceUsd: number;
|
|
43
|
+
/** Primary asset symbol (e.g., 'USDC'). */
|
|
44
|
+
asset: string;
|
|
45
|
+
/** Adapter index in the adapters array. */
|
|
46
|
+
adapterIndex: number;
|
|
47
|
+
}
|
|
48
|
+
/** Aggregated balance across all chains. */
|
|
49
|
+
export interface UnifiedBalance {
|
|
50
|
+
/** Total USD-equivalent balance across all chains. */
|
|
51
|
+
totalUsd: number;
|
|
52
|
+
/** Human-readable total (e.g., "$400.00"). */
|
|
53
|
+
totalFormatted: string;
|
|
54
|
+
/** Breakdown per chain. */
|
|
55
|
+
breakdown: ChainBalance[];
|
|
56
|
+
/** Timestamp of the balance snapshot. */
|
|
57
|
+
timestamp: Date;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* A high-level payment intent — what the agent *wants* to do,
|
|
61
|
+
* without specifying *how* to do it.
|
|
62
|
+
*/
|
|
63
|
+
export interface PayIntent {
|
|
64
|
+
/** Amount in USD (e.g., "5.00"). */
|
|
65
|
+
amount: string;
|
|
66
|
+
/** Destination address (chain-agnostic — router resolves). */
|
|
67
|
+
destination?: string;
|
|
68
|
+
/** Preferred asset. Default: 'USDC' */
|
|
69
|
+
asset?: string;
|
|
70
|
+
/** Optional memo for the payment. */
|
|
71
|
+
memo?: string;
|
|
72
|
+
/** Override routing strategy for this payment. */
|
|
73
|
+
strategy?: RoutingStrategy;
|
|
74
|
+
/** Maximum acceptable fee in USD. */
|
|
75
|
+
maxFeeUsd?: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A resolved payment plan — the concrete execution path
|
|
79
|
+
* chosen by the ChainRouter.
|
|
80
|
+
*/
|
|
81
|
+
export interface PaymentPlan {
|
|
82
|
+
/** Selected adapter. */
|
|
83
|
+
adapter: PaymentAdapter;
|
|
84
|
+
/** Adapter index. */
|
|
85
|
+
adapterIndex: number;
|
|
86
|
+
/** Chain name. */
|
|
87
|
+
chain: string;
|
|
88
|
+
/** CAIP-2 identifier. */
|
|
89
|
+
caip2Id: string;
|
|
90
|
+
/** Amount in atomic units for this chain. */
|
|
91
|
+
atomicAmount: string;
|
|
92
|
+
/** Estimated fee in USD. */
|
|
93
|
+
estimatedFeeUsd: number;
|
|
94
|
+
/** Total cost = amount + fee. */
|
|
95
|
+
totalCostUsd: number;
|
|
96
|
+
/** Estimated settlement time in seconds. */
|
|
97
|
+
estimatedSettlementSeconds: number;
|
|
98
|
+
/** Score used for ranking (lower = better). */
|
|
99
|
+
score: number;
|
|
100
|
+
}
|
|
101
|
+
/** Result of a unified payment execution. */
|
|
102
|
+
export interface PayResult {
|
|
103
|
+
/** Whether the payment succeeded. */
|
|
104
|
+
success: boolean;
|
|
105
|
+
/** Transaction hash (if successful). */
|
|
106
|
+
transactionHash: string | null;
|
|
107
|
+
/** Chain used. */
|
|
108
|
+
chain: string;
|
|
109
|
+
/** CAIP-2 identifier. */
|
|
110
|
+
caip2Id: string;
|
|
111
|
+
/** Amount paid in USD. */
|
|
112
|
+
amountUsd: string;
|
|
113
|
+
/** Fee paid in USD (estimated). */
|
|
114
|
+
feeUsd: string;
|
|
115
|
+
/** Error message (if failed). */
|
|
116
|
+
error?: string;
|
|
117
|
+
}
|
|
118
|
+
/** Permissions granted to a session key. */
|
|
119
|
+
export interface SessionPermissions {
|
|
120
|
+
/** Maximum USD per transaction. */
|
|
121
|
+
maxPerTransaction: number;
|
|
122
|
+
/** Maximum total USD for the session. */
|
|
123
|
+
maxTotal: number;
|
|
124
|
+
/** Allowed destination addresses (empty = all). */
|
|
125
|
+
allowedDestinations?: string[];
|
|
126
|
+
/** Allowed chains (empty = all). */
|
|
127
|
+
allowedChains?: string[];
|
|
128
|
+
/** Session expiry time. */
|
|
129
|
+
expiresAt: Date;
|
|
130
|
+
}
|
|
131
|
+
/** An active session with scoped permissions. */
|
|
132
|
+
export interface Session {
|
|
133
|
+
/** Unique session ID. */
|
|
134
|
+
id: string;
|
|
135
|
+
/** Permissions for this session. */
|
|
136
|
+
permissions: SessionPermissions;
|
|
137
|
+
/** USD spent in this session so far. */
|
|
138
|
+
spent: number;
|
|
139
|
+
/** Number of transactions in this session. */
|
|
140
|
+
txCount: number;
|
|
141
|
+
/** When the session was created. */
|
|
142
|
+
createdAt: Date;
|
|
143
|
+
/** Whether the session is still active. */
|
|
144
|
+
isActive: boolean;
|
|
145
|
+
}
|
|
146
|
+
/** Static metadata about a chain's characteristics. */
|
|
147
|
+
export interface ChainMeta {
|
|
148
|
+
/** CAIP-2 identifier. */
|
|
149
|
+
caip2Id: string;
|
|
150
|
+
/** Human-readable chain name. */
|
|
151
|
+
name: string;
|
|
152
|
+
/** Average settlement time in seconds. */
|
|
153
|
+
avgSettlementSeconds: number;
|
|
154
|
+
/** Average fee in USD for a USDC transfer. */
|
|
155
|
+
avgFeeUsd: number;
|
|
156
|
+
/** Is this a fiat rail (e.g., Stripe)? */
|
|
157
|
+
isFiat: boolean;
|
|
158
|
+
/** Priority boost (lower = higher priority). */
|
|
159
|
+
priorityBoost: number;
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/wallet/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UnifiedWallet — Single entry point for multi-chain payments.
|
|
3
|
+
*
|
|
4
|
+
* Wraps multiple PaymentAdapters behind a unified interface so that
|
|
5
|
+
* AI agents can simply call `wallet.pay('$5')` without knowing about
|
|
6
|
+
* chains, tokens, gas, or atomic units.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* ```
|
|
10
|
+
* Agent → UnifiedWallet → ChainRouter → best PaymentAdapter → settlement
|
|
11
|
+
* → BalanceAggregator → unified balance
|
|
12
|
+
* → IntentResolver → structured payment intent
|
|
13
|
+
* → SessionManager → scoped permissions
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const wallet = new UnifiedWallet({
|
|
19
|
+
* adapters: [evmAdapter, stellarAdapter, solanaAdapter],
|
|
20
|
+
* strategy: 'cheapest',
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // Agent just pays — no chain knowledge needed
|
|
24
|
+
* const result = await wallet.pay({ amount: '5.00' });
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @see EIP-7702 — Smart account delegation
|
|
28
|
+
* @see ERC-7521 — Intent-based execution
|
|
29
|
+
*/
|
|
30
|
+
import { PaymentAdapter } from '../adapters/types';
|
|
31
|
+
import { BalanceAggregator } from './balance-aggregator';
|
|
32
|
+
import { ChainRouter } from './chain-router';
|
|
33
|
+
import { IntentResolver } from './intent-resolver';
|
|
34
|
+
import { SessionManager } from './session-manager';
|
|
35
|
+
import { UnifiedWalletOptions, UnifiedBalance, PayIntent, PayResult, PaymentPlan, RoutingStrategy, Session, SessionPermissions } from './types';
|
|
36
|
+
export declare class UnifiedWallet {
|
|
37
|
+
private adapters;
|
|
38
|
+
private strategy;
|
|
39
|
+
private log;
|
|
40
|
+
private fallbackIndex;
|
|
41
|
+
readonly balanceAggregator: BalanceAggregator;
|
|
42
|
+
readonly chainRouter: ChainRouter;
|
|
43
|
+
readonly intentResolver: IntentResolver;
|
|
44
|
+
readonly sessionManager: SessionManager;
|
|
45
|
+
constructor(options: UnifiedWalletOptions);
|
|
46
|
+
/**
|
|
47
|
+
* Execute a payment using the optimal chain route.
|
|
48
|
+
* The agent simply provides an amount — everything else is automatic.
|
|
49
|
+
*/
|
|
50
|
+
pay(intent: PayIntent): Promise<PayResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Pay using a natural-language string.
|
|
53
|
+
* @example wallet.payIntent('pay $5 to 0x1234...')
|
|
54
|
+
*/
|
|
55
|
+
payIntent(intentString: string): Promise<PayResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Get the unified balance across all chains.
|
|
58
|
+
*/
|
|
59
|
+
getBalance(): Promise<UnifiedBalance>;
|
|
60
|
+
/**
|
|
61
|
+
* Get the total USD balance as a simple number.
|
|
62
|
+
*/
|
|
63
|
+
getTotalBalanceUsd(): Promise<number>;
|
|
64
|
+
/**
|
|
65
|
+
* Check if the wallet has enough funds for a payment.
|
|
66
|
+
*/
|
|
67
|
+
canAfford(amountUsd: number): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Preview all routing options for a payment without executing.
|
|
70
|
+
*/
|
|
71
|
+
previewRoutes(intent: PayIntent): PaymentPlan[];
|
|
72
|
+
/**
|
|
73
|
+
* Get the default routing strategy.
|
|
74
|
+
*/
|
|
75
|
+
getStrategy(): RoutingStrategy;
|
|
76
|
+
/**
|
|
77
|
+
* Change the default routing strategy.
|
|
78
|
+
*/
|
|
79
|
+
setStrategy(strategy: RoutingStrategy): void;
|
|
80
|
+
/**
|
|
81
|
+
* Create a scoped session for this wallet.
|
|
82
|
+
*/
|
|
83
|
+
createSession(permissions: SessionPermissions): Session;
|
|
84
|
+
/**
|
|
85
|
+
* Revoke a session.
|
|
86
|
+
*/
|
|
87
|
+
revokeSession(sessionId: string): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Get the primary address (first adapter's address).
|
|
90
|
+
*/
|
|
91
|
+
getAddress(): string;
|
|
92
|
+
/**
|
|
93
|
+
* Get all adapter addresses.
|
|
94
|
+
*/
|
|
95
|
+
getAddresses(): Array<{
|
|
96
|
+
chain: string;
|
|
97
|
+
caip2Id: string;
|
|
98
|
+
address: string;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Get the number of registered adapters.
|
|
102
|
+
*/
|
|
103
|
+
getAdapterCount(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Get a specific adapter by CAIP-2 ID.
|
|
106
|
+
*/
|
|
107
|
+
getAdapter(caip2Id: string): PaymentAdapter | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Expose the underlying adapter for EnvoyClient backward compatibility.
|
|
110
|
+
* Returns the first (default) adapter.
|
|
111
|
+
*/
|
|
112
|
+
getDefaultAdapter(): PaymentAdapter;
|
|
113
|
+
/**
|
|
114
|
+
* Execute a resolved payment plan.
|
|
115
|
+
*/
|
|
116
|
+
private executePlan;
|
|
117
|
+
/**
|
|
118
|
+
* Fallback: try next-best adapter if primary fails.
|
|
119
|
+
*/
|
|
120
|
+
private tryFallback;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=unified-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-wallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/unified-wallet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,SAAS,EACT,SAAS,EACT,WAAW,EACX,eAAe,EACf,OAAO,EACP,kBAAkB,EACnB,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,aAAa,CAAS;IAE9B,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;gBAE5B,OAAO,EAAE,oBAAoB;IAkBzC;;;OAGG;IACG,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAwChD;;;OAGG;IACG,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAQzD;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAI3C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAK3C;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMpD;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,EAAE;IAK/C;;OAEG;IACH,WAAW,IAAI,eAAe;IAI9B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAO5C;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO;IAMvD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAUzC;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,YAAY,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ1E;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIvD;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAMnC;;OAEG;YACW,WAAW;IA8BzB;;OAEG;YACW,WAAW;CAoB1B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "envoy-pay",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Celo-first agent payment SDK: x402 + MPP settlement, ERC-8004 identity, and on-chain spending policy via the EnvoyFacilitator. Optional Solana, Stellar, Stripe, DEX/bridge, and unified-wallet modules via subpath imports.",
|
|
5
|
+
"main": "./dist/cjs/index.js",
|
|
6
|
+
"module": "./dist/esm/index.js",
|
|
7
|
+
"types": "./dist/types/index.d.ts",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/types/index.d.ts",
|
|
12
|
+
"import": "./dist/esm/index.js",
|
|
13
|
+
"require": "./dist/cjs/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./contracts": {
|
|
16
|
+
"types": "./dist/types/contracts/index.d.ts",
|
|
17
|
+
"import": "./dist/esm/contracts/index.js",
|
|
18
|
+
"require": "./dist/cjs/contracts/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./identity": {
|
|
21
|
+
"types": "./dist/types/identity/index.d.ts",
|
|
22
|
+
"import": "./dist/esm/identity/index.js",
|
|
23
|
+
"require": "./dist/cjs/identity/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./server": {
|
|
26
|
+
"types": "./dist/types/server/index.d.ts",
|
|
27
|
+
"import": "./dist/esm/server/index.js",
|
|
28
|
+
"require": "./dist/cjs/server/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./wallet": {
|
|
31
|
+
"types": "./dist/types/wallet/index.d.ts",
|
|
32
|
+
"import": "./dist/esm/wallet/index.js",
|
|
33
|
+
"require": "./dist/cjs/wallet/index.js"
|
|
34
|
+
},
|
|
35
|
+
"./monitor": {
|
|
36
|
+
"types": "./dist/types/monitor/index.d.ts",
|
|
37
|
+
"import": "./dist/esm/monitor/index.js",
|
|
38
|
+
"require": "./dist/cjs/monitor/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./requests": {
|
|
41
|
+
"types": "./dist/types/requests/index.d.ts",
|
|
42
|
+
"import": "./dist/esm/requests/index.js",
|
|
43
|
+
"require": "./dist/cjs/requests/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./facilitator": {
|
|
46
|
+
"types": "./dist/types/facilitator/index.d.ts",
|
|
47
|
+
"import": "./dist/esm/facilitator/index.js",
|
|
48
|
+
"require": "./dist/cjs/facilitator/index.js"
|
|
49
|
+
},
|
|
50
|
+
"./ows": {
|
|
51
|
+
"types": "./dist/types/adapters/ows.d.ts",
|
|
52
|
+
"import": "./dist/esm/adapters/ows.js",
|
|
53
|
+
"require": "./dist/cjs/adapters/ows.js"
|
|
54
|
+
},
|
|
55
|
+
"./stripe": {
|
|
56
|
+
"types": "./dist/types/adapters/stripe.d.ts",
|
|
57
|
+
"import": "./dist/esm/adapters/stripe.js",
|
|
58
|
+
"require": "./dist/cjs/adapters/stripe.js"
|
|
59
|
+
},
|
|
60
|
+
"./solana": {
|
|
61
|
+
"types": "./dist/types/solana.d.ts",
|
|
62
|
+
"import": "./dist/esm/solana.js",
|
|
63
|
+
"require": "./dist/cjs/solana.js"
|
|
64
|
+
},
|
|
65
|
+
"./stellar": {
|
|
66
|
+
"types": "./dist/types/stellar.d.ts",
|
|
67
|
+
"import": "./dist/esm/stellar.js",
|
|
68
|
+
"require": "./dist/cjs/stellar.js"
|
|
69
|
+
},
|
|
70
|
+
"./okx": {
|
|
71
|
+
"types": "./dist/types/providers/onchainos.d.ts",
|
|
72
|
+
"import": "./dist/esm/providers/onchainos.js",
|
|
73
|
+
"require": "./dist/cjs/providers/onchainos.js"
|
|
74
|
+
},
|
|
75
|
+
"./bridge": {
|
|
76
|
+
"types": "./dist/types/providers/bridge.d.ts",
|
|
77
|
+
"import": "./dist/esm/providers/bridge.js",
|
|
78
|
+
"require": "./dist/cjs/providers/bridge.js"
|
|
79
|
+
},
|
|
80
|
+
"./package.json": "./package.json"
|
|
81
|
+
},
|
|
82
|
+
"files": [
|
|
83
|
+
"dist",
|
|
84
|
+
"README.md",
|
|
85
|
+
"LICENSE",
|
|
86
|
+
"CHANGELOG.md"
|
|
87
|
+
],
|
|
88
|
+
"scripts": {
|
|
89
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
90
|
+
"build:esm": "tsc -p tsconfig.esm.json && node scripts/fix-esm-extensions.mjs",
|
|
91
|
+
"build:types": "tsc -p tsconfig.types.json",
|
|
92
|
+
"build": "rm -rf dist && npm run build:cjs && npm run build:esm && npm run build:types",
|
|
93
|
+
"test": "vitest run",
|
|
94
|
+
"test:watch": "vitest",
|
|
95
|
+
"test:coverage": "vitest run --coverage",
|
|
96
|
+
"typecheck": "tsc --noEmit",
|
|
97
|
+
"demo": "ts-node --transpile-only examples/autonomous-loop/demo.ts",
|
|
98
|
+
"register:self": "ts-node --transpile-only examples/autonomous-loop/register-self.ts",
|
|
99
|
+
"contracts:compile": "cd contracts && npx hardhat compile",
|
|
100
|
+
"contracts:test": "cd contracts && npx hardhat test",
|
|
101
|
+
"prepublishOnly": "npm run typecheck && npm run test && npm run build"
|
|
102
|
+
},
|
|
103
|
+
"keywords": [
|
|
104
|
+
"envoy",
|
|
105
|
+
"envoy-pay",
|
|
106
|
+
"celo",
|
|
107
|
+
"celo-payments",
|
|
108
|
+
"cusd",
|
|
109
|
+
"ceur",
|
|
110
|
+
"ai-agent-payments",
|
|
111
|
+
"autonomous-agent-payments",
|
|
112
|
+
"agent-to-agent-payments",
|
|
113
|
+
"agentic-commerce",
|
|
114
|
+
"machine-to-machine-payments",
|
|
115
|
+
"x402",
|
|
116
|
+
"x402-protocol",
|
|
117
|
+
"mpp",
|
|
118
|
+
"machine-payments-protocol",
|
|
119
|
+
"402-payment-required",
|
|
120
|
+
"http-402",
|
|
121
|
+
"ai-agent-sdk",
|
|
122
|
+
"ai-agent-financial-identity",
|
|
123
|
+
"agent-wallet",
|
|
124
|
+
"agent-virtual-card",
|
|
125
|
+
"policy-engine",
|
|
126
|
+
"agent-escrow",
|
|
127
|
+
"agent-identity",
|
|
128
|
+
"erc-8004",
|
|
129
|
+
"stripe",
|
|
130
|
+
"circle",
|
|
131
|
+
"usdc",
|
|
132
|
+
"base",
|
|
133
|
+
"arbitrum",
|
|
134
|
+
"optimism",
|
|
135
|
+
"polygon",
|
|
136
|
+
"stellar",
|
|
137
|
+
"solana",
|
|
138
|
+
"evm",
|
|
139
|
+
"multi-chain",
|
|
140
|
+
"langchain",
|
|
141
|
+
"crewai",
|
|
142
|
+
"mcp-server",
|
|
143
|
+
"open-wallet-standard"
|
|
144
|
+
],
|
|
145
|
+
"engines": {
|
|
146
|
+
"node": ">=18"
|
|
147
|
+
},
|
|
148
|
+
"author": "Envoy",
|
|
149
|
+
"license": "Apache-2.0",
|
|
150
|
+
"repository": {
|
|
151
|
+
"type": "git",
|
|
152
|
+
"url": "git+https://github.com/envoy-pay/envoy-pay.git"
|
|
153
|
+
},
|
|
154
|
+
"homepage": "https://github.com/envoy-pay/envoy-pay#readme",
|
|
155
|
+
"bugs": {
|
|
156
|
+
"url": "https://github.com/envoy-pay/envoy-pay/issues"
|
|
157
|
+
},
|
|
158
|
+
"dependencies": {
|
|
159
|
+
"@open-wallet-standard/core": "^1.2.4",
|
|
160
|
+
"axios": "^1.14.0",
|
|
161
|
+
"viem": "^2.47.6"
|
|
162
|
+
},
|
|
163
|
+
"peerDependencies": {
|
|
164
|
+
"@solana/spl-token": "^0.4.14",
|
|
165
|
+
"@solana/web3.js": "^1.98.4",
|
|
166
|
+
"@stellar/stellar-sdk": "^13.3.0",
|
|
167
|
+
"stripe": ">=16.0.0"
|
|
168
|
+
},
|
|
169
|
+
"peerDependenciesMeta": {
|
|
170
|
+
"@solana/spl-token": {
|
|
171
|
+
"optional": true
|
|
172
|
+
},
|
|
173
|
+
"@solana/web3.js": {
|
|
174
|
+
"optional": true
|
|
175
|
+
},
|
|
176
|
+
"@stellar/stellar-sdk": {
|
|
177
|
+
"optional": true
|
|
178
|
+
},
|
|
179
|
+
"stripe": {
|
|
180
|
+
"optional": true
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"devDependencies": {
|
|
184
|
+
"@selfxyz/agent-sdk": "^0.2.1",
|
|
185
|
+
"@solana/spl-token": "^0.4.14",
|
|
186
|
+
"@solana/web3.js": "^1.98.4",
|
|
187
|
+
"@stellar/stellar-sdk": "^13.3.0",
|
|
188
|
+
"@types/node": "^22.0.0",
|
|
189
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
190
|
+
"ts-node": "^10.9.0",
|
|
191
|
+
"typescript": "^5.7.0",
|
|
192
|
+
"vitest": "^3.1.0"
|
|
193
|
+
}
|
|
194
|
+
}
|