@laceio/sdk 0.1.1 → 0.1.2-canary.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 (388) hide show
  1. package/dist/{TransactionBuilder-DrB3NVTi.cjs → TransactionBuilder-CCjOn7NA.cjs} +42 -0
  2. package/dist/{TransactionBuilder-V6aLx4SV.js → TransactionBuilder-CIzdw18M.js} +1 -1
  3. package/dist/{_polyfill-buffer-patch-BnPVerlG.cjs → _polyfill-buffer-patch-CM8X7JiY.cjs} +21 -2
  4. package/dist/_polyfill-buffer-patch-yNxN4d5E.js +1467 -0
  5. package/dist/_web-crypto-random-bytes-Bo-GTcRS.js +197 -0
  6. package/dist/acc-module-4iIUv6My.cjs +27654 -0
  7. package/dist/acc-module-Cmj8EsIb.js +27624 -0
  8. package/dist/account-BOQruszJ.js +6 -0
  9. package/dist/account-BUOj4pYJ.cjs +11 -0
  10. package/dist/account-call-7wnopBq0.cjs +5 -0
  11. package/dist/account-call-B9d_2Xwi.js +4 -0
  12. package/dist/account-call-Bd4Rpbvt.cjs +323 -0
  13. package/dist/account-call-C3CkDqEC.js +276 -0
  14. package/dist/account-guards-BtjTGxDZ.cjs +42 -0
  15. package/dist/account-guards-D9Lu5T3W.js +36 -0
  16. package/dist/account-tokens-DvkOFVON.js +16 -0
  17. package/dist/account-tokens-nwcvwLu4.cjs +21 -0
  18. package/dist/{activity-type.stable-BJEfeLxL.cjs → activity-type-Ch6ljxBy.cjs} +2 -1
  19. package/dist/{activity-type.stable-C76_hWd7.js → activity-type-GsJGWs-3.js} +2 -1
  20. package/dist/address-B9ntKL8K.js +13761 -0
  21. package/dist/address-BXp-mY8H.cjs +11270 -0
  22. package/dist/{address-book-address-validator-DIUolI-s.js → address-book-address-validator-0J9XAADH.js} +2 -2
  23. package/dist/address-book-address-validator-DK0dnsRS.cjs +41 -0
  24. package/dist/address-book-address-validator-Di_ywo8M.js +39 -0
  25. package/dist/{address-book-address-validator-DNwQGlOB.cjs → address-book-address-validator-Dte_YQ2L.cjs} +2 -2
  26. package/dist/artefact-loader-BWWYAD7E.cjs +183 -0
  27. package/dist/artefact-loader-Dik4HIfv.js +160 -0
  28. package/dist/auto-dismiss-failure-on-success-C-qoJuid.cjs +37 -0
  29. package/dist/auto-dismiss-failure-on-success-s8MGDEIu.js +31 -0
  30. package/dist/bip32-D6wd_QMn.cjs +3851 -0
  31. package/dist/bitcoin-data-provider-BYPSmuZS.js +21 -0
  32. package/dist/bitcoin-data-provider-w1oEDSU3.cjs +26 -0
  33. package/dist/bitcoin.cjs +45 -0
  34. package/dist/bitcoin.d.ts +29906 -1
  35. package/dist/bitcoin.js +20 -0
  36. package/dist/{blockfrost-tx-submit-provider-DPTrapz-.js → blockfrost-tx-submit-provider-CBWQ0wK9.js} +5 -157
  37. package/dist/{blockfrost-tx-submit-provider-BAIzV5o3.cjs → blockfrost-tx-submit-provider-CLNQ5ycR.cjs} +3 -167
  38. package/dist/bn-d3nSOIf7.cjs +2553 -0
  39. package/dist/browser-B1eMbDwh.js +7468 -0
  40. package/dist/bytes.vo-BB7_4JK6.js +23 -0
  41. package/dist/bytes.vo-BNRquqaO.cjs +34 -0
  42. package/dist/cardano-DfPwhwm-.js +3 -0
  43. package/dist/{cardano-network-id.vo-DSxrFk9S.cjs → cardano-network-id.vo-BEDPn6Li.cjs} +1 -1
  44. package/dist/{cardano-network-id.vo-CK1tNQDg.js → cardano-network-id.vo-Cfpvbod9.js} +1 -1
  45. package/dist/cardano.cjs +22 -18
  46. package/dist/cardano.d.ts +16956 -1716
  47. package/dist/cardano.js +16 -11
  48. package/dist/client-DXBLHk7K.cjs +808 -0
  49. package/dist/codecs-Cswkg7Tm.cjs +4051 -0
  50. package/dist/codecs-Dc1Krpbt.js +3903 -0
  51. package/dist/{const-C84qHkjp.js → const-BJfIK_G-.js} +4 -4
  52. package/dist/const-BhYOdznB.cjs +42 -0
  53. package/dist/const-BsnjG2_Q.cjs +32071 -0
  54. package/dist/const-CUnCl5U0.js +13 -0
  55. package/dist/{const-DXk2tFyv.js → const-CjmfjBP3.js} +1 -1
  56. package/dist/{const-BDEg2Trq.cjs → const-D-eZIS4n.cjs} +4 -4
  57. package/dist/const-D0CbQlo4.js +154 -0
  58. package/dist/{const-BY8B3_0_.cjs → const-iwzZEE_w.cjs} +1 -1
  59. package/dist/contract-1R86jhSw.js +171 -0
  60. package/dist/contract-MKLzYVkW.cjs +189 -0
  61. package/dist/create-add-accounts-Brqk84vF.js +102 -0
  62. package/dist/create-add-accounts-DzXIh7Ot.cjs +114 -0
  63. package/dist/{delegation-tx-builder-CRpLP6jH.cjs → delegation-tx-builder-CCjiakoy.cjs} +6 -6
  64. package/dist/{delegation-tx-builder-CGVqlaFE.js → delegation-tx-builder-DZFjHDS8.js} +5 -5
  65. package/dist/{deregistration-tx-builder-B-CrUyX6.js → deregistration-tx-builder-Bf6xAYp4.js} +5 -5
  66. package/dist/{deregistration-tx-builder-DZGwB4cz.cjs → deregistration-tx-builder-CQP35yex.cjs} +6 -6
  67. package/dist/device-commitment-hex.vo-5wFtQvDS.js +26 -0
  68. package/dist/device-commitment-hex.vo-CT3RmAug.cjs +31 -0
  69. package/dist/device-readers-CUHYoYOH.js +145 -0
  70. package/dist/device-readers-CdxS2btd.cjs +168 -0
  71. package/dist/device-readers-D_JZeNL2.cjs +8 -0
  72. package/dist/device-readers-DwSNCGPP.js +4 -0
  73. package/dist/dist-BMi5ZjEq.cjs +43175 -0
  74. package/dist/dist-BtIq4XFn.cjs +535 -0
  75. package/dist/dist-C3SHC_Ho.cjs +1394 -0
  76. package/dist/dist-CykEjYEX.cjs +3814 -0
  77. package/dist/dist-Dcsxh3be.cjs +3452 -0
  78. package/dist/dist-DqJfSlTd.cjs +4413 -0
  79. package/dist/dist-nTZ70qj7.cjs +1306 -0
  80. package/dist/{earn-rewards-tx-builder-BDbTDZmD.js → earn-rewards-tx-builder-Bsga3yFb.js} +5 -5
  81. package/dist/{earn-rewards-tx-builder-D5sUT5v8.cjs → earn-rewards-tx-builder-GuxofYns.cjs} +6 -6
  82. package/dist/enc-key-circuits-B7BjgUL9.js +13 -0
  83. package/dist/enc-key-circuits-BLrZrBVI.cjs +24 -0
  84. package/dist/english-Byb9M0E_.cjs +2057 -0
  85. package/dist/envelopes-BGoO_v8m.js +1621 -0
  86. package/dist/envelopes-CH25R-DN.cjs +1722 -0
  87. package/dist/errors-BIftM8ZN.cjs +688 -0
  88. package/dist/errors-DSq5wUwt.js +466 -0
  89. package/dist/esm-HBSUQw3w.js +384 -0
  90. package/dist/esm-LZuaZjMf.cjs +389 -0
  91. package/dist/experimental.cjs +7349 -0
  92. package/dist/experimental.d.ts +86273 -0
  93. package/dist/experimental.js +7184 -0
  94. package/dist/gated-call-CDCVZIK-.cjs +5 -0
  95. package/dist/gated-call-D-tT7P_t.js +722 -0
  96. package/dist/gated-call-D_VT2quk.js +4 -0
  97. package/dist/gated-call-DgJm1Mi_.cjs +787 -0
  98. package/dist/grant-circuits-DswmW3nI.cjs +71 -0
  99. package/dist/grant-circuits-Jxb5y1HW.js +42 -0
  100. package/dist/grant-rules-By07_eDi.js +6824 -0
  101. package/dist/grant-rules-BzVTWXS7.cjs +7099 -0
  102. package/dist/grant-spend-B3Md9L0n.js +215 -0
  103. package/dist/grant-spend-oWmzRsjH.cjs +217 -0
  104. package/dist/grant-status-B2y49iIu.js +2688 -0
  105. package/dist/grant-status-DOr3t_u8.cjs +2820 -0
  106. package/dist/grants-2BZ-qEVQ.js +5 -0
  107. package/dist/grants-BPoLSiMt.cjs +18 -0
  108. package/dist/grants-BoI5uwSF.cjs +272 -0
  109. package/dist/grants-CtofFu-e.js +213 -0
  110. package/dist/{group-cardano-addresses-by-account-B533oVXR.cjs → group-cardano-addresses-by-account-Bp0g4wEY.cjs} +3 -39
  111. package/dist/{group-cardano-addresses-by-account-RHKoEskR.js → group-cardano-addresses-by-account-SR8MMrZf.js} +5 -35
  112. package/dist/{guarded-transaction-signer-Bxl6_XNd.cjs → guarded-transaction-signer-MFpPg98D.cjs} +17 -18
  113. package/dist/{guarded-transaction-signer-CpKLj8Kp.js → guarded-transaction-signer-P6Rp1faj.js} +8 -15
  114. package/dist/hex-D9ITYbwt.cjs +263 -0
  115. package/dist/hex-mkXcV3pN.js +191 -0
  116. package/dist/http-client-B3N-TMxu.cjs +167 -0
  117. package/dist/http-client-TRlhDZGh.js +155 -0
  118. package/dist/identity-BMLuufva.cjs +263 -0
  119. package/dist/identity-DII6f-h7.js +233 -0
  120. package/dist/in-memory-wallet-integration-B2xzxORj.cjs +20741 -0
  121. package/dist/in-memory-wallet-integration-CBRiPjLO.js +130 -0
  122. package/dist/in-memory-wallet-integration-CULUB5Tf.cjs +240 -0
  123. package/dist/{in-memory-wallet-integration-D-qn65Kx.js → in-memory-wallet-integration-ChIOirMW.js} +5 -2
  124. package/dist/{in-memory-wallet-integration-Croiuopx.js → in-memory-wallet-integration-CljprQQV.js} +7 -104
  125. package/dist/{in-memory-wallet-integration-DVh9sRXa.cjs → in-memory-wallet-integration-Cm6P8sk6.cjs} +3 -2
  126. package/dist/in-memory-wallet-integration-TM9bBphA.js +20738 -0
  127. package/dist/{in-memory-wallet-integration-CnLYeX4-.cjs → in-memory-wallet-integration-t9I00R_V.cjs} +17 -108
  128. package/dist/index.cjs +84 -47
  129. package/dist/index.d.ts +37496 -10033
  130. package/dist/index.js +52 -24
  131. package/dist/{init-CLHuAMB-.js → init-0zzs9aqU.js} +4 -4
  132. package/dist/{init-U8c9yHYx.cjs → init-5KcGcBb5.cjs} +1 -1
  133. package/dist/init-8v_n8boO.js +1177 -0
  134. package/dist/{init-CigestoM.js → init-B3-1ghyx.js} +2 -2
  135. package/dist/init-B8U3ABhS.cjs +107 -0
  136. package/dist/init-BJn-8_hf.js +141 -0
  137. package/dist/init-BPU3j8sT.cjs +6 -0
  138. package/dist/init-BRzH6xu-2.cjs +2797 -0
  139. package/dist/init-BmzfDaKL.js +1142 -0
  140. package/dist/{init-C-jErzp5.cjs → init-BopV9ed4.cjs} +2 -2
  141. package/dist/init-BpHTq2R5.js +105 -0
  142. package/dist/init-BpSITBfF.js +39 -0
  143. package/dist/{init-DX4WyB0R.cjs → init-BrdVzxei.cjs} +3 -3
  144. package/dist/{init-LfyMo-sS.cjs → init-BwkU0ruo.cjs} +2 -2
  145. package/dist/{init-CB__aLD7.cjs → init-C-G32J12.cjs} +2 -2
  146. package/dist/init-C00gw1zi.js +422 -0
  147. package/dist/{init-TkPq_Ny_.js → init-C2RgrfZe.js} +1 -1
  148. package/dist/{init-DcYY6zMD.js → init-C8URA2OX.js} +1 -1
  149. package/dist/init-CDkRynJa.js +2796 -0
  150. package/dist/{init-Cg9XdAru.js → init-CNM5m7M2.js} +4 -4
  151. package/dist/init-CR7BfztQ.cjs +18 -0
  152. package/dist/{init-CSHwHnfg.cjs → init-CSDpdu0Q.cjs} +2 -2
  153. package/dist/{init-aJHl-7AO.js → init-CX0AMQUn.js} +2 -2
  154. package/dist/{init-FMGDET-9.js → init-CfTbSEKy.js} +259 -60
  155. package/dist/{init-CR6tpw1B.js → init-Cigr_tKx.js} +47 -43
  156. package/dist/init-CuW7rHNA.js +3584 -0
  157. package/dist/{init-CFYsq82V.js → init-CyAY4Lzl.js} +1 -1
  158. package/dist/init-Cz0rz5fU.cjs +3585 -0
  159. package/dist/{init-BKhH6mVR.cjs → init-D6BxBs7e.cjs} +1 -1
  160. package/dist/init-D8OeObDF.cjs +1141 -0
  161. package/dist/init-D9g1HXYf.cjs +40 -0
  162. package/dist/{init-CNLGJJRx.js → init-DA7zmptx.js} +1 -1
  163. package/dist/{init-DkIc5nqF.cjs → init-DFMiP2ZH.cjs} +1 -1
  164. package/dist/{init-zSzCjoor.js → init-DFjT8YvT.js} +4 -4
  165. package/dist/init-DGjXwWs2.cjs +143 -0
  166. package/dist/init-DHrCbpkW.cjs +121 -0
  167. package/dist/{init-B64zCLxG.cjs → init-DUF4ar8P.cjs} +4 -4
  168. package/dist/init-DlqJuHhl.js +119 -0
  169. package/dist/{init-y2Ra0vZP.js → init-Dnsv155v.js} +3 -3
  170. package/dist/init-DrRdf5sZ.cjs +1176 -0
  171. package/dist/init-DuYENxci.js +17 -0
  172. package/dist/{init-D6DBUsD3.cjs → init-Dv3zKj0r.cjs} +4 -4
  173. package/dist/{init-BtzMZ7Pk.cjs → init-Dy-05ktr.cjs} +1 -1
  174. package/dist/{init-BsCBAGWf.cjs → init-EP0CUWNK.cjs} +2 -2
  175. package/dist/{init-BJVU54pI.cjs → init-EhzD7a8i.cjs} +1 -1
  176. package/dist/{init-w9GEs73W.js → init-Fw89ZmrR.js} +2 -2
  177. package/dist/init-GsT2AEa4.cjs +424 -0
  178. package/dist/{init-Rxohwpmu.js → init-NCjgwCZy.js} +2 -2
  179. package/dist/{init-DxUHsN53.cjs → init-NdhG_VrF.cjs} +6 -6
  180. package/dist/{init-DDdhguVC.js → init-SZ01tARX2.js} +2 -2
  181. package/dist/{init-BAJJzBza.js → init-Y3mkB4XS.js} +2 -2
  182. package/dist/init-c4l6r-o-.js +5 -0
  183. package/dist/{init-Dku4b2lG.js → init-kEfUTuG2.js} +1 -1
  184. package/dist/{init-C7IeJwQR.cjs → init-lzHt4Cli.cjs} +256 -59
  185. package/dist/{init-anYu6XB7.cjs → init-rmt7-fQE.cjs} +2 -2
  186. package/dist/{init-C4Bkib9u.cjs → init-zU-_9Gsp.cjs} +67 -65
  187. package/dist/{is-retriable-error-BU0e3hVI.js → is-retriable-error-BUiVJDwH.js} +1 -1
  188. package/dist/{is-retriable-error-CeeuHqDa.cjs → is-retriable-error-Dpt860if.cjs} +1 -1
  189. package/dist/jubjub-authoriser-D7zDXu3V.js +86 -0
  190. package/dist/jubjub-authoriser-Dgu6o3Sv.cjs +87 -0
  191. package/dist/key-source-5oUBFiC7.cjs +583 -0
  192. package/dist/key-source-B08HukZg.js +2550 -0
  193. package/dist/keyDerivation-D3k9XyHg.js +4077 -0
  194. package/dist/keyDerivation-u0nBA93T.cjs +274 -0
  195. package/dist/{lace-context-CZcNHr4M.js → lace-context-BZciB9c7.js} +4 -4
  196. package/dist/{lace-context-fJTDghdp.cjs → lace-context-DgR6vLli.cjs} +4 -4
  197. package/dist/lib--iqvW4O_.js +2354 -0
  198. package/dist/lib-Yk6Upl5D.cjs +2359 -0
  199. package/dist/{libsodium-wrappers-UH0LaOUE.js → libsodium-wrappers-BhbOA8dQ.js} +3 -1647
  200. package/dist/midnight-account-id.vo-0x9X-r3l.cjs +10 -0
  201. package/dist/midnight-account-id.vo-DjCAGcqc.js +5 -0
  202. package/dist/midnight-engine-DpemplKO.js +5 -0
  203. package/dist/midnight-engine-xU1wotne.cjs +6 -0
  204. package/dist/midnight-wallet-DIsAlSn6.js +18 -0
  205. package/dist/midnight-wallet-XTZc2li7.cjs +24 -0
  206. package/dist/midnight.cjs +1408 -0
  207. package/dist/midnight.d.ts +28934 -0
  208. package/dist/midnight.js +1352 -0
  209. package/dist/modules-cardano-B1nDUWqy.js +995 -0
  210. package/dist/modules-cardano-BYeYHrRm.cjs +1108 -0
  211. package/dist/node-relay-DWe1U0w2.cjs +49 -0
  212. package/dist/node-relay-h4i5IlAQ.js +48 -0
  213. package/dist/outputs-Bd2yZVjx.js +720 -0
  214. package/dist/outputs-CJoQBIA2.cjs +990 -0
  215. package/dist/pbkdf2-CIW-oWrm.cjs +1337 -0
  216. package/dist/pending-operation-B0_P78Jo.cjs +26 -0
  217. package/dist/pending-operation-BIS6mpjB.js +21 -0
  218. package/dist/providers-FjhM47BH.cjs +388 -0
  219. package/dist/providers-WtiSuxFu.js +365 -0
  220. package/dist/redacted-BmE2aXqr.js +81 -0
  221. package/dist/redacted-CRZJLS3w.cjs +86 -0
  222. package/dist/{retry-config-DC5IMaH7.cjs → retry-config-BaCfVC1H.cjs} +1 -1
  223. package/dist/{retry-config-BcUmMS--.js → retry-config-Dmgt28wM.js} +1 -1
  224. package/dist/safe-buffer-B_vMqJWU.js +43 -0
  225. package/dist/safe-buffer-DYOwEfHB.cjs +48 -0
  226. package/dist/sdk-Cb-gZnS9.js +1241 -0
  227. package/dist/sdk-DffwmX8b.cjs +1439 -0
  228. package/dist/sdk-init-Bln9rFtn.js +4138 -0
  229. package/dist/sdk-init-CYViTJY_.cjs +3841 -0
  230. package/dist/{seam-cardano-CATqBEyK.js → seam-cardano-B_etH4F4.js} +1 -1
  231. package/dist/{bytes.vo-TgiwogWF.js → secret-box-DUR0ACYz.js} +3 -25
  232. package/dist/{bytes.vo-Ck5u40RA.cjs → secret-box-DrjLZuS1.cjs} +1 -35
  233. package/dist/send-proof-progress-C-ljq1x5.js +30 -0
  234. package/dist/send-proof-progress-vmsaSfbz.cjs +47 -0
  235. package/dist/side-effects-BnqYz7Nl.js +768 -0
  236. package/dist/side-effects-CngaeXi0.cjs +804 -0
  237. package/dist/sign-bitcoin-transaction-with-seed-D4z62-jV.js +147 -0
  238. package/dist/sign-bitcoin-transaction-with-seed-DsLYXnCY.cjs +158 -0
  239. package/dist/signer-3fk8lZtE.cjs +7 -0
  240. package/dist/signer-CsL28DrK.cjs +121 -0
  241. package/dist/signer-DGluibtn.js +92 -0
  242. package/dist/signer-RqB5pu3K.js +2 -0
  243. package/dist/signer-factory-BA7WFJVZ.js +282 -0
  244. package/dist/signer-factory-Cwd6o-lG.cjs +281 -0
  245. package/dist/{signer-factory-9URFliA5.js → signer-factory-DObB55D4.js} +6 -3
  246. package/dist/signer-factory-DhZiE03y.cjs +149 -0
  247. package/dist/{signer-factory-BWGUmnvm.cjs → signer-factory-Ds6G2AZk.cjs} +4 -3
  248. package/dist/signer-factory-hzSRaIw2.js +148 -0
  249. package/dist/{slice-CuHUaPZx.cjs → slice-7G2xxYKJ.cjs} +3 -3
  250. package/dist/{slice-DZmQJNV8.cjs → slice-B4CdYoPu.cjs} +2 -2
  251. package/dist/slice-BPNuHKfw.js +9091 -0
  252. package/dist/{slice-DGcNrbPR.cjs → slice-Bg6HEr3K.cjs} +4 -4
  253. package/dist/{slice-DtaO72qY.cjs → slice-Bs2aMERu.cjs} +3 -3
  254. package/dist/{slice-HeHCv3bl.cjs → slice-C34iOOUH.cjs} +7 -7
  255. package/dist/{slice-Do2R2CYW.cjs → slice-C9TT5KhY.cjs} +6 -6
  256. package/dist/{slice-eIwcwKHI.js → slice-CK07EBCo.js} +4 -4
  257. package/dist/{slice-CnyWevM9.js → slice-CU80pbiu.js} +3 -3
  258. package/dist/{slice-CobanYgn.js → slice-CwyYrh1H.js} +2 -2
  259. package/dist/slice-Czfp6t84.cjs +436 -0
  260. package/dist/{slice-d0p6-xj5.js → slice-D-9aPKG-.js} +6 -6
  261. package/dist/{slice-maaskdUn.js → slice-DBpJ2QGf.js} +6 -6
  262. package/dist/{slice-mxLQ_FeY.cjs → slice-DTZTiJle.cjs} +352 -39
  263. package/dist/{slice-zJ9XVYjZ.js → slice-Da426sf9.js} +1 -1
  264. package/dist/{slice-D11m2EKl.cjs → slice-DayJvMRD.cjs} +1 -1
  265. package/dist/slice-DnBWfA-k.cjs +9109 -0
  266. package/dist/{slice-oqm_r1cS.cjs → slice-DnG-yvpI.cjs} +2 -2
  267. package/dist/{slice-BNu73oBa.js → slice-DyNs7oWp.js} +2 -2
  268. package/dist/{slice-CB4SnzMm.js → slice-GwiiJRoq.js} +3 -3
  269. package/dist/slice-oWnc7YVD.js +412 -0
  270. package/dist/{slice-B2PhoWAg.js → slice-qt0uBExh.js} +325 -37
  271. package/dist/slice-t8Gzj55G2.cjs +106 -0
  272. package/dist/slice-t8Q1cHm-.js +88 -0
  273. package/dist/src-BDzYIksE.cjs +20637 -0
  274. package/dist/src-BFoefPv_.js +20755 -0
  275. package/dist/store-B1Lq3cEf.cjs +66 -0
  276. package/dist/store-DuBG8qh5.js +37 -0
  277. package/dist/submit-Bs77dPn_.cjs +413 -0
  278. package/dist/submit-DOv8Z0Vf.js +336 -0
  279. package/dist/submit-bitcoin-tx-D6oYgH5S.js +983 -0
  280. package/dist/submit-bitcoin-tx-goFuRL7K.cjs +1049 -0
  281. package/dist/{sync-operation-utils-BYXLO80m.js → sync-operation-utils-31iFLExW.js} +2 -38
  282. package/dist/{sync-operation-utils-SdPbwFoD.cjs → sync-operation-utils-COIZ66-I.cjs} +1 -67
  283. package/dist/token-id-mapper-Bnds3xKH.cjs +18 -0
  284. package/dist/{token-id-mapper-DsPAL6Nh.cjs → token-id-mapper-CVyQJUKY.cjs} +2 -2
  285. package/dist/token-id-mapper-CnKHQ8DV.js +16 -0
  286. package/dist/{token-id-mapper-B2ivlLv3.js → token-id-mapper-D29Ggv8h.js} +2 -2
  287. package/dist/tokens-Cevp7rdU.cjs +62 -0
  288. package/dist/tokens-Diw4MLRM.js +44 -0
  289. package/dist/types-B8uiJn-X.js +12 -0
  290. package/dist/types-BHC12eSa.js +33 -0
  291. package/dist/types-CJT6XF2c.js +10 -0
  292. package/dist/types-CLRUYpfe.cjs +23 -0
  293. package/dist/types-Cc3mC8u0.cjs +50 -0
  294. package/dist/types-DWbVZpnF.cjs +15 -0
  295. package/dist/unwrap-provider-result-BZSiwabU.js +32 -0
  296. package/dist/unwrap-provider-result-ZqfBsTkk.cjs +39 -0
  297. package/dist/{util-CGzqQ8IV.cjs → util-Bu4W5lF4.cjs} +1 -1
  298. package/dist/{util-BaLzwa32.js → util-Cp5cZkfK.js} +1 -1
  299. package/dist/{utils-o8aMjfln.js → utils-BfBEUvWA.js} +2 -2
  300. package/dist/utils-DFwzEvbv.js +65 -0
  301. package/dist/{utils-5JvjbqH3.cjs → utils-DsElZgCI.cjs} +7 -1
  302. package/dist/utils-IXxR-Djh.cjs +112 -0
  303. package/dist/v8Signatures-CO_Uloy7.cjs +71 -0
  304. package/dist/{vote-delegation-tx-builder-BpEMSti4.cjs → vote-delegation-tx-builder-BUg1S2Ep.cjs} +6 -6
  305. package/dist/{vote-delegation-tx-builder-CmKv6GoG.js → vote-delegation-tx-builder-C6FiS7zI.js} +5 -5
  306. package/dist/watch-CUEvcP-V.js +21997 -0
  307. package/dist/watch-DMF2s-II.cjs +52281 -0
  308. package/package.json +96 -4
  309. package/dist/account-guards.stable-B1DSSh9D.cjs +0 -10
  310. package/dist/account-guards.stable-JRQ5qx2V.js +0 -5
  311. package/dist/codecs-B7X9pAsK.cjs +0 -1945
  312. package/dist/codecs-CC1Xjntz.js +0 -1882
  313. package/dist/init-Bv53hpLM.js +0 -19
  314. package/dist/init-CRbjI7p1.js +0 -3494
  315. package/dist/init-DAna1KCg.cjs +0 -3495
  316. package/dist/init-DGe47B22.cjs +0 -364
  317. package/dist/init-DMtyvYfC.cjs +0 -21
  318. package/dist/init-TkPDD750.js +0 -363
  319. package/dist/modules-cardano-BDvuL4Xx.js +0 -5248
  320. package/dist/modules-cardano-D2G3De2P.cjs +0 -5432
  321. package/dist/slice-CGVHXHDt.cjs +0 -125
  322. package/dist/slice-DhvF7L6X.js +0 -107
  323. /package/dist/{account-id.vo-LvCBVn5r.cjs → account-id.vo-DwqFjK5u.cjs} +0 -0
  324. /package/dist/{account-id.vo-MYSI7YFm.js → account-id.vo-OPz2v-JZ.js} +0 -0
  325. /package/dist/{actions-DdGbj7c7.cjs → actions-B2BJ4RTy.cjs} +0 -0
  326. /package/dist/{actions-9QSQR-GB.js → actions-iLXdgL5Y.js} +0 -0
  327. /package/dist/{apply-vkey-witnesses-ClZbpk5w.js → apply-vkey-witnesses-BKx3lcs0.js} +0 -0
  328. /package/dist/{apply-vkey-witnesses-CLzVSWxl.cjs → apply-vkey-witnesses-ZnFS0jnJ.cjs} +0 -0
  329. /package/dist/{asyncoption-Cw07zPH7.js → asyncoption-CruEYOBI.js} +0 -0
  330. /package/dist/{asyncoption-DYoGuQfP.cjs → asyncoption-i0VbqVTq.cjs} +0 -0
  331. /package/dist/{bignum.vo-B0rK_PQ1.js → bignum.vo-CEXOIew0.js} +0 -0
  332. /package/dist/{bignum.vo-DsG3kNiZ.cjs → bignum.vo-hx2kuqlA.cjs} +0 -0
  333. /package/dist/{bip32ed25519-1ApqeAZk.cjs → bip32ed25519-B7Yat217.cjs} +0 -0
  334. /package/dist/{bip32ed25519-DetAdGwD.js → bip32ed25519-FQ8qvdcq.js} +0 -0
  335. /package/dist/{blake2b-DOEVc57D.js → blake2b-BiQTw3GC.js} +0 -0
  336. /package/dist/{blake2b-B9tftbvG.cjs → blake2b-DEeVUdKR.cjs} +0 -0
  337. /package/dist/{blockchain-network-id.vo-BXpZhvvQ.cjs → blockchain-network-id.vo-BAKEwGjG.cjs} +0 -0
  338. /package/dist/{blockchain-network-id.vo-DNRkuT5B.js → blockchain-network-id.vo-CiVykuqG.js} +0 -0
  339. /package/dist/{blockingWithLatestFrom-C5wp_uA-.js → blockingWithLatestFrom-Cd8c8EPG.js} +0 -0
  340. /package/dist/{blockingWithLatestFrom-DY8OPg0w.cjs → blockingWithLatestFrom-D8kBPBMX.cjs} +0 -0
  341. /package/dist/{cardano-network-id-to-network-type-CrZfUcyP.js → cardano-network-id-to-network-type-BWwzeEtM.js} +0 -0
  342. /package/dist/{cardano-network-id-to-network-type-BDTF-HmK.cjs → cardano-network-id-to-network-type-C0ufJOyE.cjs} +0 -0
  343. /package/dist/{cardano-tx-id.vo-BPhV-AmZ.cjs → cardano-tx-id.vo-TLjJZHCI.cjs} +0 -0
  344. /package/dist/{cardano-tx-id.vo-DF9NzZXk.js → cardano-tx-id.vo-eVnKuzlm.js} +0 -0
  345. /package/dist/{composite-signer-factory-_46QsNBz.js → composite-signer-factory-CR8YHA1y.js} +0 -0
  346. /package/dist/{composite-signer-factory-BpF1mIYA.cjs → composite-signer-factory-m5cVs9h_.cjs} +0 -0
  347. /package/dist/{error-CNIquqT5.cjs → error-Cb3EnD0u.cjs} +0 -0
  348. /package/dist/{error-BCp9NkPi.js → error-DIZOY2Lw.js} +0 -0
  349. /package/dist/{esm-browser-C93Q-EOI.js → esm-browser-MG97cre9.js} +0 -0
  350. /package/dist/{esm-browser-DTc9IK3D.cjs → esm-browser-bweqfBlL.cjs} +0 -0
  351. /package/dist/{feature-flag-key.vo-ofrB6ZVQ.js → feature-flag-key.vo-DN_-4-sG.js} +0 -0
  352. /package/dist/{feature-flag-key.vo-BPz-ZAp6.cjs → feature-flag-key.vo-RlfHL3hq.cjs} +0 -0
  353. /package/dist/{first-state-of-status-OROkXcRv.cjs → first-state-of-status-CbT7hPa4.cjs} +0 -0
  354. /package/dist/{first-state-of-status-DQnMT3ya.js → first-state-of-status-unPynOuM.js} +0 -0
  355. /package/dist/{init-Es3wHW7D.js → init-829HRYcz.js} +0 -0
  356. /package/dist/{init-CKipPE_c.js → init-A-VyGSNW2.js} +0 -0
  357. /package/dist/{init-DFQQ9dTW.cjs → init-Atisw4x2.cjs} +0 -0
  358. /package/dist/{init-C5CEZ1m0.cjs → init-BFcvPHL-.cjs} +0 -0
  359. /package/dist/{init-IAk_CkGa.cjs → init-BgNobbNq.cjs} +0 -0
  360. /package/dist/{init-cqN3uX2j.js → init-atCFur0v.js} +0 -0
  361. /package/dist/{is-redux-persist-state-CTn3WZVh.cjs → is-redux-persist-state-BCFnSm36.cjs} +0 -0
  362. /package/dist/{is-redux-persist-state-Cxcd0_bM.js → is-redux-persist-state-yBfq0h_E.js} +0 -0
  363. /package/dist/{key-value-store-8cMzeNyG.js → key-value-store--W3SrMaw.js} +0 -0
  364. /package/dist/{key-value-store-DUAepXQf.cjs → key-value-store-C2Xt5Emp.cjs} +0 -0
  365. /package/dist/{repo-slice-WxetRhMY.cjs → repo-slice-7X4AYYVm.cjs} +0 -0
  366. /package/dist/{repo-slice-DwyMhCR1.js → repo-slice-RxFm0zDZ.js} +0 -0
  367. /package/dist/{reselect-CRDqmQY9.cjs → reselect-Bd94u0K-.cjs} +0 -0
  368. /package/dist/{reselect-C06X06oX.js → reselect-CGoLzEPv.js} +0 -0
  369. /package/dist/{serializable-B8GahgE1.js → serializable-BHdKIgk3.js} +0 -0
  370. /package/dist/{serializable-CRdnFaLZ.cjs → serializable-BxHkoPdk.cjs} +0 -0
  371. /package/dist/{slice-D11FHQuQ.cjs → slice-BiRsDKOK.cjs} +0 -0
  372. /package/dist/{slice-Be7hj4Iy.js → slice-Bk0Sv05J.js} +0 -0
  373. /package/dist/{slice-FioKeHtA.cjs → slice-Dqw1ecum.cjs} +0 -0
  374. /package/dist/{slice-B87b52iM.js → slice-obCSLm1x.js} +0 -0
  375. /package/dist/{src-vq1wS9sZ.js → src-BlxEp6Mm.js} +0 -0
  376. /package/dist/{src-BTPIvlDI.cjs → src-Cqp0B2M_.cjs} +0 -0
  377. /package/dist/{time.vo-CQ8pSXz2.cjs → time.vo-D3wWRw9L.cjs} +0 -0
  378. /package/dist/{time.vo-DkYYGYp6.js → time.vo-tNheinXm.js} +0 -0
  379. /package/dist/{toEmpty-CgAl3097.js → toEmpty-8Zax1MPd.js} +0 -0
  380. /package/dist/{toEmpty-DAMmNB5r.cjs → toEmpty-CYAbupM4.cjs} +0 -0
  381. /package/dist/{token-id.vo-ClsroxHO.js → token-id.vo-Bvwhr3ZE.js} +0 -0
  382. /package/dist/{token-id.vo-BxG9TG0O.cjs → token-id.vo-DXv5uS9n.cjs} +0 -0
  383. /package/dist/{util-DxzlYNS5.js → util-C8a4fA9p.js} +0 -0
  384. /package/dist/{util-CmdAhheh.cjs → util-CzeB3hfa.cjs} +0 -0
  385. /package/dist/{util-selector-CcK-GAdE.js → util-selector-BSTsxgne.js} +0 -0
  386. /package/dist/{util-selector-BcAncU4L.cjs → util-selector-BWPH68_l.cjs} +0 -0
  387. /package/dist/{while-active-BpppWuCs.js → while-active-B0lWy_6l.js} +0 -0
  388. /package/dist/{while-active-Dhc2LwOm.cjs → while-active-Dsowp0Fi.cjs} +0 -0
@@ -0,0 +1,102 @@
1
+ import { n as import_buffer, r as init__polyfill_buffer_patch } from "./_polyfill-buffer-patch-yNxN4d5E.js";
2
+ import { t as SecretBox } from "./secret-box-DUR0ACYz.js";
3
+ import { CustomError } from "ts-custom-error";
4
+ //#region ../../packages/contract/network/src/resolve-blockchain-network-targets.ts
5
+ /**
6
+ * Returns a function that resolves an optional set of Lace
7
+ * {@link BlockchainNetworkId} values to chain-specific representations using a
8
+ * lookup map, with the same semantics as the in-memory wallet integrations:
9
+ *
10
+ * - `targets` undefined → all supported targets (the provided default list)
11
+ * - empty set → throws
12
+ * - non-empty set → each id must exist in the map or throws
13
+ */
14
+ const createBlockchainNetworkTargetResolver = (supportedByBlockchainNetworkId, defaultForAllSupported) => (targets) => {
15
+ if (targets === void 0) return [...defaultForAllSupported];
16
+ if (targets.size === 0) throw new Error("Empty target networks");
17
+ return Array.from(targets, (id) => {
18
+ const resolved = supportedByBlockchainNetworkId.get(id);
19
+ if (resolved === void 0) throw new Error(`Invalid network id: ${id}`);
20
+ return resolved;
21
+ });
22
+ };
23
+ //#endregion
24
+ //#region ../../packages/contract/in-memory/src/create-add-accounts.ts
25
+ init__polyfill_buffer_patch();
26
+ /**
27
+ * Thrown when adding an account on a new blockchain requires deriving a
28
+ * root key from the mnemonic, but the wallet has none (Nami-imported).
29
+ */
30
+ var RecoveryPhraseUnavailableError = class extends CustomError {
31
+ constructor() {
32
+ super("Cannot derive a new blockchain root key: this wallet has no mnemonic stored");
33
+ }
34
+ };
35
+ /**
36
+ * Creates a type-safe function to get blockchain-specific data from a wallet.
37
+ */
38
+ const createGetBlockchainData = (blockchainName) => (wallet) => {
39
+ return wallet.blockchainSpecific[blockchainName];
40
+ };
41
+ /**
42
+ * Factory function that creates a standardized `addAccounts` implementation.
43
+ *
44
+ * Handles both scenarios:
45
+ * - Existing blockchain: uses wallet's blockchainSpecific data to derive the accounts
46
+ * - New blockchain: decrypts wallet's recoveryPhrase, creates blockchain data, creates accounts
47
+ *
48
+ * Returns a wallet with merged accounts and blockchainSpecific data.
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * export const addAccounts = createAddAccounts({
53
+ * blockchainName: 'Cardano',
54
+ * createAccounts,
55
+ * createBlockchainSpecificWalletData,
56
+ * });
57
+ * ```
58
+ */
59
+ const createAddAccounts = ({ blockchainName, createAccounts, createBlockchainSpecificWalletData }) => {
60
+ const getBlockchainData = createGetBlockchainData(blockchainName);
61
+ return async (props, dependencies) => {
62
+ const { wallet, accountIndex, password, accountName, targetNetworks } = props;
63
+ let blockchainSpecificData = getBlockchainData(wallet);
64
+ let newBlockchainSpecificWalletData;
65
+ if (!blockchainSpecificData) {
66
+ if (!wallet.encryptedRecoveryPhrase) throw new RecoveryPhraseUnavailableError();
67
+ const recoveryPhraseBytes = await SecretBox.open(import_buffer.Buffer.from(wallet.encryptedRecoveryPhrase, "hex"), password);
68
+ const recoveryPhraseBuffer = import_buffer.Buffer.from(recoveryPhraseBytes);
69
+ try {
70
+ const recoveryPhrase = recoveryPhraseBuffer.toString("utf8").split(" ");
71
+ blockchainSpecificData = await createBlockchainSpecificWalletData({
72
+ walletId: wallet.walletId,
73
+ password,
74
+ recoveryPhrase
75
+ }, dependencies);
76
+ newBlockchainSpecificWalletData = blockchainSpecificData;
77
+ } finally {
78
+ recoveryPhraseBytes.fill(0);
79
+ recoveryPhraseBuffer.fill(0);
80
+ }
81
+ }
82
+ const newAccounts = await createAccounts({
83
+ blockchainSpecific: blockchainSpecificData,
84
+ accountIndex,
85
+ walletId: wallet.walletId,
86
+ blockchainName,
87
+ password,
88
+ accountName,
89
+ targetNetworks
90
+ }, dependencies);
91
+ return { wallet: {
92
+ ...wallet,
93
+ accounts: [...wallet.accounts, ...newAccounts],
94
+ ...newBlockchainSpecificWalletData && { blockchainSpecific: {
95
+ ...wallet.blockchainSpecific,
96
+ [blockchainName]: newBlockchainSpecificWalletData
97
+ } }
98
+ } };
99
+ };
100
+ };
101
+ //#endregion
102
+ export { createBlockchainNetworkTargetResolver as n, createAddAccounts as t };
@@ -0,0 +1,114 @@
1
+ require("./rolldown-runtime-Br2OG8yv.cjs");
2
+ const require__polyfill_buffer_patch = require("./_polyfill-buffer-patch-CM8X7JiY.cjs");
3
+ const require_secret_box = require("./secret-box-DrjLZuS1.cjs");
4
+ let ts_custom_error = require("ts-custom-error");
5
+ //#region ../../packages/contract/network/src/resolve-blockchain-network-targets.ts
6
+ /**
7
+ * Returns a function that resolves an optional set of Lace
8
+ * {@link BlockchainNetworkId} values to chain-specific representations using a
9
+ * lookup map, with the same semantics as the in-memory wallet integrations:
10
+ *
11
+ * - `targets` undefined → all supported targets (the provided default list)
12
+ * - empty set → throws
13
+ * - non-empty set → each id must exist in the map or throws
14
+ */
15
+ const createBlockchainNetworkTargetResolver = (supportedByBlockchainNetworkId, defaultForAllSupported) => (targets) => {
16
+ if (targets === void 0) return [...defaultForAllSupported];
17
+ if (targets.size === 0) throw new Error("Empty target networks");
18
+ return Array.from(targets, (id) => {
19
+ const resolved = supportedByBlockchainNetworkId.get(id);
20
+ if (resolved === void 0) throw new Error(`Invalid network id: ${id}`);
21
+ return resolved;
22
+ });
23
+ };
24
+ //#endregion
25
+ //#region ../../packages/contract/in-memory/src/create-add-accounts.ts
26
+ require__polyfill_buffer_patch.init__polyfill_buffer_patch();
27
+ /**
28
+ * Thrown when adding an account on a new blockchain requires deriving a
29
+ * root key from the mnemonic, but the wallet has none (Nami-imported).
30
+ */
31
+ var RecoveryPhraseUnavailableError = class extends ts_custom_error.CustomError {
32
+ constructor() {
33
+ super("Cannot derive a new blockchain root key: this wallet has no mnemonic stored");
34
+ }
35
+ };
36
+ /**
37
+ * Creates a type-safe function to get blockchain-specific data from a wallet.
38
+ */
39
+ const createGetBlockchainData = (blockchainName) => (wallet) => {
40
+ return wallet.blockchainSpecific[blockchainName];
41
+ };
42
+ /**
43
+ * Factory function that creates a standardized `addAccounts` implementation.
44
+ *
45
+ * Handles both scenarios:
46
+ * - Existing blockchain: uses wallet's blockchainSpecific data to derive the accounts
47
+ * - New blockchain: decrypts wallet's recoveryPhrase, creates blockchain data, creates accounts
48
+ *
49
+ * Returns a wallet with merged accounts and blockchainSpecific data.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * export const addAccounts = createAddAccounts({
54
+ * blockchainName: 'Cardano',
55
+ * createAccounts,
56
+ * createBlockchainSpecificWalletData,
57
+ * });
58
+ * ```
59
+ */
60
+ const createAddAccounts = ({ blockchainName, createAccounts, createBlockchainSpecificWalletData }) => {
61
+ const getBlockchainData = createGetBlockchainData(blockchainName);
62
+ return async (props, dependencies) => {
63
+ const { wallet, accountIndex, password, accountName, targetNetworks } = props;
64
+ let blockchainSpecificData = getBlockchainData(wallet);
65
+ let newBlockchainSpecificWalletData;
66
+ if (!blockchainSpecificData) {
67
+ if (!wallet.encryptedRecoveryPhrase) throw new RecoveryPhraseUnavailableError();
68
+ const recoveryPhraseBytes = await require_secret_box.SecretBox.open(require__polyfill_buffer_patch.import_buffer.Buffer.from(wallet.encryptedRecoveryPhrase, "hex"), password);
69
+ const recoveryPhraseBuffer = require__polyfill_buffer_patch.import_buffer.Buffer.from(recoveryPhraseBytes);
70
+ try {
71
+ const recoveryPhrase = recoveryPhraseBuffer.toString("utf8").split(" ");
72
+ blockchainSpecificData = await createBlockchainSpecificWalletData({
73
+ walletId: wallet.walletId,
74
+ password,
75
+ recoveryPhrase
76
+ }, dependencies);
77
+ newBlockchainSpecificWalletData = blockchainSpecificData;
78
+ } finally {
79
+ recoveryPhraseBytes.fill(0);
80
+ recoveryPhraseBuffer.fill(0);
81
+ }
82
+ }
83
+ const newAccounts = await createAccounts({
84
+ blockchainSpecific: blockchainSpecificData,
85
+ accountIndex,
86
+ walletId: wallet.walletId,
87
+ blockchainName,
88
+ password,
89
+ accountName,
90
+ targetNetworks
91
+ }, dependencies);
92
+ return { wallet: {
93
+ ...wallet,
94
+ accounts: [...wallet.accounts, ...newAccounts],
95
+ ...newBlockchainSpecificWalletData && { blockchainSpecific: {
96
+ ...wallet.blockchainSpecific,
97
+ [blockchainName]: newBlockchainSpecificWalletData
98
+ } }
99
+ } };
100
+ };
101
+ };
102
+ //#endregion
103
+ Object.defineProperty(exports, "createAddAccounts", {
104
+ enumerable: true,
105
+ get: function() {
106
+ return createAddAccounts;
107
+ }
108
+ });
109
+ Object.defineProperty(exports, "createBlockchainNetworkTargetResolver", {
110
+ enumerable: true,
111
+ get: function() {
112
+ return createBlockchainNetworkTargetResolver;
113
+ }
114
+ });
@@ -1,9 +1,9 @@
1
1
  require("./rolldown-runtime-Br2OG8yv.cjs");
2
- const require_util = require("./util-CGzqQ8IV.cjs");
3
- const require_bignum_vo = require("./bignum.vo-DsG3kNiZ.cjs");
4
- const require_const = require("./const-BDEg2Trq.cjs");
5
- const require_TransactionBuilder = require("./TransactionBuilder-DrB3NVTi.cjs");
6
- const require_account_guards_stable = require("./account-guards.stable-B1DSSh9D.cjs");
2
+ const require_util = require("./util-Bu4W5lF4.cjs");
3
+ const require_bignum_vo = require("./bignum.vo-hx2kuqlA.cjs");
4
+ const require_const = require("./const-D-eZIS4n.cjs");
5
+ const require_TransactionBuilder = require("./TransactionBuilder-CCjOn7NA.cjs");
6
+ const require_account_guards = require("./account-guards-BtjTGxDZ.cjs");
7
7
  let _laceio_cardano_core = require("@laceio/cardano/core");
8
8
  let rxjs = require("rxjs");
9
9
  let rxjs_operators = require("rxjs/operators");
@@ -44,7 +44,7 @@ const makeBuildDelegationTx = (dependencies) => (params) => (0, rxjs.defer)(asyn
44
44
  success: false,
45
45
  error: /* @__PURE__ */ new Error("Protocol parameters not available")
46
46
  };
47
- require_account_guards_stable.refuseExtensionAccount(accountId, cardanoAddresses);
47
+ require_account_guards.refuseExtensionAccount(accountId, cardanoAddresses);
48
48
  const availableUtxo = require_util.filterSpendableUtxos(allAccountUtxos[accountId] ?? [], unspendableAccountUtxos[accountId] ?? []);
49
49
  const accountAddresses = cardanoAddresses.filter((addr) => addr.accountId === accountId && addr.blockchainName === "Cardano");
50
50
  if (!accountAddresses[0]) return {
@@ -1,8 +1,8 @@
1
- import { n as filterSpendableUtxos } from "./util-BaLzwa32.js";
2
- import { t as BigNumber } from "./bignum.vo-B0rK_PQ1.js";
3
- import { r as LOVELACE_TOKEN_ID } from "./const-C84qHkjp.js";
4
- import { t as TransactionBuilder } from "./TransactionBuilder-V6aLx4SV.js";
5
- import { t as refuseExtensionAccount } from "./account-guards.stable-JRQ5qx2V.js";
1
+ import { n as filterSpendableUtxos } from "./util-Cp5cZkfK.js";
2
+ import { t as BigNumber } from "./bignum.vo-CEXOIew0.js";
3
+ import { r as LOVELACE_TOKEN_ID } from "./const-BJfIK_G-.js";
4
+ import { n as TransactionBuilder } from "./TransactionBuilder-CIzdw18M.js";
5
+ import { t as refuseExtensionAccount } from "./account-guards-D9Lu5T3W.js";
6
6
  import { Cardano } from "@laceio/cardano/core";
7
7
  import { defer, firstValueFrom, of } from "rxjs";
8
8
  import { catchError as catchError$1 } from "rxjs/operators";
@@ -1,8 +1,8 @@
1
- import { n as filterSpendableUtxos } from "./util-BaLzwa32.js";
2
- import { t as BigNumber } from "./bignum.vo-B0rK_PQ1.js";
3
- import { r as LOVELACE_TOKEN_ID } from "./const-C84qHkjp.js";
4
- import { t as TransactionBuilder } from "./TransactionBuilder-V6aLx4SV.js";
5
- import { t as refuseExtensionAccount } from "./account-guards.stable-JRQ5qx2V.js";
1
+ import { n as filterSpendableUtxos } from "./util-Cp5cZkfK.js";
2
+ import { t as BigNumber } from "./bignum.vo-CEXOIew0.js";
3
+ import { r as LOVELACE_TOKEN_ID } from "./const-BJfIK_G-.js";
4
+ import { n as TransactionBuilder } from "./TransactionBuilder-CIzdw18M.js";
5
+ import { t as refuseExtensionAccount } from "./account-guards-D9Lu5T3W.js";
6
6
  import { Cardano } from "@laceio/cardano/core";
7
7
  import { defer, firstValueFrom, of } from "rxjs";
8
8
  import { catchError as catchError$1 } from "rxjs/operators";
@@ -1,9 +1,9 @@
1
1
  require("./rolldown-runtime-Br2OG8yv.cjs");
2
- const require_util = require("./util-CGzqQ8IV.cjs");
3
- const require_bignum_vo = require("./bignum.vo-DsG3kNiZ.cjs");
4
- const require_const = require("./const-BDEg2Trq.cjs");
5
- const require_TransactionBuilder = require("./TransactionBuilder-DrB3NVTi.cjs");
6
- const require_account_guards_stable = require("./account-guards.stable-B1DSSh9D.cjs");
2
+ const require_util = require("./util-Bu4W5lF4.cjs");
3
+ const require_bignum_vo = require("./bignum.vo-hx2kuqlA.cjs");
4
+ const require_const = require("./const-D-eZIS4n.cjs");
5
+ const require_TransactionBuilder = require("./TransactionBuilder-CCjOn7NA.cjs");
6
+ const require_account_guards = require("./account-guards-BtjTGxDZ.cjs");
7
7
  let _laceio_cardano_core = require("@laceio/cardano/core");
8
8
  let rxjs = require("rxjs");
9
9
  let rxjs_operators = require("rxjs/operators");
@@ -59,7 +59,7 @@ const makeBuildDeregistrationTx = (dependencies) => (params) => (0, rxjs.defer)(
59
59
  success: false,
60
60
  error: /* @__PURE__ */ new Error("Protocol parameters not available")
61
61
  };
62
- require_account_guards_stable.refuseExtensionAccount(accountId, cardanoAddresses);
62
+ require_account_guards.refuseExtensionAccount(accountId, cardanoAddresses);
63
63
  const availableUtxo = require_util.filterSpendableUtxos(allAccountUtxos[accountId] ?? [], unspendableAccountUtxos[accountId] ?? []);
64
64
  const accountAddresses = cardanoAddresses.filter((addr) => addr.accountId === accountId && addr.blockchainName === "Cardano");
65
65
  if (!accountAddresses[0]) return {
@@ -0,0 +1,26 @@
1
+ //#region ../../packages/contract/passport/src/value-objects/device-commitment-hex.vo.ts
2
+ const DEVICE_COMMITMENT_BYTE_LENGTH = 32;
3
+ const LOWERCASE_HEX_PATTERN = /^[0-9a-f]+$/;
4
+ /**
5
+ * Thrown when a value is not a lowercase hex encoding of exactly
6
+ * DEVICE_COMMITMENT_BYTE_LENGTH bytes.
7
+ */
8
+ var DeviceCommitmentHexError = class extends Error {
9
+ code = "invalid-length";
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "DeviceCommitmentHexError";
13
+ }
14
+ };
15
+ /**
16
+ * Checks that a string is 32 bytes of lowercase hex and types it as a device
17
+ * commitment.
18
+ *
19
+ * @throws {@link DeviceCommitmentHexError} when it is not.
20
+ */
21
+ const DeviceCommitmentHex = (value) => {
22
+ if (value.length !== DEVICE_COMMITMENT_BYTE_LENGTH * 2 || !LOWERCASE_HEX_PATTERN.test(value)) throw new DeviceCommitmentHexError(`DeviceCommitmentHex expects ${DEVICE_COMMITMENT_BYTE_LENGTH} bytes as lowercase hex, got "${value}"`);
23
+ return value;
24
+ };
25
+ //#endregion
26
+ export { DeviceCommitmentHex as t };
@@ -0,0 +1,31 @@
1
+ //#region ../../packages/contract/passport/src/value-objects/device-commitment-hex.vo.ts
2
+ const DEVICE_COMMITMENT_BYTE_LENGTH = 32;
3
+ const LOWERCASE_HEX_PATTERN = /^[0-9a-f]+$/;
4
+ /**
5
+ * Thrown when a value is not a lowercase hex encoding of exactly
6
+ * DEVICE_COMMITMENT_BYTE_LENGTH bytes.
7
+ */
8
+ var DeviceCommitmentHexError = class extends Error {
9
+ code = "invalid-length";
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "DeviceCommitmentHexError";
13
+ }
14
+ };
15
+ /**
16
+ * Checks that a string is 32 bytes of lowercase hex and types it as a device
17
+ * commitment.
18
+ *
19
+ * @throws {@link DeviceCommitmentHexError} when it is not.
20
+ */
21
+ const DeviceCommitmentHex = (value) => {
22
+ if (value.length !== DEVICE_COMMITMENT_BYTE_LENGTH * 2 || !LOWERCASE_HEX_PATTERN.test(value)) throw new DeviceCommitmentHexError(`DeviceCommitmentHex expects ${DEVICE_COMMITMENT_BYTE_LENGTH} bytes as lowercase hex, got "${value}"`);
23
+ return value;
24
+ };
25
+ //#endregion
26
+ Object.defineProperty(exports, "DeviceCommitmentHex", {
27
+ enumerable: true,
28
+ get: function() {
29
+ return DeviceCommitmentHex;
30
+ }
31
+ });
@@ -0,0 +1,145 @@
1
+ import { n as HexBytes, t as ByteArray } from "./bytes.vo-BB7_4JK6.js";
2
+ import { f as DeviceReaderInvalidError } from "./errors-DSq5wUwt.js";
3
+ import { H as isSealableX25519Key } from "./grant-rules-By07_eDi.js";
4
+ import { t as decodeDevicePublicKey } from "./envelopes-BGoO_v8m.js";
5
+ import { a as pureCircuits } from "./acc-module-Cmj8EsIb.js";
6
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
7
+ /**
8
+ * How many use counters of each registered device are tried for its live
9
+ * entry, as far as the use-counter rescan probes a device's own counter.
10
+ */
11
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
12
+ /**
13
+ * The rolling entries a compressed device key derives in a scope, with
14
+ * the key decoded once for every counter tried, or undefined for a key
15
+ * that is no Jubjub point.
16
+ */
17
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
18
+ const point = decodeDevicePublicKey(devicePublicKey);
19
+ if (!point) return void 0;
20
+ const account = { bytes: ByteArray.fromHex(HexBytes(address)) };
21
+ return (counter) => HexBytes.fromByteArray(pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
22
+ };
23
+ /**
24
+ * The rolling entry a compressed device key derives at one use counter,
25
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
26
+ */
27
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
28
+ /**
29
+ * Whether a compressed device key derives `entryHex` at any use counter
30
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
31
+ * device holding that entry.
32
+ */
33
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
34
+ const entryAt = entriesOf(scope, devicePublicKey);
35
+ if (!entryAt) return false;
36
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
37
+ return false;
38
+ };
39
+ /**
40
+ * Holds a joining device's keys to the entry it is enrolled under: its
41
+ * reader key must be one the account seals to, and its device key a
42
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
43
+ * starts from, is the commitment being added, so the account keys are
44
+ * never sealed to a reader paired with another device's key.
45
+ *
46
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
47
+ * sealable, the device key is no point, or its first entry is not the
48
+ * commitment.
49
+ */
50
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
51
+ if (!isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new DeviceReaderInvalidError();
52
+ };
53
+ /**
54
+ * The live entry of each device key that derives one, by key. Every key
55
+ * is decoded once and the keys are tried in lockstep, one use counter at
56
+ * a time from 0, so each resolves at its lowest live counter. The scan
57
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
58
+ * is matched: an entry derives from one device key only, so no key still
59
+ * unresolved can derive a sought entry after that.
60
+ */
61
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
62
+ const found = /* @__PURE__ */ new Map();
63
+ const unmatched = new Set(sought);
64
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
65
+ const entryAt = entriesOf(scope, key);
66
+ return entryAt ? [{
67
+ key,
68
+ entryAt
69
+ }] : [];
70
+ });
71
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
72
+ const entryHex = entryAt(counter);
73
+ if (!isLive(entryHex)) return true;
74
+ found.set(key, {
75
+ counter,
76
+ entryHex
77
+ });
78
+ unmatched.delete(entryHex);
79
+ return false;
80
+ });
81
+ return found;
82
+ };
83
+ /** Adds `value` to the set `map` holds under `key`. */
84
+ const addTo = (map, key, value) => {
85
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
86
+ };
87
+ /**
88
+ * The registered devices that are enrolled now, each with its live entry:
89
+ * every device key is tried at use counters from 0 until it derives an
90
+ * entry the ledger's device set holds, at most
91
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
92
+ * allowed entry and the target are matched, so registrations it has not
93
+ * resolved by then can derive none of them. A registration whose key
94
+ * derives no live entry is left out, as one a device wrote before it was
95
+ * enrolled, one of a removed device, or one planted with a key of
96
+ * nobody's. One device's registration written twice counts once.
97
+ * Registrations whose live entry is not allowed are set apart first, so a
98
+ * removed device's own registrations never weigh on the rest. Among the
99
+ * others, which one is genuine cannot be told apart when they conflict,
100
+ * so none of a conflict is sealed to: a reader key registered for two
101
+ * live devices is left out, and a live device claimed by two reader keys
102
+ * keeps none of them. Every allowed entry left without a reader, that
103
+ * way or for want of any registration, is reported dropped, so the user
104
+ * sees every device that gets no new key and has to be enrolled again.
105
+ */
106
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
107
+ const resolved = /* @__PURE__ */ new Map();
108
+ const outside = [];
109
+ const entriesOfReader = /* @__PURE__ */ new Map();
110
+ const readersOfEntry = /* @__PURE__ */ new Map();
111
+ const live = liveEntries({
112
+ scope,
113
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
114
+ isLive,
115
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
116
+ });
117
+ for (const device of registered) {
118
+ const entry = live.get(device.devicePublicKey);
119
+ if (!entry) continue;
120
+ const candidate = {
121
+ reader: {
122
+ ...device,
123
+ epoch: scope.epoch,
124
+ counter: entry.counter
125
+ },
126
+ entryHex: entry.entryHex
127
+ };
128
+ if (!allowed.has(entry.entryHex)) {
129
+ outside.push(candidate);
130
+ continue;
131
+ }
132
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
133
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
134
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
135
+ }
136
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
137
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
138
+ return {
139
+ readers,
140
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
141
+ outside
142
+ };
143
+ };
144
+ //#endregion
145
+ export { resolveLiveReaders as i, derivesEntry as n, deviceEntryOf as r, assertJoiningDevice as t };
@@ -0,0 +1,168 @@
1
+ const require_bytes_vo = require("./bytes.vo-BNRquqaO.cjs");
2
+ const require_errors = require("./errors-BIftM8ZN.cjs");
3
+ const require_grant_rules = require("./grant-rules-BzVTWXS7.cjs");
4
+ const require_envelopes = require("./envelopes-CH25R-DN.cjs");
5
+ const require_acc_module = require("./acc-module-4iIUv6My.cjs");
6
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
7
+ /**
8
+ * How many use counters of each registered device are tried for its live
9
+ * entry, as far as the use-counter rescan probes a device's own counter.
10
+ */
11
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
12
+ /**
13
+ * The rolling entries a compressed device key derives in a scope, with
14
+ * the key decoded once for every counter tried, or undefined for a key
15
+ * that is no Jubjub point.
16
+ */
17
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
18
+ const point = require_envelopes.decodeDevicePublicKey(devicePublicKey);
19
+ if (!point) return void 0;
20
+ const account = { bytes: require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(address)) };
21
+ return (counter) => require_bytes_vo.HexBytes.fromByteArray(require_acc_module.pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
22
+ };
23
+ /**
24
+ * The rolling entry a compressed device key derives at one use counter,
25
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
26
+ */
27
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
28
+ /**
29
+ * Whether a compressed device key derives `entryHex` at any use counter
30
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
31
+ * device holding that entry.
32
+ */
33
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
34
+ const entryAt = entriesOf(scope, devicePublicKey);
35
+ if (!entryAt) return false;
36
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
37
+ return false;
38
+ };
39
+ /**
40
+ * Holds a joining device's keys to the entry it is enrolled under: its
41
+ * reader key must be one the account seals to, and its device key a
42
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
43
+ * starts from, is the commitment being added, so the account keys are
44
+ * never sealed to a reader paired with another device's key.
45
+ *
46
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
47
+ * sealable, the device key is no point, or its first entry is not the
48
+ * commitment.
49
+ */
50
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
51
+ if (!require_grant_rules.isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new require_errors.DeviceReaderInvalidError();
52
+ };
53
+ /**
54
+ * The live entry of each device key that derives one, by key. Every key
55
+ * is decoded once and the keys are tried in lockstep, one use counter at
56
+ * a time from 0, so each resolves at its lowest live counter. The scan
57
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
58
+ * is matched: an entry derives from one device key only, so no key still
59
+ * unresolved can derive a sought entry after that.
60
+ */
61
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
62
+ const found = /* @__PURE__ */ new Map();
63
+ const unmatched = new Set(sought);
64
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
65
+ const entryAt = entriesOf(scope, key);
66
+ return entryAt ? [{
67
+ key,
68
+ entryAt
69
+ }] : [];
70
+ });
71
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
72
+ const entryHex = entryAt(counter);
73
+ if (!isLive(entryHex)) return true;
74
+ found.set(key, {
75
+ counter,
76
+ entryHex
77
+ });
78
+ unmatched.delete(entryHex);
79
+ return false;
80
+ });
81
+ return found;
82
+ };
83
+ /** Adds `value` to the set `map` holds under `key`. */
84
+ const addTo = (map, key, value) => {
85
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
86
+ };
87
+ /**
88
+ * The registered devices that are enrolled now, each with its live entry:
89
+ * every device key is tried at use counters from 0 until it derives an
90
+ * entry the ledger's device set holds, at most
91
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
92
+ * allowed entry and the target are matched, so registrations it has not
93
+ * resolved by then can derive none of them. A registration whose key
94
+ * derives no live entry is left out, as one a device wrote before it was
95
+ * enrolled, one of a removed device, or one planted with a key of
96
+ * nobody's. One device's registration written twice counts once.
97
+ * Registrations whose live entry is not allowed are set apart first, so a
98
+ * removed device's own registrations never weigh on the rest. Among the
99
+ * others, which one is genuine cannot be told apart when they conflict,
100
+ * so none of a conflict is sealed to: a reader key registered for two
101
+ * live devices is left out, and a live device claimed by two reader keys
102
+ * keeps none of them. Every allowed entry left without a reader, that
103
+ * way or for want of any registration, is reported dropped, so the user
104
+ * sees every device that gets no new key and has to be enrolled again.
105
+ */
106
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
107
+ const resolved = /* @__PURE__ */ new Map();
108
+ const outside = [];
109
+ const entriesOfReader = /* @__PURE__ */ new Map();
110
+ const readersOfEntry = /* @__PURE__ */ new Map();
111
+ const live = liveEntries({
112
+ scope,
113
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
114
+ isLive,
115
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
116
+ });
117
+ for (const device of registered) {
118
+ const entry = live.get(device.devicePublicKey);
119
+ if (!entry) continue;
120
+ const candidate = {
121
+ reader: {
122
+ ...device,
123
+ epoch: scope.epoch,
124
+ counter: entry.counter
125
+ },
126
+ entryHex: entry.entryHex
127
+ };
128
+ if (!allowed.has(entry.entryHex)) {
129
+ outside.push(candidate);
130
+ continue;
131
+ }
132
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
133
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
134
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
135
+ }
136
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
137
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
138
+ return {
139
+ readers,
140
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
141
+ outside
142
+ };
143
+ };
144
+ //#endregion
145
+ Object.defineProperty(exports, "assertJoiningDevice", {
146
+ enumerable: true,
147
+ get: function() {
148
+ return assertJoiningDevice;
149
+ }
150
+ });
151
+ Object.defineProperty(exports, "derivesEntry", {
152
+ enumerable: true,
153
+ get: function() {
154
+ return derivesEntry;
155
+ }
156
+ });
157
+ Object.defineProperty(exports, "deviceEntryOf", {
158
+ enumerable: true,
159
+ get: function() {
160
+ return deviceEntryOf;
161
+ }
162
+ });
163
+ Object.defineProperty(exports, "resolveLiveReaders", {
164
+ enumerable: true,
165
+ get: function() {
166
+ return resolveLiveReaders;
167
+ }
168
+ });