@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,1249 @@
1
+ import { a as __toESM } from "./chunk-D6g4UhsZ.js";
2
+ import { n as import_buffer } from "./_polyfill-buffer-patch-JcrfT1gU.js";
3
+ import { $t as blake2b } from "./Address-_c_-9hLC.js";
4
+ import { t as isNotNil } from "./isNotNil-Be7gCY0m.js";
5
+ import { t as contextLogger } from "./logging-BAMMfn5j.js";
6
+ import { h as store_default$15, r as cardanoContextSelectors, t as cardanoContextActions } from "./slice-C1zOeseG.js";
7
+ import { t as require_src } from "./src-CgINPlSx.js";
8
+ import { t as SecretBox } from "./secret-box-CSmRp6Tt.js";
9
+ import { n as HexBytes, t as ByteArray } from "./bytes.vo-CziaOsba.js";
10
+ import { t as IS_PARAMETERIZED } from "./util-selector-BWmHpo92.js";
11
+ import { i as selectModules } from "./util-DHppXj7U.js";
12
+ import { a as inferStoreContext, i as inferModuleContext, n as combineContracts, r as inferContractContext, t as store_default$16 } from "./store-AUlTfcI_.js";
13
+ import { r as featuresSelectors, t as featuresActions } from "./slice-DcO-iNz2.js";
14
+ import { t as Redacted } from "./redacted-4SJPqt-G.js";
15
+ import { t as FeatureFlagKey } from "./feature-flag-key.vo-9reURsOQ.js";
16
+ import { r as analyticsSelectors, t as analyticsActions } from "./slice-D0VzpMbY.js";
17
+ import { i as networkSelectors, n as networkActions } from "./slice-hNyKbDry.js";
18
+ import { n as walletsSelectors, t as walletsActions } from "./lace-context-DMRJ87Vg.js";
19
+ import { n as tokensActions, r as tokensSelectors } from "./slice-ByNWnxKS.js";
20
+ import { r as activitiesSelectors, t as activitiesActions } from "./slice-CgeRsYRg.js";
21
+ import { r as addressesSelectors, t as addressesActions } from "./slice-Dn0WojD7.js";
22
+ import { n as FEATURE_FLAG_CARDANO } from "./const-DbuUHSzR.js";
23
+ import { r as viewsSelectors, t as viewsActions } from "./slice-Cwt8jShq.js";
24
+ import { t as setFeatureFlags } from "./actions-Cwj0ApZf.js";
25
+ import { NEVER, Subject, defaultIfEmpty, delay, distinctUntilChanged, filter, firstValueFrom, from, map, share, shareReplay, takeUntil } from "rxjs";
26
+ import { applyMiddleware, combineReducers, configureStore, createAction, isAnyOf } from "@reduxjs/toolkit";
27
+ import merge$1 from "lodash/merge.js";
28
+ import { combineEpics, createEpicMiddleware } from "redux-observable";
29
+ import { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE, persistReducer, persistStore } from "redux-persist";
30
+ import uniq from "lodash/uniq.js";
31
+ import { dummyLogger } from "ts-log";
32
+ //#region ../../packages/lib/vendor/node_modules/@cardano-sdk/key-management/dist/esm/util/bip39.js
33
+ var import_src = /* @__PURE__ */ __toESM(require_src(), 1);
34
+ const joinMnemonicWords = (mnenomic) => mnenomic.join(" ");
35
+ import_src.validateMnemonic;
36
+ //#endregion
37
+ //#region ../../packages/lib/core/src/encrypt-recovery-phrase.ts
38
+ /**
39
+ * SBV1 (Argon2id + ChaCha20-Poly1305) encryption of a mnemonic recovery phrase:
40
+ * encrypt the utf8 bytes of the space-joined words with the passphrase, returning
41
+ * hex. New wallets are sealed with SBV1; `SecretBox.open` still reads legacy
42
+ * EMIP-003 blobs through the `@lace-lib/vendor` seam (ADR 37/38).
43
+ */
44
+ const encryptRecoveryPhrase = async (words, passphrase) => HexBytes.fromByteArray(await SecretBox.seal(ByteArray.fromUTF8(joinMnemonicWords(words)), passphrase));
45
+ //#endregion
46
+ //#region ../../packages/lib/core/src/value-objects/wallet-id.vo.ts
47
+ const WALLET_ID_BYTES = 16;
48
+ const doubleBlake2b128 = (inputHex) => {
49
+ const digest = blake2b.hash(inputHex, WALLET_ID_BYTES);
50
+ return WalletId(blake2b.hash(digest, WALLET_ID_BYTES));
51
+ };
52
+ /**
53
+ * Types a string as a wallet identifier. It checks nothing; the `deriveFrom…`
54
+ * functions derive the identifier a wallet's keys give it.
55
+ */
56
+ const WalletId = (walletId) => walletId;
57
+ /** Derive a walletId from an extended account public key (xpub). */
58
+ WalletId.deriveFromBip32PublicKey = (xpubHex) => doubleBlake2b128(xpubHex);
59
+ /**
60
+ * Derive a walletId from a hardware device's BIP-32 master key fingerprint
61
+ * (`xfpHex` — 8 hex chars / 4 bytes), domain-separated by `vendorTag` (the device
62
+ * family: `'ledger'`, `'trezor'`).
63
+ *
64
+ * The xfp identifies the master key itself, so it is invariant across derivation
65
+ * paths and across mainnet/testnet (whose account xpubs differ): one physical
66
+ * device is one wallet whichever network its open app served. The vendor tag is
67
+ * what keeps one seed restored onto two device families two wallets — the xfp
68
+ * alone is identical for both. Same double blake2b-128 as the xpub mints, so every
69
+ * id shares one 32-hex format and one collision domain.
70
+ */
71
+ WalletId.deriveFromHardwareFingerprint = (vendorTag, xfpHex) => doubleBlake2b128(import_buffer.Buffer.from(`${vendorTag}:${xfpHex.toLowerCase()}`, "utf8").toString("hex"));
72
+ /** Derive a walletId from a mnemonic — the utf8 bytes of the space-joined words. */
73
+ WalletId.deriveFromMnemonic = (words) => doubleBlake2b128(import_buffer.Buffer.from(joinMnemonicWords(words), "utf8").toString("hex"));
74
+ //#endregion
75
+ //#region ../../packages/contract/module/src/redux-persist-storage.ts
76
+ /** The name of the contract a module implements to provide key-value storage. */
77
+ const STORAGE_CONTRACT_NAME = "storage-dependency";
78
+ /**
79
+ * Adapts a key-value storage factory to the redux-persist `Storage` interface,
80
+ * keeping persisted state in the `redux` collection.
81
+ */
82
+ const createReduxPersistStorage = (keyValueStorageFactory) => {
83
+ const keyValueStorage = keyValueStorageFactory({ collectionId: "redux" });
84
+ return {
85
+ getItem: async (key) => firstValueFrom(keyValueStorage.getValues([key]).pipe(map(([value]) => value), defaultIfEmpty(void 0))),
86
+ removeItem: async (key) => firstValueFrom(keyValueStorage.setValue(key, void 0)),
87
+ setItem: async (key, value) => firstValueFrom(keyValueStorage.setValue(key, value))
88
+ };
89
+ };
90
+ /**
91
+ * Finds the module implementing the storage contract, initializes its store on
92
+ * its own and returns the key-value storage factory it provides.
93
+ *
94
+ * @throws Error when no module implements the storage contract or it provides no `createKeyValueStorage`.
95
+ */
96
+ const findStorageModule = async (props, { logger, ...rest }) => {
97
+ const storageModule = props.modules.find((m) => m.implements.contracts.some((contract) => contract.name === STORAGE_CONTRACT_NAME));
98
+ if (!storageModule) throw new Error("No storage module found");
99
+ const storageModuleStore = await storageModule.store?.load();
100
+ if (!storageModuleStore) throw new Error(`Module '${storageModule.moduleName}' must implement 'createKeyValueStorage' in store sideEffectDependencies`);
101
+ const dependencies = {
102
+ ...rest,
103
+ logger: contextLogger(contextLogger(logger, storageModule.moduleName), "redux-storage"),
104
+ reduxPersistStorage: {}
105
+ };
106
+ const keyValueStorageFactory = (await storageModuleStore.default({
107
+ ...props,
108
+ loadModules: () => {
109
+ throw new Error("Storage module \"store\" cannot load other modules");
110
+ }
111
+ }, dependencies)).sideEffectDependencies?.createKeyValueStorage;
112
+ if (!keyValueStorageFactory) throw new Error(`Module '${storageModule.moduleName}' must implement 'createKeyValueStorage' in store sideEffectDependencies`);
113
+ return keyValueStorageFactory;
114
+ };
115
+ //#endregion
116
+ //#region ../../packages/contract/module/src/create-store.ts
117
+ const SERIALIZABLE_CHECK_WARN_AFTER_MS = 128;
118
+ const IMMUTABLE_CHECK_WARN_AFTER_MS = 256;
119
+ const createActionObservables = (action$, actions) => {
120
+ return Object.fromEntries(Object.entries(actions).map(([scope, actionCreators]) => [scope, Object.fromEntries(Object.entries(actionCreators).map(([actionCreatorName, actionCreator]) => [`${actionCreatorName}$`, action$.pipe(filter(isAnyOf(actionCreator)), share())]))]));
121
+ };
122
+ /**
123
+ * Maps scoped selectors to observables of the state, keyed `<selectorName>$`.
124
+ * A parameterized selector yields a function of its parameter instead of a
125
+ * value. Each observable emits on change and replays its latest value.
126
+ */
127
+ const createStateObservables = (state$, selectors) => {
128
+ return Object.fromEntries(Object.entries(selectors).map(([scope, selectors]) => [scope, Object.fromEntries(Object.entries(selectors).map(([selectorName, selector]) => {
129
+ const selectorFunction = selector;
130
+ return [`${selectorName}$`, state$.pipe(map((state) => {
131
+ if (selectorFunction[IS_PARAMETERIZED] === true) return (parameter) => selectorFunction(state, parameter);
132
+ if (selectorFunction.length > 1) return (parameter) => selectorFunction(state, parameter);
133
+ return selectorFunction(state);
134
+ }), distinctUntilChanged(), shareReplay(1))];
135
+ }))]));
136
+ };
137
+ const rehydrateStore = async (store) => new Promise((resolve) => {
138
+ const persistor = persistStore(store, null, () => {
139
+ resolve(persistor);
140
+ });
141
+ });
142
+ const mergeStoreExports = (storeExports, getter) => merge$1({}, ...storeExports.map(getter).filter(isNotNil));
143
+ /**
144
+ * Builds the app's Redux store from every loaded module store: combines their
145
+ * reducers, middleware and side effects, rehydrates persisted slices, and
146
+ * starts the side effects.
147
+ */
148
+ const createStore = async (createStoreProps, createStoreDependencies) => {
149
+ const { loadModules, runtime, lastEnhancer } = createStoreProps;
150
+ const { logger, reduxPersistStorage, sideEffectDependenciesOverride } = createStoreDependencies;
151
+ const stores = await loadModules("store");
152
+ const storeExports = await Promise.all(stores.map(async (s) => s.load().then(async (module) => module.default(createStoreProps, createStoreDependencies))));
153
+ const selectors = stores.map((s) => s.context.selectors).filter((selectors) => !!selectors).reduce(Object.assign, {});
154
+ const actions = stores.map((s) => s.context.actions).reduce(Object.assign, {});
155
+ const persistConfigs = mergeStoreExports(storeExports, (s) => s.persistConfig);
156
+ const preloadedState = mergeStoreExports(storeExports, (s) => s.preloadedState);
157
+ const reducer = combineReducers(Object.assign({}, ...storeExports.map((m) => m.reducers ? Object.fromEntries(Object.entries(m.reducers).map(([key, reducer]) => [key, key in persistConfigs ? persistReducer({
158
+ key,
159
+ storage: reduxPersistStorage,
160
+ ...persistConfigs[key]
161
+ }, reducer) : reducer])) : void 0)));
162
+ const initialState = reducer(void 0, { type: "@@lace/initial-state-snapshot" });
163
+ const toEpic = (sideEffect) => (action$, state$, dependencies) => sideEffect(createActionObservables(action$, actions), createStateObservables(state$, selectors), dependencies).pipe(createStoreProps.noEpicDelay ? (a) => a : delay(0));
164
+ let actionObservables;
165
+ let stateObservables;
166
+ let state$ = null;
167
+ const captureObservables = (actions, state) => {
168
+ actionObservables = actions;
169
+ stateObservables = state;
170
+ return NEVER;
171
+ };
172
+ const rootEpic = combineEpics(...[...storeExports.flatMap(({ sideEffects }) => sideEffects).filter(isNotNil), captureObservables].map(toEpic), (_, stateObservable$) => {
173
+ state$ = stateObservable$;
174
+ return NEVER;
175
+ });
176
+ let persistor;
177
+ const defaultDependencies = {
178
+ actions,
179
+ selectors,
180
+ createKeyValueStorage: () => {
181
+ throw new Error("This must be overridden by storage module");
182
+ },
183
+ __getState: () => {
184
+ if (!state$) throw new Error("__getState() is not available during SideEffect initialization");
185
+ return state$.value;
186
+ },
187
+ flushPersistedState: () => from(persistor?.flush() ?? Promise.resolve()),
188
+ runtime,
189
+ logger,
190
+ loadModules
191
+ };
192
+ const epicMiddleware = createEpicMiddleware({ dependencies: Object.assign(defaultDependencies, ...storeExports.map(({ sideEffectDependencies }) => sideEffectDependencies), sideEffectDependenciesOverride ?? {}) });
193
+ const middleware = storeExports.map(({ middleware }) => middleware).filter(isNotNil).flat();
194
+ const store = configureStore({
195
+ reducer,
196
+ preloadedState,
197
+ devTools: createStoreProps.devTools || false,
198
+ middleware: (getDefaultMiddleware) => getDefaultMiddleware({
199
+ immutableCheck: { warnAfter: IMMUTABLE_CHECK_WARN_AFTER_MS },
200
+ serializableCheck: {
201
+ ignoredActions: [
202
+ "accountManagement/attemptAddAccount",
203
+ "accountManagement/attemptAddInMemoryWalletAccount",
204
+ "txExecutor/tx-phase-completed",
205
+ "sendFlow/processingResulted",
206
+ "cardanoContext/setProtocolParameters",
207
+ "cardanoContext/setEraSummaries",
208
+ "cardanoContext/setStakePoolsData",
209
+ "cardanoContext/setAccountUtxos",
210
+ FLUSH,
211
+ REHYDRATE,
212
+ PAUSE,
213
+ PERSIST,
214
+ PURGE,
215
+ REGISTER
216
+ ],
217
+ warnAfter: SERIALIZABLE_CHECK_WARN_AFTER_MS
218
+ }
219
+ }),
220
+ enhancers: (getDefaultEnhancers) => {
221
+ const enhancers = getDefaultEnhancers().prepend([applyMiddleware(...middleware, epicMiddleware)]);
222
+ if (lastEnhancer) return enhancers.concat(lastEnhancer);
223
+ return enhancers;
224
+ }
225
+ });
226
+ if (Object.keys(persistConfigs)) persistor = await rehydrateStore(store);
227
+ const epicTeardown$ = new Subject();
228
+ epicMiddleware.run((...args) => rootEpic(...args).pipe(takeUntil(epicTeardown$)));
229
+ return {
230
+ store,
231
+ initialState,
232
+ teardown: () => {
233
+ epicTeardown$.next();
234
+ epicTeardown$.complete();
235
+ },
236
+ actionObservables,
237
+ stateObservables
238
+ };
239
+ };
240
+ //#endregion
241
+ //#region ../../packages/contract/module/src/create-module-loader.ts
242
+ const isStoreContract = (contract) => contract.contractType === "store";
243
+ /**
244
+ * Builds the single module formed by applying, once each, the mixins of every
245
+ * store contract the given modules implement or depend on as `zero-or-more`.
246
+ */
247
+ const reduceMixinsModule = (modules) => {
248
+ return uniq(modules.flatMap((laceModule) => [...laceModule.implements.contracts, ...laceModule.dependsOn?.contracts.filter(({ instance }) => instance === "zero-or-more") || []])).filter(isStoreContract).map(({ mixin }) => mixin).filter(isNotNil).reduce((laceModule, mixin) => mixin(laceModule), {});
249
+ };
250
+ const parseLoadableKey = (loadableKey) => loadableKey.split(".");
251
+ const moduleOrAddonExport = (m, key) => {
252
+ const [moduleKey, addonKey] = parseLoadableKey(key);
253
+ const moduleValue = m[moduleKey];
254
+ if (addonKey) {
255
+ if (typeof moduleValue !== "object") return;
256
+ return moduleValue[addonKey];
257
+ }
258
+ return moduleValue;
259
+ };
260
+ /**
261
+ * Creates a {@link ModuleLoader} over the given modules and their contract
262
+ * mixins. Each loaded initializer receives the shared dependencies, a logger
263
+ * scoped to its module and key, and a nested loader of its own.
264
+ */
265
+ const createModuleLoader = (props, { logger, ...rest }) => {
266
+ const { modules } = props;
267
+ const loadModule = async (m, key) => {
268
+ if (!m) return;
269
+ const dependencies = {
270
+ ...rest,
271
+ logger: contextLogger(contextLogger(logger, m.moduleName), key.replace("load", ""))
272
+ };
273
+ const exportValue = moduleOrAddonExport(m, key);
274
+ if (typeof exportValue === "function") {
275
+ const defaultExport = (await exportValue()).default;
276
+ if (typeof defaultExport === "function") return defaultExport({
277
+ ...props,
278
+ loadModules: createModuleLoader(props, dependencies)
279
+ }, dependencies);
280
+ return defaultExport;
281
+ } else return exportValue;
282
+ };
283
+ const mixinsAndModules = [reduceMixinsModule(modules), ...modules];
284
+ return async (key) => {
285
+ return (await Promise.all(mixinsAndModules.map(async (m) => loadModule(m, key)))).filter(isNotNil);
286
+ };
287
+ };
288
+ //#endregion
289
+ //#region ../../packages/contract/module/src/value-objects/module-name.vo.ts
290
+ /** Types a string as a module's name, the `moduleName` it declares. It checks nothing. */
291
+ const ModuleName = (moduleName) => moduleName;
292
+ //#endregion
293
+ //#region ../../packages/contract/module/src/value-objects/contract-name.vo.ts
294
+ /** Types a string as a contract's name. It checks nothing. */
295
+ const ContractName = (moduleKind) => moduleKind;
296
+ //#endregion
297
+ //#region ../../packages/contract/module/src/util-mixin.ts
298
+ /**
299
+ * Combines a module's store with a contract mixin's store. Reducers,
300
+ * middleware, side effects, persist config, preloaded state, selectors and
301
+ * actions of both are merged; the mixin's entries win on a key clash.
302
+ */
303
+ const combineStore = (module, mixinStore) => {
304
+ const combinedStoreInit = (mixinStoreInit, moduleStoreInit) => async (props, dependencies) => {
305
+ const loadedModuleStore = await moduleStoreInit?.default(props, dependencies);
306
+ const loadedMixinStore = await mixinStoreInit.default(props, dependencies);
307
+ return {
308
+ middleware: uniq([...loadedModuleStore?.middleware || [], ...loadedMixinStore.middleware || []]),
309
+ reducers: {
310
+ ...loadedModuleStore?.reducers,
311
+ ...loadedMixinStore.reducers
312
+ },
313
+ persistConfig: {
314
+ ...loadedModuleStore?.persistConfig,
315
+ ...loadedMixinStore.persistConfig
316
+ },
317
+ preloadedState: {
318
+ ...loadedModuleStore?.preloadedState,
319
+ ...loadedMixinStore.preloadedState
320
+ },
321
+ sideEffectDependencies: {
322
+ ...loadedModuleStore?.sideEffectDependencies,
323
+ ...loadedMixinStore.sideEffectDependencies
324
+ },
325
+ sideEffects: uniq([...loadedModuleStore?.sideEffects || [], ...loadedMixinStore.sideEffects || []])
326
+ };
327
+ };
328
+ return {
329
+ load: async () => {
330
+ const moduleStoreInit = await module.store?.load();
331
+ return { default: combinedStoreInit(await mixinStore.load(), moduleStoreInit) };
332
+ },
333
+ context: {
334
+ actions: {
335
+ ...module.store?.context.actions,
336
+ ...mixinStore.context.actions
337
+ },
338
+ selectors: Object.assign({}, module.store?.context.selectors, mixinStore.context.selectors)
339
+ }
340
+ };
341
+ };
342
+ /**
343
+ * Creates a contract mixin: a function that patches every module implementing
344
+ * the contract with the properties `patchModule` returns.
345
+ */
346
+ const createMixin = (patchModule) => (laceModule) => ({
347
+ ...laceModule,
348
+ addons: laceModule.addons || {},
349
+ ...patchModule(laceModule)
350
+ });
351
+ //#endregion
352
+ //#region ../../packages/contract/storage/src/contract.ts
353
+ /**
354
+ * The contract a storage module implements: it gives every module's side
355
+ * effects `createDocumentStorage` and `createCollectionStorage`, backed by
356
+ * the platform's storage. A wallet loads one storage module; with two,
357
+ * `createLaceWallet` fails with `MultipleImplementationsError`.
358
+ */
359
+ const storageDependencyContract = inferContractContext({
360
+ contractType: "sideEffectDependency",
361
+ name: ContractName("storage-dependency"),
362
+ instance: "exactly-one"
363
+ });
364
+ //#endregion
365
+ //#region ../../packages/contract/feature/src/store/index.ts
366
+ var store_default$14 = inferStoreContext({
367
+ load: async () => import("./init-BSP_xcpB.js"),
368
+ context: {
369
+ actions: featuresActions,
370
+ selectors: featuresSelectors
371
+ }
372
+ });
373
+ //#endregion
374
+ //#region ../../packages/contract/feature/src/contract.ts
375
+ const featureDependencyContract = inferContractContext({
376
+ contractType: "sideEffectDependency",
377
+ name: ContractName("feature-dependency"),
378
+ instance: "exactly-one"
379
+ });
380
+ inferContractContext({
381
+ contractType: "sideEffectDependency",
382
+ name: ContractName("feature-flag-refresh-trigger-dependency"),
383
+ instance: "exactly-one"
384
+ });
385
+ const featureStoreContract = inferContractContext({
386
+ contractType: "store",
387
+ name: ContractName("feature-store"),
388
+ instance: "exactly-one",
389
+ dependsOn: combineContracts([storageDependencyContract]),
390
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$14) }))
391
+ });
392
+ //#endregion
393
+ //#region ../../packages/contract/analytics/src/store/index.ts
394
+ var store_default$13 = inferStoreContext({
395
+ load: async () => import("./init-IBnizp1U.js"),
396
+ context: {
397
+ actions: analyticsActions,
398
+ selectors: analyticsSelectors
399
+ }
400
+ });
401
+ //#endregion
402
+ //#region ../../packages/contract/analytics/src/contract.ts
403
+ const analyticsProviderDependencyContract = inferContractContext({
404
+ contractType: "sideEffectDependency",
405
+ name: ContractName("analytics-provider-dependency"),
406
+ instance: "exactly-one"
407
+ });
408
+ const analyticsStoreContract = inferContractContext({
409
+ contractType: "store",
410
+ name: ContractName("analytics-store"),
411
+ instance: "exactly-one",
412
+ dependsOn: combineContracts([analyticsProviderDependencyContract, featureStoreContract]),
413
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$13) }))
414
+ });
415
+ //#endregion
416
+ //#region ../../packages/contract/failures/src/contract.ts
417
+ const failuresStoreContract = inferContractContext({
418
+ name: ContractName("failures-store"),
419
+ contractType: "store",
420
+ instance: "exactly-one",
421
+ dependsOn: combineContracts([analyticsStoreContract]),
422
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$16) }))
423
+ });
424
+ //#endregion
425
+ //#region ../../packages/contract/network/src/store/index.ts
426
+ var store_default$12 = inferStoreContext({
427
+ load: async () => import("./init-BSd7mznK.js"),
428
+ context: {
429
+ actions: networkActions,
430
+ selectors: networkSelectors
431
+ }
432
+ });
433
+ //#endregion
434
+ //#region ../../packages/contract/network/src/contract.ts
435
+ const networkStoreContract = inferContractContext({
436
+ name: ContractName("network-store"),
437
+ contractType: "store",
438
+ instance: "exactly-one",
439
+ dependsOn: combineContracts([featureStoreContract]),
440
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$12) }))
441
+ });
442
+ //#endregion
443
+ //#region ../../packages/contract/wallet-repo/src/store/index.ts
444
+ var store_default$11 = inferStoreContext({
445
+ load: async () => import("./init-DgzRsI-C.js"),
446
+ context: {
447
+ actions: walletsActions,
448
+ selectors: walletsSelectors
449
+ }
450
+ });
451
+ //#endregion
452
+ //#region ../../packages/contract/wallet-repo/src/contract.ts
453
+ /**
454
+ * Store contract for the wallet repository: the persisted `wallets` state
455
+ * holding every wallet, its accounts and the active account. Exactly one
456
+ * module provides it; it depends on the network store.
457
+ */
458
+ const walletRepoStoreContract = inferContractContext({
459
+ contractType: "store",
460
+ name: ContractName("wallet-repo-store"),
461
+ instance: "exactly-one",
462
+ dependsOn: combineContracts([networkStoreContract]),
463
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$11) }))
464
+ });
465
+ inferContractContext({
466
+ name: ContractName("request-hw-connection-addon"),
467
+ instance: "exactly-one",
468
+ contractType: "addon",
469
+ provides: { addons: ["loadRequestHWConnections"] }
470
+ });
471
+ inferContractContext({
472
+ name: ContractName("search-hw-devices-addon"),
473
+ instance: "zero-or-more",
474
+ contractType: "addon",
475
+ provides: { addons: ["loadSearchHWDevices"] }
476
+ });
477
+ inferContractContext({
478
+ name: ContractName("wallet-identity-addon"),
479
+ instance: "zero-or-more",
480
+ contractType: "addon",
481
+ preloadInServiceWorker: true,
482
+ provides: { addons: ["loadWalletIdentity"] }
483
+ });
484
+ //#endregion
485
+ //#region ../../packages/contract/wallet-repo/src/wallet-type.ts
486
+ /** The kinds of wallet the wallet repository holds, by who manages their keys. */
487
+ let WalletType = /* @__PURE__ */ function(WalletType) {
488
+ /**
489
+ * Keys are held by the wallet: it stores its recovery phrase encrypted under
490
+ * the app's authentication secret, such as a password the user chooses.
491
+ * A wallet imported without its recovery phrase stores none.
492
+ */
493
+ WalletType["InMemory"] = "InMemory";
494
+ /**
495
+ * Keys, and the seed they derive from, are never stored. The wallet holds
496
+ * only public keys, and a vault module signs for it, reaching the seed for
497
+ * each signature wherever the app keeps it.
498
+ */
499
+ WalletType["LazyInMemory"] = "LazyInMemory";
500
+ /**
501
+ * Keys are managed by an external Ledger device
502
+ */
503
+ WalletType["HardwareLedger"] = "HardwareLedger";
504
+ /**
505
+ * Keys are managed by an external Trezor device
506
+ */
507
+ WalletType["HardwareTrezor"] = "HardwareTrezor";
508
+ /**
509
+ * Keys are managed by an external Cardano Seed Signer device.
510
+ * Like other hardware wallets, the wallet stores only its public keys and
511
+ * the device signs; it also stores the device master fingerprint (xfp) so
512
+ * signing requests can target the right device seed.
513
+ */
514
+ WalletType["HardwareSeedSigner"] = "HardwareSeedSigner";
515
+ /**
516
+ * Keys are managed by an external Keystone device.
517
+ * Like other hardware wallets, the wallet stores only its public keys and
518
+ * the device signs; the device communicates exclusively over QR codes and is
519
+ * identified by its BIP-32 master fingerprint (xfp) so signing requests can
520
+ * target the right device seed.
521
+ */
522
+ WalletType["HardwareKeystone"] = "HardwareKeystone";
523
+ /**
524
+ * Requires more than 1 set of keys to spend from this wallet.
525
+ * Some (or all) co-signers are other wallet (InMemory/Hardware)
526
+ * accounts from this repository.
527
+ */
528
+ WalletType["MultiSig"] = "MultiSig";
529
+ /** A Cardano script account. */
530
+ WalletType["CardanoCustody"] = "CardanoCustody";
531
+ return WalletType;
532
+ }({});
533
+ //#endregion
534
+ //#region ../../packages/contract/activities/src/store/index.ts
535
+ var store_default$10 = inferStoreContext({
536
+ load: async () => import("./init-Cu2znmIc.js"),
537
+ context: {
538
+ actions: activitiesActions,
539
+ selectors: activitiesSelectors
540
+ }
541
+ });
542
+ //#endregion
543
+ //#region ../../packages/contract/activities/src/contract.ts
544
+ const activitiesStoreContract = inferContractContext({
545
+ name: ContractName("activities-store"),
546
+ contractType: "store",
547
+ instance: "exactly-one",
548
+ dependsOn: combineContracts([failuresStoreContract]),
549
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$10) }))
550
+ });
551
+ //#endregion
552
+ //#region ../../packages/contract/addresses/src/store/index.ts
553
+ var store_default$9 = inferStoreContext({
554
+ load: async () => import("./init-BtQOzUjX.js"),
555
+ context: {
556
+ actions: addressesActions,
557
+ selectors: addressesSelectors
558
+ }
559
+ });
560
+ //#endregion
561
+ //#region ../../packages/contract/addresses/src/contract.ts
562
+ const addressesStoreContract = inferContractContext({
563
+ name: ContractName("addresses-store"),
564
+ contractType: "store",
565
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$9) })),
566
+ instance: "at-least-one"
567
+ });
568
+ inferContractContext({
569
+ name: ContractName("addresses-alias-resolver-addon"),
570
+ instance: "zero-or-more",
571
+ contractType: "addon",
572
+ preloadInServiceWorker: true,
573
+ provides: { addons: ["loadAddressAliasResolver"] }
574
+ });
575
+ //#endregion
576
+ //#region ../../packages/contract/sync/src/contract.ts
577
+ const syncStoreContract = inferContractContext({
578
+ name: ContractName("sync-store"),
579
+ contractType: "store",
580
+ instance: "at-least-one",
581
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$15) }))
582
+ });
583
+ //#endregion
584
+ //#region ../../packages/contract/tokens/src/store/index.ts
585
+ var store_default$8 = inferStoreContext({
586
+ load: async () => import("./init-w7xl6LsP.js"),
587
+ context: {
588
+ actions: tokensActions,
589
+ selectors: tokensSelectors
590
+ }
591
+ });
592
+ //#endregion
593
+ //#region ../../packages/contract/tokens/src/contract.ts
594
+ const tokensStoreContract = inferContractContext({
595
+ name: ContractName("tokens-store"),
596
+ contractType: "store",
597
+ dependsOn: combineContracts([storageDependencyContract]),
598
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$8) })),
599
+ instance: "at-least-one"
600
+ });
601
+ //#endregion
602
+ //#region ../../packages/contract/cardano-context/src/store/index.ts
603
+ var store_default$7 = inferStoreContext({
604
+ load: async () => import("./init-BUJTT0MN.js"),
605
+ context: {
606
+ actions: cardanoContextActions,
607
+ selectors: cardanoContextSelectors
608
+ }
609
+ });
610
+ //#endregion
611
+ //#region ../../packages/contract/views/src/store/index.ts
612
+ var store_default$6 = inferStoreContext({
613
+ load: async () => import("./init-DPTJohPd.js"),
614
+ context: {
615
+ actions: viewsActions,
616
+ selectors: viewsSelectors
617
+ }
618
+ });
619
+ //#endregion
620
+ //#region ../../packages/contract/views/src/ui-addon-contracts.ts
621
+ const initializeExtensionViewAddonContract = inferContractContext({
622
+ name: ContractName("initialize-extension-view-addon"),
623
+ instance: "zero-or-more",
624
+ contractType: "addon",
625
+ provides: { addons: ["loadInitializeExtensionView"] }
626
+ });
627
+ const initializeMobileViewAddonContract = inferContractContext({
628
+ name: ContractName("initialize-mobile-view-addon"),
629
+ instance: "zero-or-more",
630
+ contractType: "addon",
631
+ provides: { addons: ["loadInitializeMobileView"] }
632
+ });
633
+ const renderRootAddonContract = inferContractContext({
634
+ name: ContractName("render-root-addon"),
635
+ instance: "zero-or-more",
636
+ contractType: "addon",
637
+ provides: { addons: ["renderRoot"] }
638
+ });
639
+ const stackPagesAddonContract = inferContractContext({
640
+ name: ContractName("stack-pages-addon"),
641
+ instance: "zero-or-more",
642
+ contractType: "addon",
643
+ provides: { addons: ["loadStackPages"] }
644
+ });
645
+ const tabPagesAddonContract = inferContractContext({
646
+ name: ContractName("tab-pages-addon"),
647
+ instance: "zero-or-more",
648
+ contractType: "addon",
649
+ provides: { addons: ["loadTabPages"] }
650
+ });
651
+ inferContractContext({
652
+ name: ContractName("global-overlays-addon"),
653
+ instance: "zero-or-more",
654
+ contractType: "addon",
655
+ provides: { addons: ["loadGlobalOverlays"] }
656
+ });
657
+ const sheetPagesAddonContract = inferContractContext({
658
+ name: ContractName("sheet-pages-addon"),
659
+ instance: "zero-or-more",
660
+ contractType: "addon",
661
+ provides: { addons: ["loadSheetPages"] }
662
+ });
663
+ inferContractContext({
664
+ name: ContractName("load-deep-links-addon"),
665
+ instance: "exactly-one",
666
+ contractType: "addon",
667
+ provides: { addons: ["loadMobileDeepLinks"] }
668
+ });
669
+ //#endregion
670
+ //#region ../../packages/contract/views/src/ui-addon-dependencies.ts
671
+ /**
672
+ * The UI addon contracts the views store depends on, in its dependency
673
+ * order.
674
+ */
675
+ const viewsUiAddonDependencies = [
676
+ initializeExtensionViewAddonContract,
677
+ initializeMobileViewAddonContract,
678
+ tabPagesAddonContract,
679
+ stackPagesAddonContract,
680
+ renderRootAddonContract,
681
+ sheetPagesAddonContract
682
+ ];
683
+ //#endregion
684
+ //#region ../../packages/contract/views/src/contract.ts
685
+ const viewsStoreContract = inferContractContext({
686
+ name: ContractName("views-store"),
687
+ instance: "exactly-one",
688
+ contractType: "store",
689
+ dependsOn: combineContracts([analyticsStoreContract, ...viewsUiAddonDependencies]),
690
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$6) }))
691
+ });
692
+ /** Direct import of this is an anti-pattern. OK for tests. */
693
+ const appActions = { app: { reloadApplication: createAction("app/reloadApplication") } };
694
+ const uiActions = { ui: {
695
+ showToast: createAction("ui/showToast"),
696
+ hideToast: createAction("ui/hideToast")
697
+ } };
698
+ //#endregion
699
+ //#region ../../packages/contract/app/src/store/index.ts
700
+ var store_default$5 = inferStoreContext({
701
+ load: async () => import("./init-B-ppfGO-.js"),
702
+ context: { actions: {
703
+ ...appActions,
704
+ ...uiActions
705
+ } }
706
+ });
707
+ inferContractContext({
708
+ name: ContractName("profile-dropdown-wallets-addon"),
709
+ contractType: "addon",
710
+ instance: "zero-or-more",
711
+ provides: { addons: ["loadProfileDropdownWalletsUICustomisations", "loadProfileDropdownMenuItemUICustomisations"] }
712
+ });
713
+ inferContractContext({
714
+ name: ContractName("blockchain-specific-app-customizations-addon"),
715
+ instance: "zero-or-more",
716
+ contractType: "addon",
717
+ provides: { addons: [
718
+ "loadAccountUICustomisations",
719
+ "loadReceiveSheetAddressDataCustomisations",
720
+ "loadTokenDetailsUICustomisations",
721
+ "loadPortfolioBannerUICustomisations",
722
+ "loadAboutPageUICustomisations"
723
+ ] }
724
+ });
725
+ inferContractContext({
726
+ name: ContractName("token-details-ui-customisations-addon"),
727
+ instance: "zero-or-more",
728
+ contractType: "addon",
729
+ provides: { addons: ["loadTokenDetailsUICustomisations"] }
730
+ });
731
+ inferContractContext({
732
+ name: ContractName("portfolio-announcements-addon"),
733
+ instance: "zero-or-more",
734
+ contractType: "addon",
735
+ provides: { addons: ["loadPortfolioAnnouncements"] }
736
+ });
737
+ inferContractContext({
738
+ name: ContractName("blockchain-specific-app-settings-page-customizations-addon"),
739
+ instance: "zero-or-more",
740
+ contractType: "addon",
741
+ provides: { addons: ["loadSettingsPageUICustomisations"] }
742
+ });
743
+ inferContractContext({
744
+ name: ContractName("dialogs-addon"),
745
+ instance: "zero-or-more",
746
+ contractType: "addon",
747
+ provides: { addons: ["loadDialogs"] }
748
+ });
749
+ inferContractContext({
750
+ name: ContractName("account-ui-customisation-addon"),
751
+ instance: "zero-or-more",
752
+ contractType: "addon",
753
+ provides: { addons: ["loadAccountUICustomisations"] }
754
+ });
755
+ inferContractContext({
756
+ name: ContractName("send-flow-sheet-ui-customisation-addon"),
757
+ instance: "zero-or-more",
758
+ contractType: "addon",
759
+ provides: { addons: ["loadSendFlowSheetUICustomisations"] }
760
+ });
761
+ //#endregion
762
+ //#region ../../packages/contract/app/src/ui-addon-dependencies.ts
763
+ /**
764
+ * The UI addon contracts the app store depends on, in its dependency
765
+ * order.
766
+ */
767
+ const appUiAddonDependencies = [
768
+ inferContractContext({
769
+ name: ContractName("app-context-initialization-addon"),
770
+ instance: "zero-or-more",
771
+ contractType: "addon",
772
+ preloadInServiceWorker: true,
773
+ provides: { addons: ["loadInitializeAppContext"] }
774
+ }),
775
+ inferContractContext({
776
+ name: ContractName("app-menu-items-addon"),
777
+ instance: "zero-or-more",
778
+ contractType: "addon",
779
+ provides: { addons: ["loadAppMenuItems"] }
780
+ }),
781
+ inferContractContext({
782
+ name: ContractName("tab-menu-items-addon"),
783
+ instance: "zero-or-more",
784
+ contractType: "addon",
785
+ provides: { addons: ["loadTabMenuItems"] }
786
+ })
787
+ ];
788
+ //#endregion
789
+ //#region ../../packages/contract/app/src/contract.ts
790
+ const performAppReloadDependencyContract = inferContractContext({
791
+ contractType: "sideEffectDependency",
792
+ name: ContractName("perform-app-reload-dependency"),
793
+ instance: "exactly-one"
794
+ });
795
+ const appStoreContract = inferContractContext({
796
+ name: ContractName("app-store"),
797
+ instance: "exactly-one",
798
+ contractType: "store",
799
+ dependsOn: combineContracts([
800
+ viewsStoreContract,
801
+ ...appUiAddonDependencies,
802
+ analyticsStoreContract,
803
+ featureStoreContract,
804
+ tokensStoreContract,
805
+ performAppReloadDependencyContract
806
+ ]),
807
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$5) }))
808
+ });
809
+ //#endregion
810
+ //#region ../../packages/contract/app/src/utils.ts
811
+ const runInitializers = async (initializers) => Promise.all(initializers.map(async (initializer) => initializer()));
812
+ //#endregion
813
+ //#region ../../packages/contract/wallet-active-state/src/contract.ts
814
+ const walletActiveStateDependencyContract = inferContractContext({
815
+ contractType: "sideEffectDependency",
816
+ name: ContractName("wallet-active-state-dependency"),
817
+ instance: "exactly-one"
818
+ });
819
+ //#endregion
820
+ //#region ../../packages/contract/cardano-context/src/contract.ts
821
+ const cardanoProviderDependencyContract = inferContractContext({
822
+ contractType: "sideEffectDependency",
823
+ name: ContractName("cardano-provider-dependency"),
824
+ instance: "exactly-one"
825
+ });
826
+ const cardanoInMemorySigningDependencyContract = inferContractContext({
827
+ contractType: "sideEffectDependency",
828
+ name: ContractName("cardano-in-memory-signing-dependency"),
829
+ instance: "exactly-one"
830
+ });
831
+ /**
832
+ * Implementor must provide sideEffectDependencies (CardanoProviderDependencies)
833
+ */
834
+ const cardanoProviderStoreContract = inferContractContext({
835
+ name: ContractName("cardano-provider-store"),
836
+ instance: "exactly-one",
837
+ contractType: "store",
838
+ dependsOn: combineContracts([
839
+ networkStoreContract,
840
+ activitiesStoreContract,
841
+ addressesStoreContract,
842
+ appStoreContract,
843
+ tokensStoreContract,
844
+ walletActiveStateDependencyContract,
845
+ walletRepoStoreContract,
846
+ cardanoProviderDependencyContract,
847
+ syncStoreContract,
848
+ failuresStoreContract,
849
+ analyticsStoreContract,
850
+ featureStoreContract
851
+ ]),
852
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$7) }))
853
+ });
854
+ const delegationTxBuilderAddonContract = inferContractContext({
855
+ name: ContractName("delegation-tx-builder-addon"),
856
+ instance: "at-least-one",
857
+ contractType: "addon",
858
+ preloadInServiceWorker: true,
859
+ provides: { addons: ["loadDelegationTxBuilder"] }
860
+ });
861
+ const deregistrationTxBuilderAddonContract = inferContractContext({
862
+ name: ContractName("deregistration-tx-builder-addon"),
863
+ instance: "at-least-one",
864
+ contractType: "addon",
865
+ preloadInServiceWorker: true,
866
+ provides: { addons: ["loadDeregistrationTxBuilder"] }
867
+ });
868
+ const voteDelegationTxBuilderAddonContract = inferContractContext({
869
+ name: ContractName("vote-delegation-tx-builder-addon"),
870
+ instance: "at-least-one",
871
+ contractType: "addon",
872
+ preloadInServiceWorker: true,
873
+ provides: { addons: ["loadVoteDelegationTxBuilder"] }
874
+ });
875
+ const earnRewardsTxBuilderAddonContract = inferContractContext({
876
+ name: ContractName("earn-rewards-tx-builder-addon"),
877
+ instance: "at-least-one",
878
+ contractType: "addon",
879
+ preloadInServiceWorker: true,
880
+ provides: { addons: ["loadEarnRewardsTxBuilder"] }
881
+ });
882
+ //#endregion
883
+ //#region ../../packages/contract/signer/src/store/index.ts
884
+ var store_default$4 = inferStoreContext({
885
+ load: async () => import("./init-CnJAlks_.js"),
886
+ context: {
887
+ actions: {},
888
+ selectors: {}
889
+ }
890
+ });
891
+ //#endregion
892
+ //#region ../../packages/contract/signer/src/contract.ts
893
+ const signerFactoryAddonContract = inferContractContext({
894
+ name: ContractName("signer-factory-addon"),
895
+ instance: "at-least-one",
896
+ contractType: "addon",
897
+ preloadInServiceWorker: true,
898
+ provides: { addons: ["loadSignerFactory"] }
899
+ });
900
+ const signerStoreContract = inferContractContext({
901
+ name: ContractName("signer-store"),
902
+ instance: "exactly-one",
903
+ contractType: "store",
904
+ dependsOn: combineContracts([signerFactoryAddonContract]),
905
+ mixin: createMixin((laceModule) => ({ store: combineStore(laceModule, store_default$4) }))
906
+ });
907
+ //#endregion
908
+ //#region ../../packages/module/cardano-sync/src/store/index.ts
909
+ var store_default$3 = inferStoreContext({
910
+ load: async () => import("./init-TbB38KNt2.js"),
911
+ context: {
912
+ actions: {},
913
+ selectors: {}
914
+ }
915
+ });
916
+ //#endregion
917
+ //#region ../../packages/module/cardano-sync/src/module.ts
918
+ const cardanoSyncModule = inferModuleContext({
919
+ moduleName: ModuleName("cardano-sync"),
920
+ implements: combineContracts([]),
921
+ dependsOn: combineContracts([cardanoProviderStoreContract, syncStoreContract]),
922
+ store: store_default$3,
923
+ feature: {
924
+ willLoad: (featureFlags) => featureFlags.some((flag) => flag.key === FEATURE_FLAG_CARDANO),
925
+ metadata: {
926
+ name: "CardanoSync",
927
+ description: "Cardano provider-backed sync executors and round model"
928
+ }
929
+ },
930
+ addons: {}
931
+ });
932
+ //#endregion
933
+ //#region src/app-context.ts
934
+ /** Runs the app-context initializers the loaded modules provide, such as i18n. */
935
+ const initializeAppContext = async (loadModules) => {
936
+ await runInitializers(await loadModules("addons.loadInitializeAppContext"));
937
+ };
938
+ //#endregion
939
+ //#region src/base-module-store/index.ts
940
+ var base_module_store_default = inferStoreContext({
941
+ load: async () => import("./init-CHk1fvJ2.js"),
942
+ context: {
943
+ actions: {},
944
+ selectors: {}
945
+ }
946
+ });
947
+ //#endregion
948
+ //#region src/base-module.ts
949
+ /**
950
+ * SDK base module - implements the "app shell" store contracts
951
+ * that app-mobile currently provides.
952
+ *
953
+ * NOTE: app-mobile owns too many store contracts that should ideally
954
+ * be implemented by their respective domain modules (e.g., sendFlowStoreContract
955
+ * should be owned by a send-flow domain module, activitiesStoreContract by an
956
+ * activities domain module, etc.). This base module inherits that over-centralization
957
+ * for now. As contracts get properly distributed to domain modules in the future,
958
+ * this base module should shrink.
959
+ */
960
+ const implementsContracts$1 = combineContracts([
961
+ activitiesStoreContract,
962
+ analyticsStoreContract,
963
+ analyticsProviderDependencyContract,
964
+ networkStoreContract,
965
+ failuresStoreContract,
966
+ walletActiveStateDependencyContract,
967
+ walletRepoStoreContract,
968
+ signerStoreContract
969
+ ]);
970
+ const sdkBaseModule = inferModuleContext({
971
+ moduleName: ModuleName("lace-sdk-base"),
972
+ implements: implementsContracts$1,
973
+ store: base_module_store_default,
974
+ addons: {}
975
+ });
976
+ //#endregion
977
+ //#region src/cardano-app-module-store/index.ts
978
+ var cardano_app_module_store_default = inferStoreContext({
979
+ load: async () => import("./init-DtxxFaCx.js"),
980
+ context: {
981
+ actions: {},
982
+ selectors: {}
983
+ }
984
+ });
985
+ //#endregion
986
+ //#region src/cardano-app-module.ts
987
+ /**
988
+ * The key of the flag that enables Bitcoin accounts. Spelled out here rather
989
+ * than imported from the Bitcoin contract, which is canary code that neither
990
+ * the stable build nor the Cardano entry may carry (ADR 66).
991
+ */
992
+ const BITCOIN_FEATURE_FLAG_KEY = FeatureFlagKey("BLOCKCHAIN_BITCOIN");
993
+ /**
994
+ * The app-shell contracts the blockchain modules need, such as the analytics
995
+ * store that failures report to, implemented headless. `createLaceWallet`
996
+ * loads it whenever the Cardano or Bitcoin feature flag is on.
997
+ */
998
+ const sdkCardanoAppModule = inferModuleContext({
999
+ moduleName: ModuleName("lace-sdk-cardano-app"),
1000
+ implements: combineContracts([
1001
+ appStoreContract,
1002
+ viewsStoreContract,
1003
+ performAppReloadDependencyContract
1004
+ ]),
1005
+ store: cardano_app_module_store_default,
1006
+ feature: {
1007
+ willLoad: (featureFlags) => featureFlags.some((flag) => flag.key === FEATURE_FLAG_CARDANO || flag.key === BITCOIN_FEATURE_FLAG_KEY),
1008
+ metadata: {
1009
+ name: "SdkCardanoApp",
1010
+ description: "Headless app contracts of the blockchain modules"
1011
+ }
1012
+ },
1013
+ addons: {}
1014
+ });
1015
+ //#endregion
1016
+ //#region src/create-lace-wallet.ts
1017
+ const parseKey = (key) => {
1018
+ const items = key.split(".");
1019
+ if (items.length < 2) throw new Error(`Invalid key "${key}", expected format: "{scope}.{actionName}"`);
1020
+ return items;
1021
+ };
1022
+ /**
1023
+ * Creates a wallet from a set of modules. The SDK adds its own base modules,
1024
+ * keeps the modules whose feature flags are enabled, and checks that every
1025
+ * contract a module depends on is implemented, and implemented once where it
1026
+ * allows only one. It then loads the modules and returns a wallet whose
1027
+ * actions and state are typed from them.
1028
+ *
1029
+ * @param props - The modules, environment, configuration and feature flags.
1030
+ * @returns The wallet, typed from `props.modules`. Rejects with
1031
+ * `MissingContractImplementationError` or `MultipleImplementationsError` when
1032
+ * the modules do not fit together.
1033
+ */
1034
+ const createLaceWallet = async (props) => {
1035
+ const { modules, environment, config, featureFlags = [] } = props;
1036
+ const app = "lace-sdk";
1037
+ const logger = dummyLogger;
1038
+ const allModules = [
1039
+ sdkBaseModule,
1040
+ sdkCardanoAppModule,
1041
+ cardanoSyncModule,
1042
+ ...modules
1043
+ ];
1044
+ const { modulesToLoad } = selectModules(allModules, featureFlags, environment);
1045
+ const moduleInitProps = {
1046
+ modules: modulesToLoad,
1047
+ runtime: {
1048
+ app,
1049
+ env: environment,
1050
+ config,
1051
+ platform: "web",
1052
+ features: {
1053
+ availableModules: allModules,
1054
+ loaded: {
1055
+ featureFlags,
1056
+ modules: modulesToLoad.map((m) => ({
1057
+ moduleName: m.moduleName,
1058
+ feature: m.feature ? { metadata: m.feature.metadata } : void 0
1059
+ }))
1060
+ }
1061
+ }
1062
+ }
1063
+ };
1064
+ const loadModules = createModuleLoader(moduleInitProps, { logger });
1065
+ const reduxPersistStorage = createReduxPersistStorage(await findStorageModule(moduleInitProps, { logger }));
1066
+ await initializeAppContext(loadModules);
1067
+ const { store, stateObservables, actionObservables } = await createStore({
1068
+ ...moduleInitProps,
1069
+ loadModules
1070
+ }, {
1071
+ logger,
1072
+ reduxPersistStorage
1073
+ });
1074
+ const stores = await loadModules("store");
1075
+ const actions = {};
1076
+ for (const s of stores) Object.assign(actions, s.context.actions);
1077
+ const dispatch = (key, ...args) => {
1078
+ const [scope, actionCreatorName] = parseKey(key);
1079
+ const actionCreator = actions[scope]?.[actionCreatorName];
1080
+ if (!actionCreator) throw new Error(`Unknown action: ${key}`);
1081
+ store.dispatch(actionCreator(...args));
1082
+ };
1083
+ return {
1084
+ stateObservables,
1085
+ actionObservables,
1086
+ dispatch,
1087
+ getState: () => store.getState(),
1088
+ _loadModules: loadModules
1089
+ };
1090
+ };
1091
+ //#endregion
1092
+ //#region ../../packages/contract/authentication-prompt/src/value-objects/auth-secret.ts
1093
+ const AuthSecret = (authSecret) => Redacted.make(authSecret);
1094
+ const fromUTF8 = (utf8string) => AuthSecret(ByteArray.fromUTF8(utf8string));
1095
+ const fromHex = (hex) => AuthSecret(HexBytes.toByteArray(hex));
1096
+ AuthSecret.fromUTF8 = fromUTF8;
1097
+ AuthSecret.fromHex = fromHex;
1098
+ //#endregion
1099
+ //#region ../../packages/contract/in-memory/src/contract.ts
1100
+ const inMemoryIntegrationAddonContract = inferContractContext({
1101
+ name: ContractName("in-memory-integration-addon"),
1102
+ instance: "at-least-one",
1103
+ contractType: "addon",
1104
+ preloadInServiceWorker: true,
1105
+ provides: { addons: ["loadInMemoryWalletIntegration"] }
1106
+ });
1107
+ //#endregion
1108
+ //#region ../../packages/contract/onboarding-v2/src/store/wallet-creation/wallet-entity.ts
1109
+ /**
1110
+ * Factory for creating in-memory wallet entities.
1111
+ *
1112
+ * With `password`: encrypts the recovery phrase and returns an
1113
+ * {@link InMemoryWallet}. Without `password`: persists no seed material and
1114
+ * returns a {@link LazyInMemoryWallet} — signing relies on an external module
1115
+ * re-supplying the mnemonic on demand.
1116
+ */
1117
+ const createInMemoryWalletEntityFactory = ({ integrations, logger }) => {
1118
+ const create = async ({ walletName, blockchains, password, order, recoveryPhrase }) => {
1119
+ const walletId = WalletId.deriveFromMnemonic(recoveryPhrase);
1120
+ const integrationResults = await Promise.all(integrations.filter(({ blockchainName }) => blockchains.includes(blockchainName)).map(async (integration) => integration.initializeWallet({
1121
+ recoveryPhrase,
1122
+ walletId,
1123
+ order,
1124
+ walletName,
1125
+ password
1126
+ }, { logger }).then((result) => ({
1127
+ ...result,
1128
+ blockchainName: integration.blockchainName
1129
+ }))));
1130
+ const blockchainSpecific = integrationResults.map(({ blockchainName, blockchainSpecificWalletData }) => ({ [blockchainName]: blockchainSpecificWalletData })).reduce((accumulator, value) => ({
1131
+ ...accumulator,
1132
+ ...value
1133
+ }), {});
1134
+ const accounts = integrationResults.flatMap(({ accounts }) => accounts);
1135
+ if (!password) return {
1136
+ accounts,
1137
+ blockchainSpecific,
1138
+ metadata: {
1139
+ name: walletName,
1140
+ order
1141
+ },
1142
+ type: WalletType.LazyInMemory,
1143
+ walletId
1144
+ };
1145
+ return {
1146
+ accounts,
1147
+ blockchainSpecific,
1148
+ encryptedRecoveryPhrase: await encryptRecoveryPhrase(recoveryPhrase, password),
1149
+ isPassphraseConfirmed: false,
1150
+ metadata: {
1151
+ name: walletName,
1152
+ order
1153
+ },
1154
+ type: WalletType.InMemory,
1155
+ walletId
1156
+ };
1157
+ };
1158
+ return create;
1159
+ };
1160
+ //#endregion
1161
+ //#region src/create-in-memory-wallet-entity.ts
1162
+ async function createInMemoryWalletEntity(wallet, props) {
1163
+ return createEntity(wallet, props);
1164
+ }
1165
+ async function createBlockchainWalletEntity(wallet, blockchainName, props) {
1166
+ return createEntity(wallet, props, blockchainName);
1167
+ }
1168
+ const createEntity = async (wallet, props, blockchainName) => {
1169
+ const { mnemonicWords, password: rawPassword, walletName, order = 0 } = props;
1170
+ const password = rawPassword ? AuthSecret(ByteArray(rawPassword)) : void 0;
1171
+ const integrations = (await wallet._loadModules("addons.loadInMemoryWalletIntegration")).filter((integration) => !blockchainName || integration.blockchainName === blockchainName);
1172
+ return createInMemoryWalletEntityFactory({
1173
+ integrations,
1174
+ logger: dummyLogger
1175
+ })({
1176
+ blockchains: integrations.map((integration) => integration.blockchainName),
1177
+ order,
1178
+ password,
1179
+ recoveryPhrase: mnemonicWords,
1180
+ walletName
1181
+ });
1182
+ };
1183
+ //#endregion
1184
+ //#region ../../packages/module/feature-dev/src/sdk-contracts.ts
1185
+ const implementsContracts = combineContracts([featureStoreContract, featureDependencyContract]);
1186
+ var store_default$2 = inferStoreContext({
1187
+ load: async () => import("./init-CCTscPaY2.js"),
1188
+ context: {
1189
+ actions: { featureDev: { setFeatureFlags } },
1190
+ selectors: {}
1191
+ }
1192
+ });
1193
+ //#endregion
1194
+ //#region ../../packages/module/feature-dev/src/sdk.ts
1195
+ /**
1196
+ * Feature flags the app sets: the wallet starts with the flags passed to
1197
+ * `createLaceWallet`, and dispatching `featureDev.setFeatureFlags` replaces
1198
+ * them.
1199
+ */
1200
+ var sdk_default$2 = inferModuleContext({
1201
+ moduleName: ModuleName("feature-dev"),
1202
+ implements: implementsContracts,
1203
+ store: store_default$2,
1204
+ addons: {}
1205
+ });
1206
+ //#endregion
1207
+ //#region ../../packages/module/storage-in-memory/src/store/index.ts
1208
+ var store_default$1 = inferStoreContext({
1209
+ load: async () => import("./init-DIyNx6DZ.js"),
1210
+ context: {
1211
+ actions: {},
1212
+ selectors: {}
1213
+ }
1214
+ });
1215
+ //#endregion
1216
+ //#region ../../packages/module/storage-in-memory/src/sdk.ts
1217
+ /**
1218
+ * In-memory storage: the wallet's persisted state lasts as long as the
1219
+ * process.
1220
+ */
1221
+ var sdk_default$1 = inferModuleContext({
1222
+ moduleName: ModuleName("storage-in-memory"),
1223
+ implements: combineContracts([storageDependencyContract]),
1224
+ store: store_default$1,
1225
+ addons: {}
1226
+ });
1227
+ //#endregion
1228
+ //#region ../../packages/module/storage-web-indexeddb/src/store/index.ts
1229
+ var store_default = inferStoreContext({
1230
+ load: async () => import("./init-Bilqsbng.js"),
1231
+ context: {
1232
+ actions: {},
1233
+ selectors: {}
1234
+ }
1235
+ });
1236
+ //#endregion
1237
+ //#region ../../packages/module/storage-web-indexeddb/src/sdk.ts
1238
+ /**
1239
+ * Browser storage in IndexedDB: the wallet's persisted state lasts across
1240
+ * page loads and sessions.
1241
+ */
1242
+ var sdk_default = inferModuleContext({
1243
+ moduleName: ModuleName("storage-web-indexeddb"),
1244
+ implements: combineContracts([storageDependencyContract]),
1245
+ store: store_default,
1246
+ addons: {}
1247
+ });
1248
+ //#endregion
1249
+ export { ContractName as A, walletRepoStoreContract as C, storageDependencyContract as D, featureStoreContract as E, WalletId as M, combineStore as O, WalletType as S, failuresStoreContract as T, walletActiveStateDependencyContract as _, createInMemoryWalletEntity as a, addressesStoreContract as b, createLaceWallet as c, cardanoProviderDependencyContract as d, cardanoProviderStoreContract as f, voteDelegationTxBuilderAddonContract as g, earnRewardsTxBuilderAddonContract as h, createBlockchainWalletEntity as i, ModuleName as j, createMixin as k, signerFactoryAddonContract as l, deregistrationTxBuilderAddonContract as m, sdk_default$1 as n, inMemoryIntegrationAddonContract as o, delegationTxBuilderAddonContract as p, sdk_default$2 as r, AuthSecret as s, sdk_default as t, cardanoInMemorySigningDependencyContract as u, tokensStoreContract as v, networkStoreContract as w, activitiesStoreContract as x, syncStoreContract as y };