@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,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-b4g2j3QL.js";
3
+ export { assertJoiningDevice, derivesEntry, deviceEntryOf, resolveLiveReaders };
@@ -0,0 +1,167 @@
1
+ const require_bytes_vo = require("./bytes.vo-hecRu3YZ.cjs");
2
+ const require_errors = require("./errors-BA3b8aVu.cjs");
3
+ const require_envelopes = require("./envelopes-BdE1xlgz.cjs");
4
+ const require_acc_module = require("./acc-module-NL_8mEHH.cjs");
5
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
6
+ /**
7
+ * How many use counters of each registered device are tried for its live
8
+ * entry, as far as the use-counter rescan probes a device's own counter.
9
+ */
10
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
11
+ /**
12
+ * The rolling entries a compressed device key derives in a scope, with
13
+ * the key decoded once for every counter tried, or undefined for a key
14
+ * that is no Jubjub point.
15
+ */
16
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
17
+ const point = require_envelopes.decodeDevicePublicKey(devicePublicKey);
18
+ if (!point) return void 0;
19
+ const account = { bytes: require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(address)) };
20
+ return (counter) => require_bytes_vo.HexBytes.fromByteArray(require_acc_module.pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
21
+ };
22
+ /**
23
+ * The rolling entry a compressed device key derives at one use counter,
24
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
25
+ */
26
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
27
+ /**
28
+ * Whether a compressed device key derives `entryHex` at any use counter
29
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
30
+ * device holding that entry.
31
+ */
32
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
33
+ const entryAt = entriesOf(scope, devicePublicKey);
34
+ if (!entryAt) return false;
35
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
36
+ return false;
37
+ };
38
+ /**
39
+ * Holds a joining device's keys to the entry it is enrolled under: its
40
+ * reader key must be one the account seals to, and its device key a
41
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
42
+ * starts from, is the commitment being added, so the account keys are
43
+ * never sealed to a reader paired with another device's key.
44
+ *
45
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
46
+ * sealable, the device key is no point, or its first entry is not the
47
+ * commitment.
48
+ */
49
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
50
+ if (!require_envelopes.isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new require_errors.DeviceReaderInvalidError();
51
+ };
52
+ /**
53
+ * The live entry of each device key that derives one, by key. Every key
54
+ * is decoded once and the keys are tried in lockstep, one use counter at
55
+ * a time from 0, so each resolves at its lowest live counter. The scan
56
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
57
+ * is matched: an entry derives from one device key only, so no key still
58
+ * unresolved can derive a sought entry after that.
59
+ */
60
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
61
+ const found = /* @__PURE__ */ new Map();
62
+ const unmatched = new Set(sought);
63
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
64
+ const entryAt = entriesOf(scope, key);
65
+ return entryAt ? [{
66
+ key,
67
+ entryAt
68
+ }] : [];
69
+ });
70
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
71
+ const entryHex = entryAt(counter);
72
+ if (!isLive(entryHex)) return true;
73
+ found.set(key, {
74
+ counter,
75
+ entryHex
76
+ });
77
+ unmatched.delete(entryHex);
78
+ return false;
79
+ });
80
+ return found;
81
+ };
82
+ /** Adds `value` to the set `map` holds under `key`. */
83
+ const addTo = (map, key, value) => {
84
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
85
+ };
86
+ /**
87
+ * The registered devices that are enrolled now, each with its live entry:
88
+ * every device key is tried at use counters from 0 until it derives an
89
+ * entry the ledger's device set holds, at most
90
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
91
+ * allowed entry and the target are matched, so registrations it has not
92
+ * resolved by then can derive none of them. A registration whose key
93
+ * derives no live entry is left out, as one a device wrote before it was
94
+ * enrolled, one of a removed device, or one planted with a key of
95
+ * nobody's. One device's registration written twice counts once.
96
+ * Registrations whose live entry is not allowed are set apart first, so a
97
+ * removed device's own registrations never weigh on the rest. Among the
98
+ * others, which one is genuine cannot be told apart when they conflict,
99
+ * so none of a conflict is sealed to: a reader key registered for two
100
+ * live devices is left out, and a live device claimed by two reader keys
101
+ * keeps none of them. Every allowed entry left without a reader, that
102
+ * way or for want of any registration, is reported dropped, so the user
103
+ * sees every device that gets no new key and has to be enrolled again.
104
+ */
105
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
106
+ const resolved = /* @__PURE__ */ new Map();
107
+ const outside = [];
108
+ const entriesOfReader = /* @__PURE__ */ new Map();
109
+ const readersOfEntry = /* @__PURE__ */ new Map();
110
+ const live = liveEntries({
111
+ scope,
112
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
113
+ isLive,
114
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
115
+ });
116
+ for (const device of registered) {
117
+ const entry = live.get(device.devicePublicKey);
118
+ if (!entry) continue;
119
+ const candidate = {
120
+ reader: {
121
+ ...device,
122
+ epoch: scope.epoch,
123
+ counter: entry.counter
124
+ },
125
+ entryHex: entry.entryHex
126
+ };
127
+ if (!allowed.has(entry.entryHex)) {
128
+ outside.push(candidate);
129
+ continue;
130
+ }
131
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
132
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
133
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
134
+ }
135
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
136
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
137
+ return {
138
+ readers,
139
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
140
+ outside
141
+ };
142
+ };
143
+ //#endregion
144
+ Object.defineProperty(exports, "assertJoiningDevice", {
145
+ enumerable: true,
146
+ get: function() {
147
+ return assertJoiningDevice;
148
+ }
149
+ });
150
+ Object.defineProperty(exports, "derivesEntry", {
151
+ enumerable: true,
152
+ get: function() {
153
+ return derivesEntry;
154
+ }
155
+ });
156
+ Object.defineProperty(exports, "deviceEntryOf", {
157
+ enumerable: true,
158
+ get: function() {
159
+ return deviceEntryOf;
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "resolveLiveReaders", {
163
+ enumerable: true,
164
+ get: function() {
165
+ return resolveLiveReaders;
166
+ }
167
+ });
@@ -0,0 +1,144 @@
1
+ import { n as HexBytes, t as ByteArray } from "./bytes.vo-CziaOsba.js";
2
+ import { f as DeviceReaderInvalidError } from "./errors-pkQdxW-7.js";
3
+ import { t as decodeDevicePublicKey, y as isSealableX25519Key } from "./envelopes-B3QCzo5p.js";
4
+ import { a as pureCircuits } from "./acc-module-ur8CkBd1.js";
5
+ //#region ../../packages/module/passport-account/src/acc/device-readers.ts
6
+ /**
7
+ * How many use counters of each registered device are tried for its live
8
+ * entry, as far as the use-counter rescan probes a device's own counter.
9
+ */
10
+ const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
11
+ /**
12
+ * The rolling entries a compressed device key derives in a scope, with
13
+ * the key decoded once for every counter tried, or undefined for a key
14
+ * that is no Jubjub point.
15
+ */
16
+ const entriesOf = ({ address, epoch }, devicePublicKey) => {
17
+ const point = decodeDevicePublicKey(devicePublicKey);
18
+ if (!point) return void 0;
19
+ const account = { bytes: ByteArray.fromHex(HexBytes(address)) };
20
+ return (counter) => HexBytes.fromByteArray(pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
21
+ };
22
+ /**
23
+ * The rolling entry a compressed device key derives at one use counter,
24
+ * as lowercase hex, or undefined for a key that is no Jubjub point.
25
+ */
26
+ const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
27
+ /**
28
+ * Whether a compressed device key derives `entryHex` at any use counter
29
+ * up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
30
+ * device holding that entry.
31
+ */
32
+ const derivesEntry = (scope, devicePublicKey, entryHex) => {
33
+ const entryAt = entriesOf(scope, devicePublicKey);
34
+ if (!entryAt) return false;
35
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
36
+ return false;
37
+ };
38
+ /**
39
+ * Holds a joining device's keys to the entry it is enrolled under: its
40
+ * reader key must be one the account seals to, and its device key a
41
+ * Jubjub point whose entry at use counter 0, the counter a fresh device
42
+ * starts from, is the commitment being added, so the account keys are
43
+ * never sealed to a reader paired with another device's key.
44
+ *
45
+ * @throws {@link DeviceReaderInvalidError} when the reader key is not
46
+ * sealable, the device key is no point, or its first entry is not the
47
+ * commitment.
48
+ */
49
+ const assertJoiningDevice = (scope, reader, commitmentHex) => {
50
+ if (!isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new DeviceReaderInvalidError();
51
+ };
52
+ /**
53
+ * The live entry of each device key that derives one, by key. Every key
54
+ * is decoded once and the keys are tried in lockstep, one use counter at
55
+ * a time from 0, so each resolves at its lowest live counter. The scan
56
+ * ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
57
+ * is matched: an entry derives from one device key only, so no key still
58
+ * unresolved can derive a sought entry after that.
59
+ */
60
+ const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
61
+ const found = /* @__PURE__ */ new Map();
62
+ const unmatched = new Set(sought);
63
+ let unresolved = [...devicePublicKeys].flatMap((key) => {
64
+ const entryAt = entriesOf(scope, key);
65
+ return entryAt ? [{
66
+ key,
67
+ entryAt
68
+ }] : [];
69
+ });
70
+ for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
71
+ const entryHex = entryAt(counter);
72
+ if (!isLive(entryHex)) return true;
73
+ found.set(key, {
74
+ counter,
75
+ entryHex
76
+ });
77
+ unmatched.delete(entryHex);
78
+ return false;
79
+ });
80
+ return found;
81
+ };
82
+ /** Adds `value` to the set `map` holds under `key`. */
83
+ const addTo = (map, key, value) => {
84
+ map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
85
+ };
86
+ /**
87
+ * The registered devices that are enrolled now, each with its live entry:
88
+ * every device key is tried at use counters from 0 until it derives an
89
+ * entry the ledger's device set holds, at most
90
+ * {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
91
+ * allowed entry and the target are matched, so registrations it has not
92
+ * resolved by then can derive none of them. A registration whose key
93
+ * derives no live entry is left out, as one a device wrote before it was
94
+ * enrolled, one of a removed device, or one planted with a key of
95
+ * nobody's. One device's registration written twice counts once.
96
+ * Registrations whose live entry is not allowed are set apart first, so a
97
+ * removed device's own registrations never weigh on the rest. Among the
98
+ * others, which one is genuine cannot be told apart when they conflict,
99
+ * so none of a conflict is sealed to: a reader key registered for two
100
+ * live devices is left out, and a live device claimed by two reader keys
101
+ * keeps none of them. Every allowed entry left without a reader, that
102
+ * way or for want of any registration, is reported dropped, so the user
103
+ * sees every device that gets no new key and has to be enrolled again.
104
+ */
105
+ const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
106
+ const resolved = /* @__PURE__ */ new Map();
107
+ const outside = [];
108
+ const entriesOfReader = /* @__PURE__ */ new Map();
109
+ const readersOfEntry = /* @__PURE__ */ new Map();
110
+ const live = liveEntries({
111
+ scope,
112
+ devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
113
+ isLive,
114
+ sought: target === void 0 ? allowed : new Set([...allowed, target])
115
+ });
116
+ for (const device of registered) {
117
+ const entry = live.get(device.devicePublicKey);
118
+ if (!entry) continue;
119
+ const candidate = {
120
+ reader: {
121
+ ...device,
122
+ epoch: scope.epoch,
123
+ counter: entry.counter
124
+ },
125
+ entryHex: entry.entryHex
126
+ };
127
+ if (!allowed.has(entry.entryHex)) {
128
+ outside.push(candidate);
129
+ continue;
130
+ }
131
+ resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
132
+ addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
133
+ addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
134
+ }
135
+ const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
136
+ const kept = new Set(readers.map(({ entryHex }) => entryHex));
137
+ return {
138
+ readers,
139
+ dropped: [...allowed].filter((entry) => !kept.has(entry)),
140
+ outside
141
+ };
142
+ };
143
+ //#endregion
144
+ 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-Dw7uTNM5.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,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 };