@laceio/sdk 0.1.0 → 0.1.1-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 (408) hide show
  1. package/dist/{Ed25519PublicKey-lvu1s54U.cjs → Address-AMKTo-dA.cjs} +17150 -61
  2. package/dist/{Ed25519PublicKey-CjnuAYRR.js → Address-_c_-9hLC.js} +16955 -264
  3. package/dist/{Bip32Account-r3KAhCgU.js → Bip32Account-CaW1zC9Y.js} +4 -5
  4. package/dist/{Bip32Account-Cz3h0ZUa.cjs → Bip32Account-DOaGmKpv.cjs} +4 -5
  5. package/dist/Cardano-B-gyqBBD.js +311 -0
  6. package/dist/Cardano-BQ_af0Y3.cjs +322 -0
  7. package/dist/Ed25519PublicKey-B3QcR0J2.cjs +88 -0
  8. package/dist/Ed25519PublicKey-DIE19xHg.js +83 -0
  9. package/dist/InMemoryKeyAgent-Bc_xZY-v.cjs +652 -0
  10. package/dist/InMemoryKeyAgent-D8T3vtXy.js +631 -0
  11. package/dist/{PaymentAddress-DhbtuYb7.cjs → PaymentAddress-B4n1KZMx.cjs} +1 -2
  12. package/dist/{PaymentAddress-xSmGUQ-8.js → PaymentAddress-Cml3EA1n.js} +1 -2
  13. package/dist/Percent-Cfuw5YyL.cjs +11 -0
  14. package/dist/Percent-DpvyJ_93.js +5 -0
  15. package/dist/SodiumBip32Ed25519-BaD-kjyx.cjs +380 -0
  16. package/dist/SodiumBip32Ed25519-DCikAMsl.js +363 -0
  17. package/dist/{TransactionBuilder-CeJTNzm-.cjs → TransactionBuilder-BakTJvsJ.cjs} +59 -89
  18. package/dist/{TransactionBuilder-DGNDM4kt.js → TransactionBuilder-D2ErwVWv.js} +5 -71
  19. package/dist/_md-6zV2Cme0.cjs +684 -0
  20. package/dist/_md-gbUqlhqd.js +399 -0
  21. package/dist/_web-crypto-random-bytes-BvzwTYPG.js +197 -0
  22. package/dist/acc-module-NL_8mEHH.cjs +27654 -0
  23. package/dist/acc-module-ur8CkBd1.js +27624 -0
  24. package/dist/account-call-B7cF8ly4.cjs +293 -0
  25. package/dist/account-call-BF4rBcNw.js +3 -0
  26. package/dist/account-call-CoCq3V55.js +252 -0
  27. package/dist/account-call-DFcD257E.cjs +4 -0
  28. package/dist/account-guards-BeKbV9D1.cjs +41 -0
  29. package/dist/account-guards-qnFXuXSE.js +36 -0
  30. package/dist/{activity-type.stable-ClO9j_PH.cjs → activity-type-BPXxdHBP.cjs} +2 -1
  31. package/dist/{activity-type.stable-Ml0SOYv9.js → activity-type-C1geyPsH.js} +2 -1
  32. package/dist/address-OxwXIwbF.js +15502 -0
  33. package/dist/address-book-address-validator-BqYM0Uyp.cjs +41 -0
  34. package/dist/{address-book-address-validator-BhqRfmlL.cjs → address-book-address-validator-CGIcqn5W.cjs} +5 -4
  35. package/dist/{address-book-address-validator-VqIOB8PY.js → address-book-address-validator-FkkYim3z.js} +6 -4
  36. package/dist/address-book-address-validator-RSx2Jozy.js +39 -0
  37. package/dist/address-lECYBd9-.cjs +13043 -0
  38. package/dist/{apply-vkey-witnesses-Ctzk7eye.cjs → apply-vkey-witnesses-1jyczTkw.cjs} +1 -1
  39. package/dist/{apply-vkey-witnesses-Dfo7XfhL.js → apply-vkey-witnesses-Byb40-yJ.js} +1 -1
  40. package/dist/artefact-loader-Cqc9eSkL.cjs +182 -0
  41. package/dist/artefact-loader-D0T2f6F7.js +159 -0
  42. package/dist/auto-dismiss-failure-on-success-BWJceNXd.cjs +37 -0
  43. package/dist/auto-dismiss-failure-on-success-Bpod-v4r.js +31 -0
  44. package/dist/bip32-EPpcFrpH.cjs +3851 -0
  45. package/dist/{bip32ed25519-D2In8WzR.cjs → bip32ed25519-CRiG-Kjg.cjs} +5 -4
  46. package/dist/{bip32ed25519-qsLH_eWO.js → bip32ed25519-E-fCUZNv.js} +6 -4
  47. package/dist/bip39-DZomfqeY.js +9 -0
  48. package/dist/bip39-MAck9iod.cjs +26 -0
  49. package/dist/bitcoin-data-provider-D0OT_Uiu.cjs +26 -0
  50. package/dist/bitcoin-data-provider-LN_8oamW.js +21 -0
  51. package/dist/bitcoin.cjs +48 -0
  52. package/dist/bitcoin.d.ts +29805 -1
  53. package/dist/bitcoin.js +22 -0
  54. package/dist/{blake2b-BGHUWMsV.js → blake2b-BL-eR5G2.js} +6 -4
  55. package/dist/{blake2b-DspUqw68.cjs → blake2b-Iy324FwH.cjs} +5 -4
  56. package/dist/{blockfrost-tx-submit-provider-BUEOmdvc.js → blockfrost-tx-submit-provider-BHDLgOIE.js} +9 -162
  57. package/dist/{blockfrost-tx-submit-provider-B5dWbdrZ.cjs → blockfrost-tx-submit-provider-BxC19smv.cjs} +7 -171
  58. package/dist/{blockingWithLatestFrom-BhaE7pnA.js → blockingWithLatestFrom-FUfZFEUG.js} +1 -1
  59. package/dist/{blockingWithLatestFrom-DkuT3G2a.cjs → blockingWithLatestFrom-bmCPgA3c.cjs} +1 -1
  60. package/dist/bn-BFq5a4dk.cjs +2553 -0
  61. package/dist/{SodiumBip32Ed25519-BEfo1Q9m.js → browser-D5jRKv_L.js} +4 -401
  62. package/dist/bytes.vo-CziaOsba.js +24 -0
  63. package/dist/bytes.vo-hecRu3YZ.cjs +35 -0
  64. package/dist/{cardano-network-id-to-network-type-PXvn1ycQ.cjs → cardano-network-id-to-network-type-BwG_d6QP.cjs} +1 -1
  65. package/dist/{cardano-network-id-to-network-type-DHgKhDAK.js → cardano-network-id-to-network-type-CYJheetp.js} +1 -1
  66. package/dist/{cardano-network-id.vo-CbNNKd-k.cjs → cardano-network-id.vo-C5VuBXT3.cjs} +2 -2
  67. package/dist/{cardano-network-id.vo-CTYe-Oix.js → cardano-network-id.vo-CeLJqmb_.js} +2 -2
  68. package/dist/{cardano-tx-id.vo-BMwemq5x.js → cardano-tx-id.vo-DJ70NC0-.js} +1 -1
  69. package/dist/{cardano-tx-id.vo-NY-gCOWJ.cjs → cardano-tx-id.vo-lnyO9XaW.cjs} +1 -1
  70. package/dist/cardano.cjs +31 -24
  71. package/dist/cardano.d.ts +27602 -8121
  72. package/dist/cardano.js +21 -13
  73. package/dist/client-Bw2foG5E.cjs +808 -0
  74. package/dist/const-BB3MccLt.js +153 -0
  75. package/dist/{const-BErUlcZw.cjs → const-BWBAzOmN.cjs} +1 -1
  76. package/dist/const-CSWmOyzn.cjs +42 -0
  77. package/dist/{const-Dy8Ctnpd.cjs → const-D3mCkwrM.cjs} +5 -5
  78. package/dist/const-DW7z3R5k.js +13 -0
  79. package/dist/{const-DeUA7zYl.js → const-DbuUHSzR.js} +5 -5
  80. package/dist/const-DgBzKfz6.cjs +31995 -0
  81. package/dist/{const-DVW6DGkZ.js → const-xGSNCtwQ.js} +1 -1
  82. package/dist/contract-BsIGhsYa.js +171 -0
  83. package/dist/contract-DD6CGnpB.cjs +189 -0
  84. package/dist/create-add-accounts-2mQA0ST2.js +102 -0
  85. package/dist/create-add-accounts-B6mR2NMn.cjs +114 -0
  86. package/dist/{delegation-tx-builder-CF0VunDW.cjs → delegation-tx-builder-Cp30jtj9.cjs} +9 -8
  87. package/dist/{delegation-tx-builder-C8LQxU2R.js → delegation-tx-builder-DUMikSTg.js} +9 -7
  88. package/dist/{deregistration-tx-builder-DcUXA3Ls.cjs → deregistration-tx-builder-B-ZeY-dR.cjs} +10 -9
  89. package/dist/{deregistration-tx-builder-BOBPP8m_.js → deregistration-tx-builder-CRLrK99U.js} +10 -8
  90. package/dist/device-commitment-hex.vo-BIUYUNz1.cjs +31 -0
  91. package/dist/device-commitment-hex.vo-D9FsYLn7.js +26 -0
  92. package/dist/device-key-BToCoS4D.js +2394 -0
  93. package/dist/device-key-D6euvxFi.cjs +2489 -0
  94. package/dist/device-readers-BHJeNR8I.js +3 -0
  95. package/dist/device-readers-Dw7uTNM5.cjs +167 -0
  96. package/dist/device-readers-b4g2j3QL.js +144 -0
  97. package/dist/device-readers-cxcJcWq5.cjs +7 -0
  98. package/dist/dist-B00GN41m.js +141 -0
  99. package/dist/dist-BA1xnF9O.cjs +4413 -0
  100. package/dist/dist-BmHOXLe8.cjs +3814 -0
  101. package/dist/dist-Br0OVXKt.cjs +535 -0
  102. package/dist/dist-C1JK9C1I.cjs +3452 -0
  103. package/dist/dist-DKEViNEI.cjs +1306 -0
  104. package/dist/dist-Dwqx184a.cjs +43175 -0
  105. package/dist/dist-MJof_Ky1.cjs +145 -0
  106. package/dist/dist-p84sVVJ9.cjs +1394 -0
  107. package/dist/{earn-rewards-tx-builder-BRlTueHS.js → earn-rewards-tx-builder-8G_rouIk.js} +9 -7
  108. package/dist/{earn-rewards-tx-builder-RgO0QUY8.cjs → earn-rewards-tx-builder-cOUNV58E.cjs} +9 -8
  109. package/dist/enc-key-circuits-0Dud78IB.js +13 -0
  110. package/dist/enc-key-circuits-yjPHbuo_.cjs +24 -0
  111. package/dist/english-BZ_ebp2-.cjs +2057 -0
  112. package/dist/envelopes-B3QCzo5p.js +2658 -0
  113. package/dist/envelopes-BdE1xlgz.cjs +2777 -0
  114. package/dist/errors-BA3b8aVu.cjs +584 -0
  115. package/dist/errors-pkQdxW-7.js +392 -0
  116. package/dist/experimental.cjs +6820 -0
  117. package/dist/experimental.d.ts +63552 -0
  118. package/dist/experimental.js +6670 -0
  119. package/dist/fees-6C2uEWFK.js +653 -0
  120. package/dist/fees-DtC71fOx.cjs +820 -0
  121. package/dist/gated-call-BrPjKolT.js +3 -0
  122. package/dist/gated-call-CcsuW9L5.js +691 -0
  123. package/dist/gated-call-DdDrxEq5.cjs +732 -0
  124. package/dist/gated-call-Dk7PazhG.cjs +4 -0
  125. package/dist/grant-rules-B7eDuD5G.cjs +5468 -0
  126. package/dist/grant-rules-qLrKUIR3.js +5217 -0
  127. package/dist/grant-status-CDmZpx32.js +296 -0
  128. package/dist/grant-status-CQtwjLsA.cjs +337 -0
  129. package/dist/grants-Bnb-3Hkv.cjs +16 -0
  130. package/dist/grants-CIb6nOV7.cjs +273 -0
  131. package/dist/grants-CYY0AquW.js +202 -0
  132. package/dist/grants-DOsFSotP.js +4 -0
  133. package/dist/{group-cardano-addresses-by-account-C-1GHUu8.cjs → group-cardano-addresses-by-account-BGOtPV-Y.cjs} +4 -40
  134. package/dist/{group-cardano-addresses-by-account-p4dXmCoj.js → group-cardano-addresses-by-account-TqvESg9x.js} +6 -37
  135. package/dist/{guarded-transaction-signer-DZSGHp1K.js → guarded-transaction-signer-BbVDE9Nn.js} +12 -18
  136. package/dist/{guarded-transaction-signer-BLSezbfV.cjs → guarded-transaction-signer-DTLjAkif.cjs} +26 -26
  137. package/dist/hex-BVtOKJki.cjs +263 -0
  138. package/dist/hex-CGYJPK_Z.js +192 -0
  139. package/dist/http-client-B7_kBTYn.js +155 -0
  140. package/dist/http-client-DYQ_7Rdf.cjs +167 -0
  141. package/dist/identity-DxPhxkZs.js +239 -0
  142. package/dist/identity-y41Yle03.cjs +274 -0
  143. package/dist/in-memory-wallet-integration-5BKiAvPT.js +20861 -0
  144. package/dist/{in-memory-wallet-integration-CUTa68ET.js → in-memory-wallet-integration-BCOqDgbt.js} +10 -107
  145. package/dist/in-memory-wallet-integration-Bi8I9Dso.js +128 -0
  146. package/dist/in-memory-wallet-integration-Bsl2ONua.cjs +239 -0
  147. package/dist/in-memory-wallet-integration-DZ0CAyvY.cjs +20865 -0
  148. package/dist/{in-memory-wallet-integration-Dw_S7amX.cjs → in-memory-wallet-integration-DsFm8gLk.cjs} +21 -112
  149. package/dist/{in-memory-wallet-integration-Z4Bp_DTv.cjs → in-memory-wallet-integration-aW_SF-go.cjs} +8 -5
  150. package/dist/{in-memory-wallet-integration-B6cbAlvD.js → in-memory-wallet-integration-mIEc8EfR.js} +9 -5
  151. package/dist/index.cjs +95 -58
  152. package/dist/index.d.ts +45152 -13448
  153. package/dist/index.js +55 -28
  154. package/dist/{init-CVi8J0zk.cjs → init-5SfWgCYD.cjs} +3 -3
  155. package/dist/{init-Ci7aqWCf2.cjs → init-8NVWbo302.cjs} +2 -2
  156. package/dist/init-B-C7n6u6.js +5 -0
  157. package/dist/{init-BFMWRf-L.js → init-B-ppfGO-.js} +1 -1
  158. package/dist/{init-IiR093Jw.cjs → init-B2OUhY5T.cjs} +2 -2
  159. package/dist/{init-DXnus199.cjs → init-B6Eg_o6G.cjs} +5 -5
  160. package/dist/{init-4hDl5bpr.js → init-BAWMHL1k.js} +2 -2
  161. package/dist/init-BC2CZZOu2.cjs +2002 -0
  162. package/dist/{init-a228hXnS.cjs → init-BF-a2p6E.cjs} +65 -73
  163. package/dist/{init-fFirX8OY.cjs → init-BFxlQAD8.cjs} +1 -1
  164. package/dist/init-BJE1ry0O.js +17 -0
  165. package/dist/{init-BVnI4z2J.js → init-BPKBVOHU.js} +2 -2
  166. package/dist/{init-bdqZBd-o.js → init-BSP_xcpB.js} +2 -2
  167. package/dist/{init-CFNOn3lo.js → init-BSd7mznK.js} +3 -3
  168. package/dist/{init-MjR4swi6.js → init-BUJTT0MN.js} +36 -43
  169. package/dist/init-BUpFzYsD.cjs +143 -0
  170. package/dist/{init-BvpYHyLH.cjs → init-BZ-WyAIL.cjs} +3 -3
  171. package/dist/init-BZdfdLX7.js +422 -0
  172. package/dist/{init-CJeOys1w.cjs → init-B_HWNXMD.cjs} +2 -2
  173. package/dist/init-BbIMt6xU.cjs +6 -0
  174. package/dist/{init-BYdN1aqE.cjs → init-BewG6swt.cjs} +2 -2
  175. package/dist/{init-BX0AZAVH2.js → init-Bilqsbng.js} +2 -2
  176. package/dist/{init-Tpn9VkFu.cjs → init-BpwlQ6wF.cjs} +1 -1
  177. package/dist/{init-D5-P0HXK.js → init-BtQOzUjX.js} +1 -1
  178. package/dist/{init-BvGz3qUd2.js → init-CCTscPaY2.js} +2 -2
  179. package/dist/{init-D4hPipCD.cjs → init-CH0yyBof.cjs} +1 -1
  180. package/dist/init-CaIkrXal.cjs +121 -0
  181. package/dist/init-CkZy4IMf.cjs +107 -0
  182. package/dist/{init-Drr2f_Pr.js → init-CmfcY7SV.js} +1 -1
  183. package/dist/{init-Kf3_OLv6.js → init-CnJAlks_.js} +1 -1
  184. package/dist/{init-Cdjt_z-b.cjs → init-CqqmtAIK.cjs} +4 -4
  185. package/dist/{init-Bb0avZeZ.js → init-Cu2znmIc.js} +5 -5
  186. package/dist/init-Cz5LAizN.js +2001 -0
  187. package/dist/init-D4WM3-Mn.cjs +18 -0
  188. package/dist/init-DMi2FGpf.cjs +424 -0
  189. package/dist/{init-lcaUSOOG.js → init-DPTJohPd.js} +1 -1
  190. package/dist/{init-BTYLMF9F2.cjs → init-DexLSprL2.cjs} +258 -61
  191. package/dist/init-DfKPgD21.js +106 -0
  192. package/dist/init-DgzRsI-C.js +141 -0
  193. package/dist/init-Dj4Cn7-P.js +4789 -0
  194. package/dist/init-DktAnYI0.cjs +2354 -0
  195. package/dist/{init-DFwhgert.cjs → init-DmyuM9Lo.cjs} +1 -1
  196. package/dist/{init-CX_zLXc6.js → init-IBnizp1U.js} +5 -5
  197. package/dist/init-MDKB6tGI2.cjs +4790 -0
  198. package/dist/{init-DbZ5byj42.js → init-TbB38KNt2.js} +258 -60
  199. package/dist/init-X6m_cqDy.js +2353 -0
  200. package/dist/{init-DvVgKCaP2.cjs → init-bzvl1JhF.cjs} +2 -2
  201. package/dist/{init-BgrY29gW.js → init-dsYkC_0B.js} +4 -4
  202. package/dist/{init-B5BsI3DR.cjs → init-kvn5FlPS.cjs} +7 -7
  203. package/dist/init-vfy9DW_E.js +119 -0
  204. package/dist/{init-BE_6Jyc4.js → init-w7xl6LsP.js} +3 -3
  205. package/dist/{init-DEsWVyn5.cjs → init-wgiBUmyW.cjs} +1 -1
  206. package/dist/{is-retriable-error-DWv_ob-f.js → is-retriable-error-CmFR20pe.js} +1 -1
  207. package/dist/{is-retriable-error-Dtb4JGjd.cjs → is-retriable-error-D2yo0_lS.cjs} +1 -1
  208. package/dist/jubjub-authoriser-A2c8vmkN.js +84 -0
  209. package/dist/jubjub-authoriser-D3ZDgzcF.cjs +85 -0
  210. package/dist/key-source-CcLTx8HK.js +2761 -0
  211. package/dist/key-source-D2tTAag-.cjs +806 -0
  212. package/dist/{key-value-store-DTX1quRS.js → key-value-store-DZcNDB3n.js} +1 -1
  213. package/dist/{key-value-store-B-XRIwaM.cjs → key-value-store-Htj4RgMe.cjs} +1 -1
  214. package/dist/keyDerivation-DcKRUCVh.cjs +274 -0
  215. package/dist/keyDerivation-QGesIMbS.js +4077 -0
  216. package/dist/{lace-context-FpU3iG3f.cjs → lace-context-BN0b_ury.cjs} +4 -4
  217. package/dist/{lace-context-BQvvxVLm.js → lace-context-DMRJ87Vg.js} +4 -4
  218. package/dist/lib-BC-62Byh.cjs +2359 -0
  219. package/dist/lib-JYqcAX0c.js +2354 -0
  220. package/dist/midnight-account-id.vo--Vcx34Xk.cjs +10 -0
  221. package/dist/midnight-account-id.vo-BuB8fiVO.js +5 -0
  222. package/dist/midnight-engine-B7D2hbHo.js +5 -0
  223. package/dist/midnight-engine-D5ikN_5F.cjs +6 -0
  224. package/dist/midnight-wallet-BOdFD6SX.cjs +24 -0
  225. package/dist/midnight-wallet-CAqZrNVe.js +18 -0
  226. package/dist/midnight.cjs +1412 -0
  227. package/dist/midnight.d.ts +28609 -0
  228. package/dist/midnight.js +1355 -0
  229. package/dist/modules-cardano-BiL9hoM3.js +996 -0
  230. package/dist/modules-cardano-UeXks3sd.cjs +1109 -0
  231. package/dist/node-relay-BOuvdZvC.cjs +49 -0
  232. package/dist/node-relay-CLtc5n1v.js +48 -0
  233. package/dist/outputs-5qdW8s-f.js +196 -0
  234. package/dist/outputs-BEM1GPMf.cjs +339 -0
  235. package/dist/{SodiumBip32Ed25519-BQUcrQWX.cjs → pbkdf2-B1veireP.cjs} +6 -411
  236. package/dist/pending-operation-CfTUNQVD.cjs +26 -0
  237. package/dist/pending-operation-Ljijb1Uh.js +21 -0
  238. package/dist/providers-1on_fwJO.cjs +364 -0
  239. package/dist/providers-C1MsxfMA.js +341 -0
  240. package/dist/redacted-4SJPqt-G.js +81 -0
  241. package/dist/redacted-DwxIDdIF.cjs +86 -0
  242. package/dist/{reselect-DPML1uFN.cjs → reselect-kP4DaAII.cjs} +1 -1
  243. package/dist/{retry-config-oNtfdyrG.cjs → retry-config-BGv5q5QM.cjs} +1 -1
  244. package/dist/{retry-config-VdbuqBsI.js → retry-config-Bu5Yn5ua.js} +1 -1
  245. package/dist/safe-buffer-CqGpSFCQ.js +43 -0
  246. package/dist/safe-buffer-DbXbwhUQ.cjs +48 -0
  247. package/dist/sdk-1SRu8Ype.cjs +1445 -0
  248. package/dist/sdk-BneJm7ey.js +1249 -0
  249. package/dist/sdk-init-9TG1ZvHF.cjs +3795 -0
  250. package/dist/sdk-init-Ce3mD-8F.js +1047 -0
  251. package/dist/secret-box-CSmRp6Tt.js +3777 -0
  252. package/dist/secret-box-ZfbYwBgS.cjs +6970 -0
  253. package/dist/send-proof-progress-DtAcrMP6.cjs +33 -0
  254. package/dist/send-proof-progress-Dx2cUz1B.js +22 -0
  255. package/dist/sha2-DaRJZOjk.cjs +390 -0
  256. package/dist/sha2-c4sB6peD.js +378 -0
  257. package/dist/side-effects-C3BhLrdP.js +768 -0
  258. package/dist/side-effects-DG0R-KFc.cjs +804 -0
  259. package/dist/sign-bitcoin-transaction-with-seed-C7vq9om8.js +147 -0
  260. package/dist/sign-bitcoin-transaction-with-seed-Ds1dwzan.cjs +158 -0
  261. package/dist/signer--2I6poMD.js +2 -0
  262. package/dist/signer-CX21Ups_.cjs +121 -0
  263. package/dist/signer-Cnn9q9oY.js +92 -0
  264. package/dist/signer-DbSxjk0F.cjs +7 -0
  265. package/dist/signer-factory-B5oFuUZ-.cjs +130 -0
  266. package/dist/signer-factory-BAt8FPNc.cjs +281 -0
  267. package/dist/signer-factory-BGE4nL4k.js +129 -0
  268. package/dist/signer-factory-C4pgsiJi.js +281 -0
  269. package/dist/{signer-factory-DySc1wRX.cjs → signer-factory-D95jQIPV.cjs} +9 -6
  270. package/dist/{signer-factory-D4HrwFPl.js → signer-factory-PrpsGX-8.js} +10 -6
  271. package/dist/{slice-BZTQgYSs.js → slice-B-xJcuT1.js} +4 -4
  272. package/dist/slice-B4QOYaOG.cjs +105 -0
  273. package/dist/{slice-CtIMw2YT.cjs → slice-B9QKuhi0.cjs} +3 -3
  274. package/dist/slice-BKnGkAkd.cjs +9031 -0
  275. package/dist/{slice-Bhwmqn1p.cjs → slice-Bf4enJKZ.cjs} +8 -8
  276. package/dist/{slice-DaNVz7_l.js → slice-ByNWnxKS.js} +8 -8
  277. package/dist/{slice-C2UDQrdt.js → slice-C1zOeseG.js} +449 -355
  278. package/dist/{slice-DFLyKRm5.cjs → slice-C4toRM6A.cjs} +2 -2
  279. package/dist/{slice-Cx4dULDA.cjs → slice-C8YVv4Qn.cjs} +1 -1
  280. package/dist/{slice-jnpOgiSZ.cjs → slice-CaMfviYu.cjs} +3 -3
  281. package/dist/{slice-DFvrwUur.js → slice-CgeRsYRg.js} +6 -6
  282. package/dist/slice-Cwt8jShq.js +9013 -0
  283. package/dist/{slice-zNEspZND.js → slice-D0VzpMbY.js} +2 -2
  284. package/dist/slice-D14F78Ca.js +87 -0
  285. package/dist/{slice-F6A1YKOF.cjs → slice-DLflttAu.cjs} +479 -366
  286. package/dist/{slice-C96EdeY1.js → slice-DcO-iNz2.js} +1 -1
  287. package/dist/{slice-C19quNWM.cjs → slice-DimtxfAT.cjs} +2 -2
  288. package/dist/{slice-KiNoGwD9.js → slice-DlTEqIoI.js} +1 -1
  289. package/dist/{slice-ws8PccRX.js → slice-Dn0WojD7.js} +3 -3
  290. package/dist/{slice-BLSxLmie.cjs → slice-Dongunf7.cjs} +4 -4
  291. package/dist/{slice-B6vPum19.js → slice-DpufJAjJ.js} +2 -2
  292. package/dist/{slice-exhhmucR.cjs → slice-DtitVc9L.cjs} +7 -7
  293. package/dist/{slice-Bjj2t2ut.cjs → slice-WMMMc1Xv.cjs} +2 -2
  294. package/dist/slice-a8VuIqzS.cjs +378 -0
  295. package/dist/slice-bRASyM-m.js +354 -0
  296. package/dist/{slice-CBFrgHSH.js → slice-hNyKbDry.js} +3 -3
  297. package/dist/{InMemoryKeyAgent-pyB2gA-N.cjs → src-BayYMIjw.cjs} +20 -8228
  298. package/dist/{InMemoryKeyAgent-D-3HejxN.js → src-CgINPlSx.js} +29 -4811
  299. package/dist/store-AUlTfcI_.js +37 -0
  300. package/dist/store-C7AneHEY.cjs +66 -0
  301. package/dist/submit-BuBCVi-l.cjs +87 -0
  302. package/dist/submit-D37lxFrK.js +70 -0
  303. package/dist/submit-bitcoin-tx-DFLnhidO.js +983 -0
  304. package/dist/submit-bitcoin-tx-sih2hSfb.cjs +1049 -0
  305. package/dist/{subtractValueQuantities-DfZg6oiG.js → subtractValueQuantities-BuDJVxq6.js} +3 -22
  306. package/dist/{subtractValueQuantities-C8qDTtgH.cjs → subtractValueQuantities-CqR606HV.cjs} +2 -32
  307. package/dist/{sync-operation-utils-BrQyWFS_.cjs → sync-operation-utils--Z_IQfyW.cjs} +0 -66
  308. package/dist/{sync-operation-utils-CAaCGvEN.js → sync-operation-utils-BimBpvI3.js} +1 -37
  309. package/dist/token-color.vo-CItgoOjw.js +26 -0
  310. package/dist/token-color.vo-Ca4hUXfh.cjs +37 -0
  311. package/dist/token-id-mapper-BVau2RXa.js +16 -0
  312. package/dist/token-id-mapper-CSeLzM4o.cjs +18 -0
  313. package/dist/{token-id-mapper-pDaTxpw2.js → token-id-mapper-ClBeIdJR.js} +2 -2
  314. package/dist/{token-id-mapper-DYcd8hhQ.cjs → token-id-mapper-D0wFdbOy.cjs} +2 -2
  315. package/dist/types-BhzypKMS.cjs +15 -0
  316. package/dist/types-DTE1ctDB.js +10 -0
  317. package/dist/types-DXSxXGz0.js +12 -0
  318. package/dist/types-Dls6Z5gV.cjs +23 -0
  319. package/dist/{util-P4PX2muj.cjs → util-D1YlKzrc.cjs} +2 -2
  320. package/dist/{util-CQSJU0wT.js → util-DHxtzUzY.js} +2 -2
  321. package/dist/{utils-Bv4OHT4S.cjs → utils-DYf4iZKX.cjs} +7 -1
  322. package/dist/{utils-DrtzChYN.js → utils-DcnoETEP.js} +2 -2
  323. package/dist/utils-Du0YXRcU.cjs +112 -0
  324. package/dist/utils-fF_rnZe3.js +65 -0
  325. package/dist/v8Signatures-ClGpA8mS.cjs +71 -0
  326. package/dist/{vote-delegation-tx-builder-69gOEkCB.cjs → vote-delegation-tx-builder-BjZxCOd3.cjs} +9 -8
  327. package/dist/{vote-delegation-tx-builder-BRJ_pf-c.js → vote-delegation-tx-builder-DRJwPXkD.js} +9 -7
  328. package/dist/watch-FGE4B_Ge.js +13056 -0
  329. package/dist/watch-imlsRZDp.cjs +52207 -0
  330. package/package.json +95 -3
  331. package/dist/Address-4KjeDt_x.cjs +0 -17269
  332. package/dist/Address-_VPkf7Xh.js +0 -17101
  333. package/dist/account-guards.stable-BKyYPj4z.cjs +0 -10
  334. package/dist/account-guards.stable-BdmQ43vC.js +0 -5
  335. package/dist/init-BR9ZIbED.cjs +0 -378
  336. package/dist/init-B_k1RUN_.cjs +0 -21
  337. package/dist/init-Bs3b5ZQH.js +0 -378
  338. package/dist/init-ChfcrHgG2.cjs +0 -4354
  339. package/dist/init-D1uUMMpG.js +0 -19
  340. package/dist/init-DV1OSZiK.js +0 -4352
  341. package/dist/modules-cardano-BINzpXpk.js +0 -5454
  342. package/dist/modules-cardano-Dt8OwoQb.cjs +0 -5640
  343. package/dist/slice-Caf98m0d2.js +0 -107
  344. package/dist/slice-PM6llajQ2.cjs +0 -125
  345. /package/dist/{BigIntMath-CoJWXt1h.cjs → BigIntMath-CBciEQn2.cjs} +0 -0
  346. /package/dist/{BigIntMath-BWUJOsOW.js → BigIntMath-X3EniYDo.js} +0 -0
  347. /package/dist/{ChainId-sdLmlIRk.cjs → ChainId-CNPSU9nn.cjs} +0 -0
  348. /package/dist/{ChainId-CKbm87yQ.js → ChainId-CeoG8Sov.js} +0 -0
  349. /package/dist/{_polyfill-node.process-4fnlkbBi.cjs → _polyfill-node.process-5UxyjoHG.cjs} +0 -0
  350. /package/dist/{account-id.vo-Xpgnu-av.cjs → account-id.vo-DYZBZQsz.cjs} +0 -0
  351. /package/dist/{account-id.vo-DP0BtOoF.js → account-id.vo-KDTWJ-W5.js} +0 -0
  352. /package/dist/{actions-BNagEO6m.cjs → actions-BnHFVSr_.cjs} +0 -0
  353. /package/dist/{actions-BWTyAr7B.js → actions-Cwj0ApZf.js} +0 -0
  354. /package/dist/{asyncoption-po7-RiA5.cjs → asyncoption-CYcZNBRM.cjs} +0 -0
  355. /package/dist/{asyncoption-CzIVH5Y1.js → asyncoption-DZQGfznq.js} +0 -0
  356. /package/dist/{bignum.vo-DhhZ9HP1.js → bignum.vo-Co6tMH2q.js} +0 -0
  357. /package/dist/{bignum.vo-CpkrIXjH.cjs → bignum.vo-Du-bpvar.cjs} +0 -0
  358. /package/dist/{blockchain-network-id.vo-CbgrAY_K.js → blockchain-network-id.vo-C6Jowh8t.js} +0 -0
  359. /package/dist/{blockchain-network-id.vo-5iC6Kffo.cjs → blockchain-network-id.vo-DEQ14dYj.cjs} +0 -0
  360. /package/dist/{composite-signer-factory-DABpCe1_.js → composite-signer-factory-D9RWY-1V.js} +0 -0
  361. /package/dist/{composite-signer-factory-BizuNPP7.cjs → composite-signer-factory-v4Pxn8bA.cjs} +0 -0
  362. /package/dist/{error-ggOihIfv.cjs → error-B6wj9nPv.cjs} +0 -0
  363. /package/dist/{error-DHKO2iS4.js → error-CvEYL98P.js} +0 -0
  364. /package/dist/{esm-browser-DnXNvpcn.cjs → esm-browser-CZbMeVod.cjs} +0 -0
  365. /package/dist/{esm-browser-BBVQuyQv.js → esm-browser-DpAD_RKv.js} +0 -0
  366. /package/dist/{feature-flag-key.vo-DoGK5Bfh.js → feature-flag-key.vo-9reURsOQ.js} +0 -0
  367. /package/dist/{feature-flag-key.vo-CP1Z9s8e.cjs → feature-flag-key.vo-KTIdnzYX.cjs} +0 -0
  368. /package/dist/{first-state-of-status-Bx4-QQ5m.cjs → first-state-of-status-9ICeDNSa.cjs} +0 -0
  369. /package/dist/{first-state-of-status-D7XzEuSa.js → first-state-of-status-BscbKj_t.js} +0 -0
  370. /package/dist/{init-4319psUJ.cjs → init-BT67pd9x.cjs} +0 -0
  371. /package/dist/{init-AFUM1TSg.js → init-CHk1fvJ2.js} +0 -0
  372. /package/dist/{init-ZX90nEJe2.js → init-DIyNx6DZ.js} +0 -0
  373. /package/dist/{init-CTQ2g6Xt.js → init-DtxxFaCx.js} +0 -0
  374. /package/dist/{init-Dt1Xifg_2.cjs → init-J8QobR93.cjs} +0 -0
  375. /package/dist/{init-BNewLCqw.cjs → init-xzZPlQwB.cjs} +0 -0
  376. /package/dist/{is-redux-persist-state-DxJSsvxB.cjs → is-redux-persist-state-C5luvPEH.cjs} +0 -0
  377. /package/dist/{is-redux-persist-state-Bl2n4VMr.js → is-redux-persist-state-CjcqyCoh.js} +0 -0
  378. /package/dist/{isNotNil-CZxBMfL5.js → isNotNil-Be7gCY0m.js} +0 -0
  379. /package/dist/{isNotNil-C_SO1tcC.cjs → isNotNil-CrYIUFry.cjs} +0 -0
  380. /package/dist/{logging-BvMDKgl0.js → logging-BAMMfn5j.js} +0 -0
  381. /package/dist/{logging-Bh9ikph3.cjs → logging-CbxgIX9V.cjs} +0 -0
  382. /package/dist/{metadatum-B-sxBnSY.cjs → metadatum-BGvFqGPt.cjs} +0 -0
  383. /package/dist/{metadatum-Ego4jVas.js → metadatum-BVocMYy_.js} +0 -0
  384. /package/dist/{repo-slice-BzZQUTj8.cjs → repo-slice-BB_W-6OL.cjs} +0 -0
  385. /package/dist/{repo-slice-vCcQJotS.js → repo-slice-BQlssw9M.js} +0 -0
  386. /package/dist/{reselect-BPkMzw3k.js → reselect-JIgawvPe.js} +0 -0
  387. /package/dist/{serializable-BxFUShKY.js → serializable-F7OtYl8d.js} +0 -0
  388. /package/dist/{serializable-DWgkHhv_.cjs → serializable-n3UoxbZc.cjs} +0 -0
  389. /package/dist/{slice-DY-DNtSi.js → slice-5dGBAz6w.js} +0 -0
  390. /package/dist/{slice-BEFoeqgr.cjs → slice-BzJgg9FS.cjs} +0 -0
  391. /package/dist/{src-CPmX4KUh.cjs → src-CeBNkonz.cjs} +0 -0
  392. /package/dist/{src-XOZXPKxe.js → src-Cv1ifqbe.js} +0 -0
  393. /package/dist/{time-CQPt4FdU.js → time-ByoKevdZ.js} +0 -0
  394. /package/dist/{time-Blvoyh9G.cjs → time-qD7edGU0.cjs} +0 -0
  395. /package/dist/{time.vo-Xln4yGBU.js → time.vo-C17-tYq3.js} +0 -0
  396. /package/dist/{time.vo-rwWwJzmP.cjs → time.vo-TmYE-_Y2.cjs} +0 -0
  397. /package/dist/{toEmpty-CzmoZVLN.cjs → toEmpty-Db6V94Mf.cjs} +0 -0
  398. /package/dist/{toEmpty-DzLd-ZCi.js → toEmpty-Djj-QbpI.js} +0 -0
  399. /package/dist/{token-id.vo-l8fuSpem.cjs → token-id.vo-CZ622zcZ.cjs} +0 -0
  400. /package/dist/{token-id.vo-DMKSaMlc.js → token-id.vo-IDI9C_Qm.js} +0 -0
  401. /package/dist/{types-B61DQoFW.js → types-By-XeXWg.js} +0 -0
  402. /package/dist/{types-CUC-Kcqh.cjs → types-Cn6WlQV6.cjs} +0 -0
  403. /package/dist/{util-BV3iGOrz.cjs → util-Cp1h58uD.cjs} +0 -0
  404. /package/dist/{util-BsQKLorV.js → util-DHppXj7U.js} +0 -0
  405. /package/dist/{util-selector-CKIyoAOz.js → util-selector-BWmHpo92.js} +0 -0
  406. /package/dist/{util-selector-C9H5RsNw.cjs → util-selector-glXkO-jR.cjs} +0 -0
  407. /package/dist/{while-active-CNXeLxre.js → while-active-CDBnUlQA.js} +0 -0
  408. /package/dist/{while-active-BsDWSNrO.cjs → while-active-I2TlHtm7.cjs} +0 -0
@@ -0,0 +1,143 @@
1
+ require("./chunk-9hOWP6kD.cjs");
2
+ const require_blockchain_network_id_vo = require("./blockchain-network-id.vo-DEQ14dYj.cjs");
3
+ const require_repo_slice = require("./repo-slice-BB_W-6OL.cjs");
4
+ const require_account_id_vo = require("./account-id.vo-DYZBZQsz.cjs");
5
+ let redux_persist = require("redux-persist");
6
+ //#region ../../packages/lib/util-hw/src/device-identity.ts
7
+ const LEDGER_USB_VENDOR_ID = 11415;
8
+ /**
9
+ * Stable USB product identity. Ledger encodes the model in the high byte and
10
+ * app/firmware-dependent interface flags in the low byte, so the same device
11
+ * can report different productIds across firmware updates or open apps.
12
+ * Masks the flag bits for Ledger (mirrors `@ledgerhq/devices`, which resolves
13
+ * models via `productId >> 8`); other vendors keep the full productId.
14
+ */
15
+ const canonicalUsbProductId = (vendorId, productId) => vendorId === LEDGER_USB_VENDOR_ID ? productId & 65280 : productId;
16
+ //#endregion
17
+ //#region ../../packages/contract/wallet-repo/src/value-objects/hardware-wallet-id.vo.ts
18
+ const USB_HW_PATTERN = /^usb-hw-(\d+)-(\d+)-(.+)$/;
19
+ const BLE_HW_PATTERN = /^ble-(ledger|trezor)-(.+)$/;
20
+ const USB_NO_SERIAL_SENTINEL = "no-serial";
21
+ /**
22
+ * The wallet ID of the hardware device a descriptor describes.
23
+ * `HardwareWalletId.parse` reads the descriptor back from a wallet ID, or
24
+ * returns `null` for an ID of another form.
25
+ */
26
+ const HardwareWalletId = (descriptor) => {
27
+ switch (descriptor.kind) {
28
+ case "usb": return `usb-hw-${descriptor.vendorId}-${canonicalUsbProductId(descriptor.vendorId, descriptor.productId)}-${descriptor.serialNumber ?? USB_NO_SERIAL_SENTINEL}`;
29
+ case "ble": return `ble-${descriptor.vendorName}-${descriptor.id}`;
30
+ }
31
+ };
32
+ HardwareWalletId.parse = (walletId) => {
33
+ const usbMatch = USB_HW_PATTERN.exec(walletId);
34
+ if (usbMatch) {
35
+ const serialSegment = usbMatch[3];
36
+ return {
37
+ kind: "usb",
38
+ vendorId: Number(usbMatch[1]),
39
+ productId: Number(usbMatch[2]),
40
+ serialNumber: serialSegment === USB_NO_SERIAL_SENTINEL ? null : serialSegment
41
+ };
42
+ }
43
+ const bleMatch = BLE_HW_PATTERN.exec(walletId);
44
+ if (bleMatch) return {
45
+ kind: "ble",
46
+ vendorName: bleMatch[1],
47
+ id: bleMatch[2],
48
+ name: null
49
+ };
50
+ return null;
51
+ };
52
+ //#endregion
53
+ //#region ../../packages/contract/wallet-repo/src/migrations/3-set-blockchain-network-id.ts
54
+ const migrateBlockchainNetworkId = (blockchainName) => {
55
+ switch (blockchainName) {
56
+ case "Cardano": return require_blockchain_network_id_vo.BlockchainNetworkId("cardano-1");
57
+ case "Midnight": return require_blockchain_network_id_vo.BlockchainNetworkId("midnight-preview");
58
+ case "Bitcoin": return require_blockchain_network_id_vo.BlockchainNetworkId("bitcoin-testnet4");
59
+ }
60
+ };
61
+ const setBlockchainNetworkId = (state) => {
62
+ const typedState = state;
63
+ if (!typedState.entities) return typedState;
64
+ for (const wallet of Object.values(typedState.entities)) for (const account of wallet.accounts) account.blockchainNetworkId = migrateBlockchainNetworkId(account.blockchainName);
65
+ return typedState;
66
+ };
67
+ //#endregion
68
+ //#region ../../packages/contract/wallet-repo/src/migrations/4-update-midnight-account-ids.ts
69
+ const updateMidnightAccountIds = (state) => {
70
+ const typedState = state;
71
+ if (!typedState.entities) return typedState;
72
+ for (const wallet of Object.values(typedState.entities)) for (const account of wallet.accounts) if (account.blockchainName === "Midnight") {
73
+ const networkId = account.blockchainSpecific.networkId;
74
+ account.accountId = require_account_id_vo.AccountId(`${wallet.walletId}-mn-0-${networkId}`);
75
+ }
76
+ if (typedState.activeAccountContext?.accountId.endsWith("-mn")) typedState.activeAccountContext = null;
77
+ return typedState;
78
+ };
79
+ //#endregion
80
+ //#region ../../packages/contract/wallet-repo/src/migrations/5-normalize-hardware-wallet-ids.ts
81
+ /**
82
+ * Rewrites hardware wallet ids to the canonical descriptor encoding (Ledger
83
+ * USB productIds carry app/firmware-dependent interface bits that are now
84
+ * masked at id construction) and merges wallet entities that collapse into
85
+ * the same id, so devices that were duplicated by a productId drift become a
86
+ * single wallet again. Account ids embed the wallet id as their prefix, so
87
+ * they are rewritten along with the walletId fields.
88
+ */
89
+ const normalizeHardwareWalletIds = (state) => {
90
+ const typedState = state;
91
+ if (!typedState.entities) return typedState;
92
+ const renames = /* @__PURE__ */ new Map();
93
+ for (const oldId of Object.keys(typedState.entities)) {
94
+ const descriptor = HardwareWalletId.parse(oldId);
95
+ if (!descriptor) continue;
96
+ const newId = HardwareWalletId(descriptor);
97
+ if (newId === oldId) continue;
98
+ renames.set(oldId, newId);
99
+ const wallet = typedState.entities[oldId];
100
+ for (const account of wallet.accounts) {
101
+ account.walletId = newId;
102
+ account.accountId = require_account_id_vo.AccountId(account.accountId.replace(oldId, newId));
103
+ }
104
+ const target = typedState.entities[newId];
105
+ typedState.entities[newId] = target ? {
106
+ ...target,
107
+ accounts: [...target.accounts, ...wallet.accounts.filter((account) => target.accounts.every((existing) => existing.accountId !== account.accountId))]
108
+ } : {
109
+ ...wallet,
110
+ walletId: newId
111
+ };
112
+ delete typedState.entities[oldId];
113
+ if (typedState.activeAccountContext?.walletId === oldId) typedState.activeAccountContext = {
114
+ walletId: newId,
115
+ accountId: require_account_id_vo.AccountId(typedState.activeAccountContext.accountId.replace(oldId, newId))
116
+ };
117
+ }
118
+ if (renames.size > 0) typedState.ids = [...new Set(typedState.ids.map((id) => renames.get(id) ?? id))];
119
+ return typedState;
120
+ };
121
+ //#endregion
122
+ //#region ../../packages/contract/wallet-repo/src/store/persisted-migrations.ts
123
+ /** The migrations of the persisted `wallets` state, by the version they reach. */
124
+ const walletsMigrations = {
125
+ 3: setBlockchainNetworkId,
126
+ 4: updateMidnightAccountIds,
127
+ 5: normalizeHardwareWalletIds
128
+ };
129
+ //#endregion
130
+ //#region ../../packages/contract/wallet-repo/src/store/init.ts
131
+ const walletsReducers = { wallets: require_repo_slice.repositorySlice.reducer };
132
+ const storeExports = async () => {
133
+ return {
134
+ reducers: walletsReducers,
135
+ persistConfig: { wallets: {
136
+ version: 5,
137
+ migrate: (0, redux_persist.createMigrate)(walletsMigrations)
138
+ } }
139
+ };
140
+ };
141
+ //#endregion
142
+ exports.default = storeExports;
143
+ exports.walletsReducers = walletsReducers;
@@ -1,8 +1,8 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
2
  const require_equals = require("./equals-3gajbRxE.cjs");
3
- const require_isNotNil = require("./isNotNil-C_SO1tcC.cjs");
4
- const require_slice = require("./slice-CtIMw2YT.cjs");
5
- const require_const = require("./const-BErUlcZw.cjs");
3
+ const require_isNotNil = require("./isNotNil-CrYIUFry.cjs");
4
+ const require_slice = require("./slice-B9QKuhi0.cjs");
5
+ const require_const = require("./const-BWBAzOmN.cjs");
6
6
  let rxjs = require("rxjs");
7
7
  let redux_persist = require("redux-persist");
8
8
  //#region ../../packages/contract/network/src/store/migrations/2-reset-testnets.ts
@@ -0,0 +1,422 @@
1
+ import { a as __toESM } from "./chunk-D6g4UhsZ.js";
2
+ import { n as ProviderError, r as ProviderFailure } from "./errors-CAOTqN4_.js";
3
+ import { t as contextLogger } from "./logging-BAMMfn5j.js";
4
+ import { n as Ok, t as Err } from "./asyncoption-DZQGfznq.js";
5
+ import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-Bu5Yn5ua.js";
6
+ import { i as toProviderError, r as isNotFoundError } from "./error-CvEYL98P.js";
7
+ import { n as buildUrl, t as HttpClient } from "./http-client-B7_kBTYn.js";
8
+ import { t as require_lib } from "./lib-JYqcAX0c.js";
9
+ import { t as BitcoinTransactionStatus } from "./bitcoin-data-provider-LN_8oamW.js";
10
+ import { defer, from, of } from "rxjs";
11
+ import memoize from "lodash/memoize.js";
12
+ import { catchError as catchError$1, map as map$1 } from "rxjs/operators";
13
+ //#region ../../packages/lib/bitcoin-provider-core/src/maestro/util.ts
14
+ const SATS_IN_BTC = 1e8;
15
+ /**
16
+ * Converts a Bitcoin amount expressed as a decimal string (I.E `"0.00012345"`)
17
+ * into its integer value in satoshis.
18
+ *
19
+ * @param btcString - Bitcoin amount as a string (e.g. `"2"`, `"0.5"`, `"0.00000001"`).
20
+ * @returns Amount in satoshis as a number.
21
+ */
22
+ const btcStringToSatoshis = (btcString) => {
23
+ const [integerPart, fractionPart = ""] = btcString.split(".");
24
+ const paddedFraction = fractionPart.padEnd(8, "0").slice(0, 8);
25
+ return Number(integerPart) * SATS_IN_BTC + Number(paddedFraction);
26
+ };
27
+ /**
28
+ * Return the OP_RETURN payload (as hex) if the output is nulldata,
29
+ * otherwise undefined.
30
+ */
31
+ const getOpReturnData = (output) => {
32
+ const asm = output.scriptPubKey?.asm;
33
+ if (!asm) return void 0;
34
+ if (!(output.scriptPubKey?.type === "nulldata" || asm.startsWith("OP_RETURN"))) return void 0;
35
+ const [, hexPayload] = asm.split(/\s+/);
36
+ return hexPayload ?? void 0;
37
+ };
38
+ //#endregion
39
+ //#region ../../packages/lib/bitcoin-provider-core/src/maestro/maestro-provider.ts
40
+ /**
41
+ * High-level REST wrapper around Maestro's Bitcoin API.
42
+ */
43
+ var MaestroBitcoinProvider = class {
44
+ logger;
45
+ #client;
46
+ #txCache = /* @__PURE__ */ new Map();
47
+ #rawTxCache = /* @__PURE__ */ new Map();
48
+ /**
49
+ * Creates a new instance of the Maestro Bitcoin provider.
50
+ *
51
+ * @param client - Pre-configured HTTP client.
52
+ * @param logger - Any ts-log compatible logger implementation.
53
+ */
54
+ constructor(client, logger) {
55
+ this.#client = client;
56
+ this.logger = contextLogger(logger, this.constructor.name);
57
+ }
58
+ /**
59
+ * Fetches the current block height and hash.
60
+ *
61
+ * @returns A promise that resolves with the current blockchain information.
62
+ */
63
+ async getLastKnownBlock() {
64
+ const { data: { last_updated: { block_height, block_hash } } } = await this.request("/rpc/general/info");
65
+ return {
66
+ height: Number(block_height),
67
+ hash: block_hash
68
+ };
69
+ }
70
+ /**
71
+ * Retrieves detailed information about a specific blockchain transaction by its hash.
72
+ *
73
+ * @param txHash - The hash of the transaction to retrieve. This is typically a unique identifier
74
+ * in hexadecimal format.
75
+ * @returns A promise that resolves to a `TransactionHistoryEntry`.
76
+ *
77
+ * @throws `Error` Throws an error if the transaction cannot be retrieved, which might occur due to network issues,
78
+ * incorrect transaction hash, or the transaction not existing in the blockchain.
79
+ */
80
+ async getTransaction(txHash) {
81
+ if (this.#txCache.has(txHash)) return this.#txCache.get(txHash);
82
+ const { data: { data } } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
83
+ const entry = this.mapTxEntry(txHash, data);
84
+ if (entry.confirmations > 0) this.#txCache.set(txHash, entry);
85
+ return entry;
86
+ }
87
+ /**
88
+ * Fetches the raw serialized transaction (hex) for a given transaction hash.
89
+ *
90
+ * Raw bytes of confirmed transactions are immutable, so they are cached
91
+ * indefinitely; unconfirmed transactions are re-fetched on every call.
92
+ *
93
+ * @param txHash - The hash of the transaction to retrieve, in hexadecimal format.
94
+ * @returns A promise that resolves to the raw transaction hex.
95
+ *
96
+ * @throws `Error` Throws an error if the transaction cannot be retrieved, which might occur due to network issues,
97
+ * incorrect transaction hash, or the transaction not existing in the blockchain.
98
+ */
99
+ async getRawTransaction(txHash) {
100
+ if (this.#rawTxCache.has(txHash)) return this.#rawTxCache.get(txHash);
101
+ const { data: { data } } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
102
+ if (data.confirmations > 0) this.#rawTxCache.set(txHash, data.hex);
103
+ return data.hex;
104
+ }
105
+ /**
106
+ * Retrieve a **paginated**, (reverse-chronological by default) history of transactions
107
+ * that involve a given address.
108
+ *
109
+ * @param address - The Bitcoin address or script pubkey to query for transactions.
110
+ * @param parameters - Optional parameters to filter and paginate the transaction history.
111
+ *
112
+ * @returns `BitcoinPaginatedResponse` -
113
+ * `{ items: TransactionHistoryEntry[]; cursor: string }`.
114
+ */
115
+ async getTransactions(address, parameters) {
116
+ try {
117
+ const { data: { data: edges = [], next_cursor } } = await this.request(`/addresses/${address}/txs`, { params: {
118
+ order: "desc",
119
+ count: 50,
120
+ ...parameters
121
+ } });
122
+ const transactions = [];
123
+ for (const { tx_hash } of edges) transactions.push(await this.getTransaction(tx_hash));
124
+ return {
125
+ items: transactions,
126
+ cursor: next_cursor ?? ""
127
+ };
128
+ } catch (error) {
129
+ if (isNotFoundError(error)) return {
130
+ items: [],
131
+ cursor: ""
132
+ };
133
+ throw error;
134
+ }
135
+ }
136
+ /**
137
+ * Retrieves unconfirmed transactions (as transaction history entries) from the mempool for a given Bitcoin address.
138
+ *
139
+ * This function queries pending transactions associated with the specified Bitcoin address.
140
+ * It returns an array of transaction history entries representing UTXOs that are currently unconfirmed.
141
+ * Optionally, you can filter transactions to only include those observed after a specified block height.
142
+ *
143
+ * @param address - The Bitcoin address or script pubkey to query for pending transactions.
144
+ * @param parameters - Optional parameters to filter and paginate the transaction history.
145
+ * @returns `BitcoinPaginatedResponse` -
146
+ * `{ items: TransactionHistoryEntry[]; cursor: string }`.
147
+ */
148
+ async getTransactionsInMempool(address, parameters) {
149
+ try {
150
+ const { data: { data: utxos = [], next_cursor } } = await this.request(`/mempool/addresses/${address}/utxos`, { params: {
151
+ order: "desc",
152
+ ...parameters
153
+ } });
154
+ if (utxos.length === 0) return {
155
+ items: [],
156
+ cursor: ""
157
+ };
158
+ const seen = /* @__PURE__ */ new Set();
159
+ const pendingPromises = [];
160
+ for (const { txid, mempool: isInMempool } of utxos) {
161
+ if (seen.has(txid) || !isInMempool) continue;
162
+ seen.add(txid);
163
+ pendingPromises.push(this.mapTxToPendingEntry(txid));
164
+ }
165
+ return {
166
+ items: await Promise.all(pendingPromises),
167
+ cursor: next_cursor ?? ""
168
+ };
169
+ } catch (error) {
170
+ if (isNotFoundError(error)) return {
171
+ items: [],
172
+ cursor: ""
173
+ };
174
+ throw error;
175
+ }
176
+ }
177
+ /**
178
+ * Fetches the unspent transaction outputs (UTxOs) associated with a specified address.
179
+ *
180
+ * @returns A promise that resolves with a list of UTxOs for the address.
181
+ */
182
+ async getUTxOs(address, parameters) {
183
+ try {
184
+ const { data: { data: utxos = [], next_cursor } } = await this.request(`/addresses/${address}/utxos`, { params: { ...parameters } });
185
+ return {
186
+ items: utxos.map((out) => ({
187
+ txId: out.txid,
188
+ index: out.vout,
189
+ satoshis: Number.parseInt(out.satoshis, 10),
190
+ address: out.address,
191
+ script: out.script_pubkey,
192
+ height: out.height,
193
+ confirmations: out.confirmations,
194
+ inscriptions: out.inscriptions.map((inscription) => ({
195
+ offset: inscription.offset,
196
+ inscriptionId: inscription.inscription_id
197
+ })),
198
+ runes: out.runes.map((rune) => ({
199
+ runeId: rune.rune_id,
200
+ amount: rune.amount
201
+ }))
202
+ })),
203
+ cursor: next_cursor ?? ""
204
+ };
205
+ } catch (error) {
206
+ if (isNotFoundError(error)) return {
207
+ items: [],
208
+ cursor: ""
209
+ };
210
+ throw error;
211
+ }
212
+ }
213
+ /**
214
+ * Submits a raw transaction to the blockchain for inclusion in a block.
215
+ *
216
+ * @returns A promise that resolves with the transaction hash of the submitted transaction.
217
+ */
218
+ async submitTransaction(rawTransaction) {
219
+ const { data, status } = await this.request("/rpc/transaction/submit", {
220
+ method: "POST",
221
+ headers: { "Content-Type": "application/json" },
222
+ body: JSON.stringify(rawTransaction)
223
+ });
224
+ if (status !== 201) throw new ProviderError(ProviderFailure.InvalidResponse, `Unexpected response status: ${status} - ${JSON.stringify(data)}`);
225
+ return data;
226
+ }
227
+ /**
228
+ * Fetches the status of a specified transaction by its hash.
229
+ *
230
+ * @returns A promise that resolves with the current status of the transaction.
231
+ */
232
+ async getTransactionStatus(txHash) {
233
+ try {
234
+ const { status } = await this.getTransaction(txHash);
235
+ return status;
236
+ } catch (error) {
237
+ if (isNotFoundError(error)) return BitcoinTransactionStatus.Dropped;
238
+ throw error;
239
+ }
240
+ }
241
+ /**
242
+ * Estimates the transaction fee in BTC per kilobyte based on the desired confirmation time and fee estimation mode.
243
+ *
244
+ * This method queries a blockchain fee estimation service to determine the appropriate fee
245
+ * rate required for a transaction to be confirmed within the specified number of blocks.
246
+ *
247
+ * @param blocks - The target number of blocks within which the transaction should be confirmed.
248
+ * A smaller number indicates a higher priority and typically results in a higher fee.
249
+ * For example, `blocks = 1` requests a fee estimation for the next block confirmation.
250
+ * @param mode - The fee estimation mode, which determines the trade-off between
251
+ * reliability and cost:
252
+ * - `FeeEstimationMode.Conservative`: Prioritizes confirmation reliability.
253
+ * - `FeeEstimationMode.Economical`: Aims to minimize fees, with potentially slower confirmations.
254
+ * @returns A promise that resolves to the estimated fee in satoshis per byte.
255
+ * This value can be used to calculate the total transaction fee
256
+ * based on the size of the transaction in bytes.
257
+ */
258
+ async estimateFee(blocks, mode) {
259
+ const { data: { data }, status } = await this.request(`/rpc/transaction/estimatefee/${blocks}`, { params: { mode } });
260
+ if (status !== 200) throw new ProviderError(ProviderFailure.InvalidResponse, "Invalid response from fee estimation API.");
261
+ return {
262
+ feeRate: data.feerate,
263
+ targetConfirmationTime: data.blocks
264
+ };
265
+ }
266
+ /**
267
+ * Transform a Maestro transaction record into the wallet's
268
+ * `TransactionHistoryEntry` format.
269
+ *
270
+ * @param txHash - The transaction hash.
271
+ * @param data - The data payload returned by `/rpc/transaction/{hash}`.
272
+ * @param overrides - Partial entry whose properties overwrite the derived base
273
+ * values (e.g. `{ status: Pending, confirmations: -1 }`).
274
+ *
275
+ * @returns A fully populated `TransactionHistoryEntry`.
276
+ */
277
+ mapTxEntry(txHash, data, overrides = {}) {
278
+ return {
279
+ inputs: data.vin.map((vin) => ({
280
+ txId: vin.txid ?? "",
281
+ index: vin.vout ?? 0,
282
+ address: vin.address ?? "",
283
+ satoshis: btcStringToSatoshis(vin.value.toString()),
284
+ isCoinbase: !!vin.coinbase,
285
+ coinbaseScript: vin.coinbase ?? ""
286
+ })),
287
+ outputs: data.vout.map((vout) => ({
288
+ address: vout.address,
289
+ satoshis: btcStringToSatoshis(vout.value.toString()),
290
+ opReturnData: getOpReturnData(vout)
291
+ })),
292
+ transactionHash: txHash,
293
+ confirmations: data.confirmations,
294
+ status: data.confirmations > 0 ? BitcoinTransactionStatus.Confirmed : BitcoinTransactionStatus.Pending,
295
+ blockHeight: data.blockheight,
296
+ timestamp: data.blocktime,
297
+ ...overrides
298
+ };
299
+ }
300
+ /**
301
+ * Maps a transaction hash to a pending transaction entry.
302
+ *
303
+ * @param txHash - The transaction hash to map.
304
+ */
305
+ async mapTxToPendingEntry(txHash) {
306
+ const { data } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
307
+ return this.mapTxEntry(txHash, data.data, {
308
+ confirmations: -1,
309
+ status: BitcoinTransactionStatus.Pending,
310
+ blockHeight: 0,
311
+ timestamp: Math.floor(Date.now() / 1e3)
312
+ });
313
+ }
314
+ /**
315
+ * Performs a generic HTTP request to the Maestro API.
316
+ */
317
+ async request(endpoint, options) {
318
+ try {
319
+ this.logger.debug("request", endpoint);
320
+ const response = await this.#client.request(endpoint, options);
321
+ this.logger.debug("response", JSON.stringify(response));
322
+ return response;
323
+ } catch (error) {
324
+ this.logger.debug("error", error);
325
+ throw toProviderError(error);
326
+ }
327
+ }
328
+ };
329
+ //#endregion
330
+ //#region ../../packages/lib/bitcoin-provider-core/src/maestro-config.ts
331
+ var import_lib = /* @__PURE__ */ __toESM(require_lib());
332
+ const computeMaestroConfigIdentifier = ({ clientConfig: { baseUrl, projectId } }) => `${baseUrl}-${projectId}`;
333
+ const getMaestroClient = memoize(({ clientConfig, rateLimiterConfig }) => {
334
+ const rateLimiter = new import_lib.default({
335
+ reservoir: rateLimiterConfig.size,
336
+ reservoirIncreaseAmount: rateLimiterConfig.increaseAmount,
337
+ reservoirIncreaseInterval: rateLimiterConfig.increaseInterval,
338
+ reservoirIncreaseMaximum: rateLimiterConfig.size
339
+ });
340
+ return new HttpClient({
341
+ baseUrl: buildUrl([clientConfig.apiVersion], clientConfig.baseUrl),
342
+ requestInit: { headers: { "api-key": clientConfig.projectId ?? "" } }
343
+ }, { rateLimiter });
344
+ }, computeMaestroConfigIdentifier);
345
+ //#endregion
346
+ //#region ../../packages/lib/bitcoin-provider-core/src/create-maestro-bitcoin-provider.ts
347
+ const getMaestroApiProvider = memoize((config, logger) => {
348
+ return new MaestroBitcoinProvider(getMaestroClient(config), logger);
349
+ }, computeMaestroConfigIdentifier);
350
+ const getMaestroConfig = (context, configs) => configs[context.network];
351
+ const unprovisionedNetworkError = (network) => new ProviderError(ProviderFailure.NotImplemented, void 0, `maestro is unprovisioned for network ${network}: no config entry in this build`);
352
+ const createMaestroBitcoinProvider = (maestroConfig, logger) => ({
353
+ getLastKnownBlock: (context) => {
354
+ const config = getMaestroConfig(context, maestroConfig);
355
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
356
+ return from(getMaestroApiProvider(config, logger).getLastKnownBlock().then(Ok).catch(Err));
357
+ },
358
+ getTransaction: (context, txHash) => {
359
+ const config = getMaestroConfig(context, maestroConfig);
360
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
361
+ return from(getMaestroApiProvider(config, logger).getTransaction(txHash).then(Ok).catch(Err));
362
+ },
363
+ getRawTransaction: (context, txHash) => {
364
+ const config = getMaestroConfig(context, maestroConfig);
365
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
366
+ const provider = getMaestroApiProvider(config, logger);
367
+ return defer(async () => provider.getRawTransaction(txHash)).pipe(retryBackoff(PROVIDER_REQUEST_RETRY_CONFIG), map$1(Ok), catchError$1((error) => of(Err(error))));
368
+ },
369
+ getTransactions: (context, address, { afterBlockHeight, limit, order, cursor }) => {
370
+ const config = getMaestroConfig(context, maestroConfig);
371
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
372
+ return from(getMaestroApiProvider(config, logger).getTransactions(address, {
373
+ count: limit,
374
+ order,
375
+ cursor,
376
+ from: afterBlockHeight
377
+ }).then((result) => Ok(result)).catch(Err));
378
+ },
379
+ getTransactionsInMempool: (context, address, { afterBlockHeight, limit, order, cursor }) => {
380
+ const config = getMaestroConfig(context, maestroConfig);
381
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
382
+ return from(getMaestroApiProvider(config, logger).getTransactionsInMempool(address, {
383
+ count: limit,
384
+ order,
385
+ cursor,
386
+ from: afterBlockHeight
387
+ }).then((result) => Ok(result)).catch(Err));
388
+ },
389
+ getUTxOs: (context, address, { afterBlockHeight, limit, order, cursor }) => {
390
+ const config = getMaestroConfig(context, maestroConfig);
391
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
392
+ return from(getMaestroApiProvider(config, logger).getUTxOs(address, {
393
+ count: limit,
394
+ order,
395
+ cursor,
396
+ from: afterBlockHeight
397
+ }).then((result) => Ok(result)).catch(Err));
398
+ },
399
+ submitTransaction: (context, rawTransaction) => {
400
+ const config = getMaestroConfig(context, maestroConfig);
401
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
402
+ return from(getMaestroApiProvider(config, logger).submitTransaction(rawTransaction).then(Ok).catch(Err));
403
+ },
404
+ getTransactionStatus: (context, txHash) => {
405
+ const config = getMaestroConfig(context, maestroConfig);
406
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
407
+ return from(getMaestroApiProvider(config, logger).getTransactionStatus(txHash).then(Ok).catch(Err));
408
+ },
409
+ estimateFee: (context, blocks, mode) => {
410
+ const config = getMaestroConfig(context, maestroConfig);
411
+ if (!config) return of(Err(unprovisionedNetworkError(context.network)));
412
+ return from(getMaestroApiProvider(config, logger).estimateFee(blocks, mode).then(Ok).catch(Err));
413
+ }
414
+ });
415
+ //#endregion
416
+ //#region ../../packages/module/bitcoin-provider-maestro/src/store/dependencies.ts
417
+ const initializeDependencies = async ({ runtime: { config: { bitcoinProvider: { maestroConfig } } } }, { logger }) => ({ bitcoinProvider: createMaestroBitcoinProvider(maestroConfig, logger) });
418
+ //#endregion
419
+ //#region ../../packages/module/bitcoin-provider-maestro/src/store/init.ts
420
+ const redux = async (props, dependencies) => ({ sideEffectDependencies: await initializeDependencies(props, dependencies) });
421
+ //#endregion
422
+ export { redux as default };
@@ -1,6 +1,6 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
- const require_is_redux_persist_state = require("./is-redux-persist-state-DxJSsvxB.cjs");
3
- const require_slice = require("./slice-BLSxLmie.cjs");
2
+ const require_is_redux_persist_state = require("./is-redux-persist-state-C5luvPEH.cjs");
3
+ const require_slice = require("./slice-Dongunf7.cjs");
4
4
  //#region ../../packages/contract/sync/src/store/init.ts
5
5
  /**
6
6
  * Transform that excludes pendingSync from being persisted.
@@ -0,0 +1,6 @@
1
+ require("./chunk-9hOWP6kD.cjs");
2
+ const require_slice = require("./slice-B4QOYaOG.cjs");
3
+ //#region ../../packages/contract/passport/src/store/init.ts
4
+ const store = () => ({ reducers: require_slice.passportReducers });
5
+ //#endregion
6
+ exports.default = store;
@@ -1,6 +1,6 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
- const require_blockchain_network_id_vo = require("./blockchain-network-id.vo-5iC6Kffo.cjs");
3
- const require_slice = require("./slice-BEFoeqgr.cjs");
2
+ const require_blockchain_network_id_vo = require("./blockchain-network-id.vo-DEQ14dYj.cjs");
3
+ const require_slice = require("./slice-BzJgg9FS.cjs");
4
4
  let redux_persist = require("redux-persist");
5
5
  //#region ../../packages/contract/address-book/src/store/init.ts
6
6
  const store = () => ({
@@ -1,6 +1,6 @@
1
1
  import "./_polyfill-buffer-patch-JcrfT1gU.js";
2
- import { t as Serializable } from "./serializable-BxFUShKY.js";
3
- import { n as CollectionStore, r as DocumentStore, t as KeyValueStore } from "./key-value-store-DTX1quRS.js";
2
+ import { t as Serializable } from "./serializable-F7OtYl8d.js";
3
+ import { n as CollectionStore, r as DocumentStore, t as KeyValueStore } from "./key-value-store-DZcNDB3n.js";
4
4
  //#region ../../packages/module/storage-web-indexeddb/src/storage-api-adapter.ts
5
5
  const DB_NAME = "lace-storage";
6
6
  const OBJECT_STORE_NAME = "key-value";
@@ -1,5 +1,5 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
- const require_slice = require("./slice-jnpOgiSZ.cjs");
2
+ const require_slice = require("./slice-CaMfviYu.cjs");
3
3
  //#region ../../packages/contract/addresses/src/store/init.ts
4
4
  const addressesStoreInit = () => ({
5
5
  reducers: require_slice.addressesReducers,
@@ -1,4 +1,4 @@
1
- import { n as addressesReducers } from "./slice-ws8PccRX.js";
1
+ import { n as addressesReducers } from "./slice-Dn0WojD7.js";
2
2
  //#region ../../packages/contract/addresses/src/store/init.ts
3
3
  const addressesStoreInit = () => ({
4
4
  reducers: addressesReducers,
@@ -1,5 +1,5 @@
1
- import { t as toEmpty } from "./toEmpty-DzLd-ZCi.js";
2
- import { t as setFeatureFlags } from "./actions-BWTyAr7B.js";
1
+ import { t as toEmpty } from "./toEmpty-Djj-QbpI.js";
2
+ import { t as setFeatureFlags } from "./actions-Cwj0ApZf.js";
3
3
  import { BehaviorSubject, filter, tap } from "rxjs";
4
4
  import { isAnyOf } from "@reduxjs/toolkit";
5
5
  //#region ../../packages/module/feature-dev/src/store/dependencies.ts
@@ -1,5 +1,5 @@
1
1
  require("./chunk-9hOWP6kD.cjs");
2
- const require_esm_browser = require("./esm-browser-DnXNvpcn.cjs");
2
+ const require_esm_browser = require("./esm-browser-CZbMeVod.cjs");
3
3
  let rxjs = require("rxjs");
4
4
  //#region ../../packages/contract/app/src/store/side-effects.ts
5
5
  require_esm_browser.init_esm_browser();