@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
@@ -1,7 +1,7 @@
1
- import { n as v4, t as init_esm_browser } from "./esm-browser-C93Q-EOI.js";
2
- import { n as analyticsReducers } from "./slice-BNu73oBa.js";
3
- import { t as blockingWithLatestFrom } from "./blockingWithLatestFrom-C5wp_uA-.js";
4
- import { t as toEmpty } from "./toEmpty-CgAl3097.js";
1
+ import { n as v4, t as init_esm_browser } from "./esm-browser-MG97cre9.js";
2
+ import { n as analyticsReducers } from "./slice-DyNs7oWp.js";
3
+ import { t as blockingWithLatestFrom } from "./blockingWithLatestFrom-Cd8c8EPG.js";
4
+ import { t as toEmpty } from "./toEmpty-8Zax1MPd.js";
5
5
  import { isNotNil } from "@laceio/cardano/util";
6
6
  import { EMPTY, catchError, combineLatest, filter, map, mergeMap, skipWhile, startWith, switchMap, take } from "rxjs";
7
7
  //#region ../../packages/contract/analytics/src/store/side-effects.ts
@@ -0,0 +1,18 @@
1
+ require("./rolldown-runtime-Br2OG8yv.cjs");
2
+ require("./_polyfill-buffer-patch-CM8X7JiY.cjs");
3
+ require("./codecs-Cswkg7Tm.cjs");
4
+ require("./address-BXp-mY8H.cjs");
5
+ require("./safe-buffer-DYOwEfHB.cjs");
6
+ require("./pbkdf2-CIW-oWrm.cjs");
7
+ require("./asyncoption-i0VbqVTq.cjs");
8
+ const require_side_effects = require("./side-effects-CngaeXi0.cjs");
9
+ require("./bn-d3nSOIf7.cjs");
10
+ //#region ../../packages/module/blockchain-bitcoin/src/store/init.ts
11
+ const store = (props) => ({
12
+ sideEffects: require_side_effects.createBitcoinProviderSideEffects(props.runtime.config),
13
+ reducers: require_side_effects.bitcoinContextReducers,
14
+ selectors: require_side_effects.bitcoinContextSelectors,
15
+ sideEffectDependencies: { bitcoinAccountWallets$: require_side_effects.bitcoinAccountWallets$ }
16
+ });
17
+ //#endregion
18
+ exports.default = store;
@@ -1,6 +1,6 @@
1
1
  require("./rolldown-runtime-Br2OG8yv.cjs");
2
- const require_is_redux_persist_state = require("./is-redux-persist-state-CTn3WZVh.cjs");
3
- const require_slice = require("./slice-DGcNrbPR.cjs");
2
+ const require_is_redux_persist_state = require("./is-redux-persist-state-BCFnSm36.cjs");
3
+ const require_slice = require("./slice-Bg6HEr3K.cjs");
4
4
  //#region ../../packages/contract/sync/src/store/init.ts
5
5
  /**
6
6
  * Transform that excludes pendingSync from being persisted.
@@ -1,5 +1,5 @@
1
- import { t as isReduxPersistState } from "./is-redux-persist-state-Cxcd0_bM.js";
2
- import { n as syncReducers } from "./slice-eIwcwKHI.js";
1
+ import { t as isReduxPersistState } from "./is-redux-persist-state-yBfq0h_E.js";
2
+ import { n as syncReducers } from "./slice-CK07EBCo.js";
3
3
  import { createTransform } from "redux-persist";
4
4
  //#region ../../packages/contract/sync/src/store/init.ts
5
5
  /**
@@ -1,18 +1,25 @@
1
- import "./libsodium-wrappers-UH0LaOUE.js";
2
- import { n as Cardano$1 } from "./seam-cardano-CATqBEyK.js";
3
- import { a as isCardanoAccount, g as CardanoPaymentAddress, o as isCardanoAddress } from "./util-BaLzwa32.js";
4
- import { s as Timestamp } from "./time.vo-DkYYGYp6.js";
5
- import { t as Err } from "./asyncoption-Cw07zPH7.js";
6
- import { c as extractUniqueStakeKeys, i as isThoroughAddressDiscoveryOperation, n as createSyncOperationId, o as parseTipHashFromOperationId, r as isAddressDiscoveryOperation, s as CardanoSyncFailureId, t as CardanoSyncOperationType } from "./sync-operation-utils-BYXLO80m.js";
7
- import { a as UtxoCacheKey, i as getTopOnChainActivity, o as autoDismissFailureOnSuccess, r as groupCardanoAddressesByAccount } from "./group-cardano-addresses-by-account-RHKoEskR.js";
8
- import { t as toEmpty } from "./toEmpty-CgAl3097.js";
9
- import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-BcUmMS--.js";
10
- import { t as CardanoNetworkId } from "./cardano-network-id.vo-CK1tNQDg.js";
11
- import { t as CardanoTxId } from "./cardano-tx-id.vo-DF9NzZXk.js";
12
- import { t as whileActive } from "./while-active-BpppWuCs.js";
1
+ import "./_web-crypto-random-bytes-Bo-GTcRS.js";
2
+ import "./_polyfill-buffer-patch-yNxN4d5E.js";
3
+ import "./libsodium-wrappers-BhbOA8dQ.js";
4
+ import { n as Cardano$1 } from "./seam-cardano-B_etH4F4.js";
5
+ import { a as isCardanoAccount, g as CardanoPaymentAddress, o as isCardanoAddress, u as toContractAddress } from "./util-Cp5cZkfK.js";
6
+ import { s as Timestamp } from "./time.vo-tNheinXm.js";
7
+ import { t as Err } from "./asyncoption-CruEYOBI.js";
8
+ import { t as autoDismissFailureOnSuccess } from "./auto-dismiss-failure-on-success-s8MGDEIu.js";
9
+ import { t as AccountId } from "./account-id.vo-OPz2v-JZ.js";
10
+ import { t as toEmpty } from "./toEmpty-8Zax1MPd.js";
11
+ import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-Dmgt28wM.js";
12
+ import { c as extractUniqueStakeKeys, i as isThoroughAddressDiscoveryOperation, n as createSyncOperationId, o as parseTipHashFromOperationId, r as isAddressDiscoveryOperation, s as CardanoSyncFailureId, t as CardanoSyncOperationType } from "./sync-operation-utils-31iFLExW.js";
13
+ import { t as CardanoNetworkId } from "./cardano-network-id.vo-Cfpvbod9.js";
14
+ import { t as CardanoTxId } from "./cardano-tx-id.vo-eVnKuzlm.js";
15
+ import { a as UtxoCacheKey, i as getTopOnChainActivity, r as groupCardanoAddressesByAccount } from "./group-cardano-addresses-by-account-SR8MMrZf.js";
16
+ import { t as isCardanoCustodyAccount } from "./account-BOQruszJ.js";
17
+ import { t as verifyCardanoCustodyAccountIdentity } from "./identity-DII6f-h7.js";
18
+ import { t as whileActive } from "./while-active-B0lWy_6l.js";
19
+ import { t as cardanoCustodyActivityMetadataOf } from "./pending-operation-BIS6mpjB.js";
13
20
  import { AddressType } from "@laceio/cardano/key-management";
14
21
  import { Cardano, nativeScriptPolicyId } from "@laceio/cardano/core";
15
- import { EMPTY, catchError, combineLatest, concat, distinctUntilChanged, exhaustMap, filter, forkJoin, from, ignoreElements, interval, map, merge, mergeMap, of, race, switchMap, take, takeUntil, tap, timer, toArray, withLatestFrom } from "rxjs";
22
+ import { EMPTY, catchError, combineLatest, concat, distinctUntilChanged, exhaustMap, filter, forkJoin, from, ignoreElements, interval, map, merge, mergeMap, of, race, scan, switchMap, take, takeUntil, tap, throwError, timer, toArray, withLatestFrom } from "rxjs";
16
23
  //#region ../../packages/lib/core/src/address.ts
17
24
  /**
18
25
  * CIP-19 Cardano address encoding — credentials → bech32, via `@cardano-sdk/core`'s
@@ -173,46 +180,6 @@ const filterFrankenUtxos = (utxos, ownedCredentials) => {
173
180
  };
174
181
  };
175
182
  //#endregion
176
- //#region ../../packages/module/cardano-sync/src/store/side-effects/account-extensions.stable.ts
177
- /** Whether the account is of a kind a feature adds: never. */
178
- const isExtensionAccount = (_account) => false;
179
- /** Address discovery for an account of a kind a feature adds: none exists. */
180
- const extensionAccountAddressDiscovery = (_params) => EMPTY;
181
- /** The UTxO fetch of an account of a kind a feature adds: none exists. */
182
- const extensionAccountUtxos = (_params) => EMPTY;
183
- /** The sync side effects the features add: none. */
184
- const extensionSyncSideEffects = [];
185
- //#endregion
186
- //#region ../../packages/module/cardano-sync/src/store/get-script-address.ts
187
- /**
188
- * Method to derive the wallet's grouped address from the script and network ID.
189
- *
190
- * @param paymentScript - The native script to be used for the payment credential.
191
- * @param stakingScript - The native script to be used for the staking credential.
192
- * @param networkId - The network identifier.
193
- * @returns The derived grouped address.
194
- */
195
- const getScriptAddress = (paymentScript, stakingScript, networkId) => {
196
- const paymentScriptHash = nativeScriptPolicyId(paymentScript);
197
- const stakingScriptHash = nativeScriptPolicyId(stakingScript);
198
- const paymentScriptCredential = {
199
- hash: paymentScriptHash,
200
- type: Cardano.CredentialType.ScriptHash
201
- };
202
- const stakeScriptCredential = {
203
- hash: stakingScriptHash,
204
- type: Cardano.CredentialType.ScriptHash
205
- };
206
- return {
207
- accountIndex: 0,
208
- address: encodeBaseAddress(networkId, paymentScriptCredential, stakeScriptCredential),
209
- index: 0,
210
- networkId,
211
- rewardAccount: encodeRewardAddress(networkId, stakeScriptCredential),
212
- type: AddressType.External
213
- };
214
- };
215
- //#endregion
216
183
  //#region ../../packages/module/cardano-sync/src/store/side-effects/chain-account-state-operations.ts
217
184
  /**
218
185
  * Builds the `addSyncOperation` actions that chain account-state operations
@@ -256,6 +223,245 @@ const chainAccountStateOperations = (params) => {
256
223
  }));
257
224
  };
258
225
  //#endregion
226
+ //#region ../../packages/module/cardano-sync/src/store/side-effects/throw-on-error.ts
227
+ /** The value of a provider result, or its error thrown. */
228
+ const throwOnError = (result) => {
229
+ if (result.isErr()) throw result.unwrapErr();
230
+ return result.unwrap();
231
+ };
232
+ //#endregion
233
+ //#region ../../packages/module/cardano-sync/src/store/side-effects/custody-accounts.ts
234
+ /**
235
+ * Discovers the one address of a Cardano custody account: its base address,
236
+ * re-derived from the stored identity. The sync fails when the stored
237
+ * address, reward account or stake script hash differs from the derived one,
238
+ * so funds are never shown at an address the custody contract does not
239
+ * govern for this account.
240
+ *
241
+ * The entry carries the `type`, `index` and `accountIndex` every address
242
+ * entry needs, but no key derives it. It must never reach a signer as a
243
+ * known address: a key agent would sign every custody input with the key at
244
+ * that path. No signer factory accepts a custody account, so signing never
245
+ * reads its addresses.
246
+ */
247
+ const handleCustodyAccount = (params) => {
248
+ const { account, accountId, operationId, actions, logger } = params;
249
+ const { chainId } = account.blockchainSpecific;
250
+ const identity = verifyCardanoCustodyAccountIdentity(account.blockchainSpecific);
251
+ if (!identity.ok) {
252
+ logger.error(`Address discovery refused custody account ${accountId}: ${identity.error.code}`, identity.error);
253
+ return of(actions.sync.failSyncOperation({
254
+ accountId,
255
+ operationId,
256
+ error: "sync.error.address-discovery-failed"
257
+ }));
258
+ }
259
+ return of(actions.sync.updateSyncOperation({
260
+ accountId,
261
+ operationId,
262
+ update: {
263
+ status: "InProgress",
264
+ type: "Indeterminate"
265
+ }
266
+ }), actions.addresses.upsertAddresses({
267
+ blockchainName: "Cardano",
268
+ accountId,
269
+ addresses: [toContractAddress({
270
+ accountIndex: 0,
271
+ address: identity.value.address,
272
+ index: 0,
273
+ networkId: chainId.networkId,
274
+ rewardAccount: identity.value.rewardAccount,
275
+ type: AddressType.External
276
+ }, chainId.networkMagic)]
277
+ }), ...chainAccountStateOperations({
278
+ accountId,
279
+ discoveryOperationId: operationId,
280
+ actions
281
+ }), actions.sync.completeSyncOperation({
282
+ accountId,
283
+ operationId
284
+ }));
285
+ };
286
+ /**
287
+ * A custody account's UTxOs are not fetched: the account no longer matches
288
+ * the identity its contract derives.
289
+ */
290
+ var CardanoCustodyUtxoSyncRefusedError = class extends Error {
291
+ constructor(accountId, reason) {
292
+ super(`Refused the UTxO sync of custody account ${accountId}: ${reason.code}`);
293
+ this.accountId = accountId;
294
+ this.reason = reason;
295
+ this.name = "CardanoCustodyUtxoSyncRefusedError";
296
+ }
297
+ };
298
+ /**
299
+ * A custody account's UTxOs: exactly those whose full address is the
300
+ * account's base address, the only outputs the custody contract lets the
301
+ * account spend.
302
+ *
303
+ * Discovery verifies the identity only once, when it stores the address
304
+ * entry, so every fetch verifies it again: an identity changed since then,
305
+ * or an entry that no longer matches it, fails the fetch.
306
+ *
307
+ * Fetched by address rather than by stake key. The stake credential also
308
+ * gathers outputs under any other payment credential, which anyone can
309
+ * create at no cost to inflate the fetch, and none of which belong to the
310
+ * account. The key-hash franken filter does not apply: every custody output
311
+ * has the script's payment credential.
312
+ *
313
+ * Reference scripts are read too: classification counts a reserve that
314
+ * carries one as foreign.
315
+ */
316
+ const fetchCustodyAccountUtxos = (params) => {
317
+ const { accountId, blockchainSpecific } = params.account;
318
+ const identity = verifyCardanoCustodyAccountIdentity(blockchainSpecific);
319
+ if (!identity.ok) return throwError(() => new CardanoCustodyUtxoSyncRefusedError(accountId, identity.error));
320
+ const { address } = identity.value;
321
+ const strayEntry = params.accountAddresses.find((entry) => entry.address !== CardanoPaymentAddress(address));
322
+ if (strayEntry) return throwError(() => new CardanoCustodyUtxoSyncRefusedError(accountId, {
323
+ code: "address-entry-mismatch",
324
+ entry: strayEntry.address,
325
+ derived: address
326
+ }));
327
+ return params.getUtxosAtAddress({
328
+ address: CardanoPaymentAddress(address),
329
+ withReferenceScripts: true
330
+ }, { chainId: blockchainSpecific.chainId }).pipe(map(throwOnError), retryBackoff(PROVIDER_REQUEST_RETRY_CONFIG), map((utxos) => {
331
+ const own = utxos.filter(([, output]) => output.address === address);
332
+ if (own.length < utxos.length) params.logger.warn(`Dropped ${utxos.length - own.length} UTxOs not at the address of custody account ${accountId}`);
333
+ return own;
334
+ }));
335
+ };
336
+ //#endregion
337
+ //#region ../../packages/module/cardano-sync/src/store/side-effects/expire-custody-pending-activities.ts
338
+ /**
339
+ * Advances one account's round record. A round starts when `startedAt`
340
+ * changes and completes when it clears with a newer `lastSuccessfulSync`.
341
+ */
342
+ const advanceRounds = (previous, status, tipSlot) => {
343
+ const roundStartedAt = status.pendingSync?.startedAt;
344
+ const isSameRound = previous !== void 0 && roundStartedAt === previous.roundStartedAt;
345
+ const roundTipSlot = roundStartedAt === void 0 || previous === void 0 ? void 0 : isSameRound ? previous.roundTipSlot : tipSlot;
346
+ const hasCompleted = previous?.roundStartedAt !== void 0 && !isSameRound && status.lastSuccessfulSync !== previous.lastSuccessfulSync;
347
+ return {
348
+ roundStartedAt,
349
+ roundTipSlot,
350
+ lastSuccessfulSync: status.lastSuccessfulSync,
351
+ syncedFromSlot: hasCompleted ? previous.roundTipSlot ?? previous.syncedFromSlot : previous?.syncedFromSlot
352
+ };
353
+ };
354
+ const trackRounds = ({ hasSeenState, accounts }, [tip, statuses]) => ({
355
+ hasSeenState: true,
356
+ accounts: Object.fromEntries(Object.entries(statuses).map(([id, status]) => {
357
+ const accountId = AccountId(id);
358
+ return [accountId, advanceRounds(accounts[accountId] ?? (hasSeenState ? {} : void 0), status, tip?.slot)];
359
+ }))
360
+ });
361
+ /**
362
+ * Whether a custody operation's pending activity can no longer settle: a
363
+ * round that started once the tip was past its upper validity bound, by
364
+ * the depth the wallet allows its provider to lag, synced the account's
365
+ * history, and neither that history nor the synced UTxOs show the
366
+ * transaction.
367
+ */
368
+ const isExpired = (activity, { syncedFromSlot, utxos, history }) => {
369
+ const invalidHereafter = cardanoCustodyActivityMetadataOf(activity)?.invalidHereafter;
370
+ if (invalidHereafter === void 0 || syncedFromSlot === void 0) return false;
371
+ if (syncedFromSlot <= invalidHereafter + 60) return false;
372
+ const txId = activity.activityId;
373
+ return !history.some((item) => item.txId === txId) && !utxos.some(([input]) => input.txId === txId);
374
+ };
375
+ const findExpired = ({ rounds, pendingByAccount, utxosByAccount, historyByAccount }) => Object.entries(pendingByAccount).flatMap(([id, pending]) => {
376
+ const accountId = AccountId(id);
377
+ const context = {
378
+ syncedFromSlot: rounds.accounts[accountId]?.syncedFromSlot,
379
+ utxos: utxosByAccount[accountId] ?? [],
380
+ history: historyByAccount[accountId] ?? []
381
+ };
382
+ const activityIds = pending.filter((activity) => isExpired(activity, context)).map(({ activityId }) => activityId);
383
+ return activityIds.length > 0 ? [{
384
+ accountId,
385
+ activityIds
386
+ }] : [];
387
+ });
388
+ /**
389
+ * Drops the pending activity of a custody operation that can no longer
390
+ * settle, so an account does not stay blocked as operation-in-progress when
391
+ * no one waits for the operation (R5.3: state reconciles with the network).
392
+ *
393
+ * A custody submission records its upper validity bound on the pending
394
+ * activity (`blockchainSpecific.Cardano.custody`). Past that bound the
395
+ * transaction can never apply. The chain tip alone does not prove that the
396
+ * wallet saw the outcome: the tip poll updates the tip before the next sync
397
+ * round fetches the history. So the activity is dropped only once a sync
398
+ * round that started with the tip past the bound by
399
+ * `UTXO_SYNC_CONFIRMATION_DEPTH` completed successfully, and neither the
400
+ * account's history nor its synced UTxOs show the transaction. Other
401
+ * pending activities carry no bound and are left alone.
402
+ *
403
+ * It reads state only and makes no provider call. `whileActive` (ADR 29)
404
+ * keeps it off while the wallet is locked. Each activation starts with no
405
+ * completed round, so a round that ran before unlock never counts.
406
+ */
407
+ const expireCustodyPendingActivities = (_, { cardanoContext: { selectTip$, selectAccountUtxos$, selectTransactionHistoryGroupedByAccount$ }, activities: { selectPendingActivitiesByAccount$ }, sync: { selectSyncStatusByAccount$ } }, { actions, isWalletActive$ }) => combineLatest([
408
+ combineLatest([selectTip$, selectSyncStatusByAccount$]).pipe(scan(trackRounds, {
409
+ hasSeenState: false,
410
+ accounts: {}
411
+ })),
412
+ selectPendingActivitiesByAccount$,
413
+ selectAccountUtxos$,
414
+ selectTransactionHistoryGroupedByAccount$
415
+ ]).pipe(map(([rounds, pendingByAccount, utxosByAccount, historyByAccount]) => findExpired({
416
+ rounds,
417
+ pendingByAccount,
418
+ utxosByAccount,
419
+ historyByAccount
420
+ })), mergeMap((expired) => from(expired.map(({ accountId, activityIds }) => actions.activities.removeActivities({
421
+ accountId,
422
+ activityIds
423
+ })))), whileActive(isWalletActive$));
424
+ //#endregion
425
+ //#region ../../packages/module/cardano-sync/src/store/side-effects/account-extensions.ts
426
+ /** Whether the account is of a kind a feature adds: a custody account. */
427
+ const isExtensionAccount = isCardanoCustodyAccount;
428
+ /** Address discovery for an account of a kind a feature adds. */
429
+ const extensionAccountAddressDiscovery = handleCustodyAccount;
430
+ /** The UTxO fetch of an account of a kind a feature adds. */
431
+ const extensionAccountUtxos = fetchCustodyAccountUtxos;
432
+ /** The sync side effects the features add. */
433
+ const extensionSyncSideEffects = [expireCustodyPendingActivities];
434
+ //#endregion
435
+ //#region ../../packages/module/cardano-sync/src/store/get-script-address.ts
436
+ /**
437
+ * Method to derive the wallet's grouped address from the script and network ID.
438
+ *
439
+ * @param paymentScript - The native script to be used for the payment credential.
440
+ * @param stakingScript - The native script to be used for the staking credential.
441
+ * @param networkId - The network identifier.
442
+ * @returns The derived grouped address.
443
+ */
444
+ const getScriptAddress = (paymentScript, stakingScript, networkId) => {
445
+ const paymentScriptHash = nativeScriptPolicyId(paymentScript);
446
+ const stakingScriptHash = nativeScriptPolicyId(stakingScript);
447
+ const paymentScriptCredential = {
448
+ hash: paymentScriptHash,
449
+ type: Cardano.CredentialType.ScriptHash
450
+ };
451
+ const stakeScriptCredential = {
452
+ hash: stakingScriptHash,
453
+ type: Cardano.CredentialType.ScriptHash
454
+ };
455
+ return {
456
+ accountIndex: 0,
457
+ address: encodeBaseAddress(networkId, paymentScriptCredential, stakeScriptCredential),
458
+ index: 0,
459
+ networkId,
460
+ rewardAccount: encodeRewardAddress(networkId, stakeScriptCredential),
461
+ type: AddressType.External
462
+ };
463
+ };
464
+ //#endregion
259
465
  //#region ../../packages/module/cardano-sync/src/store/side-effects/address-discovery-sync.ts
260
466
  /**
261
467
  * Handles MultiSig account address discovery by generating script address.
@@ -458,13 +664,6 @@ const submitTxSideEffect = ({ cardanoContext: { submitTx$ } }, { cardanoContext:
458
664
  })));
459
665
  }));
460
666
  //#endregion
461
- //#region ../../packages/module/cardano-sync/src/store/side-effects/throw-on-error.ts
462
- /** The value of a provider result, or its error thrown. */
463
- const throwOnError = (result) => {
464
- if (result.isErr()) throw result.unwrapErr();
465
- return result.unwrap();
466
- };
467
- //#endregion
468
667
  //#region ../../packages/module/cardano-sync/src/store/side-effects/track-account-utxos.ts
469
668
  /**
470
669
  * Sentinel `topOnChainActivityId` for the cache key when an account has no
@@ -1,28 +1,32 @@
1
1
  import { a as __toESM } from "./rolldown-runtime-OvD0k9op.js";
2
- import { t as require_libsodium_wrappers } from "./libsodium-wrappers-UH0LaOUE.js";
3
- import { _ as CardanoRewardAccount, a as isCardanoAccount, c as mapToRecord, d as utxoKey, f as ActivityKind, g as CardanoPaymentAddress, l as outpointKey, o as isCardanoAddress, v as require_bignumber } from "./util-BaLzwa32.js";
4
- import { r as Milliseconds$1, s as Timestamp } from "./time.vo-DkYYGYp6.js";
5
- import { t as BigNumber$1 } from "./bignum.vo-B0rK_PQ1.js";
6
- import { n as Ok, r as Result, t as Err } from "./asyncoption-Cw07zPH7.js";
7
- import { a as isTransactionPollingOperation, c as extractUniqueStakeKeys, s as CardanoSyncFailureId } from "./sync-operation-utils-BYXLO80m.js";
8
- import { t as isReduxPersistState } from "./is-redux-persist-state-Cxcd0_bM.js";
9
- import { a as UtxoCacheKey, i as getTopOnChainActivity, n as getAccountAddresses, o as autoDismissFailureOnSuccess, r as groupCardanoAddressesByAccount, t as filterCardanoAddressesForNetwork } from "./group-cardano-addresses-by-account-RHKoEskR.js";
10
- import { t as AccountId } from "./account-id.vo-MYSI7YFm.js";
11
- import { t as Serializable } from "./serializable-B8GahgE1.js";
12
- import { t as blockingWithLatestFrom } from "./blockingWithLatestFrom-C5wp_uA-.js";
13
- import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-BcUmMS--.js";
14
- import { t as ActivityType } from "./activity-type.stable-C76_hWd7.js";
15
- import { i as ActivitiesPaginationFailureId } from "./slice-d0p6-xj5.js";
16
- import { a as isRewardActivity, c as isAccountTokenOf, i as initialState, l as isExtensionActivityFeatureEnabled, n as cardanoContextReducers, o as mapRewardToActivity, s as classifyExtensionActivity, u as isExtensionTokenAccount } from "./slice-B2PhoWAg.js";
17
- import { t as TokenId } from "./token-id.vo-ClsroxHO.js";
18
- import { t as CardanoNetworkId } from "./cardano-network-id.vo-CK1tNQDg.js";
19
- import { i as SECURITY_SCAN_WINDOW_START, r as LOVELACE_TOKEN_ID } from "./const-C84qHkjp.js";
20
- import { n as getAdaTokenTickerByNetwork, t as cardanoNetworkMagicToNetworkType } from "./cardano-network-id-to-network-type-CrZfUcyP.js";
21
- import { t as isRetriableError } from "./is-retriable-error-BU0e3hVI.js";
2
+ import "./_web-crypto-random-bytes-Bo-GTcRS.js";
3
+ import "./_polyfill-buffer-patch-yNxN4d5E.js";
4
+ import { t as require_libsodium_wrappers } from "./libsodium-wrappers-BhbOA8dQ.js";
5
+ import { _ as CardanoRewardAccount, a as isCardanoAccount, c as mapToRecord, d as utxoKey, f as ActivityKind, g as CardanoPaymentAddress, l as outpointKey, o as isCardanoAddress, v as require_bignumber } from "./util-Cp5cZkfK.js";
6
+ import { r as Milliseconds$1, s as Timestamp } from "./time.vo-tNheinXm.js";
7
+ import { t as BigNumber$1 } from "./bignum.vo-CEXOIew0.js";
8
+ import { n as Ok, r as Result, t as Err } from "./asyncoption-CruEYOBI.js";
9
+ import { t as isReduxPersistState } from "./is-redux-persist-state-yBfq0h_E.js";
10
+ import { t as autoDismissFailureOnSuccess } from "./auto-dismiss-failure-on-success-s8MGDEIu.js";
11
+ import { t as AccountId } from "./account-id.vo-OPz2v-JZ.js";
12
+ import { t as Serializable } from "./serializable-BHdKIgk3.js";
13
+ import { t as blockingWithLatestFrom } from "./blockingWithLatestFrom-Cd8c8EPG.js";
14
+ import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-Dmgt28wM.js";
15
+ import { t as ActivityType } from "./activity-type-GsJGWs-3.js";
16
+ import { i as ActivitiesPaginationFailureId } from "./slice-D-9aPKG-.js";
17
+ import { a as isRewardActivity, c as isAccountTokenOf, i as initialState, l as isExtensionActivityFeatureEnabled, n as cardanoContextReducers, o as mapRewardToActivity, s as classifyExtensionActivity, u as isExtensionTokenAccount } from "./slice-qt0uBExh.js";
18
+ import { t as TokenId } from "./token-id.vo-Bvwhr3ZE.js";
19
+ import { a as isTransactionPollingOperation, c as extractUniqueStakeKeys, s as CardanoSyncFailureId } from "./sync-operation-utils-31iFLExW.js";
20
+ import { t as CardanoNetworkId } from "./cardano-network-id.vo-Cfpvbod9.js";
21
+ import { a as UtxoCacheKey, i as getTopOnChainActivity, n as getAccountAddresses, r as groupCardanoAddressesByAccount, t as filterCardanoAddressesForNetwork } from "./group-cardano-addresses-by-account-SR8MMrZf.js";
22
+ import { i as SECURITY_SCAN_WINDOW_START, r as LOVELACE_TOKEN_ID } from "./const-BJfIK_G-.js";
23
+ import { n as getAdaTokenTickerByNetwork, t as cardanoNetworkMagicToNetworkType } from "./cardano-network-id-to-network-type-BWwzeEtM.js";
24
+ import { t as isRetriableError } from "./is-retriable-error-BUiVJDwH.js";
25
+ import { t as toAccountTokens } from "./account-tokens-DvkOFVON.js";
22
26
  import { Ed25519PublicKey } from "@laceio/cardano/crypto";
23
27
  import { Cardano, Milliseconds, coalesceValueQuantities, createTxInspector, metadataInspector, tokenTransferInspector, transactionSummaryInspector } from "@laceio/cardano/core";
24
28
  import { BigIntMath, isNotNil } from "@laceio/cardano/util";
25
- import { BehaviorSubject, EMPTY, bufferTime, catchError, combineLatest, concat, concatMap, debounceTime, distinct, distinctUntilChanged, expand, filter, firstValueFrom, forkJoin, from, groupBy, last, map, merge, mergeAll, mergeMap, of, pairwise, skip, switchMap, take, takeUntil, tap, throwError, toArray, withLatestFrom } from "rxjs";
29
+ import { BehaviorSubject, EMPTY, bufferTime, catchError, combineLatest, concat, concatMap, debounceTime, defer, distinct, distinctUntilChanged, expand, filter, firstValueFrom, forkJoin, from, groupBy, last, map, merge, mergeAll, mergeMap, of, pairwise, repeat, skip, switchMap, take, takeUntil, tap, throwError, timer, toArray, withLatestFrom } from "rxjs";
26
30
  import { createMigrate, createTransform } from "redux-persist";
27
31
  import uniq from "lodash/uniq.js";
28
32
  import groupBy$1 from "lodash/groupBy.js";
@@ -1300,18 +1304,6 @@ const createTrackAccountRewardsHistory = (debounceTimeout) => (_, { addresses: {
1300
1304
  }));
1301
1305
  }));
1302
1306
  //#endregion
1303
- //#region ../../packages/contract/cardano-context/src/store/helpers/account-tokens.ts
1304
- /** Tokens of one address: its value, with `rewards` added to the lovelace. */
1305
- const toAccountTokens = (value, rewards) => [{
1306
- tokenId: LOVELACE_TOKEN_ID,
1307
- available: BigNumber$1(value.coins + rewards),
1308
- pending: BigNumber$1(0n)
1309
- }, ...[...value.assets?.entries() || []].map(([assetId, quantity]) => ({
1310
- tokenId: TokenId(assetId),
1311
- available: BigNumber$1(quantity),
1312
- pending: BigNumber$1(0n)
1313
- }))];
1314
- //#endregion
1315
1307
  //#region ../../packages/contract/cardano-context/src/store/side-effects/track-account-tokens.ts
1316
1308
  const computeAccountTokens = (accountId) => (_, { cardanoContext: { selectAccountUtxosWithInFlight$, selectRewardAccountDetailsWithInFlight$ } }, { actions }) => combineLatest([selectAccountUtxosWithInFlight$, selectRewardAccountDetailsWithInFlight$]).pipe(map(([accountUtxoMap, rewardAccountDetailsMap]) => ({
1317
1309
  accountUtxos: accountUtxoMap[accountId],
@@ -1888,6 +1880,7 @@ const transactionPollingSync = ({ sync: { addSyncOperation$ } }, { wallets: { se
1888
1880
  //#region ../../packages/contract/cardano-context/src/store/side-effects.ts
1889
1881
  const UPDATE_METADATA_BUFFER_TIME = Milliseconds$1(200);
1890
1882
  const TRACK_ACCOUNT_ACTIVITIES_DEBOUNCE_TIME = Milliseconds$1(2e3);
1883
+ const PROTOCOL_PARAMETERS_RECOVERY_INTERVAL = Milliseconds$1(3e4);
1891
1884
  const unwrapOrThrowError = (result) => {
1892
1885
  if (result.isErr()) throw result.unwrapErr();
1893
1886
  return result.unwrap();
@@ -1927,20 +1920,31 @@ const trackTokenMetadata = (batchInterval) => (_, { tokens: { selectAllRaw$, sel
1927
1920
  *
1928
1921
  * Transient provider errors are retried with exponential backoff. After
1929
1922
  * exhaustion a failure keyed by `CardanoProtocolParametersFailureId(network)`
1930
- * is surfaced only when no cached parameters exist for the active network;
1931
- * otherwise the failure is silent and the next chainId change to this network
1932
- * naturally re-triggers the fetch.
1923
+ * is surfaced only when no cached parameters exist for the active network.
1924
+ * While parameters are missing, retry after a delay so a temporary outage
1925
+ * does not leave transaction building blocked until the worker restarts.
1933
1926
  */
1934
1927
  const trackProtocolParameters = (_, { cardanoContext: { selectChainId$, selectProtocolParameters$ }, failures: { selectFailureById$ } }, { actions, cardanoProvider: { getProtocolParameters } }) => selectChainId$.pipe(filter(Boolean), switchMap((chainId) => {
1935
1928
  const network = CardanoNetworkId(chainId.networkMagic);
1936
1929
  const failureId = CardanoProtocolParametersFailureId(network);
1937
- return getProtocolParameters({ chainId }).pipe(map(unwrapOrThrowError), retryBackoff(PROVIDER_REQUEST_RETRY_CONFIG), mergeMap((protocolParameters) => merge(of(actions.cardanoContext.setProtocolParameters({
1938
- network,
1939
- protocolParameters
1940
- })), of(failureId).pipe(autoDismissFailureOnSuccess(selectFailureById$)))), catchError(() => selectProtocolParameters$.pipe(take(1), mergeMap((existing) => existing ? EMPTY : of(actions.failures.addFailure({
1941
- failureId,
1942
- message: "sync.error.cardano-protocol-parameters-failed"
1943
- }))))));
1930
+ let hasFailureBeenReported = false;
1931
+ let shouldRetryMissingParameters = false;
1932
+ const request = () => getProtocolParameters({ chainId }).pipe(map(unwrapOrThrowError), retryBackoff(PROVIDER_REQUEST_RETRY_CONFIG), mergeMap((protocolParameters) => {
1933
+ shouldRetryMissingParameters = false;
1934
+ return merge(of(actions.cardanoContext.setProtocolParameters({
1935
+ network,
1936
+ protocolParameters
1937
+ })), of(failureId).pipe(autoDismissFailureOnSuccess(selectFailureById$)));
1938
+ }), catchError(() => selectProtocolParameters$.pipe(take(1), mergeMap((existing) => {
1939
+ shouldRetryMissingParameters = !existing;
1940
+ if (!shouldRetryMissingParameters || hasFailureBeenReported) return EMPTY;
1941
+ hasFailureBeenReported = true;
1942
+ return of(actions.failures.addFailure({
1943
+ failureId,
1944
+ message: "sync.error.cardano-protocol-parameters-failed"
1945
+ }));
1946
+ }))));
1947
+ return defer(request).pipe(repeat({ delay: () => shouldRetryMissingParameters ? timer(PROTOCOL_PARAMETERS_RECOVERY_INTERVAL) : EMPTY }));
1944
1948
  }));
1945
1949
  /**
1946
1950
  * Side effect that wires protocolParameters selector to the observable