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,104 @@
1
+ /**
2
+ * Ap2Port — kernel's view of the AP2 (Agent Payment Protocol) layer.
3
+ *
4
+ * AP2 v0.2 was donated to the FIDO Alliance on April 28 2026 and is the
5
+ * de-facto agent-payment standard. The protocol expresses each step of an
6
+ * agent-driven payment as a Verifiable Digital Credential (VDC):
7
+ * • Intent — "user wants to buy X under Y constraints"
8
+ * • Cart — "this exact merchant + this exact basket"
9
+ * • Payment — "this rail pulled this amount on this day"
10
+ *
11
+ * Tenzro's node ships AP2 as RPC methods (`tenzro_ap2*`) and the
12
+ * `tenzro-sdk` exposes them via `Ap2Client`. The wallet kernel does NOT
13
+ * re-implement the protocol; it consumes it through this port and trusts
14
+ * the node's verification result the same way it trusts the rest of the
15
+ * RPC surface (the node holds the FIDO trust anchor).
16
+ *
17
+ * Port shape mirrors the SDK semantics: a session is keyed by
18
+ * (agentDid, providerDid, service, maxAmount); individual payments are
19
+ * authorized within the session and then executed.
20
+ */
21
+ /** A Verifiable Digital Credential — opaque JSON-shaped envelope. */
22
+ export type Ap2Vdc = Readonly<Record<string, unknown>>;
23
+ /** Mandate-verification result for a single VDC. */
24
+ export interface Ap2MandateVerification {
25
+ readonly valid: boolean;
26
+ /** "Intent" | "Cart" | "Payment" — surfaced raw from the verifier. */
27
+ readonly mandateType: string;
28
+ readonly issuerDid?: string;
29
+ readonly subjectDid?: string;
30
+ /** Unix-seconds expiry. */
31
+ readonly expiresAt?: number;
32
+ readonly error?: string;
33
+ }
34
+ /**
35
+ * Pair-validation result for an Intent + Cart mandate. Matches the SDK
36
+ * shape (`tenzro-sdk` `Ap2Client.validateMandatePair`): the verifier
37
+ * returns the resolved DIDs and mandate IDs alongside a `valid` flag
38
+ * and a `delegationEnforced` flag, not the per-leg verification details.
39
+ */
40
+ export interface Ap2MandatePairValidation {
41
+ readonly valid: boolean;
42
+ readonly intentMandateId?: string;
43
+ readonly cartMandateId?: string;
44
+ readonly principalDid?: string;
45
+ readonly agentDid?: string;
46
+ readonly delegationEnforced: boolean;
47
+ readonly error?: string;
48
+ }
49
+ export type Ap2SessionStatus = 'active' | 'completed' | 'cancelled' | 'expired';
50
+ export interface Ap2Session {
51
+ readonly sessionId: string;
52
+ readonly agentDid: string;
53
+ readonly providerDid: string;
54
+ readonly service: string;
55
+ /** Max authorised spend, in smallest units of `asset`. */
56
+ readonly maxAmount: bigint;
57
+ /** Cumulative spent, smallest units. */
58
+ readonly totalSpent: bigint;
59
+ readonly asset: string;
60
+ readonly status: Ap2SessionStatus;
61
+ }
62
+ export type Ap2AuthorizationStatus = 'pending' | 'approved' | 'executed' | 'rejected';
63
+ export interface Ap2Authorization {
64
+ readonly authorizationId: string;
65
+ readonly sessionId: string;
66
+ readonly amount: bigint;
67
+ readonly status: Ap2AuthorizationStatus;
68
+ }
69
+ export interface Ap2PaymentReceipt {
70
+ readonly receiptId: string;
71
+ readonly sessionId: string;
72
+ readonly amount: bigint;
73
+ readonly asset: string;
74
+ }
75
+ export interface Ap2CancelResult {
76
+ readonly sessionId: string;
77
+ readonly status: string;
78
+ readonly refundedAmount?: bigint;
79
+ }
80
+ export interface CreateSessionRequest {
81
+ readonly agentDid: string;
82
+ readonly providerDid: string;
83
+ readonly service: string;
84
+ readonly maxAmount: bigint;
85
+ /** Defaults to 'TNZO' when the adapter calls the node. */
86
+ readonly asset?: string;
87
+ }
88
+ export interface Ap2Port {
89
+ /** Verify a single mandate VDC against the node's FIDO trust anchor. */
90
+ verifyMandate(vdc: Ap2Vdc): Promise<Ap2MandateVerification>;
91
+ /**
92
+ * Validate an Intent+Cart pair for mutual consistency. Set
93
+ * `enforceDelegation` to require that the agent DID claimed in the cart
94
+ * is bound to the principal DID via a verifiable delegation chain.
95
+ */
96
+ validateMandatePair(intentVdc: Ap2Vdc, cartVdc: Ap2Vdc, enforceDelegation?: boolean): Promise<Ap2MandatePairValidation>;
97
+ createSession(req: CreateSessionRequest): Promise<Ap2Session>;
98
+ authorizePayment(sessionId: string, amount: bigint): Promise<Ap2Authorization>;
99
+ executePayment(sessionId: string, authorizationId: string): Promise<Ap2PaymentReceipt>;
100
+ cancelSession(sessionId: string): Promise<Ap2CancelResult>;
101
+ getSession(sessionId: string): Promise<Ap2Session | null>;
102
+ listAgentSessions(agentDid: string): Promise<readonly Ap2Session[]>;
103
+ }
104
+ //# sourceMappingURL=ap2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ap2.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/ap2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qEAAqE;AACrE,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEvD,oDAAoD;AACpD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAEtF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,wEAAwE;IACxE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE5D;;;;OAIG;IACH,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAErC,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3D,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAC1D,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;CACrE"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Ap2Port — kernel's view of the AP2 (Agent Payment Protocol) layer.
3
+ *
4
+ * AP2 v0.2 was donated to the FIDO Alliance on April 28 2026 and is the
5
+ * de-facto agent-payment standard. The protocol expresses each step of an
6
+ * agent-driven payment as a Verifiable Digital Credential (VDC):
7
+ * • Intent — "user wants to buy X under Y constraints"
8
+ * • Cart — "this exact merchant + this exact basket"
9
+ * • Payment — "this rail pulled this amount on this day"
10
+ *
11
+ * Tenzro's node ships AP2 as RPC methods (`tenzro_ap2*`) and the
12
+ * `tenzro-sdk` exposes them via `Ap2Client`. The wallet kernel does NOT
13
+ * re-implement the protocol; it consumes it through this port and trusts
14
+ * the node's verification result the same way it trusts the rest of the
15
+ * RPC surface (the node holds the FIDO trust anchor).
16
+ *
17
+ * Port shape mirrors the SDK semantics: a session is keyed by
18
+ * (agentDid, providerDid, service, maxAmount); individual payments are
19
+ * authorized within the session and then executed.
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=ap2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ap2.js","sourceRoot":"","sources":["../../../src/ports/agent/ap2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * AuthApprovalPort — human-in-the-loop approval queue.
3
+ *
4
+ * Tenzro's auth engine ships an approval workflow: when an agent (or
5
+ * delegated session) initiates an action that exceeds its policy, the
6
+ * engine parks the request in a `Pending` state and surfaces it to the
7
+ * approver DID (typically a human controller). The approver fetches the
8
+ * queue, decides each item, and the engine then either lets the action
9
+ * through or rejects it.
10
+ *
11
+ * This port is what the wallet UI uses to render the approval inbox.
12
+ * The wallet never makes the approve/deny decision itself — that's the
13
+ * human's job — but the port makes the queue legible and lets the UI
14
+ * commit the human's decision back to the engine.
15
+ *
16
+ * Wire-shape mapping ↔ `tenzro-sdk`'s `AuthClient.listPendingApprovals` /
17
+ * `decideApproval`. The SDK keeps the per-record schema opaque (`unknown[]`)
18
+ * because the underlying storage shape may evolve; the port mirrors that
19
+ * conservatism — UIs can render whatever the engine returns without the
20
+ * port locking the schema.
21
+ */
22
+ /** A single pending-approval record. Schema kept opaque on purpose — see
23
+ * SDK `auth.ts`. UIs should narrow against known fields lazily. */
24
+ export type PendingApproval = Readonly<Record<string, unknown>>;
25
+ export interface PendingApprovalsList {
26
+ readonly count: number;
27
+ readonly pending: readonly PendingApproval[];
28
+ }
29
+ export type ApprovalDecisionStatus = 'Approved' | 'Denied';
30
+ export interface ApprovalDecisionResult {
31
+ readonly status: ApprovalDecisionStatus;
32
+ readonly approvalId: string;
33
+ }
34
+ export interface AuthApprovalPort {
35
+ /** Pending records the approver should decide on. */
36
+ listPending(approverDid: string): Promise<PendingApprovalsList>;
37
+ /** Commit a human decision. Engine rejects mismatched approvers. */
38
+ decide(approvalId: string, decision: 'approved' | 'denied', approverDid: string): Promise<ApprovalDecisionResult>;
39
+ }
40
+ //# sourceMappingURL=auth-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-approval.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/auth-approval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;oEACoE;AACpE,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C;AAED,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEhE,oEAAoE;IACpE,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,UAAU,GAAG,QAAQ,EAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * AuthApprovalPort — human-in-the-loop approval queue.
3
+ *
4
+ * Tenzro's auth engine ships an approval workflow: when an agent (or
5
+ * delegated session) initiates an action that exceeds its policy, the
6
+ * engine parks the request in a `Pending` state and surfaces it to the
7
+ * approver DID (typically a human controller). The approver fetches the
8
+ * queue, decides each item, and the engine then either lets the action
9
+ * through or rejects it.
10
+ *
11
+ * This port is what the wallet UI uses to render the approval inbox.
12
+ * The wallet never makes the approve/deny decision itself — that's the
13
+ * human's job — but the port makes the queue legible and lets the UI
14
+ * commit the human's decision back to the engine.
15
+ *
16
+ * Wire-shape mapping ↔ `tenzro-sdk`'s `AuthClient.listPendingApprovals` /
17
+ * `decideApproval`. The SDK keeps the per-record schema opaque (`unknown[]`)
18
+ * because the underlying storage shape may evolve; the port mirrors that
19
+ * conservatism — UIs can render whatever the engine returns without the
20
+ * port locking the schema.
21
+ */
22
+ export {};
23
+ //# sourceMappingURL=auth-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-approval.js","sourceRoot":"","sources":["../../../src/ports/agent/auth-approval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Erc7802Port — SuperchainERC20 cross-chain supply consistency.
3
+ *
4
+ * ERC-7802 lets a token minted on chain A be burned on chain A and
5
+ * re-minted on chain B, keeping total supply constant across chains.
6
+ * Tenzro's BridgeRouter uses this for native cross-chain TNZO and
7
+ * compatible SuperchainERC20s; the wallet exposes it so dApps can
8
+ * bypass aggregators when the asset itself implements ERC-7802.
9
+ *
10
+ * **Implementation note (2026-05).** `tenzro-sdk@0.1.0` `Erc7802Client`
11
+ * actually performs the operation server-side via the node's
12
+ * `tenzro_signAndSendTransaction` hybrid-signing path — it does not
13
+ * return raw calldata. The wallet kernel's `Erc7802Port` mirrors that
14
+ * shape: callers receive a `tx_hash` directly, no `prepare → sign →
15
+ * submit` lifecycle to drive on the wallet side. This is consistent
16
+ * with how `client.sendTransaction` works for native TNZO transfers
17
+ * (the wallet's keys live in the node TEE; the wire never carries them).
18
+ *
19
+ * SDK methods (per `tenzro-sdk` `src/erc7802.ts`):
20
+ * - `client.erc7802().crosschainMint(token, recipient, amount, sourceChain)`
21
+ * - `client.erc7802().crosschainBurn(token, from, amount, targetChain)`
22
+ * - `client.erc7802().getCrossChainSupply(token)`
23
+ *
24
+ * Tenzro RPC endpoints:
25
+ * - `tenzro_erc7802CrosschainMint`
26
+ * - `tenzro_erc7802CrosschainBurn`
27
+ * - `tenzro_erc7802GetCrossChainSupply`
28
+ */
29
+ export interface Erc7802MintResult {
30
+ /** Transaction hash on the destination chain (where the mint happened). */
31
+ readonly txHash: string;
32
+ readonly token: string;
33
+ readonly recipient: string;
34
+ /** Decimal amount string (matches SDK wire shape). */
35
+ readonly amount: string;
36
+ /** Source chain that authorised the mint. */
37
+ readonly sourceChain: string;
38
+ /** Mint status (`'pending'`, `'finalized'`, etc — SDK-defined). */
39
+ readonly status: string;
40
+ }
41
+ export interface Erc7802BurnResult {
42
+ /** Transaction hash on the source chain (where the burn happened). */
43
+ readonly txHash: string;
44
+ readonly token: string;
45
+ readonly from: string;
46
+ readonly amount: string;
47
+ /** Target chain where the corresponding mint may happen. */
48
+ readonly targetChain: string;
49
+ /** Burn status (`'pending'`, `'finalized'`, etc — SDK-defined). */
50
+ readonly status: string;
51
+ }
52
+ export interface Erc7802SupplyBreakdown {
53
+ readonly token: string;
54
+ /** Total supply across all chains, decimal string. */
55
+ readonly totalSupply: string;
56
+ /** Per-chain supply (chain slug → decimal string). */
57
+ readonly chainSupplies: Readonly<Record<string, string>>;
58
+ }
59
+ export interface CrosschainMintRequest {
60
+ readonly token: string;
61
+ /** Recipient address on the chain where minting happens. */
62
+ readonly recipient: string;
63
+ /** Decimal amount string in token smallest units. */
64
+ readonly amount: string;
65
+ /** Source chain slug that authorises this mint (must show a prior burn). */
66
+ readonly sourceChain: string;
67
+ }
68
+ export interface CrosschainBurnRequest {
69
+ readonly token: string;
70
+ /** Address whose balance is debited on the current chain. */
71
+ readonly from: string;
72
+ /** Decimal amount string in token smallest units. */
73
+ readonly amount: string;
74
+ /** Target chain slug where re-minting will be authorised. */
75
+ readonly targetChain: string;
76
+ }
77
+ export interface Erc7802Port {
78
+ /**
79
+ * Burn `amount` of `token` from the current chain, authorising a
80
+ * crosschain mint on `targetChain`. Returns the source-chain tx hash;
81
+ * the destination-chain mint is driven by `crosschainMint` once the
82
+ * messenger has propagated the burn.
83
+ */
84
+ crosschainBurn(req: CrosschainBurnRequest): Promise<Erc7802BurnResult>;
85
+ /**
86
+ * Mint `amount` of `token` on the current chain, authorised by a prior
87
+ * burn on `sourceChain`. The Tenzro node validates the source-chain
88
+ * burn proof through the SuperchainERC20 messenger before signing.
89
+ */
90
+ crosschainMint(req: CrosschainMintRequest): Promise<Erc7802MintResult>;
91
+ /** Per-chain supply breakdown for a SuperchainERC20 token. */
92
+ getCrossChainSupply(token: string): Promise<Erc7802SupplyBreakdown>;
93
+ }
94
+ //# sourceMappingURL=erc7802.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc7802.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/erc7802.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEvE;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEvE,8DAA8D;IAC9D,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrE"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Erc7802Port — SuperchainERC20 cross-chain supply consistency.
3
+ *
4
+ * ERC-7802 lets a token minted on chain A be burned on chain A and
5
+ * re-minted on chain B, keeping total supply constant across chains.
6
+ * Tenzro's BridgeRouter uses this for native cross-chain TNZO and
7
+ * compatible SuperchainERC20s; the wallet exposes it so dApps can
8
+ * bypass aggregators when the asset itself implements ERC-7802.
9
+ *
10
+ * **Implementation note (2026-05).** `tenzro-sdk@0.1.0` `Erc7802Client`
11
+ * actually performs the operation server-side via the node's
12
+ * `tenzro_signAndSendTransaction` hybrid-signing path — it does not
13
+ * return raw calldata. The wallet kernel's `Erc7802Port` mirrors that
14
+ * shape: callers receive a `tx_hash` directly, no `prepare → sign →
15
+ * submit` lifecycle to drive on the wallet side. This is consistent
16
+ * with how `client.sendTransaction` works for native TNZO transfers
17
+ * (the wallet's keys live in the node TEE; the wire never carries them).
18
+ *
19
+ * SDK methods (per `tenzro-sdk` `src/erc7802.ts`):
20
+ * - `client.erc7802().crosschainMint(token, recipient, amount, sourceChain)`
21
+ * - `client.erc7802().crosschainBurn(token, from, amount, targetChain)`
22
+ * - `client.erc7802().getCrossChainSupply(token)`
23
+ *
24
+ * Tenzro RPC endpoints:
25
+ * - `tenzro_erc7802CrosschainMint`
26
+ * - `tenzro_erc7802CrosschainBurn`
27
+ * - `tenzro_erc7802GetCrossChainSupply`
28
+ */
29
+ export {};
30
+ //# sourceMappingURL=erc7802.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc7802.js","sourceRoot":"","sources":["../../../src/ports/agent/erc7802.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Erc8004Port — agent identity / reputation / validation registries on EVM.
3
+ *
4
+ * ERC-8004 went mainnet on January 29 2026. Three registries:
5
+ * • IdentityRegistry — ERC-721 NFT-style agent ids
6
+ * • ReputationRegistry — feedback (0-100 score + auth id + URI)
7
+ * • ValidationRegistry — third-party validation requests/responses
8
+ *
9
+ * The Tenzro SDK's `Erc8004Client` only ABI-encodes / decodes; it never
10
+ * holds keys or signs. The wallet kernel takes the calldata produced here
11
+ * and routes it through the existing `evm-on-tenzro` surface (real
12
+ * EIP-1559 + secp256k1 signing already lives there). That keeps signing
13
+ * in one place and lets the wallet treat ERC-8004 as "just another EVM
14
+ * call."
15
+ *
16
+ * The wallet does NOT re-implement registry semantics; it consumes the
17
+ * SDK encoder/decoder via this port and signs the resulting calldata.
18
+ */
19
+ /** 32-byte hex agent id (ERC-721 token id, padded). */
20
+ export type Erc8004AgentIdHex = `0x${string}`;
21
+ /** Result of `deriveAgentId` — owner+salt are echoed back for round-tripping. */
22
+ export interface Erc8004DerivedAgentId {
23
+ readonly agentId: Erc8004AgentIdHex;
24
+ readonly owner: `0x${string}`;
25
+ readonly salt: `0x${string}`;
26
+ }
27
+ /** Hex-encoded ABI calldata ready for `eth_sendTransaction` or `eth_call`. */
28
+ export interface Erc8004Calldata {
29
+ /** 4-byte function selector. */
30
+ readonly selector: `0x${string}`;
31
+ /** Full hex calldata: selector + ABI-encoded args. */
32
+ readonly calldata: `0x${string}`;
33
+ }
34
+ /** Decoded agent record returned by `IdentityRegistry.getAgent()`. */
35
+ export interface Erc8004Agent {
36
+ readonly registrationDataUri: string;
37
+ readonly owner: `0x${string}`;
38
+ }
39
+ export interface Erc8004Port {
40
+ /** Derive `keccak256(abi.encode("TENZRO_ERC8004_AGENT", owner, salt))`. */
41
+ deriveAgentId(owner: `0x${string}`, salt: `0x${string}`): Promise<Erc8004DerivedAgentId>;
42
+ /** Encode `IdentityRegistry.register(agentId, registrationDataURI, owner)`. */
43
+ encodeRegister(agentId: Erc8004AgentIdHex, registrationDataUri: string, owner: `0x${string}`): Promise<Erc8004Calldata>;
44
+ /** Encode `IdentityRegistry.getAgent(agentId)`. Use with `eth_call`. */
45
+ encodeGetAgent(agentId: Erc8004AgentIdHex): Promise<Erc8004Calldata>;
46
+ /** Decode return data from a `getAgent()` `eth_call`. */
47
+ decodeGetAgent(returndata: `0x${string}`): Promise<Erc8004Agent>;
48
+ /** Encode `ReputationRegistry.submitFeedback(agentId, score, authId, uri)`.
49
+ * `score` must be 0–100. */
50
+ encodeFeedback(agentId: Erc8004AgentIdHex, score: number, feedbackAuthId: string, feedbackUri: string): Promise<Erc8004Calldata>;
51
+ /** Encode `ValidationRegistry.requestValidation(agentId, validatorId, uri, dataHash)`. */
52
+ encodeRequestValidation(agentId: Erc8004AgentIdHex, validatorId: string, requestUri: string, dataHash: `0x${string}`): Promise<Erc8004Calldata>;
53
+ /** Encode `ValidationRegistry.submitValidation(dataHash, response, uri, tag)`.
54
+ * `response` is a 0–100 score. */
55
+ encodeSubmitValidation(dataHash: `0x${string}`, response: number, responseUri: string, tag: string): Promise<Erc8004Calldata>;
56
+ }
57
+ //# sourceMappingURL=erc8004.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/erc8004.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,KAAK,MAAM,EAAE,CAAC;AAE9C,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;CAC9B;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CAClC;AAED,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,KAAK,EAAE,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEzF,+EAA+E;IAC/E,cAAc,CACZ,OAAO,EAAE,iBAAiB,EAC1B,mBAAmB,EAAE,MAAM,EAC3B,KAAK,EAAE,KAAK,MAAM,EAAE,GACnB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,wEAAwE;IACxE,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAErE,yDAAyD;IACzD,cAAc,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE;iCAC6B;IAC7B,cAAc,CACZ,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,0FAA0F;IAC1F,uBAAuB,CACrB,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,KAAK,MAAM,EAAE,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B;uCACmC;IACnC,sBAAsB,CACpB,QAAQ,EAAE,KAAK,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAAC;CAC7B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Erc8004Port — agent identity / reputation / validation registries on EVM.
3
+ *
4
+ * ERC-8004 went mainnet on January 29 2026. Three registries:
5
+ * • IdentityRegistry — ERC-721 NFT-style agent ids
6
+ * • ReputationRegistry — feedback (0-100 score + auth id + URI)
7
+ * • ValidationRegistry — third-party validation requests/responses
8
+ *
9
+ * The Tenzro SDK's `Erc8004Client` only ABI-encodes / decodes; it never
10
+ * holds keys or signs. The wallet kernel takes the calldata produced here
11
+ * and routes it through the existing `evm-on-tenzro` surface (real
12
+ * EIP-1559 + secp256k1 signing already lives there). That keeps signing
13
+ * in one place and lets the wallet treat ERC-8004 as "just another EVM
14
+ * call."
15
+ *
16
+ * The wallet does NOT re-implement registry semantics; it consumes the
17
+ * SDK encoder/decoder via this port and signs the resulting calldata.
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=erc8004.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc8004.js","sourceRoot":"","sources":["../../../src/ports/agent/erc8004.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * EscrowPort — native VM escrow primitive on Tenzro Ledger.
3
+ *
4
+ * Per `reference_tenzro_architecture.md` and SDK `settlement.ts`:
5
+ *
6
+ * • CreateEscrow selector 0x01000010, ~75k gas
7
+ * • ReleaseEscrow selector 0x01000011, ~60k gas
8
+ * • RefundEscrow selector 0x01000012, ~50k gas
9
+ *
10
+ * Vault address is deterministic from `escrow_id`; only the original
11
+ * payer can release or refund. Six release modes, all enforced VM-side.
12
+ *
13
+ * The wallet wraps the SDK's `SettlementClient`; the SDK already owns the
14
+ * canonical CreateEscrow/ReleaseEscrow/RefundEscrow tx_type encoding and
15
+ * routes through `tenzro_signAndSendTransaction` for hybrid signing.
16
+ */
17
+ export type EscrowReleaseMode = 'timeout' | 'provider' | 'consumer' | 'both' | 'verifier' | 'custom';
18
+ export interface CreateEscrowRequest {
19
+ /** Payer address (the holder's MPC wallet address). */
20
+ readonly payer: string;
21
+ /** Recipient on successful release. */
22
+ readonly payee: string;
23
+ /** Amount to lock (smallest unit; 1 TNZO = 10^18 wei). */
24
+ readonly amount: bigint;
25
+ /** Asset id, e.g. "TNZO" or a token contract address. */
26
+ readonly asset: string;
27
+ /** Unix-ms expiry. After this, refund unlocks (with appropriate mode). */
28
+ readonly expiresAt: bigint;
29
+ readonly releaseMode: EscrowReleaseMode;
30
+ }
31
+ export interface ReleaseEscrowRequest {
32
+ readonly payer: string;
33
+ /** 32-byte escrow id (hex with or without `0x`). */
34
+ readonly escrowId: string;
35
+ /** Optional proof bytes (mode-specific). Hex with or without `0x`. */
36
+ readonly proof?: string;
37
+ }
38
+ export interface RefundEscrowRequest {
39
+ readonly payer: string;
40
+ readonly escrowId: string;
41
+ }
42
+ export interface EscrowRecord {
43
+ readonly escrowId: string;
44
+ readonly payer: string;
45
+ readonly payee: string;
46
+ readonly amount: bigint;
47
+ readonly asset: string;
48
+ readonly expiresAt: number;
49
+ readonly releaseMode: EscrowReleaseMode;
50
+ readonly status: 'active' | 'released' | 'refunded' | 'expired';
51
+ }
52
+ export interface EscrowPort {
53
+ /** Lock funds. Returns the submission tx hash. */
54
+ create(req: CreateEscrowRequest): Promise<string>;
55
+ /** Release locked funds to the payee. Returns the tx hash. */
56
+ release(req: ReleaseEscrowRequest): Promise<string>;
57
+ /** Refund locked funds back to the payer. Returns the tx hash. */
58
+ refund(req: RefundEscrowRequest): Promise<string>;
59
+ /** Inspect an escrow record. Returns null if unknown. */
60
+ get(escrowId: string): Promise<EscrowRecord | null>;
61
+ /**
62
+ * Enumerate all escrows where `payer` is the locker. Backed by the
63
+ * `escrow_payer:` secondary index in CF_SETTLEMENTS. Order is unspecified.
64
+ * Returns `[]` if the payer has no escrows.
65
+ */
66
+ listByPayer(payer: string): Promise<EscrowRecord[]>;
67
+ /**
68
+ * Enumerate all escrows where `payee` is the destination on release. Backed
69
+ * by the `escrow_payee:` secondary index in CF_SETTLEMENTS. Order is
70
+ * unspecified. Returns `[]` if the payee has none.
71
+ */
72
+ listByPayee(payee: string): Promise<EscrowRecord[]>;
73
+ }
74
+ //# sourceMappingURL=escrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/escrow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,UAAU,GACV,UAAU,GACV,MAAM,GACN,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CACjE;AAED,MAAM,WAAW,UAAU;IACzB,kDAAkD;IAClD,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,8DAA8D;IAC9D,OAAO,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD,yDAAyD;IACzD,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEpD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEpD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACrD"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * EscrowPort — native VM escrow primitive on Tenzro Ledger.
3
+ *
4
+ * Per `reference_tenzro_architecture.md` and SDK `settlement.ts`:
5
+ *
6
+ * • CreateEscrow selector 0x01000010, ~75k gas
7
+ * • ReleaseEscrow selector 0x01000011, ~60k gas
8
+ * • RefundEscrow selector 0x01000012, ~50k gas
9
+ *
10
+ * Vault address is deterministic from `escrow_id`; only the original
11
+ * payer can release or refund. Six release modes, all enforced VM-side.
12
+ *
13
+ * The wallet wraps the SDK's `SettlementClient`; the SDK already owns the
14
+ * canonical CreateEscrow/ReleaseEscrow/RefundEscrow tx_type encoding and
15
+ * routes through `tenzro_signAndSendTransaction` for hybrid signing.
16
+ */
17
+ export {};
18
+ //# sourceMappingURL=escrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escrow.js","sourceRoot":"","sources":["../../../src/ports/agent/escrow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * FeeEstimatorPort — EIP-1559 fee market read access for transaction
3
+ * builders that need to fill `maxFeePerGas` / `maxPriorityFeePerGas`.
4
+ *
5
+ * Tenzro tracks an EIP-1559 fee market: `base_fee_per_gas` adjusts ±12.5%
6
+ * per block against a 15M-gas target, with the burn portion governed by
7
+ * the adaptive-burn dial. Wallet UI flows (transfer, agent-bond post,
8
+ * escrow create, ERC-7683 origin-open) need three things:
9
+ *
10
+ * 1. The current effective gas price (legacy single-field tx, fallback).
11
+ * 2. A suggested priority tip for inclusion within the next ~3 blocks.
12
+ * 3. Base-fee history so the UI can render a "fast/normal/slow" picker.
13
+ *
14
+ * The wallet wraps the SDK's `TenzroClient.getGasPrice` /
15
+ * `getMaxPriorityFeePerGas` / `getFeeHistory`. Three policies are
16
+ * exposed as a derived helper because most callers want
17
+ * `(maxFee, maxPriorityFee)` already-decided rather than the raw
18
+ * series.
19
+ */
20
+ export interface FeeHistoryRecord {
21
+ /** Hex height of the oldest block in the returned window. */
22
+ readonly oldestBlock: string;
23
+ /**
24
+ * `blockCount + 1` entries: per-block base fee plus the predicted base
25
+ * fee for the next block (the trailing entry is the floor for a Type-2
26
+ * tx's `maxFeePerGas`). All values in wei.
27
+ */
28
+ readonly baseFeePerGas: readonly bigint[];
29
+ /** Per-block ratio of `gasUsed / gasLimit` ∈ [0, 1]. */
30
+ readonly gasUsedRatio: readonly number[];
31
+ /**
32
+ * `reward[i][j]` = j-th requested percentile of priority tips paid in
33
+ * block `oldestBlock + i`. Absent when no percentiles were requested.
34
+ */
35
+ readonly reward?: readonly (readonly bigint[])[];
36
+ }
37
+ /** Speed preference for the derived `suggestFees()` helper. */
38
+ export type FeeSpeed = 'slow' | 'normal' | 'fast';
39
+ export interface SuggestedFees {
40
+ /** EIP-1559 maxFeePerGas, in wei. */
41
+ readonly maxFeePerGas: bigint;
42
+ /** EIP-1559 maxPriorityFeePerGas (tip), in wei. */
43
+ readonly maxPriorityFeePerGas: bigint;
44
+ /** Trailing predicted base fee — the floor used to compute maxFeePerGas. */
45
+ readonly nextBlockBaseFee: bigint;
46
+ }
47
+ export interface FeeEstimatorPort {
48
+ /**
49
+ * Current effective gas price, in wei. Tracks `eth_gasPrice` —
50
+ * approximately `base_fee + suggested_tip`. Use this only for legacy
51
+ * single-field txs; prefer `suggestFees()` for Type-2 builders.
52
+ */
53
+ gasPrice(): Promise<bigint>;
54
+ /** Suggested priority tip (`maxPriorityFeePerGas`), in wei. */
55
+ maxPriorityFeePerGas(): Promise<bigint>;
56
+ /**
57
+ * Fee-history window for client-side base-fee modelling.
58
+ * @param blockCount - 1..1024
59
+ * @param newestBlock - hex block height or `"latest"`
60
+ * @param rewardPercentiles - e.g. `[25, 50, 75]` for slow/normal/fast tips
61
+ */
62
+ feeHistory(blockCount: number, newestBlock?: string, rewardPercentiles?: number[]): Promise<FeeHistoryRecord>;
63
+ /**
64
+ * Convenience: combine `feeHistory` (last 4 blocks, 25/50/75 percentile)
65
+ * with the trailing predicted base fee to suggest
66
+ * `(maxFeePerGas, maxPriorityFeePerGas)`. Falls back to `gasPrice()`
67
+ * when fee history is unavailable.
68
+ */
69
+ suggestFees(speed?: FeeSpeed): Promise<SuggestedFees>;
70
+ }
71
+ //# sourceMappingURL=fee-estimator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-estimator.d.ts","sourceRoot":"","sources":["../../../src/ports/agent/fee-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,wDAAwD;IACxD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;CAClD;AAED,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5B,+DAA+D;IAC/D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAExC;;;;;OAKG;IACH,UAAU,CACR,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACvD"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * FeeEstimatorPort — EIP-1559 fee market read access for transaction
3
+ * builders that need to fill `maxFeePerGas` / `maxPriorityFeePerGas`.
4
+ *
5
+ * Tenzro tracks an EIP-1559 fee market: `base_fee_per_gas` adjusts ±12.5%
6
+ * per block against a 15M-gas target, with the burn portion governed by
7
+ * the adaptive-burn dial. Wallet UI flows (transfer, agent-bond post,
8
+ * escrow create, ERC-7683 origin-open) need three things:
9
+ *
10
+ * 1. The current effective gas price (legacy single-field tx, fallback).
11
+ * 2. A suggested priority tip for inclusion within the next ~3 blocks.
12
+ * 3. Base-fee history so the UI can render a "fast/normal/slow" picker.
13
+ *
14
+ * The wallet wraps the SDK's `TenzroClient.getGasPrice` /
15
+ * `getMaxPriorityFeePerGas` / `getFeeHistory`. Three policies are
16
+ * exposed as a derived helper because most callers want
17
+ * `(maxFee, maxPriorityFee)` already-decided rather than the raw
18
+ * series.
19
+ */
20
+ export {};
21
+ //# sourceMappingURL=fee-estimator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee-estimator.js","sourceRoot":"","sources":["../../../src/ports/agent/fee-estimator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}