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.
Files changed (471) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +128 -0
  3. package/dist/balance/aggregator.d.ts +16 -0
  4. package/dist/balance/aggregator.d.ts.map +1 -0
  5. package/dist/balance/aggregator.js +73 -0
  6. package/dist/balance/aggregator.js.map +1 -0
  7. package/dist/balance/index.d.ts +3 -0
  8. package/dist/balance/index.d.ts.map +1 -0
  9. package/dist/balance/index.js +2 -0
  10. package/dist/balance/index.js.map +1 -0
  11. package/dist/consent/index.d.ts +3 -0
  12. package/dist/consent/index.d.ts.map +1 -0
  13. package/dist/consent/index.js +2 -0
  14. package/dist/consent/index.js.map +1 -0
  15. package/dist/consent/policy.d.ts +27 -0
  16. package/dist/consent/policy.d.ts.map +1 -0
  17. package/dist/consent/policy.js +121 -0
  18. package/dist/consent/policy.js.map +1 -0
  19. package/dist/crypto/eip1559.d.ts +53 -0
  20. package/dist/crypto/eip1559.d.ts.map +1 -0
  21. package/dist/crypto/eip1559.js +79 -0
  22. package/dist/crypto/eip1559.js.map +1 -0
  23. package/dist/crypto/keccak256.d.ts +20 -0
  24. package/dist/crypto/keccak256.d.ts.map +1 -0
  25. package/dist/crypto/keccak256.js +167 -0
  26. package/dist/crypto/keccak256.js.map +1 -0
  27. package/dist/crypto/rlp.d.ts +30 -0
  28. package/dist/crypto/rlp.d.ts.map +1 -0
  29. package/dist/crypto/rlp.js +165 -0
  30. package/dist/crypto/rlp.js.map +1 -0
  31. package/dist/crypto/sha256.d.ts +14 -0
  32. package/dist/crypto/sha256.d.ts.map +1 -0
  33. package/dist/crypto/sha256.js +33 -0
  34. package/dist/crypto/sha256.js.map +1 -0
  35. package/dist/crypto/solana.d.ts +86 -0
  36. package/dist/crypto/solana.d.ts.map +1 -0
  37. package/dist/crypto/solana.js +218 -0
  38. package/dist/crypto/solana.js.map +1 -0
  39. package/dist/custody/frost/backend.d.ts +59 -0
  40. package/dist/custody/frost/backend.d.ts.map +1 -0
  41. package/dist/custody/frost/backend.js +83 -0
  42. package/dist/custody/frost/backend.js.map +1 -0
  43. package/dist/custody/frost/coordinator.d.ts +148 -0
  44. package/dist/custody/frost/coordinator.d.ts.map +1 -0
  45. package/dist/custody/frost/coordinator.js +58 -0
  46. package/dist/custody/frost/coordinator.js.map +1 -0
  47. package/dist/custody/frost/ed25519-driver.d.ts +30 -0
  48. package/dist/custody/frost/ed25519-driver.d.ts.map +1 -0
  49. package/dist/custody/frost/ed25519-driver.js +76 -0
  50. package/dist/custody/frost/ed25519-driver.js.map +1 -0
  51. package/dist/custody/frost/http-adapter.d.ts +77 -0
  52. package/dist/custody/frost/http-adapter.d.ts.map +1 -0
  53. package/dist/custody/frost/http-adapter.js +168 -0
  54. package/dist/custody/frost/http-adapter.js.map +1 -0
  55. package/dist/custody/frost/hybrid-driver.d.ts +37 -0
  56. package/dist/custody/frost/hybrid-driver.d.ts.map +1 -0
  57. package/dist/custody/frost/hybrid-driver.js +60 -0
  58. package/dist/custody/frost/hybrid-driver.js.map +1 -0
  59. package/dist/custody/frost/index.d.ts +12 -0
  60. package/dist/custody/frost/index.d.ts.map +1 -0
  61. package/dist/custody/frost/index.js +6 -0
  62. package/dist/custody/frost/index.js.map +1 -0
  63. package/dist/custody/frost/secp256k1-driver.d.ts +26 -0
  64. package/dist/custody/frost/secp256k1-driver.d.ts.map +1 -0
  65. package/dist/custody/frost/secp256k1-driver.js +78 -0
  66. package/dist/custody/frost/secp256k1-driver.js.map +1 -0
  67. package/dist/custody/index.d.ts +9 -0
  68. package/dist/custody/index.d.ts.map +1 -0
  69. package/dist/custody/index.js +11 -0
  70. package/dist/custody/index.js.map +1 -0
  71. package/dist/custody/internal-mpc.d.ts +14 -0
  72. package/dist/custody/internal-mpc.d.ts.map +1 -0
  73. package/dist/custody/internal-mpc.js +40 -0
  74. package/dist/custody/internal-mpc.js.map +1 -0
  75. package/dist/custody/mldsa/coordinator.d.ts +63 -0
  76. package/dist/custody/mldsa/coordinator.d.ts.map +1 -0
  77. package/dist/custody/mldsa/coordinator.js +44 -0
  78. package/dist/custody/mldsa/coordinator.js.map +1 -0
  79. package/dist/custody/mldsa/driver.d.ts +23 -0
  80. package/dist/custody/mldsa/driver.d.ts.map +1 -0
  81. package/dist/custody/mldsa/driver.js +43 -0
  82. package/dist/custody/mldsa/driver.js.map +1 -0
  83. package/dist/custody/mldsa/http-adapter.d.ts +59 -0
  84. package/dist/custody/mldsa/http-adapter.d.ts.map +1 -0
  85. package/dist/custody/mldsa/http-adapter.js +103 -0
  86. package/dist/custody/mldsa/http-adapter.js.map +1 -0
  87. package/dist/custody/mldsa/index.d.ts +7 -0
  88. package/dist/custody/mldsa/index.d.ts.map +1 -0
  89. package/dist/custody/mldsa/index.js +4 -0
  90. package/dist/custody/mldsa/index.js.map +1 -0
  91. package/dist/custody/pairing/http-adapter.d.ts +40 -0
  92. package/dist/custody/pairing/http-adapter.d.ts.map +1 -0
  93. package/dist/custody/pairing/http-adapter.js +113 -0
  94. package/dist/custody/pairing/http-adapter.js.map +1 -0
  95. package/dist/custody/pairing/index.d.ts +10 -0
  96. package/dist/custody/pairing/index.d.ts.map +1 -0
  97. package/dist/custody/pairing/index.js +8 -0
  98. package/dist/custody/pairing/index.js.map +1 -0
  99. package/dist/custody/pairing/port.d.ts +121 -0
  100. package/dist/custody/pairing/port.d.ts.map +1 -0
  101. package/dist/custody/pairing/port.js +40 -0
  102. package/dist/custody/pairing/port.js.map +1 -0
  103. package/dist/custody/passkey-share/http-adapter.d.ts +77 -0
  104. package/dist/custody/passkey-share/http-adapter.d.ts.map +1 -0
  105. package/dist/custody/passkey-share/http-adapter.js +125 -0
  106. package/dist/custody/passkey-share/http-adapter.js.map +1 -0
  107. package/dist/custody/passkey-share/index.d.ts +7 -0
  108. package/dist/custody/passkey-share/index.d.ts.map +1 -0
  109. package/dist/custody/passkey-share/index.js +4 -0
  110. package/dist/custody/passkey-share/index.js.map +1 -0
  111. package/dist/custody/passkey-share/unwrapper.d.ts +174 -0
  112. package/dist/custody/passkey-share/unwrapper.d.ts.map +1 -0
  113. package/dist/custody/passkey-share/unwrapper.js +132 -0
  114. package/dist/custody/passkey-share/unwrapper.js.map +1 -0
  115. package/dist/custody/passkey-share/webauthn-adapter.d.ts +112 -0
  116. package/dist/custody/passkey-share/webauthn-adapter.d.ts.map +1 -0
  117. package/dist/custody/passkey-share/webauthn-adapter.js +150 -0
  118. package/dist/custody/passkey-share/webauthn-adapter.js.map +1 -0
  119. package/dist/custody/surface-key-id.d.ts +15 -0
  120. package/dist/custody/surface-key-id.d.ts.map +1 -0
  121. package/dist/custody/surface-key-id.js +25 -0
  122. package/dist/custody/surface-key-id.js.map +1 -0
  123. package/dist/dapp/eip6963.d.ts +64 -0
  124. package/dist/dapp/eip6963.d.ts.map +1 -0
  125. package/dist/dapp/eip6963.js +55 -0
  126. package/dist/dapp/eip6963.js.map +1 -0
  127. package/dist/dapp/index.d.ts +21 -0
  128. package/dist/dapp/index.d.ts.map +1 -0
  129. package/dist/dapp/index.js +24 -0
  130. package/dist/dapp/index.js.map +1 -0
  131. package/dist/identity/delegate-set.d.ts +57 -0
  132. package/dist/identity/delegate-set.d.ts.map +1 -0
  133. package/dist/identity/delegate-set.js +85 -0
  134. package/dist/identity/delegate-set.js.map +1 -0
  135. package/dist/identity/did.d.ts +17 -0
  136. package/dist/identity/did.d.ts.map +1 -0
  137. package/dist/identity/did.js +60 -0
  138. package/dist/identity/did.js.map +1 -0
  139. package/dist/identity/index.d.ts +14 -0
  140. package/dist/identity/index.d.ts.map +1 -0
  141. package/dist/identity/index.js +8 -0
  142. package/dist/identity/index.js.map +1 -0
  143. package/dist/identity/provision.d.ts +13 -0
  144. package/dist/identity/provision.d.ts.map +1 -0
  145. package/dist/identity/provision.js +151 -0
  146. package/dist/identity/provision.js.map +1 -0
  147. package/dist/identity/provisioning-http-adapter.d.ts +81 -0
  148. package/dist/identity/provisioning-http-adapter.d.ts.map +1 -0
  149. package/dist/identity/provisioning-http-adapter.js +114 -0
  150. package/dist/identity/provisioning-http-adapter.js.map +1 -0
  151. package/dist/identity/recovery-http-adapter.d.ts +83 -0
  152. package/dist/identity/recovery-http-adapter.d.ts.map +1 -0
  153. package/dist/identity/recovery-http-adapter.js +139 -0
  154. package/dist/identity/recovery-http-adapter.js.map +1 -0
  155. package/dist/identity/wallet-new.d.ts +132 -0
  156. package/dist/identity/wallet-new.d.ts.map +1 -0
  157. package/dist/identity/wallet-new.js +94 -0
  158. package/dist/identity/wallet-new.js.map +1 -0
  159. package/dist/identity/wallet-recover.d.ts +116 -0
  160. package/dist/identity/wallet-recover.d.ts.map +1 -0
  161. package/dist/identity/wallet-recover.js +95 -0
  162. package/dist/identity/wallet-recover.js.map +1 -0
  163. package/dist/index.d.ts +12 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +11 -0
  166. package/dist/index.js.map +1 -0
  167. package/dist/kernel.d.ts +119 -0
  168. package/dist/kernel.d.ts.map +1 -0
  169. package/dist/kernel.js +144 -0
  170. package/dist/kernel.js.map +1 -0
  171. package/dist/ports/adapters/tenzro-identity-adapter.d.ts +44 -0
  172. package/dist/ports/adapters/tenzro-identity-adapter.d.ts.map +1 -0
  173. package/dist/ports/adapters/tenzro-identity-adapter.js +60 -0
  174. package/dist/ports/adapters/tenzro-identity-adapter.js.map +1 -0
  175. package/dist/ports/adapters/tenzro-sdk-adapter.d.ts +86 -0
  176. package/dist/ports/adapters/tenzro-sdk-adapter.d.ts.map +1 -0
  177. package/dist/ports/adapters/tenzro-sdk-adapter.js +100 -0
  178. package/dist/ports/adapters/tenzro-sdk-adapter.js.map +1 -0
  179. package/dist/ports/agent/acp.d.ts +66 -0
  180. package/dist/ports/agent/acp.d.ts.map +1 -0
  181. package/dist/ports/agent/acp.js +27 -0
  182. package/dist/ports/agent/acp.js.map +1 -0
  183. package/dist/ports/agent/adapters/acp-adapter.d.ts +67 -0
  184. package/dist/ports/agent/adapters/acp-adapter.d.ts.map +1 -0
  185. package/dist/ports/agent/adapters/acp-adapter.js +70 -0
  186. package/dist/ports/agent/adapters/acp-adapter.js.map +1 -0
  187. package/dist/ports/agent/adapters/agent-bond-adapter.d.ts +31 -0
  188. package/dist/ports/agent/adapters/agent-bond-adapter.d.ts.map +1 -0
  189. package/dist/ports/agent/adapters/agent-bond-adapter.js +82 -0
  190. package/dist/ports/agent/adapters/agent-bond-adapter.js.map +1 -0
  191. package/dist/ports/agent/adapters/agent-payment-adapter.d.ts +66 -0
  192. package/dist/ports/agent/adapters/agent-payment-adapter.d.ts.map +1 -0
  193. package/dist/ports/agent/adapters/agent-payment-adapter.js +75 -0
  194. package/dist/ports/agent/adapters/agent-payment-adapter.js.map +1 -0
  195. package/dist/ports/agent/adapters/ap2-adapter.d.ts +28 -0
  196. package/dist/ports/agent/adapters/ap2-adapter.d.ts.map +1 -0
  197. package/dist/ports/agent/adapters/ap2-adapter.js +97 -0
  198. package/dist/ports/agent/adapters/ap2-adapter.js.map +1 -0
  199. package/dist/ports/agent/adapters/auth-approval-adapter.d.ts +26 -0
  200. package/dist/ports/agent/adapters/auth-approval-adapter.d.ts.map +1 -0
  201. package/dist/ports/agent/adapters/auth-approval-adapter.js +37 -0
  202. package/dist/ports/agent/adapters/auth-approval-adapter.js.map +1 -0
  203. package/dist/ports/agent/adapters/erc7802-adapter.d.ts +30 -0
  204. package/dist/ports/agent/adapters/erc7802-adapter.d.ts.map +1 -0
  205. package/dist/ports/agent/adapters/erc7802-adapter.js +60 -0
  206. package/dist/ports/agent/adapters/erc7802-adapter.js.map +1 -0
  207. package/dist/ports/agent/adapters/erc8004-adapter.d.ts +54 -0
  208. package/dist/ports/agent/adapters/erc8004-adapter.d.ts.map +1 -0
  209. package/dist/ports/agent/adapters/erc8004-adapter.js +53 -0
  210. package/dist/ports/agent/adapters/erc8004-adapter.js.map +1 -0
  211. package/dist/ports/agent/adapters/escrow-adapter.d.ts +33 -0
  212. package/dist/ports/agent/adapters/escrow-adapter.d.ts.map +1 -0
  213. package/dist/ports/agent/adapters/escrow-adapter.js +109 -0
  214. package/dist/ports/agent/adapters/escrow-adapter.js.map +1 -0
  215. package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts +31 -0
  216. package/dist/ports/agent/adapters/fee-estimator-adapter.d.ts.map +1 -0
  217. package/dist/ports/agent/adapters/fee-estimator-adapter.js +103 -0
  218. package/dist/ports/agent/adapters/fee-estimator-adapter.js.map +1 -0
  219. package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts +68 -0
  220. package/dist/ports/agent/adapters/htlc-escrow-adapter.d.ts.map +1 -0
  221. package/dist/ports/agent/adapters/htlc-escrow-adapter.js +131 -0
  222. package/dist/ports/agent/adapters/htlc-escrow-adapter.js.map +1 -0
  223. package/dist/ports/agent/adapters/insurance-adapter.d.ts +32 -0
  224. package/dist/ports/agent/adapters/insurance-adapter.d.ts.map +1 -0
  225. package/dist/ports/agent/adapters/insurance-adapter.js +103 -0
  226. package/dist/ports/agent/adapters/insurance-adapter.js.map +1 -0
  227. package/dist/ports/agent/adapters/lifecycle-adapter.d.ts +26 -0
  228. package/dist/ports/agent/adapters/lifecycle-adapter.d.ts.map +1 -0
  229. package/dist/ports/agent/adapters/lifecycle-adapter.js +136 -0
  230. package/dist/ports/agent/adapters/lifecycle-adapter.js.map +1 -0
  231. package/dist/ports/agent/adapters/nanopayment-adapter.d.ts +62 -0
  232. package/dist/ports/agent/adapters/nanopayment-adapter.d.ts.map +1 -0
  233. package/dist/ports/agent/adapters/nanopayment-adapter.js +76 -0
  234. package/dist/ports/agent/adapters/nanopayment-adapter.js.map +1 -0
  235. package/dist/ports/agent/adapters/payment-rails-adapter.d.ts +67 -0
  236. package/dist/ports/agent/adapters/payment-rails-adapter.d.ts.map +1 -0
  237. package/dist/ports/agent/adapters/payment-rails-adapter.js +108 -0
  238. package/dist/ports/agent/adapters/payment-rails-adapter.js.map +1 -0
  239. package/dist/ports/agent/adapters/principal-chain-adapter.d.ts +23 -0
  240. package/dist/ports/agent/adapters/principal-chain-adapter.d.ts.map +1 -0
  241. package/dist/ports/agent/adapters/principal-chain-adapter.js +156 -0
  242. package/dist/ports/agent/adapters/principal-chain-adapter.js.map +1 -0
  243. package/dist/ports/agent/adapters/session-key-adapter.d.ts +45 -0
  244. package/dist/ports/agent/adapters/session-key-adapter.d.ts.map +1 -0
  245. package/dist/ports/agent/adapters/session-key-adapter.js +80 -0
  246. package/dist/ports/agent/adapters/session-key-adapter.js.map +1 -0
  247. package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts +32 -0
  248. package/dist/ports/agent/adapters/tee-attestation-adapter.d.ts.map +1 -0
  249. package/dist/ports/agent/adapters/tee-attestation-adapter.js +38 -0
  250. package/dist/ports/agent/adapters/tee-attestation-adapter.js.map +1 -0
  251. package/dist/ports/agent/agent-bond.d.ts +80 -0
  252. package/dist/ports/agent/agent-bond.d.ts.map +1 -0
  253. package/dist/ports/agent/agent-bond.js +23 -0
  254. package/dist/ports/agent/agent-bond.js.map +1 -0
  255. package/dist/ports/agent/agent-payment.d.ts +72 -0
  256. package/dist/ports/agent/agent-payment.d.ts.map +1 -0
  257. package/dist/ports/agent/agent-payment.js +17 -0
  258. package/dist/ports/agent/agent-payment.js.map +1 -0
  259. package/dist/ports/agent/ap2.d.ts +104 -0
  260. package/dist/ports/agent/ap2.d.ts.map +1 -0
  261. package/dist/ports/agent/ap2.js +22 -0
  262. package/dist/ports/agent/ap2.js.map +1 -0
  263. package/dist/ports/agent/auth-approval.d.ts +40 -0
  264. package/dist/ports/agent/auth-approval.d.ts.map +1 -0
  265. package/dist/ports/agent/auth-approval.js +23 -0
  266. package/dist/ports/agent/auth-approval.js.map +1 -0
  267. package/dist/ports/agent/erc7802.d.ts +94 -0
  268. package/dist/ports/agent/erc7802.d.ts.map +1 -0
  269. package/dist/ports/agent/erc7802.js +30 -0
  270. package/dist/ports/agent/erc7802.js.map +1 -0
  271. package/dist/ports/agent/erc8004.d.ts +57 -0
  272. package/dist/ports/agent/erc8004.d.ts.map +1 -0
  273. package/dist/ports/agent/erc8004.js +20 -0
  274. package/dist/ports/agent/erc8004.js.map +1 -0
  275. package/dist/ports/agent/escrow.d.ts +74 -0
  276. package/dist/ports/agent/escrow.d.ts.map +1 -0
  277. package/dist/ports/agent/escrow.js +18 -0
  278. package/dist/ports/agent/escrow.js.map +1 -0
  279. package/dist/ports/agent/fee-estimator.d.ts +71 -0
  280. package/dist/ports/agent/fee-estimator.d.ts.map +1 -0
  281. package/dist/ports/agent/fee-estimator.js +21 -0
  282. package/dist/ports/agent/fee-estimator.js.map +1 -0
  283. package/dist/ports/agent/htlc-escrow.d.ts +94 -0
  284. package/dist/ports/agent/htlc-escrow.d.ts.map +1 -0
  285. package/dist/ports/agent/htlc-escrow.js +25 -0
  286. package/dist/ports/agent/htlc-escrow.js.map +1 -0
  287. package/dist/ports/agent/index.d.ts +58 -0
  288. package/dist/ports/agent/index.d.ts.map +1 -0
  289. package/dist/ports/agent/index.js +24 -0
  290. package/dist/ports/agent/index.js.map +1 -0
  291. package/dist/ports/agent/insurance.d.ts +65 -0
  292. package/dist/ports/agent/insurance.d.ts.map +1 -0
  293. package/dist/ports/agent/insurance.js +18 -0
  294. package/dist/ports/agent/insurance.js.map +1 -0
  295. package/dist/ports/agent/lifecycle.d.ts +69 -0
  296. package/dist/ports/agent/lifecycle.d.ts.map +1 -0
  297. package/dist/ports/agent/lifecycle.js +17 -0
  298. package/dist/ports/agent/lifecycle.js.map +1 -0
  299. package/dist/ports/agent/nanopayment.d.ts +72 -0
  300. package/dist/ports/agent/nanopayment.d.ts.map +1 -0
  301. package/dist/ports/agent/nanopayment.js +16 -0
  302. package/dist/ports/agent/nanopayment.js.map +1 -0
  303. package/dist/ports/agent/payment-rails.d.ts +140 -0
  304. package/dist/ports/agent/payment-rails.d.ts.map +1 -0
  305. package/dist/ports/agent/payment-rails.js +25 -0
  306. package/dist/ports/agent/payment-rails.js.map +1 -0
  307. package/dist/ports/agent/principal-chain.d.ts +95 -0
  308. package/dist/ports/agent/principal-chain.d.ts.map +1 -0
  309. package/dist/ports/agent/principal-chain.js +16 -0
  310. package/dist/ports/agent/principal-chain.js.map +1 -0
  311. package/dist/ports/agent/session-key.d.ts +94 -0
  312. package/dist/ports/agent/session-key.d.ts.map +1 -0
  313. package/dist/ports/agent/session-key.js +31 -0
  314. package/dist/ports/agent/session-key.js.map +1 -0
  315. package/dist/ports/agent/tee-attestation.d.ts +51 -0
  316. package/dist/ports/agent/tee-attestation.d.ts.map +1 -0
  317. package/dist/ports/agent/tee-attestation.js +28 -0
  318. package/dist/ports/agent/tee-attestation.js.map +1 -0
  319. package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts +47 -0
  320. package/dist/ports/bridge/adapters/bridge-adapter-base.d.ts.map +1 -0
  321. package/dist/ports/bridge/adapters/bridge-adapter-base.js +144 -0
  322. package/dist/ports/bridge/adapters/bridge-adapter-base.js.map +1 -0
  323. package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts +30 -0
  324. package/dist/ports/bridge/adapters/canton-bridge-adapter.d.ts.map +1 -0
  325. package/dist/ports/bridge/adapters/canton-bridge-adapter.js +31 -0
  326. package/dist/ports/bridge/adapters/canton-bridge-adapter.js.map +1 -0
  327. package/dist/ports/bridge/adapters/ccip-adapter.d.ts +30 -0
  328. package/dist/ports/bridge/adapters/ccip-adapter.d.ts.map +1 -0
  329. package/dist/ports/bridge/adapters/ccip-adapter.js +31 -0
  330. package/dist/ports/bridge/adapters/ccip-adapter.js.map +1 -0
  331. package/dist/ports/bridge/adapters/debridge-adapter.d.ts +27 -0
  332. package/dist/ports/bridge/adapters/debridge-adapter.d.ts.map +1 -0
  333. package/dist/ports/bridge/adapters/debridge-adapter.js +28 -0
  334. package/dist/ports/bridge/adapters/debridge-adapter.js.map +1 -0
  335. package/dist/ports/bridge/adapters/layerzero-adapter.d.ts +30 -0
  336. package/dist/ports/bridge/adapters/layerzero-adapter.d.ts.map +1 -0
  337. package/dist/ports/bridge/adapters/layerzero-adapter.js +31 -0
  338. package/dist/ports/bridge/adapters/layerzero-adapter.js.map +1 -0
  339. package/dist/ports/bridge/adapters/lifi-adapter.d.ts +48 -0
  340. package/dist/ports/bridge/adapters/lifi-adapter.d.ts.map +1 -0
  341. package/dist/ports/bridge/adapters/lifi-adapter.js +49 -0
  342. package/dist/ports/bridge/adapters/lifi-adapter.js.map +1 -0
  343. package/dist/ports/bridge/adapters/wormhole-adapter.d.ts +26 -0
  344. package/dist/ports/bridge/adapters/wormhole-adapter.d.ts.map +1 -0
  345. package/dist/ports/bridge/adapters/wormhole-adapter.js +27 -0
  346. package/dist/ports/bridge/adapters/wormhole-adapter.js.map +1 -0
  347. package/dist/ports/bridge/bridge.d.ts +123 -0
  348. package/dist/ports/bridge/bridge.d.ts.map +1 -0
  349. package/dist/ports/bridge/bridge.js +20 -0
  350. package/dist/ports/bridge/bridge.js.map +1 -0
  351. package/dist/ports/bridge/index.d.ts +13 -0
  352. package/dist/ports/bridge/index.d.ts.map +1 -0
  353. package/dist/ports/bridge/index.js +11 -0
  354. package/dist/ports/bridge/index.js.map +1 -0
  355. package/dist/ports/canton/adapters/ledger-api-adapter.d.ts +52 -0
  356. package/dist/ports/canton/adapters/ledger-api-adapter.d.ts.map +1 -0
  357. package/dist/ports/canton/adapters/ledger-api-adapter.js +232 -0
  358. package/dist/ports/canton/adapters/ledger-api-adapter.js.map +1 -0
  359. package/dist/ports/canton/canton-identity.d.ts +60 -0
  360. package/dist/ports/canton/canton-identity.d.ts.map +1 -0
  361. package/dist/ports/canton/canton-identity.js +28 -0
  362. package/dist/ports/canton/canton-identity.js.map +1 -0
  363. package/dist/ports/canton/canton-validator.d.ts +182 -0
  364. package/dist/ports/canton/canton-validator.d.ts.map +1 -0
  365. package/dist/ports/canton/canton-validator.js +39 -0
  366. package/dist/ports/canton/canton-validator.js.map +1 -0
  367. package/dist/ports/canton/fingerprint.d.ts +24 -0
  368. package/dist/ports/canton/fingerprint.d.ts.map +1 -0
  369. package/dist/ports/canton/fingerprint.js +31 -0
  370. package/dist/ports/canton/fingerprint.js.map +1 -0
  371. package/dist/ports/canton/hash.d.ts +37 -0
  372. package/dist/ports/canton/hash.d.ts.map +1 -0
  373. package/dist/ports/canton/hash.js +68 -0
  374. package/dist/ports/canton/hash.js.map +1 -0
  375. package/dist/ports/canton/http.d.ts +64 -0
  376. package/dist/ports/canton/http.d.ts.map +1 -0
  377. package/dist/ports/canton/http.js +177 -0
  378. package/dist/ports/canton/http.js.map +1 -0
  379. package/dist/ports/cross-vm.d.ts +79 -0
  380. package/dist/ports/cross-vm.d.ts.map +1 -0
  381. package/dist/ports/cross-vm.js +81 -0
  382. package/dist/ports/cross-vm.js.map +1 -0
  383. package/dist/ports/index.d.ts +18 -0
  384. package/dist/ports/index.d.ts.map +1 -0
  385. package/dist/ports/index.js +11 -0
  386. package/dist/ports/index.js.map +1 -0
  387. package/dist/ports/tenzro-identity.d.ts +29 -0
  388. package/dist/ports/tenzro-identity.d.ts.map +1 -0
  389. package/dist/ports/tenzro-identity.js +19 -0
  390. package/dist/ports/tenzro-identity.js.map +1 -0
  391. package/dist/ports/tenzro-rpc.d.ts +79 -0
  392. package/dist/ports/tenzro-rpc.d.ts.map +1 -0
  393. package/dist/ports/tenzro-rpc.js +21 -0
  394. package/dist/ports/tenzro-rpc.js.map +1 -0
  395. package/dist/router/index.d.ts +3 -0
  396. package/dist/router/index.d.ts.map +1 -0
  397. package/dist/router/index.js +2 -0
  398. package/dist/router/index.js.map +1 -0
  399. package/dist/router/route.d.ts +17 -0
  400. package/dist/router/route.d.ts.map +1 -0
  401. package/dist/router/route.js +78 -0
  402. package/dist/router/route.js.map +1 -0
  403. package/dist/settlement/nanopayment-flow.d.ts +48 -0
  404. package/dist/settlement/nanopayment-flow.d.ts.map +1 -0
  405. package/dist/settlement/nanopayment-flow.js +111 -0
  406. package/dist/settlement/nanopayment-flow.js.map +1 -0
  407. package/dist/surfaces/canton-external.d.ts +43 -0
  408. package/dist/surfaces/canton-external.d.ts.map +1 -0
  409. package/dist/surfaces/canton-external.js +252 -0
  410. package/dist/surfaces/canton-external.js.map +1 -0
  411. package/dist/surfaces/canton-internal.d.ts +34 -0
  412. package/dist/surfaces/canton-internal.d.ts.map +1 -0
  413. package/dist/surfaces/canton-internal.js +163 -0
  414. package/dist/surfaces/canton-internal.js.map +1 -0
  415. package/dist/surfaces/canton-onboarding.d.ts +64 -0
  416. package/dist/surfaces/canton-onboarding.d.ts.map +1 -0
  417. package/dist/surfaces/canton-onboarding.js +113 -0
  418. package/dist/surfaces/canton-onboarding.js.map +1 -0
  419. package/dist/surfaces/evm-on-tenzro.d.ts +29 -0
  420. package/dist/surfaces/evm-on-tenzro.d.ts.map +1 -0
  421. package/dist/surfaces/evm-on-tenzro.js +226 -0
  422. package/dist/surfaces/evm-on-tenzro.js.map +1 -0
  423. package/dist/surfaces/index.d.ts +13 -0
  424. package/dist/surfaces/index.d.ts.map +1 -0
  425. package/dist/surfaces/index.js +7 -0
  426. package/dist/surfaces/index.js.map +1 -0
  427. package/dist/surfaces/svm-on-tenzro.d.ts +24 -0
  428. package/dist/surfaces/svm-on-tenzro.d.ts.map +1 -0
  429. package/dist/surfaces/svm-on-tenzro.js +238 -0
  430. package/dist/surfaces/svm-on-tenzro.js.map +1 -0
  431. package/dist/surfaces/tenzro-native.d.ts +45 -0
  432. package/dist/surfaces/tenzro-native.d.ts.map +1 -0
  433. package/dist/surfaces/tenzro-native.js +299 -0
  434. package/dist/surfaces/tenzro-native.js.map +1 -0
  435. package/dist/surfaces/util.d.ts +18 -0
  436. package/dist/surfaces/util.d.ts.map +1 -0
  437. package/dist/surfaces/util.js +36 -0
  438. package/dist/surfaces/util.js.map +1 -0
  439. package/dist/types/asset.d.ts +43 -0
  440. package/dist/types/asset.d.ts.map +1 -0
  441. package/dist/types/asset.js +13 -0
  442. package/dist/types/asset.js.map +1 -0
  443. package/dist/types/consent.d.ts +46 -0
  444. package/dist/types/consent.d.ts.map +1 -0
  445. package/dist/types/consent.js +18 -0
  446. package/dist/types/consent.js.map +1 -0
  447. package/dist/types/identity.d.ts +115 -0
  448. package/dist/types/identity.d.ts.map +1 -0
  449. package/dist/types/identity.js +12 -0
  450. package/dist/types/identity.js.map +1 -0
  451. package/dist/types/index.d.ts +10 -0
  452. package/dist/types/index.d.ts.map +1 -0
  453. package/dist/types/index.js +3 -0
  454. package/dist/types/index.js.map +1 -0
  455. package/dist/types/intent.d.ts +132 -0
  456. package/dist/types/intent.d.ts.map +1 -0
  457. package/dist/types/intent.js +8 -0
  458. package/dist/types/intent.js.map +1 -0
  459. package/dist/types/signing-driver.d.ts +48 -0
  460. package/dist/types/signing-driver.d.ts.map +1 -0
  461. package/dist/types/signing-driver.js +9 -0
  462. package/dist/types/signing-driver.js.map +1 -0
  463. package/dist/types/surface-module.d.ts +38 -0
  464. package/dist/types/surface-module.d.ts.map +1 -0
  465. package/dist/types/surface-module.js +19 -0
  466. package/dist/types/surface-module.js.map +1 -0
  467. package/dist/types/surface.d.ts +17 -0
  468. package/dist/types/surface.d.ts.map +1 -0
  469. package/dist/types/surface.js +28 -0
  470. package/dist/types/surface.js.map +1 -0
  471. 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"}