tenzro-wallet 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/LICENSE +201 -0
- package/README.md +128 -0
- package/dist/balance/aggregator.d.ts +16 -0
- package/dist/balance/aggregator.d.ts.map +1 -0
- package/dist/balance/aggregator.js +73 -0
- package/dist/balance/aggregator.js.map +1 -0
- package/dist/balance/index.d.ts +3 -0
- package/dist/balance/index.d.ts.map +1 -0
- package/dist/balance/index.js +2 -0
- package/dist/balance/index.js.map +1 -0
- package/dist/consent/index.d.ts +3 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +2 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/consent/policy.d.ts +27 -0
- package/dist/consent/policy.d.ts.map +1 -0
- package/dist/consent/policy.js +121 -0
- package/dist/consent/policy.js.map +1 -0
- package/dist/crypto/eip1559.d.ts +53 -0
- package/dist/crypto/eip1559.d.ts.map +1 -0
- package/dist/crypto/eip1559.js +79 -0
- package/dist/crypto/eip1559.js.map +1 -0
- package/dist/crypto/keccak256.d.ts +20 -0
- package/dist/crypto/keccak256.d.ts.map +1 -0
- package/dist/crypto/keccak256.js +167 -0
- package/dist/crypto/keccak256.js.map +1 -0
- package/dist/crypto/rlp.d.ts +30 -0
- package/dist/crypto/rlp.d.ts.map +1 -0
- package/dist/crypto/rlp.js +165 -0
- package/dist/crypto/rlp.js.map +1 -0
- package/dist/crypto/sha256.d.ts +14 -0
- package/dist/crypto/sha256.d.ts.map +1 -0
- package/dist/crypto/sha256.js +33 -0
- package/dist/crypto/sha256.js.map +1 -0
- package/dist/crypto/solana.d.ts +86 -0
- package/dist/crypto/solana.d.ts.map +1 -0
- package/dist/crypto/solana.js +218 -0
- package/dist/crypto/solana.js.map +1 -0
- package/dist/custody/frost/backend.d.ts +59 -0
- package/dist/custody/frost/backend.d.ts.map +1 -0
- package/dist/custody/frost/backend.js +83 -0
- package/dist/custody/frost/backend.js.map +1 -0
- package/dist/custody/frost/coordinator.d.ts +148 -0
- package/dist/custody/frost/coordinator.d.ts.map +1 -0
- package/dist/custody/frost/coordinator.js +58 -0
- package/dist/custody/frost/coordinator.js.map +1 -0
- package/dist/custody/frost/ed25519-driver.d.ts +30 -0
- package/dist/custody/frost/ed25519-driver.d.ts.map +1 -0
- package/dist/custody/frost/ed25519-driver.js +76 -0
- package/dist/custody/frost/ed25519-driver.js.map +1 -0
- package/dist/custody/frost/http-adapter.d.ts +77 -0
- package/dist/custody/frost/http-adapter.d.ts.map +1 -0
- package/dist/custody/frost/http-adapter.js +168 -0
- package/dist/custody/frost/http-adapter.js.map +1 -0
- package/dist/custody/frost/hybrid-driver.d.ts +37 -0
- package/dist/custody/frost/hybrid-driver.d.ts.map +1 -0
- package/dist/custody/frost/hybrid-driver.js +60 -0
- package/dist/custody/frost/hybrid-driver.js.map +1 -0
- package/dist/custody/frost/index.d.ts +12 -0
- package/dist/custody/frost/index.d.ts.map +1 -0
- package/dist/custody/frost/index.js +6 -0
- package/dist/custody/frost/index.js.map +1 -0
- package/dist/custody/frost/secp256k1-driver.d.ts +26 -0
- package/dist/custody/frost/secp256k1-driver.d.ts.map +1 -0
- package/dist/custody/frost/secp256k1-driver.js +78 -0
- package/dist/custody/frost/secp256k1-driver.js.map +1 -0
- package/dist/custody/index.d.ts +9 -0
- package/dist/custody/index.d.ts.map +1 -0
- package/dist/custody/index.js +11 -0
- package/dist/custody/index.js.map +1 -0
- package/dist/custody/internal-mpc.d.ts +14 -0
- package/dist/custody/internal-mpc.d.ts.map +1 -0
- package/dist/custody/internal-mpc.js +40 -0
- package/dist/custody/internal-mpc.js.map +1 -0
- package/dist/custody/mldsa/coordinator.d.ts +63 -0
- package/dist/custody/mldsa/coordinator.d.ts.map +1 -0
- package/dist/custody/mldsa/coordinator.js +44 -0
- package/dist/custody/mldsa/coordinator.js.map +1 -0
- package/dist/custody/mldsa/driver.d.ts +23 -0
- package/dist/custody/mldsa/driver.d.ts.map +1 -0
- package/dist/custody/mldsa/driver.js +43 -0
- package/dist/custody/mldsa/driver.js.map +1 -0
- package/dist/custody/mldsa/http-adapter.d.ts +59 -0
- package/dist/custody/mldsa/http-adapter.d.ts.map +1 -0
- package/dist/custody/mldsa/http-adapter.js +103 -0
- package/dist/custody/mldsa/http-adapter.js.map +1 -0
- package/dist/custody/mldsa/index.d.ts +7 -0
- package/dist/custody/mldsa/index.d.ts.map +1 -0
- package/dist/custody/mldsa/index.js +4 -0
- package/dist/custody/mldsa/index.js.map +1 -0
- package/dist/custody/pairing/http-adapter.d.ts +40 -0
- package/dist/custody/pairing/http-adapter.d.ts.map +1 -0
- package/dist/custody/pairing/http-adapter.js +113 -0
- package/dist/custody/pairing/http-adapter.js.map +1 -0
- package/dist/custody/pairing/index.d.ts +10 -0
- package/dist/custody/pairing/index.d.ts.map +1 -0
- package/dist/custody/pairing/index.js +8 -0
- package/dist/custody/pairing/index.js.map +1 -0
- package/dist/custody/pairing/port.d.ts +121 -0
- package/dist/custody/pairing/port.d.ts.map +1 -0
- package/dist/custody/pairing/port.js +40 -0
- package/dist/custody/pairing/port.js.map +1 -0
- package/dist/custody/passkey-share/http-adapter.d.ts +77 -0
- package/dist/custody/passkey-share/http-adapter.d.ts.map +1 -0
- package/dist/custody/passkey-share/http-adapter.js +125 -0
- package/dist/custody/passkey-share/http-adapter.js.map +1 -0
- package/dist/custody/passkey-share/index.d.ts +7 -0
- package/dist/custody/passkey-share/index.d.ts.map +1 -0
- package/dist/custody/passkey-share/index.js +4 -0
- package/dist/custody/passkey-share/index.js.map +1 -0
- package/dist/custody/passkey-share/unwrapper.d.ts +174 -0
- package/dist/custody/passkey-share/unwrapper.d.ts.map +1 -0
- package/dist/custody/passkey-share/unwrapper.js +132 -0
- package/dist/custody/passkey-share/unwrapper.js.map +1 -0
- package/dist/custody/passkey-share/webauthn-adapter.d.ts +112 -0
- package/dist/custody/passkey-share/webauthn-adapter.d.ts.map +1 -0
- package/dist/custody/passkey-share/webauthn-adapter.js +150 -0
- package/dist/custody/passkey-share/webauthn-adapter.js.map +1 -0
- package/dist/custody/surface-key-id.d.ts +15 -0
- package/dist/custody/surface-key-id.d.ts.map +1 -0
- package/dist/custody/surface-key-id.js +25 -0
- package/dist/custody/surface-key-id.js.map +1 -0
- package/dist/dapp/eip6963.d.ts +64 -0
- package/dist/dapp/eip6963.d.ts.map +1 -0
- package/dist/dapp/eip6963.js +55 -0
- package/dist/dapp/eip6963.js.map +1 -0
- package/dist/dapp/index.d.ts +21 -0
- package/dist/dapp/index.d.ts.map +1 -0
- package/dist/dapp/index.js +24 -0
- package/dist/dapp/index.js.map +1 -0
- package/dist/identity/delegate-set.d.ts +57 -0
- package/dist/identity/delegate-set.d.ts.map +1 -0
- package/dist/identity/delegate-set.js +85 -0
- package/dist/identity/delegate-set.js.map +1 -0
- package/dist/identity/did.d.ts +17 -0
- package/dist/identity/did.d.ts.map +1 -0
- package/dist/identity/did.js +60 -0
- package/dist/identity/did.js.map +1 -0
- package/dist/identity/index.d.ts +14 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +8 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/provision.d.ts +13 -0
- package/dist/identity/provision.d.ts.map +1 -0
- package/dist/identity/provision.js +151 -0
- package/dist/identity/provision.js.map +1 -0
- package/dist/identity/provisioning-http-adapter.d.ts +81 -0
- package/dist/identity/provisioning-http-adapter.d.ts.map +1 -0
- package/dist/identity/provisioning-http-adapter.js +114 -0
- package/dist/identity/provisioning-http-adapter.js.map +1 -0
- package/dist/identity/recovery-http-adapter.d.ts +83 -0
- package/dist/identity/recovery-http-adapter.d.ts.map +1 -0
- package/dist/identity/recovery-http-adapter.js +139 -0
- package/dist/identity/recovery-http-adapter.js.map +1 -0
- package/dist/identity/wallet-new.d.ts +132 -0
- package/dist/identity/wallet-new.d.ts.map +1 -0
- package/dist/identity/wallet-new.js +94 -0
- package/dist/identity/wallet-new.js.map +1 -0
- package/dist/identity/wallet-recover.d.ts +116 -0
- package/dist/identity/wallet-recover.d.ts.map +1 -0
- package/dist/identity/wallet-recover.js +95 -0
- package/dist/identity/wallet-recover.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/kernel.d.ts +119 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +144 -0
- package/dist/kernel.js.map +1 -0
- package/dist/ports/adapters/tenzro-identity-adapter.d.ts +44 -0
- package/dist/ports/adapters/tenzro-identity-adapter.d.ts.map +1 -0
- package/dist/ports/adapters/tenzro-identity-adapter.js +60 -0
- package/dist/ports/adapters/tenzro-identity-adapter.js.map +1 -0
- package/dist/ports/adapters/tenzro-sdk-adapter.d.ts +86 -0
- package/dist/ports/adapters/tenzro-sdk-adapter.d.ts.map +1 -0
- package/dist/ports/adapters/tenzro-sdk-adapter.js +100 -0
- package/dist/ports/adapters/tenzro-sdk-adapter.js.map +1 -0
- package/dist/ports/agent/acp.d.ts +66 -0
- package/dist/ports/agent/acp.d.ts.map +1 -0
- package/dist/ports/agent/acp.js +27 -0
- package/dist/ports/agent/acp.js.map +1 -0
- package/dist/ports/agent/adapters/acp-adapter.d.ts +67 -0
- package/dist/ports/agent/adapters/acp-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/acp-adapter.js +70 -0
- package/dist/ports/agent/adapters/acp-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/agent-bond-adapter.d.ts +31 -0
- package/dist/ports/agent/adapters/agent-bond-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/agent-bond-adapter.js +82 -0
- package/dist/ports/agent/adapters/agent-bond-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/agent-payment-adapter.d.ts +66 -0
- package/dist/ports/agent/adapters/agent-payment-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/agent-payment-adapter.js +75 -0
- package/dist/ports/agent/adapters/agent-payment-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/ap2-adapter.d.ts +28 -0
- package/dist/ports/agent/adapters/ap2-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/ap2-adapter.js +97 -0
- package/dist/ports/agent/adapters/ap2-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/auth-approval-adapter.d.ts +26 -0
- package/dist/ports/agent/adapters/auth-approval-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/auth-approval-adapter.js +37 -0
- package/dist/ports/agent/adapters/auth-approval-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/erc7802-adapter.d.ts +30 -0
- package/dist/ports/agent/adapters/erc7802-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/erc7802-adapter.js +60 -0
- package/dist/ports/agent/adapters/erc7802-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/erc8004-adapter.d.ts +54 -0
- package/dist/ports/agent/adapters/erc8004-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/erc8004-adapter.js +53 -0
- package/dist/ports/agent/adapters/erc8004-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/escrow-adapter.d.ts +33 -0
- package/dist/ports/agent/adapters/escrow-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/escrow-adapter.js +109 -0
- package/dist/ports/agent/adapters/escrow-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts +31 -0
- package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/fee-estimator-adapter.js +103 -0
- package/dist/ports/agent/adapters/fee-estimator-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts +68 -0
- package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/htlc-escrow-adapter.js +131 -0
- package/dist/ports/agent/adapters/htlc-escrow-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/insurance-adapter.d.ts +32 -0
- package/dist/ports/agent/adapters/insurance-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/insurance-adapter.js +103 -0
- package/dist/ports/agent/adapters/insurance-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/lifecycle-adapter.d.ts +26 -0
- package/dist/ports/agent/adapters/lifecycle-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/lifecycle-adapter.js +136 -0
- package/dist/ports/agent/adapters/lifecycle-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/nanopayment-adapter.d.ts +62 -0
- package/dist/ports/agent/adapters/nanopayment-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/nanopayment-adapter.js +76 -0
- package/dist/ports/agent/adapters/nanopayment-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/payment-rails-adapter.d.ts +67 -0
- package/dist/ports/agent/adapters/payment-rails-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/payment-rails-adapter.js +108 -0
- package/dist/ports/agent/adapters/payment-rails-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/principal-chain-adapter.d.ts +23 -0
- package/dist/ports/agent/adapters/principal-chain-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/principal-chain-adapter.js +156 -0
- package/dist/ports/agent/adapters/principal-chain-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/session-key-adapter.d.ts +45 -0
- package/dist/ports/agent/adapters/session-key-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/session-key-adapter.js +80 -0
- package/dist/ports/agent/adapters/session-key-adapter.js.map +1 -0
- package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts +32 -0
- package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts.map +1 -0
- package/dist/ports/agent/adapters/tee-attestation-adapter.js +38 -0
- package/dist/ports/agent/adapters/tee-attestation-adapter.js.map +1 -0
- package/dist/ports/agent/agent-bond.d.ts +80 -0
- package/dist/ports/agent/agent-bond.d.ts.map +1 -0
- package/dist/ports/agent/agent-bond.js +23 -0
- package/dist/ports/agent/agent-bond.js.map +1 -0
- package/dist/ports/agent/agent-payment.d.ts +72 -0
- package/dist/ports/agent/agent-payment.d.ts.map +1 -0
- package/dist/ports/agent/agent-payment.js +17 -0
- package/dist/ports/agent/agent-payment.js.map +1 -0
- package/dist/ports/agent/ap2.d.ts +104 -0
- package/dist/ports/agent/ap2.d.ts.map +1 -0
- package/dist/ports/agent/ap2.js +22 -0
- package/dist/ports/agent/ap2.js.map +1 -0
- package/dist/ports/agent/auth-approval.d.ts +40 -0
- package/dist/ports/agent/auth-approval.d.ts.map +1 -0
- package/dist/ports/agent/auth-approval.js +23 -0
- package/dist/ports/agent/auth-approval.js.map +1 -0
- package/dist/ports/agent/erc7802.d.ts +94 -0
- package/dist/ports/agent/erc7802.d.ts.map +1 -0
- package/dist/ports/agent/erc7802.js +30 -0
- package/dist/ports/agent/erc7802.js.map +1 -0
- package/dist/ports/agent/erc8004.d.ts +57 -0
- package/dist/ports/agent/erc8004.d.ts.map +1 -0
- package/dist/ports/agent/erc8004.js +20 -0
- package/dist/ports/agent/erc8004.js.map +1 -0
- package/dist/ports/agent/escrow.d.ts +74 -0
- package/dist/ports/agent/escrow.d.ts.map +1 -0
- package/dist/ports/agent/escrow.js +18 -0
- package/dist/ports/agent/escrow.js.map +1 -0
- package/dist/ports/agent/fee-estimator.d.ts +71 -0
- package/dist/ports/agent/fee-estimator.d.ts.map +1 -0
- package/dist/ports/agent/fee-estimator.js +21 -0
- package/dist/ports/agent/fee-estimator.js.map +1 -0
- package/dist/ports/agent/htlc-escrow.d.ts +94 -0
- package/dist/ports/agent/htlc-escrow.d.ts.map +1 -0
- package/dist/ports/agent/htlc-escrow.js +25 -0
- package/dist/ports/agent/htlc-escrow.js.map +1 -0
- package/dist/ports/agent/index.d.ts +58 -0
- package/dist/ports/agent/index.d.ts.map +1 -0
- package/dist/ports/agent/index.js +24 -0
- package/dist/ports/agent/index.js.map +1 -0
- package/dist/ports/agent/insurance.d.ts +65 -0
- package/dist/ports/agent/insurance.d.ts.map +1 -0
- package/dist/ports/agent/insurance.js +18 -0
- package/dist/ports/agent/insurance.js.map +1 -0
- package/dist/ports/agent/lifecycle.d.ts +69 -0
- package/dist/ports/agent/lifecycle.d.ts.map +1 -0
- package/dist/ports/agent/lifecycle.js +17 -0
- package/dist/ports/agent/lifecycle.js.map +1 -0
- package/dist/ports/agent/nanopayment.d.ts +72 -0
- package/dist/ports/agent/nanopayment.d.ts.map +1 -0
- package/dist/ports/agent/nanopayment.js +16 -0
- package/dist/ports/agent/nanopayment.js.map +1 -0
- package/dist/ports/agent/payment-rails.d.ts +140 -0
- package/dist/ports/agent/payment-rails.d.ts.map +1 -0
- package/dist/ports/agent/payment-rails.js +25 -0
- package/dist/ports/agent/payment-rails.js.map +1 -0
- package/dist/ports/agent/principal-chain.d.ts +95 -0
- package/dist/ports/agent/principal-chain.d.ts.map +1 -0
- package/dist/ports/agent/principal-chain.js +16 -0
- package/dist/ports/agent/principal-chain.js.map +1 -0
- package/dist/ports/agent/session-key.d.ts +94 -0
- package/dist/ports/agent/session-key.d.ts.map +1 -0
- package/dist/ports/agent/session-key.js +31 -0
- package/dist/ports/agent/session-key.js.map +1 -0
- package/dist/ports/agent/tee-attestation.d.ts +51 -0
- package/dist/ports/agent/tee-attestation.d.ts.map +1 -0
- package/dist/ports/agent/tee-attestation.js +28 -0
- package/dist/ports/agent/tee-attestation.js.map +1 -0
- package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts +47 -0
- package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/bridge-adapter-base.js +144 -0
- package/dist/ports/bridge/adapters/bridge-adapter-base.js.map +1 -0
- package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts +30 -0
- package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/canton-bridge-adapter.js +31 -0
- package/dist/ports/bridge/adapters/canton-bridge-adapter.js.map +1 -0
- package/dist/ports/bridge/adapters/ccip-adapter.d.ts +30 -0
- package/dist/ports/bridge/adapters/ccip-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/ccip-adapter.js +31 -0
- package/dist/ports/bridge/adapters/ccip-adapter.js.map +1 -0
- package/dist/ports/bridge/adapters/debridge-adapter.d.ts +27 -0
- package/dist/ports/bridge/adapters/debridge-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/debridge-adapter.js +28 -0
- package/dist/ports/bridge/adapters/debridge-adapter.js.map +1 -0
- package/dist/ports/bridge/adapters/layerzero-adapter.d.ts +30 -0
- package/dist/ports/bridge/adapters/layerzero-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/layerzero-adapter.js +31 -0
- package/dist/ports/bridge/adapters/layerzero-adapter.js.map +1 -0
- package/dist/ports/bridge/adapters/lifi-adapter.d.ts +48 -0
- package/dist/ports/bridge/adapters/lifi-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/lifi-adapter.js +49 -0
- package/dist/ports/bridge/adapters/lifi-adapter.js.map +1 -0
- package/dist/ports/bridge/adapters/wormhole-adapter.d.ts +26 -0
- package/dist/ports/bridge/adapters/wormhole-adapter.d.ts.map +1 -0
- package/dist/ports/bridge/adapters/wormhole-adapter.js +27 -0
- package/dist/ports/bridge/adapters/wormhole-adapter.js.map +1 -0
- package/dist/ports/bridge/bridge.d.ts +123 -0
- package/dist/ports/bridge/bridge.d.ts.map +1 -0
- package/dist/ports/bridge/bridge.js +20 -0
- package/dist/ports/bridge/bridge.js.map +1 -0
- package/dist/ports/bridge/index.d.ts +13 -0
- package/dist/ports/bridge/index.d.ts.map +1 -0
- package/dist/ports/bridge/index.js +11 -0
- package/dist/ports/bridge/index.js.map +1 -0
- package/dist/ports/canton/adapters/ledger-api-adapter.d.ts +52 -0
- package/dist/ports/canton/adapters/ledger-api-adapter.d.ts.map +1 -0
- package/dist/ports/canton/adapters/ledger-api-adapter.js +232 -0
- package/dist/ports/canton/adapters/ledger-api-adapter.js.map +1 -0
- package/dist/ports/canton/canton-identity.d.ts +60 -0
- package/dist/ports/canton/canton-identity.d.ts.map +1 -0
- package/dist/ports/canton/canton-identity.js +28 -0
- package/dist/ports/canton/canton-identity.js.map +1 -0
- package/dist/ports/canton/canton-validator.d.ts +182 -0
- package/dist/ports/canton/canton-validator.d.ts.map +1 -0
- package/dist/ports/canton/canton-validator.js +39 -0
- package/dist/ports/canton/canton-validator.js.map +1 -0
- package/dist/ports/canton/fingerprint.d.ts +24 -0
- package/dist/ports/canton/fingerprint.d.ts.map +1 -0
- package/dist/ports/canton/fingerprint.js +31 -0
- package/dist/ports/canton/fingerprint.js.map +1 -0
- package/dist/ports/canton/hash.d.ts +37 -0
- package/dist/ports/canton/hash.d.ts.map +1 -0
- package/dist/ports/canton/hash.js +68 -0
- package/dist/ports/canton/hash.js.map +1 -0
- package/dist/ports/canton/http.d.ts +64 -0
- package/dist/ports/canton/http.d.ts.map +1 -0
- package/dist/ports/canton/http.js +177 -0
- package/dist/ports/canton/http.js.map +1 -0
- package/dist/ports/cross-vm.d.ts +79 -0
- package/dist/ports/cross-vm.d.ts.map +1 -0
- package/dist/ports/cross-vm.js +81 -0
- package/dist/ports/cross-vm.js.map +1 -0
- package/dist/ports/index.d.ts +18 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +11 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/tenzro-identity.d.ts +29 -0
- package/dist/ports/tenzro-identity.d.ts.map +1 -0
- package/dist/ports/tenzro-identity.js +19 -0
- package/dist/ports/tenzro-identity.js.map +1 -0
- package/dist/ports/tenzro-rpc.d.ts +79 -0
- package/dist/ports/tenzro-rpc.d.ts.map +1 -0
- package/dist/ports/tenzro-rpc.js +21 -0
- package/dist/ports/tenzro-rpc.js.map +1 -0
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +2 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/route.d.ts +17 -0
- package/dist/router/route.d.ts.map +1 -0
- package/dist/router/route.js +78 -0
- package/dist/router/route.js.map +1 -0
- package/dist/settlement/nanopayment-flow.d.ts +48 -0
- package/dist/settlement/nanopayment-flow.d.ts.map +1 -0
- package/dist/settlement/nanopayment-flow.js +111 -0
- package/dist/settlement/nanopayment-flow.js.map +1 -0
- package/dist/surfaces/canton-external.d.ts +43 -0
- package/dist/surfaces/canton-external.d.ts.map +1 -0
- package/dist/surfaces/canton-external.js +252 -0
- package/dist/surfaces/canton-external.js.map +1 -0
- package/dist/surfaces/canton-internal.d.ts +34 -0
- package/dist/surfaces/canton-internal.d.ts.map +1 -0
- package/dist/surfaces/canton-internal.js +163 -0
- package/dist/surfaces/canton-internal.js.map +1 -0
- package/dist/surfaces/canton-onboarding.d.ts +64 -0
- package/dist/surfaces/canton-onboarding.d.ts.map +1 -0
- package/dist/surfaces/canton-onboarding.js +113 -0
- package/dist/surfaces/canton-onboarding.js.map +1 -0
- package/dist/surfaces/evm-on-tenzro.d.ts +29 -0
- package/dist/surfaces/evm-on-tenzro.d.ts.map +1 -0
- package/dist/surfaces/evm-on-tenzro.js +226 -0
- package/dist/surfaces/evm-on-tenzro.js.map +1 -0
- package/dist/surfaces/index.d.ts +13 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +7 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/svm-on-tenzro.d.ts +24 -0
- package/dist/surfaces/svm-on-tenzro.d.ts.map +1 -0
- package/dist/surfaces/svm-on-tenzro.js +238 -0
- package/dist/surfaces/svm-on-tenzro.js.map +1 -0
- package/dist/surfaces/tenzro-native.d.ts +45 -0
- package/dist/surfaces/tenzro-native.d.ts.map +1 -0
- package/dist/surfaces/tenzro-native.js +299 -0
- package/dist/surfaces/tenzro-native.js.map +1 -0
- package/dist/surfaces/util.d.ts +18 -0
- package/dist/surfaces/util.d.ts.map +1 -0
- package/dist/surfaces/util.js +36 -0
- package/dist/surfaces/util.js.map +1 -0
- package/dist/types/asset.d.ts +43 -0
- package/dist/types/asset.d.ts.map +1 -0
- package/dist/types/asset.js +13 -0
- package/dist/types/asset.js.map +1 -0
- package/dist/types/consent.d.ts +46 -0
- package/dist/types/consent.d.ts.map +1 -0
- package/dist/types/consent.js +18 -0
- package/dist/types/consent.js.map +1 -0
- package/dist/types/identity.d.ts +115 -0
- package/dist/types/identity.d.ts.map +1 -0
- package/dist/types/identity.js +12 -0
- package/dist/types/identity.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/intent.d.ts +132 -0
- package/dist/types/intent.d.ts.map +1 -0
- package/dist/types/intent.js +8 -0
- package/dist/types/intent.js.map +1 -0
- package/dist/types/signing-driver.d.ts +48 -0
- package/dist/types/signing-driver.d.ts.map +1 -0
- package/dist/types/signing-driver.js +9 -0
- package/dist/types/signing-driver.js.map +1 -0
- package/dist/types/surface-module.d.ts +38 -0
- package/dist/types/surface-module.d.ts.map +1 -0
- package/dist/types/surface-module.js +19 -0
- package/dist/types/surface-module.js.map +1 -0
- package/dist/types/surface.d.ts +17 -0
- package/dist/types/surface.d.ts.map +1 -0
- package/dist/types/surface.js +28 -0
- package/dist/types/surface.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InsuranceSdkAdapter — wraps `InsuranceClient` so the kernel can file
|
|
3
|
+
* insurance claims and read pool state without owning the RPC params
|
|
4
|
+
* shape.
|
|
5
|
+
*
|
|
6
|
+
* Wire:
|
|
7
|
+
* fileClaim → InsuranceClient.fileInsuranceClaim(params)
|
|
8
|
+
* get → InsuranceClient.getInsuranceClaim(claimId)
|
|
9
|
+
* list → InsuranceClient.listInsuranceClaims()
|
|
10
|
+
* poolBalance → InsuranceClient.getInsurancePoolBalance()
|
|
11
|
+
*
|
|
12
|
+
* The SDK's `fileInsuranceClaim` takes an opaque `Record<string,
|
|
13
|
+
* unknown>` because the node-side params shape evolves with
|
|
14
|
+
* governance — we serialise our typed `FileInsuranceClaimRequest` to
|
|
15
|
+
* the snake_case keys the RPC expects.
|
|
16
|
+
*/
|
|
17
|
+
export class InsuranceSdkAdapter {
|
|
18
|
+
client;
|
|
19
|
+
constructor(client) {
|
|
20
|
+
this.client = client;
|
|
21
|
+
}
|
|
22
|
+
async fileClaim(req) {
|
|
23
|
+
const params = {
|
|
24
|
+
claimant_did: req.claimantDid,
|
|
25
|
+
claimant_address: req.claimantAddress,
|
|
26
|
+
against_agent_did: req.againstAgentDid,
|
|
27
|
+
amount_requested: req.amountRequested.toString(),
|
|
28
|
+
receipt_refs: [...req.receiptRefs],
|
|
29
|
+
};
|
|
30
|
+
if (req.narrative !== undefined) {
|
|
31
|
+
params.narrative = req.narrative;
|
|
32
|
+
}
|
|
33
|
+
const raw = (await this.client.fileInsuranceClaim(params));
|
|
34
|
+
const decoded = decodeClaim(raw);
|
|
35
|
+
if (decoded === null) {
|
|
36
|
+
throw new Error('insurance.fileClaim: node returned a claim without claim_id');
|
|
37
|
+
}
|
|
38
|
+
return decoded;
|
|
39
|
+
}
|
|
40
|
+
async get(claimId) {
|
|
41
|
+
const raw = (await this.client.getInsuranceClaim(claimId));
|
|
42
|
+
return raw === null || raw === undefined ? null : decodeClaim(raw);
|
|
43
|
+
}
|
|
44
|
+
async list() {
|
|
45
|
+
const raws = (await this.client.listInsuranceClaims());
|
|
46
|
+
if (!Array.isArray(raws))
|
|
47
|
+
return [];
|
|
48
|
+
const out = [];
|
|
49
|
+
for (const raw of raws) {
|
|
50
|
+
const rec = decodeClaim(raw);
|
|
51
|
+
if (rec !== null)
|
|
52
|
+
out.push(rec);
|
|
53
|
+
}
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
async poolBalance() {
|
|
57
|
+
const raw = await this.client.getInsurancePoolBalance();
|
|
58
|
+
return raw === undefined || raw === null ? 0n : BigInt(raw);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function decodeClaim(raw) {
|
|
62
|
+
const claimId = raw.claim_id ?? raw.claimId;
|
|
63
|
+
if (claimId === undefined)
|
|
64
|
+
return null;
|
|
65
|
+
const refs = raw.receipt_refs ?? raw.receiptRefs ?? [];
|
|
66
|
+
const paidRaw = raw.paid_amount ?? raw.paidAmount;
|
|
67
|
+
const govRef = raw.governance_ref ?? raw.governanceRef;
|
|
68
|
+
const narrative = raw.narrative === null ? undefined : raw.narrative;
|
|
69
|
+
const governanceRef = govRef === null ? undefined : govRef;
|
|
70
|
+
const paidAmount = paidRaw === null || paidRaw === undefined ? undefined : BigInt(paidRaw);
|
|
71
|
+
return {
|
|
72
|
+
claimId,
|
|
73
|
+
claimantDid: raw.claimant_did ?? raw.claimantDid ?? '',
|
|
74
|
+
claimantAddress: raw.claimant_address ?? raw.claimantAddress ?? '',
|
|
75
|
+
againstAgentDid: raw.against_agent_did ?? raw.againstAgentDid ?? '',
|
|
76
|
+
amountRequested: raw.amount_requested !== undefined
|
|
77
|
+
? BigInt(raw.amount_requested)
|
|
78
|
+
: raw.amountRequested !== undefined
|
|
79
|
+
? BigInt(raw.amountRequested)
|
|
80
|
+
: 0n,
|
|
81
|
+
receiptRefs: Object.freeze([...refs]),
|
|
82
|
+
...(narrative !== undefined ? { narrative } : {}),
|
|
83
|
+
status: normaliseStatus(raw.status),
|
|
84
|
+
...(governanceRef !== undefined ? { governanceRef } : {}),
|
|
85
|
+
...(paidAmount !== undefined ? { paidAmount } : {}),
|
|
86
|
+
filedAt: raw.filed_at ?? raw.filedAt ?? 0,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function normaliseStatus(raw) {
|
|
90
|
+
switch ((raw ?? '').toLowerCase()) {
|
|
91
|
+
case 'open':
|
|
92
|
+
return 'open';
|
|
93
|
+
case 'approved':
|
|
94
|
+
return 'approved';
|
|
95
|
+
case 'rejected':
|
|
96
|
+
return 'rejected';
|
|
97
|
+
case 'paid':
|
|
98
|
+
return 'paid';
|
|
99
|
+
default:
|
|
100
|
+
return 'open';
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=insurance-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insurance-adapter.js","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/insurance-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LifecycleSdkAdapter — wraps `LifecycleClient` so the kernel can read
|
|
3
|
+
* agent lifecycle state and the kill-switch audit trail without owning
|
|
4
|
+
* the RPC field shape.
|
|
5
|
+
*
|
|
6
|
+
* Wire:
|
|
7
|
+
* getLifecycle → LifecycleClient.getAgentLifecycle(agentId)
|
|
8
|
+
* getKillSwitchReceipt → LifecycleClient.getKillSwitchReceipt(receiptId)
|
|
9
|
+
* listKillSwitchByAgent → LifecycleClient.listKillSwitchByAgent(agentId)
|
|
10
|
+
* listKillSwitchByController → LifecycleClient.listKillSwitchByController(controllerDid)
|
|
11
|
+
*
|
|
12
|
+
* All four are read-only; mutations land via `TerminateAgent` etc. typed
|
|
13
|
+
* transactions and are out of scope for this port.
|
|
14
|
+
*/
|
|
15
|
+
import type { LifecycleClient } from 'tenzro-sdk';
|
|
16
|
+
import type { AgentLifecycleRecord, KillSwitchReceiptRecord, LifecyclePort } from '../lifecycle.js';
|
|
17
|
+
export type LifecycleClientLike = Pick<LifecycleClient, 'getAgentLifecycle' | 'getKillSwitchReceipt' | 'listKillSwitchByAgent' | 'listKillSwitchByController'>;
|
|
18
|
+
export declare class LifecycleSdkAdapter implements LifecyclePort {
|
|
19
|
+
private readonly client;
|
|
20
|
+
constructor(client: LifecycleClientLike);
|
|
21
|
+
getLifecycle(agentId: string): Promise<AgentLifecycleRecord | null>;
|
|
22
|
+
getKillSwitchReceipt(receiptId: string): Promise<KillSwitchReceiptRecord | null>;
|
|
23
|
+
listKillSwitchByAgent(agentId: string): Promise<KillSwitchReceiptRecord[]>;
|
|
24
|
+
listKillSwitchByController(controllerDid: string): Promise<KillSwitchReceiptRecord[]>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=lifecycle-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/lifecycle-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EAGpB,uBAAuB,EACvB,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,eAAe,EACb,mBAAmB,GACnB,sBAAsB,GACtB,uBAAuB,GACvB,4BAA4B,CAC/B,CAAC;AAsCF,qBAAa,mBAAoB,YAAW,aAAa;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAElD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAKnE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAKhF,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAQ1E,0BAA0B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAO5F"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LifecycleSdkAdapter — wraps `LifecycleClient` so the kernel can read
|
|
3
|
+
* agent lifecycle state and the kill-switch audit trail without owning
|
|
4
|
+
* the RPC field shape.
|
|
5
|
+
*
|
|
6
|
+
* Wire:
|
|
7
|
+
* getLifecycle → LifecycleClient.getAgentLifecycle(agentId)
|
|
8
|
+
* getKillSwitchReceipt → LifecycleClient.getKillSwitchReceipt(receiptId)
|
|
9
|
+
* listKillSwitchByAgent → LifecycleClient.listKillSwitchByAgent(agentId)
|
|
10
|
+
* listKillSwitchByController → LifecycleClient.listKillSwitchByController(controllerDid)
|
|
11
|
+
*
|
|
12
|
+
* All four are read-only; mutations land via `TerminateAgent` etc. typed
|
|
13
|
+
* transactions and are out of scope for this port.
|
|
14
|
+
*/
|
|
15
|
+
export class LifecycleSdkAdapter {
|
|
16
|
+
client;
|
|
17
|
+
constructor(client) {
|
|
18
|
+
this.client = client;
|
|
19
|
+
}
|
|
20
|
+
async getLifecycle(agentId) {
|
|
21
|
+
const raw = (await this.client.getAgentLifecycle(agentId));
|
|
22
|
+
return raw === null || raw === undefined ? null : decodeLifecycle(raw);
|
|
23
|
+
}
|
|
24
|
+
async getKillSwitchReceipt(receiptId) {
|
|
25
|
+
const raw = (await this.client.getKillSwitchReceipt(receiptId));
|
|
26
|
+
return raw === null || raw === undefined ? null : decodeReceipt(raw);
|
|
27
|
+
}
|
|
28
|
+
async listKillSwitchByAgent(agentId) {
|
|
29
|
+
const raws = (await this.client.listKillSwitchByAgent(agentId));
|
|
30
|
+
return decodeReceiptList(raws);
|
|
31
|
+
}
|
|
32
|
+
async listKillSwitchByController(controllerDid) {
|
|
33
|
+
const raws = (await this.client.listKillSwitchByController(controllerDid));
|
|
34
|
+
return decodeReceiptList(raws);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function decodeLifecycle(raw) {
|
|
38
|
+
const agentId = raw.agent_id ?? raw.agentId;
|
|
39
|
+
if (agentId === undefined)
|
|
40
|
+
return null;
|
|
41
|
+
const lastChange = raw.last_state_change ?? raw.lastStateChange ?? '';
|
|
42
|
+
const heartbeat = raw.last_heartbeat ?? raw.lastHeartbeat;
|
|
43
|
+
const historyRaw = raw.state_history ?? raw.stateHistory ?? [];
|
|
44
|
+
const stateHistory = [];
|
|
45
|
+
for (const entry of historyRaw) {
|
|
46
|
+
if (Array.isArray(entry)) {
|
|
47
|
+
stateHistory.push({ state: normaliseState(entry[0]), at: entry[1] ?? '' });
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
stateHistory.push({ state: normaliseState(entry.state), at: entry.at ?? '' });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const lastHeartbeat = heartbeat === null ? undefined : heartbeat;
|
|
54
|
+
return {
|
|
55
|
+
agentId,
|
|
56
|
+
state: normaliseState(raw.state),
|
|
57
|
+
lastStateChange: lastChange,
|
|
58
|
+
...(lastHeartbeat !== undefined ? { lastHeartbeat } : {}),
|
|
59
|
+
stateHistory: Object.freeze(stateHistory),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function decodeReceiptList(raws) {
|
|
63
|
+
if (!Array.isArray(raws))
|
|
64
|
+
return [];
|
|
65
|
+
const out = [];
|
|
66
|
+
for (const raw of raws) {
|
|
67
|
+
const rec = decodeReceipt(raw);
|
|
68
|
+
if (rec !== null)
|
|
69
|
+
out.push(rec);
|
|
70
|
+
}
|
|
71
|
+
return out;
|
|
72
|
+
}
|
|
73
|
+
function decodeReceipt(raw) {
|
|
74
|
+
const receiptId = raw.receipt_id ?? raw.receiptId;
|
|
75
|
+
const action = normaliseAction(raw.action);
|
|
76
|
+
if (receiptId === undefined || action === null)
|
|
77
|
+
return null;
|
|
78
|
+
const reasonTextRaw = raw.reason_text ?? raw.reasonText;
|
|
79
|
+
const evidenceHashRaw = raw.evidence_hash ?? raw.evidenceHash;
|
|
80
|
+
const slashBpsRaw = raw.slash_bps ?? raw.slashBps;
|
|
81
|
+
const cascadeRaw = raw.cascade;
|
|
82
|
+
const pauseUntilRaw = raw.pause_until ?? raw.pauseUntil;
|
|
83
|
+
const frozenAtRaw = raw.frozen_at_block ?? raw.frozenAtBlock;
|
|
84
|
+
const reasonText = reasonTextRaw === null ? undefined : reasonTextRaw;
|
|
85
|
+
const evidenceHash = evidenceHashRaw === null ? undefined : evidenceHashRaw;
|
|
86
|
+
const slashBps = slashBpsRaw === null || slashBpsRaw === undefined ? undefined : slashBpsRaw;
|
|
87
|
+
const cascade = cascadeRaw === null || cascadeRaw === undefined ? undefined : cascadeRaw;
|
|
88
|
+
const pauseUntil = pauseUntilRaw === null || pauseUntilRaw === undefined ? undefined : pauseUntilRaw;
|
|
89
|
+
return {
|
|
90
|
+
receiptId,
|
|
91
|
+
action,
|
|
92
|
+
agentDid: raw.agent_did ?? raw.agentDid ?? '',
|
|
93
|
+
controllerDid: raw.controller_did ?? raw.controllerDid ?? '',
|
|
94
|
+
reasonCode: raw.reason_code ?? raw.reasonCode ?? 0,
|
|
95
|
+
...(reasonText !== undefined ? { reasonText } : {}),
|
|
96
|
+
...(evidenceHash !== undefined ? { evidenceHash } : {}),
|
|
97
|
+
...(slashBps !== undefined ? { slashBps } : {}),
|
|
98
|
+
...(cascade !== undefined ? { cascade } : {}),
|
|
99
|
+
...(pauseUntil !== undefined ? { pauseUntil } : {}),
|
|
100
|
+
frozenAtBlock: frozenAtRaw !== undefined ? BigInt(frozenAtRaw) : 0n,
|
|
101
|
+
timestamp: raw.timestamp ?? 0,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function normaliseState(raw) {
|
|
105
|
+
switch ((raw ?? '').toLowerCase()) {
|
|
106
|
+
case 'created':
|
|
107
|
+
return 'created';
|
|
108
|
+
case 'initializing':
|
|
109
|
+
return 'initializing';
|
|
110
|
+
case 'active':
|
|
111
|
+
return 'active';
|
|
112
|
+
case 'suspended':
|
|
113
|
+
return 'suspended';
|
|
114
|
+
case 'paused':
|
|
115
|
+
return 'paused';
|
|
116
|
+
case 'quarantined':
|
|
117
|
+
return 'quarantined';
|
|
118
|
+
case 'terminated':
|
|
119
|
+
return 'terminated';
|
|
120
|
+
default:
|
|
121
|
+
return 'created';
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function normaliseAction(raw) {
|
|
125
|
+
switch ((raw ?? '').toLowerCase()) {
|
|
126
|
+
case 'pause':
|
|
127
|
+
return 'pause';
|
|
128
|
+
case 'quarantine':
|
|
129
|
+
return 'quarantine';
|
|
130
|
+
case 'terminate':
|
|
131
|
+
return 'terminate';
|
|
132
|
+
default:
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=lifecycle-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-adapter.js","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/lifecycle-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAuDH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAwB,CAAC;QAClF,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAC1C,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAsB,CAAC;QACrF,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACzC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAGjD,CAAC;QACd,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,aAAqB;QACpD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAG5D,CAAC;QACd,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED,SAAS,eAAe,CAAC,GAAiB;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;IACtE,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,aAAa,CAAC;IAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAwC,EAAE,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACjE,OAAO;QACL,OAAO;QACP,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC,eAAe,EAAE,UAAU;QAC3B,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAqC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,GAAe;IACpC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC;IAClD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC;IACxD,MAAM,eAAe,GAAG,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,YAAY,CAAC;IAC9D,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC;IAClD,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,CAAC;IACxD,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,IAAI,GAAG,CAAC,aAAa,CAAC;IAC7D,MAAM,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IACtE,MAAM,YAAY,GAAG,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;IAC5E,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;IAC7F,MAAM,OAAO,GAAG,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACzF,MAAM,UAAU,GACd,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;IACpF,OAAO;QACL,SAAS;QACT,MAAM;QACN,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC7C,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE;QAC5D,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC;QAClD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,aAAa,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;QACnE,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAuB;IAC7C,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAClC,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAuB;IAC9C,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAClC,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NanopaymentSdkAdapter — wraps the SDK's `NanopaymentClient`.
|
|
3
|
+
*
|
|
4
|
+
* snake_case + decimal-string ↔ camelCase + bigint shape mapping. The
|
|
5
|
+
* channel cryptography (signed off-chain receipts, dispute path) all lives
|
|
6
|
+
* server-side; the wallet just originates open / send / flush / close calls.
|
|
7
|
+
*/
|
|
8
|
+
import type { NanopaymentClient } from 'tenzro-sdk';
|
|
9
|
+
import type { BatchSettlement, CloseChannelResult, NanoChannel, NanopaymentPort, NanopaymentReceipt, OpenChannelRequest, SendNanopaymentRequest } from '../nanopayment.js';
|
|
10
|
+
interface RawChannelInfo {
|
|
11
|
+
channel_id: string;
|
|
12
|
+
payer: string;
|
|
13
|
+
payee: string;
|
|
14
|
+
deposit: string;
|
|
15
|
+
balance: string;
|
|
16
|
+
total_paid: string;
|
|
17
|
+
asset: string;
|
|
18
|
+
payment_count: number;
|
|
19
|
+
status: 'open' | 'closing' | 'closed' | 'disputed';
|
|
20
|
+
}
|
|
21
|
+
interface RawNanopaymentReceipt {
|
|
22
|
+
payment_id: string;
|
|
23
|
+
channel_id: string;
|
|
24
|
+
amount: string;
|
|
25
|
+
memo?: string;
|
|
26
|
+
sequence: number;
|
|
27
|
+
}
|
|
28
|
+
interface RawBatchSettlement {
|
|
29
|
+
channel_id: string;
|
|
30
|
+
payment_count: number;
|
|
31
|
+
total_amount: string;
|
|
32
|
+
tx_hash: string;
|
|
33
|
+
status: string;
|
|
34
|
+
}
|
|
35
|
+
interface RawCloseResult {
|
|
36
|
+
channel_id: string;
|
|
37
|
+
final_amount: string;
|
|
38
|
+
refunded: string;
|
|
39
|
+
tx_hash: string;
|
|
40
|
+
status: string;
|
|
41
|
+
}
|
|
42
|
+
export interface NanopaymentClientLike {
|
|
43
|
+
openChannel(payer: string, payee: string, deposit: string, asset?: string): Promise<RawChannelInfo>;
|
|
44
|
+
sendNanopayment(channelId: string, amount: string, memo?: string): Promise<RawNanopaymentReceipt>;
|
|
45
|
+
flushBatch(channelId: string): Promise<RawBatchSettlement>;
|
|
46
|
+
closeChannel(channelId: string): Promise<RawCloseResult>;
|
|
47
|
+
getChannel(channelId: string): Promise<RawChannelInfo>;
|
|
48
|
+
listChannels(address: string): Promise<RawChannelInfo[]>;
|
|
49
|
+
}
|
|
50
|
+
export declare class NanopaymentSdkAdapter implements NanopaymentPort {
|
|
51
|
+
private readonly client;
|
|
52
|
+
constructor(client: NanopaymentClientLike);
|
|
53
|
+
static fromClient(client: NanopaymentClient): NanopaymentSdkAdapter;
|
|
54
|
+
openChannel(req: OpenChannelRequest): Promise<NanoChannel>;
|
|
55
|
+
sendNanopayment(req: SendNanopaymentRequest): Promise<NanopaymentReceipt>;
|
|
56
|
+
flushBatch(channelId: string): Promise<BatchSettlement>;
|
|
57
|
+
closeChannel(channelId: string): Promise<CloseChannelResult>;
|
|
58
|
+
getChannel(channelId: string): Promise<NanoChannel | null>;
|
|
59
|
+
listChannels(participant: string): Promise<readonly NanoChannel[]>;
|
|
60
|
+
}
|
|
61
|
+
export {};
|
|
62
|
+
//# sourceMappingURL=nanopayment-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanopayment-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/nanopayment-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;CACpD;AAED,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,CACT,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3B,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3D,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC1D;AAgBD,qBAAa,qBAAsB,YAAW,eAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAE1D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,qBAAqB;IAI7D,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAU1D,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWzE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWvD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAW5D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAQ1D,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;CAIzE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NanopaymentSdkAdapter — wraps the SDK's `NanopaymentClient`.
|
|
3
|
+
*
|
|
4
|
+
* snake_case + decimal-string ↔ camelCase + bigint shape mapping. The
|
|
5
|
+
* channel cryptography (signed off-chain receipts, dispute path) all lives
|
|
6
|
+
* server-side; the wallet just originates open / send / flush / close calls.
|
|
7
|
+
*/
|
|
8
|
+
function mapChannel(raw) {
|
|
9
|
+
return {
|
|
10
|
+
channelId: raw.channel_id,
|
|
11
|
+
payer: raw.payer,
|
|
12
|
+
payee: raw.payee,
|
|
13
|
+
deposit: BigInt(raw.deposit),
|
|
14
|
+
balance: BigInt(raw.balance),
|
|
15
|
+
totalPaid: BigInt(raw.total_paid),
|
|
16
|
+
asset: raw.asset,
|
|
17
|
+
paymentCount: raw.payment_count,
|
|
18
|
+
status: raw.status,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export class NanopaymentSdkAdapter {
|
|
22
|
+
client;
|
|
23
|
+
constructor(client) {
|
|
24
|
+
this.client = client;
|
|
25
|
+
}
|
|
26
|
+
static fromClient(client) {
|
|
27
|
+
return new NanopaymentSdkAdapter(client);
|
|
28
|
+
}
|
|
29
|
+
async openChannel(req) {
|
|
30
|
+
const raw = await this.client.openChannel(req.payer, req.payee, req.deposit.toString(), req.asset ?? 'TNZO');
|
|
31
|
+
return mapChannel(raw);
|
|
32
|
+
}
|
|
33
|
+
async sendNanopayment(req) {
|
|
34
|
+
const raw = await this.client.sendNanopayment(req.channelId, req.amount.toString(), req.memo);
|
|
35
|
+
return {
|
|
36
|
+
paymentId: raw.payment_id,
|
|
37
|
+
channelId: raw.channel_id,
|
|
38
|
+
amount: BigInt(raw.amount),
|
|
39
|
+
...(raw.memo !== undefined ? { memo: raw.memo } : {}),
|
|
40
|
+
sequence: raw.sequence,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async flushBatch(channelId) {
|
|
44
|
+
const raw = await this.client.flushBatch(channelId);
|
|
45
|
+
return {
|
|
46
|
+
channelId: raw.channel_id,
|
|
47
|
+
paymentCount: raw.payment_count,
|
|
48
|
+
totalAmount: BigInt(raw.total_amount),
|
|
49
|
+
txHash: raw.tx_hash,
|
|
50
|
+
status: raw.status,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
async closeChannel(channelId) {
|
|
54
|
+
const raw = await this.client.closeChannel(channelId);
|
|
55
|
+
return {
|
|
56
|
+
channelId: raw.channel_id,
|
|
57
|
+
finalAmount: BigInt(raw.final_amount),
|
|
58
|
+
refunded: BigInt(raw.refunded),
|
|
59
|
+
txHash: raw.tx_hash,
|
|
60
|
+
status: raw.status,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
async getChannel(channelId) {
|
|
64
|
+
try {
|
|
65
|
+
return mapChannel(await this.client.getChannel(channelId));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async listChannels(participant) {
|
|
72
|
+
const raw = await this.client.listChannels(participant);
|
|
73
|
+
return raw.map(mapChannel);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=nanopayment-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanopayment-adapter.js","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/nanopayment-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PaymentRailsSdkAdapter — wraps `PaymentClient` (MPP / x402 / AP2 /
|
|
3
|
+
* Visa TAP / Mastercard) behind one port. Each method maps 1:1 to an
|
|
4
|
+
* RPC the SDK already exposes.
|
|
5
|
+
*
|
|
6
|
+
* The SDK currently types Visa TAP and Mastercard return values as `any`
|
|
7
|
+
* because the gateway's response shape is rail-specific and still
|
|
8
|
+
* stabilising. The adapter normalises into the common `PaymentReceipt`
|
|
9
|
+
* shape: receipt id + status + tx hash + opaque meta.
|
|
10
|
+
*/
|
|
11
|
+
import type { PaymentClient } from 'tenzro-sdk';
|
|
12
|
+
import type { CreateChallengeRequest, IssueMastercardTokenRequest, MastercardToken, PayAp2Request, PayMastercardRequest, PayMppRequest, PayVisaTapRequest, PayX402Request, PaymentChallenge, PaymentRailsPort, PaymentReceipt, SignVisaTapRequest, VisaTapSignedRequest } from '../payment-rails.js';
|
|
13
|
+
interface RawVisaTapSigned {
|
|
14
|
+
headers?: Readonly<Record<string, string>>;
|
|
15
|
+
url?: string;
|
|
16
|
+
method?: string;
|
|
17
|
+
[k: string]: unknown;
|
|
18
|
+
}
|
|
19
|
+
interface RawMastercardToken {
|
|
20
|
+
token_id?: string;
|
|
21
|
+
tokenId?: string;
|
|
22
|
+
kind?: string;
|
|
23
|
+
cap?: string;
|
|
24
|
+
expires_at?: number;
|
|
25
|
+
expiresAt?: number;
|
|
26
|
+
[k: string]: unknown;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Slice of `PaymentClient` the adapter relies on. Anchored to the SDK
|
|
30
|
+
* via `Pick<>` for the methods that ship; `signVisaTap` and
|
|
31
|
+
* `issueMastercardToken` are SDK-pending and use detect-via-presence.
|
|
32
|
+
*/
|
|
33
|
+
export type PaymentClientLike = Pick<PaymentClient, 'createChallenge' | 'payMpp' | 'payX402' | 'payAp2' | 'payVisaTap' | 'payMastercard' | 'getReceipt'> & {
|
|
34
|
+
/**
|
|
35
|
+
* SDK-pending. Present in `PaymentClientLike` so adapters can detect support
|
|
36
|
+
* via `'signVisaTap' in client`. The current SDK build doesn't expose it;
|
|
37
|
+
* the adapter's wrapper throws "SDK pending" until it does.
|
|
38
|
+
*/
|
|
39
|
+
signVisaTap?(body: {
|
|
40
|
+
method: string;
|
|
41
|
+
url: string;
|
|
42
|
+
headers: Readonly<Record<string, string>>;
|
|
43
|
+
body?: string;
|
|
44
|
+
agent_did: string;
|
|
45
|
+
}): Promise<RawVisaTapSigned>;
|
|
46
|
+
/** SDK-pending. Same detect-via-presence pattern as `signVisaTap`. */
|
|
47
|
+
issueMastercardToken?(body: {
|
|
48
|
+
agent_did: string;
|
|
49
|
+
kind: string;
|
|
50
|
+
params: Readonly<Record<string, unknown>>;
|
|
51
|
+
}): Promise<RawMastercardToken>;
|
|
52
|
+
};
|
|
53
|
+
export declare class PaymentRailsSdkAdapter implements PaymentRailsPort {
|
|
54
|
+
private readonly client;
|
|
55
|
+
constructor(client: PaymentClientLike);
|
|
56
|
+
createChallenge(req: CreateChallengeRequest): Promise<PaymentChallenge>;
|
|
57
|
+
payMpp(req: PayMppRequest): Promise<PaymentReceipt>;
|
|
58
|
+
payX402(req: PayX402Request): Promise<PaymentReceipt>;
|
|
59
|
+
payAp2(req: PayAp2Request): Promise<PaymentReceipt>;
|
|
60
|
+
payVisaTap(req: PayVisaTapRequest): Promise<PaymentReceipt>;
|
|
61
|
+
payMastercard(req: PayMastercardRequest): Promise<PaymentReceipt>;
|
|
62
|
+
getReceipt(receiptId: string): Promise<PaymentReceipt | null>;
|
|
63
|
+
signVisaTap(req: SignVisaTapRequest): Promise<VisaTapSignedRequest>;
|
|
64
|
+
issueMastercardToken(req: IssueMastercardTokenRequest): Promise<MastercardToken>;
|
|
65
|
+
}
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=payment-rails-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-rails-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/payment-rails-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACX,iBAAiB,GACjB,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,eAAe,GACf,YAAY,CACf,GAAG;IACF;;;;OAIG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE9B,sEAAsE;IACtE,oBAAoB,CAAC,CAAC,IAAI,EAAE;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC3C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACjC,CAAC;AAEF,qBAAa,sBAAuB,YAAW,gBAAgB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEhD,eAAe,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBvE,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAInD,OAAO,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIrD,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAInD,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3D,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAIjE,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAW7D,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBnE,oBAAoB,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,eAAe,CAAC;CAoBvF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PaymentRailsSdkAdapter — wraps `PaymentClient` (MPP / x402 / AP2 /
|
|
3
|
+
* Visa TAP / Mastercard) behind one port. Each method maps 1:1 to an
|
|
4
|
+
* RPC the SDK already exposes.
|
|
5
|
+
*
|
|
6
|
+
* The SDK currently types Visa TAP and Mastercard return values as `any`
|
|
7
|
+
* because the gateway's response shape is rail-specific and still
|
|
8
|
+
* stabilising. The adapter normalises into the common `PaymentReceipt`
|
|
9
|
+
* shape: receipt id + status + tx hash + opaque meta.
|
|
10
|
+
*/
|
|
11
|
+
export class PaymentRailsSdkAdapter {
|
|
12
|
+
client;
|
|
13
|
+
constructor(client) {
|
|
14
|
+
this.client = client;
|
|
15
|
+
}
|
|
16
|
+
async createChallenge(req) {
|
|
17
|
+
const raw = await this.client.createChallenge(req.resource, req.amount, req.asset, req.protocol);
|
|
18
|
+
return {
|
|
19
|
+
challengeId: raw.challengeId,
|
|
20
|
+
resource: raw.resource,
|
|
21
|
+
amount: raw.amount,
|
|
22
|
+
asset: raw.asset,
|
|
23
|
+
protocol: raw.protocol,
|
|
24
|
+
raw: raw,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
async payMpp(req) {
|
|
28
|
+
return normaliseReceipt(await this.client.payMpp(req.url, req.payerDid));
|
|
29
|
+
}
|
|
30
|
+
async payX402(req) {
|
|
31
|
+
return normaliseReceipt(await this.client.payX402(req.url, req.payerDid));
|
|
32
|
+
}
|
|
33
|
+
async payAp2(req) {
|
|
34
|
+
return normaliseReceipt(await this.client.payAp2(req.agentDid, req.url, req.amount));
|
|
35
|
+
}
|
|
36
|
+
async payVisaTap(req) {
|
|
37
|
+
return normaliseReceipt(await this.client.payVisaTap(req.credential));
|
|
38
|
+
}
|
|
39
|
+
async payMastercard(req) {
|
|
40
|
+
return normaliseReceipt(await this.client.payMastercard(req.credential));
|
|
41
|
+
}
|
|
42
|
+
async getReceipt(receiptId) {
|
|
43
|
+
try {
|
|
44
|
+
const raw = await this.client.getReceipt(receiptId);
|
|
45
|
+
if (raw === null || raw === undefined)
|
|
46
|
+
return null;
|
|
47
|
+
return normaliseReceipt(raw);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// SDK throws on 404; the port semantics return null instead.
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async signVisaTap(req) {
|
|
55
|
+
if (!this.client.signVisaTap) {
|
|
56
|
+
throw new Error('PaymentRailsSdkAdapter.signVisaTap: SDK pending — tenzro-sdk PaymentClient does not yet expose signVisaTap (DESIGN.md §11.1)');
|
|
57
|
+
}
|
|
58
|
+
const raw = await this.client.signVisaTap({
|
|
59
|
+
method: req.request.method,
|
|
60
|
+
url: req.request.url,
|
|
61
|
+
headers: req.request.headers,
|
|
62
|
+
...(req.request.body !== undefined ? { body: req.request.body } : {}),
|
|
63
|
+
agent_did: req.agentDid,
|
|
64
|
+
});
|
|
65
|
+
return {
|
|
66
|
+
headers: raw.headers ?? req.request.headers,
|
|
67
|
+
url: raw.url ?? req.request.url,
|
|
68
|
+
method: raw.method ?? req.request.method,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
async issueMastercardToken(req) {
|
|
72
|
+
if (!this.client.issueMastercardToken) {
|
|
73
|
+
throw new Error('PaymentRailsSdkAdapter.issueMastercardToken: SDK pending — tenzro-sdk PaymentClient does not yet expose issueMastercardToken (DESIGN.md §11.1)');
|
|
74
|
+
}
|
|
75
|
+
const raw = await this.client.issueMastercardToken({
|
|
76
|
+
agent_did: req.agentDid,
|
|
77
|
+
kind: req.kind,
|
|
78
|
+
params: req.params,
|
|
79
|
+
});
|
|
80
|
+
const kind = raw.kind ?? req.kind;
|
|
81
|
+
return {
|
|
82
|
+
tokenId: raw.token_id ?? raw.tokenId ?? '',
|
|
83
|
+
kind,
|
|
84
|
+
cap: raw.cap ?? '0',
|
|
85
|
+
expiresAt: raw.expires_at ?? raw.expiresAt ?? 0,
|
|
86
|
+
raw,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function normaliseReceipt(raw) {
|
|
91
|
+
// Real SDK PaymentReceipt is camelCase + decimal `amount`. Visa/Mastercard
|
|
92
|
+
// are typed `any` server-side and may include `txHash` / `tx_hash` on the
|
|
93
|
+
// gateway path; we accept both.
|
|
94
|
+
const r = (raw ?? {});
|
|
95
|
+
return {
|
|
96
|
+
receiptId: r.receiptId ?? r.receipt_id ?? r.id ?? '',
|
|
97
|
+
status: r.status ?? r.state ?? 'unknown',
|
|
98
|
+
...(r.txHash !== undefined
|
|
99
|
+
? { txHash: r.txHash }
|
|
100
|
+
: r.tx_hash !== undefined
|
|
101
|
+
? { txHash: r.tx_hash }
|
|
102
|
+
: r.transaction_hash !== undefined
|
|
103
|
+
? { txHash: r.transaction_hash }
|
|
104
|
+
: {}),
|
|
105
|
+
meta: r,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=payment-rails-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-rails-adapter.js","sourceRoot":"","sources":["../../../../src/ports/agent/adapters/payment-rails-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PrincipalChainSdkAdapter — wraps `PrincipalChainClient` for read-only
|
|
3
|
+
* access to receipt principal-chains (Spec 5) and controller activity
|
|
4
|
+
* aggregates.
|
|
5
|
+
*
|
|
6
|
+
* Wire:
|
|
7
|
+
* getReceiptPrincipalChain → PrincipalChainClient.getReceiptPrincipalChain(receiptId)
|
|
8
|
+
* listReceiptsByActor → PrincipalChainClient.listReceiptsByActor(actorDid)
|
|
9
|
+
* listReceiptsByController → PrincipalChainClient.listReceiptsByController(controllerDid)
|
|
10
|
+
* summarizeController → PrincipalChainClient.summarizeController(controllerDid)
|
|
11
|
+
*/
|
|
12
|
+
import type { PrincipalChainClient } from 'tenzro-sdk';
|
|
13
|
+
import type { ControllerActivitySummaryRecord, PrincipalChainPort, PrincipalChainRecord, PrincipalChainSummaryRecord } from '../principal-chain.js';
|
|
14
|
+
export type PrincipalChainClientLike = Pick<PrincipalChainClient, 'getReceiptPrincipalChain' | 'listReceiptsByActor' | 'listReceiptsByController' | 'summarizeController'>;
|
|
15
|
+
export declare class PrincipalChainSdkAdapter implements PrincipalChainPort {
|
|
16
|
+
private readonly client;
|
|
17
|
+
constructor(client: PrincipalChainClientLike);
|
|
18
|
+
getReceiptPrincipalChain(receiptId: string): Promise<PrincipalChainRecord | null>;
|
|
19
|
+
listReceiptsByActor(actorDid: string): Promise<PrincipalChainSummaryRecord[]>;
|
|
20
|
+
listReceiptsByController(controllerDid: string): Promise<PrincipalChainSummaryRecord[]>;
|
|
21
|
+
summarizeController(controllerDid: string): Promise<ControllerActivitySummaryRecord | null>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=principal-chain-adapter.d.ts.map
|