@laceio/sdk 0.1.1-canary.2 → 0.1.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 (386) hide show
  1. package/dist/{TransactionBuilder-CCjOn7NA.cjs → TransactionBuilder-DrB3NVTi.cjs} +0 -42
  2. package/dist/{TransactionBuilder-CIzdw18M.js → TransactionBuilder-V6aLx4SV.js} +1 -1
  3. package/dist/{_polyfill-buffer-patch-CM8X7JiY.cjs → _polyfill-buffer-patch-BnPVerlG.cjs} +2 -21
  4. package/dist/account-guards.stable-B1DSSh9D.cjs +10 -0
  5. package/dist/account-guards.stable-JRQ5qx2V.js +5 -0
  6. package/dist/{activity-type-Ch6ljxBy.cjs → activity-type.stable-BJEfeLxL.cjs} +1 -2
  7. package/dist/{activity-type-GsJGWs-3.js → activity-type.stable-C76_hWd7.js} +1 -2
  8. package/dist/{address-book-address-validator-ByIZOdO-.js → address-book-address-validator-DIUolI-s.js} +2 -2
  9. package/dist/{address-book-address-validator-BjOWerRE.cjs → address-book-address-validator-DNwQGlOB.cjs} +2 -2
  10. package/dist/bitcoin.cjs +0 -45
  11. package/dist/bitcoin.d.ts +1 -29782
  12. package/dist/bitcoin.js +0 -20
  13. package/dist/{blockfrost-tx-submit-provider-CLNQ5ycR.cjs → blockfrost-tx-submit-provider-BAIzV5o3.cjs} +167 -3
  14. package/dist/{blockfrost-tx-submit-provider-CBWQ0wK9.js → blockfrost-tx-submit-provider-DPTrapz-.js} +157 -5
  15. package/dist/{secret-box-DrjLZuS1.cjs → bytes.vo-Ck5u40RA.cjs} +35 -1
  16. package/dist/{secret-box-DUR0ACYz.js → bytes.vo-TgiwogWF.js} +25 -3
  17. package/dist/{cardano-network-id.vo-wfLiAxpY.js → cardano-network-id.vo-CK1tNQDg.js} +1 -1
  18. package/dist/{cardano-network-id.vo-BEvFd_74.cjs → cardano-network-id.vo-DSxrFk9S.cjs} +1 -1
  19. package/dist/cardano.cjs +18 -22
  20. package/dist/cardano.d.ts +3982 -18409
  21. package/dist/cardano.js +11 -16
  22. package/dist/codecs-B7X9pAsK.cjs +1945 -0
  23. package/dist/codecs-CC1Xjntz.js +1882 -0
  24. package/dist/{const-oMF-TLow.cjs → const-BDEg2Trq.cjs} +4 -4
  25. package/dist/{const-iwzZEE_w.cjs → const-BY8B3_0_.cjs} +1 -1
  26. package/dist/{const-CBGn60yu.js → const-C84qHkjp.js} +4 -4
  27. package/dist/{const-CjmfjBP3.js → const-DXk2tFyv.js} +1 -1
  28. package/dist/{delegation-tx-builder-BR6bt1fE.js → delegation-tx-builder-CGVqlaFE.js} +5 -5
  29. package/dist/{delegation-tx-builder-DVwGfiV0.cjs → delegation-tx-builder-CRpLP6jH.cjs} +6 -6
  30. package/dist/{deregistration-tx-builder-BhJRGj1M.js → deregistration-tx-builder-B-CrUyX6.js} +5 -5
  31. package/dist/{deregistration-tx-builder-Cv_09HGf.cjs → deregistration-tx-builder-DZGwB4cz.cjs} +6 -6
  32. package/dist/{earn-rewards-tx-builder-RYzKsZ6-.js → earn-rewards-tx-builder-BDbTDZmD.js} +5 -5
  33. package/dist/{earn-rewards-tx-builder-52gJiJYa.cjs → earn-rewards-tx-builder-D5sUT5v8.cjs} +6 -6
  34. package/dist/{group-cardano-addresses-by-account-D06r7daZ.cjs → group-cardano-addresses-by-account-B533oVXR.cjs} +35 -19
  35. package/dist/{group-cardano-addresses-by-account-CxCqFDrX.js → group-cardano-addresses-by-account-RHKoEskR.js} +35 -19
  36. package/dist/{guarded-transaction-signer-BhnTBjf6.cjs → guarded-transaction-signer-Bxl6_XNd.cjs} +18 -17
  37. package/dist/{guarded-transaction-signer-BSEx83R-.js → guarded-transaction-signer-CpKLj8Kp.js} +15 -8
  38. package/dist/{in-memory-wallet-integration-CH4rcg92.cjs → in-memory-wallet-integration-CnLYeX4-.cjs} +108 -17
  39. package/dist/{in-memory-wallet-integration-BKu985Jz.js → in-memory-wallet-integration-Croiuopx.js} +104 -7
  40. package/dist/{in-memory-wallet-integration-B0blZBxM.js → in-memory-wallet-integration-D-qn65Kx.js} +2 -5
  41. package/dist/{in-memory-wallet-integration-CwPCDMIe.cjs → in-memory-wallet-integration-DVh9sRXa.cjs} +2 -3
  42. package/dist/index.cjs +47 -84
  43. package/dist/index.d.ts +13618 -40268
  44. package/dist/index.js +24 -52
  45. package/dist/{init-DUF4ar8P.cjs → init-B64zCLxG.cjs} +4 -4
  46. package/dist/{init-Y3mkB4XS.js → init-BAJJzBza.js} +2 -2
  47. package/dist/{init-BTzOjA8x.cjs → init-BJVU54pI.cjs} +1 -1
  48. package/dist/{init-D6BxBs7e.cjs → init-BKhH6mVR.cjs} +1 -1
  49. package/dist/{init-EP0CUWNK.cjs → init-BsCBAGWf.cjs} +2 -2
  50. package/dist/{init-Dy-05ktr.cjs → init-BtzMZ7Pk.cjs} +1 -1
  51. package/dist/init-Bv53hpLM.js +19 -0
  52. package/dist/{init-BopV9ed4.cjs → init-C-jErzp5.cjs} +2 -2
  53. package/dist/{init-CjT-WZcW.cjs → init-C4Bkib9u.cjs} +59 -49
  54. package/dist/{init-BEjCRHxU.cjs → init-C7IeJwQR.cjs} +61 -258
  55. package/dist/{init-C-G32J12.cjs → init-CB__aLD7.cjs} +2 -2
  56. package/dist/{init-CyAY4Lzl.js → init-CFYsq82V.js} +1 -1
  57. package/dist/{init-0zzs9aqU.js → init-CLHuAMB-.js} +4 -4
  58. package/dist/{init-DA7zmptx.js → init-CNLGJJRx.js} +1 -1
  59. package/dist/{init-B-YE57gg.js → init-CR6tpw1B.js} +33 -25
  60. package/dist/init-CRbjI7p1.js +3494 -0
  61. package/dist/{init-CSDpdu0Q.cjs → init-CSHwHnfg.cjs} +2 -2
  62. package/dist/{init-CNM5m7M2.js → init-Cg9XdAru.js} +4 -4
  63. package/dist/{init-B3-1ghyx.js → init-CigestoM.js} +2 -2
  64. package/dist/{init-Dv3zKj0r.cjs → init-D6DBUsD3.cjs} +4 -4
  65. package/dist/init-DAna1KCg.cjs +3495 -0
  66. package/dist/{init-D74mn8nH2.js → init-DDdhguVC.js} +2 -2
  67. package/dist/init-DGe47B22.cjs +364 -0
  68. package/dist/init-DMtyvYfC.cjs +21 -0
  69. package/dist/{init-BrdVzxei.cjs → init-DX4WyB0R.cjs} +3 -3
  70. package/dist/{init-C8URA2OX.js → init-DcYY6zMD.js} +1 -1
  71. package/dist/{init-DFMiP2ZH.cjs → init-DkIc5nqF.cjs} +1 -1
  72. package/dist/{init-vqxOQNZi.js → init-Dku4b2lG.js} +1 -1
  73. package/dist/{init-NdhG_VrF.cjs → init-DxUHsN53.cjs} +6 -6
  74. package/dist/{init-COMH3Hfo.js → init-FMGDET-9.js} +60 -259
  75. package/dist/{init-DrkOb-wd.cjs → init-LfyMo-sS.cjs} +2 -2
  76. package/dist/{init-NCjgwCZy.js → init-Rxohwpmu.js} +2 -2
  77. package/dist/init-TkPDD750.js +363 -0
  78. package/dist/{init-C2RgrfZe.js → init-TkPq_Ny_.js} +1 -1
  79. package/dist/{init-5KcGcBb5.cjs → init-U8c9yHYx.cjs} +1 -1
  80. package/dist/{init-CX0AMQUn.js → init-aJHl-7AO.js} +2 -2
  81. package/dist/{init-rmt7-fQE.cjs → init-anYu6XB7.cjs} +2 -2
  82. package/dist/{init-Fw89ZmrR.js → init-w9GEs73W.js} +2 -2
  83. package/dist/{init-Dnsv155v.js → init-y2Ra0vZP.js} +3 -3
  84. package/dist/{init-DFjT8YvT.js → init-zSzCjoor.js} +4 -4
  85. package/dist/{is-retriable-error-BUiVJDwH.js → is-retriable-error-BU0e3hVI.js} +1 -1
  86. package/dist/{is-retriable-error-Dpt860if.cjs → is-retriable-error-CeeuHqDa.cjs} +1 -1
  87. package/dist/{lace-context-BZciB9c7.js → lace-context-CZcNHr4M.js} +4 -4
  88. package/dist/{lace-context-DgR6vLli.cjs → lace-context-fJTDghdp.cjs} +4 -4
  89. package/dist/{libsodium-wrappers-BhbOA8dQ.js → libsodium-wrappers-UH0LaOUE.js} +1647 -3
  90. package/dist/modules-cardano-BDvuL4Xx.js +5248 -0
  91. package/dist/modules-cardano-D2G3De2P.cjs +5432 -0
  92. package/dist/{retry-config-Dmgt28wM.js → retry-config-BcUmMS--.js} +1 -1
  93. package/dist/{retry-config-BaCfVC1H.cjs → retry-config-DC5IMaH7.cjs} +1 -1
  94. package/dist/{seam-cardano-B_etH4F4.js → seam-cardano-CATqBEyK.js} +1 -1
  95. package/dist/{signer-factory-B7PMe3lQ.js → signer-factory-9URFliA5.js} +3 -6
  96. package/dist/{signer-factory-DduwpsQj.cjs → signer-factory-BWGUmnvm.cjs} +3 -4
  97. package/dist/{slice-CqVNnz-j.js → slice-B2PhoWAg.js} +125 -316
  98. package/dist/{slice-DyNs7oWp.js → slice-BNu73oBa.js} +2 -2
  99. package/dist/{slice-GwiiJRoq.js → slice-CB4SnzMm.js} +3 -3
  100. package/dist/slice-CGVHXHDt.cjs +125 -0
  101. package/dist/{slice-CU80pbiu.js → slice-CnyWevM9.js} +3 -3
  102. package/dist/{slice-CwyYrh1H.js → slice-CobanYgn.js} +2 -2
  103. package/dist/{slice-7G2xxYKJ.cjs → slice-CuHUaPZx.cjs} +3 -3
  104. package/dist/{slice-DayJvMRD.cjs → slice-D11m2EKl.cjs} +1 -1
  105. package/dist/{slice-Bg6HEr3K.cjs → slice-DGcNrbPR.cjs} +4 -4
  106. package/dist/{slice-B4CdYoPu.cjs → slice-DZmQJNV8.cjs} +2 -2
  107. package/dist/slice-DhvF7L6X.js +107 -0
  108. package/dist/{slice-C9TT5KhY.cjs → slice-Do2R2CYW.cjs} +6 -6
  109. package/dist/{slice-Bs2aMERu.cjs → slice-DtaO72qY.cjs} +3 -3
  110. package/dist/{slice-C34iOOUH.cjs → slice-HeHCv3bl.cjs} +7 -7
  111. package/dist/{slice-D-9aPKG-.js → slice-d0p6-xj5.js} +6 -6
  112. package/dist/{slice-CK07EBCo.js → slice-eIwcwKHI.js} +4 -4
  113. package/dist/{slice-DBpJ2QGf.js → slice-maaskdUn.js} +6 -6
  114. package/dist/{slice-6sP0Qs5V.cjs → slice-mxLQ_FeY.cjs} +127 -343
  115. package/dist/{slice-DnG-yvpI.cjs → slice-oqm_r1cS.cjs} +2 -2
  116. package/dist/{slice-Da426sf9.js → slice-zJ9XVYjZ.js} +1 -1
  117. package/dist/{sync-operation-utils-KT5Y9yFK.js → sync-operation-utils-BYXLO80m.js} +52 -1
  118. package/dist/{sync-operation-utils-C9kcmjKH.cjs → sync-operation-utils-SdPbwFoD.cjs} +87 -0
  119. package/dist/{token-id-mapper-qx7XfH0b.js → token-id-mapper-B2ivlLv3.js} +2 -2
  120. package/dist/{token-id-mapper-IApjwuJb.cjs → token-id-mapper-DsPAL6Nh.cjs} +2 -2
  121. package/dist/{util-D1e0skzp.js → util-BaLzwa32.js} +1 -1
  122. package/dist/{util-BeG7WXzM.cjs → util-CGzqQ8IV.cjs} +1 -1
  123. package/dist/{utils-DsElZgCI.cjs → utils-5JvjbqH3.cjs} +1 -7
  124. package/dist/{utils-BfBEUvWA.js → utils-o8aMjfln.js} +2 -2
  125. package/dist/{vote-delegation-tx-builder-CtdIgaIt.cjs → vote-delegation-tx-builder-BpEMSti4.cjs} +6 -6
  126. package/dist/{vote-delegation-tx-builder-CQjGvVNZ.js → vote-delegation-tx-builder-CmKv6GoG.js} +5 -5
  127. package/package.json +4 -96
  128. package/dist/_polyfill-buffer-patch-yNxN4d5E.js +0 -1467
  129. package/dist/_web-crypto-random-bytes-Bo-GTcRS.js +0 -197
  130. package/dist/acc-module-4iIUv6My.cjs +0 -27654
  131. package/dist/acc-module-Cmj8EsIb.js +0 -27624
  132. package/dist/account-BlYkEmcs.cjs +0 -11
  133. package/dist/account-DVX0F5_M.js +0 -6
  134. package/dist/account-call-D68oF6bh.js +0 -267
  135. package/dist/account-call-DIIa2rK_.cjs +0 -314
  136. package/dist/account-call-NgLhYein.cjs +0 -4
  137. package/dist/account-call-n-Nkp35e.js +0 -3
  138. package/dist/account-guards-BtjTGxDZ.cjs +0 -42
  139. package/dist/account-guards-D9Lu5T3W.js +0 -36
  140. package/dist/account-tokens-CtN2BaFy.js +0 -16
  141. package/dist/account-tokens-DXr8DlpW.cjs +0 -21
  142. package/dist/address-B9ntKL8K.js +0 -13761
  143. package/dist/address-BXp-mY8H.cjs +0 -11270
  144. package/dist/address-book-address-validator-DK0dnsRS.cjs +0 -41
  145. package/dist/address-book-address-validator-Di_ywo8M.js +0 -39
  146. package/dist/artefact-loader-54uK5RAa.js +0 -160
  147. package/dist/artefact-loader-DZPYrq-6.cjs +0 -183
  148. package/dist/auto-dismiss-failure-on-success-C-qoJuid.cjs +0 -37
  149. package/dist/auto-dismiss-failure-on-success-s8MGDEIu.js +0 -31
  150. package/dist/bip32-D6wd_QMn.cjs +0 -3851
  151. package/dist/bitcoin-data-provider-BYPSmuZS.js +0 -21
  152. package/dist/bitcoin-data-provider-w1oEDSU3.cjs +0 -26
  153. package/dist/bn-d3nSOIf7.cjs +0 -2553
  154. package/dist/browser-B1eMbDwh.js +0 -7468
  155. package/dist/bytes.vo-BB7_4JK6.js +0 -23
  156. package/dist/bytes.vo-BNRquqaO.cjs +0 -34
  157. package/dist/cardano-DfPwhwm-.js +0 -3
  158. package/dist/client-DXBLHk7K.cjs +0 -808
  159. package/dist/codecs-Cswkg7Tm.cjs +0 -4051
  160. package/dist/codecs-Dc1Krpbt.js +0 -3903
  161. package/dist/const-BfEnY8fg.js +0 -153
  162. package/dist/const-BhYOdznB.cjs +0 -42
  163. package/dist/const-CUnCl5U0.js +0 -13
  164. package/dist/const-DLrX5SD9.cjs +0 -31995
  165. package/dist/contract-C_CBwwiC.cjs +0 -189
  166. package/dist/contract-s_x-9-lz.js +0 -171
  167. package/dist/create-add-accounts-Brqk84vF.js +0 -102
  168. package/dist/create-add-accounts-DzXIh7Ot.cjs +0 -114
  169. package/dist/device-commitment-hex.vo-5wFtQvDS.js +0 -26
  170. package/dist/device-commitment-hex.vo-CT3RmAug.cjs +0 -31
  171. package/dist/device-readers-70i7tQqU.cjs +0 -8
  172. package/dist/device-readers-B7--ezKM.js +0 -4
  173. package/dist/device-readers-BWOmz9eD.js +0 -145
  174. package/dist/device-readers-CIgYZN7f.cjs +0 -168
  175. package/dist/dist-BMi5ZjEq.cjs +0 -43175
  176. package/dist/dist-BtIq4XFn.cjs +0 -535
  177. package/dist/dist-C3SHC_Ho.cjs +0 -1394
  178. package/dist/dist-CykEjYEX.cjs +0 -3814
  179. package/dist/dist-Dcsxh3be.cjs +0 -3452
  180. package/dist/dist-DqJfSlTd.cjs +0 -4413
  181. package/dist/dist-nTZ70qj7.cjs +0 -1306
  182. package/dist/enc-key-circuits-C8fGAMEF.cjs +0 -24
  183. package/dist/enc-key-circuits-DA2Xs3vZ.js +0 -13
  184. package/dist/english-Byb9M0E_.cjs +0 -2057
  185. package/dist/envelopes-BkH1Qdxk.js +0 -1620
  186. package/dist/envelopes-ETZEJS_O.cjs +0 -1721
  187. package/dist/errors-BZ8hnhCM.cjs +0 -584
  188. package/dist/errors-DIJTAsLa.js +0 -392
  189. package/dist/esm-HBSUQw3w.js +0 -384
  190. package/dist/esm-LZuaZjMf.cjs +0 -389
  191. package/dist/experimental.cjs +0 -7073
  192. package/dist/experimental.d.ts +0 -84347
  193. package/dist/experimental.js +0 -6915
  194. package/dist/gated-call-Boy6rXdC.js +0 -3
  195. package/dist/gated-call-DJWY299W.cjs +0 -736
  196. package/dist/gated-call-DjoRPqn1.js +0 -695
  197. package/dist/gated-call-SomdJ5nj.cjs +0 -4
  198. package/dist/grant-circuits-_1x--moV.cjs +0 -49
  199. package/dist/grant-circuits-swuzEdUl.js +0 -26
  200. package/dist/grant-rules-7Zqi_3BN.cjs +0 -7114
  201. package/dist/grant-rules-_xJHAT2M.js +0 -6833
  202. package/dist/grant-status-B2y49iIu.js +0 -2688
  203. package/dist/grant-status-DOr3t_u8.cjs +0 -2820
  204. package/dist/grants--b0LQQzZ.cjs +0 -266
  205. package/dist/grants-BIs6qm3b.js +0 -213
  206. package/dist/grants-CSgfYlOO.js +0 -5
  207. package/dist/grants-D61131nK.cjs +0 -17
  208. package/dist/hex-D9ITYbwt.cjs +0 -263
  209. package/dist/hex-mkXcV3pN.js +0 -191
  210. package/dist/http-client-B3N-TMxu.cjs +0 -167
  211. package/dist/http-client-TRlhDZGh.js +0 -155
  212. package/dist/identity-BMLuufva.cjs +0 -263
  213. package/dist/identity-DII6f-h7.js +0 -233
  214. package/dist/in-memory-wallet-integration-B2xzxORj.cjs +0 -20741
  215. package/dist/in-memory-wallet-integration-CUKesGG1.js +0 -130
  216. package/dist/in-memory-wallet-integration-CoPx69lQ.cjs +0 -240
  217. package/dist/in-memory-wallet-integration-TM9bBphA.js +0 -20738
  218. package/dist/init-B5X_sGj9.cjs +0 -6
  219. package/dist/init-BJn-8_hf.js +0 -141
  220. package/dist/init-Bp6yJk31.js +0 -1142
  221. package/dist/init-Bu4iXcTH.cjs +0 -34
  222. package/dist/init-C00gw1zi.js +0 -422
  223. package/dist/init-CIjZaQvL.js +0 -3584
  224. package/dist/init-CR7BfztQ.cjs +0 -18
  225. package/dist/init-Cp8EJGbm.js +0 -5
  226. package/dist/init-CpIadSUb.js +0 -33
  227. package/dist/init-D5UiYI12.cjs +0 -106
  228. package/dist/init-DAikR9qU.js +0 -1177
  229. package/dist/init-DGjXwWs2.cjs +0 -143
  230. package/dist/init-DHrCbpkW.cjs +0 -121
  231. package/dist/init-DU5yYX5u.js +0 -2374
  232. package/dist/init-DWvkFDkc.cjs +0 -1176
  233. package/dist/init-DY1unoGb.cjs +0 -1141
  234. package/dist/init-DlqJuHhl.js +0 -119
  235. package/dist/init-DuYENxci.js +0 -17
  236. package/dist/init-E7c40ddW.cjs +0 -3585
  237. package/dist/init-GsT2AEa4.cjs +0 -424
  238. package/dist/init-KQnIdm39.js +0 -104
  239. package/dist/init-ZjNDDC-T.cjs +0 -2375
  240. package/dist/jubjub-authoriser-BxE3oN2y.js +0 -86
  241. package/dist/jubjub-authoriser-C6SDEP9I.cjs +0 -87
  242. package/dist/key-source-5oUBFiC7.cjs +0 -583
  243. package/dist/key-source-B08HukZg.js +0 -2550
  244. package/dist/keyDerivation-D3k9XyHg.js +0 -4077
  245. package/dist/keyDerivation-u0nBA93T.cjs +0 -274
  246. package/dist/lib--iqvW4O_.js +0 -2354
  247. package/dist/lib-Yk6Upl5D.cjs +0 -2359
  248. package/dist/midnight-account-id.vo-0x9X-r3l.cjs +0 -10
  249. package/dist/midnight-account-id.vo-DjCAGcqc.js +0 -5
  250. package/dist/midnight-engine-DpemplKO.js +0 -5
  251. package/dist/midnight-engine-xU1wotne.cjs +0 -6
  252. package/dist/midnight-wallet-DIsAlSn6.js +0 -18
  253. package/dist/midnight-wallet-XTZc2li7.cjs +0 -24
  254. package/dist/midnight.cjs +0 -1406
  255. package/dist/midnight.d.ts +0 -28586
  256. package/dist/midnight.js +0 -1350
  257. package/dist/modules-cardano-CtWLntet.cjs +0 -1108
  258. package/dist/modules-cardano-D2dkeKHY.js +0 -995
  259. package/dist/node-relay-Cv0cNknM.js +0 -48
  260. package/dist/node-relay-DblH5fKv.cjs +0 -49
  261. package/dist/outputs-Bd2yZVjx.js +0 -720
  262. package/dist/outputs-CJoQBIA2.cjs +0 -990
  263. package/dist/pbkdf2-CIW-oWrm.cjs +0 -1337
  264. package/dist/pending-operation-B0_P78Jo.cjs +0 -26
  265. package/dist/pending-operation-BIS6mpjB.js +0 -21
  266. package/dist/providers-BLgJ0uQs.cjs +0 -366
  267. package/dist/providers-CwnT4vEE.js +0 -343
  268. package/dist/redacted-BmE2aXqr.js +0 -81
  269. package/dist/redacted-CRZJLS3w.cjs +0 -86
  270. package/dist/safe-buffer-B_vMqJWU.js +0 -43
  271. package/dist/safe-buffer-DYOwEfHB.cjs +0 -48
  272. package/dist/sdk-DIcjlgLF.js +0 -1241
  273. package/dist/sdk-Dgal10kG.cjs +0 -1439
  274. package/dist/sdk-init-BKkqFtWZ.cjs +0 -3791
  275. package/dist/sdk-init-DNd-oQXp.js +0 -1044
  276. package/dist/send-proof-progress-DTK3ZuYB.js +0 -22
  277. package/dist/send-proof-progress-dDoqIohG.cjs +0 -33
  278. package/dist/side-effects-BnqYz7Nl.js +0 -768
  279. package/dist/side-effects-CngaeXi0.cjs +0 -804
  280. package/dist/sign-bitcoin-transaction-with-seed-D4z62-jV.js +0 -147
  281. package/dist/sign-bitcoin-transaction-with-seed-DsLYXnCY.cjs +0 -158
  282. package/dist/signer-3fk8lZtE.cjs +0 -7
  283. package/dist/signer-CsL28DrK.cjs +0 -121
  284. package/dist/signer-DGluibtn.js +0 -92
  285. package/dist/signer-RqB5pu3K.js +0 -2
  286. package/dist/signer-factory-BA7WFJVZ.js +0 -282
  287. package/dist/signer-factory-CORIG4Yl.cjs +0 -130
  288. package/dist/signer-factory-Cd2TwD50.js +0 -129
  289. package/dist/signer-factory-Cwd6o-lG.cjs +0 -281
  290. package/dist/slice-BOyAAaj0.cjs +0 -378
  291. package/dist/slice-BnTJeMOb.js +0 -354
  292. package/dist/slice-C4uXUT7S.js +0 -9013
  293. package/dist/slice-CxKWDuBP.js +0 -87
  294. package/dist/slice-DQv_RhsI.cjs +0 -9031
  295. package/dist/slice-HjLXJyQG2.cjs +0 -105
  296. package/dist/src-BDzYIksE.cjs +0 -20637
  297. package/dist/src-BFoefPv_.js +0 -20755
  298. package/dist/store-B1Lq3cEf.cjs +0 -66
  299. package/dist/store-DuBG8qh5.js +0 -37
  300. package/dist/submit-BBYjnZu8.cjs +0 -87
  301. package/dist/submit-D_yxYM_T.js +0 -70
  302. package/dist/submit-bitcoin-tx-BkZIeF4b.js +0 -983
  303. package/dist/submit-bitcoin-tx-DZNQgihl.cjs +0 -1049
  304. package/dist/token-id-mapper-Bnds3xKH.cjs +0 -18
  305. package/dist/token-id-mapper-CnKHQ8DV.js +0 -16
  306. package/dist/tokens-Cevp7rdU.cjs +0 -62
  307. package/dist/tokens-Diw4MLRM.js +0 -44
  308. package/dist/types-B8uiJn-X.js +0 -12
  309. package/dist/types-CJT6XF2c.js +0 -10
  310. package/dist/types-CLRUYpfe.cjs +0 -23
  311. package/dist/types-DWbVZpnF.cjs +0 -15
  312. package/dist/types-T0cjaR75.js +0 -33
  313. package/dist/types-Zj78LtYu.cjs +0 -50
  314. package/dist/unwrap-provider-result-BZSiwabU.js +0 -32
  315. package/dist/unwrap-provider-result-ZqfBsTkk.cjs +0 -39
  316. package/dist/utils-BfMdr_1w.cjs +0 -112
  317. package/dist/utils-CvAW5Yw7.js +0 -65
  318. package/dist/v8Signatures-CO_Uloy7.cjs +0 -71
  319. package/dist/watch-Cz1J42um.cjs +0 -52205
  320. package/dist/watch-Z53L4yoK.js +0 -13054
  321. /package/dist/{account-id.vo-DwqFjK5u.cjs → account-id.vo-LvCBVn5r.cjs} +0 -0
  322. /package/dist/{account-id.vo-OPz2v-JZ.js → account-id.vo-MYSI7YFm.js} +0 -0
  323. /package/dist/{actions-iLXdgL5Y.js → actions-9QSQR-GB.js} +0 -0
  324. /package/dist/{actions-B2BJ4RTy.cjs → actions-DdGbj7c7.cjs} +0 -0
  325. /package/dist/{apply-vkey-witnesses-ZnFS0jnJ.cjs → apply-vkey-witnesses-CLzVSWxl.cjs} +0 -0
  326. /package/dist/{apply-vkey-witnesses-BKx3lcs0.js → apply-vkey-witnesses-ClZbpk5w.js} +0 -0
  327. /package/dist/{asyncoption-CruEYOBI.js → asyncoption-Cw07zPH7.js} +0 -0
  328. /package/dist/{asyncoption-i0VbqVTq.cjs → asyncoption-DYoGuQfP.cjs} +0 -0
  329. /package/dist/{bignum.vo-CEXOIew0.js → bignum.vo-B0rK_PQ1.js} +0 -0
  330. /package/dist/{bignum.vo-hx2kuqlA.cjs → bignum.vo-DsG3kNiZ.cjs} +0 -0
  331. /package/dist/{bip32ed25519-B7Yat217.cjs → bip32ed25519-1ApqeAZk.cjs} +0 -0
  332. /package/dist/{bip32ed25519-FQ8qvdcq.js → bip32ed25519-DetAdGwD.js} +0 -0
  333. /package/dist/{blake2b-DEeVUdKR.cjs → blake2b-B9tftbvG.cjs} +0 -0
  334. /package/dist/{blake2b-BiQTw3GC.js → blake2b-DOEVc57D.js} +0 -0
  335. /package/dist/{blockchain-network-id.vo-BAKEwGjG.cjs → blockchain-network-id.vo-BXpZhvvQ.cjs} +0 -0
  336. /package/dist/{blockchain-network-id.vo-CiVykuqG.js → blockchain-network-id.vo-DNRkuT5B.js} +0 -0
  337. /package/dist/{blockingWithLatestFrom-Cd8c8EPG.js → blockingWithLatestFrom-C5wp_uA-.js} +0 -0
  338. /package/dist/{blockingWithLatestFrom-D8kBPBMX.cjs → blockingWithLatestFrom-DY8OPg0w.cjs} +0 -0
  339. /package/dist/{cardano-network-id-to-network-type-C0ufJOyE.cjs → cardano-network-id-to-network-type-BDTF-HmK.cjs} +0 -0
  340. /package/dist/{cardano-network-id-to-network-type-BWwzeEtM.js → cardano-network-id-to-network-type-CrZfUcyP.js} +0 -0
  341. /package/dist/{cardano-tx-id.vo-D3ASTIMd.cjs → cardano-tx-id.vo-BPhV-AmZ.cjs} +0 -0
  342. /package/dist/{cardano-tx-id.vo-BXLo1b7Q.js → cardano-tx-id.vo-DF9NzZXk.js} +0 -0
  343. /package/dist/{composite-signer-factory-m5cVs9h_.cjs → composite-signer-factory-BpF1mIYA.cjs} +0 -0
  344. /package/dist/{composite-signer-factory-CR8YHA1y.js → composite-signer-factory-_46QsNBz.js} +0 -0
  345. /package/dist/{error-DIZOY2Lw.js → error-BCp9NkPi.js} +0 -0
  346. /package/dist/{error-Cb3EnD0u.cjs → error-CNIquqT5.cjs} +0 -0
  347. /package/dist/{esm-browser-MG97cre9.js → esm-browser-C93Q-EOI.js} +0 -0
  348. /package/dist/{esm-browser-bweqfBlL.cjs → esm-browser-DTc9IK3D.cjs} +0 -0
  349. /package/dist/{feature-flag-key.vo-RlfHL3hq.cjs → feature-flag-key.vo-BPz-ZAp6.cjs} +0 -0
  350. /package/dist/{feature-flag-key.vo-DN_-4-sG.js → feature-flag-key.vo-ofrB6ZVQ.js} +0 -0
  351. /package/dist/{first-state-of-status-unPynOuM.js → first-state-of-status-DQnMT3ya.js} +0 -0
  352. /package/dist/{first-state-of-status-CbT7hPa4.cjs → first-state-of-status-OROkXcRv.cjs} +0 -0
  353. /package/dist/{init-zUoRG_EC2.cjs → init-C5CEZ1m0.cjs} +0 -0
  354. /package/dist/{init-DHaMxHM1.js → init-CKipPE_c.js} +0 -0
  355. /package/dist/{init-Atisw4x2.cjs → init-DFQQ9dTW.cjs} +0 -0
  356. /package/dist/{init-829HRYcz.js → init-Es3wHW7D.js} +0 -0
  357. /package/dist/{init-BgNobbNq.cjs → init-IAk_CkGa.cjs} +0 -0
  358. /package/dist/{init-atCFur0v.js → init-cqN3uX2j.js} +0 -0
  359. /package/dist/{is-redux-persist-state-BCFnSm36.cjs → is-redux-persist-state-CTn3WZVh.cjs} +0 -0
  360. /package/dist/{is-redux-persist-state-yBfq0h_E.js → is-redux-persist-state-Cxcd0_bM.js} +0 -0
  361. /package/dist/{key-value-store--W3SrMaw.js → key-value-store-8cMzeNyG.js} +0 -0
  362. /package/dist/{key-value-store-C2Xt5Emp.cjs → key-value-store-DUAepXQf.cjs} +0 -0
  363. /package/dist/{repo-slice-RxFm0zDZ.js → repo-slice-DwyMhCR1.js} +0 -0
  364. /package/dist/{repo-slice-7X4AYYVm.cjs → repo-slice-WxetRhMY.cjs} +0 -0
  365. /package/dist/{reselect-CGoLzEPv.js → reselect-C06X06oX.js} +0 -0
  366. /package/dist/{reselect-Bd94u0K-.cjs → reselect-CRDqmQY9.cjs} +0 -0
  367. /package/dist/{serializable-BHdKIgk3.js → serializable-B8GahgE1.js} +0 -0
  368. /package/dist/{serializable-BxHkoPdk.cjs → serializable-CRdnFaLZ.cjs} +0 -0
  369. /package/dist/{slice-obCSLm1x.js → slice-B87b52iM.js} +0 -0
  370. /package/dist/{slice-Bk0Sv05J.js → slice-Be7hj4Iy.js} +0 -0
  371. /package/dist/{slice-BiRsDKOK.cjs → slice-D11FHQuQ.cjs} +0 -0
  372. /package/dist/{slice-Dqw1ecum.cjs → slice-FioKeHtA.cjs} +0 -0
  373. /package/dist/{src-Cqp0B2M_.cjs → src-BTPIvlDI.cjs} +0 -0
  374. /package/dist/{src-BlxEp6Mm.js → src-vq1wS9sZ.js} +0 -0
  375. /package/dist/{time.vo-D3wWRw9L.cjs → time.vo-CQ8pSXz2.cjs} +0 -0
  376. /package/dist/{time.vo-tNheinXm.js → time.vo-DkYYGYp6.js} +0 -0
  377. /package/dist/{toEmpty-8Zax1MPd.js → toEmpty-CgAl3097.js} +0 -0
  378. /package/dist/{toEmpty-CYAbupM4.cjs → toEmpty-DAMmNB5r.cjs} +0 -0
  379. /package/dist/{token-id.vo-DXv5uS9n.cjs → token-id.vo-BxG9TG0O.cjs} +0 -0
  380. /package/dist/{token-id.vo-Bvwhr3ZE.js → token-id.vo-ClsroxHO.js} +0 -0
  381. /package/dist/{util-CzeB3hfa.cjs → util-CmdAhheh.cjs} +0 -0
  382. /package/dist/{util-C8a4fA9p.js → util-DxzlYNS5.js} +0 -0
  383. /package/dist/{util-selector-BWPH68_l.cjs → util-selector-BcAncU4L.cjs} +0 -0
  384. /package/dist/{util-selector-BSTsxgne.js → util-selector-CcK-GAdE.js} +0 -0
  385. /package/dist/{while-active-B0lWy_6l.js → while-active-BpppWuCs.js} +0 -0
  386. /package/dist/{while-active-Dsowp0Fi.cjs → while-active-Dhc2LwOm.cjs} +0 -0
@@ -1,583 +0,0 @@
1
- const require_codecs = require("./codecs-Cswkg7Tm.cjs");
2
- const require_english = require("./english-Byb9M0E_.cjs");
3
- const require_esm = require("./esm-LZuaZjMf.cjs");
4
- //#region ../../packages/lib/crypto/src/value-objects/entropy-hex.vo.ts
5
- const ENTROPY_BYTE_LENGTH = 32;
6
- const ENTROPY_HEX_LENGTH = ENTROPY_BYTE_LENGTH * 2;
7
- const HEX_PATTERN = /^[0-9a-fA-F]+$/;
8
- /**
9
- * Types 32 bytes of entropy, as 64 hex characters, for `Mnemonic.deriveFrom`.
10
- * Throws when the value has another length or is not hex.
11
- */
12
- const EntropyHex = (value) => {
13
- if (value.length !== ENTROPY_HEX_LENGTH) throw new Error(`EntropyHex must be ${ENTROPY_BYTE_LENGTH} bytes (${ENTROPY_HEX_LENGTH} hex characters), got ${value.length}`);
14
- if (!HEX_PATTERN.test(value)) throw new Error("EntropyHex must be a hex-encoded string");
15
- return value;
16
- };
17
- //#endregion
18
- //#region ../../packages/lib/crypto/node_modules/@scure/bip39/esm/index.js
19
- /**
20
- * Audited & minimal JS implementation of
21
- * [BIP39 mnemonic phrases](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki).
22
- * @module
23
- * @example
24
- ```js
25
- import * as bip39 from '@scure/bip39';
26
- import { wordlist } from '@scure/bip39/wordlists/english';
27
- const mn = bip39.generateMnemonic(wordlist);
28
- console.log(mn);
29
- const ent = bip39.mnemonicToEntropy(mn, wordlist)
30
- bip39.entropyToMnemonic(ent, wordlist);
31
- bip39.validateMnemonic(mn, wordlist);
32
- await bip39.mnemonicToSeed(mn, 'password');
33
- bip39.mnemonicToSeedSync(mn, 'password');
34
-
35
- // Wordlists
36
- import { wordlist as czech } from '@scure/bip39/wordlists/czech';
37
- import { wordlist as english } from '@scure/bip39/wordlists/english';
38
- import { wordlist as french } from '@scure/bip39/wordlists/french';
39
- import { wordlist as italian } from '@scure/bip39/wordlists/italian';
40
- import { wordlist as japanese } from '@scure/bip39/wordlists/japanese';
41
- import { wordlist as korean } from '@scure/bip39/wordlists/korean';
42
- import { wordlist as portuguese } from '@scure/bip39/wordlists/portuguese';
43
- import { wordlist as simplifiedChinese } from '@scure/bip39/wordlists/simplified-chinese';
44
- import { wordlist as spanish } from '@scure/bip39/wordlists/spanish';
45
- import { wordlist as traditionalChinese } from '@scure/bip39/wordlists/traditional-chinese';
46
- ```
47
- */
48
- /*! scure-bip39 - MIT License (c) 2022 Patricio Palladino, Paul Miller (paulmillr.com) */
49
- const isJapanese = (wordlist) => wordlist[0] === "あいこくしん";
50
- function nfkd(str) {
51
- if (typeof str !== "string") throw new TypeError("invalid mnemonic type: " + typeof str);
52
- return str.normalize("NFKD");
53
- }
54
- function normalize(str) {
55
- const norm = nfkd(str);
56
- const words = norm.split(" ");
57
- if (![
58
- 12,
59
- 15,
60
- 18,
61
- 21,
62
- 24
63
- ].includes(words.length)) throw new Error("Invalid mnemonic");
64
- return {
65
- nfkd: norm,
66
- words
67
- };
68
- }
69
- function aentropy(ent) {
70
- require_codecs.abytes(ent, 16, 20, 24, 28, 32);
71
- }
72
- const calcChecksum = (entropy) => {
73
- const bitsLeft = 8 - entropy.length / 4;
74
- return new Uint8Array([require_codecs.sha256(entropy)[0] >> bitsLeft << bitsLeft]);
75
- };
76
- function getCoder(wordlist) {
77
- if (!Array.isArray(wordlist) || wordlist.length !== 2048 || typeof wordlist[0] !== "string") throw new Error("Wordlist: expected array of 2048 strings");
78
- wordlist.forEach((i) => {
79
- if (typeof i !== "string") throw new Error("wordlist: non-string element: " + i);
80
- });
81
- return require_esm.utils.chain(require_esm.utils.checksum(1, calcChecksum), require_esm.utils.radix2(11, true), require_esm.utils.alphabet(wordlist));
82
- }
83
- /**
84
- * Reversible: Converts raw entropy in form of byte array to mnemonic string.
85
- * @param entropy byte array
86
- * @param wordlist imported wordlist for specific language
87
- * @returns 12-24 words
88
- * @example
89
- * const ent = new Uint8Array([
90
- * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f,
91
- * 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f
92
- * ]);
93
- * entropyToMnemonic(ent, wordlist);
94
- * // 'legal winner thank year wave sausage worth useful legal winner thank yellow'
95
- */
96
- function entropyToMnemonic(entropy, wordlist) {
97
- aentropy(entropy);
98
- return getCoder(wordlist).encode(entropy).join(isJapanese(wordlist) ? " " : " ");
99
- }
100
- const psalt = (passphrase) => nfkd("mnemonic" + passphrase);
101
- /**
102
- * Irreversible: Uses KDF to derive 64 bytes of key data from mnemonic + optional password.
103
- * @param mnemonic 12-24 words
104
- * @param passphrase string that will additionally protect the key
105
- * @returns 64 bytes of key data
106
- * @example
107
- * const mnem = 'legal winner thank year wave sausage worth useful legal winner thank yellow';
108
- * mnemonicToSeedSync(mnem, 'password');
109
- * // new Uint8Array([...64 bytes])
110
- */
111
- function mnemonicToSeedSync(mnemonic, passphrase = "") {
112
- return require_codecs.pbkdf2(require_codecs.sha512, normalize(mnemonic).nfkd, psalt(passphrase), {
113
- c: 2048,
114
- dkLen: 64
115
- });
116
- }
117
- //#endregion
118
- //#region ../../packages/lib/crypto/src/value-objects/mnemonic.vo.ts
119
- /**
120
- * Types a list of words as a BIP-39 mnemonic; it checks nothing.
121
- * `Mnemonic.deriveFrom(entropy)` derives 24 words from 32 bytes of entropy,
122
- * and `Mnemonic.toSeed(words)` gives their BIP-39 seed.
123
- */
124
- const Mnemonic = (words) => words;
125
- /**
126
- * Derives a 24-word BIP39 mnemonic from 32 bytes of hex-encoded entropy.
127
- * Uses HKDF for domain separation, so the raw entropy is never used
128
- * directly as seed material. The entropy bytes and the expanded key are zeroed once the
129
- * words exist; the words themselves are strings and cannot be.
130
- */
131
- Mnemonic.deriveFrom = (entropyHex) => {
132
- const rawKey = require_codecs.hexToBytes(entropyHex);
133
- const derived = require_codecs.hkdf(require_codecs.sha256, rawKey, "lace", "wallet-seed", 32);
134
- try {
135
- return Mnemonic(entropyToMnemonic(derived, require_english.wordlist).split(" "));
136
- } finally {
137
- rawKey.fill(0);
138
- derived.fill(0);
139
- }
140
- };
141
- /**
142
- * The 64-byte BIP39 seed of the mnemonic with an empty passphrase: the seed
143
- * that wallets deriving their keys from the BIP39 seed consume, so secrets
144
- * derived from it match what such a wallet built from the same words would
145
- * derive. The caller owns the bytes and zeroes them after use.
146
- */
147
- Mnemonic.toSeed = (words) => mnemonicToSeedSync(words.join(" "));
148
- //#endregion
149
- //#region ../../packages/lib/passkey/src/constants.ts
150
- /** The label of the first PRF salt, whose output is the device secret. */
151
- const PRF_SALT_AUTHORISER_LABEL = "lace-passport/prf/authoriser/v1";
152
- /** The label of the second PRF salt, whose output is the root every named derivation starts from. */
153
- const PRF_SALT_ROOT_LABEL = "lace/prf/root/v1";
154
- /** The HKDF info label under which the record sealing key derives from the root. */
155
- const HKDF_RECORD_KEY_INFO = "lace-passport/hkdf/record-key/v1";
156
- /** The HKDF info label under which the wallet entropy, and from it the recovery words, derives from the root. */
157
- const HKDF_WALLET_ENTROPY_INFO = "lace/hkdf/wallet-entropy/v1";
158
- //#endregion
159
- //#region ../../packages/lib/passkey/src/errors.ts
160
- /** The user dismissed a WebAuthn ceremony. */
161
- var PasskeyCeremonyCancelledError = class extends Error {
162
- code = "ceremony-cancelled";
163
- constructor() {
164
- super("The passkey ceremony was cancelled.");
165
- this.name = "PasskeyCeremonyCancelledError";
166
- }
167
- };
168
- /** The authenticator did not supply both PRF outputs. */
169
- var PasskeyPrfUnsupportedError = class extends Error {
170
- code = "prf-unsupported";
171
- constructor() {
172
- super("The platform authenticator does not support the PRF extension.");
173
- this.name = "PasskeyPrfUnsupportedError";
174
- }
175
- };
176
- /** The selected credential differs from the imported wallet credential. */
177
- var PasskeyCredentialMismatchError = class extends Error {
178
- code = "credential-mismatch";
179
- constructor() {
180
- super("The selected passkey does not match the wallet credential.");
181
- this.name = "PasskeyCredentialMismatchError";
182
- }
183
- };
184
- /**
185
- * The browser refused to open the signer popup (`popup-blocked`); it must be
186
- * opened inside a user gesture.
187
- */
188
- var SignerPopupBlockedError = class extends Error {
189
- code = "popup-blocked";
190
- constructor() {
191
- super("The browser blocked the signer popup.");
192
- this.name = "SignerPopupBlockedError";
193
- }
194
- };
195
- /**
196
- * The signer answered a request with a failure; `code` is the code it
197
- * reported, such as `ceremony-cancelled` when the user rejects the request
198
- * or `malformed-request` when the signer cannot describe it for consent,
199
- * and `details` the values it declared alongside, when any. Both come from
200
- * the signer page, so a reader validates `details` before acting on it.
201
- */
202
- var RemoteSignerError = class extends Error {
203
- code;
204
- details;
205
- constructor(code, message, details) {
206
- super(message);
207
- this.code = code;
208
- this.details = details;
209
- this.name = "RemoteSignerError";
210
- }
211
- };
212
- /**
213
- * The signer popup closed, as when the user closes the window, while requests
214
- * were still pending (`ceremony-cancelled`).
215
- */
216
- var SignerClosedError = class extends Error {
217
- code = "ceremony-cancelled";
218
- constructor() {
219
- super("The signer popup was closed.");
220
- this.name = "SignerClosedError";
221
- }
222
- };
223
- //#endregion
224
- //#region ../../packages/lib/passkey/src/ceremony.ts
225
- const DEFAULT_RP_NAME = "Lace";
226
- const CHALLENGE_LENGTH = 32;
227
- const USER_ID_LENGTH = 16;
228
- const WALLET_ENTROPY_LENGTH = 32;
229
- const MAX_CREDENTIAL_ID_LENGTH = 1023;
230
- const ES256 = -7;
231
- const RS256 = -257;
232
- const RECIPE_VERSION = "v1";
233
- const encodeId = (id) => btoa(String.fromCharCode(...new Uint8Array(id))).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/, "");
234
- const decodeId = (id) => {
235
- if (!/^[A-Za-z0-9_-]+$/.test(id) || id.length > Math.ceil(MAX_CREDENTIAL_ID_LENGTH * 4 / 3)) throw new Error("Invalid passkey credential ID.");
236
- let bytes;
237
- try {
238
- bytes = Uint8Array.from(atob(id.replaceAll("-", "+").replaceAll("_", "/")), (character) => character.charCodeAt(0));
239
- } catch {
240
- throw new Error("Invalid passkey credential ID.");
241
- }
242
- if (bytes.length > MAX_CREDENTIAL_ID_LENGTH || encodeId(bytes.buffer) !== id) throw new Error("Invalid passkey credential ID.");
243
- return bytes.buffer;
244
- };
245
- const utf8 = (value) => new TextEncoder().encode(value);
246
- /** PRF salts are public domain separators: SHA-256 of their label. */
247
- const prfSalt = async (label) => new Uint8Array(await crypto.subtle.digest("SHA-256", utf8(label)));
248
- const isCancellation = (error) => error instanceof Object && "name" in error && error.name === "NotAllowedError";
249
- const toBytes = (source) => source instanceof ArrayBuffer ? new Uint8Array(source) : new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
250
- /** Zeroes every PRF output of one assertion. */
251
- const zeroOutputs = (outputs) => {
252
- outputs.device?.fill(0);
253
- outputs.root.fill(0);
254
- };
255
- /**
256
- * The wallet entropy is HKDF-SHA256 over the root with an empty salt and a
257
- * fixed info label. The expanded bytes are zeroed once encoded; the hex
258
- * string is what leaves this function, and only for the caller's use.
259
- */
260
- const deriveWalletEntropy = (root) => {
261
- const raw = require_codecs.hkdf(require_codecs.sha256, root, void 0, HKDF_WALLET_ENTROPY_INFO, WALLET_ENTROPY_LENGTH);
262
- try {
263
- return EntropyHex(require_codecs.bytesToHex(raw));
264
- } finally {
265
- raw.fill(0);
266
- }
267
- };
268
- /**
269
- * Runs a fresh assertion and confines the words its root derives to `consume`.
270
- * The outputs are zeroed and the credential released on success and failure
271
- * alike; the credential is committed only when `consume` succeeds.
272
- */
273
- const withCeremonyMnemonic = async (ceremony, consume) => {
274
- const { outputs, credential } = await ceremony();
275
- try {
276
- const result = await consume(Mnemonic.deriveFrom(deriveWalletEntropy(outputs.root)));
277
- credential.commit();
278
- return result;
279
- } finally {
280
- credential.release();
281
- zeroOutputs(outputs);
282
- }
283
- };
284
- /**
285
- * The credential handling every key source shares: enrolment, the pinned
286
- * credential, and assertions evaluating the PRF at the root salt and, when
287
- * `deviceSaltLabel` is given, at that salt first. The root output is the
288
- * same either way, so every key source over one passkey derives the same
289
- * words.
290
- *
291
- * Ceremonies pin `allowCredentials` to the credential id captured from
292
- * passkey creation or a previous assertion; before one is known the key
293
- * is omitted, which is how WebAuthn asks for a discoverable credential,
294
- * so the browser offers any resident passkey for the origin. A dismissed
295
- * prompt maps to PasskeyCeremonyCancelledError and an authenticator without
296
- * PRF support to PasskeyPrfUnsupportedError.
297
- *
298
- * Enrolment asks for a platform authenticator, so the passkey is created
299
- * on the device the user is on and syncs through their platform
300
- * credential manager. Without that constraint a browser with no passkey
301
- * for the origin yet offers to scan a QR code and enrol another device
302
- * instead.
303
- */
304
- const createPasskeyCeremonies = ({ credentials, rpName = DEFAULT_RP_NAME, rpId = globalThis.location?.hostname, credentialId: importedCredentialId }, deviceSaltLabel) => {
305
- if (!rpId) throw new Error("A passkey RP ID is required.");
306
- const container = credentials ?? navigator.credentials;
307
- let credentialPin = importedCredentialId !== void 0 ? {
308
- credentialId: decodeId(importedCredentialId),
309
- committed: true,
310
- holders: 0
311
- } : void 0;
312
- const prfEval = async () => {
313
- const rootSalt = await prfSalt(PRF_SALT_ROOT_LABEL);
314
- return deviceSaltLabel === void 0 ? { first: rootSalt } : {
315
- first: await prfSalt(deviceSaltLabel),
316
- second: rootSalt
317
- };
318
- };
319
- const toOutputs = (results) => {
320
- if (deviceSaltLabel === void 0) {
321
- if (!results?.first) throw new PasskeyPrfUnsupportedError();
322
- return { root: toBytes(results.first) };
323
- }
324
- if (!results?.first || !results.second) throw new PasskeyPrfUnsupportedError();
325
- return {
326
- device: toBytes(results.first),
327
- root: toBytes(results.second)
328
- };
329
- };
330
- const credentialRef = () => credentialPin ? {
331
- credentialId: encodeId(credentialPin.credentialId),
332
- rpId,
333
- recipeVersion: RECIPE_VERSION
334
- } : void 0;
335
- const releaseCredentialPin = (pin) => {
336
- pin.holders -= 1;
337
- if (!pin.committed && pin.holders === 0 && credentialPin === pin) credentialPin = void 0;
338
- };
339
- const createCredential = async () => {
340
- const evaluation = await prfEval();
341
- let created;
342
- try {
343
- created = await container.create({ publicKey: {
344
- rp: {
345
- name: rpName,
346
- id: rpId
347
- },
348
- user: {
349
- id: crypto.getRandomValues(new Uint8Array(USER_ID_LENGTH)),
350
- name: rpName,
351
- displayName: rpName
352
- },
353
- challenge: crypto.getRandomValues(new Uint8Array(CHALLENGE_LENGTH)),
354
- pubKeyCredParams: [{
355
- type: "public-key",
356
- alg: ES256
357
- }, {
358
- type: "public-key",
359
- alg: RS256
360
- }],
361
- authenticatorSelection: {
362
- authenticatorAttachment: "platform",
363
- residentKey: "required",
364
- userVerification: "required"
365
- },
366
- extensions: { prf: { eval: evaluation } }
367
- } });
368
- } catch (error) {
369
- if (isCancellation(error)) throw new PasskeyCeremonyCancelledError();
370
- throw error;
371
- }
372
- if (!created) throw new PasskeyCeremonyCancelledError();
373
- const credential = created;
374
- if (!credential.getClientExtensionResults().prf?.enabled) throw new PasskeyPrfUnsupportedError();
375
- credentialPin = {
376
- credentialId: credential.rawId,
377
- committed: true,
378
- holders: 0
379
- };
380
- return credentialRef();
381
- };
382
- let enrolment;
383
- const ensureCredential = async () => {
384
- const existing = credentialRef();
385
- if (existing) return existing;
386
- enrolment ??= createCredential().finally(() => {
387
- enrolment = void 0;
388
- });
389
- return enrolment;
390
- };
391
- const ceremony = async () => {
392
- const evaluation = await prfEval();
393
- const expectedPin = credentialPin;
394
- const expectedCredentialId = expectedPin?.credentialId;
395
- if (expectedPin) expectedPin.holders += 1;
396
- let asserted;
397
- try {
398
- asserted = await container.get({ publicKey: {
399
- challenge: crypto.getRandomValues(new Uint8Array(CHALLENGE_LENGTH)),
400
- rpId,
401
- ...expectedCredentialId && { allowCredentials: [{
402
- type: "public-key",
403
- id: expectedCredentialId
404
- }] },
405
- userVerification: "required",
406
- extensions: { prf: { eval: evaluation } }
407
- } });
408
- } catch (error) {
409
- if (expectedPin) releaseCredentialPin(expectedPin);
410
- if (isCancellation(error)) throw new PasskeyCeremonyCancelledError();
411
- throw error;
412
- }
413
- if (!asserted) {
414
- if (expectedPin) releaseCredentialPin(expectedPin);
415
- throw new PasskeyCeremonyCancelledError();
416
- }
417
- let heldPin = expectedPin;
418
- try {
419
- const credential = asserted;
420
- if (expectedCredentialId && encodeId(credential.rawId) !== encodeId(expectedCredentialId)) throw new PasskeyCredentialMismatchError();
421
- const outputs = toOutputs(credential.getClientExtensionResults().prf?.results);
422
- if (!heldPin) {
423
- const currentPin = credentialPin;
424
- if (currentPin && encodeId(credential.rawId) !== encodeId(currentPin.credentialId)) throw new PasskeyCredentialMismatchError();
425
- if (currentPin) {
426
- currentPin.holders += 1;
427
- heldPin = currentPin;
428
- } else {
429
- heldPin = {
430
- credentialId: credential.rawId,
431
- committed: false,
432
- holders: 1
433
- };
434
- credentialPin = heldPin;
435
- }
436
- }
437
- const selectedPin = heldPin;
438
- let isReleased = false;
439
- return {
440
- outputs,
441
- credential: {
442
- commit: () => {
443
- selectedPin.committed = true;
444
- },
445
- release: () => {
446
- if (isReleased) return;
447
- isReleased = true;
448
- releaseCredentialPin(selectedPin);
449
- }
450
- }
451
- };
452
- } catch (error) {
453
- if (heldPin) releaseCredentialPin(heldPin);
454
- throw error;
455
- }
456
- };
457
- return {
458
- ensureCredential,
459
- credentialRef,
460
- ceremony
461
- };
462
- };
463
- //#endregion
464
- //#region ../../packages/lib/passkey/src/key-source.ts
465
- /**
466
- * Creates the key source of one passkey: it runs the WebAuthn PRF ceremony
467
- * and derives the passkey's wallet words, handing them only to the callback
468
- * of `withPasskeyMnemonic`.
469
- *
470
- * @remarks
471
- * A {@link PasskeyKeySource} over the WebAuthn PRF extension. Each call to
472
- * `withPasskeyMnemonic` is its own assertion: the PRF output is the root,
473
- * the words derive from it through HKDF and BIP-39, and the root is zeroed
474
- * once the callback settles, on success and failure alike. Nothing is kept
475
- * between calls except the credential id.
476
- *
477
- * Ceremonies pin `allowCredentials` to the credential id captured from
478
- * passkey creation or a previous assertion; before one is known the key is
479
- * omitted, so the browser offers any resident passkey for the origin. A
480
- * dismissed prompt rejects with a `ceremony-cancelled` error and an
481
- * authenticator without PRF support with a `prf-unsupported` one.
482
- *
483
- * Enrolment asks for a platform authenticator, so the passkey is created on
484
- * the device the user is on and syncs through their platform credential
485
- * manager. Without that constraint a browser with no passkey for the origin
486
- * yet offers to scan a QR code and enrol another device instead.
487
- *
488
- * @param props - The relying party, a saved credential ID and the WebAuthn
489
- * entry point, each optional.
490
- */
491
- const createPasskeyKeySource = (props = {}) => {
492
- const { ensureCredential, credentialRef, ceremony } = createPasskeyCeremonies(props);
493
- return {
494
- ensureCredential,
495
- credentialRef,
496
- withPasskeyMnemonic: async (use) => withCeremonyMnemonic(ceremony, use)
497
- };
498
- };
499
- //#endregion
500
- Object.defineProperty(exports, "EntropyHex", {
501
- enumerable: true,
502
- get: function() {
503
- return EntropyHex;
504
- }
505
- });
506
- Object.defineProperty(exports, "HKDF_RECORD_KEY_INFO", {
507
- enumerable: true,
508
- get: function() {
509
- return HKDF_RECORD_KEY_INFO;
510
- }
511
- });
512
- Object.defineProperty(exports, "Mnemonic", {
513
- enumerable: true,
514
- get: function() {
515
- return Mnemonic;
516
- }
517
- });
518
- Object.defineProperty(exports, "PRF_SALT_AUTHORISER_LABEL", {
519
- enumerable: true,
520
- get: function() {
521
- return PRF_SALT_AUTHORISER_LABEL;
522
- }
523
- });
524
- Object.defineProperty(exports, "PasskeyCeremonyCancelledError", {
525
- enumerable: true,
526
- get: function() {
527
- return PasskeyCeremonyCancelledError;
528
- }
529
- });
530
- Object.defineProperty(exports, "PasskeyPrfUnsupportedError", {
531
- enumerable: true,
532
- get: function() {
533
- return PasskeyPrfUnsupportedError;
534
- }
535
- });
536
- Object.defineProperty(exports, "RemoteSignerError", {
537
- enumerable: true,
538
- get: function() {
539
- return RemoteSignerError;
540
- }
541
- });
542
- Object.defineProperty(exports, "SignerClosedError", {
543
- enumerable: true,
544
- get: function() {
545
- return SignerClosedError;
546
- }
547
- });
548
- Object.defineProperty(exports, "SignerPopupBlockedError", {
549
- enumerable: true,
550
- get: function() {
551
- return SignerPopupBlockedError;
552
- }
553
- });
554
- Object.defineProperty(exports, "createPasskeyCeremonies", {
555
- enumerable: true,
556
- get: function() {
557
- return createPasskeyCeremonies;
558
- }
559
- });
560
- Object.defineProperty(exports, "createPasskeyKeySource", {
561
- enumerable: true,
562
- get: function() {
563
- return createPasskeyKeySource;
564
- }
565
- });
566
- Object.defineProperty(exports, "deriveWalletEntropy", {
567
- enumerable: true,
568
- get: function() {
569
- return deriveWalletEntropy;
570
- }
571
- });
572
- Object.defineProperty(exports, "withCeremonyMnemonic", {
573
- enumerable: true,
574
- get: function() {
575
- return withCeremonyMnemonic;
576
- }
577
- });
578
- Object.defineProperty(exports, "zeroOutputs", {
579
- enumerable: true,
580
- get: function() {
581
- return zeroOutputs;
582
- }
583
- });