agentwallet-sdk 4.0.5 → 5.0.1
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 +154 -158
- package/dist/abi.d.ts +396 -46
- package/dist/abi.d.ts.map +1 -1
- package/dist/abi.js +0 -2
- package/dist/abi.js.map +1 -1
- package/dist/ap2/index.d.ts +185 -0
- package/dist/ap2/index.d.ts.map +1 -0
- package/dist/ap2/index.js +255 -0
- package/dist/ap2/index.js.map +1 -0
- package/dist/bridge/abis.d.ts.map +1 -1
- package/dist/bridge/abis.js +0 -2
- package/dist/bridge/abis.js.map +1 -1
- package/dist/bridge/client.d.ts +28 -43
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +0 -2
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +1 -0
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +0 -2
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/types.d.ts +48 -32
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +0 -2
- package/dist/bridge/types.js.map +1 -1
- package/dist/bridge/unified.d.ts +101 -0
- package/dist/bridge/unified.d.ts.map +1 -0
- package/dist/bridge/unified.js +284 -0
- package/dist/bridge/unified.js.map +1 -0
- package/dist/chains.d.ts +62 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +108 -0
- package/dist/chains.js.map +1 -0
- package/dist/escrow/MutualStakeEscrow.d.ts +75 -0
- package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -0
- package/dist/escrow/MutualStakeEscrow.js +339 -0
- package/dist/escrow/MutualStakeEscrow.js.map +1 -0
- package/dist/escrow/types.d.ts +59 -0
- package/dist/escrow/types.d.ts.map +1 -0
- package/dist/escrow/types.js +11 -0
- package/dist/escrow/types.js.map +1 -0
- package/dist/escrow/verifiers.d.ts +26 -0
- package/dist/escrow/verifiers.d.ts.map +1 -0
- package/dist/escrow/verifiers.js +53 -0
- package/dist/escrow/verifiers.js.map +1 -0
- package/dist/fiat/index.d.ts +10 -0
- package/dist/fiat/index.d.ts.map +1 -0
- package/dist/fiat/index.js +9 -0
- package/dist/fiat/index.js.map +1 -0
- package/dist/fiat/onramp.d.ts +101 -0
- package/dist/fiat/onramp.d.ts.map +1 -0
- package/dist/fiat/onramp.js +155 -0
- package/dist/fiat/onramp.js.map +1 -0
- package/dist/fiat/providers/index.d.ts +16 -0
- package/dist/fiat/providers/index.d.ts.map +1 -0
- package/dist/fiat/providers/index.js +30 -0
- package/dist/fiat/providers/index.js.map +1 -0
- package/dist/fiat/providers/moonpay.d.ts +22 -0
- package/dist/fiat/providers/moonpay.d.ts.map +1 -0
- package/dist/fiat/providers/moonpay.js +107 -0
- package/dist/fiat/providers/moonpay.js.map +1 -0
- package/dist/fiat/providers/stripe.d.ts +26 -0
- package/dist/fiat/providers/stripe.d.ts.map +1 -0
- package/dist/fiat/providers/stripe.js +135 -0
- package/dist/fiat/providers/stripe.js.map +1 -0
- package/dist/fiat/providers/transak.d.ts +26 -0
- package/dist/fiat/providers/transak.d.ts.map +1 -0
- package/dist/fiat/providers/transak.js +119 -0
- package/dist/fiat/providers/transak.js.map +1 -0
- package/dist/fiat/types.d.ts +106 -0
- package/dist/fiat/types.d.ts.map +1 -0
- package/dist/fiat/types.js +13 -0
- package/dist/fiat/types.js.map +1 -0
- package/dist/flash/executor.d.ts +119 -0
- package/dist/flash/executor.d.ts.map +1 -0
- package/dist/flash/executor.js +195 -0
- package/dist/flash/executor.js.map +1 -0
- package/dist/flash/index.d.ts +28 -0
- package/dist/flash/index.d.ts.map +1 -0
- package/dist/flash/index.js +29 -0
- package/dist/flash/index.js.map +1 -0
- package/dist/flash/scanner.d.ts +133 -0
- package/dist/flash/scanner.d.ts.map +1 -0
- package/dist/flash/scanner.js +212 -0
- package/dist/flash/scanner.js.map +1 -0
- package/dist/flash/types.d.ts +136 -0
- package/dist/flash/types.d.ts.map +1 -0
- package/dist/flash/types.js +23 -0
- package/dist/flash/types.js.map +1 -0
- package/dist/gas/index.d.ts +4 -0
- package/dist/gas/index.d.ts.map +1 -0
- package/dist/gas/index.js +3 -0
- package/dist/gas/index.js.map +1 -0
- package/dist/gas/sponsor.d.ts +70 -0
- package/dist/gas/sponsor.d.ts.map +1 -0
- package/dist/gas/sponsor.js +193 -0
- package/dist/gas/sponsor.js.map +1 -0
- package/dist/gas/types.d.ts +76 -0
- package/dist/gas/types.d.ts.map +1 -0
- package/dist/gas/types.js +21 -0
- package/dist/gas/types.js.map +1 -0
- package/dist/identity/agent-identity.d.ts +276 -0
- package/dist/identity/agent-identity.d.ts.map +1 -0
- package/dist/identity/agent-identity.js +300 -0
- package/dist/identity/agent-identity.js.map +1 -0
- package/dist/identity/erc6551.d.ts +441 -0
- package/dist/identity/erc6551.d.ts.map +1 -0
- package/dist/identity/erc6551.js +517 -0
- package/dist/identity/erc6551.js.map +1 -0
- package/dist/identity/erc8004.d.ts +296 -141
- package/dist/identity/erc8004.d.ts.map +1 -1
- package/dist/identity/erc8004.js +43 -12
- package/dist/identity/erc8004.js.map +1 -1
- package/dist/identity/index.d.ts +6 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +3 -2
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/reputation.d.ts +318 -0
- package/dist/identity/reputation.d.ts.map +1 -0
- package/dist/identity/reputation.js +272 -0
- package/dist/identity/reputation.js.map +1 -0
- package/dist/identity/validation.d.ts +284 -0
- package/dist/identity/validation.d.ts.map +1 -0
- package/dist/identity/validation.js +226 -0
- package/dist/identity/validation.js.map +1 -0
- package/dist/index.d.ts +32624 -1011
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -12
- package/dist/index.js.map +1 -1
- package/dist/mev/index.d.ts +4 -0
- package/dist/mev/index.d.ts.map +1 -0
- package/dist/mev/index.js +8 -0
- package/dist/mev/index.js.map +1 -0
- package/dist/mev/protection.d.ts +54 -0
- package/dist/mev/protection.d.ts.map +1 -0
- package/dist/mev/protection.js +185 -0
- package/dist/mev/protection.js.map +1 -0
- package/dist/mev/risk.d.ts +19 -0
- package/dist/mev/risk.d.ts.map +1 -0
- package/dist/mev/risk.js +95 -0
- package/dist/mev/risk.js.map +1 -0
- package/dist/mev/types.d.ts +49 -0
- package/dist/mev/types.d.ts.map +1 -0
- package/dist/mev/types.js +2 -0
- package/dist/mev/types.js.map +1 -0
- package/dist/plugins/elizaos.d.ts +26 -14
- package/dist/plugins/elizaos.d.ts.map +1 -1
- package/dist/plugins/elizaos.js +0 -2
- package/dist/plugins/elizaos.js.map +1 -1
- package/dist/policy/SpendingPolicy.d.ts +89 -15
- package/dist/policy/SpendingPolicy.d.ts.map +1 -1
- package/dist/policy/SpendingPolicy.js +0 -2
- package/dist/policy/SpendingPolicy.js.map +1 -1
- package/dist/policy/SpendingPolicy.test.d.ts +2 -0
- package/dist/policy/SpendingPolicy.test.d.ts.map +1 -0
- package/dist/policy/SpendingPolicy.test.js +143 -0
- package/dist/policy/SpendingPolicy.test.js.map +1 -0
- package/dist/settlement/index.d.ts +4 -0
- package/dist/settlement/index.d.ts.map +1 -0
- package/dist/settlement/index.js +3 -0
- package/dist/settlement/index.js.map +1 -0
- package/dist/settlement/types.d.ts +66 -0
- package/dist/settlement/types.d.ts.map +1 -0
- package/dist/settlement/types.js +37 -0
- package/dist/settlement/types.js.map +1 -0
- package/dist/settlement/verifier.d.ts +75 -0
- package/dist/settlement/verifier.d.ts.map +1 -0
- package/dist/settlement/verifier.js +354 -0
- package/dist/settlement/verifier.js.map +1 -0
- package/dist/solana/bridge.d.ts +144 -0
- package/dist/solana/bridge.d.ts.map +1 -0
- package/dist/solana/bridge.js +352 -0
- package/dist/solana/bridge.js.map +1 -0
- package/dist/solana/index.d.ts +8 -0
- package/dist/solana/index.d.ts.map +1 -0
- package/dist/solana/index.js +6 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/swap.d.ts +85 -0
- package/dist/solana/swap.d.ts.map +1 -0
- package/dist/solana/swap.js +173 -0
- package/dist/solana/swap.js.map +1 -0
- package/dist/solana/types.d.ts +126 -0
- package/dist/solana/types.d.ts.map +1 -0
- package/dist/solana/types.js +10 -0
- package/dist/solana/types.js.map +1 -0
- package/dist/solana/wallet.d.ts +83 -0
- package/dist/solana/wallet.d.ts.map +1 -0
- package/dist/solana/wallet.js +164 -0
- package/dist/solana/wallet.js.map +1 -0
- package/dist/solana/x402.d.ts +69 -0
- package/dist/solana/x402.d.ts.map +1 -0
- package/dist/solana/x402.js +154 -0
- package/dist/solana/x402.js.map +1 -0
- package/dist/solver/adapter.d.ts +47 -0
- package/dist/solver/adapter.d.ts.map +1 -0
- package/dist/solver/adapter.js +146 -0
- package/dist/solver/adapter.js.map +1 -0
- package/dist/solver/analyzer.d.ts +48 -0
- package/dist/solver/analyzer.d.ts.map +1 -0
- package/dist/solver/analyzer.js +171 -0
- package/dist/solver/analyzer.js.map +1 -0
- package/dist/solver/builder.d.ts +31 -0
- package/dist/solver/builder.d.ts.map +1 -0
- package/dist/solver/builder.js +60 -0
- package/dist/solver/builder.js.map +1 -0
- package/dist/solver/index.d.ts +22 -0
- package/dist/solver/index.d.ts.map +1 -0
- package/dist/solver/index.js +25 -0
- package/dist/solver/index.js.map +1 -0
- package/dist/solver/types.d.ts +115 -0
- package/dist/solver/types.d.ts.map +1 -0
- package/dist/solver/types.js +10 -0
- package/dist/solver/types.js.map +1 -0
- package/dist/spend-guard/index.d.ts +125 -0
- package/dist/spend-guard/index.d.ts.map +1 -0
- package/dist/spend-guard/index.js +150 -0
- package/dist/spend-guard/index.js.map +1 -0
- package/dist/swap/SwapModule.d.ts +28 -39
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +2 -4
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/abi.d.ts.map +1 -1
- package/dist/swap/abi.js +0 -2
- package/dist/swap/abi.js.map +1 -1
- package/dist/swap/index.d.ts +1 -0
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +0 -2
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/router/cache.d.ts +13 -0
- package/dist/swap/router/cache.d.ts.map +1 -0
- package/dist/swap/router/cache.js +30 -0
- package/dist/swap/router/cache.js.map +1 -0
- package/dist/swap/router/flashbots.d.ts +10 -0
- package/dist/swap/router/flashbots.d.ts.map +1 -0
- package/dist/swap/router/flashbots.js +43 -0
- package/dist/swap/router/flashbots.js.map +1 -0
- package/dist/swap/router/health.d.ts +17 -0
- package/dist/swap/router/health.d.ts.map +1 -0
- package/dist/swap/router/health.js +38 -0
- package/dist/swap/router/health.js.map +1 -0
- package/dist/swap/router/index.d.ts +10 -0
- package/dist/swap/router/index.d.ts.map +1 -0
- package/dist/swap/router/index.js +10 -0
- package/dist/swap/router/index.js.map +1 -0
- package/dist/swap/router/providers/cowswap.d.ts +11 -0
- package/dist/swap/router/providers/cowswap.d.ts.map +1 -0
- package/dist/swap/router/providers/cowswap.js +79 -0
- package/dist/swap/router/providers/cowswap.js.map +1 -0
- package/dist/swap/router/providers/index.d.ts +20 -0
- package/dist/swap/router/providers/index.d.ts.map +1 -0
- package/dist/swap/router/providers/index.js +32 -0
- package/dist/swap/router/providers/index.js.map +1 -0
- package/dist/swap/router/providers/jupiter.d.ts +12 -0
- package/dist/swap/router/providers/jupiter.d.ts.map +1 -0
- package/dist/swap/router/providers/jupiter.js +73 -0
- package/dist/swap/router/providers/jupiter.js.map +1 -0
- package/dist/swap/router/providers/lifi.d.ts +11 -0
- package/dist/swap/router/providers/lifi.d.ts.map +1 -0
- package/dist/swap/router/providers/lifi.js +123 -0
- package/dist/swap/router/providers/lifi.js.map +1 -0
- package/dist/swap/router/providers/oneinch.d.ts +13 -0
- package/dist/swap/router/providers/oneinch.d.ts.map +1 -0
- package/dist/swap/router/providers/oneinch.js +71 -0
- package/dist/swap/router/providers/oneinch.js.map +1 -0
- package/dist/swap/router/providers/paraswap.d.ts +11 -0
- package/dist/swap/router/providers/paraswap.d.ts.map +1 -0
- package/dist/swap/router/providers/paraswap.js +73 -0
- package/dist/swap/router/providers/paraswap.js.map +1 -0
- package/dist/swap/router/providers/uniswap.d.ts +31 -0
- package/dist/swap/router/providers/uniswap.d.ts.map +1 -0
- package/dist/swap/router/providers/uniswap.js +237 -0
- package/dist/swap/router/providers/uniswap.js.map +1 -0
- package/dist/swap/router/providers/zerox.d.ts +13 -0
- package/dist/swap/router/providers/zerox.d.ts.map +1 -0
- package/dist/swap/router/providers/zerox.js +94 -0
- package/dist/swap/router/providers/zerox.js.map +1 -0
- package/dist/swap/router/router.d.ts +86 -0
- package/dist/swap/router/router.d.ts.map +1 -0
- package/dist/swap/router/router.js +224 -0
- package/dist/swap/router/router.js.map +1 -0
- package/dist/swap/router/rsi/engine.d.ts +60 -0
- package/dist/swap/router/rsi/engine.d.ts.map +1 -0
- package/dist/swap/router/rsi/engine.js +483 -0
- package/dist/swap/router/rsi/engine.js.map +1 -0
- package/dist/swap/router/rsi/index.d.ts +3 -0
- package/dist/swap/router/rsi/index.d.ts.map +1 -0
- package/dist/swap/router/rsi/index.js +3 -0
- package/dist/swap/router/rsi/index.js.map +1 -0
- package/dist/swap/router/rsi/types.d.ts +106 -0
- package/dist/swap/router/rsi/types.d.ts.map +1 -0
- package/dist/swap/router/rsi/types.js +3 -0
- package/dist/swap/router/rsi/types.js.map +1 -0
- package/dist/swap/router/types.d.ts +120 -0
- package/dist/swap/router/types.d.ts.map +1 -0
- package/dist/swap/router/types.js +16 -0
- package/dist/swap/router/types.js.map +1 -0
- package/dist/swap/types.d.ts +41 -7
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +1 -3
- package/dist/swap/types.js.map +1 -1
- package/dist/tax/engine.d.ts +131 -0
- package/dist/tax/engine.d.ts.map +1 -0
- package/dist/tax/engine.js +307 -0
- package/dist/tax/engine.js.map +1 -0
- package/dist/tax/index.d.ts +9 -0
- package/dist/tax/index.d.ts.map +1 -0
- package/dist/tax/index.js +12 -0
- package/dist/tax/index.js.map +1 -0
- package/dist/tax/lots.d.ts +60 -0
- package/dist/tax/lots.d.ts.map +1 -0
- package/dist/tax/lots.js +129 -0
- package/dist/tax/lots.js.map +1 -0
- package/dist/tax/types.d.ts +113 -0
- package/dist/tax/types.d.ts.map +1 -0
- package/dist/tax/types.js +18 -0
- package/dist/tax/types.js.map +1 -0
- package/dist/types.d.ts +106 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/x402/__tests__/budget.test.d.ts +2 -0
- package/dist/x402/__tests__/budget.test.d.ts.map +1 -0
- package/dist/x402/__tests__/budget.test.js +114 -0
- package/dist/x402/__tests__/budget.test.js.map +1 -0
- package/dist/x402/__tests__/client.test.d.ts +2 -0
- package/dist/x402/__tests__/client.test.d.ts.map +1 -0
- package/dist/x402/__tests__/client.test.js +107 -0
- package/dist/x402/__tests__/client.test.js.map +1 -0
- package/dist/x402/budget.d.ts +23 -15
- package/dist/x402/budget.d.ts.map +1 -1
- package/dist/x402/budget.js +0 -2
- package/dist/x402/budget.js.map +1 -1
- package/dist/x402/chains/abstract/index.d.ts +87 -59
- package/dist/x402/chains/abstract/index.d.ts.map +1 -1
- package/dist/x402/chains/abstract/index.js +0 -2
- package/dist/x402/chains/abstract/index.js.map +1 -1
- package/dist/x402/client.d.ts +27 -13
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +0 -2
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +2 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +0 -2
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/middleware.d.ts +4 -4
- package/dist/x402/middleware.d.ts.map +1 -1
- package/dist/x402/middleware.js +0 -2
- package/dist/x402/middleware.js.map +1 -1
- package/dist/x402/types.d.ts +88 -5
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +0 -2
- package/dist/x402/types.js.map +1 -1
- package/dist/yield/index.d.ts +26 -0
- package/dist/yield/index.d.ts.map +1 -0
- package/dist/yield/index.js +29 -0
- package/dist/yield/index.js.map +1 -0
- package/dist/yield/rates.d.ts +114 -0
- package/dist/yield/rates.d.ts.map +1 -0
- package/dist/yield/rates.js +351 -0
- package/dist/yield/rates.js.map +1 -0
- package/dist/yield/types.d.ts +134 -0
- package/dist/yield/types.d.ts.map +1 -0
- package/dist/yield/types.js +24 -0
- package/dist/yield/types.js.map +1 -0
- package/dist/yield/vault.d.ts +112 -0
- package/dist/yield/vault.d.ts.map +1 -0
- package/dist/yield/vault.js +264 -0
- package/dist/yield/vault.js.map +1 -0
- package/package.json +18 -32
- package/dist/__tests__/identity.did.test.d.ts +0 -2
- package/dist/__tests__/identity.did.test.d.ts.map +0 -1
- package/dist/__tests__/identity.did.test.js +0 -56
- package/dist/__tests__/identity.did.test.js.map +0 -1
- package/dist/__tests__/staking.test.d.ts +0 -2
- package/dist/__tests__/staking.test.d.ts.map +0 -1
- package/dist/__tests__/staking.test.js +0 -70
- package/dist/__tests__/staking.test.js.map +0 -1
- package/dist/__tests__/verify.test.d.ts +0 -2
- package/dist/__tests__/verify.test.d.ts.map +0 -1
- package/dist/__tests__/verify.test.js +0 -57
- package/dist/__tests__/verify.test.js.map +0 -1
- package/dist/identity/did.d.ts +0 -66
- package/dist/identity/did.d.ts.map +0 -1
- package/dist/identity/did.js +0 -186
- package/dist/identity/did.js.map +0 -1
- package/dist/staking/AgentStakingPool.d.ts +0 -100
- package/dist/staking/AgentStakingPool.d.ts.map +0 -1
- package/dist/staking/AgentStakingPool.js +0 -298
- package/dist/staking/AgentStakingPool.js.map +0 -1
- package/dist/staking/index.d.ts +0 -2
- package/dist/staking/index.d.ts.map +0 -1
- package/dist/staking/index.js +0 -2
- package/dist/staking/index.js.map +0 -1
- package/dist/verify/index.d.ts +0 -2
- package/dist/verify/index.d.ts.map +0 -1
- package/dist/verify/index.js +0 -2
- package/dist/verify/index.js.map +0 -1
- package/dist/verify/verifyAgent.d.ts +0 -42
- package/dist/verify/verifyAgent.d.ts.map +0 -1
- package/dist/verify/verifyAgent.js +0 -216
- package/dist/verify/verifyAgent.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MutualStakeEscrow.d.ts","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AAwFpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAClB,YAAY,EAAE,YAAY,CAAC;QAC3B,YAAY,EAAE,YAAY,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB;IAOD;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyDhE;;;;OAIG;IACG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B3E;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4BtD;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBnE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBtD;;;;OAIG;IACG,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBxE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBtD;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgB9D;;;OAGG;IACG,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB/D;;;OAGG;IACG,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAU5D"}
|
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
import { resolveVerifierAddress, encodeOptimisticVerifierData } from './verifiers.js';
|
|
2
|
+
// ─── ABIs ────────────────────────────────────────────────────────────────────
|
|
3
|
+
const StakeVaultFactoryAbi = [
|
|
4
|
+
{
|
|
5
|
+
name: 'createEscrow',
|
|
6
|
+
type: 'function',
|
|
7
|
+
stateMutability: 'nonpayable',
|
|
8
|
+
inputs: [
|
|
9
|
+
{ name: '_buyer', type: 'address' },
|
|
10
|
+
{ name: '_seller', type: 'address' },
|
|
11
|
+
{ name: '_token', type: 'address' },
|
|
12
|
+
{ name: '_paymentAmount', type: 'uint256' },
|
|
13
|
+
{ name: '_buyerStake', type: 'uint256' },
|
|
14
|
+
{ name: '_sellerStake', type: 'uint256' },
|
|
15
|
+
{ name: '_verifier', type: 'address' },
|
|
16
|
+
{ name: '_verifierData', type: 'bytes' },
|
|
17
|
+
{ name: '_deadline', type: 'uint256' },
|
|
18
|
+
{ name: '_challengeWindow', type: 'uint256' },
|
|
19
|
+
],
|
|
20
|
+
outputs: [{ name: 'vault', type: 'address' }],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'VaultCreated',
|
|
24
|
+
type: 'event',
|
|
25
|
+
inputs: [
|
|
26
|
+
{ name: 'vault', type: 'address', indexed: true },
|
|
27
|
+
{ name: 'buyer', type: 'address', indexed: true },
|
|
28
|
+
{ name: 'seller', type: 'address', indexed: true },
|
|
29
|
+
{ name: 'token', type: 'address', indexed: false },
|
|
30
|
+
{ name: 'paymentAmount', type: 'uint256', indexed: false },
|
|
31
|
+
{ name: 'buyerStake', type: 'uint256', indexed: false },
|
|
32
|
+
{ name: 'sellerStake', type: 'uint256', indexed: false },
|
|
33
|
+
{ name: 'verifier', type: 'address', indexed: false },
|
|
34
|
+
{ name: 'deadline', type: 'uint256', indexed: false },
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
const StakeVaultAbi = [
|
|
39
|
+
{ name: 'fund', type: 'function', stateMutability: 'nonpayable', inputs: [], outputs: [] },
|
|
40
|
+
{ name: 'accept', type: 'function', stateMutability: 'nonpayable', inputs: [], outputs: [] },
|
|
41
|
+
{ name: 'fulfill', type: 'function', stateMutability: 'nonpayable', inputs: [{ name: 'proof', type: 'bytes' }], outputs: [] },
|
|
42
|
+
{ name: 'verify', type: 'function', stateMutability: 'nonpayable', inputs: [], outputs: [] },
|
|
43
|
+
{ name: 'challenge', type: 'function', stateMutability: 'nonpayable', inputs: [{ name: 'evidence', type: 'bytes' }], outputs: [] },
|
|
44
|
+
{ name: 'resolve', type: 'function', stateMutability: 'nonpayable', inputs: [{ name: 'sellerWins', type: 'bool' }], outputs: [] },
|
|
45
|
+
{ name: 'cancel', type: 'function', stateMutability: 'nonpayable', inputs: [], outputs: [] },
|
|
46
|
+
{ name: 'reclaimExpired', type: 'function', stateMutability: 'nonpayable', inputs: [], outputs: [] },
|
|
47
|
+
{
|
|
48
|
+
name: 'getEscrowDetails',
|
|
49
|
+
type: 'function',
|
|
50
|
+
stateMutability: 'view',
|
|
51
|
+
inputs: [],
|
|
52
|
+
outputs: [
|
|
53
|
+
{ name: '_buyer', type: 'address' },
|
|
54
|
+
{ name: '_seller', type: 'address' },
|
|
55
|
+
{ name: '_token', type: 'address' },
|
|
56
|
+
{ name: '_paymentAmount', type: 'uint256' },
|
|
57
|
+
{ name: '_buyerStake', type: 'uint256' },
|
|
58
|
+
{ name: '_sellerStake', type: 'uint256' },
|
|
59
|
+
{ name: '_verifier', type: 'address' },
|
|
60
|
+
{ name: '_deadline', type: 'uint256' },
|
|
61
|
+
{ name: '_challengeWindow', type: 'uint256' },
|
|
62
|
+
{ name: '_status', type: 'uint8' },
|
|
63
|
+
{ name: '_fulfilledAt', type: 'uint256' },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
{ name: 'status', type: 'function', stateMutability: 'view', inputs: [], outputs: [{ name: '', type: 'uint8' }] },
|
|
67
|
+
];
|
|
68
|
+
const ERC20ApproveAbi = [
|
|
69
|
+
{
|
|
70
|
+
name: 'approve',
|
|
71
|
+
type: 'function',
|
|
72
|
+
stateMutability: 'nonpayable',
|
|
73
|
+
inputs: [
|
|
74
|
+
{ name: 'spender', type: 'address' },
|
|
75
|
+
{ name: 'amount', type: 'uint256' },
|
|
76
|
+
],
|
|
77
|
+
outputs: [{ name: '', type: 'bool' }],
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
/** Base USDC address */
|
|
81
|
+
const BASE_USDC = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
82
|
+
/**
|
|
83
|
+
* MutualStakeEscrow — SDK class for creating and managing mutual-stake escrow vaults
|
|
84
|
+
*
|
|
85
|
+
* Wraps the StakeVault and StakeVaultFactory contracts with a clean TypeScript API.
|
|
86
|
+
* Both buyer and seller deposit collateral, ensuring aligned incentives.
|
|
87
|
+
*/
|
|
88
|
+
export class MutualStakeEscrow {
|
|
89
|
+
constructor(params) {
|
|
90
|
+
this.publicClient = params.publicClient;
|
|
91
|
+
this.walletClient = params.walletClient;
|
|
92
|
+
this.factoryAddress = params.factoryAddress;
|
|
93
|
+
this.chainId = params.chainId;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a new escrow vault via the factory
|
|
97
|
+
* @param params - Escrow creation parameters
|
|
98
|
+
* @returns The deployed vault address and transaction hash
|
|
99
|
+
*/
|
|
100
|
+
async create(params) {
|
|
101
|
+
const account = this.walletClient.account;
|
|
102
|
+
if (!account)
|
|
103
|
+
throw new Error('Wallet client must have an account');
|
|
104
|
+
const token = params.token ?? BASE_USDC;
|
|
105
|
+
const verifierAddress = resolveVerifierAddress(params.verifier, this.chainId);
|
|
106
|
+
const verifierData = params.verifierData ?? encodeOptimisticVerifierData();
|
|
107
|
+
const txHash = await this.walletClient.writeContract({
|
|
108
|
+
address: this.factoryAddress,
|
|
109
|
+
abi: StakeVaultFactoryAbi,
|
|
110
|
+
functionName: 'createEscrow',
|
|
111
|
+
args: [
|
|
112
|
+
account.address,
|
|
113
|
+
params.seller,
|
|
114
|
+
token,
|
|
115
|
+
params.paymentAmount,
|
|
116
|
+
params.buyerStake,
|
|
117
|
+
params.sellerStake,
|
|
118
|
+
verifierAddress,
|
|
119
|
+
verifierData,
|
|
120
|
+
BigInt(params.deadline),
|
|
121
|
+
BigInt(params.challengeWindow),
|
|
122
|
+
],
|
|
123
|
+
account,
|
|
124
|
+
chain: this.walletClient.chain,
|
|
125
|
+
});
|
|
126
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
127
|
+
// Extract vault address from VaultCreated event
|
|
128
|
+
const vaultCreatedLog = receipt.logs.find((log) => log.topics[0] === '0x' // Match VaultCreated event signature
|
|
129
|
+
);
|
|
130
|
+
// Fallback: read vault address from return data via simulation
|
|
131
|
+
const vaultAddress = await this.publicClient.readContract({
|
|
132
|
+
address: this.factoryAddress,
|
|
133
|
+
abi: StakeVaultFactoryAbi,
|
|
134
|
+
functionName: 'createEscrow',
|
|
135
|
+
args: [
|
|
136
|
+
account.address,
|
|
137
|
+
params.seller,
|
|
138
|
+
token,
|
|
139
|
+
params.paymentAmount,
|
|
140
|
+
params.buyerStake,
|
|
141
|
+
params.sellerStake,
|
|
142
|
+
verifierAddress,
|
|
143
|
+
verifierData,
|
|
144
|
+
BigInt(params.deadline),
|
|
145
|
+
BigInt(params.challengeWindow),
|
|
146
|
+
],
|
|
147
|
+
});
|
|
148
|
+
return { address: vaultAddress, txHash };
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Fund an escrow as buyer (deposits payment + buyerStake)
|
|
152
|
+
* @param vaultAddress - Address of the StakeVault
|
|
153
|
+
* @param approveAmount - Total amount to approve (payment + buyerStake)
|
|
154
|
+
*/
|
|
155
|
+
async fund(vaultAddress, approveAmount) {
|
|
156
|
+
const account = this.walletClient.account;
|
|
157
|
+
if (!account)
|
|
158
|
+
throw new Error('Wallet client must have an account');
|
|
159
|
+
const details = await this.getDetails(vaultAddress);
|
|
160
|
+
// Approve token transfer
|
|
161
|
+
await this.walletClient.writeContract({
|
|
162
|
+
address: details.token,
|
|
163
|
+
abi: ERC20ApproveAbi,
|
|
164
|
+
functionName: 'approve',
|
|
165
|
+
args: [vaultAddress, approveAmount],
|
|
166
|
+
account,
|
|
167
|
+
chain: this.walletClient.chain,
|
|
168
|
+
});
|
|
169
|
+
const txHash = await this.walletClient.writeContract({
|
|
170
|
+
address: vaultAddress,
|
|
171
|
+
abi: StakeVaultAbi,
|
|
172
|
+
functionName: 'fund',
|
|
173
|
+
args: [],
|
|
174
|
+
account,
|
|
175
|
+
chain: this.walletClient.chain,
|
|
176
|
+
});
|
|
177
|
+
return { txHash };
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Accept an escrow as seller (deposits sellerStake)
|
|
181
|
+
* @param vaultAddress - Address of the StakeVault
|
|
182
|
+
*/
|
|
183
|
+
async accept(vaultAddress) {
|
|
184
|
+
const account = this.walletClient.account;
|
|
185
|
+
if (!account)
|
|
186
|
+
throw new Error('Wallet client must have an account');
|
|
187
|
+
const details = await this.getDetails(vaultAddress);
|
|
188
|
+
// Approve seller stake transfer
|
|
189
|
+
await this.walletClient.writeContract({
|
|
190
|
+
address: details.token,
|
|
191
|
+
abi: ERC20ApproveAbi,
|
|
192
|
+
functionName: 'approve',
|
|
193
|
+
args: [vaultAddress, details.sellerStake],
|
|
194
|
+
account,
|
|
195
|
+
chain: this.walletClient.chain,
|
|
196
|
+
});
|
|
197
|
+
const txHash = await this.walletClient.writeContract({
|
|
198
|
+
address: vaultAddress,
|
|
199
|
+
abi: StakeVaultAbi,
|
|
200
|
+
functionName: 'accept',
|
|
201
|
+
args: [],
|
|
202
|
+
account,
|
|
203
|
+
chain: this.walletClient.chain,
|
|
204
|
+
});
|
|
205
|
+
return { txHash };
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Submit fulfillment proof as seller
|
|
209
|
+
* @param vaultAddress - Address of the StakeVault
|
|
210
|
+
* @param proof - Completion proof bytes
|
|
211
|
+
*/
|
|
212
|
+
async fulfill(vaultAddress, proof) {
|
|
213
|
+
const account = this.walletClient.account;
|
|
214
|
+
if (!account)
|
|
215
|
+
throw new Error('Wallet client must have an account');
|
|
216
|
+
const txHash = await this.walletClient.writeContract({
|
|
217
|
+
address: vaultAddress,
|
|
218
|
+
abi: StakeVaultAbi,
|
|
219
|
+
functionName: 'fulfill',
|
|
220
|
+
args: [proof],
|
|
221
|
+
account,
|
|
222
|
+
chain: this.walletClient.chain,
|
|
223
|
+
});
|
|
224
|
+
return { txHash };
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Verify completion after challenge window (anyone can call)
|
|
228
|
+
* @param vaultAddress - Address of the StakeVault
|
|
229
|
+
*/
|
|
230
|
+
async verify(vaultAddress) {
|
|
231
|
+
const account = this.walletClient.account;
|
|
232
|
+
if (!account)
|
|
233
|
+
throw new Error('Wallet client must have an account');
|
|
234
|
+
const txHash = await this.walletClient.writeContract({
|
|
235
|
+
address: vaultAddress,
|
|
236
|
+
abi: StakeVaultAbi,
|
|
237
|
+
functionName: 'verify',
|
|
238
|
+
args: [],
|
|
239
|
+
account,
|
|
240
|
+
chain: this.walletClient.chain,
|
|
241
|
+
});
|
|
242
|
+
return { txHash };
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Challenge a fulfillment as buyer
|
|
246
|
+
* @param vaultAddress - Address of the StakeVault
|
|
247
|
+
* @param evidence - Challenge evidence bytes
|
|
248
|
+
*/
|
|
249
|
+
async challenge(vaultAddress, evidence) {
|
|
250
|
+
const account = this.walletClient.account;
|
|
251
|
+
if (!account)
|
|
252
|
+
throw new Error('Wallet client must have an account');
|
|
253
|
+
const txHash = await this.walletClient.writeContract({
|
|
254
|
+
address: vaultAddress,
|
|
255
|
+
abi: StakeVaultAbi,
|
|
256
|
+
functionName: 'challenge',
|
|
257
|
+
args: [evidence],
|
|
258
|
+
account,
|
|
259
|
+
chain: this.walletClient.chain,
|
|
260
|
+
});
|
|
261
|
+
return { txHash };
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Cancel escrow before seller accepts (buyer only)
|
|
265
|
+
* @param vaultAddress - Address of the StakeVault
|
|
266
|
+
*/
|
|
267
|
+
async cancel(vaultAddress) {
|
|
268
|
+
const account = this.walletClient.account;
|
|
269
|
+
if (!account)
|
|
270
|
+
throw new Error('Wallet client must have an account');
|
|
271
|
+
const txHash = await this.walletClient.writeContract({
|
|
272
|
+
address: vaultAddress,
|
|
273
|
+
abi: StakeVaultAbi,
|
|
274
|
+
functionName: 'cancel',
|
|
275
|
+
args: [],
|
|
276
|
+
account,
|
|
277
|
+
chain: this.walletClient.chain,
|
|
278
|
+
});
|
|
279
|
+
return { txHash };
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Reclaim funds after deadline expiry
|
|
283
|
+
* @param vaultAddress - Address of the StakeVault
|
|
284
|
+
*/
|
|
285
|
+
async reclaimExpired(vaultAddress) {
|
|
286
|
+
const account = this.walletClient.account;
|
|
287
|
+
if (!account)
|
|
288
|
+
throw new Error('Wallet client must have an account');
|
|
289
|
+
const txHash = await this.walletClient.writeContract({
|
|
290
|
+
address: vaultAddress,
|
|
291
|
+
abi: StakeVaultAbi,
|
|
292
|
+
functionName: 'reclaimExpired',
|
|
293
|
+
args: [],
|
|
294
|
+
account,
|
|
295
|
+
chain: this.walletClient.chain,
|
|
296
|
+
});
|
|
297
|
+
return { txHash };
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Get full escrow details from on-chain
|
|
301
|
+
* @param vaultAddress - Address of the StakeVault
|
|
302
|
+
*/
|
|
303
|
+
async getDetails(vaultAddress) {
|
|
304
|
+
const result = await this.publicClient.readContract({
|
|
305
|
+
address: vaultAddress,
|
|
306
|
+
abi: StakeVaultAbi,
|
|
307
|
+
functionName: 'getEscrowDetails',
|
|
308
|
+
args: [],
|
|
309
|
+
});
|
|
310
|
+
const [buyer, seller, token, paymentAmount, buyerStake, sellerStake, verifier, deadline, challengeWindow, statusNum, fulfilledAt] = result;
|
|
311
|
+
return {
|
|
312
|
+
buyer,
|
|
313
|
+
seller,
|
|
314
|
+
token,
|
|
315
|
+
paymentAmount,
|
|
316
|
+
buyerStake,
|
|
317
|
+
sellerStake,
|
|
318
|
+
verifier,
|
|
319
|
+
deadline,
|
|
320
|
+
challengeWindow,
|
|
321
|
+
status: statusNum,
|
|
322
|
+
fulfilledAt,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Get the current status of an escrow
|
|
327
|
+
* @param vaultAddress - Address of the StakeVault
|
|
328
|
+
*/
|
|
329
|
+
async getStatus(vaultAddress) {
|
|
330
|
+
const result = await this.publicClient.readContract({
|
|
331
|
+
address: vaultAddress,
|
|
332
|
+
abi: StakeVaultAbi,
|
|
333
|
+
functionName: 'status',
|
|
334
|
+
args: [],
|
|
335
|
+
});
|
|
336
|
+
return result;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=MutualStakeEscrow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MutualStakeEscrow.js","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Address, Hash, Hex } from 'viem';
|
|
2
|
+
/** Mirrors the on-chain TaskStatus enum */
|
|
3
|
+
export declare enum TaskStatus {
|
|
4
|
+
Created = 0,
|
|
5
|
+
Funded = 1,
|
|
6
|
+
Fulfilled = 2,
|
|
7
|
+
Challenged = 3,
|
|
8
|
+
Resolved = 4,
|
|
9
|
+
Cancelled = 5
|
|
10
|
+
}
|
|
11
|
+
/** Supported built-in verifier types */
|
|
12
|
+
export type VerifierType = 'optimistic' | 'hash';
|
|
13
|
+
/** Parameters for creating a new mutual-stake escrow */
|
|
14
|
+
export interface CreateEscrowParams {
|
|
15
|
+
/** Seller/service-provider address */
|
|
16
|
+
seller: Address;
|
|
17
|
+
/** Payment amount in token's smallest unit (e.g., 6 decimals for USDC) */
|
|
18
|
+
paymentAmount: bigint;
|
|
19
|
+
/** Buyer's anti-grief collateral */
|
|
20
|
+
buyerStake: bigint;
|
|
21
|
+
/** Seller's anti-fraud collateral */
|
|
22
|
+
sellerStake: bigint;
|
|
23
|
+
/** Verifier type or custom verifier contract address */
|
|
24
|
+
verifier: VerifierType | Address;
|
|
25
|
+
/** Verifier-specific configuration data (auto-generated for built-in verifiers) */
|
|
26
|
+
verifierData?: Hex;
|
|
27
|
+
/** Challenge window in seconds after fulfillment */
|
|
28
|
+
challengeWindow: number;
|
|
29
|
+
/** Unix timestamp deadline for the task */
|
|
30
|
+
deadline: number;
|
|
31
|
+
/** ERC-20 token address (defaults to USDC on Base) */
|
|
32
|
+
token?: Address;
|
|
33
|
+
}
|
|
34
|
+
/** Result from creating an escrow */
|
|
35
|
+
export interface EscrowCreated {
|
|
36
|
+
/** Address of the deployed StakeVault contract */
|
|
37
|
+
address: Address;
|
|
38
|
+
/** Transaction hash of the factory call */
|
|
39
|
+
txHash: Hash;
|
|
40
|
+
}
|
|
41
|
+
/** Full escrow details from on-chain */
|
|
42
|
+
export interface EscrowDetails {
|
|
43
|
+
buyer: Address;
|
|
44
|
+
seller: Address;
|
|
45
|
+
token: Address;
|
|
46
|
+
paymentAmount: bigint;
|
|
47
|
+
buyerStake: bigint;
|
|
48
|
+
sellerStake: bigint;
|
|
49
|
+
verifier: Address;
|
|
50
|
+
deadline: bigint;
|
|
51
|
+
challengeWindow: bigint;
|
|
52
|
+
status: TaskStatus;
|
|
53
|
+
fulfilledAt: bigint;
|
|
54
|
+
}
|
|
55
|
+
/** Transaction result */
|
|
56
|
+
export interface TxResult {
|
|
57
|
+
txHash: Hash;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/escrow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE/C,2CAA2C;AAC3C,oBAAY,UAAU;IACpB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,SAAS,IAAI;IACb,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,SAAS,IAAI;CACd;AAED,wCAAwC;AACxC,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,MAAM,CAAC;AAEjD,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC;IACjC,mFAAmF;IACnF,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,IAAI,CAAC;CACd;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,yBAAyB;AACzB,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,IAAI,CAAC;CACd"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Mirrors the on-chain TaskStatus enum */
|
|
2
|
+
export var TaskStatus;
|
|
3
|
+
(function (TaskStatus) {
|
|
4
|
+
TaskStatus[TaskStatus["Created"] = 0] = "Created";
|
|
5
|
+
TaskStatus[TaskStatus["Funded"] = 1] = "Funded";
|
|
6
|
+
TaskStatus[TaskStatus["Fulfilled"] = 2] = "Fulfilled";
|
|
7
|
+
TaskStatus[TaskStatus["Challenged"] = 3] = "Challenged";
|
|
8
|
+
TaskStatus[TaskStatus["Resolved"] = 4] = "Resolved";
|
|
9
|
+
TaskStatus[TaskStatus["Cancelled"] = 5] = "Cancelled";
|
|
10
|
+
})(TaskStatus || (TaskStatus = {}));
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/escrow/types.ts"],"names":[],"mappings":"AAEA,2CAA2C;AAC3C,MAAM,CAAN,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,iDAAW,CAAA;IACX,+CAAU,CAAA;IACV,qDAAa,CAAA;IACb,uDAAc,CAAA;IACd,mDAAY,CAAA;IACZ,qDAAa,CAAA;AACf,CAAC,EAPW,UAAU,KAAV,UAAU,QAOrB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type Address, type Hex } from 'viem';
|
|
2
|
+
import type { VerifierType } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Known verifier contract addresses on Base mainnet.
|
|
5
|
+
* These are deployed once and shared by all StakeVault instances.
|
|
6
|
+
*/
|
|
7
|
+
export declare const VERIFIER_ADDRESSES: Record<string, Record<VerifierType, Address>>;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a verifier type to its deployed contract address for a given chain
|
|
10
|
+
* @param verifier - Built-in verifier type or custom contract address
|
|
11
|
+
* @param chainId - Chain ID to look up
|
|
12
|
+
* @returns The verifier contract address
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveVerifierAddress(verifier: VerifierType | Address, chainId: number): Address;
|
|
15
|
+
/**
|
|
16
|
+
* Encode verifier configuration data for the HashVerifier
|
|
17
|
+
* @param expectedHash - SHA256 hash of the expected output
|
|
18
|
+
* @returns ABI-encoded bytes for the verifierData field
|
|
19
|
+
*/
|
|
20
|
+
export declare function encodeHashVerifierData(expectedHash: Hex): Hex;
|
|
21
|
+
/**
|
|
22
|
+
* Encode verifier configuration data for the OptimisticVerifier
|
|
23
|
+
* @returns Empty bytes (optimistic verifier has no config)
|
|
24
|
+
*/
|
|
25
|
+
export declare function encodeOptimisticVerifierData(): Hex;
|
|
26
|
+
//# sourceMappingURL=verifiers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifiers.d.ts","sourceRoot":"","sources":["../../src/escrow/verifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,GAAG,EAA2C,MAAM,MAAM,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAW5E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAgBjG;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,GAAG,GAAG,GAAG,CAE7D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,GAAG,CAElD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { encodeAbiParameters, parseAbiParameters } from 'viem';
|
|
2
|
+
/**
|
|
3
|
+
* Known verifier contract addresses on Base mainnet.
|
|
4
|
+
* These are deployed once and shared by all StakeVault instances.
|
|
5
|
+
*/
|
|
6
|
+
export const VERIFIER_ADDRESSES = {
|
|
7
|
+
// Base mainnet (chain ID 8453)
|
|
8
|
+
'8453': {
|
|
9
|
+
optimistic: '0x0000000000000000000000000000000000000000', // Pre-deployment: set after deploying StakeVault verifier contracts to Base
|
|
10
|
+
hash: '0x0000000000000000000000000000000000000000', // Pre-deployment: set after deploying StakeVault verifier contracts to Base
|
|
11
|
+
},
|
|
12
|
+
// Base Sepolia testnet (chain ID 84532)
|
|
13
|
+
'84532': {
|
|
14
|
+
optimistic: '0x0000000000000000000000000000000000000000', // Pre-deployment: set after deploying StakeVault verifier contracts to Base
|
|
15
|
+
hash: '0x0000000000000000000000000000000000000000', // Pre-deployment: set after deploying StakeVault verifier contracts to Base
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Resolve a verifier type to its deployed contract address for a given chain
|
|
20
|
+
* @param verifier - Built-in verifier type or custom contract address
|
|
21
|
+
* @param chainId - Chain ID to look up
|
|
22
|
+
* @returns The verifier contract address
|
|
23
|
+
*/
|
|
24
|
+
export function resolveVerifierAddress(verifier, chainId) {
|
|
25
|
+
if (verifier.startsWith('0x') && verifier.length === 42) {
|
|
26
|
+
return verifier;
|
|
27
|
+
}
|
|
28
|
+
const chainAddresses = VERIFIER_ADDRESSES[chainId.toString()];
|
|
29
|
+
if (!chainAddresses) {
|
|
30
|
+
throw new Error(`No verifier addresses configured for chain ${chainId}`);
|
|
31
|
+
}
|
|
32
|
+
const address = chainAddresses[verifier];
|
|
33
|
+
if (!address || address === '0x0000000000000000000000000000000000000000') {
|
|
34
|
+
throw new Error(`Verifier "${verifier}" not deployed on chain ${chainId}. Deploy it first or pass a custom address.`);
|
|
35
|
+
}
|
|
36
|
+
return address;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Encode verifier configuration data for the HashVerifier
|
|
40
|
+
* @param expectedHash - SHA256 hash of the expected output
|
|
41
|
+
* @returns ABI-encoded bytes for the verifierData field
|
|
42
|
+
*/
|
|
43
|
+
export function encodeHashVerifierData(expectedHash) {
|
|
44
|
+
return encodeAbiParameters(parseAbiParameters('bytes32'), [expectedHash]);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Encode verifier configuration data for the OptimisticVerifier
|
|
48
|
+
* @returns Empty bytes (optimistic verifier has no config)
|
|
49
|
+
*/
|
|
50
|
+
export function encodeOptimisticVerifierData() {
|
|
51
|
+
return '0x';
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=verifiers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifiers.js","sourceRoot":"","sources":["../../src/escrow/verifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAGvF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAkD;IAC/E,+BAA+B;IAC/B,MAAM,EAAE;QACN,UAAU,EAAE,4CAA4C,EAAE,0BAA0B;QACpF,IAAI,EAAE,4CAA4C,EAAE,0BAA0B;KAC/E;IACD,wCAAwC;IACxC,OAAO,EAAE;QACP,UAAU,EAAE,4CAA4C,EAAE,0BAA0B;QACpF,IAAI,EAAE,4CAA4C,EAAE,0BAA0B;KAC/E;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgC,EAAE,OAAe;IACtF,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxD,OAAO,QAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,QAAwB,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,4CAA4C,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,2BAA2B,OAAO,6CAA6C,CAAC,CAAC;IACxH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAiB;IACtD,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
|
|
3
|
+
*
|
|
4
|
+
* This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
|
|
5
|
+
* fiat onramp capability. The core SDK is fully anonymous and non-custodial.
|
|
6
|
+
*/
|
|
7
|
+
export { FiatOnramp } from './onramp.js';
|
|
8
|
+
export type { FiatOnrampConfig, FiatQuote, OnrampParams, FiatProvider } from './types.js';
|
|
9
|
+
export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fiat Onramp module — optional fiat-to-crypto for agentwallet-sdk.
|
|
3
|
+
*
|
|
4
|
+
* This module is OPT-IN ONLY. Import and use FiatOnramp only if you want
|
|
5
|
+
* fiat onramp capability. The core SDK is fully anonymous and non-custodial.
|
|
6
|
+
*/
|
|
7
|
+
export { FiatOnramp } from './onramp.js';
|
|
8
|
+
export { MoonPayProvider, StripeProvider, TransakProvider } from './providers/index.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fiat/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|