tenzro-wallet 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/README.md +15 -3
  2. package/dist/custody/internal-mpc.d.ts +10 -4
  3. package/dist/custody/internal-mpc.d.ts.map +1 -1
  4. package/dist/custody/internal-mpc.js +10 -4
  5. package/dist/custody/internal-mpc.js.map +1 -1
  6. package/dist/ports/axelar/adapter.d.ts +15 -0
  7. package/dist/ports/axelar/adapter.d.ts.map +1 -0
  8. package/dist/ports/axelar/adapter.js +22 -0
  9. package/dist/ports/axelar/adapter.js.map +1 -0
  10. package/dist/ports/axelar/axelar.d.ts +58 -0
  11. package/dist/ports/axelar/axelar.d.ts.map +1 -0
  12. package/dist/ports/axelar/axelar.js +14 -0
  13. package/dist/ports/axelar/axelar.js.map +1 -0
  14. package/dist/ports/axelar/index.d.ts +4 -0
  15. package/dist/ports/axelar/index.d.ts.map +1 -0
  16. package/dist/ports/axelar/index.js +2 -0
  17. package/dist/ports/axelar/index.js.map +1 -0
  18. package/dist/ports/babylon/adapter.d.ts +17 -0
  19. package/dist/ports/babylon/adapter.d.ts.map +1 -0
  20. package/dist/ports/babylon/adapter.js +28 -0
  21. package/dist/ports/babylon/adapter.js.map +1 -0
  22. package/dist/ports/babylon/babylon.d.ts +55 -0
  23. package/dist/ports/babylon/babylon.d.ts.map +1 -0
  24. package/dist/ports/babylon/babylon.js +18 -0
  25. package/dist/ports/babylon/babylon.js.map +1 -0
  26. package/dist/ports/babylon/index.d.ts +4 -0
  27. package/dist/ports/babylon/index.d.ts.map +1 -0
  28. package/dist/ports/babylon/index.js +2 -0
  29. package/dist/ports/babylon/index.js.map +1 -0
  30. package/dist/ports/caip/adapter.d.ts +14 -0
  31. package/dist/ports/caip/adapter.d.ts.map +1 -0
  32. package/dist/ports/caip/adapter.js +19 -0
  33. package/dist/ports/caip/adapter.js.map +1 -0
  34. package/dist/ports/caip/caip.d.ts +48 -0
  35. package/dist/ports/caip/caip.d.ts.map +1 -0
  36. package/dist/ports/caip/caip.js +19 -0
  37. package/dist/ports/caip/caip.js.map +1 -0
  38. package/dist/ports/caip/index.d.ts +4 -0
  39. package/dist/ports/caip/index.d.ts.map +1 -0
  40. package/dist/ports/caip/index.js +2 -0
  41. package/dist/ports/caip/index.js.map +1 -0
  42. package/dist/ports/capital/adapter.d.ts +32 -0
  43. package/dist/ports/capital/adapter.d.ts.map +1 -0
  44. package/dist/ports/capital/adapter.js +48 -0
  45. package/dist/ports/capital/adapter.js.map +1 -0
  46. package/dist/ports/capital/capital.d.ts +39 -0
  47. package/dist/ports/capital/capital.d.ts.map +1 -0
  48. package/dist/ports/capital/capital.js +19 -0
  49. package/dist/ports/capital/capital.js.map +1 -0
  50. package/dist/ports/capital/index.d.ts +4 -0
  51. package/dist/ports/capital/index.d.ts.map +1 -0
  52. package/dist/ports/capital/index.js +2 -0
  53. package/dist/ports/capital/index.js.map +1 -0
  54. package/dist/ports/eip7702/adapter.d.ts +17 -0
  55. package/dist/ports/eip7702/adapter.d.ts.map +1 -0
  56. package/dist/ports/eip7702/adapter.js +24 -0
  57. package/dist/ports/eip7702/adapter.js.map +1 -0
  58. package/dist/ports/eip7702/eip7702.d.ts +46 -0
  59. package/dist/ports/eip7702/eip7702.d.ts.map +1 -0
  60. package/dist/ports/eip7702/eip7702.js +16 -0
  61. package/dist/ports/eip7702/eip7702.js.map +1 -0
  62. package/dist/ports/eip7702/index.d.ts +4 -0
  63. package/dist/ports/eip7702/index.d.ts.map +1 -0
  64. package/dist/ports/eip7702/index.js +2 -0
  65. package/dist/ports/eip7702/index.js.map +1 -0
  66. package/dist/ports/erc7683/adapter.d.ts +16 -0
  67. package/dist/ports/erc7683/adapter.d.ts.map +1 -0
  68. package/dist/ports/erc7683/adapter.js +25 -0
  69. package/dist/ports/erc7683/adapter.js.map +1 -0
  70. package/dist/ports/erc7683/erc7683.d.ts +41 -0
  71. package/dist/ports/erc7683/erc7683.d.ts.map +1 -0
  72. package/dist/ports/erc7683/erc7683.js +13 -0
  73. package/dist/ports/erc7683/erc7683.js.map +1 -0
  74. package/dist/ports/erc7683/index.d.ts +4 -0
  75. package/dist/ports/erc7683/index.d.ts.map +1 -0
  76. package/dist/ports/erc7683/index.js +2 -0
  77. package/dist/ports/erc7683/index.js.map +1 -0
  78. package/dist/ports/hyperlane/adapter.d.ts +15 -0
  79. package/dist/ports/hyperlane/adapter.d.ts.map +1 -0
  80. package/dist/ports/hyperlane/adapter.js +22 -0
  81. package/dist/ports/hyperlane/adapter.js.map +1 -0
  82. package/dist/ports/hyperlane/hyperlane.d.ts +49 -0
  83. package/dist/ports/hyperlane/hyperlane.d.ts.map +1 -0
  84. package/dist/ports/hyperlane/hyperlane.js +11 -0
  85. package/dist/ports/hyperlane/hyperlane.js.map +1 -0
  86. package/dist/ports/hyperlane/index.d.ts +4 -0
  87. package/dist/ports/hyperlane/index.d.ts.map +1 -0
  88. package/dist/ports/hyperlane/index.js +2 -0
  89. package/dist/ports/hyperlane/index.js.map +1 -0
  90. package/dist/ports/index.d.ts +11 -0
  91. package/dist/ports/index.d.ts.map +1 -1
  92. package/dist/ports/index.js +35 -0
  93. package/dist/ports/index.js.map +1 -1
  94. package/dist/ports/permit2/adapter.d.ts +15 -0
  95. package/dist/ports/permit2/adapter.d.ts.map +1 -0
  96. package/dist/ports/permit2/adapter.js +22 -0
  97. package/dist/ports/permit2/adapter.js.map +1 -0
  98. package/dist/ports/permit2/index.d.ts +4 -0
  99. package/dist/ports/permit2/index.d.ts.map +1 -0
  100. package/dist/ports/permit2/index.js +2 -0
  101. package/dist/ports/permit2/index.js.map +1 -0
  102. package/dist/ports/permit2/permit2.d.ts +52 -0
  103. package/dist/ports/permit2/permit2.d.ts.map +1 -0
  104. package/dist/ports/permit2/permit2.js +13 -0
  105. package/dist/ports/permit2/permit2.js.map +1 -0
  106. package/dist/ports/secure-mint/adapter.d.ts +20 -0
  107. package/dist/ports/secure-mint/adapter.d.ts.map +1 -0
  108. package/dist/ports/secure-mint/adapter.js +31 -0
  109. package/dist/ports/secure-mint/adapter.js.map +1 -0
  110. package/dist/ports/secure-mint/index.d.ts +4 -0
  111. package/dist/ports/secure-mint/index.d.ts.map +1 -0
  112. package/dist/ports/secure-mint/index.js +2 -0
  113. package/dist/ports/secure-mint/index.js.map +1 -0
  114. package/dist/ports/secure-mint/secure-mint.d.ts +40 -0
  115. package/dist/ports/secure-mint/secure-mint.d.ts.map +1 -0
  116. package/dist/ports/secure-mint/secure-mint.js +11 -0
  117. package/dist/ports/secure-mint/secure-mint.js.map +1 -0
  118. package/dist/ports/training/adapter.d.ts +41 -0
  119. package/dist/ports/training/adapter.d.ts.map +1 -0
  120. package/dist/ports/training/adapter.js +69 -0
  121. package/dist/ports/training/adapter.js.map +1 -0
  122. package/dist/ports/training/index.d.ts +4 -0
  123. package/dist/ports/training/index.d.ts.map +1 -0
  124. package/dist/ports/training/index.js +2 -0
  125. package/dist/ports/training/index.js.map +1 -0
  126. package/dist/ports/training/training.d.ts +90 -0
  127. package/dist/ports/training/training.d.ts.map +1 -0
  128. package/dist/ports/training/training.js +26 -0
  129. package/dist/ports/training/training.js.map +1 -0
  130. package/dist/ports/workflow/adapter.d.ts +33 -0
  131. package/dist/ports/workflow/adapter.d.ts.map +1 -0
  132. package/dist/ports/workflow/adapter.js +64 -0
  133. package/dist/ports/workflow/adapter.js.map +1 -0
  134. package/dist/ports/workflow/index.d.ts +4 -0
  135. package/dist/ports/workflow/index.d.ts.map +1 -0
  136. package/dist/ports/workflow/index.js +2 -0
  137. package/dist/ports/workflow/index.js.map +1 -0
  138. package/dist/ports/workflow/workflow.d.ts +33 -0
  139. package/dist/ports/workflow/workflow.d.ts.map +1 -0
  140. package/dist/ports/workflow/workflow.js +11 -0
  141. package/dist/ports/workflow/workflow.js.map +1 -0
  142. package/package.json +22 -4
package/README.md CHANGED
@@ -9,7 +9,12 @@ The official wallet for [Tenzro Network](https://tenzro.com) — a browser-clean
9
9
  - **Passkey-quorum custody** — no seed phrases. Device share + node-TEE co-signer, FROST-signed Ed25519 + ML-DSA-65 (FIPS 204) post-quantum leg.
10
10
  - **Cross-VM moves on Tenzro are pointer ops, not bridges.** Native ↔ EVM ↔ SVM go through precompile `0x1003` / the `tenzro_cross_vm` SVM program — instant, no bridge risk.
11
11
  - **Agent payments built-in** — AP2 (Google), x402 (Coinbase), Visa TAP, Mastercard Agent Pay, OpenAI ACP, ERC-8004 trustless agent identity, ERC-7802 cross-chain mint/burn.
12
- - **Six-vendor bridge router** — LI.FI, Chainlink CCIP, LayerZero V2, Wormhole, deBridge, Canton HTLC. The kernel never picks a vendor for you; it surfaces all available quotes.
12
+ - **Capital markets + multi-party workflows** — Capital Intents (open / quote / assign / execute / verify / compensate / settle), reserve attestations + attested mints, saga workflows with AP2 / x402 / MPP / Stripe SPT / Visa TAP / Mastercard Agent Pay mandate binding.
13
+ - **EVM primitives, first-class** — EIP-7702 (Pectra Type-4) delegation, Permit2 SignatureTransfer with optional ERC-7683-witness binding, Secure-Mint registry (1:1 reserve invariant for tokenized RWAs), ERC-7683 cross-chain intents.
14
+ - **Eight-vendor bridge router** — LI.FI, Chainlink CCIP, LayerZero V2, Wormhole, deBridge, Canton HTLC, Hyperlane V3 (sovereign Tenzro-ISM), Axelar GMP (Cosmos / Move / Stellar / XRPL). The kernel never picks a vendor for you; it surfaces all available quotes.
15
+ - **Chain-agnostic discovery (CAIP)** — CAIP-2 / CAIP-10 / CAIP-19 per the submitted `tenzro` CASA namespace (`ChainAgnostic/namespaces#184`), so every dApp connect + agent handshake returns unambiguous chain + account + asset labels.
16
+ - **Babylon BTC-secured staking, surfaced.** Read-side surface for staking dashboards (list finality providers, sum BTC delegations, list delegations) plus validator-operator write paths so a validator host can use the wallet kernel as the EOTS signing surface.
17
+ - **Tenzro Train protocol port (Phase 4 Confidential-tier).** Read + write surface for the distributed-training protocol layer — inspect runs and sealed receipts, sign training task posts, enroll the wallet's identity as a trainer DID (with `ConfidentialEnrollment` carrying the TEE attestation that binds to the sealed-shard manifest), submit outer gradients, install sealed-shard manifests. Read-only mode is available for monitoring agents that should never mutate state.
13
18
 
14
19
  ## Install
15
20
 
@@ -82,7 +87,12 @@ Six independent surfaces (Tenzro native, EVM-on-Tenzro, SVM-on-Tenzro, Canton in
82
87
  | `KernelEip1193Provider` | EIP-1193 `request(method, params)` provider built on top of a `WalletKernel`. |
83
88
  | Custody drivers | `frostEd25519Driver`, `frostSecp256k1Driver`, `hybridEd25519MlDsaDriver`, `mlDsaCoordinator`, passkey-share unwrappers (PRF/largeBlob/escrow). |
84
89
  | Agent ports | AP2, ACP, ERC-8004, ERC-7802, HTLC escrow, nanopayment channels, agent-bond, insurance, lifecycle, principal-chain, fee estimator, session-key, payment-rails (Visa/Mastercard/x402), TEE attestation. |
85
- | Bridge adapters | `LiFiBridgeAdapter`, `CcipBridgeAdapter`, `LayerZeroBridgeAdapter`, `WormholeBridgeAdapter`, `DebridgeAdapter`, `CantonBridgeAdapter`. |
90
+ | Bridge adapters | `LiFiBridgeAdapter`, `CcipBridgeAdapter`, `LayerZeroBridgeAdapter`, `WormholeBridgeAdapter`, `DebridgeAdapter`, `CantonBridgeAdapter`, `HyperlaneAdapter`, `AxelarAdapter`. |
91
+ | Capital + workflow ports | `CapitalIntentAdapter` (`open` / `quote` / `assign` / `execute` / `verify` / `compensate` / `settle` / `getIntent` + `submitReserveAttestation` / `getReserve` / `attestedMint`), `WorkflowAdapter` (`open` / `stepExecute` / `stepVerify` / `stepCompensate` / `finalize` / `getWorkflow` / `getSaga` / `getLifecycle` / `getReceipt` / `getOperationalMetrics` / `mirrorToCanton` / `verifyDidEnvelope` + listers). |
92
+ | EVM-primitive ports | `Eip7702Adapter` (signing hash + designator helpers), `Permit2Adapter` (`domainSeparator` / `digest` / `verifyAndConsume` / `nonceUsed` with optional ERC-7683-witness binding), `SecureMintAdapter` (per-token 1:1 reserve invariant for tokenized RWAs), `Erc7683Adapter` (origin-side reads + destination-side fill commits). |
93
+ | Discovery port | `CaipAdapter` — `caip2()` / `caip10(address)` / `caip19({ kind, token_id?, collection_id?, nft_token_id? })` per the submitted `tenzro` CASA namespace. |
94
+ | Shared-security port | `BabylonAdapter` — read surface for staking dashboards (`listFinalityProviders` / `totalStakeForProvider` / `listDelegations`) + validator-operator write paths (`registerFinalityProvider` / `submitFinalitySignature`) so a validator host can use the wallet kernel as the signing surface. |
95
+ | Distributed-training port | `TrainingAdapter(read[, write])` — read + write surface for the Tenzro Train protocol layer. Read methods inspect active runs, sealed receipts, and Confidential-tier sealed-shard manifests. Write methods (gated on a `TrainingClient`) post tasks, enroll trainers (with `ConfidentialEnrollment` for Phase 4 TEE-attested enrollment), submit outer gradients, finalize rounds, install sealed-shard manifests. |
86
96
  | Surfaces | `tenzroNativeSurface`, `evmOnTenzroSurface`, `svmOnTenzroSurface`, `cantonInternalSurface`, `cantonExternalSurface`, `cantonOnboardingSurface`. |
87
97
  | Router | `routeIntent()` — chooses the right surface (or bridge) for an intent and returns a typed plan. |
88
98
  | Balance aggregator | `BalanceAggregator` — single-pass cross-surface balance read. |
@@ -116,8 +126,10 @@ Testnet-functional today against the live Tenzro testnet at `rpc.tenzro.network`
116
126
  | M7 | Settlement (Visa TAP, Mastercard Agent Pay, x402) | Ports declared, SDK-pending |
117
127
  | M8 | Bridge router (six vendors) | Ports + six adapters shipped, SDK-pending |
118
128
  | M9 | TDIP integration (delegate sets, recovery flows) | Kernel orchestrators shipped |
129
+ | M10 | Capital markets + workflows + EVM primitives + extended cross-chain reach + CAIP discovery | Ports + nine adapters shipped against `tenzro-sdk@^0.4.0` |
130
+ | M11 | Babylon Bitcoin staking + Tenzro Train protocol port (Phase 4 Confidential-tier) | Babylon port (read + validator-write surface) + Training port (`TrainingAdapter(read)` for monitoring, `TrainingAdapter(read, write)` for full custodial enrollment + sealed-shard manifest install) against `tenzro-sdk@^0.4.1` |
119
131
 
120
- **395 unit tests** pass; 4 env-gated integration smokes exercise the live testnet end-to-end.
132
+ **407 unit tests** pass; 5 env-gated integration smokes exercise the live testnet end-to-end.
121
133
 
122
134
  ## Repository
123
135
 
@@ -1,9 +1,15 @@
1
1
  /**
2
- * In-memory 2-of-3 MPC stub. Stand-in for the real Shamir/threshold
3
- * implementation that lands in M2 alongside the Tenzro Cortex TEE driver.
2
+ * In-memory test stub for `SigningDriver`. Used by unit tests that need a
3
+ * driver-shaped object without touching real crypto.
4
4
  *
5
- * Returns deterministic mock signatures so tests can assert behavior without
6
- * pulling in real crypto in M1.
5
+ * Production code goes through `custody/frost/*` (FROST-Ed25519 +
6
+ * FROST-secp256k1 device drivers shipped in M5) and the hybrid
7
+ * `custody/mldsa/*` ML-DSA-65 coordinator. This stub is not on any
8
+ * production path and exists solely to keep tests fast and deterministic.
9
+ *
10
+ * Returns deterministic mock signatures sized to match real wire formats
11
+ * (Ed25519 64 B, secp256k1 65 B, ML-DSA-65 3293 B) so surface-level
12
+ * serialization tests round-trip correctly.
7
13
  */
8
14
  import type { SigningDriver } from '../types/signing-driver.js';
9
15
  export interface InternalMpcOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"internal-mpc.d.ts","sourceRoot":"","sources":["../../src/custody/internal-mpc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,4BAA4B,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,aAAa,CAa9E"}
1
+ {"version":3,"file":"internal-mpc.d.ts","sourceRoot":"","sources":["../../src/custody/internal-mpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,4BAA4B,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,aAAa,CAa9E"}
@@ -1,9 +1,15 @@
1
1
  /**
2
- * In-memory 2-of-3 MPC stub. Stand-in for the real Shamir/threshold
3
- * implementation that lands in M2 alongside the Tenzro Cortex TEE driver.
2
+ * In-memory test stub for `SigningDriver`. Used by unit tests that need a
3
+ * driver-shaped object without touching real crypto.
4
4
  *
5
- * Returns deterministic mock signatures so tests can assert behavior without
6
- * pulling in real crypto in M1.
5
+ * Production code goes through `custody/frost/*` (FROST-Ed25519 +
6
+ * FROST-secp256k1 device drivers shipped in M5) and the hybrid
7
+ * `custody/mldsa/*` ML-DSA-65 coordinator. This stub is not on any
8
+ * production path and exists solely to keep tests fast and deterministic.
9
+ *
10
+ * Returns deterministic mock signatures sized to match real wire formats
11
+ * (Ed25519 64 B, secp256k1 65 B, ML-DSA-65 3293 B) so surface-level
12
+ * serialization tests round-trip correctly.
7
13
  */
8
14
  export function internalMpcDriver(opts = {}) {
9
15
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"internal-mpc.js","sourceRoot":"","sources":["../../src/custody/internal-mpc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE;IAC7D,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,KAAK,CAAC,IAAI,CAAC,GAAmB;YAC5B,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAiB,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAoB,EAAE,MAAc,EAAE,GAAW;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,GAAG,GAAG,MAAM,KAAK,mBAAmB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,GAAG,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAClG,CAAC;IACD,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,MAAM,KAAK,WAAW;QAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"internal-mpc.js","sourceRoot":"","sources":["../../src/custody/internal-mpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE;IAC7D,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,KAAK,CAAC,IAAI,CAAC,GAAmB;YAC5B,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAiB,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAoB,EAAE,MAAc,EAAE,GAAW;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,kEAAkE;IAClE,MAAM,GAAG,GAAG,MAAM,KAAK,mBAAmB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,GAAG,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;IAClG,CAAC;IACD,0EAA0E;IAC1E,iDAAiD;IACjD,IAAI,MAAM,KAAK,WAAW;QAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACjD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * AxelarAdapter — `AxelarPort` backed by `tenzro-sdk` `AxelarClient`.
3
+ */
4
+ import type { AxelarClient } from 'tenzro-sdk';
5
+ import type { AxelarCallContractRequest, AxelarCallContractResult, AxelarChain, AxelarMessage, AxelarPayGasRequest, AxelarPayGasResult, AxelarPort } from './axelar.js';
6
+ export type AxelarClientLike = Pick<AxelarClient, 'listChains' | 'callContract' | 'payGas' | 'getMessage'>;
7
+ export declare class AxelarAdapter implements AxelarPort {
8
+ private readonly client;
9
+ constructor(client: AxelarClientLike);
10
+ listChains(): Promise<AxelarChain[]>;
11
+ callContract(req: AxelarCallContractRequest): Promise<AxelarCallContractResult>;
12
+ payGas(req: AxelarPayGasRequest): Promise<AxelarPayGasResult>;
13
+ getMessage(payloadHash: string): Promise<AxelarMessage | null>;
14
+ }
15
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/axelar/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,YAAY,EACZ,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,CACxD,CAAC;AAEF,qBAAa,aAAc,YAAW,UAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAErD,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAGpC,YAAY,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAG/E,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAG7D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * AxelarAdapter — `AxelarPort` backed by `tenzro-sdk` `AxelarClient`.
3
+ */
4
+ export class AxelarAdapter {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ listChains() {
10
+ return this.client.listChains();
11
+ }
12
+ callContract(req) {
13
+ return this.client.callContract(req);
14
+ }
15
+ payGas(req) {
16
+ return this.client.payGas(req);
17
+ }
18
+ getMessage(payloadHash) {
19
+ return this.client.getMessage(payloadHash);
20
+ }
21
+ }
22
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/axelar/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,MAAwB;QAAxB,WAAM,GAAN,MAAM,CAAkB;IAAG,CAAC;IAEzD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAA4B,CAAC;IAC5D,CAAC;IACD,YAAY,CAAC,GAA8B;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAY,CAAsC,CAAC;IACrF,CAAC;IACD,MAAM,CAAC,GAAwB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAY,CAAgC,CAAC;IACzE,CAAC;IACD,UAAU,CAAC,WAAmB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAkC,CAAC;IAC9E,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * AxelarPort — Axelar GMP (General Message Passing) reach.
3
+ *
4
+ * Coverage: Cosmos (Osmosis, Cosmos Hub, Juno, Neutron, Injective,
5
+ * Kujira, Crescent, Evmos), Move (Aptos, Sui), Stellar, XRPL,
6
+ * Hyperliquid, Filecoin EVM, Kava, EVM mainline chains, and Tenzro.
7
+ *
8
+ * Wallet usage: an 8th vendor on the cross-chain route picker, used
9
+ * specifically when the destination is non-EVM. The wallet asks for a
10
+ * call-contract dispatch, optionally prepays gas, and tracks by payload
11
+ * hash (correlation id is `keccak256(payload)`).
12
+ */
13
+ export interface AxelarChain {
14
+ readonly chain_id: string;
15
+ readonly family: string;
16
+ readonly gateway?: string;
17
+ readonly gas_service?: string;
18
+ }
19
+ export interface AxelarCallContractRequest {
20
+ readonly source_chain: string;
21
+ readonly destination_chain: string;
22
+ readonly destination_address: string;
23
+ readonly payload_hex: string;
24
+ readonly gas_token?: string;
25
+ readonly gas_amount?: string;
26
+ }
27
+ export interface AxelarCallContractResult {
28
+ readonly payload_hash: string;
29
+ readonly source_chain: string;
30
+ readonly destination_chain: string;
31
+ }
32
+ export interface AxelarPayGasRequest {
33
+ readonly payload_hash: string;
34
+ readonly source_chain: string;
35
+ readonly destination_chain: string;
36
+ readonly destination_address: string;
37
+ readonly gas_token: string;
38
+ readonly gas_amount: string;
39
+ }
40
+ export interface AxelarPayGasResult {
41
+ readonly paid: boolean;
42
+ readonly gas_token: string;
43
+ readonly gas_amount: string;
44
+ }
45
+ export interface AxelarMessage {
46
+ readonly payload_hash: string;
47
+ readonly source_chain: string;
48
+ readonly destination_chain: string;
49
+ readonly destination_address: string;
50
+ readonly status: string;
51
+ }
52
+ export interface AxelarPort {
53
+ listChains(): Promise<AxelarChain[]>;
54
+ callContract(req: AxelarCallContractRequest): Promise<AxelarCallContractResult>;
55
+ payGas(req: AxelarPayGasRequest): Promise<AxelarPayGasResult>;
56
+ getMessage(payloadHash: string): Promise<AxelarMessage | null>;
57
+ }
58
+ //# sourceMappingURL=axelar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axelar.d.ts","sourceRoot":"","sources":["../../../src/ports/axelar/axelar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACrC,YAAY,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAChF,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAChE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * AxelarPort — Axelar GMP (General Message Passing) reach.
3
+ *
4
+ * Coverage: Cosmos (Osmosis, Cosmos Hub, Juno, Neutron, Injective,
5
+ * Kujira, Crescent, Evmos), Move (Aptos, Sui), Stellar, XRPL,
6
+ * Hyperliquid, Filecoin EVM, Kava, EVM mainline chains, and Tenzro.
7
+ *
8
+ * Wallet usage: an 8th vendor on the cross-chain route picker, used
9
+ * specifically when the destination is non-EVM. The wallet asks for a
10
+ * call-contract dispatch, optionally prepays gas, and tracks by payload
11
+ * hash (correlation id is `keccak256(payload)`).
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=axelar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axelar.js","sourceRoot":"","sources":["../../../src/ports/axelar/axelar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
@@ -0,0 +1,4 @@
1
+ export type { AxelarPort, AxelarChain, AxelarCallContractRequest, AxelarCallContractResult, AxelarPayGasRequest, AxelarPayGasResult, AxelarMessage, } from './axelar.js';
2
+ export { AxelarAdapter } from './adapter.js';
3
+ export type { AxelarClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/axelar/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { AxelarAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/axelar/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * BabylonAdapter — `BabylonPort` backed by `tenzro-sdk` `BabylonClient`.
3
+ */
4
+ import type { BabylonClient } from 'tenzro-sdk';
5
+ import type { BabylonPort, BabylonTotalStake, BtcDelegation, FinalityProvider, RegisterFinalityProviderRequest, SubmitFinalitySignatureRequest } from './babylon.js';
6
+ export type BabylonClientLike = Pick<BabylonClient, 'registerFinalityProvider' | 'getFinalityProvider' | 'listFinalityProviders' | 'totalStakeForProvider' | 'submitFinalitySignature' | 'listDelegations'>;
7
+ export declare class BabylonAdapter implements BabylonPort {
8
+ private readonly client;
9
+ constructor(client: BabylonClientLike);
10
+ registerFinalityProvider(req: RegisterFinalityProviderRequest): Promise<FinalityProvider>;
11
+ getFinalityProvider(validator: string): Promise<FinalityProvider | null>;
12
+ listFinalityProviders(): Promise<FinalityProvider[]>;
13
+ totalStakeForProvider(validator: string): Promise<BabylonTotalStake>;
14
+ submitFinalitySignature(req: SubmitFinalitySignatureRequest): Promise<unknown>;
15
+ listDelegations(validator: string): Promise<BtcDelegation[]>;
16
+ }
17
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/babylon/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACX,0BAA0B,GAC1B,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,yBAAyB,GACzB,iBAAiB,CACpB,CAAC;AAEF,qBAAa,cAAe,YAAW,WAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEtD,wBAAwB,CACtB,GAAG,EAAE,+BAA+B,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAG5B,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAGxE,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAGpD,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAGpE,uBAAuB,CAAC,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC;IAG9E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAG7D"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * BabylonAdapter — `BabylonPort` backed by `tenzro-sdk` `BabylonClient`.
3
+ */
4
+ export class BabylonAdapter {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ registerFinalityProvider(req) {
10
+ return this.client.registerFinalityProvider(req);
11
+ }
12
+ getFinalityProvider(validator) {
13
+ return this.client.getFinalityProvider(validator);
14
+ }
15
+ listFinalityProviders() {
16
+ return this.client.listFinalityProviders();
17
+ }
18
+ totalStakeForProvider(validator) {
19
+ return this.client.totalStakeForProvider(validator);
20
+ }
21
+ submitFinalitySignature(req) {
22
+ return this.client.submitFinalitySignature(req);
23
+ }
24
+ listDelegations(validator) {
25
+ return this.client.listDelegations(validator);
26
+ }
27
+ }
28
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/babylon/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,wBAAwB,CACtB,GAAoC;QAEpC,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,GAAY,CAA8B,CAAC;IACzF,CAAC;IACD,mBAAmB,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAqC,CAAC;IACxF,CAAC;IACD,qBAAqB;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAiC,CAAC;IAC5E,CAAC;IACD,qBAAqB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAA+B,CAAC;IACpF,CAAC;IACD,uBAAuB,CAAC,GAAmC;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAY,CAAC,CAAC;IAC3D,CAAC;IACD,eAAe,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAA6B,CAAC;IAC5E,CAAC;CACF"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * BabylonPort — Babylon Bitcoin staking finality-providers protocol.
3
+ *
4
+ * Tenzro validators can opt into being economically secured by native
5
+ * BTC delegations through Babylon. Bitcoin holders delegate to a
6
+ * Tenzro validator (registered as a Babylon finality provider), and
7
+ * the validator must submit Extractable One-Time Signatures (EOTS)
8
+ * over Tenzro block hashes to avoid slashing of the delegated BTC.
9
+ *
10
+ * Wallet usage: read-side surface for staking dashboards (list
11
+ * providers, sum BTC delegations, list delegations for a provider).
12
+ * Write paths (`registerFinalityProvider`, `submitFinalitySignature`)
13
+ * are validator-operational and not user-facing in a typical wallet,
14
+ * but the port exposes them so a validator-operator host can use the
15
+ * wallet kernel as the signing surface.
16
+ */
17
+ export interface RegisterFinalityProviderRequest {
18
+ readonly validator: string;
19
+ /** 33-byte BTC public key (0x-prefixed hex). */
20
+ readonly btc_pk: string;
21
+ readonly commission_bps: number;
22
+ }
23
+ export interface FinalityProvider {
24
+ readonly validator: string;
25
+ readonly btc_pk: string;
26
+ readonly commission_bps: number;
27
+ readonly active: boolean;
28
+ }
29
+ export interface BabylonTotalStake {
30
+ readonly validator: string;
31
+ readonly total_satoshis: number;
32
+ readonly delegation_count: number;
33
+ }
34
+ export interface SubmitFinalitySignatureRequest {
35
+ readonly validator: string;
36
+ readonly block_hash: string;
37
+ /** EOTS signature over the block hash (0x-prefixed hex). */
38
+ readonly eots_signature: string;
39
+ }
40
+ export interface BtcDelegation {
41
+ readonly delegator_btc_pk: string;
42
+ readonly validator: string;
43
+ readonly satoshis: number;
44
+ readonly start_height: number;
45
+ readonly end_height?: number | null;
46
+ }
47
+ export interface BabylonPort {
48
+ registerFinalityProvider(req: RegisterFinalityProviderRequest): Promise<FinalityProvider>;
49
+ getFinalityProvider(validator: string): Promise<FinalityProvider | null>;
50
+ listFinalityProviders(): Promise<FinalityProvider[]>;
51
+ totalStakeForProvider(validator: string): Promise<BabylonTotalStake>;
52
+ submitFinalitySignature(req: SubmitFinalitySignatureRequest): Promise<unknown>;
53
+ listDelegations(validator: string): Promise<BtcDelegation[]>;
54
+ }
55
+ //# sourceMappingURL=babylon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babylon.d.ts","sourceRoot":"","sources":["../../../src/ports/babylon/babylon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,WAAW;IAC1B,wBAAwB,CACtB,GAAG,EAAE,+BAA+B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACzE,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACrD,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACrE,uBAAuB,CAAC,GAAG,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * BabylonPort — Babylon Bitcoin staking finality-providers protocol.
3
+ *
4
+ * Tenzro validators can opt into being economically secured by native
5
+ * BTC delegations through Babylon. Bitcoin holders delegate to a
6
+ * Tenzro validator (registered as a Babylon finality provider), and
7
+ * the validator must submit Extractable One-Time Signatures (EOTS)
8
+ * over Tenzro block hashes to avoid slashing of the delegated BTC.
9
+ *
10
+ * Wallet usage: read-side surface for staking dashboards (list
11
+ * providers, sum BTC delegations, list delegations for a provider).
12
+ * Write paths (`registerFinalityProvider`, `submitFinalitySignature`)
13
+ * are validator-operational and not user-facing in a typical wallet,
14
+ * but the port exposes them so a validator-operator host can use the
15
+ * wallet kernel as the signing surface.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=babylon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"babylon.js","sourceRoot":"","sources":["../../../src/ports/babylon/babylon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -0,0 +1,4 @@
1
+ export type { BabylonPort, RegisterFinalityProviderRequest, FinalityProvider, BabylonTotalStake, SubmitFinalitySignatureRequest, BtcDelegation, } from './babylon.js';
2
+ export { BabylonAdapter } from './adapter.js';
3
+ export type { BabylonClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/babylon/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,+BAA+B,EAC/B,gBAAgB,EAChB,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BabylonAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/babylon/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * CaipAdapter — `CaipPort` backed by `tenzro-sdk` `CaipClient`.
3
+ */
4
+ import type { CaipClient } from 'tenzro-sdk';
5
+ import type { Caip10Info, Caip19Info, Caip19Request, Caip2Info, CaipPort } from './caip.js';
6
+ export type CaipClientLike = Pick<CaipClient, 'caip2' | 'caip10' | 'caip19'>;
7
+ export declare class CaipAdapter implements CaipPort {
8
+ private readonly client;
9
+ constructor(client: CaipClientLike);
10
+ caip2(): Promise<Caip2Info>;
11
+ caip10(address: string): Promise<Caip10Info>;
12
+ caip19(params: Caip19Request): Promise<Caip19Info>;
13
+ }
14
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/caip/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE5F,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAE7E,qBAAa,WAAY,YAAW,QAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAEnD,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;IAG3B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAG5C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;CAGnD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * CaipAdapter — `CaipPort` backed by `tenzro-sdk` `CaipClient`.
3
+ */
4
+ export class CaipAdapter {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ caip2() {
10
+ return this.client.caip2();
11
+ }
12
+ caip10(address) {
13
+ return this.client.caip10(address);
14
+ }
15
+ caip19(params) {
16
+ return this.client.caip19(params);
17
+ }
18
+ }
19
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/ports/caip/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,OAAO,WAAW;IACO;IAA7B,YAA6B,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAEvD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAwB,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,OAAe;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAwB,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,MAAqB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAe,CAAwB,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * CaipPort — chain-agnostic identifiers per the submitted `tenzro` CASA
3
+ * namespace (`ChainAgnostic/namespaces#184`).
4
+ *
5
+ * - CAIP-2 chain id: `tenzro:<lowercase hex of first 16 bytes of
6
+ * genesis block hash>`. An EVM-compatible `evm_chain_id` sidecar is
7
+ * returned for tooling that needs the 64-bit EIP-155 chain id.
8
+ * - CAIP-10 account id: accepts hex or base58btc input, normalises to
9
+ * canonical 64-hex Tenzro address form.
10
+ * - CAIP-19 asset id: `slip44` (SLIP-44 coin index 1414421071),
11
+ * `token` (Tenzro token registry id, 32-byte hex), or `nft`
12
+ * (collection id + nft_token_id suffix).
13
+ *
14
+ * Wallet usage: the dApp connect / agent handshake flows return CAIP
15
+ * identifiers so the host can present an unambiguous chain + account
16
+ * label in every UI surface.
17
+ */
18
+ export interface Caip2Info {
19
+ readonly chain_id: string;
20
+ readonly namespace: string;
21
+ readonly reference: string;
22
+ readonly evm_chain_id: number;
23
+ }
24
+ export interface Caip10Info {
25
+ readonly account_id: string;
26
+ readonly chain_id: string;
27
+ readonly address: string;
28
+ }
29
+ export interface Caip19Request {
30
+ /** One of `"slip44"`, `"token"`, `"nft"`. */
31
+ readonly kind: 'slip44' | 'token' | 'nft' | string;
32
+ readonly token_id?: string;
33
+ readonly collection_id?: string;
34
+ readonly nft_token_id?: string;
35
+ }
36
+ export interface Caip19Info {
37
+ readonly asset_id: string;
38
+ readonly chain_id: string;
39
+ readonly asset_namespace: string;
40
+ readonly asset_reference: string;
41
+ readonly token_id?: string | null;
42
+ }
43
+ export interface CaipPort {
44
+ caip2(): Promise<Caip2Info>;
45
+ caip10(address: string): Promise<Caip10Info>;
46
+ caip19(params: Caip19Request): Promise<Caip19Info>;
47
+ }
48
+ //# sourceMappingURL=caip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip.d.ts","sourceRoot":"","sources":["../../../src/ports/caip/caip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACpD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * CaipPort — chain-agnostic identifiers per the submitted `tenzro` CASA
3
+ * namespace (`ChainAgnostic/namespaces#184`).
4
+ *
5
+ * - CAIP-2 chain id: `tenzro:<lowercase hex of first 16 bytes of
6
+ * genesis block hash>`. An EVM-compatible `evm_chain_id` sidecar is
7
+ * returned for tooling that needs the 64-bit EIP-155 chain id.
8
+ * - CAIP-10 account id: accepts hex or base58btc input, normalises to
9
+ * canonical 64-hex Tenzro address form.
10
+ * - CAIP-19 asset id: `slip44` (SLIP-44 coin index 1414421071),
11
+ * `token` (Tenzro token registry id, 32-byte hex), or `nft`
12
+ * (collection id + nft_token_id suffix).
13
+ *
14
+ * Wallet usage: the dApp connect / agent handshake flows return CAIP
15
+ * identifiers so the host can present an unambiguous chain + account
16
+ * label in every UI surface.
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=caip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caip.js","sourceRoot":"","sources":["../../../src/ports/caip/caip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,4 @@
1
+ export type { CaipPort, Caip2Info, Caip10Info, Caip19Request, Caip19Info } from './caip.js';
2
+ export { CaipAdapter } from './adapter.js';
3
+ export type { CaipClientLike } from './adapter.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/caip/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CaipAdapter } from "./adapter.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/caip/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * CapitalIntentAdapter — `CapitalIntentPort` backed by the `tenzro-sdk`
3
+ * `CapitalClient`. Mirrors the wallet's strict ports + adapters
4
+ * discipline: this is the only file in the kernel allowed to import
5
+ * `tenzro-sdk` for capital intents.
6
+ *
7
+ * SDK shape this targets (`tenzro-sdk@^0.4.0`).
8
+ */
9
+ import type { CapitalClient } from 'tenzro-sdk';
10
+ import type { CapitalIntentPort } from './capital.js';
11
+ export type CapitalClientLike = Pick<CapitalClient, 'open' | 'quote' | 'assign' | 'execute' | 'verify' | 'compensate' | 'settle' | 'get' | 'submitReserveAttestation' | 'getReserve' | 'attestedMint'>;
12
+ export declare class CapitalIntentAdapter implements CapitalIntentPort {
13
+ private readonly client;
14
+ constructor(client: CapitalClientLike);
15
+ open(intent: unknown): Promise<unknown>;
16
+ quote(intentId: string, solverDid: string, plan: string, price: number, etaSecs: number): Promise<unknown>;
17
+ assign(intentId: string, opts?: {
18
+ solverDid?: string;
19
+ auto?: boolean;
20
+ payer?: string;
21
+ payee?: string;
22
+ }): Promise<unknown>;
23
+ execute(intentId: string, leg: unknown): Promise<unknown>;
24
+ verify(intentId: string): Promise<unknown>;
25
+ compensate(intentId: string): Promise<unknown>;
26
+ settle(intentId: string, payee?: string): Promise<unknown>;
27
+ getIntent(intentId: string): Promise<unknown>;
28
+ submitReserveAttestation(attestation: unknown): Promise<unknown>;
29
+ getReserve(assetId: string): Promise<unknown>;
30
+ attestedMint(tokenId: string, to: string, amount: string, caller: string): Promise<unknown>;
31
+ }
32
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/ports/capital/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,aAAa,EACX,MAAM,GACN,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,KAAK,GACL,0BAA0B,GAC1B,YAAY,GACZ,cAAc,CACjB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,iBAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEtD,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGvC,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;IAGnB,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAChF,OAAO,CAAC,OAAO,CAAC;IAGnB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGzD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAG1C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAG9C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAG1D,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAG7C,wBAAwB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAGhE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAG7C,YAAY,CACV,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;CAGpB"}