@laceio/sdk 0.1.0 → 0.1.1-canary.1

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 (411) hide show
  1. package/README.md +1 -1
  2. package/dist/{Ed25519PublicKey-lvu1s54U.cjs → Address-AMKTo-dA.cjs} +17150 -61
  3. package/dist/{Ed25519PublicKey-CjnuAYRR.js → Address-_c_-9hLC.js} +16955 -264
  4. package/dist/{Bip32Account-r3KAhCgU.js → Bip32Account-CaW1zC9Y.js} +4 -5
  5. package/dist/{Bip32Account-Cz3h0ZUa.cjs → Bip32Account-DOaGmKpv.cjs} +4 -5
  6. package/dist/Cardano-B-gyqBBD.js +311 -0
  7. package/dist/Cardano-BQ_af0Y3.cjs +322 -0
  8. package/dist/Ed25519PublicKey-B3QcR0J2.cjs +88 -0
  9. package/dist/Ed25519PublicKey-DIE19xHg.js +83 -0
  10. package/dist/InMemoryKeyAgent-Bc_xZY-v.cjs +652 -0
  11. package/dist/InMemoryKeyAgent-D8T3vtXy.js +631 -0
  12. package/dist/{PaymentAddress-DhbtuYb7.cjs → PaymentAddress-B4n1KZMx.cjs} +1 -2
  13. package/dist/{PaymentAddress-xSmGUQ-8.js → PaymentAddress-Cml3EA1n.js} +1 -2
  14. package/dist/Percent-Cfuw5YyL.cjs +11 -0
  15. package/dist/Percent-DpvyJ_93.js +5 -0
  16. package/dist/SodiumBip32Ed25519-BaD-kjyx.cjs +380 -0
  17. package/dist/SodiumBip32Ed25519-DCikAMsl.js +363 -0
  18. package/dist/{TransactionBuilder-CeJTNzm-.cjs → TransactionBuilder-BakTJvsJ.cjs} +59 -89
  19. package/dist/{TransactionBuilder-DGNDM4kt.js → TransactionBuilder-D2ErwVWv.js} +5 -71
  20. package/dist/_md-6zV2Cme0.cjs +684 -0
  21. package/dist/_md-gbUqlhqd.js +399 -0
  22. package/dist/_web-crypto-random-bytes-BvzwTYPG.js +197 -0
  23. package/dist/acc-module-NL_8mEHH.cjs +27654 -0
  24. package/dist/acc-module-ur8CkBd1.js +27624 -0
  25. package/dist/account-call-BDdWqMAY.js +267 -0
  26. package/dist/account-call-BExOpZoo.js +3 -0
  27. package/dist/account-call-CYYoAS1E.cjs +314 -0
  28. package/dist/account-call-Cvj7viaq.cjs +4 -0
  29. package/dist/account-guards-BeKbV9D1.cjs +41 -0
  30. package/dist/account-guards-qnFXuXSE.js +36 -0
  31. package/dist/{activity-type.stable-ClO9j_PH.cjs → activity-type-BPXxdHBP.cjs} +2 -1
  32. package/dist/{activity-type.stable-Ml0SOYv9.js → activity-type-C1geyPsH.js} +2 -1
  33. package/dist/address-OxwXIwbF.js +15502 -0
  34. package/dist/address-book-address-validator-BqYM0Uyp.cjs +41 -0
  35. package/dist/{address-book-address-validator-BhqRfmlL.cjs → address-book-address-validator-CGIcqn5W.cjs} +5 -4
  36. package/dist/{address-book-address-validator-VqIOB8PY.js → address-book-address-validator-FkkYim3z.js} +6 -4
  37. package/dist/address-book-address-validator-RSx2Jozy.js +39 -0
  38. package/dist/address-lECYBd9-.cjs +13043 -0
  39. package/dist/{apply-vkey-witnesses-Ctzk7eye.cjs → apply-vkey-witnesses-1jyczTkw.cjs} +1 -1
  40. package/dist/{apply-vkey-witnesses-Dfo7XfhL.js → apply-vkey-witnesses-Byb40-yJ.js} +1 -1
  41. package/dist/artefact-loader-De9WJH1J.cjs +183 -0
  42. package/dist/artefact-loader-nlsYFjxU.js +160 -0
  43. package/dist/auto-dismiss-failure-on-success-BWJceNXd.cjs +37 -0
  44. package/dist/auto-dismiss-failure-on-success-Bpod-v4r.js +31 -0
  45. package/dist/bip32-EPpcFrpH.cjs +3851 -0
  46. package/dist/{bip32ed25519-D2In8WzR.cjs → bip32ed25519-CRiG-Kjg.cjs} +5 -4
  47. package/dist/{bip32ed25519-qsLH_eWO.js → bip32ed25519-E-fCUZNv.js} +6 -4
  48. package/dist/bip39-DZomfqeY.js +9 -0
  49. package/dist/bip39-MAck9iod.cjs +26 -0
  50. package/dist/bitcoin-data-provider-D0OT_Uiu.cjs +26 -0
  51. package/dist/bitcoin-data-provider-LN_8oamW.js +21 -0
  52. package/dist/bitcoin.cjs +48 -0
  53. package/dist/bitcoin.d.ts +29805 -1
  54. package/dist/bitcoin.js +22 -0
  55. package/dist/{blake2b-BGHUWMsV.js → blake2b-BL-eR5G2.js} +6 -4
  56. package/dist/{blake2b-DspUqw68.cjs → blake2b-Iy324FwH.cjs} +5 -4
  57. package/dist/{blockfrost-tx-submit-provider-BUEOmdvc.js → blockfrost-tx-submit-provider-BHDLgOIE.js} +9 -162
  58. package/dist/{blockfrost-tx-submit-provider-B5dWbdrZ.cjs → blockfrost-tx-submit-provider-BxC19smv.cjs} +7 -171
  59. package/dist/{blockingWithLatestFrom-BhaE7pnA.js → blockingWithLatestFrom-FUfZFEUG.js} +1 -1
  60. package/dist/{blockingWithLatestFrom-DkuT3G2a.cjs → blockingWithLatestFrom-bmCPgA3c.cjs} +1 -1
  61. package/dist/bn-BFq5a4dk.cjs +2553 -0
  62. package/dist/{SodiumBip32Ed25519-BEfo1Q9m.js → browser-D5jRKv_L.js} +4 -401
  63. package/dist/bytes.vo-CziaOsba.js +24 -0
  64. package/dist/bytes.vo-hecRu3YZ.cjs +35 -0
  65. package/dist/{cardano-network-id-to-network-type-PXvn1ycQ.cjs → cardano-network-id-to-network-type-BwG_d6QP.cjs} +1 -1
  66. package/dist/{cardano-network-id-to-network-type-DHgKhDAK.js → cardano-network-id-to-network-type-CYJheetp.js} +1 -1
  67. package/dist/{cardano-network-id.vo-CbNNKd-k.cjs → cardano-network-id.vo-C5VuBXT3.cjs} +2 -2
  68. package/dist/{cardano-network-id.vo-CTYe-Oix.js → cardano-network-id.vo-CeLJqmb_.js} +2 -2
  69. package/dist/{cardano-tx-id.vo-BMwemq5x.js → cardano-tx-id.vo-DJ70NC0-.js} +1 -1
  70. package/dist/{cardano-tx-id.vo-NY-gCOWJ.cjs → cardano-tx-id.vo-lnyO9XaW.cjs} +1 -1
  71. package/dist/cardano.cjs +31 -24
  72. package/dist/cardano.d.ts +27612 -8128
  73. package/dist/cardano.js +21 -13
  74. package/dist/client-Bw2foG5E.cjs +808 -0
  75. package/dist/const-BB3MccLt.js +153 -0
  76. package/dist/{const-BErUlcZw.cjs → const-BWBAzOmN.cjs} +1 -1
  77. package/dist/const-CSWmOyzn.cjs +42 -0
  78. package/dist/{const-Dy8Ctnpd.cjs → const-D3mCkwrM.cjs} +5 -5
  79. package/dist/const-DW7z3R5k.js +13 -0
  80. package/dist/{const-DeUA7zYl.js → const-DbuUHSzR.js} +5 -5
  81. package/dist/const-DgBzKfz6.cjs +31995 -0
  82. package/dist/{const-DVW6DGkZ.js → const-xGSNCtwQ.js} +1 -1
  83. package/dist/contract-2KVxlHyu.cjs +189 -0
  84. package/dist/contract-DjQqqZLo.js +171 -0
  85. package/dist/create-add-accounts-2mQA0ST2.js +102 -0
  86. package/dist/create-add-accounts-B6mR2NMn.cjs +114 -0
  87. package/dist/{delegation-tx-builder-CF0VunDW.cjs → delegation-tx-builder-Cp30jtj9.cjs} +9 -8
  88. package/dist/{delegation-tx-builder-C8LQxU2R.js → delegation-tx-builder-DUMikSTg.js} +9 -7
  89. package/dist/{deregistration-tx-builder-DcUXA3Ls.cjs → deregistration-tx-builder-B-ZeY-dR.cjs} +10 -9
  90. package/dist/{deregistration-tx-builder-BOBPP8m_.js → deregistration-tx-builder-CRLrK99U.js} +10 -8
  91. package/dist/device-commitment-hex.vo-BIUYUNz1.cjs +31 -0
  92. package/dist/device-commitment-hex.vo-D9FsYLn7.js +26 -0
  93. package/dist/device-key-BToCoS4D.js +2394 -0
  94. package/dist/device-key-D6euvxFi.cjs +2489 -0
  95. package/dist/device-readers-BPDz2oqa.js +3 -0
  96. package/dist/device-readers-CVqmvmLZ.js +145 -0
  97. package/dist/device-readers-DzkDMjPn.cjs +7 -0
  98. package/dist/device-readers-XMZMfFvZ.cjs +168 -0
  99. package/dist/dist-B00GN41m.js +141 -0
  100. package/dist/dist-BA1xnF9O.cjs +4413 -0
  101. package/dist/dist-BmHOXLe8.cjs +3814 -0
  102. package/dist/dist-Br0OVXKt.cjs +535 -0
  103. package/dist/dist-C1JK9C1I.cjs +3452 -0
  104. package/dist/dist-DKEViNEI.cjs +1306 -0
  105. package/dist/dist-Dwqx184a.cjs +43175 -0
  106. package/dist/dist-MJof_Ky1.cjs +145 -0
  107. package/dist/dist-p84sVVJ9.cjs +1394 -0
  108. package/dist/{earn-rewards-tx-builder-BRlTueHS.js → earn-rewards-tx-builder-8G_rouIk.js} +9 -7
  109. package/dist/{earn-rewards-tx-builder-RgO0QUY8.cjs → earn-rewards-tx-builder-cOUNV58E.cjs} +9 -8
  110. package/dist/enc-key-circuits-0Dud78IB.js +13 -0
  111. package/dist/enc-key-circuits-yjPHbuo_.cjs +24 -0
  112. package/dist/english-BZ_ebp2-.cjs +2057 -0
  113. package/dist/envelopes-BmL7onAK.cjs +1721 -0
  114. package/dist/envelopes-CfWTR2uy.js +1620 -0
  115. package/dist/errors-BA3b8aVu.cjs +584 -0
  116. package/dist/errors-pkQdxW-7.js +392 -0
  117. package/dist/experimental.cjs +6875 -0
  118. package/dist/experimental.d.ts +63670 -0
  119. package/dist/experimental.js +6725 -0
  120. package/dist/fees-6C2uEWFK.js +653 -0
  121. package/dist/fees-DtC71fOx.cjs +820 -0
  122. package/dist/gated-call-DLC5PBlN.cjs +736 -0
  123. package/dist/gated-call-DQhT7v2J.js +695 -0
  124. package/dist/gated-call-DdNOQh_Z.js +3 -0
  125. package/dist/gated-call-wAB15GtN.cjs +4 -0
  126. package/dist/grant-circuits-BKJrMSNo.cjs +49 -0
  127. package/dist/grant-circuits-D53wmGyr.js +26 -0
  128. package/dist/grant-rules-fYt80KB1.cjs +7114 -0
  129. package/dist/grant-rules-rG1kJq6l.js +6833 -0
  130. package/dist/grant-status-CDmZpx32.js +296 -0
  131. package/dist/grant-status-CQtwjLsA.cjs +337 -0
  132. package/dist/grants-C5wpNvZJ.cjs +266 -0
  133. package/dist/grants-DY3sN9We.cjs +16 -0
  134. package/dist/grants-ngFtS52g.js +213 -0
  135. package/dist/grants-qpXC94Rk.js +4 -0
  136. package/dist/{group-cardano-addresses-by-account-C-1GHUu8.cjs → group-cardano-addresses-by-account-BGOtPV-Y.cjs} +4 -40
  137. package/dist/{group-cardano-addresses-by-account-p4dXmCoj.js → group-cardano-addresses-by-account-TqvESg9x.js} +6 -37
  138. package/dist/{guarded-transaction-signer-DZSGHp1K.js → guarded-transaction-signer-BbVDE9Nn.js} +12 -18
  139. package/dist/{guarded-transaction-signer-BLSezbfV.cjs → guarded-transaction-signer-DTLjAkif.cjs} +26 -26
  140. package/dist/hex-BVtOKJki.cjs +263 -0
  141. package/dist/hex-CGYJPK_Z.js +192 -0
  142. package/dist/http-client-B7_kBTYn.js +155 -0
  143. package/dist/http-client-DYQ_7Rdf.cjs +167 -0
  144. package/dist/identity-DxPhxkZs.js +239 -0
  145. package/dist/identity-y41Yle03.cjs +274 -0
  146. package/dist/in-memory-wallet-integration-5BKiAvPT.js +20861 -0
  147. package/dist/{in-memory-wallet-integration-CUTa68ET.js → in-memory-wallet-integration-BCOqDgbt.js} +10 -107
  148. package/dist/in-memory-wallet-integration-Bi8I9Dso.js +128 -0
  149. package/dist/in-memory-wallet-integration-Bsl2ONua.cjs +239 -0
  150. package/dist/in-memory-wallet-integration-DZ0CAyvY.cjs +20865 -0
  151. package/dist/{in-memory-wallet-integration-Dw_S7amX.cjs → in-memory-wallet-integration-DsFm8gLk.cjs} +21 -112
  152. package/dist/{in-memory-wallet-integration-Z4Bp_DTv.cjs → in-memory-wallet-integration-aW_SF-go.cjs} +8 -5
  153. package/dist/{in-memory-wallet-integration-B6cbAlvD.js → in-memory-wallet-integration-mIEc8EfR.js} +9 -5
  154. package/dist/index.cjs +95 -58
  155. package/dist/index.d.ts +45146 -13439
  156. package/dist/index.js +55 -28
  157. package/dist/{init-CVi8J0zk.cjs → init-5SfWgCYD.cjs} +3 -3
  158. package/dist/{init-Ci7aqWCf2.cjs → init-8NVWbo302.cjs} +2 -2
  159. package/dist/init-B-C7n6u6.js +5 -0
  160. package/dist/{init-BFMWRf-L.js → init-B-ppfGO-.js} +1 -1
  161. package/dist/{init-IiR093Jw.cjs → init-B2OUhY5T.cjs} +2 -2
  162. package/dist/{init-DXnus199.cjs → init-B6Eg_o6G.cjs} +5 -5
  163. package/dist/{init-4hDl5bpr.js → init-BAWMHL1k.js} +2 -2
  164. package/dist/init-BC2CZZOu2.cjs +2002 -0
  165. package/dist/{init-a228hXnS.cjs → init-BF-a2p6E.cjs} +65 -73
  166. package/dist/{init-fFirX8OY.cjs → init-BFxlQAD8.cjs} +1 -1
  167. package/dist/init-BJE1ry0O.js +17 -0
  168. package/dist/{init-BVnI4z2J.js → init-BPKBVOHU.js} +2 -2
  169. package/dist/{init-bdqZBd-o.js → init-BSP_xcpB.js} +2 -2
  170. package/dist/{init-CFNOn3lo.js → init-BSd7mznK.js} +3 -3
  171. package/dist/{init-MjR4swi6.js → init-BUJTT0MN.js} +36 -43
  172. package/dist/init-BUpFzYsD.cjs +143 -0
  173. package/dist/{init-BvpYHyLH.cjs → init-BZ-WyAIL.cjs} +3 -3
  174. package/dist/init-BZdfdLX7.js +422 -0
  175. package/dist/{init-CJeOys1w.cjs → init-B_HWNXMD.cjs} +2 -2
  176. package/dist/init-BbIMt6xU.cjs +6 -0
  177. package/dist/{init-BYdN1aqE.cjs → init-BewG6swt.cjs} +2 -2
  178. package/dist/{init-Tpn9VkFu.cjs → init-BpwlQ6wF.cjs} +1 -1
  179. package/dist/{init-D5-P0HXK.js → init-BtQOzUjX.js} +1 -1
  180. package/dist/{init-BvGz3qUd2.js → init-CCTscPaY2.js} +2 -2
  181. package/dist/{init-D4hPipCD.cjs → init-CH0yyBof.cjs} +1 -1
  182. package/dist/{init-BX0AZAVH2.js → init-CS98M3iD.js} +2 -2
  183. package/dist/init-CaIkrXal.cjs +121 -0
  184. package/dist/init-CkZy4IMf.cjs +107 -0
  185. package/dist/{init-Drr2f_Pr.js → init-CmfcY7SV.js} +1 -1
  186. package/dist/{init-Kf3_OLv6.js → init-CnJAlks_.js} +1 -1
  187. package/dist/{init-Cdjt_z-b.cjs → init-CqqmtAIK.cjs} +4 -4
  188. package/dist/{init-Bb0avZeZ.js → init-Cu2znmIc.js} +5 -5
  189. package/dist/{init-lcaUSOOG.js → init-CwLZXfTl.js} +1 -1
  190. package/dist/init-Cz5LAizN.js +2001 -0
  191. package/dist/init-D4WM3-Mn.cjs +18 -0
  192. package/dist/init-DJzEpODO.js +2373 -0
  193. package/dist/init-DMi2FGpf.cjs +424 -0
  194. package/dist/{init-BTYLMF9F2.cjs → init-DexLSprL2.cjs} +258 -61
  195. package/dist/init-DfKPgD21.js +106 -0
  196. package/dist/init-DgzRsI-C.js +141 -0
  197. package/dist/init-Dj4Cn7-P.js +4789 -0
  198. package/dist/{init-DFwhgert.cjs → init-DnELgrhn.cjs} +1 -1
  199. package/dist/init-DypZuehC.cjs +2374 -0
  200. package/dist/{init-CX_zLXc6.js → init-IBnizp1U.js} +5 -5
  201. package/dist/init-MDKB6tGI2.cjs +4790 -0
  202. package/dist/{init-DbZ5byj42.js → init-TbB38KNt2.js} +258 -60
  203. package/dist/{init-BgrY29gW.js → init-dsYkC_0B.js} +4 -4
  204. package/dist/{init-DvVgKCaP2.cjs → init-kVOOiU0-.cjs} +2 -2
  205. package/dist/{init-B5BsI3DR.cjs → init-kvn5FlPS.cjs} +7 -7
  206. package/dist/init-vfy9DW_E.js +119 -0
  207. package/dist/{init-BE_6Jyc4.js → init-w7xl6LsP.js} +3 -3
  208. package/dist/{init-DEsWVyn5.cjs → init-wgiBUmyW.cjs} +1 -1
  209. package/dist/{is-retriable-error-DWv_ob-f.js → is-retriable-error-CmFR20pe.js} +1 -1
  210. package/dist/{is-retriable-error-Dtb4JGjd.cjs → is-retriable-error-D2yo0_lS.cjs} +1 -1
  211. package/dist/jubjub-authoriser-BBJcD2uC.js +85 -0
  212. package/dist/jubjub-authoriser-BlXt4Z-D.cjs +86 -0
  213. package/dist/key-source-CcLTx8HK.js +2761 -0
  214. package/dist/key-source-D2tTAag-.cjs +806 -0
  215. package/dist/{key-value-store-DTX1quRS.js → key-value-store-DZcNDB3n.js} +1 -1
  216. package/dist/{key-value-store-B-XRIwaM.cjs → key-value-store-Htj4RgMe.cjs} +1 -1
  217. package/dist/keyDerivation-DcKRUCVh.cjs +274 -0
  218. package/dist/keyDerivation-QGesIMbS.js +4077 -0
  219. package/dist/{lace-context-FpU3iG3f.cjs → lace-context-BN0b_ury.cjs} +4 -4
  220. package/dist/{lace-context-BQvvxVLm.js → lace-context-DMRJ87Vg.js} +4 -4
  221. package/dist/lib-BC-62Byh.cjs +2359 -0
  222. package/dist/lib-JYqcAX0c.js +2354 -0
  223. package/dist/midnight-account-id.vo--Vcx34Xk.cjs +10 -0
  224. package/dist/midnight-account-id.vo-BuB8fiVO.js +5 -0
  225. package/dist/midnight-engine-B7D2hbHo.js +5 -0
  226. package/dist/midnight-engine-D5ikN_5F.cjs +6 -0
  227. package/dist/midnight-wallet-BOdFD6SX.cjs +24 -0
  228. package/dist/midnight-wallet-CAqZrNVe.js +18 -0
  229. package/dist/midnight.cjs +1412 -0
  230. package/dist/midnight.d.ts +28609 -0
  231. package/dist/midnight.js +1355 -0
  232. package/dist/modules-cardano-4IgYsKeN.js +999 -0
  233. package/dist/modules-cardano-Baqj2GZH.cjs +1112 -0
  234. package/dist/node-relay-BEtqi_vU.cjs +49 -0
  235. package/dist/node-relay-CkgpDObu.js +48 -0
  236. package/dist/outputs-5qdW8s-f.js +196 -0
  237. package/dist/outputs-BEM1GPMf.cjs +339 -0
  238. package/dist/{SodiumBip32Ed25519-BQUcrQWX.cjs → pbkdf2-B1veireP.cjs} +6 -411
  239. package/dist/pending-operation-CfTUNQVD.cjs +26 -0
  240. package/dist/pending-operation-Ljijb1Uh.js +21 -0
  241. package/dist/providers--Hg9iF5v.cjs +366 -0
  242. package/dist/providers-DQ5_3h2l.js +343 -0
  243. package/dist/redacted-4SJPqt-G.js +81 -0
  244. package/dist/redacted-DwxIDdIF.cjs +86 -0
  245. package/dist/{reselect-DPML1uFN.cjs → reselect-kP4DaAII.cjs} +1 -1
  246. package/dist/{retry-config-oNtfdyrG.cjs → retry-config-BGv5q5QM.cjs} +1 -1
  247. package/dist/{retry-config-VdbuqBsI.js → retry-config-Bu5Yn5ua.js} +1 -1
  248. package/dist/safe-buffer-CqGpSFCQ.js +43 -0
  249. package/dist/safe-buffer-DbXbwhUQ.cjs +48 -0
  250. package/dist/sdk-Bm9-P0L-.cjs +1445 -0
  251. package/dist/sdk-Cf__6dDe.js +1249 -0
  252. package/dist/sdk-init-9TG1ZvHF.cjs +3795 -0
  253. package/dist/sdk-init-Ce3mD-8F.js +1047 -0
  254. package/dist/secret-box-CSmRp6Tt.js +3777 -0
  255. package/dist/secret-box-ZfbYwBgS.cjs +6970 -0
  256. package/dist/send-proof-progress-DtAcrMP6.cjs +33 -0
  257. package/dist/send-proof-progress-Dx2cUz1B.js +22 -0
  258. package/dist/sha2-DaRJZOjk.cjs +390 -0
  259. package/dist/sha2-c4sB6peD.js +378 -0
  260. package/dist/side-effects-C3BhLrdP.js +768 -0
  261. package/dist/side-effects-DG0R-KFc.cjs +804 -0
  262. package/dist/sign-bitcoin-transaction-with-seed-C7vq9om8.js +147 -0
  263. package/dist/sign-bitcoin-transaction-with-seed-Ds1dwzan.cjs +158 -0
  264. package/dist/signer--2I6poMD.js +2 -0
  265. package/dist/signer-CX21Ups_.cjs +121 -0
  266. package/dist/signer-Cnn9q9oY.js +92 -0
  267. package/dist/signer-DbSxjk0F.cjs +7 -0
  268. package/dist/signer-factory-B5oFuUZ-.cjs +130 -0
  269. package/dist/signer-factory-BAt8FPNc.cjs +281 -0
  270. package/dist/signer-factory-BGE4nL4k.js +129 -0
  271. package/dist/signer-factory-C4pgsiJi.js +281 -0
  272. package/dist/{signer-factory-DySc1wRX.cjs → signer-factory-D95jQIPV.cjs} +9 -6
  273. package/dist/{signer-factory-D4HrwFPl.js → signer-factory-PrpsGX-8.js} +10 -6
  274. package/dist/{slice-BZTQgYSs.js → slice-B-xJcuT1.js} +4 -4
  275. package/dist/slice-B4QOYaOG.cjs +105 -0
  276. package/dist/{slice-CtIMw2YT.cjs → slice-B9QKuhi0.cjs} +3 -3
  277. package/dist/{slice-Bhwmqn1p.cjs → slice-Bf4enJKZ.cjs} +8 -8
  278. package/dist/{slice-DaNVz7_l.js → slice-ByNWnxKS.js} +8 -8
  279. package/dist/{slice-C2UDQrdt.js → slice-C1zOeseG.js} +449 -355
  280. package/dist/{slice-DFLyKRm5.cjs → slice-C4toRM6A.cjs} +2 -2
  281. package/dist/{slice-Cx4dULDA.cjs → slice-C8YVv4Qn.cjs} +1 -1
  282. package/dist/{slice-jnpOgiSZ.cjs → slice-CaMfviYu.cjs} +3 -3
  283. package/dist/{slice-DFvrwUur.js → slice-CgeRsYRg.js} +6 -6
  284. package/dist/{slice-zNEspZND.js → slice-D0VzpMbY.js} +2 -2
  285. package/dist/slice-D14F78Ca.js +87 -0
  286. package/dist/slice-DJelVt0i.js +9013 -0
  287. package/dist/{slice-F6A1YKOF.cjs → slice-DLflttAu.cjs} +479 -366
  288. package/dist/{slice-C96EdeY1.js → slice-DcO-iNz2.js} +1 -1
  289. package/dist/{slice-C19quNWM.cjs → slice-DimtxfAT.cjs} +2 -2
  290. package/dist/{slice-KiNoGwD9.js → slice-DlTEqIoI.js} +1 -1
  291. package/dist/{slice-ws8PccRX.js → slice-Dn0WojD7.js} +3 -3
  292. package/dist/{slice-BLSxLmie.cjs → slice-Dongunf7.cjs} +4 -4
  293. package/dist/{slice-B6vPum19.js → slice-DpufJAjJ.js} +2 -2
  294. package/dist/{slice-exhhmucR.cjs → slice-DtitVc9L.cjs} +7 -7
  295. package/dist/slice-RQRLciQc.cjs +9031 -0
  296. package/dist/{slice-Bjj2t2ut.cjs → slice-WMMMc1Xv.cjs} +2 -2
  297. package/dist/slice-a8VuIqzS.cjs +378 -0
  298. package/dist/slice-bRASyM-m.js +354 -0
  299. package/dist/{slice-CBFrgHSH.js → slice-hNyKbDry.js} +3 -3
  300. package/dist/{InMemoryKeyAgent-pyB2gA-N.cjs → src-BayYMIjw.cjs} +20 -8228
  301. package/dist/{InMemoryKeyAgent-D-3HejxN.js → src-CgINPlSx.js} +29 -4811
  302. package/dist/store-AUlTfcI_.js +37 -0
  303. package/dist/store-C7AneHEY.cjs +66 -0
  304. package/dist/submit-BuBCVi-l.cjs +87 -0
  305. package/dist/submit-D37lxFrK.js +70 -0
  306. package/dist/submit-bitcoin-tx-CE0AD-xH.js +983 -0
  307. package/dist/submit-bitcoin-tx-CK10OTfQ.cjs +1049 -0
  308. package/dist/{subtractValueQuantities-DfZg6oiG.js → subtractValueQuantities-BuDJVxq6.js} +3 -22
  309. package/dist/{subtractValueQuantities-C8qDTtgH.cjs → subtractValueQuantities-CqR606HV.cjs} +2 -32
  310. package/dist/{sync-operation-utils-BrQyWFS_.cjs → sync-operation-utils--Z_IQfyW.cjs} +0 -66
  311. package/dist/{sync-operation-utils-CAaCGvEN.js → sync-operation-utils-BimBpvI3.js} +1 -37
  312. package/dist/token-id-mapper-BVau2RXa.js +16 -0
  313. package/dist/token-id-mapper-CSeLzM4o.cjs +18 -0
  314. package/dist/{token-id-mapper-pDaTxpw2.js → token-id-mapper-ClBeIdJR.js} +2 -2
  315. package/dist/{token-id-mapper-DYcd8hhQ.cjs → token-id-mapper-D0wFdbOy.cjs} +2 -2
  316. package/dist/types-46lh8O9r.js +33 -0
  317. package/dist/types-BhhNR1_B.cjs +50 -0
  318. package/dist/types-BhzypKMS.cjs +15 -0
  319. package/dist/types-DTE1ctDB.js +10 -0
  320. package/dist/types-DXSxXGz0.js +12 -0
  321. package/dist/types-Dls6Z5gV.cjs +23 -0
  322. package/dist/{util-P4PX2muj.cjs → util-D1YlKzrc.cjs} +2 -2
  323. package/dist/{util-CQSJU0wT.js → util-DHxtzUzY.js} +2 -2
  324. package/dist/{utils-Bv4OHT4S.cjs → utils-DYf4iZKX.cjs} +7 -1
  325. package/dist/{utils-DrtzChYN.js → utils-DcnoETEP.js} +2 -2
  326. package/dist/utils-Du0YXRcU.cjs +112 -0
  327. package/dist/utils-fF_rnZe3.js +65 -0
  328. package/dist/v8Signatures-ClGpA8mS.cjs +71 -0
  329. package/dist/{vote-delegation-tx-builder-69gOEkCB.cjs → vote-delegation-tx-builder-BjZxCOd3.cjs} +9 -8
  330. package/dist/{vote-delegation-tx-builder-BRJ_pf-c.js → vote-delegation-tx-builder-DRJwPXkD.js} +9 -7
  331. package/dist/watch-FGE4B_Ge.js +13056 -0
  332. package/dist/watch-imlsRZDp.cjs +52207 -0
  333. package/package.json +95 -3
  334. package/dist/Address-4KjeDt_x.cjs +0 -17269
  335. package/dist/Address-_VPkf7Xh.js +0 -17101
  336. package/dist/account-guards.stable-BKyYPj4z.cjs +0 -10
  337. package/dist/account-guards.stable-BdmQ43vC.js +0 -5
  338. package/dist/init-BR9ZIbED.cjs +0 -378
  339. package/dist/init-B_k1RUN_.cjs +0 -21
  340. package/dist/init-Bs3b5ZQH.js +0 -378
  341. package/dist/init-ChfcrHgG2.cjs +0 -4354
  342. package/dist/init-D1uUMMpG.js +0 -19
  343. package/dist/init-DV1OSZiK.js +0 -4352
  344. package/dist/modules-cardano-BINzpXpk.js +0 -5454
  345. package/dist/modules-cardano-Dt8OwoQb.cjs +0 -5640
  346. package/dist/slice-Caf98m0d2.js +0 -107
  347. package/dist/slice-PM6llajQ2.cjs +0 -125
  348. /package/dist/{BigIntMath-CoJWXt1h.cjs → BigIntMath-CBciEQn2.cjs} +0 -0
  349. /package/dist/{BigIntMath-BWUJOsOW.js → BigIntMath-X3EniYDo.js} +0 -0
  350. /package/dist/{ChainId-sdLmlIRk.cjs → ChainId-CNPSU9nn.cjs} +0 -0
  351. /package/dist/{ChainId-CKbm87yQ.js → ChainId-CeoG8Sov.js} +0 -0
  352. /package/dist/{_polyfill-node.process-4fnlkbBi.cjs → _polyfill-node.process-5UxyjoHG.cjs} +0 -0
  353. /package/dist/{account-id.vo-Xpgnu-av.cjs → account-id.vo-DYZBZQsz.cjs} +0 -0
  354. /package/dist/{account-id.vo-DP0BtOoF.js → account-id.vo-KDTWJ-W5.js} +0 -0
  355. /package/dist/{actions-BNagEO6m.cjs → actions-BnHFVSr_.cjs} +0 -0
  356. /package/dist/{actions-BWTyAr7B.js → actions-Cwj0ApZf.js} +0 -0
  357. /package/dist/{asyncoption-po7-RiA5.cjs → asyncoption-CYcZNBRM.cjs} +0 -0
  358. /package/dist/{asyncoption-CzIVH5Y1.js → asyncoption-DZQGfznq.js} +0 -0
  359. /package/dist/{bignum.vo-DhhZ9HP1.js → bignum.vo-Co6tMH2q.js} +0 -0
  360. /package/dist/{bignum.vo-CpkrIXjH.cjs → bignum.vo-Du-bpvar.cjs} +0 -0
  361. /package/dist/{blockchain-network-id.vo-CbgrAY_K.js → blockchain-network-id.vo-C6Jowh8t.js} +0 -0
  362. /package/dist/{blockchain-network-id.vo-5iC6Kffo.cjs → blockchain-network-id.vo-DEQ14dYj.cjs} +0 -0
  363. /package/dist/{composite-signer-factory-DABpCe1_.js → composite-signer-factory-D9RWY-1V.js} +0 -0
  364. /package/dist/{composite-signer-factory-BizuNPP7.cjs → composite-signer-factory-v4Pxn8bA.cjs} +0 -0
  365. /package/dist/{error-ggOihIfv.cjs → error-B6wj9nPv.cjs} +0 -0
  366. /package/dist/{error-DHKO2iS4.js → error-CvEYL98P.js} +0 -0
  367. /package/dist/{esm-browser-DnXNvpcn.cjs → esm-browser-CZbMeVod.cjs} +0 -0
  368. /package/dist/{esm-browser-BBVQuyQv.js → esm-browser-DpAD_RKv.js} +0 -0
  369. /package/dist/{feature-flag-key.vo-DoGK5Bfh.js → feature-flag-key.vo-9reURsOQ.js} +0 -0
  370. /package/dist/{feature-flag-key.vo-CP1Z9s8e.cjs → feature-flag-key.vo-KTIdnzYX.cjs} +0 -0
  371. /package/dist/{first-state-of-status-Bx4-QQ5m.cjs → first-state-of-status-9ICeDNSa.cjs} +0 -0
  372. /package/dist/{first-state-of-status-D7XzEuSa.js → first-state-of-status-BscbKj_t.js} +0 -0
  373. /package/dist/{init-ZX90nEJe2.js → init-B0hAl9w6.js} +0 -0
  374. /package/dist/{init-4319psUJ.cjs → init-BT67pd9x.cjs} +0 -0
  375. /package/dist/{init-AFUM1TSg.js → init-CHk1fvJ2.js} +0 -0
  376. /package/dist/{init-Dt1Xifg_2.cjs → init-CSURGyW_.cjs} +0 -0
  377. /package/dist/{init-CTQ2g6Xt.js → init-DtxxFaCx.js} +0 -0
  378. /package/dist/{init-BNewLCqw.cjs → init-xzZPlQwB.cjs} +0 -0
  379. /package/dist/{is-redux-persist-state-DxJSsvxB.cjs → is-redux-persist-state-C5luvPEH.cjs} +0 -0
  380. /package/dist/{is-redux-persist-state-Bl2n4VMr.js → is-redux-persist-state-CjcqyCoh.js} +0 -0
  381. /package/dist/{isNotNil-CZxBMfL5.js → isNotNil-Be7gCY0m.js} +0 -0
  382. /package/dist/{isNotNil-C_SO1tcC.cjs → isNotNil-CrYIUFry.cjs} +0 -0
  383. /package/dist/{logging-BvMDKgl0.js → logging-BAMMfn5j.js} +0 -0
  384. /package/dist/{logging-Bh9ikph3.cjs → logging-CbxgIX9V.cjs} +0 -0
  385. /package/dist/{metadatum-B-sxBnSY.cjs → metadatum-BGvFqGPt.cjs} +0 -0
  386. /package/dist/{metadatum-Ego4jVas.js → metadatum-BVocMYy_.js} +0 -0
  387. /package/dist/{repo-slice-BzZQUTj8.cjs → repo-slice-BB_W-6OL.cjs} +0 -0
  388. /package/dist/{repo-slice-vCcQJotS.js → repo-slice-BQlssw9M.js} +0 -0
  389. /package/dist/{reselect-BPkMzw3k.js → reselect-JIgawvPe.js} +0 -0
  390. /package/dist/{serializable-BxFUShKY.js → serializable-F7OtYl8d.js} +0 -0
  391. /package/dist/{serializable-DWgkHhv_.cjs → serializable-n3UoxbZc.cjs} +0 -0
  392. /package/dist/{slice-DY-DNtSi.js → slice-5dGBAz6w.js} +0 -0
  393. /package/dist/{slice-BEFoeqgr.cjs → slice-BzJgg9FS.cjs} +0 -0
  394. /package/dist/{src-CPmX4KUh.cjs → src-CeBNkonz.cjs} +0 -0
  395. /package/dist/{src-XOZXPKxe.js → src-Cv1ifqbe.js} +0 -0
  396. /package/dist/{time-CQPt4FdU.js → time-ByoKevdZ.js} +0 -0
  397. /package/dist/{time-Blvoyh9G.cjs → time-qD7edGU0.cjs} +0 -0
  398. /package/dist/{time.vo-Xln4yGBU.js → time.vo-C17-tYq3.js} +0 -0
  399. /package/dist/{time.vo-rwWwJzmP.cjs → time.vo-TmYE-_Y2.cjs} +0 -0
  400. /package/dist/{toEmpty-CzmoZVLN.cjs → toEmpty-Db6V94Mf.cjs} +0 -0
  401. /package/dist/{toEmpty-DzLd-ZCi.js → toEmpty-Djj-QbpI.js} +0 -0
  402. /package/dist/{token-id.vo-l8fuSpem.cjs → token-id.vo-CZ622zcZ.cjs} +0 -0
  403. /package/dist/{token-id.vo-DMKSaMlc.js → token-id.vo-IDI9C_Qm.js} +0 -0
  404. /package/dist/{types-B61DQoFW.js → types-By-XeXWg.js} +0 -0
  405. /package/dist/{types-CUC-Kcqh.cjs → types-Cn6WlQV6.cjs} +0 -0
  406. /package/dist/{util-BV3iGOrz.cjs → util-Cp1h58uD.cjs} +0 -0
  407. /package/dist/{util-BsQKLorV.js → util-DHppXj7U.js} +0 -0
  408. /package/dist/{util-selector-CKIyoAOz.js → util-selector-BWmHpo92.js} +0 -0
  409. /package/dist/{util-selector-C9H5RsNw.cjs → util-selector-glXkO-jR.cjs} +0 -0
  410. /package/dist/{while-active-CNXeLxre.js → while-active-CDBnUlQA.js} +0 -0
  411. /package/dist/{while-active-BsDWSNrO.cjs → while-active-I2TlHtm7.cjs} +0 -0
@@ -0,0 +1,3 @@
1
+ import "./_polyfill-buffer-patch-JcrfT1gU.js";
2
+ import { i as resolveLiveReaders, n as derivesEntry, r as deviceEntryOf, t as assertJoiningDevice } from "./device-readers-CVqmvmLZ.js";
3
+ export { assertJoiningDevice, derivesEntry, deviceEntryOf, resolveLiveReaders };
@@ -0,0 +1,145 @@
1
+ import { n as HexBytes, t as ByteArray } from "./bytes.vo-CziaOsba.js";
2
+ import { H as isSealableX25519Key } from "./grant-rules-rG1kJq6l.js";
3
+ import { f as DeviceReaderInvalidError } from "./errors-pkQdxW-7.js";
4
+ import { t as decodeDevicePublicKey } from "./envelopes-CfWTR2uy.js";
5
+ import { a as pureCircuits } from "./acc-module-ur8CkBd1.js";
6
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
7
+ /**
8
+ * How many use counters of each registered device are tried for its live
9
+ * entry, as far as the use-counter rescan probes a device's own counter.
10
+ */
11
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
12
+ /**
13
+ * The rolling entries a compressed device key derives in a scope, with
14
+ * the key decoded once for every counter tried, or undefined for a key
15
+ * that is no Jubjub point.
16
+ */
17
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
18
+ const point = decodeDevicePublicKey(devicePublicKey);
19
+ if (!point) return void 0;
20
+ const account = { bytes: ByteArray.fromHex(HexBytes(address)) };
21
+ return (counter) => HexBytes.fromByteArray(pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
22
+ };
23
+ /**
24
+ * The rolling entry a compressed device key derives at one use counter,
25
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
26
+ */
27
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
28
+ /**
29
+ * Whether a compressed device key derives `entryHex` at any use counter
30
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
31
+ * device holding that entry.
32
+ */
33
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
34
+ const entryAt = entriesOf(scope, devicePublicKey);
35
+ if (!entryAt) return false;
36
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
37
+ return false;
38
+ };
39
+ /**
40
+ * Holds a joining device's keys to the entry it is enrolled under: its
41
+ * reader key must be one the account seals to, and its device key a
42
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
43
+ * starts from, is the commitment being added, so the account keys are
44
+ * never sealed to a reader paired with another device's key.
45
+ *
46
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
47
+ * sealable, the device key is no point, or its first entry is not the
48
+ * commitment.
49
+ */
50
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
51
+ if (!isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new DeviceReaderInvalidError();
52
+ };
53
+ /**
54
+ * The live entry of each device key that derives one, by key. Every key
55
+ * is decoded once and the keys are tried in lockstep, one use counter at
56
+ * a time from 0, so each resolves at its lowest live counter. The scan
57
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
58
+ * is matched: an entry derives from one device key only, so no key still
59
+ * unresolved can derive a sought entry after that.
60
+ */
61
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
62
+ const found = /* @__PURE__ */ new Map();
63
+ const unmatched = new Set(sought);
64
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
65
+ const entryAt = entriesOf(scope, key);
66
+ return entryAt ? [{
67
+ key,
68
+ entryAt
69
+ }] : [];
70
+ });
71
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
72
+ const entryHex = entryAt(counter);
73
+ if (!isLive(entryHex)) return true;
74
+ found.set(key, {
75
+ counter,
76
+ entryHex
77
+ });
78
+ unmatched.delete(entryHex);
79
+ return false;
80
+ });
81
+ return found;
82
+ };
83
+ /** Adds `value` to the set `map` holds under `key`. */
84
+ const addTo = (map, key, value) => {
85
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
86
+ };
87
+ /**
88
+ * The registered devices that are enrolled now, each with its live entry:
89
+ * every device key is tried at use counters from 0 until it derives an
90
+ * entry the ledger's device set holds, at most
91
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
92
+ * allowed entry and the target are matched, so registrations it has not
93
+ * resolved by then can derive none of them. A registration whose key
94
+ * derives no live entry is left out, as one a device wrote before it was
95
+ * enrolled, one of a removed device, or one planted with a key of
96
+ * nobody's. One device's registration written twice counts once.
97
+ * Registrations whose live entry is not allowed are set apart first, so a
98
+ * removed device's own registrations never weigh on the rest. Among the
99
+ * others, which one is genuine cannot be told apart when they conflict,
100
+ * so none of a conflict is sealed to: a reader key registered for two
101
+ * live devices is left out, and a live device claimed by two reader keys
102
+ * keeps none of them. Every allowed entry left without a reader, that
103
+ * way or for want of any registration, is reported dropped, so the user
104
+ * sees every device that gets no new key and has to be enrolled again.
105
+ */
106
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
107
+ const resolved = /* @__PURE__ */ new Map();
108
+ const outside = [];
109
+ const entriesOfReader = /* @__PURE__ */ new Map();
110
+ const readersOfEntry = /* @__PURE__ */ new Map();
111
+ const live = liveEntries({
112
+ scope,
113
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
114
+ isLive,
115
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
116
+ });
117
+ for (const device of registered) {
118
+ const entry = live.get(device.devicePublicKey);
119
+ if (!entry) continue;
120
+ const candidate = {
121
+ reader: {
122
+ ...device,
123
+ epoch: scope.epoch,
124
+ counter: entry.counter
125
+ },
126
+ entryHex: entry.entryHex
127
+ };
128
+ if (!allowed.has(entry.entryHex)) {
129
+ outside.push(candidate);
130
+ continue;
131
+ }
132
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
133
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
134
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
135
+ }
136
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
137
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
138
+ return {
139
+ readers,
140
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
141
+ outside
142
+ };
143
+ };
144
+ //#endregion
145
+ export { resolveLiveReaders as i, derivesEntry as n, deviceEntryOf as r, assertJoiningDevice as t };
@@ -0,0 +1,7 @@
1
+ require("./chunk-9hOWP6kD.cjs");
2
+ require("./_polyfill-buffer-patch-BycQkEkK.cjs");
3
+ const require_device_readers = require("./device-readers-XMZMfFvZ.cjs");
4
+ exports.assertJoiningDevice = require_device_readers.assertJoiningDevice;
5
+ exports.derivesEntry = require_device_readers.derivesEntry;
6
+ exports.deviceEntryOf = require_device_readers.deviceEntryOf;
7
+ exports.resolveLiveReaders = require_device_readers.resolveLiveReaders;
@@ -0,0 +1,168 @@
1
+ const require_bytes_vo = require("./bytes.vo-hecRu3YZ.cjs");
2
+ const require_grant_rules = require("./grant-rules-fYt80KB1.cjs");
3
+ const require_errors = require("./errors-BA3b8aVu.cjs");
4
+ const require_envelopes = require("./envelopes-BmL7onAK.cjs");
5
+ const require_acc_module = require("./acc-module-NL_8mEHH.cjs");
6
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
7
+ /**
8
+ * How many use counters of each registered device are tried for its live
9
+ * entry, as far as the use-counter rescan probes a device's own counter.
10
+ */
11
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
12
+ /**
13
+ * The rolling entries a compressed device key derives in a scope, with
14
+ * the key decoded once for every counter tried, or undefined for a key
15
+ * that is no Jubjub point.
16
+ */
17
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
18
+ const point = require_envelopes.decodeDevicePublicKey(devicePublicKey);
19
+ if (!point) return void 0;
20
+ const account = { bytes: require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(address)) };
21
+ return (counter) => require_bytes_vo.HexBytes.fromByteArray(require_acc_module.pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
22
+ };
23
+ /**
24
+ * The rolling entry a compressed device key derives at one use counter,
25
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
26
+ */
27
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
28
+ /**
29
+ * Whether a compressed device key derives `entryHex` at any use counter
30
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
31
+ * device holding that entry.
32
+ */
33
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
34
+ const entryAt = entriesOf(scope, devicePublicKey);
35
+ if (!entryAt) return false;
36
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
37
+ return false;
38
+ };
39
+ /**
40
+ * Holds a joining device's keys to the entry it is enrolled under: its
41
+ * reader key must be one the account seals to, and its device key a
42
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
43
+ * starts from, is the commitment being added, so the account keys are
44
+ * never sealed to a reader paired with another device's key.
45
+ *
46
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
47
+ * sealable, the device key is no point, or its first entry is not the
48
+ * commitment.
49
+ */
50
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
51
+ if (!require_grant_rules.isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new require_errors.DeviceReaderInvalidError();
52
+ };
53
+ /**
54
+ * The live entry of each device key that derives one, by key. Every key
55
+ * is decoded once and the keys are tried in lockstep, one use counter at
56
+ * a time from 0, so each resolves at its lowest live counter. The scan
57
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
58
+ * is matched: an entry derives from one device key only, so no key still
59
+ * unresolved can derive a sought entry after that.
60
+ */
61
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
62
+ const found = /* @__PURE__ */ new Map();
63
+ const unmatched = new Set(sought);
64
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
65
+ const entryAt = entriesOf(scope, key);
66
+ return entryAt ? [{
67
+ key,
68
+ entryAt
69
+ }] : [];
70
+ });
71
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
72
+ const entryHex = entryAt(counter);
73
+ if (!isLive(entryHex)) return true;
74
+ found.set(key, {
75
+ counter,
76
+ entryHex
77
+ });
78
+ unmatched.delete(entryHex);
79
+ return false;
80
+ });
81
+ return found;
82
+ };
83
+ /** Adds `value` to the set `map` holds under `key`. */
84
+ const addTo = (map, key, value) => {
85
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
86
+ };
87
+ /**
88
+ * The registered devices that are enrolled now, each with its live entry:
89
+ * every device key is tried at use counters from 0 until it derives an
90
+ * entry the ledger's device set holds, at most
91
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
92
+ * allowed entry and the target are matched, so registrations it has not
93
+ * resolved by then can derive none of them. A registration whose key
94
+ * derives no live entry is left out, as one a device wrote before it was
95
+ * enrolled, one of a removed device, or one planted with a key of
96
+ * nobody's. One device's registration written twice counts once.
97
+ * Registrations whose live entry is not allowed are set apart first, so a
98
+ * removed device's own registrations never weigh on the rest. Among the
99
+ * others, which one is genuine cannot be told apart when they conflict,
100
+ * so none of a conflict is sealed to: a reader key registered for two
101
+ * live devices is left out, and a live device claimed by two reader keys
102
+ * keeps none of them. Every allowed entry left without a reader, that
103
+ * way or for want of any registration, is reported dropped, so the user
104
+ * sees every device that gets no new key and has to be enrolled again.
105
+ */
106
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
107
+ const resolved = /* @__PURE__ */ new Map();
108
+ const outside = [];
109
+ const entriesOfReader = /* @__PURE__ */ new Map();
110
+ const readersOfEntry = /* @__PURE__ */ new Map();
111
+ const live = liveEntries({
112
+ scope,
113
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
114
+ isLive,
115
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
116
+ });
117
+ for (const device of registered) {
118
+ const entry = live.get(device.devicePublicKey);
119
+ if (!entry) continue;
120
+ const candidate = {
121
+ reader: {
122
+ ...device,
123
+ epoch: scope.epoch,
124
+ counter: entry.counter
125
+ },
126
+ entryHex: entry.entryHex
127
+ };
128
+ if (!allowed.has(entry.entryHex)) {
129
+ outside.push(candidate);
130
+ continue;
131
+ }
132
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
133
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
134
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
135
+ }
136
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
137
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
138
+ return {
139
+ readers,
140
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
141
+ outside
142
+ };
143
+ };
144
+ //#endregion
145
+ Object.defineProperty(exports, "assertJoiningDevice", {
146
+ enumerable: true,
147
+ get: function() {
148
+ return assertJoiningDevice;
149
+ }
150
+ });
151
+ Object.defineProperty(exports, "derivesEntry", {
152
+ enumerable: true,
153
+ get: function() {
154
+ return derivesEntry;
155
+ }
156
+ });
157
+ Object.defineProperty(exports, "deviceEntryOf", {
158
+ enumerable: true,
159
+ get: function() {
160
+ return deviceEntryOf;
161
+ }
162
+ });
163
+ Object.defineProperty(exports, "resolveLiveReaders", {
164
+ enumerable: true,
165
+ get: function() {
166
+ return resolveLiveReaders;
167
+ }
168
+ });
@@ -0,0 +1,141 @@
1
+ import { t as __commonJSMin } from "./chunk-D6g4UhsZ.js";
2
+ //#region ../../node_modules/bech32/dist/index.js
3
+ var require_dist = /* @__PURE__ */ __commonJSMin(((exports) => {
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.bech32m = exports.bech32 = void 0;
6
+ const ALPHABET = "qpzry9x8gf2tvdw0s3jn54khce6mua7l";
7
+ const ALPHABET_MAP = {};
8
+ for (let z = 0; z < 32; z++) {
9
+ const x = ALPHABET.charAt(z);
10
+ ALPHABET_MAP[x] = z;
11
+ }
12
+ function polymodStep(pre) {
13
+ const b = pre >> 25;
14
+ return (pre & 33554431) << 5 ^ -(b >> 0 & 1) & 996825010 ^ -(b >> 1 & 1) & 642813549 ^ -(b >> 2 & 1) & 513874426 ^ -(b >> 3 & 1) & 1027748829 ^ -(b >> 4 & 1) & 705979059;
15
+ }
16
+ function prefixChk(prefix) {
17
+ let chk = 1;
18
+ for (let i = 0; i < prefix.length; ++i) {
19
+ const c = prefix.charCodeAt(i);
20
+ if (c < 33 || c > 126) return "Invalid prefix (" + prefix + ")";
21
+ chk = polymodStep(chk) ^ c >> 5;
22
+ }
23
+ chk = polymodStep(chk);
24
+ for (let i = 0; i < prefix.length; ++i) {
25
+ const v = prefix.charCodeAt(i);
26
+ chk = polymodStep(chk) ^ v & 31;
27
+ }
28
+ return chk;
29
+ }
30
+ function convert(data, inBits, outBits, pad) {
31
+ let value = 0;
32
+ let bits = 0;
33
+ const maxV = (1 << outBits) - 1;
34
+ const result = [];
35
+ for (let i = 0; i < data.length; ++i) {
36
+ value = value << inBits | data[i];
37
+ bits += inBits;
38
+ while (bits >= outBits) {
39
+ bits -= outBits;
40
+ result.push(value >> bits & maxV);
41
+ }
42
+ }
43
+ if (pad) {
44
+ if (bits > 0) result.push(value << outBits - bits & maxV);
45
+ } else {
46
+ if (bits >= inBits) return "Excess padding";
47
+ if (value << outBits - bits & maxV) return "Non-zero padding";
48
+ }
49
+ return result;
50
+ }
51
+ function toWords(bytes) {
52
+ return convert(bytes, 8, 5, true);
53
+ }
54
+ function fromWordsUnsafe(words) {
55
+ const res = convert(words, 5, 8, false);
56
+ if (Array.isArray(res)) return res;
57
+ }
58
+ function fromWords(words) {
59
+ const res = convert(words, 5, 8, false);
60
+ if (Array.isArray(res)) return res;
61
+ throw new Error(res);
62
+ }
63
+ function getLibraryFromEncoding(encoding) {
64
+ let ENCODING_CONST;
65
+ if (encoding === "bech32") ENCODING_CONST = 1;
66
+ else ENCODING_CONST = 734539939;
67
+ function encode(prefix, words, LIMIT) {
68
+ LIMIT = LIMIT || 90;
69
+ if (prefix.length + 7 + words.length > LIMIT) throw new TypeError("Exceeds length limit");
70
+ prefix = prefix.toLowerCase();
71
+ let chk = prefixChk(prefix);
72
+ if (typeof chk === "string") throw new Error(chk);
73
+ let result = prefix + "1";
74
+ for (let i = 0; i < words.length; ++i) {
75
+ const x = words[i];
76
+ if (x >> 5 !== 0) throw new Error("Non 5-bit word");
77
+ chk = polymodStep(chk) ^ x;
78
+ result += ALPHABET.charAt(x);
79
+ }
80
+ for (let i = 0; i < 6; ++i) chk = polymodStep(chk);
81
+ chk ^= ENCODING_CONST;
82
+ for (let i = 0; i < 6; ++i) {
83
+ const v = chk >> (5 - i) * 5 & 31;
84
+ result += ALPHABET.charAt(v);
85
+ }
86
+ return result;
87
+ }
88
+ function __decode(str, LIMIT) {
89
+ LIMIT = LIMIT || 90;
90
+ if (str.length < 8) return str + " too short";
91
+ if (str.length > LIMIT) return "Exceeds length limit";
92
+ const lowered = str.toLowerCase();
93
+ const uppered = str.toUpperCase();
94
+ if (str !== lowered && str !== uppered) return "Mixed-case string " + str;
95
+ str = lowered;
96
+ const split = str.lastIndexOf("1");
97
+ if (split === -1) return "No separator character for " + str;
98
+ if (split === 0) return "Missing prefix for " + str;
99
+ const prefix = str.slice(0, split);
100
+ const wordChars = str.slice(split + 1);
101
+ if (wordChars.length < 6) return "Data too short";
102
+ let chk = prefixChk(prefix);
103
+ if (typeof chk === "string") return chk;
104
+ const words = [];
105
+ for (let i = 0; i < wordChars.length; ++i) {
106
+ const c = wordChars.charAt(i);
107
+ const v = ALPHABET_MAP[c];
108
+ if (v === void 0) return "Unknown character " + c;
109
+ chk = polymodStep(chk) ^ v;
110
+ if (i + 6 >= wordChars.length) continue;
111
+ words.push(v);
112
+ }
113
+ if (chk !== ENCODING_CONST) return "Invalid checksum for " + str;
114
+ return {
115
+ prefix,
116
+ words
117
+ };
118
+ }
119
+ function decodeUnsafe(str, LIMIT) {
120
+ const res = __decode(str, LIMIT);
121
+ if (typeof res === "object") return res;
122
+ }
123
+ function decode(str, LIMIT) {
124
+ const res = __decode(str, LIMIT);
125
+ if (typeof res === "object") return res;
126
+ throw new Error(res);
127
+ }
128
+ return {
129
+ decodeUnsafe,
130
+ decode,
131
+ encode,
132
+ toWords,
133
+ fromWordsUnsafe,
134
+ fromWords
135
+ };
136
+ }
137
+ exports.bech32 = getLibraryFromEncoding("bech32");
138
+ exports.bech32m = getLibraryFromEncoding("bech32m");
139
+ }));
140
+ //#endregion
141
+ export { require_dist as t };