@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,266 +0,0 @@
1
- const require_bytes_vo = require("./bytes.vo-BNRquqaO.cjs");
2
- const require_grant_rules = require("./grant-rules-7Zqi_3BN.cjs");
3
- const require_errors = require("./errors-BZ8hnhCM.cjs");
4
- const require_grant_circuits = require("./grant-circuits-_1x--moV.cjs");
5
- const require_acc_module = require("./acc-module-4iIUv6My.cjs");
6
- //#region ../../packages/module/passport-account/src/acc/grants.ts
7
- /** Domain tag of the origin hash; it fills its 32-byte pad exactly. */
8
- const GRANT_ORIGIN_TAG = "midnight:account:grant:origin:v1";
9
- const ORIGIN_TAG_LENGTH = 32;
10
- const SCOPE_SALT_LENGTH = 32;
11
- const GRANT_SLOT_COUNT = 256;
12
- const SCOPE_ARG_COUNT = 16;
13
- /**
14
- * The signature envelope a secp256k1 grant is bound to: plain ECDSA over
15
- * the SHA-256 digest of the challenge, the only envelope the contract
16
- * admits for a spend grant.
17
- */
18
- const K256_GRANT_ENVELOPE = 0n;
19
- /** Lays the scope out in the circuit's declaration order. */
20
- const scopeArgs = (scope) => [
21
- scope.opWithdrawUnshielded,
22
- scope.opWithdrawShielded,
23
- scope.opWithdrawShieldedToContract,
24
- scope.read,
25
- scope.color,
26
- scope.recipientKind,
27
- scope.recipient,
28
- scope.maxCoinValue,
29
- scope.perCallCap,
30
- scope.cap,
31
- scope.expiresAt,
32
- scope.rpIdHash,
33
- scope.readPkHash,
34
- scope.windowLen,
35
- scope.windowCap,
36
- {
37
- is_some: scope.caller !== void 0,
38
- value: { bytes: scope.caller ?? require_grant_rules.zero32() }
39
- }
40
- ];
41
- /**
42
- * The salted digest of the plaintext scope, the single element through
43
- * which the issue challenge binds the whole scope, produced by the
44
- * contract's own pure circuit.
45
- */
46
- const scopeDigest = (scopeSalt, args) => require_acc_module.pureCircuits.derive_grant_scope_digest(scopeSalt, ...args);
47
- /**
48
- * The commitment the contract stores for a grant's object: the colour,
49
- * recipient kind and value, and coin bound of its circuit scope, hidden
50
- * under the scope salt, as lowercase hex, produced by the contract's own
51
- * pure circuit.
52
- */
53
- const grantObjectCommit = (scopeSalt, scope) => require_bytes_vo.HexBytes.fromByteArray(require_acc_module.pureCircuits.derive_grant_object_commit(scopeSalt, scope.color, scope.recipientKind, scope.recipient, scope.maxCoinValue));
54
- /**
55
- * The origin hash that enters a grant id: SHA-256 of the origin tag padded
56
- * to 32 bytes followed by the raw UTF-8 bytes of the client id. Computed
57
- * off chain only, so no circuit exports it. For this module the client id
58
- * is the relying party id of the consumer issuing the grant.
59
- */
60
- const originHash = async (clientId) => {
61
- const encoder = new TextEncoder();
62
- const tag = new Uint8Array(ORIGIN_TAG_LENGTH);
63
- tag.set(encoder.encode(GRANT_ORIGIN_TAG));
64
- const client = encoder.encode(clientId);
65
- const preimage = new Uint8Array(tag.length + client.length);
66
- preimage.set(tag);
67
- preimage.set(client, tag.length);
68
- return new Uint8Array(await crypto.subtle.digest("SHA-256", preimage));
69
- };
70
- /** A grant id from the bytes a derivation circuit returns. */
71
- const grantIdOf = (id) => require_grant_rules.GrantId(require_bytes_vo.HexBytes.fromByteArray(id));
72
- /**
73
- * The identity of a grant: the contract's own commitment to the account,
74
- * the grantee key, the origin hash and the slot, which keys the record in
75
- * the grants map. Each grantee scheme has its own derivation, and a
76
- * secp256k1 grant also binds its signature envelope, so the same key
77
- * bytes never name the same grant under two schemes or two envelopes.
78
- */
79
- const deriveGrantId = ({ contractAddress, granteePublicKey, originHash: origin, slot }) => {
80
- const self = { bytes: contractAddress };
81
- switch (granteePublicKey.scheme) {
82
- case "jubjub-schnorr": return grantIdOf(require_acc_module.pureCircuits.derive_grant_id_with_jubjub(self, granteePublicKey.point, origin, BigInt(slot)));
83
- case "secp256k1-ecdsa": return grantIdOf(require_acc_module.pureCircuits.derive_grant_id_with_k256(self, granteePublicKey.point, K256_GRANT_ENVELOPE, origin, BigInt(slot)));
84
- default: {
85
- const unhandled = granteePublicKey;
86
- throw new require_errors.GrantScopeInvalidError(`unsupported grantee scheme "${String(unhandled.scheme)}"`);
87
- }
88
- }
89
- };
90
- /**
91
- * The first slot under which this grantee and origin have no active grant,
92
- * with the id derived for it. The contract stores neither grantee nor
93
- * slot, so the slot is found by deriving the id of each candidate and
94
- * checking it against the roster. A revoked grant leaves a tombstone the
95
- * contract lets a new grant overwrite, so its slot counts as free.
96
- *
97
- * @throws {@link GrantLimitReachedError} when every slot is taken.
98
- */
99
- const findFreeSlot = ({ contractAddress, grantee, originHash: origin, roster }) => {
100
- const taken = new Set(roster.filter((record) => record.active).map((record) => record.id));
101
- const granteePublicKey = require_grant_rules.granteePoint(grantee);
102
- for (let candidate = 0; candidate < GRANT_SLOT_COUNT; candidate++) {
103
- const slot = require_grant_rules.GrantSlot(candidate);
104
- const grantId = deriveGrantId({
105
- contractAddress,
106
- granteePublicKey,
107
- originHash: origin,
108
- slot
109
- });
110
- if (!taken.has(grantId)) return {
111
- slot,
112
- grantId
113
- };
114
- }
115
- throw new require_errors.GrantLimitReachedError("Every grant slot of this grantee under this origin is taken.");
116
- };
117
- /**
118
- * Prepares `issue_grant_with_jubjub`: encodes and checks the scope,
119
- * allocates the grantee's slot, derives the grant id and draws the scope
120
- * salt. The call's arguments are the grant id, the scope in declaration
121
- * order and the salt; the authoriser derives the scope digest it signs
122
- * from those same arguments, and the preparation carries that digest for
123
- * an authoriser that presents it ahead of the ceremony.
124
- *
125
- * @throws {@link GrantScopeInvalidError} when the scope is malformed or
126
- * breaks an issue rule.
127
- * @throws {@link GrantLimitReachedError} when the grantee has no free slot.
128
- */
129
- const prepareIssueGrant = ({ contractAddress, scope, originHash: origin, roster, randomBytes = (length) => crypto.getRandomValues(new Uint8Array(length)) }) => {
130
- const encoded = require_grant_rules.circuitScope(scope);
131
- require_grant_rules.assertIssueRules(encoded);
132
- const { slot, grantId } = findFreeSlot({
133
- contractAddress,
134
- grantee: scope.grantee,
135
- originHash: origin,
136
- roster
137
- });
138
- const salt = randomBytes(SCOPE_SALT_LENGTH);
139
- const args = scopeArgs(encoded);
140
- return {
141
- grantId,
142
- slot,
143
- scopeSalt: require_grant_rules.GrantScopeSalt(require_bytes_vo.HexBytes.fromByteArray(salt)),
144
- scopeDigest: require_bytes_vo.HexBytes.fromByteArray(scopeDigest(salt, args)),
145
- call: {
146
- circuit: require_grant_circuits.ISSUE_GRANT_CIRCUIT,
147
- args: [
148
- require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(grantId)),
149
- ...args,
150
- salt
151
- ]
152
- }
153
- };
154
- };
155
- /** Prepares `revoke_grant_with_jubjub` over one grant id. */
156
- const prepareRevokeGrant = (grantId) => ({
157
- circuit: require_grant_circuits.REVOKE_GRANT_CIRCUIT,
158
- args: [require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(grantId))]
159
- });
160
- /** Prepares `revoke_all_grants_with_jubjub`, which takes no argument. */
161
- const prepareRevokeAllGrants = () => ({
162
- circuit: require_grant_circuits.REVOKE_ALL_GRANTS_CIRCUIT,
163
- args: []
164
- });
165
- const SCOPE_ARG_KINDS = [
166
- "boolean",
167
- "boolean",
168
- "boolean",
169
- "boolean",
170
- "bytes",
171
- "bigint",
172
- "bytes",
173
- "bigint",
174
- "bigint",
175
- "bigint",
176
- "bigint",
177
- "bytes",
178
- "bytes",
179
- "bigint",
180
- "bigint",
181
- "caller"
182
- ];
183
- const isCaller = (value) => typeof value === "object" && value !== null && typeof value.is_some === "boolean" && value.value?.bytes instanceof Uint8Array;
184
- const isScopeArgument = (value, kind) => {
185
- switch (kind) {
186
- case "boolean": return typeof value === "boolean";
187
- case "bigint": return typeof value === "bigint";
188
- case "bytes": return value instanceof Uint8Array;
189
- case "caller": return isCaller(value);
190
- }
191
- };
192
- const isScopeArgs = (values) => values.length === SCOPE_ARG_COUNT && values.every((value, index) => isScopeArgument(value, SCOPE_ARG_KINDS[index]));
193
- /**
194
- * Reads what the issue challenge binds out of the circuit's argument list
195
- * as it reaches an authoriser: the grant id and the digest of the scope,
196
- * derived here from the plaintext arguments and the salt so the signer
197
- * binds the scope it was shown and nothing else.
198
- *
199
- * @throws an Error when the arguments are not a grant id, sixteen scope
200
- * arguments and a scope salt.
201
- */
202
- const issueGrantBinding = (args) => {
203
- const [grantId, ...rest] = args;
204
- const scopeSalt = rest.at(-1);
205
- const scope = rest.slice(0, -1);
206
- if (!(grantId instanceof Uint8Array) || !(scopeSalt instanceof Uint8Array) || !isScopeArgs(scope)) throw new Error(`Circuit ${require_grant_circuits.ISSUE_GRANT_CIRCUIT} expects a grant id, ${SCOPE_ARG_COUNT} scope arguments and a scope salt`);
207
- return {
208
- grantId,
209
- scopeDigest: scopeDigest(scopeSalt, scope)
210
- };
211
- };
212
- //#endregion
213
- Object.defineProperty(exports, "deriveGrantId", {
214
- enumerable: true,
215
- get: function() {
216
- return deriveGrantId;
217
- }
218
- });
219
- Object.defineProperty(exports, "grantObjectCommit", {
220
- enumerable: true,
221
- get: function() {
222
- return grantObjectCommit;
223
- }
224
- });
225
- Object.defineProperty(exports, "issueGrantBinding", {
226
- enumerable: true,
227
- get: function() {
228
- return issueGrantBinding;
229
- }
230
- });
231
- Object.defineProperty(exports, "originHash", {
232
- enumerable: true,
233
- get: function() {
234
- return originHash;
235
- }
236
- });
237
- Object.defineProperty(exports, "prepareIssueGrant", {
238
- enumerable: true,
239
- get: function() {
240
- return prepareIssueGrant;
241
- }
242
- });
243
- Object.defineProperty(exports, "prepareRevokeAllGrants", {
244
- enumerable: true,
245
- get: function() {
246
- return prepareRevokeAllGrants;
247
- }
248
- });
249
- Object.defineProperty(exports, "prepareRevokeGrant", {
250
- enumerable: true,
251
- get: function() {
252
- return prepareRevokeGrant;
253
- }
254
- });
255
- Object.defineProperty(exports, "scopeArgs", {
256
- enumerable: true,
257
- get: function() {
258
- return scopeArgs;
259
- }
260
- });
261
- Object.defineProperty(exports, "scopeDigest", {
262
- enumerable: true,
263
- get: function() {
264
- return scopeDigest;
265
- }
266
- });
@@ -1,213 +0,0 @@
1
- import { n as HexBytes, t as ByteArray } from "./bytes.vo-BB7_4JK6.js";
2
- import { G as GrantScopeSalt, K as GrantId, W as GrantSlot, a as zero32, i as granteePoint, n as assertIssueRules, r as circuitScope } from "./grant-rules-_xJHAT2M.js";
3
- import { C as GrantScopeInvalidError, g as GrantLimitReachedError } from "./errors-DIJTAsLa.js";
4
- import { i as REVOKE_GRANT_CIRCUIT, n as ISSUE_GRANT_CIRCUIT, r as REVOKE_ALL_GRANTS_CIRCUIT } from "./grant-circuits-swuzEdUl.js";
5
- import { a as pureCircuits } from "./acc-module-Cmj8EsIb.js";
6
- //#region ../../packages/module/passport-account/src/acc/grants.ts
7
- /** Domain tag of the origin hash; it fills its 32-byte pad exactly. */
8
- const GRANT_ORIGIN_TAG = "midnight:account:grant:origin:v1";
9
- const ORIGIN_TAG_LENGTH = 32;
10
- const SCOPE_SALT_LENGTH = 32;
11
- const GRANT_SLOT_COUNT = 256;
12
- const SCOPE_ARG_COUNT = 16;
13
- /**
14
- * The signature envelope a secp256k1 grant is bound to: plain ECDSA over
15
- * the SHA-256 digest of the challenge, the only envelope the contract
16
- * admits for a spend grant.
17
- */
18
- const K256_GRANT_ENVELOPE = 0n;
19
- /** Lays the scope out in the circuit's declaration order. */
20
- const scopeArgs = (scope) => [
21
- scope.opWithdrawUnshielded,
22
- scope.opWithdrawShielded,
23
- scope.opWithdrawShieldedToContract,
24
- scope.read,
25
- scope.color,
26
- scope.recipientKind,
27
- scope.recipient,
28
- scope.maxCoinValue,
29
- scope.perCallCap,
30
- scope.cap,
31
- scope.expiresAt,
32
- scope.rpIdHash,
33
- scope.readPkHash,
34
- scope.windowLen,
35
- scope.windowCap,
36
- {
37
- is_some: scope.caller !== void 0,
38
- value: { bytes: scope.caller ?? zero32() }
39
- }
40
- ];
41
- /**
42
- * The salted digest of the plaintext scope, the single element through
43
- * which the issue challenge binds the whole scope, produced by the
44
- * contract's own pure circuit.
45
- */
46
- const scopeDigest = (scopeSalt, args) => pureCircuits.derive_grant_scope_digest(scopeSalt, ...args);
47
- /**
48
- * The commitment the contract stores for a grant's object: the colour,
49
- * recipient kind and value, and coin bound of its circuit scope, hidden
50
- * under the scope salt, as lowercase hex, produced by the contract's own
51
- * pure circuit.
52
- */
53
- const grantObjectCommit = (scopeSalt, scope) => HexBytes.fromByteArray(pureCircuits.derive_grant_object_commit(scopeSalt, scope.color, scope.recipientKind, scope.recipient, scope.maxCoinValue));
54
- /**
55
- * The origin hash that enters a grant id: SHA-256 of the origin tag padded
56
- * to 32 bytes followed by the raw UTF-8 bytes of the client id. Computed
57
- * off chain only, so no circuit exports it. For this module the client id
58
- * is the relying party id of the consumer issuing the grant.
59
- */
60
- const originHash = async (clientId) => {
61
- const encoder = new TextEncoder();
62
- const tag = new Uint8Array(ORIGIN_TAG_LENGTH);
63
- tag.set(encoder.encode(GRANT_ORIGIN_TAG));
64
- const client = encoder.encode(clientId);
65
- const preimage = new Uint8Array(tag.length + client.length);
66
- preimage.set(tag);
67
- preimage.set(client, tag.length);
68
- return new Uint8Array(await crypto.subtle.digest("SHA-256", preimage));
69
- };
70
- /** A grant id from the bytes a derivation circuit returns. */
71
- const grantIdOf = (id) => GrantId(HexBytes.fromByteArray(id));
72
- /**
73
- * The identity of a grant: the contract's own commitment to the account,
74
- * the grantee key, the origin hash and the slot, which keys the record in
75
- * the grants map. Each grantee scheme has its own derivation, and a
76
- * secp256k1 grant also binds its signature envelope, so the same key
77
- * bytes never name the same grant under two schemes or two envelopes.
78
- */
79
- const deriveGrantId = ({ contractAddress, granteePublicKey, originHash: origin, slot }) => {
80
- const self = { bytes: contractAddress };
81
- switch (granteePublicKey.scheme) {
82
- case "jubjub-schnorr": return grantIdOf(pureCircuits.derive_grant_id_with_jubjub(self, granteePublicKey.point, origin, BigInt(slot)));
83
- case "secp256k1-ecdsa": return grantIdOf(pureCircuits.derive_grant_id_with_k256(self, granteePublicKey.point, K256_GRANT_ENVELOPE, origin, BigInt(slot)));
84
- default: {
85
- const unhandled = granteePublicKey;
86
- throw new GrantScopeInvalidError(`unsupported grantee scheme "${String(unhandled.scheme)}"`);
87
- }
88
- }
89
- };
90
- /**
91
- * The first slot under which this grantee and origin have no active grant,
92
- * with the id derived for it. The contract stores neither grantee nor
93
- * slot, so the slot is found by deriving the id of each candidate and
94
- * checking it against the roster. A revoked grant leaves a tombstone the
95
- * contract lets a new grant overwrite, so its slot counts as free.
96
- *
97
- * @throws {@link GrantLimitReachedError} when every slot is taken.
98
- */
99
- const findFreeSlot = ({ contractAddress, grantee, originHash: origin, roster }) => {
100
- const taken = new Set(roster.filter((record) => record.active).map((record) => record.id));
101
- const granteePublicKey = granteePoint(grantee);
102
- for (let candidate = 0; candidate < GRANT_SLOT_COUNT; candidate++) {
103
- const slot = GrantSlot(candidate);
104
- const grantId = deriveGrantId({
105
- contractAddress,
106
- granteePublicKey,
107
- originHash: origin,
108
- slot
109
- });
110
- if (!taken.has(grantId)) return {
111
- slot,
112
- grantId
113
- };
114
- }
115
- throw new GrantLimitReachedError("Every grant slot of this grantee under this origin is taken.");
116
- };
117
- /**
118
- * Prepares `issue_grant_with_jubjub`: encodes and checks the scope,
119
- * allocates the grantee's slot, derives the grant id and draws the scope
120
- * salt. The call's arguments are the grant id, the scope in declaration
121
- * order and the salt; the authoriser derives the scope digest it signs
122
- * from those same arguments, and the preparation carries that digest for
123
- * an authoriser that presents it ahead of the ceremony.
124
- *
125
- * @throws {@link GrantScopeInvalidError} when the scope is malformed or
126
- * breaks an issue rule.
127
- * @throws {@link GrantLimitReachedError} when the grantee has no free slot.
128
- */
129
- const prepareIssueGrant = ({ contractAddress, scope, originHash: origin, roster, randomBytes = (length) => crypto.getRandomValues(new Uint8Array(length)) }) => {
130
- const encoded = circuitScope(scope);
131
- assertIssueRules(encoded);
132
- const { slot, grantId } = findFreeSlot({
133
- contractAddress,
134
- grantee: scope.grantee,
135
- originHash: origin,
136
- roster
137
- });
138
- const salt = randomBytes(SCOPE_SALT_LENGTH);
139
- const args = scopeArgs(encoded);
140
- return {
141
- grantId,
142
- slot,
143
- scopeSalt: GrantScopeSalt(HexBytes.fromByteArray(salt)),
144
- scopeDigest: HexBytes.fromByteArray(scopeDigest(salt, args)),
145
- call: {
146
- circuit: ISSUE_GRANT_CIRCUIT,
147
- args: [
148
- ByteArray.fromHex(HexBytes(grantId)),
149
- ...args,
150
- salt
151
- ]
152
- }
153
- };
154
- };
155
- /** Prepares `revoke_grant_with_jubjub` over one grant id. */
156
- const prepareRevokeGrant = (grantId) => ({
157
- circuit: REVOKE_GRANT_CIRCUIT,
158
- args: [ByteArray.fromHex(HexBytes(grantId))]
159
- });
160
- /** Prepares `revoke_all_grants_with_jubjub`, which takes no argument. */
161
- const prepareRevokeAllGrants = () => ({
162
- circuit: REVOKE_ALL_GRANTS_CIRCUIT,
163
- args: []
164
- });
165
- const SCOPE_ARG_KINDS = [
166
- "boolean",
167
- "boolean",
168
- "boolean",
169
- "boolean",
170
- "bytes",
171
- "bigint",
172
- "bytes",
173
- "bigint",
174
- "bigint",
175
- "bigint",
176
- "bigint",
177
- "bytes",
178
- "bytes",
179
- "bigint",
180
- "bigint",
181
- "caller"
182
- ];
183
- const isCaller = (value) => typeof value === "object" && value !== null && typeof value.is_some === "boolean" && value.value?.bytes instanceof Uint8Array;
184
- const isScopeArgument = (value, kind) => {
185
- switch (kind) {
186
- case "boolean": return typeof value === "boolean";
187
- case "bigint": return typeof value === "bigint";
188
- case "bytes": return value instanceof Uint8Array;
189
- case "caller": return isCaller(value);
190
- }
191
- };
192
- const isScopeArgs = (values) => values.length === SCOPE_ARG_COUNT && values.every((value, index) => isScopeArgument(value, SCOPE_ARG_KINDS[index]));
193
- /**
194
- * Reads what the issue challenge binds out of the circuit's argument list
195
- * as it reaches an authoriser: the grant id and the digest of the scope,
196
- * derived here from the plaintext arguments and the salt so the signer
197
- * binds the scope it was shown and nothing else.
198
- *
199
- * @throws an Error when the arguments are not a grant id, sixteen scope
200
- * arguments and a scope salt.
201
- */
202
- const issueGrantBinding = (args) => {
203
- const [grantId, ...rest] = args;
204
- const scopeSalt = rest.at(-1);
205
- const scope = rest.slice(0, -1);
206
- if (!(grantId instanceof Uint8Array) || !(scopeSalt instanceof Uint8Array) || !isScopeArgs(scope)) throw new Error(`Circuit ${ISSUE_GRANT_CIRCUIT} expects a grant id, ${SCOPE_ARG_COUNT} scope arguments and a scope salt`);
207
- return {
208
- grantId,
209
- scopeDigest: scopeDigest(scopeSalt, scope)
210
- };
211
- };
212
- //#endregion
213
- export { prepareIssueGrant as a, scopeArgs as c, originHash as i, scopeDigest as l, grantObjectCommit as n, prepareRevokeAllGrants as o, issueGrantBinding as r, prepareRevokeGrant as s, deriveGrantId as t };
@@ -1,5 +0,0 @@
1
- import "./_polyfill-buffer-patch-yNxN4d5E.js";
2
- import "./codecs-Dc1Krpbt.js";
3
- import { i as granteePoint, n as assertIssueRules, r as circuitScope } from "./grant-rules-_xJHAT2M.js";
4
- import { a as prepareIssueGrant, c as scopeArgs, i as originHash, l as scopeDigest, n as grantObjectCommit, o as prepareRevokeAllGrants, r as issueGrantBinding, s as prepareRevokeGrant, t as deriveGrantId } from "./grants-BIs6qm3b.js";
5
- export { assertIssueRules, circuitScope, deriveGrantId, grantObjectCommit, granteePoint, issueGrantBinding, originHash, prepareIssueGrant, prepareRevokeAllGrants, prepareRevokeGrant, scopeArgs, scopeDigest };
@@ -1,17 +0,0 @@
1
- require("./rolldown-runtime-Br2OG8yv.cjs");
2
- require("./_polyfill-buffer-patch-CM8X7JiY.cjs");
3
- require("./codecs-Cswkg7Tm.cjs");
4
- const require_grant_rules = require("./grant-rules-7Zqi_3BN.cjs");
5
- const require_grants = require("./grants--b0LQQzZ.cjs");
6
- exports.assertIssueRules = require_grant_rules.assertIssueRules;
7
- exports.circuitScope = require_grant_rules.circuitScope;
8
- exports.deriveGrantId = require_grants.deriveGrantId;
9
- exports.grantObjectCommit = require_grants.grantObjectCommit;
10
- exports.granteePoint = require_grant_rules.granteePoint;
11
- exports.issueGrantBinding = require_grants.issueGrantBinding;
12
- exports.originHash = require_grants.originHash;
13
- exports.prepareIssueGrant = require_grants.prepareIssueGrant;
14
- exports.prepareRevokeAllGrants = require_grants.prepareRevokeAllGrants;
15
- exports.prepareRevokeGrant = require_grants.prepareRevokeGrant;
16
- exports.scopeArgs = require_grants.scopeArgs;
17
- exports.scopeDigest = require_grants.scopeDigest;