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,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared body for the wallet's per-vendor bridge adapters. Each adapter
|
|
3
|
+
* (LI.FI, CCIP, LayerZero, Wormhole, deBridge, Canton) is the wallet's
|
|
4
|
+
* UX-side abstraction — one row in the route picker per vendor. Under
|
|
5
|
+
* the hood they all forward to the same `tenzro-sdk` `BridgeClient`,
|
|
6
|
+
* filtering by `adapter` (the SDK's name for `vendor`).
|
|
7
|
+
*
|
|
8
|
+
* SDK shape this targets (verified against `tenzro-sdk@0.1.0`
|
|
9
|
+
* `src/bridge.ts`):
|
|
10
|
+
*
|
|
11
|
+
* - `client.bridge().getRoutes(fromChain, toChain, token?)`
|
|
12
|
+
* → `BridgeRoute[]` (one entry per available vendor; the wallet
|
|
13
|
+
* filters to its own `adapterId` and synthesises the `BridgeQuote`).
|
|
14
|
+
* - `client.bridge().bridgeTokens(fromChain, toChain, token, amount,
|
|
15
|
+
* recipient, adapter?)`
|
|
16
|
+
* → `BridgeTransfer { id, sourceChain, targetChain, assetId, amount,
|
|
17
|
+
* sender, recipient, status, txHash, bridgeFee, completedAt? }`.
|
|
18
|
+
* The wallet maps this to a `BridgeBuildResult` whose single
|
|
19
|
+
* transaction wraps the SDK-returned tx hash for surface display.
|
|
20
|
+
* - `client.bridge().getTransferStatus(transferId)`
|
|
21
|
+
* → `TransferStatus { transfer_id, status, source_tx_hash?,
|
|
22
|
+
* destination_tx_hash?, updated_at }`.
|
|
23
|
+
* The wallet wraps this in an async-iterable that polls until a
|
|
24
|
+
* terminal phase (`delivered` / `failed`).
|
|
25
|
+
*
|
|
26
|
+
* The wallet's `BridgeRoutePort` surface (quote → build → track) is
|
|
27
|
+
* UX-shaped; it doesn't perfectly match the SDK's flatter API. The
|
|
28
|
+
* adapter does the mapping:
|
|
29
|
+
*
|
|
30
|
+
* - `quote()` calls `getRoutes()` and finds the entry matching
|
|
31
|
+
* `adapterId`. The route's `opaque` payload carries the original
|
|
32
|
+
* request fields the wallet needs to call `bridgeTokens` later.
|
|
33
|
+
* - `build()` reads the `opaque` payload, calls `bridgeTokens`,
|
|
34
|
+
* and returns the SDK transfer's `id` as `trackerId`.
|
|
35
|
+
* - `track()` polls `getTransferStatus(trackerId)` on a 2 s tick
|
|
36
|
+
* until the transfer is `delivered` or `failed`.
|
|
37
|
+
*/
|
|
38
|
+
/** Default poll interval for `track()` in milliseconds. */
|
|
39
|
+
const TRACK_POLL_MS = 2_000;
|
|
40
|
+
/** Default max polls before track() gives up (5 minutes at 2 s). */
|
|
41
|
+
const TRACK_MAX_POLLS = 150;
|
|
42
|
+
export function bridgeAdapterFromClient(vendor, client) {
|
|
43
|
+
const pending = (method) => new Error(`${vendor}BridgeAdapter.${method}: SDK pending — tenzro-sdk BridgeClient.${method} not yet wired (DESIGN.md §10.2 + §11.6)`);
|
|
44
|
+
return {
|
|
45
|
+
adapterId: vendor,
|
|
46
|
+
async quote(req) {
|
|
47
|
+
if (!client?.getRoutes)
|
|
48
|
+
throw pending('getRoutes');
|
|
49
|
+
const routes = await client.getRoutes(req.fromChain.chain, req.toChain.chain, req.fromAsset);
|
|
50
|
+
// SDK returns BridgeRoute[]; we filter to our vendor.
|
|
51
|
+
const ours = routes.find((r) => normaliseAdapterName(r.adapter) === vendor);
|
|
52
|
+
if (!ours) {
|
|
53
|
+
throw new Error(`${vendor}BridgeAdapter.quote: vendor not in SDK route list for ` +
|
|
54
|
+
`${req.fromChain.chain}→${req.toChain.chain} ${req.fromAsset}`);
|
|
55
|
+
}
|
|
56
|
+
const opaque = {
|
|
57
|
+
fromChain: req.fromChain.chain,
|
|
58
|
+
toChain: req.toChain.chain,
|
|
59
|
+
token: req.fromAsset,
|
|
60
|
+
amount: req.amount.toString(),
|
|
61
|
+
recipient: req.toAddress,
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
adapter: vendor,
|
|
65
|
+
toAmount: req.amount, // SDK getRoutes doesn't quote toAmount — pass through.
|
|
66
|
+
fees: BigInt(ours.estimated_fee ?? 0),
|
|
67
|
+
etaSec: ours.estimated_time_secs ?? 0,
|
|
68
|
+
opaque: opaque,
|
|
69
|
+
summary: `${vendor} · ${req.fromAsset} · ~${ours.estimated_time_secs ?? '?'}s`,
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
async build(req) {
|
|
73
|
+
if (!client?.bridgeTokens)
|
|
74
|
+
throw pending('bridgeTokens');
|
|
75
|
+
const o = req.opaque;
|
|
76
|
+
const transfer = await client.bridgeTokens(o.fromChain, o.toChain, o.token, o.amount, o.recipient, vendor);
|
|
77
|
+
return {
|
|
78
|
+
transactions: [
|
|
79
|
+
{
|
|
80
|
+
chain: o.fromChain,
|
|
81
|
+
body: { txHash: transfer.txHash },
|
|
82
|
+
label: `Bridge ${o.token} via ${vendor}`,
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
trackerId: transfer.id,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
async *track(trackerId) {
|
|
89
|
+
if (!client?.getTransferStatus)
|
|
90
|
+
throw pending('getTransferStatus');
|
|
91
|
+
let lastPhase = null;
|
|
92
|
+
for (let i = 0; i < TRACK_MAX_POLLS; i++) {
|
|
93
|
+
const raw = await client.getTransferStatus(trackerId);
|
|
94
|
+
const phase = normalisePhase(raw.status);
|
|
95
|
+
// Always yield first poll; otherwise yield on phase change.
|
|
96
|
+
if (lastPhase !== phase) {
|
|
97
|
+
lastPhase = phase;
|
|
98
|
+
yield {
|
|
99
|
+
trackerId: raw.transfer_id ?? trackerId,
|
|
100
|
+
phase,
|
|
101
|
+
...(raw.source_tx_hash !== undefined ? { sourceTx: raw.source_tx_hash } : {}),
|
|
102
|
+
...(raw.destination_tx_hash !== undefined
|
|
103
|
+
? { destinationTx: raw.destination_tx_hash }
|
|
104
|
+
: {}),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (phase === 'delivered' || phase === 'failed')
|
|
108
|
+
return;
|
|
109
|
+
await sleep(TRACK_POLL_MS);
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function normaliseAdapterName(raw) {
|
|
115
|
+
return (raw ?? '').toLowerCase();
|
|
116
|
+
}
|
|
117
|
+
function normalisePhase(raw) {
|
|
118
|
+
switch ((raw ?? '').toLowerCase()) {
|
|
119
|
+
case 'pending':
|
|
120
|
+
case 'pending-source':
|
|
121
|
+
case 'pending_source':
|
|
122
|
+
case 'source-pending':
|
|
123
|
+
return 'pending-source';
|
|
124
|
+
case 'in_transit':
|
|
125
|
+
case 'in-transit':
|
|
126
|
+
case 'relayed':
|
|
127
|
+
case 'in-flight':
|
|
128
|
+
case 'in_flight':
|
|
129
|
+
case 'inflight':
|
|
130
|
+
return 'in-flight';
|
|
131
|
+
case 'delivered':
|
|
132
|
+
case 'completed':
|
|
133
|
+
return 'delivered';
|
|
134
|
+
case 'failed':
|
|
135
|
+
case 'error':
|
|
136
|
+
return 'failed';
|
|
137
|
+
default:
|
|
138
|
+
return 'pending-source';
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function sleep(ms) {
|
|
142
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=bridge-adapter-base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge-adapter-base.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/bridge-adapter-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CantonBridgeAdapter — `BridgeRoutePort` backed by Tenzro's Canton
|
|
3
|
+
* bridge corridor.
|
|
4
|
+
*
|
|
5
|
+
* Tenzro's BridgeRouter includes Canton as a first-class adapter (per
|
|
6
|
+
* docs/bridge). It's the corridor the wallet uses for Tenzro↔Canton
|
|
7
|
+
* MainNet moves — settlement on the Canton side runs through DAML
|
|
8
|
+
* commands, not an EVM-style transfer.
|
|
9
|
+
*
|
|
10
|
+
* Canton-specific notes for the SDK implementer:
|
|
11
|
+
* - The build step emits a DAML command body, not an EVM tx — the
|
|
12
|
+
* `transactions[].body` carries `{command: ...}` and the
|
|
13
|
+
* `chain` field is `'canton-mainnet'` (or the configured
|
|
14
|
+
* synchronizer slug).
|
|
15
|
+
* - The `canton-internal` and `canton-external` wallet surfaces
|
|
16
|
+
* are the natural sources/destinations for this adapter.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: docs/canton + docs/bridge.
|
|
19
|
+
*/
|
|
20
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
21
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
22
|
+
export declare class CantonBridgeAdapter implements BridgeRoutePort {
|
|
23
|
+
readonly adapterId: "canton";
|
|
24
|
+
private readonly impl;
|
|
25
|
+
constructor(client?: BridgeClientLike);
|
|
26
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
27
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
28
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=canton-bridge-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canton-bridge-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/canton-bridge-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,mBAAoB,YAAW,eAAe;IACzD,QAAQ,CAAC,SAAS,EAAG,QAAQ,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CantonBridgeAdapter — `BridgeRoutePort` backed by Tenzro's Canton
|
|
3
|
+
* bridge corridor.
|
|
4
|
+
*
|
|
5
|
+
* Tenzro's BridgeRouter includes Canton as a first-class adapter (per
|
|
6
|
+
* docs/bridge). It's the corridor the wallet uses for Tenzro↔Canton
|
|
7
|
+
* MainNet moves — settlement on the Canton side runs through DAML
|
|
8
|
+
* commands, not an EVM-style transfer.
|
|
9
|
+
*
|
|
10
|
+
* Canton-specific notes for the SDK implementer:
|
|
11
|
+
* - The build step emits a DAML command body, not an EVM tx — the
|
|
12
|
+
* `transactions[].body` carries `{command: ...}` and the
|
|
13
|
+
* `chain` field is `'canton-mainnet'` (or the configured
|
|
14
|
+
* synchronizer slug).
|
|
15
|
+
* - The `canton-internal` and `canton-external` wallet surfaces
|
|
16
|
+
* are the natural sources/destinations for this adapter.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: docs/canton + docs/bridge.
|
|
19
|
+
*/
|
|
20
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
21
|
+
export class CantonBridgeAdapter {
|
|
22
|
+
adapterId = 'canton';
|
|
23
|
+
impl;
|
|
24
|
+
constructor(client) {
|
|
25
|
+
this.impl = bridgeAdapterFromClient('canton', client);
|
|
26
|
+
}
|
|
27
|
+
quote = (req) => this.impl.quote(req);
|
|
28
|
+
build = (req) => this.impl.build(req);
|
|
29
|
+
track = (id) => this.impl.track(id);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=canton-bridge-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canton-bridge-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/canton-bridge-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,mBAAmB;IACrB,SAAS,GAAG,QAAiB,CAAC;IACtB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CcipBridgeAdapter — `BridgeRoutePort` backed by Chainlink CCIP (M8).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. See
|
|
5
|
+
* `bridge-adapter-base.ts` for the shared shape and endpoint contracts.
|
|
6
|
+
*
|
|
7
|
+
* Tenzro endpoints map to `/v1/bridge/ccip/{quote,build,track}` —
|
|
8
|
+
* documented in `lifi-adapter.ts` JSDoc, identical shape across all
|
|
9
|
+
* three vendors.
|
|
10
|
+
*
|
|
11
|
+
* CCIP-specific notes for the SDK implementer:
|
|
12
|
+
* - Chain identifiers on CCIP are 64-bit chain selectors, not chain
|
|
13
|
+
* ids. The SDK is expected to translate `BridgeChainRef.chain` /
|
|
14
|
+
* `chainId` to the selector — the kernel does not hold the table.
|
|
15
|
+
* - CCIP's `Router.ccipSend` returns a 32-byte `messageId`; the SDK
|
|
16
|
+
* surfaces it as `tracker_id` for parity with LI.FI/LayerZero.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: https://docs.chain.link/ccip
|
|
19
|
+
*/
|
|
20
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
21
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
22
|
+
export declare class CcipBridgeAdapter implements BridgeRoutePort {
|
|
23
|
+
readonly adapterId: "ccip";
|
|
24
|
+
private readonly impl;
|
|
25
|
+
constructor(client?: BridgeClientLike);
|
|
26
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
27
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
28
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=ccip-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ccip-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/ccip-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CcipBridgeAdapter — `BridgeRoutePort` backed by Chainlink CCIP (M8).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. See
|
|
5
|
+
* `bridge-adapter-base.ts` for the shared shape and endpoint contracts.
|
|
6
|
+
*
|
|
7
|
+
* Tenzro endpoints map to `/v1/bridge/ccip/{quote,build,track}` —
|
|
8
|
+
* documented in `lifi-adapter.ts` JSDoc, identical shape across all
|
|
9
|
+
* three vendors.
|
|
10
|
+
*
|
|
11
|
+
* CCIP-specific notes for the SDK implementer:
|
|
12
|
+
* - Chain identifiers on CCIP are 64-bit chain selectors, not chain
|
|
13
|
+
* ids. The SDK is expected to translate `BridgeChainRef.chain` /
|
|
14
|
+
* `chainId` to the selector — the kernel does not hold the table.
|
|
15
|
+
* - CCIP's `Router.ccipSend` returns a 32-byte `messageId`; the SDK
|
|
16
|
+
* surfaces it as `tracker_id` for parity with LI.FI/LayerZero.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: https://docs.chain.link/ccip
|
|
19
|
+
*/
|
|
20
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
21
|
+
export class CcipBridgeAdapter {
|
|
22
|
+
adapterId = 'ccip';
|
|
23
|
+
impl;
|
|
24
|
+
constructor(client) {
|
|
25
|
+
this.impl = bridgeAdapterFromClient('ccip', client);
|
|
26
|
+
}
|
|
27
|
+
quote = (req) => this.impl.quote(req);
|
|
28
|
+
build = (req) => this.impl.build(req);
|
|
29
|
+
track = (id) => this.impl.track(id);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ccip-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ccip-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/ccip-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,iBAAiB;IACnB,SAAS,GAAG,MAAe,CAAC;IACpB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeBridgeBridgeAdapter — `BridgeRoutePort` backed by deBridge DLN.
|
|
3
|
+
*
|
|
4
|
+
* Tenzro's BridgeRouter exposes deBridge alongside the other vendors
|
|
5
|
+
* (per docs/bridge). All vendor adapters share the same shared
|
|
6
|
+
* `client.bridge` shape — see `bridge-adapter-base.ts` for the
|
|
7
|
+
* detect-via-presence body and the SDK contract.
|
|
8
|
+
*
|
|
9
|
+
* deBridge-specific notes for the SDK implementer:
|
|
10
|
+
* - deBridge is intent-based (DLN orders) and supports post-fulfilment
|
|
11
|
+
* hooks (`create_order_with_hook`). The hook payload travels in the
|
|
12
|
+
* `opaque` field through `BridgeQuote → BridgeBuildRequest`.
|
|
13
|
+
* - `tracker_id` is the DLN order id.
|
|
14
|
+
*
|
|
15
|
+
* Spec ref: https://docs.debridge.finance/dln-the-debridge-liquidity-network-protocol
|
|
16
|
+
*/
|
|
17
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
18
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
19
|
+
export declare class DeBridgeBridgeAdapter implements BridgeRoutePort {
|
|
20
|
+
readonly adapterId: "debridge";
|
|
21
|
+
private readonly impl;
|
|
22
|
+
constructor(client?: BridgeClientLike);
|
|
23
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
24
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
25
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=debridge-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debridge-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/debridge-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,SAAS,EAAG,UAAU,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DeBridgeBridgeAdapter — `BridgeRoutePort` backed by deBridge DLN.
|
|
3
|
+
*
|
|
4
|
+
* Tenzro's BridgeRouter exposes deBridge alongside the other vendors
|
|
5
|
+
* (per docs/bridge). All vendor adapters share the same shared
|
|
6
|
+
* `client.bridge` shape — see `bridge-adapter-base.ts` for the
|
|
7
|
+
* detect-via-presence body and the SDK contract.
|
|
8
|
+
*
|
|
9
|
+
* deBridge-specific notes for the SDK implementer:
|
|
10
|
+
* - deBridge is intent-based (DLN orders) and supports post-fulfilment
|
|
11
|
+
* hooks (`create_order_with_hook`). The hook payload travels in the
|
|
12
|
+
* `opaque` field through `BridgeQuote → BridgeBuildRequest`.
|
|
13
|
+
* - `tracker_id` is the DLN order id.
|
|
14
|
+
*
|
|
15
|
+
* Spec ref: https://docs.debridge.finance/dln-the-debridge-liquidity-network-protocol
|
|
16
|
+
*/
|
|
17
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
18
|
+
export class DeBridgeBridgeAdapter {
|
|
19
|
+
adapterId = 'debridge';
|
|
20
|
+
impl;
|
|
21
|
+
constructor(client) {
|
|
22
|
+
this.impl = bridgeAdapterFromClient('debridge', client);
|
|
23
|
+
}
|
|
24
|
+
quote = (req) => this.impl.quote(req);
|
|
25
|
+
build = (req) => this.impl.build(req);
|
|
26
|
+
track = (id) => this.impl.track(id);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=debridge-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debridge-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/debridge-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,qBAAqB;IACvB,SAAS,GAAG,UAAmB,CAAC;IACxB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LayerZeroBridgeAdapter — `BridgeRoutePort` backed by LayerZero v2 (M8).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. See
|
|
5
|
+
* `bridge-adapter-base.ts` for the shared shape and endpoint contracts.
|
|
6
|
+
*
|
|
7
|
+
* Tenzro endpoints map to `/v1/bridge/layerzero/{quote,build,track}` —
|
|
8
|
+
* documented in `lifi-adapter.ts` JSDoc, identical shape across all
|
|
9
|
+
* three vendors.
|
|
10
|
+
*
|
|
11
|
+
* LayerZero-specific notes for the SDK implementer:
|
|
12
|
+
* - LayerZero v2 uses `endpoint id` (eid) for chain selection. The
|
|
13
|
+
* SDK translates `BridgeChainRef.chain`/`chainId` to the eid.
|
|
14
|
+
* - The `tracker_id` should be the destination-chain delivery hash
|
|
15
|
+
* once available, falling back to the source-chain `nonce` until
|
|
16
|
+
* delivery confirms.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: https://docs.layerzero.network/v2
|
|
19
|
+
*/
|
|
20
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
21
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
22
|
+
export declare class LayerZeroBridgeAdapter implements BridgeRoutePort {
|
|
23
|
+
readonly adapterId: "layerzero";
|
|
24
|
+
private readonly impl;
|
|
25
|
+
constructor(client?: BridgeClientLike);
|
|
26
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
27
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
28
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=layerzero-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layerzero-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/layerzero-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,SAAS,EAAG,WAAW,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LayerZeroBridgeAdapter — `BridgeRoutePort` backed by LayerZero v2 (M8).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. See
|
|
5
|
+
* `bridge-adapter-base.ts` for the shared shape and endpoint contracts.
|
|
6
|
+
*
|
|
7
|
+
* Tenzro endpoints map to `/v1/bridge/layerzero/{quote,build,track}` —
|
|
8
|
+
* documented in `lifi-adapter.ts` JSDoc, identical shape across all
|
|
9
|
+
* three vendors.
|
|
10
|
+
*
|
|
11
|
+
* LayerZero-specific notes for the SDK implementer:
|
|
12
|
+
* - LayerZero v2 uses `endpoint id` (eid) for chain selection. The
|
|
13
|
+
* SDK translates `BridgeChainRef.chain`/`chainId` to the eid.
|
|
14
|
+
* - The `tracker_id` should be the destination-chain delivery hash
|
|
15
|
+
* once available, falling back to the source-chain `nonce` until
|
|
16
|
+
* delivery confirms.
|
|
17
|
+
*
|
|
18
|
+
* Spec ref: https://docs.layerzero.network/v2
|
|
19
|
+
*/
|
|
20
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
21
|
+
export class LayerZeroBridgeAdapter {
|
|
22
|
+
adapterId = 'layerzero';
|
|
23
|
+
impl;
|
|
24
|
+
constructor(client) {
|
|
25
|
+
this.impl = bridgeAdapterFromClient('layerzero', client);
|
|
26
|
+
}
|
|
27
|
+
quote = (req) => this.impl.quote(req);
|
|
28
|
+
build = (req) => this.impl.build(req);
|
|
29
|
+
track = (id) => this.impl.track(id);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=layerzero-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layerzero-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/layerzero-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,sBAAsB;IACxB,SAAS,GAAG,WAAoB,CAAC;IACzB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiFiBridgeAdapter — `BridgeRoutePort` backed by LI.FI (M8 SDK gap).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. Constructor accepts an
|
|
5
|
+
* optional `LiFiClientLike` (typically `tenzro-sdk` `BridgeClient.lifi`).
|
|
6
|
+
* When the client is present and exposes a method, calls forward; when
|
|
7
|
+
* not, calls throw "M8 pending — LI.FI SDK wrapper not wired (DESIGN.md
|
|
8
|
+
* §10 + §11.6)". Lets consumers compile against the port today and
|
|
9
|
+
* light up at SDK-swap time without re-wiring.
|
|
10
|
+
*
|
|
11
|
+
* The plan (DESIGN.md §10 milestone 8):
|
|
12
|
+
* - either embed `@lifi/sdk` via dynamic import behind a feature flag,
|
|
13
|
+
* - or wrap a Tenzro-hosted LI.FI proxy returning the same quote shape.
|
|
14
|
+
*
|
|
15
|
+
* Either way, the SDK's `BridgeClient.lifi.{quote,build,track}` is the
|
|
16
|
+
* single source of truth — the adapter only normalises wire shapes.
|
|
17
|
+
*
|
|
18
|
+
* Tenzro endpoints (Tenzro implements; SDK proxies; kernel consumes —
|
|
19
|
+
* applies symmetrically to all three bridge adapters):
|
|
20
|
+
*
|
|
21
|
+
* 1. `POST /v1/bridge/{vendor}/quote`
|
|
22
|
+
* Body: `{from_chain, to_chain, from_address, to_address,
|
|
23
|
+
* from_asset, amount, prefer?}`.
|
|
24
|
+
* Response: `{vendor, to_amount, fees, eta_sec, opaque, summary}`.
|
|
25
|
+
*
|
|
26
|
+
* 2. `POST /v1/bridge/{vendor}/build`
|
|
27
|
+
* Body: `{opaque}` from a previous quote.
|
|
28
|
+
* Response: `{transactions: [{chain, body, label}], tracker_id}`.
|
|
29
|
+
*
|
|
30
|
+
* 3. `GET /v1/bridge/{vendor}/track/{trackerId}` (long-poll, SSE, or
|
|
31
|
+
* websocket — adapter wrapper hides the transport)
|
|
32
|
+
* Stream of `{tracker_id, phase, source_tx?, destination_tx?, error?}`.
|
|
33
|
+
*
|
|
34
|
+
* `vendor` ∈ `{lifi, ccip, layerzero}` per DESIGN.md §10.
|
|
35
|
+
*
|
|
36
|
+
* Spec ref: https://docs.li.fi/
|
|
37
|
+
*/
|
|
38
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
39
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
40
|
+
export declare class LiFiBridgeAdapter implements BridgeRoutePort {
|
|
41
|
+
readonly adapterId: "lifi";
|
|
42
|
+
private readonly impl;
|
|
43
|
+
constructor(client?: BridgeClientLike);
|
|
44
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
45
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
46
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=lifi-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifi-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/lifi-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,SAAS,EAAG,MAAM,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LiFiBridgeAdapter — `BridgeRoutePort` backed by LI.FI (M8 SDK gap).
|
|
3
|
+
*
|
|
4
|
+
* **Status (2026-05):** detect-via-presence. Constructor accepts an
|
|
5
|
+
* optional `LiFiClientLike` (typically `tenzro-sdk` `BridgeClient.lifi`).
|
|
6
|
+
* When the client is present and exposes a method, calls forward; when
|
|
7
|
+
* not, calls throw "M8 pending — LI.FI SDK wrapper not wired (DESIGN.md
|
|
8
|
+
* §10 + §11.6)". Lets consumers compile against the port today and
|
|
9
|
+
* light up at SDK-swap time without re-wiring.
|
|
10
|
+
*
|
|
11
|
+
* The plan (DESIGN.md §10 milestone 8):
|
|
12
|
+
* - either embed `@lifi/sdk` via dynamic import behind a feature flag,
|
|
13
|
+
* - or wrap a Tenzro-hosted LI.FI proxy returning the same quote shape.
|
|
14
|
+
*
|
|
15
|
+
* Either way, the SDK's `BridgeClient.lifi.{quote,build,track}` is the
|
|
16
|
+
* single source of truth — the adapter only normalises wire shapes.
|
|
17
|
+
*
|
|
18
|
+
* Tenzro endpoints (Tenzro implements; SDK proxies; kernel consumes —
|
|
19
|
+
* applies symmetrically to all three bridge adapters):
|
|
20
|
+
*
|
|
21
|
+
* 1. `POST /v1/bridge/{vendor}/quote`
|
|
22
|
+
* Body: `{from_chain, to_chain, from_address, to_address,
|
|
23
|
+
* from_asset, amount, prefer?}`.
|
|
24
|
+
* Response: `{vendor, to_amount, fees, eta_sec, opaque, summary}`.
|
|
25
|
+
*
|
|
26
|
+
* 2. `POST /v1/bridge/{vendor}/build`
|
|
27
|
+
* Body: `{opaque}` from a previous quote.
|
|
28
|
+
* Response: `{transactions: [{chain, body, label}], tracker_id}`.
|
|
29
|
+
*
|
|
30
|
+
* 3. `GET /v1/bridge/{vendor}/track/{trackerId}` (long-poll, SSE, or
|
|
31
|
+
* websocket — adapter wrapper hides the transport)
|
|
32
|
+
* Stream of `{tracker_id, phase, source_tx?, destination_tx?, error?}`.
|
|
33
|
+
*
|
|
34
|
+
* `vendor` ∈ `{lifi, ccip, layerzero}` per DESIGN.md §10.
|
|
35
|
+
*
|
|
36
|
+
* Spec ref: https://docs.li.fi/
|
|
37
|
+
*/
|
|
38
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
39
|
+
export class LiFiBridgeAdapter {
|
|
40
|
+
adapterId = 'lifi';
|
|
41
|
+
impl;
|
|
42
|
+
constructor(client) {
|
|
43
|
+
this.impl = bridgeAdapterFromClient('lifi', client);
|
|
44
|
+
}
|
|
45
|
+
quote = (req) => this.impl.quote(req);
|
|
46
|
+
build = (req) => this.impl.build(req);
|
|
47
|
+
track = (id) => this.impl.track(id);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=lifi-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifi-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/lifi-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,iBAAiB;IACnB,SAAS,GAAG,MAAe,CAAC;IACpB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WormholeBridgeAdapter — `BridgeRoutePort` backed by Wormhole.
|
|
3
|
+
*
|
|
4
|
+
* Tenzro's BridgeRouter exposes Wormhole alongside LI.FI/CCIP/LayerZero
|
|
5
|
+
* (per docs/bridge). All vendor adapters share the same shared
|
|
6
|
+
* `client.bridge` shape — see `bridge-adapter-base.ts` for the
|
|
7
|
+
* detect-via-presence body and the SDK contract.
|
|
8
|
+
*
|
|
9
|
+
* Wormhole-specific notes for the SDK implementer:
|
|
10
|
+
* - Wormhole VAAs are the delivery primitive; the SDK surfaces the
|
|
11
|
+
* `tracker_id` as the source-chain emitter sequence until the
|
|
12
|
+
* destination delivery hash is observed.
|
|
13
|
+
*
|
|
14
|
+
* Spec ref: https://docs.wormhole.com/
|
|
15
|
+
*/
|
|
16
|
+
import type { BridgeRoutePort } from '../bridge.js';
|
|
17
|
+
import { type BridgeClientLike } from './bridge-adapter-base.js';
|
|
18
|
+
export declare class WormholeBridgeAdapter implements BridgeRoutePort {
|
|
19
|
+
readonly adapterId: "wormhole";
|
|
20
|
+
private readonly impl;
|
|
21
|
+
constructor(client?: BridgeClientLike);
|
|
22
|
+
quote: (req: Parameters<BridgeRoutePort["quote"]>[0]) => Promise<import("../bridge.js").BridgeQuote>;
|
|
23
|
+
build: (req: Parameters<BridgeRoutePort["build"]>[0]) => Promise<import("../bridge.js").BridgeBuildResult>;
|
|
24
|
+
track: (id: string) => AsyncIterable<import("../bridge.js").BridgeStatus>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=wormhole-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wormhole-adapter.d.ts","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/wormhole-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,0BAA0B,CAAC;AAE1F,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,SAAS,EAAG,UAAU,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;gBAE3B,MAAM,CAAC,EAAE,gBAAgB;IAIrC,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,iDAA0B;IAC/E,KAAK,QAAS,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,uDAA0B;IAC/E,KAAK,OAAQ,MAAM,wDAAyB;CAC7C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WormholeBridgeAdapter — `BridgeRoutePort` backed by Wormhole.
|
|
3
|
+
*
|
|
4
|
+
* Tenzro's BridgeRouter exposes Wormhole alongside LI.FI/CCIP/LayerZero
|
|
5
|
+
* (per docs/bridge). All vendor adapters share the same shared
|
|
6
|
+
* `client.bridge` shape — see `bridge-adapter-base.ts` for the
|
|
7
|
+
* detect-via-presence body and the SDK contract.
|
|
8
|
+
*
|
|
9
|
+
* Wormhole-specific notes for the SDK implementer:
|
|
10
|
+
* - Wormhole VAAs are the delivery primitive; the SDK surfaces the
|
|
11
|
+
* `tracker_id` as the source-chain emitter sequence until the
|
|
12
|
+
* destination delivery hash is observed.
|
|
13
|
+
*
|
|
14
|
+
* Spec ref: https://docs.wormhole.com/
|
|
15
|
+
*/
|
|
16
|
+
import { bridgeAdapterFromClient } from "./bridge-adapter-base.js";
|
|
17
|
+
export class WormholeBridgeAdapter {
|
|
18
|
+
adapterId = 'wormhole';
|
|
19
|
+
impl;
|
|
20
|
+
constructor(client) {
|
|
21
|
+
this.impl = bridgeAdapterFromClient('wormhole', client);
|
|
22
|
+
}
|
|
23
|
+
quote = (req) => this.impl.quote(req);
|
|
24
|
+
build = (req) => this.impl.build(req);
|
|
25
|
+
track = (id) => this.impl.track(id);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=wormhole-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wormhole-adapter.js","sourceRoot":"","sources":["../../../../src/ports/bridge/adapters/wormhole-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAyB,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAE1F,MAAM,OAAO,qBAAqB;IACvB,SAAS,GAAG,UAAmB,CAAC;IACxB,IAAI,CAAkB;IAEvC,YAAY,MAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,GAA4C,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;CAC7C"}
|