@laceio/sdk 0.1.1 → 0.1.2-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/dist/{TransactionBuilder-DrB3NVTi.cjs → TransactionBuilder-CCjOn7NA.cjs} +42 -0
  2. package/dist/{TransactionBuilder-V6aLx4SV.js → TransactionBuilder-CIzdw18M.js} +1 -1
  3. package/dist/{_polyfill-buffer-patch-BnPVerlG.cjs → _polyfill-buffer-patch-CM8X7JiY.cjs} +21 -2
  4. package/dist/_polyfill-buffer-patch-yNxN4d5E.js +1467 -0
  5. package/dist/_web-crypto-random-bytes-Bo-GTcRS.js +197 -0
  6. package/dist/acc-module-4iIUv6My.cjs +27654 -0
  7. package/dist/acc-module-Cmj8EsIb.js +27624 -0
  8. package/dist/account-BOQruszJ.js +6 -0
  9. package/dist/account-BUOj4pYJ.cjs +11 -0
  10. package/dist/account-call-7wnopBq0.cjs +5 -0
  11. package/dist/account-call-B9d_2Xwi.js +4 -0
  12. package/dist/account-call-Bd4Rpbvt.cjs +323 -0
  13. package/dist/account-call-C3CkDqEC.js +276 -0
  14. package/dist/account-guards-BtjTGxDZ.cjs +42 -0
  15. package/dist/account-guards-D9Lu5T3W.js +36 -0
  16. package/dist/account-tokens-DvkOFVON.js +16 -0
  17. package/dist/account-tokens-nwcvwLu4.cjs +21 -0
  18. package/dist/{activity-type.stable-BJEfeLxL.cjs → activity-type-Ch6ljxBy.cjs} +2 -1
  19. package/dist/{activity-type.stable-C76_hWd7.js → activity-type-GsJGWs-3.js} +2 -1
  20. package/dist/address-B9ntKL8K.js +13761 -0
  21. package/dist/address-BXp-mY8H.cjs +11270 -0
  22. package/dist/{address-book-address-validator-DIUolI-s.js → address-book-address-validator-0J9XAADH.js} +2 -2
  23. package/dist/address-book-address-validator-DK0dnsRS.cjs +41 -0
  24. package/dist/address-book-address-validator-Di_ywo8M.js +39 -0
  25. package/dist/{address-book-address-validator-DNwQGlOB.cjs → address-book-address-validator-Dte_YQ2L.cjs} +2 -2
  26. package/dist/artefact-loader-BWWYAD7E.cjs +183 -0
  27. package/dist/artefact-loader-Dik4HIfv.js +160 -0
  28. package/dist/auto-dismiss-failure-on-success-C-qoJuid.cjs +37 -0
  29. package/dist/auto-dismiss-failure-on-success-s8MGDEIu.js +31 -0
  30. package/dist/bip32-D6wd_QMn.cjs +3851 -0
  31. package/dist/bitcoin-data-provider-BYPSmuZS.js +21 -0
  32. package/dist/bitcoin-data-provider-w1oEDSU3.cjs +26 -0
  33. package/dist/bitcoin.cjs +45 -0
  34. package/dist/bitcoin.d.ts +29906 -1
  35. package/dist/bitcoin.js +20 -0
  36. package/dist/{blockfrost-tx-submit-provider-DPTrapz-.js → blockfrost-tx-submit-provider-CBWQ0wK9.js} +5 -157
  37. package/dist/{blockfrost-tx-submit-provider-BAIzV5o3.cjs → blockfrost-tx-submit-provider-CLNQ5ycR.cjs} +3 -167
  38. package/dist/bn-d3nSOIf7.cjs +2553 -0
  39. package/dist/browser-B1eMbDwh.js +7468 -0
  40. package/dist/bytes.vo-BB7_4JK6.js +23 -0
  41. package/dist/bytes.vo-BNRquqaO.cjs +34 -0
  42. package/dist/cardano-DfPwhwm-.js +3 -0
  43. package/dist/{cardano-network-id.vo-DSxrFk9S.cjs → cardano-network-id.vo-BEDPn6Li.cjs} +1 -1
  44. package/dist/{cardano-network-id.vo-CK1tNQDg.js → cardano-network-id.vo-Cfpvbod9.js} +1 -1
  45. package/dist/cardano.cjs +22 -18
  46. package/dist/cardano.d.ts +16956 -1716
  47. package/dist/cardano.js +16 -11
  48. package/dist/client-DXBLHk7K.cjs +808 -0
  49. package/dist/codecs-Cswkg7Tm.cjs +4051 -0
  50. package/dist/codecs-Dc1Krpbt.js +3903 -0
  51. package/dist/{const-C84qHkjp.js → const-BJfIK_G-.js} +4 -4
  52. package/dist/const-BhYOdznB.cjs +42 -0
  53. package/dist/const-BsnjG2_Q.cjs +32071 -0
  54. package/dist/const-CUnCl5U0.js +13 -0
  55. package/dist/{const-DXk2tFyv.js → const-CjmfjBP3.js} +1 -1
  56. package/dist/{const-BDEg2Trq.cjs → const-D-eZIS4n.cjs} +4 -4
  57. package/dist/const-D0CbQlo4.js +154 -0
  58. package/dist/{const-BY8B3_0_.cjs → const-iwzZEE_w.cjs} +1 -1
  59. package/dist/contract-1R86jhSw.js +171 -0
  60. package/dist/contract-MKLzYVkW.cjs +189 -0
  61. package/dist/create-add-accounts-Brqk84vF.js +102 -0
  62. package/dist/create-add-accounts-DzXIh7Ot.cjs +114 -0
  63. package/dist/{delegation-tx-builder-CRpLP6jH.cjs → delegation-tx-builder-CCjiakoy.cjs} +6 -6
  64. package/dist/{delegation-tx-builder-CGVqlaFE.js → delegation-tx-builder-DZFjHDS8.js} +5 -5
  65. package/dist/{deregistration-tx-builder-B-CrUyX6.js → deregistration-tx-builder-Bf6xAYp4.js} +5 -5
  66. package/dist/{deregistration-tx-builder-DZGwB4cz.cjs → deregistration-tx-builder-CQP35yex.cjs} +6 -6
  67. package/dist/device-commitment-hex.vo-5wFtQvDS.js +26 -0
  68. package/dist/device-commitment-hex.vo-CT3RmAug.cjs +31 -0
  69. package/dist/device-readers-CUHYoYOH.js +145 -0
  70. package/dist/device-readers-CdxS2btd.cjs +168 -0
  71. package/dist/device-readers-D_JZeNL2.cjs +8 -0
  72. package/dist/device-readers-DwSNCGPP.js +4 -0
  73. package/dist/dist-BMi5ZjEq.cjs +43175 -0
  74. package/dist/dist-BtIq4XFn.cjs +535 -0
  75. package/dist/dist-C3SHC_Ho.cjs +1394 -0
  76. package/dist/dist-CykEjYEX.cjs +3814 -0
  77. package/dist/dist-Dcsxh3be.cjs +3452 -0
  78. package/dist/dist-DqJfSlTd.cjs +4413 -0
  79. package/dist/dist-nTZ70qj7.cjs +1306 -0
  80. package/dist/{earn-rewards-tx-builder-BDbTDZmD.js → earn-rewards-tx-builder-Bsga3yFb.js} +5 -5
  81. package/dist/{earn-rewards-tx-builder-D5sUT5v8.cjs → earn-rewards-tx-builder-GuxofYns.cjs} +6 -6
  82. package/dist/enc-key-circuits-B7BjgUL9.js +13 -0
  83. package/dist/enc-key-circuits-BLrZrBVI.cjs +24 -0
  84. package/dist/english-Byb9M0E_.cjs +2057 -0
  85. package/dist/envelopes-BGoO_v8m.js +1621 -0
  86. package/dist/envelopes-CH25R-DN.cjs +1722 -0
  87. package/dist/errors-BIftM8ZN.cjs +688 -0
  88. package/dist/errors-DSq5wUwt.js +466 -0
  89. package/dist/esm-HBSUQw3w.js +384 -0
  90. package/dist/esm-LZuaZjMf.cjs +389 -0
  91. package/dist/experimental.cjs +7349 -0
  92. package/dist/experimental.d.ts +86273 -0
  93. package/dist/experimental.js +7184 -0
  94. package/dist/gated-call-CDCVZIK-.cjs +5 -0
  95. package/dist/gated-call-D-tT7P_t.js +722 -0
  96. package/dist/gated-call-D_VT2quk.js +4 -0
  97. package/dist/gated-call-DgJm1Mi_.cjs +787 -0
  98. package/dist/grant-circuits-DswmW3nI.cjs +71 -0
  99. package/dist/grant-circuits-Jxb5y1HW.js +42 -0
  100. package/dist/grant-rules-By07_eDi.js +6824 -0
  101. package/dist/grant-rules-BzVTWXS7.cjs +7099 -0
  102. package/dist/grant-spend-B3Md9L0n.js +215 -0
  103. package/dist/grant-spend-oWmzRsjH.cjs +217 -0
  104. package/dist/grant-status-B2y49iIu.js +2688 -0
  105. package/dist/grant-status-DOr3t_u8.cjs +2820 -0
  106. package/dist/grants-2BZ-qEVQ.js +5 -0
  107. package/dist/grants-BPoLSiMt.cjs +18 -0
  108. package/dist/grants-BoI5uwSF.cjs +272 -0
  109. package/dist/grants-CtofFu-e.js +213 -0
  110. package/dist/{group-cardano-addresses-by-account-B533oVXR.cjs → group-cardano-addresses-by-account-Bp0g4wEY.cjs} +3 -39
  111. package/dist/{group-cardano-addresses-by-account-RHKoEskR.js → group-cardano-addresses-by-account-SR8MMrZf.js} +5 -35
  112. package/dist/{guarded-transaction-signer-Bxl6_XNd.cjs → guarded-transaction-signer-MFpPg98D.cjs} +17 -18
  113. package/dist/{guarded-transaction-signer-CpKLj8Kp.js → guarded-transaction-signer-P6Rp1faj.js} +8 -15
  114. package/dist/hex-D9ITYbwt.cjs +263 -0
  115. package/dist/hex-mkXcV3pN.js +191 -0
  116. package/dist/http-client-B3N-TMxu.cjs +167 -0
  117. package/dist/http-client-TRlhDZGh.js +155 -0
  118. package/dist/identity-BMLuufva.cjs +263 -0
  119. package/dist/identity-DII6f-h7.js +233 -0
  120. package/dist/in-memory-wallet-integration-B2xzxORj.cjs +20741 -0
  121. package/dist/in-memory-wallet-integration-CBRiPjLO.js +130 -0
  122. package/dist/in-memory-wallet-integration-CULUB5Tf.cjs +240 -0
  123. package/dist/{in-memory-wallet-integration-D-qn65Kx.js → in-memory-wallet-integration-ChIOirMW.js} +5 -2
  124. package/dist/{in-memory-wallet-integration-Croiuopx.js → in-memory-wallet-integration-CljprQQV.js} +7 -104
  125. package/dist/{in-memory-wallet-integration-DVh9sRXa.cjs → in-memory-wallet-integration-Cm6P8sk6.cjs} +3 -2
  126. package/dist/in-memory-wallet-integration-TM9bBphA.js +20738 -0
  127. package/dist/{in-memory-wallet-integration-CnLYeX4-.cjs → in-memory-wallet-integration-t9I00R_V.cjs} +17 -108
  128. package/dist/index.cjs +84 -47
  129. package/dist/index.d.ts +37496 -10033
  130. package/dist/index.js +52 -24
  131. package/dist/{init-CLHuAMB-.js → init-0zzs9aqU.js} +4 -4
  132. package/dist/{init-U8c9yHYx.cjs → init-5KcGcBb5.cjs} +1 -1
  133. package/dist/init-8v_n8boO.js +1177 -0
  134. package/dist/{init-CigestoM.js → init-B3-1ghyx.js} +2 -2
  135. package/dist/init-B8U3ABhS.cjs +107 -0
  136. package/dist/init-BJn-8_hf.js +141 -0
  137. package/dist/init-BPU3j8sT.cjs +6 -0
  138. package/dist/init-BRzH6xu-2.cjs +2797 -0
  139. package/dist/init-BmzfDaKL.js +1142 -0
  140. package/dist/{init-C-jErzp5.cjs → init-BopV9ed4.cjs} +2 -2
  141. package/dist/init-BpHTq2R5.js +105 -0
  142. package/dist/init-BpSITBfF.js +39 -0
  143. package/dist/{init-DX4WyB0R.cjs → init-BrdVzxei.cjs} +3 -3
  144. package/dist/{init-LfyMo-sS.cjs → init-BwkU0ruo.cjs} +2 -2
  145. package/dist/{init-CB__aLD7.cjs → init-C-G32J12.cjs} +2 -2
  146. package/dist/init-C00gw1zi.js +422 -0
  147. package/dist/{init-TkPq_Ny_.js → init-C2RgrfZe.js} +1 -1
  148. package/dist/{init-DcYY6zMD.js → init-C8URA2OX.js} +1 -1
  149. package/dist/init-CDkRynJa.js +2796 -0
  150. package/dist/{init-Cg9XdAru.js → init-CNM5m7M2.js} +4 -4
  151. package/dist/init-CR7BfztQ.cjs +18 -0
  152. package/dist/{init-CSHwHnfg.cjs → init-CSDpdu0Q.cjs} +2 -2
  153. package/dist/{init-aJHl-7AO.js → init-CX0AMQUn.js} +2 -2
  154. package/dist/{init-FMGDET-9.js → init-CfTbSEKy.js} +259 -60
  155. package/dist/{init-CR6tpw1B.js → init-Cigr_tKx.js} +47 -43
  156. package/dist/init-CuW7rHNA.js +3584 -0
  157. package/dist/{init-CFYsq82V.js → init-CyAY4Lzl.js} +1 -1
  158. package/dist/init-Cz0rz5fU.cjs +3585 -0
  159. package/dist/{init-BKhH6mVR.cjs → init-D6BxBs7e.cjs} +1 -1
  160. package/dist/init-D8OeObDF.cjs +1141 -0
  161. package/dist/init-D9g1HXYf.cjs +40 -0
  162. package/dist/{init-CNLGJJRx.js → init-DA7zmptx.js} +1 -1
  163. package/dist/{init-DkIc5nqF.cjs → init-DFMiP2ZH.cjs} +1 -1
  164. package/dist/{init-zSzCjoor.js → init-DFjT8YvT.js} +4 -4
  165. package/dist/init-DGjXwWs2.cjs +143 -0
  166. package/dist/init-DHrCbpkW.cjs +121 -0
  167. package/dist/{init-B64zCLxG.cjs → init-DUF4ar8P.cjs} +4 -4
  168. package/dist/init-DlqJuHhl.js +119 -0
  169. package/dist/{init-y2Ra0vZP.js → init-Dnsv155v.js} +3 -3
  170. package/dist/init-DrRdf5sZ.cjs +1176 -0
  171. package/dist/init-DuYENxci.js +17 -0
  172. package/dist/{init-D6DBUsD3.cjs → init-Dv3zKj0r.cjs} +4 -4
  173. package/dist/{init-BtzMZ7Pk.cjs → init-Dy-05ktr.cjs} +1 -1
  174. package/dist/{init-BsCBAGWf.cjs → init-EP0CUWNK.cjs} +2 -2
  175. package/dist/{init-BJVU54pI.cjs → init-EhzD7a8i.cjs} +1 -1
  176. package/dist/{init-w9GEs73W.js → init-Fw89ZmrR.js} +2 -2
  177. package/dist/init-GsT2AEa4.cjs +424 -0
  178. package/dist/{init-Rxohwpmu.js → init-NCjgwCZy.js} +2 -2
  179. package/dist/{init-DxUHsN53.cjs → init-NdhG_VrF.cjs} +6 -6
  180. package/dist/{init-DDdhguVC.js → init-SZ01tARX2.js} +2 -2
  181. package/dist/{init-BAJJzBza.js → init-Y3mkB4XS.js} +2 -2
  182. package/dist/init-c4l6r-o-.js +5 -0
  183. package/dist/{init-Dku4b2lG.js → init-kEfUTuG2.js} +1 -1
  184. package/dist/{init-C7IeJwQR.cjs → init-lzHt4Cli.cjs} +256 -59
  185. package/dist/{init-anYu6XB7.cjs → init-rmt7-fQE.cjs} +2 -2
  186. package/dist/{init-C4Bkib9u.cjs → init-zU-_9Gsp.cjs} +67 -65
  187. package/dist/{is-retriable-error-BU0e3hVI.js → is-retriable-error-BUiVJDwH.js} +1 -1
  188. package/dist/{is-retriable-error-CeeuHqDa.cjs → is-retriable-error-Dpt860if.cjs} +1 -1
  189. package/dist/jubjub-authoriser-D7zDXu3V.js +86 -0
  190. package/dist/jubjub-authoriser-Dgu6o3Sv.cjs +87 -0
  191. package/dist/key-source-5oUBFiC7.cjs +583 -0
  192. package/dist/key-source-B08HukZg.js +2550 -0
  193. package/dist/keyDerivation-D3k9XyHg.js +4077 -0
  194. package/dist/keyDerivation-u0nBA93T.cjs +274 -0
  195. package/dist/{lace-context-CZcNHr4M.js → lace-context-BZciB9c7.js} +4 -4
  196. package/dist/{lace-context-fJTDghdp.cjs → lace-context-DgR6vLli.cjs} +4 -4
  197. package/dist/lib--iqvW4O_.js +2354 -0
  198. package/dist/lib-Yk6Upl5D.cjs +2359 -0
  199. package/dist/{libsodium-wrappers-UH0LaOUE.js → libsodium-wrappers-BhbOA8dQ.js} +3 -1647
  200. package/dist/midnight-account-id.vo-0x9X-r3l.cjs +10 -0
  201. package/dist/midnight-account-id.vo-DjCAGcqc.js +5 -0
  202. package/dist/midnight-engine-DpemplKO.js +5 -0
  203. package/dist/midnight-engine-xU1wotne.cjs +6 -0
  204. package/dist/midnight-wallet-DIsAlSn6.js +18 -0
  205. package/dist/midnight-wallet-XTZc2li7.cjs +24 -0
  206. package/dist/midnight.cjs +1408 -0
  207. package/dist/midnight.d.ts +28934 -0
  208. package/dist/midnight.js +1352 -0
  209. package/dist/modules-cardano-B1nDUWqy.js +995 -0
  210. package/dist/modules-cardano-BYeYHrRm.cjs +1108 -0
  211. package/dist/node-relay-DWe1U0w2.cjs +49 -0
  212. package/dist/node-relay-h4i5IlAQ.js +48 -0
  213. package/dist/outputs-Bd2yZVjx.js +720 -0
  214. package/dist/outputs-CJoQBIA2.cjs +990 -0
  215. package/dist/pbkdf2-CIW-oWrm.cjs +1337 -0
  216. package/dist/pending-operation-B0_P78Jo.cjs +26 -0
  217. package/dist/pending-operation-BIS6mpjB.js +21 -0
  218. package/dist/providers-FjhM47BH.cjs +388 -0
  219. package/dist/providers-WtiSuxFu.js +365 -0
  220. package/dist/redacted-BmE2aXqr.js +81 -0
  221. package/dist/redacted-CRZJLS3w.cjs +86 -0
  222. package/dist/{retry-config-DC5IMaH7.cjs → retry-config-BaCfVC1H.cjs} +1 -1
  223. package/dist/{retry-config-BcUmMS--.js → retry-config-Dmgt28wM.js} +1 -1
  224. package/dist/safe-buffer-B_vMqJWU.js +43 -0
  225. package/dist/safe-buffer-DYOwEfHB.cjs +48 -0
  226. package/dist/sdk-Cb-gZnS9.js +1241 -0
  227. package/dist/sdk-DffwmX8b.cjs +1439 -0
  228. package/dist/sdk-init-Bln9rFtn.js +4138 -0
  229. package/dist/sdk-init-CYViTJY_.cjs +3841 -0
  230. package/dist/{seam-cardano-CATqBEyK.js → seam-cardano-B_etH4F4.js} +1 -1
  231. package/dist/{bytes.vo-TgiwogWF.js → secret-box-DUR0ACYz.js} +3 -25
  232. package/dist/{bytes.vo-Ck5u40RA.cjs → secret-box-DrjLZuS1.cjs} +1 -35
  233. package/dist/send-proof-progress-C-ljq1x5.js +30 -0
  234. package/dist/send-proof-progress-vmsaSfbz.cjs +47 -0
  235. package/dist/side-effects-BnqYz7Nl.js +768 -0
  236. package/dist/side-effects-CngaeXi0.cjs +804 -0
  237. package/dist/sign-bitcoin-transaction-with-seed-D4z62-jV.js +147 -0
  238. package/dist/sign-bitcoin-transaction-with-seed-DsLYXnCY.cjs +158 -0
  239. package/dist/signer-3fk8lZtE.cjs +7 -0
  240. package/dist/signer-CsL28DrK.cjs +121 -0
  241. package/dist/signer-DGluibtn.js +92 -0
  242. package/dist/signer-RqB5pu3K.js +2 -0
  243. package/dist/signer-factory-BA7WFJVZ.js +282 -0
  244. package/dist/signer-factory-Cwd6o-lG.cjs +281 -0
  245. package/dist/{signer-factory-9URFliA5.js → signer-factory-DObB55D4.js} +6 -3
  246. package/dist/signer-factory-DhZiE03y.cjs +149 -0
  247. package/dist/{signer-factory-BWGUmnvm.cjs → signer-factory-Ds6G2AZk.cjs} +4 -3
  248. package/dist/signer-factory-hzSRaIw2.js +148 -0
  249. package/dist/{slice-CuHUaPZx.cjs → slice-7G2xxYKJ.cjs} +3 -3
  250. package/dist/{slice-DZmQJNV8.cjs → slice-B4CdYoPu.cjs} +2 -2
  251. package/dist/slice-BPNuHKfw.js +9091 -0
  252. package/dist/{slice-DGcNrbPR.cjs → slice-Bg6HEr3K.cjs} +4 -4
  253. package/dist/{slice-DtaO72qY.cjs → slice-Bs2aMERu.cjs} +3 -3
  254. package/dist/{slice-HeHCv3bl.cjs → slice-C34iOOUH.cjs} +7 -7
  255. package/dist/{slice-Do2R2CYW.cjs → slice-C9TT5KhY.cjs} +6 -6
  256. package/dist/{slice-eIwcwKHI.js → slice-CK07EBCo.js} +4 -4
  257. package/dist/{slice-CnyWevM9.js → slice-CU80pbiu.js} +3 -3
  258. package/dist/{slice-CobanYgn.js → slice-CwyYrh1H.js} +2 -2
  259. package/dist/slice-Czfp6t84.cjs +436 -0
  260. package/dist/{slice-d0p6-xj5.js → slice-D-9aPKG-.js} +6 -6
  261. package/dist/{slice-maaskdUn.js → slice-DBpJ2QGf.js} +6 -6
  262. package/dist/{slice-mxLQ_FeY.cjs → slice-DTZTiJle.cjs} +352 -39
  263. package/dist/{slice-zJ9XVYjZ.js → slice-Da426sf9.js} +1 -1
  264. package/dist/{slice-D11m2EKl.cjs → slice-DayJvMRD.cjs} +1 -1
  265. package/dist/slice-DnBWfA-k.cjs +9109 -0
  266. package/dist/{slice-oqm_r1cS.cjs → slice-DnG-yvpI.cjs} +2 -2
  267. package/dist/{slice-BNu73oBa.js → slice-DyNs7oWp.js} +2 -2
  268. package/dist/{slice-CB4SnzMm.js → slice-GwiiJRoq.js} +3 -3
  269. package/dist/slice-oWnc7YVD.js +412 -0
  270. package/dist/{slice-B2PhoWAg.js → slice-qt0uBExh.js} +325 -37
  271. package/dist/slice-t8Gzj55G2.cjs +106 -0
  272. package/dist/slice-t8Q1cHm-.js +88 -0
  273. package/dist/src-BDzYIksE.cjs +20637 -0
  274. package/dist/src-BFoefPv_.js +20755 -0
  275. package/dist/store-B1Lq3cEf.cjs +66 -0
  276. package/dist/store-DuBG8qh5.js +37 -0
  277. package/dist/submit-Bs77dPn_.cjs +413 -0
  278. package/dist/submit-DOv8Z0Vf.js +336 -0
  279. package/dist/submit-bitcoin-tx-D6oYgH5S.js +983 -0
  280. package/dist/submit-bitcoin-tx-goFuRL7K.cjs +1049 -0
  281. package/dist/{sync-operation-utils-BYXLO80m.js → sync-operation-utils-31iFLExW.js} +2 -38
  282. package/dist/{sync-operation-utils-SdPbwFoD.cjs → sync-operation-utils-COIZ66-I.cjs} +1 -67
  283. package/dist/token-id-mapper-Bnds3xKH.cjs +18 -0
  284. package/dist/{token-id-mapper-DsPAL6Nh.cjs → token-id-mapper-CVyQJUKY.cjs} +2 -2
  285. package/dist/token-id-mapper-CnKHQ8DV.js +16 -0
  286. package/dist/{token-id-mapper-B2ivlLv3.js → token-id-mapper-D29Ggv8h.js} +2 -2
  287. package/dist/tokens-Cevp7rdU.cjs +62 -0
  288. package/dist/tokens-Diw4MLRM.js +44 -0
  289. package/dist/types-B8uiJn-X.js +12 -0
  290. package/dist/types-BHC12eSa.js +33 -0
  291. package/dist/types-CJT6XF2c.js +10 -0
  292. package/dist/types-CLRUYpfe.cjs +23 -0
  293. package/dist/types-Cc3mC8u0.cjs +50 -0
  294. package/dist/types-DWbVZpnF.cjs +15 -0
  295. package/dist/unwrap-provider-result-BZSiwabU.js +32 -0
  296. package/dist/unwrap-provider-result-ZqfBsTkk.cjs +39 -0
  297. package/dist/{util-CGzqQ8IV.cjs → util-Bu4W5lF4.cjs} +1 -1
  298. package/dist/{util-BaLzwa32.js → util-Cp5cZkfK.js} +1 -1
  299. package/dist/{utils-o8aMjfln.js → utils-BfBEUvWA.js} +2 -2
  300. package/dist/utils-DFwzEvbv.js +65 -0
  301. package/dist/{utils-5JvjbqH3.cjs → utils-DsElZgCI.cjs} +7 -1
  302. package/dist/utils-IXxR-Djh.cjs +112 -0
  303. package/dist/v8Signatures-CO_Uloy7.cjs +71 -0
  304. package/dist/{vote-delegation-tx-builder-BpEMSti4.cjs → vote-delegation-tx-builder-BUg1S2Ep.cjs} +6 -6
  305. package/dist/{vote-delegation-tx-builder-CmKv6GoG.js → vote-delegation-tx-builder-C6FiS7zI.js} +5 -5
  306. package/dist/watch-CUEvcP-V.js +21997 -0
  307. package/dist/watch-DMF2s-II.cjs +52281 -0
  308. package/package.json +96 -4
  309. package/dist/account-guards.stable-B1DSSh9D.cjs +0 -10
  310. package/dist/account-guards.stable-JRQ5qx2V.js +0 -5
  311. package/dist/codecs-B7X9pAsK.cjs +0 -1945
  312. package/dist/codecs-CC1Xjntz.js +0 -1882
  313. package/dist/init-Bv53hpLM.js +0 -19
  314. package/dist/init-CRbjI7p1.js +0 -3494
  315. package/dist/init-DAna1KCg.cjs +0 -3495
  316. package/dist/init-DGe47B22.cjs +0 -364
  317. package/dist/init-DMtyvYfC.cjs +0 -21
  318. package/dist/init-TkPDD750.js +0 -363
  319. package/dist/modules-cardano-BDvuL4Xx.js +0 -5248
  320. package/dist/modules-cardano-D2G3De2P.cjs +0 -5432
  321. package/dist/slice-CGVHXHDt.cjs +0 -125
  322. package/dist/slice-DhvF7L6X.js +0 -107
  323. /package/dist/{account-id.vo-LvCBVn5r.cjs → account-id.vo-DwqFjK5u.cjs} +0 -0
  324. /package/dist/{account-id.vo-MYSI7YFm.js → account-id.vo-OPz2v-JZ.js} +0 -0
  325. /package/dist/{actions-DdGbj7c7.cjs → actions-B2BJ4RTy.cjs} +0 -0
  326. /package/dist/{actions-9QSQR-GB.js → actions-iLXdgL5Y.js} +0 -0
  327. /package/dist/{apply-vkey-witnesses-ClZbpk5w.js → apply-vkey-witnesses-BKx3lcs0.js} +0 -0
  328. /package/dist/{apply-vkey-witnesses-CLzVSWxl.cjs → apply-vkey-witnesses-ZnFS0jnJ.cjs} +0 -0
  329. /package/dist/{asyncoption-Cw07zPH7.js → asyncoption-CruEYOBI.js} +0 -0
  330. /package/dist/{asyncoption-DYoGuQfP.cjs → asyncoption-i0VbqVTq.cjs} +0 -0
  331. /package/dist/{bignum.vo-B0rK_PQ1.js → bignum.vo-CEXOIew0.js} +0 -0
  332. /package/dist/{bignum.vo-DsG3kNiZ.cjs → bignum.vo-hx2kuqlA.cjs} +0 -0
  333. /package/dist/{bip32ed25519-1ApqeAZk.cjs → bip32ed25519-B7Yat217.cjs} +0 -0
  334. /package/dist/{bip32ed25519-DetAdGwD.js → bip32ed25519-FQ8qvdcq.js} +0 -0
  335. /package/dist/{blake2b-DOEVc57D.js → blake2b-BiQTw3GC.js} +0 -0
  336. /package/dist/{blake2b-B9tftbvG.cjs → blake2b-DEeVUdKR.cjs} +0 -0
  337. /package/dist/{blockchain-network-id.vo-BXpZhvvQ.cjs → blockchain-network-id.vo-BAKEwGjG.cjs} +0 -0
  338. /package/dist/{blockchain-network-id.vo-DNRkuT5B.js → blockchain-network-id.vo-CiVykuqG.js} +0 -0
  339. /package/dist/{blockingWithLatestFrom-C5wp_uA-.js → blockingWithLatestFrom-Cd8c8EPG.js} +0 -0
  340. /package/dist/{blockingWithLatestFrom-DY8OPg0w.cjs → blockingWithLatestFrom-D8kBPBMX.cjs} +0 -0
  341. /package/dist/{cardano-network-id-to-network-type-CrZfUcyP.js → cardano-network-id-to-network-type-BWwzeEtM.js} +0 -0
  342. /package/dist/{cardano-network-id-to-network-type-BDTF-HmK.cjs → cardano-network-id-to-network-type-C0ufJOyE.cjs} +0 -0
  343. /package/dist/{cardano-tx-id.vo-BPhV-AmZ.cjs → cardano-tx-id.vo-TLjJZHCI.cjs} +0 -0
  344. /package/dist/{cardano-tx-id.vo-DF9NzZXk.js → cardano-tx-id.vo-eVnKuzlm.js} +0 -0
  345. /package/dist/{composite-signer-factory-_46QsNBz.js → composite-signer-factory-CR8YHA1y.js} +0 -0
  346. /package/dist/{composite-signer-factory-BpF1mIYA.cjs → composite-signer-factory-m5cVs9h_.cjs} +0 -0
  347. /package/dist/{error-CNIquqT5.cjs → error-Cb3EnD0u.cjs} +0 -0
  348. /package/dist/{error-BCp9NkPi.js → error-DIZOY2Lw.js} +0 -0
  349. /package/dist/{esm-browser-C93Q-EOI.js → esm-browser-MG97cre9.js} +0 -0
  350. /package/dist/{esm-browser-DTc9IK3D.cjs → esm-browser-bweqfBlL.cjs} +0 -0
  351. /package/dist/{feature-flag-key.vo-ofrB6ZVQ.js → feature-flag-key.vo-DN_-4-sG.js} +0 -0
  352. /package/dist/{feature-flag-key.vo-BPz-ZAp6.cjs → feature-flag-key.vo-RlfHL3hq.cjs} +0 -0
  353. /package/dist/{first-state-of-status-OROkXcRv.cjs → first-state-of-status-CbT7hPa4.cjs} +0 -0
  354. /package/dist/{first-state-of-status-DQnMT3ya.js → first-state-of-status-unPynOuM.js} +0 -0
  355. /package/dist/{init-Es3wHW7D.js → init-829HRYcz.js} +0 -0
  356. /package/dist/{init-CKipPE_c.js → init-A-VyGSNW2.js} +0 -0
  357. /package/dist/{init-DFQQ9dTW.cjs → init-Atisw4x2.cjs} +0 -0
  358. /package/dist/{init-C5CEZ1m0.cjs → init-BFcvPHL-.cjs} +0 -0
  359. /package/dist/{init-IAk_CkGa.cjs → init-BgNobbNq.cjs} +0 -0
  360. /package/dist/{init-cqN3uX2j.js → init-atCFur0v.js} +0 -0
  361. /package/dist/{is-redux-persist-state-CTn3WZVh.cjs → is-redux-persist-state-BCFnSm36.cjs} +0 -0
  362. /package/dist/{is-redux-persist-state-Cxcd0_bM.js → is-redux-persist-state-yBfq0h_E.js} +0 -0
  363. /package/dist/{key-value-store-8cMzeNyG.js → key-value-store--W3SrMaw.js} +0 -0
  364. /package/dist/{key-value-store-DUAepXQf.cjs → key-value-store-C2Xt5Emp.cjs} +0 -0
  365. /package/dist/{repo-slice-WxetRhMY.cjs → repo-slice-7X4AYYVm.cjs} +0 -0
  366. /package/dist/{repo-slice-DwyMhCR1.js → repo-slice-RxFm0zDZ.js} +0 -0
  367. /package/dist/{reselect-CRDqmQY9.cjs → reselect-Bd94u0K-.cjs} +0 -0
  368. /package/dist/{reselect-C06X06oX.js → reselect-CGoLzEPv.js} +0 -0
  369. /package/dist/{serializable-B8GahgE1.js → serializable-BHdKIgk3.js} +0 -0
  370. /package/dist/{serializable-CRdnFaLZ.cjs → serializable-BxHkoPdk.cjs} +0 -0
  371. /package/dist/{slice-D11FHQuQ.cjs → slice-BiRsDKOK.cjs} +0 -0
  372. /package/dist/{slice-Be7hj4Iy.js → slice-Bk0Sv05J.js} +0 -0
  373. /package/dist/{slice-FioKeHtA.cjs → slice-Dqw1ecum.cjs} +0 -0
  374. /package/dist/{slice-B87b52iM.js → slice-obCSLm1x.js} +0 -0
  375. /package/dist/{src-vq1wS9sZ.js → src-BlxEp6Mm.js} +0 -0
  376. /package/dist/{src-BTPIvlDI.cjs → src-Cqp0B2M_.cjs} +0 -0
  377. /package/dist/{time.vo-CQ8pSXz2.cjs → time.vo-D3wWRw9L.cjs} +0 -0
  378. /package/dist/{time.vo-DkYYGYp6.js → time.vo-tNheinXm.js} +0 -0
  379. /package/dist/{toEmpty-CgAl3097.js → toEmpty-8Zax1MPd.js} +0 -0
  380. /package/dist/{toEmpty-DAMmNB5r.cjs → toEmpty-CYAbupM4.cjs} +0 -0
  381. /package/dist/{token-id.vo-ClsroxHO.js → token-id.vo-Bvwhr3ZE.js} +0 -0
  382. /package/dist/{token-id.vo-BxG9TG0O.cjs → token-id.vo-DXv5uS9n.cjs} +0 -0
  383. /package/dist/{util-DxzlYNS5.js → util-C8a4fA9p.js} +0 -0
  384. /package/dist/{util-CmdAhheh.cjs → util-CzeB3hfa.cjs} +0 -0
  385. /package/dist/{util-selector-CcK-GAdE.js → util-selector-BSTsxgne.js} +0 -0
  386. /package/dist/{util-selector-BcAncU4L.cjs → util-selector-BWPH68_l.cjs} +0 -0
  387. /package/dist/{while-active-BpppWuCs.js → while-active-B0lWy_6l.js} +0 -0
  388. /package/dist/{while-active-Dhc2LwOm.cjs → while-active-Dsowp0Fi.cjs} +0 -0
@@ -0,0 +1,990 @@
1
+ require("./rolldown-runtime-Br2OG8yv.cjs");
2
+ const require_hex = require("./hex-D9ITYbwt.cjs");
3
+ const require_tokens = require("./tokens-Cevp7rdU.cjs");
4
+ let _laceio_cardano_core = require("@laceio/cardano/core");
5
+ //#region ../../packages/lib/cardano-custody/src/codecs/plutus-data.ts
6
+ /** Raised inside the decoders only; `decodeResult` turns it into a result. */
7
+ var MalformedData = class extends Error {
8
+ constructor(path, expected) {
9
+ super(`Expected ${expected} at ${path || "the root"}`);
10
+ this.path = path;
11
+ this.expected = expected;
12
+ }
13
+ };
14
+ /** Runs a throwing decoder and reports a shape mismatch as a typed failure. */
15
+ const decodeResult = (decode) => {
16
+ try {
17
+ return require_hex.ok(decode());
18
+ } catch (error) {
19
+ if (error instanceof MalformedData) return require_hex.fail({
20
+ code: "malformed-data",
21
+ path: error.path,
22
+ expected: error.expected
23
+ });
24
+ throw error;
25
+ }
26
+ };
27
+ const fieldPath = (path, field) => `${path}.${field}`;
28
+ const itemPath = (path, index) => `${path}[${index}]`;
29
+ /**
30
+ * A fresh constructor value. Encoders always build new data, never reuse
31
+ * decoded data: the `cbor` cache on decoded values wins over any edit.
32
+ */
33
+ const constr = (index, fields = []) => ({
34
+ constructor: BigInt(index),
35
+ fields: { items: fields }
36
+ });
37
+ const list = (items) => ({ items });
38
+ const bytes = (hex) => require_hex.hexToBytes(hex);
39
+ /** The constructor index of a value that must be a constructor. */
40
+ const expectConstrIndex = (data, path, what) => {
41
+ if (!_laceio_cardano_core.Cardano.util.isConstrPlutusData(data)) throw new MalformedData(path, `${what} as a constructor`);
42
+ return data.constructor;
43
+ };
44
+ /** The fields of a constructor with exactly the given index and arity. */
45
+ const expectConstr = (data, { index, arity }, { path, what }) => {
46
+ if (!_laceio_cardano_core.Cardano.util.isConstrPlutusData(data) || data.constructor !== BigInt(index) || data.fields.items.length !== arity) throw new MalformedData(path, `${what} as constructor ${index} with ${arity} fields`);
47
+ return data.fields.items;
48
+ };
49
+ /**
50
+ * The fields of a constructor with the given index and at least `minArity`
51
+ * fields, for a reader that relies only on a stable leading prefix.
52
+ */
53
+ const expectConstrPrefix = (data, { index, minArity }, { path, what }) => {
54
+ if (!_laceio_cardano_core.Cardano.util.isConstrPlutusData(data) || data.constructor !== BigInt(index) || data.fields.items.length < minArity) throw new MalformedData(path, `${what} as constructor ${index} with at least ${minArity} fields`);
55
+ return data.fields.items;
56
+ };
57
+ const expectBytes = (data, path, what) => {
58
+ if (!_laceio_cardano_core.Cardano.util.isPlutusBoundedBytes(data)) throw new MalformedData(path, `${what} as bytes`);
59
+ return require_hex.bytesToHex(data);
60
+ };
61
+ const expectInt = (data, path, what) => {
62
+ if (!_laceio_cardano_core.Cardano.util.isPlutusBigInt(data)) throw new MalformedData(path, `${what} as an integer`);
63
+ return data;
64
+ };
65
+ const expectList = (data, path, what) => {
66
+ if (!_laceio_cardano_core.Cardano.util.isPlutusList(data)) throw new MalformedData(path, `${what} as a list`);
67
+ return data.items;
68
+ };
69
+ /** Refuses a constructor index no alternative of a union claims. */
70
+ const unknownAlternative = (path, what, index) => {
71
+ throw new MalformedData(path, `${what}, not constructor ${index}`);
72
+ };
73
+ //#endregion
74
+ //#region ../../packages/lib/cardano-custody/src/codecs/recipient.ts
75
+ const credentialFrom = (credential) => ({
76
+ type: credential.type,
77
+ hash: credential.hash
78
+ });
79
+ /**
80
+ * The recipient form of a Shelley payment address. Base, enterprise and
81
+ * pointer addresses have one; reward and Byron addresses do not.
82
+ */
83
+ const custodyRecipientFromAddress = (address) => {
84
+ const base = address.asBase();
85
+ if (base) return require_hex.ok({
86
+ paymentCredential: credentialFrom(base.getPaymentCredential()),
87
+ stakeCredential: {
88
+ kind: "inline",
89
+ credential: credentialFrom(base.getStakeCredential())
90
+ }
91
+ });
92
+ const enterprise = address.asEnterprise();
93
+ if (enterprise) return require_hex.ok({ paymentCredential: credentialFrom(enterprise.getPaymentCredential()) });
94
+ const pointer = address.asPointer();
95
+ if (pointer) {
96
+ const { slot, txIndex, certIndex } = pointer.getStakePointer();
97
+ return require_hex.ok({
98
+ paymentCredential: credentialFrom(pointer.getPaymentCredential()),
99
+ stakeCredential: {
100
+ kind: "pointer",
101
+ slot,
102
+ transactionIndex: BigInt(txIndex),
103
+ certificateIndex: BigInt(certIndex)
104
+ }
105
+ });
106
+ }
107
+ return require_hex.fail({
108
+ code: "unsupported-recipient-address",
109
+ addressType: address.getType()
110
+ });
111
+ };
112
+ const isPointerIndex = (value) => value >= 0n && value <= BigInt(Number.MAX_SAFE_INTEGER);
113
+ /**
114
+ * Whether a recipient names an address Cardano can encode: 28-byte credential
115
+ * hashes and, for a pointer, non-negative indices that fit a pointer address.
116
+ */
117
+ const isRepresentableRecipient = (recipient) => {
118
+ if (!require_hex.isHash28Hex(recipient.paymentCredential.hash)) return false;
119
+ const stake = recipient.stakeCredential;
120
+ if (!stake) return true;
121
+ if (stake.kind === "inline") return require_hex.isHash28Hex(stake.credential.hash);
122
+ return stake.slot >= 0n && isPointerIndex(stake.transactionIndex) && isPointerIndex(stake.certificateIndex);
123
+ };
124
+ const toCardanoCredential = (credential) => ({
125
+ type: credential.type,
126
+ hash: credential.hash
127
+ });
128
+ /** The address of a recipient the caller has checked is representable. */
129
+ const addressOfRepresentableRecipient = (recipient, networkId) => {
130
+ const payment = toCardanoCredential(recipient.paymentCredential);
131
+ const stake = recipient.stakeCredential;
132
+ if (!stake) return _laceio_cardano_core.Cardano.EnterpriseAddress.fromCredentials(networkId, payment).toAddress();
133
+ if (stake.kind === "inline") return _laceio_cardano_core.Cardano.BaseAddress.fromCredentials(networkId, payment, toCardanoCredential(stake.credential)).toAddress();
134
+ return new _laceio_cardano_core.Cardano.Address({
135
+ type: payment.type === _laceio_cardano_core.Cardano.CredentialType.ScriptHash ? _laceio_cardano_core.Cardano.AddressType.PointerScript : _laceio_cardano_core.Cardano.AddressType.PointerKey,
136
+ networkId,
137
+ paymentPart: payment,
138
+ pointer: {
139
+ slot: stake.slot,
140
+ txIndex: _laceio_cardano_core.Cardano.TxIndex(Number(stake.transactionIndex)),
141
+ certIndex: _laceio_cardano_core.Cardano.CertIndex(Number(stake.certificateIndex))
142
+ }
143
+ });
144
+ };
145
+ /** The address a recipient stands for on the given network. */
146
+ const custodyRecipientToAddress = (recipient, networkId) => isRepresentableRecipient(recipient) ? require_hex.ok(addressOfRepresentableRecipient(recipient, networkId)) : require_hex.fail({
147
+ code: "unrepresentable-recipient",
148
+ recipient
149
+ });
150
+ /** A value two recipients share exactly when their Plutus data is equal. */
151
+ const recipientKey = (recipient) => {
152
+ const credentialKey = ({ type, hash }) => `${type}:${hash}`;
153
+ const stake = recipient.stakeCredential;
154
+ const stakeKey = !stake ? "none" : stake.kind === "inline" ? `inline:${credentialKey(stake.credential)}` : `pointer:${stake.slot}:${stake.transactionIndex}:${stake.certificateIndex}`;
155
+ return `${credentialKey(recipient.paymentCredential)}/${stakeKey}`;
156
+ };
157
+ const CREDENTIAL_CONSTRUCTOR = {
158
+ [_laceio_cardano_core.Cardano.CredentialType.KeyHash]: 0,
159
+ [_laceio_cardano_core.Cardano.CredentialType.ScriptHash]: 1
160
+ };
161
+ const encodeCredential = (credential) => constr(CREDENTIAL_CONSTRUCTOR[credential.type], [bytes(credential.hash)]);
162
+ const decodeCredential = (data, path) => {
163
+ const index = expectConstrIndex(data, path, "a credential");
164
+ const type = index === 0n ? _laceio_cardano_core.Cardano.CredentialType.KeyHash : index === 1n ? _laceio_cardano_core.Cardano.CredentialType.ScriptHash : unknownAlternative(path, "a key or script credential", index);
165
+ const [hash] = expectConstr(data, {
166
+ index: Number(index),
167
+ arity: 1
168
+ }, {
169
+ path,
170
+ what: "a credential"
171
+ });
172
+ return {
173
+ type,
174
+ hash: expectBytes(hash, fieldPath(path, "hash"), "a hash")
175
+ };
176
+ };
177
+ const encodeStakeCredential = (stake) => stake.kind === "inline" ? constr(0, [encodeCredential(stake.credential)]) : constr(1, [
178
+ stake.slot,
179
+ stake.transactionIndex,
180
+ stake.certificateIndex
181
+ ]);
182
+ const decodeStakeCredential = (data, path) => {
183
+ const index = expectConstrIndex(data, path, "a stake credential");
184
+ if (index === 0n) {
185
+ const [credential] = expectConstr(data, {
186
+ index: 0,
187
+ arity: 1
188
+ }, {
189
+ path,
190
+ what: "an inline stake credential"
191
+ });
192
+ return {
193
+ kind: "inline",
194
+ credential: decodeCredential(credential, fieldPath(path, "credential"))
195
+ };
196
+ }
197
+ if (index !== 1n) return unknownAlternative(path, "an inline or pointer stake credential", index);
198
+ const [slot, transactionIndex, certificateIndex] = expectConstr(data, {
199
+ index: 1,
200
+ arity: 3
201
+ }, {
202
+ path,
203
+ what: "a stake pointer"
204
+ });
205
+ return {
206
+ kind: "pointer",
207
+ slot: expectInt(slot, fieldPath(path, "slot"), "a slot"),
208
+ transactionIndex: expectInt(transactionIndex, fieldPath(path, "transactionIndex"), "a transaction index"),
209
+ certificateIndex: expectInt(certificateIndex, fieldPath(path, "certificateIndex"), "a certificate index")
210
+ };
211
+ };
212
+ /** `Address { payment_credential, stake_credential: Option<StakeCredential> }`. */
213
+ const encodeRecipient = (recipient) => constr(0, [encodeCredential(recipient.paymentCredential), recipient.stakeCredential ? constr(0, [encodeStakeCredential(recipient.stakeCredential)]) : constr(1)]);
214
+ const decodeRecipient = (data, path) => {
215
+ const [payment, optionalStake] = expectConstr(data, {
216
+ index: 0,
217
+ arity: 2
218
+ }, {
219
+ path,
220
+ what: "an address"
221
+ });
222
+ const paymentCredential = decodeCredential(payment, fieldPath(path, "paymentCredential"));
223
+ const stakePath = fieldPath(path, "stakeCredential");
224
+ const option = expectConstrIndex(optionalStake, stakePath, "an option");
225
+ if (option === 1n) {
226
+ expectConstr(optionalStake, {
227
+ index: 1,
228
+ arity: 0
229
+ }, {
230
+ path: stakePath,
231
+ what: "None"
232
+ });
233
+ return { paymentCredential };
234
+ }
235
+ if (option !== 0n) return unknownAlternative(stakePath, "Some or None", option);
236
+ const [stake] = expectConstr(optionalStake, {
237
+ index: 0,
238
+ arity: 1
239
+ }, {
240
+ path: stakePath,
241
+ what: "Some"
242
+ });
243
+ return {
244
+ paymentCredential,
245
+ stakeCredential: decodeStakeCredential(stake, stakePath)
246
+ };
247
+ };
248
+ //#endregion
249
+ //#region ../../packages/lib/cardano-custody/src/codecs/account-state.ts
250
+ const encodeAsset = (asset) => constr(0, [bytes(asset.policyId), bytes(asset.assetName)]);
251
+ const decodeAsset = (data, path) => {
252
+ const [policyId, assetName] = expectConstr(data, {
253
+ index: 0,
254
+ arity: 2
255
+ }, {
256
+ path,
257
+ what: "an asset"
258
+ });
259
+ return {
260
+ policyId: expectBytes(policyId, fieldPath(path, "policyId"), "a policy id"),
261
+ assetName: expectBytes(assetName, fieldPath(path, "assetName"), "an asset name")
262
+ };
263
+ };
264
+ /** Fields in declaration order: the lovelace per call cap precedes the lovelace cap. */
265
+ const encodeScope = (scope) => constr(0, [
266
+ encodeAsset(scope.asset),
267
+ scope.perCallCap,
268
+ scope.cap,
269
+ scope.lovelacePerCallCap,
270
+ scope.lovelaceCap,
271
+ scope.expiresAt,
272
+ list(scope.recipients.map(encodeRecipient))
273
+ ]);
274
+ const decodeScope = (data, path) => {
275
+ const [asset, perCallCap, cap, lovelacePerCallCap, lovelaceCap, expiresAt, recipients] = expectConstr(data, {
276
+ index: 0,
277
+ arity: 7
278
+ }, {
279
+ path,
280
+ what: "a scope"
281
+ });
282
+ const recipientsPath = fieldPath(path, "recipients");
283
+ return {
284
+ asset: decodeAsset(asset, fieldPath(path, "asset")),
285
+ perCallCap: expectInt(perCallCap, fieldPath(path, "perCallCap"), "a per call cap"),
286
+ cap: expectInt(cap, fieldPath(path, "cap"), "a cap"),
287
+ lovelacePerCallCap: expectInt(lovelacePerCallCap, fieldPath(path, "lovelacePerCallCap"), "a lovelace per call cap"),
288
+ lovelaceCap: expectInt(lovelaceCap, fieldPath(path, "lovelaceCap"), "a lovelace cap"),
289
+ expiresAt: expectInt(expiresAt, fieldPath(path, "expiresAt"), "an expiry"),
290
+ recipients: expectList(recipients, recipientsPath, "recipients").map((recipient, index) => decodeRecipient(recipient, itemPath(recipientsPath, index)))
291
+ };
292
+ };
293
+ /**
294
+ * The inline datum of a grant UTxO. Always fresh Plutus data, like the state
295
+ * encoder. Throws `InvalidStringError` for a key hash, asset or credential
296
+ * hash that is not hex of whole bytes.
297
+ */
298
+ const encodeCustodyGrant = (grant) => constr(0, [
299
+ grant.slot,
300
+ bytes(grant.grantee),
301
+ grant.generation,
302
+ encodeScope(grant.scope)
303
+ ]);
304
+ /**
305
+ * The grant a grant UTxO datum carries. Accepts exactly the shapes the
306
+ * logic's soft cast accepts and applies no authoring rule;
307
+ * `findCustodyGrantViolations` marks what Lace would not author.
308
+ */
309
+ const decodeCustodyGrant = (data) => decodeResult(() => {
310
+ const [slot, grantee, generation, scope] = expectConstr(data, {
311
+ index: 0,
312
+ arity: 4
313
+ }, {
314
+ path: "",
315
+ what: "a grant"
316
+ });
317
+ return {
318
+ slot: expectInt(slot, "slot", "a slot"),
319
+ grantee: expectBytes(grantee, "grantee", "a grantee key hash"),
320
+ generation: expectInt(generation, "generation", "a generation"),
321
+ scope: decodeScope(scope, "scope")
322
+ };
323
+ });
324
+ /**
325
+ * The control UTxO datum for a state. Always fresh Plutus data, so edits made
326
+ * to a decoded state are never masked by the original encoding.
327
+ *
328
+ * Throws `InvalidStringError` for a logic or device key hash that is not hex
329
+ * of whole bytes, instead of writing other bytes than the state holds. A
330
+ * decoded state, and a state `findCustodyStateViolations` accepts, always
331
+ * encode.
332
+ */
333
+ const encodeCustodyAccountState = (state) => constr(0, [
334
+ bytes(state.logic),
335
+ list(state.devices.map((device) => bytes(device))),
336
+ state.grantGeneration,
337
+ state.nextSlot,
338
+ list([...state.revoked]),
339
+ state.outstanding
340
+ ]);
341
+ const decodeLogic = (data) => expectBytes(data, "logic", "a logic hash");
342
+ const decodeDevices = (data) => expectList(data, "devices", "devices").map((device, index) => expectBytes(device, itemPath("devices", index), "a device key hash"));
343
+ /**
344
+ * The state a control UTxO datum carries. Accepts exactly the shapes the
345
+ * logic's soft cast accepts: canonical constructor indices and exact
346
+ * field counts. It applies no authoring rule, so an on-chain device with an
347
+ * ill-sized hash still decodes; `findCustodyStateViolations` marks it.
348
+ */
349
+ const decodeCustodyAccountState = (data) => decodeResult(() => {
350
+ const [logic, devices, grantGeneration, nextSlot, revoked, outstanding] = expectConstr(data, {
351
+ index: 0,
352
+ arity: 6
353
+ }, {
354
+ path: "",
355
+ what: "an account state"
356
+ });
357
+ return {
358
+ logic: decodeLogic(logic),
359
+ devices: decodeDevices(devices),
360
+ grantGeneration: expectInt(grantGeneration, "grantGeneration", "a grant generation"),
361
+ nextSlot: expectInt(nextSlot, "nextSlot", "a next slot"),
362
+ revoked: expectList(revoked, "revoked", "revoked slots").map((slot, index) => expectInt(slot, itemPath("revoked", index), "a revoked slot")),
363
+ outstanding: expectInt(outstanding, "outstanding", "an outstanding count")
364
+ };
365
+ });
366
+ /**
367
+ * The logic hash a control UTxO datum names in its first field, whatever the
368
+ * field count, as the proxy reads it.
369
+ */
370
+ const decodeCustodyStateLogic = (data) => decodeResult(() => {
371
+ const [logic] = expectConstrPrefix(data, {
372
+ index: 0,
373
+ minArity: 1
374
+ }, {
375
+ path: "",
376
+ what: "an account state"
377
+ });
378
+ return decodeLogic(logic);
379
+ });
380
+ /**
381
+ * The device key hashes of a control UTxO datum, read from its second field
382
+ * whatever the field count, as the stake script reads them. The devices are
383
+ * only as trustworthy as the logic that admitted them, so a reader first
384
+ * checks the logic `decodeCustodyStateLogic` names.
385
+ */
386
+ const decodeCustodyStateDevices = (data) => decodeResult(() => {
387
+ const [, devices] = expectConstrPrefix(data, {
388
+ index: 0,
389
+ minArity: 2
390
+ }, {
391
+ path: "",
392
+ what: "an account state"
393
+ });
394
+ return decodeDevices(devices);
395
+ });
396
+ const MAX_ASSET_NAME_BYTES = 32;
397
+ const POLICY_ID_BYTES = 28;
398
+ const CUSTODY_LOVELACE_ASSET = {
399
+ policyId: "",
400
+ assetName: ""
401
+ };
402
+ const isCustodyLovelaceAsset = (asset) => asset.policyId === "" && asset.assetName === "";
403
+ const isPolicyIdWellFormed = (policyId) => policyId === "" || require_hex.isLowerCaseHex(policyId, POLICY_ID_BYTES);
404
+ const isAssetNameWellFormed = ({ policyId, assetName }) => require_hex.isLowerCaseHex(assetName) && assetName.length <= MAX_ASSET_NAME_BYTES * 2 && (policyId !== "" || assetName === "");
405
+ const CAP_FIELDS = [
406
+ "perCallCap",
407
+ "cap",
408
+ "lovelacePerCallCap",
409
+ "lovelaceCap"
410
+ ];
411
+ /** Every rule a grant breaks, in field order; empty for an authorable grant. */
412
+ const findCustodyGrantViolations = (grant) => {
413
+ const { slot, scope } = grant;
414
+ const violations = [];
415
+ if (slot < 0n || slot >= require_tokens.CUSTODY_SLOT_LIMIT) violations.push({
416
+ code: "slot-out-of-range",
417
+ slot
418
+ });
419
+ if (!require_hex.isHash28Hex(grant.grantee)) violations.push({
420
+ code: "invalid-grantee-key-hash",
421
+ slot
422
+ });
423
+ if (grant.generation < 0n) violations.push({
424
+ code: "negative-generation",
425
+ slot
426
+ });
427
+ if (!isPolicyIdWellFormed(scope.asset.policyId)) violations.push({
428
+ code: "invalid-policy-id",
429
+ slot
430
+ });
431
+ if (!isAssetNameWellFormed(scope.asset)) violations.push({
432
+ code: "invalid-asset-name",
433
+ slot
434
+ });
435
+ for (const field of CAP_FIELDS) if (scope[field] < 0n) violations.push({
436
+ code: "negative-cap",
437
+ field,
438
+ slot
439
+ });
440
+ if (isCustodyLovelaceAsset(scope.asset) && (scope.lovelacePerCallCap !== 0n || scope.lovelaceCap !== 0n)) violations.push({
441
+ code: "lovelace-grant-lovelace-caps",
442
+ slot
443
+ });
444
+ if (scope.expiresAt <= 0n) violations.push({
445
+ code: "non-positive-expiry",
446
+ slot
447
+ });
448
+ if (scope.recipients.length > 8) violations.push({
449
+ code: "recipient-count",
450
+ count: scope.recipients.length,
451
+ slot
452
+ });
453
+ const seenRecipients = /* @__PURE__ */ new Set();
454
+ for (const [recipientIndex, recipient] of scope.recipients.entries()) {
455
+ if (!isRepresentableRecipient(recipient)) violations.push({
456
+ code: "unrepresentable-recipient",
457
+ recipientIndex,
458
+ slot
459
+ });
460
+ const key = recipientKey(recipient);
461
+ if (seenRecipients.has(key)) violations.push({
462
+ code: "duplicate-recipient",
463
+ recipientIndex,
464
+ slot
465
+ });
466
+ seenRecipients.add(key);
467
+ }
468
+ return violations;
469
+ };
470
+ /**
471
+ * Every rule a control state breaks: the contract's well-formedness bounds
472
+ * plus a 28-byte logic hash and 28-byte device key hashes. Apply it to every
473
+ * state Lace builds or approves. An on-chain state may hold an ill-sized
474
+ * device, which can never sign; its violation names it so a device can
475
+ * remove it.
476
+ */
477
+ const findCustodyStateViolations = (state) => {
478
+ const violations = [];
479
+ if (!require_hex.isHash28Hex(state.logic)) violations.push({
480
+ code: "invalid-logic-hash",
481
+ logic: state.logic
482
+ });
483
+ const deviceCount = state.devices.length;
484
+ if (deviceCount < 1 || deviceCount > 8) violations.push({
485
+ code: "device-count",
486
+ count: deviceCount
487
+ });
488
+ const seenDevices = /* @__PURE__ */ new Set();
489
+ for (const [deviceIndex, device] of state.devices.entries()) {
490
+ if (!require_hex.isHash28Hex(device)) violations.push({
491
+ code: "invalid-device-key-hash",
492
+ device,
493
+ deviceIndex
494
+ });
495
+ if (seenDevices.has(device)) violations.push({
496
+ code: "duplicate-device",
497
+ device,
498
+ deviceIndex
499
+ });
500
+ seenDevices.add(device);
501
+ }
502
+ if (state.grantGeneration < 0n) violations.push({ code: "negative-grant-generation" });
503
+ if (state.nextSlot < 0n) violations.push({ code: "negative-next-slot" });
504
+ if (state.outstanding < 0n) violations.push({ code: "negative-outstanding" });
505
+ if (state.outstanding > BigInt(16)) violations.push({
506
+ code: "outstanding-count",
507
+ count: state.outstanding
508
+ });
509
+ if (state.revoked.length > 32) violations.push({
510
+ code: "revoked-count",
511
+ count: state.revoked.length
512
+ });
513
+ return violations;
514
+ };
515
+ /**
516
+ * Whether a grant can no longer be used at `now` (POSIX milliseconds): a
517
+ * spend's upper validity bound must not pass `expiresAt`, so a grant is
518
+ * expired from the instant it names. A non-finite `now` is a broken clock,
519
+ * which can never show a grant as usable, so it counts as expired.
520
+ */
521
+ const isCustodyGrantExpired = (grant, now) => !Number.isFinite(now) || grant.scope.expiresAt <= BigInt(Math.floor(now));
522
+ /**
523
+ * Whether a grant is current against a control state, as the contract
524
+ * judges a spend: issued under the state's generation and not revoked by
525
+ * slot. Expiry is the validity range's business.
526
+ */
527
+ const isCustodyGrantCurrent = (grant, state) => grant.generation === state.grantGeneration && !state.revoked.includes(grant.slot);
528
+ //#endregion
529
+ //#region ../../packages/lib/cardano-custody/src/analysis/value.ts
530
+ /** Hex length of a policy id: every asset class on chain has a 28-byte one. */
531
+ const POLICY_ID_HEX_LENGTH = 56;
532
+ const valueDeltaOf = (value) => addValueDeltas([{
533
+ lovelace: value.coins,
534
+ assets: new Map([...value.assets ?? /* @__PURE__ */ new Map()].map(([assetId, quantity]) => [assetId.toLowerCase(), quantity]))
535
+ }]);
536
+ /** The sum of deltas, with zero token quantities dropped. */
537
+ const addValueDeltas = (deltas) => {
538
+ let lovelace = 0n;
539
+ const assets = /* @__PURE__ */ new Map();
540
+ for (const delta of deltas) {
541
+ lovelace += delta.lovelace;
542
+ for (const [assetId, quantity] of delta.assets) {
543
+ const sum = (assets.get(assetId) ?? 0n) + quantity;
544
+ if (sum === 0n) assets.delete(assetId);
545
+ else assets.set(assetId, sum);
546
+ }
547
+ }
548
+ return {
549
+ lovelace,
550
+ assets
551
+ };
552
+ };
553
+ const negateValueDelta = (delta) => ({
554
+ lovelace: -delta.lovelace,
555
+ assets: new Map([...delta.assets].map(([assetId, quantity]) => [assetId, -quantity]))
556
+ });
557
+ /** The policy id of an asset id. */
558
+ const policyIdOf = (assetId) => assetId.slice(0, POLICY_ID_HEX_LENGTH);
559
+ /** The asset name of an asset id, as hex. */
560
+ const assetNameOf = (assetId) => assetId.slice(POLICY_ID_HEX_LENGTH);
561
+ /**
562
+ * Whether an asset id names an asset class. Compared by parts, so an asset
563
+ * whose policy id is not 28 bytes, which no value can hold, matches nothing.
564
+ */
565
+ const isAssetIdOf = (assetId, asset) => asset.policyId.length === POLICY_ID_HEX_LENGTH && policyIdOf(assetId) === asset.policyId && assetNameOf(assetId) === asset.assetName;
566
+ /** The quantity of one asset class: `assets.quantity_of` of the contract. */
567
+ const quantityOfAsset = (delta, asset) => {
568
+ if (isCustodyLovelaceAsset(asset)) return delta.lovelace;
569
+ for (const [assetId, quantity] of delta.assets) if (isAssetIdOf(assetId, asset)) return quantity;
570
+ return 0n;
571
+ };
572
+ //#endregion
573
+ //#region ../../packages/lib/cardano-custody/src/analysis/outputs.ts
574
+ const OTHER = { kind: "other" };
575
+ /** Hex length of a stake script hash: the state NFT name and the prefix of every grant token name. */
576
+ const STAKE_SCRIPT_HASH_HEX_LENGTH = 56;
577
+ const versionOfPayment = (credential) => credential.type === _laceio_cardano_core.Cardano.CredentialType.ScriptHash ? require_hex.SUPPORTED_CUSTODY_CONTRACT_VERSIONS.find((version) => version.accountValidatorHash === credential.hash) : void 0;
578
+ /**
579
+ * Whether a script hash is a logic in the catalogue of a supported contract
580
+ * version: one whose rules Lace has reviewed.
581
+ */
582
+ const isKnownCustodyLogic = (scriptHash) => require_hex.SUPPORTED_CUSTODY_CONTRACT_VERSIONS.some((version) => require_hex.findCustodyLogic(version, scriptHash).ok);
583
+ /**
584
+ * Classifies an address on any network against every supported custody
585
+ * contract version. It reads the address only: `account` does not prove
586
+ * that the stake script is a custody stake script or that the account
587
+ * exists.
588
+ */
589
+ const classifyCustodyAddress = (address) => {
590
+ const base = address.asBase();
591
+ const payment = (base ?? address.asEnterprise() ?? address.asPointer())?.getPaymentCredential();
592
+ const contractVersion = payment && versionOfPayment(payment);
593
+ if (!contractVersion) return OTHER;
594
+ const stake = base?.getStakeCredential();
595
+ return stake?.type === _laceio_cardano_core.Cardano.CredentialType.ScriptHash ? {
596
+ kind: "account",
597
+ contractVersion,
598
+ stakeScriptHash: stake.hash
599
+ } : {
600
+ kind: "unspendable",
601
+ contractVersion
602
+ };
603
+ };
604
+ /** A key equal for two addresses exactly when their Plutus data is equal. */
605
+ const plutusAddressKeyOf = (address) => {
606
+ const recipient = custodyRecipientFromAddress(address);
607
+ return recipient.ok ? recipientKey(recipient.value) : void 0;
608
+ };
609
+ const accountPlutusAddressKey = ({ accountValidatorHash, stakeScriptHash }) => recipientKey({
610
+ paymentCredential: {
611
+ type: _laceio_cardano_core.Cardano.CredentialType.ScriptHash,
612
+ hash: accountValidatorHash
613
+ },
614
+ stakeCredential: {
615
+ kind: "inline",
616
+ credential: {
617
+ type: _laceio_cardano_core.Cardano.CredentialType.ScriptHash,
618
+ hash: stakeScriptHash
619
+ }
620
+ }
621
+ });
622
+ const stakeCredentialOf = ({ stakeScriptHash }) => ({
623
+ type: _laceio_cardano_core.Cardano.CredentialType.ScriptHash,
624
+ hash: stakeScriptHash
625
+ });
626
+ const accountAddressOf = (account, networkId) => _laceio_cardano_core.Cardano.BaseAddress.fromCredentials(networkId, {
627
+ type: _laceio_cardano_core.Cardano.CredentialType.ScriptHash,
628
+ hash: account.accountValidatorHash
629
+ }, stakeCredentialOf(account)).toAddress().toBech32();
630
+ const accountRewardAccountOf = (account, networkId) => _laceio_cardano_core.Cardano.RewardAccount.fromCredential(stakeCredentialOf(account), networkId);
631
+ const stateNftAssetIdOf = ({ accountValidatorHash, stakeScriptHash }) => `${accountValidatorHash}${stakeScriptHash}`;
632
+ /**
633
+ * The asset id of the account's grant token for `slot`, or undefined for a
634
+ * slot no grant token name can carry, which the validator cannot name either.
635
+ */
636
+ const grantAssetIdOf = (account, slot) => slot >= 0n && slot < require_tokens.CUSTODY_SLOT_LIMIT ? require_tokens.custodyGrantAssetId(account, slot) : void 0;
637
+ /**
638
+ * The output's datum as the script context sees it. A resolution that
639
+ * carries both an inline datum and its hash, as some providers report an
640
+ * inline datum, keeps the inline datum.
641
+ */
642
+ const datumOf = (txOut) => {
643
+ if (txOut.datum !== void 0) return {
644
+ datumKind: "inline",
645
+ inlineDatum: txOut.datum
646
+ };
647
+ return {
648
+ datumKind: txOut.datumHash === void 0 ? "none" : "hash",
649
+ inlineDatum: void 0
650
+ };
651
+ };
652
+ const viewOfOutput = (txOut) => {
653
+ const address = _laceio_cardano_core.Cardano.Address.fromString(txOut.address) ?? void 0;
654
+ return {
655
+ txOut,
656
+ address,
657
+ addressClass: address ? classifyCustodyAddress(address) : OTHER,
658
+ plutusAddressKey: address && plutusAddressKeyOf(address),
659
+ value: valueDeltaOf(txOut.value),
660
+ ...datumOf(txOut),
661
+ hasReferenceScript: txOut.scriptReference !== void 0,
662
+ referenceScriptHash: txOut.scriptReference && _laceio_cardano_core.Serialization.Script.fromCore(txOut.scriptReference).hash()
663
+ };
664
+ };
665
+ /** The account state an output carries as its inline datum, if it decodes. */
666
+ const decodedInlineState = (view) => {
667
+ if (view.inlineDatum === void 0) return void 0;
668
+ const decoded = decodeCustodyAccountState(view.inlineDatum);
669
+ return decoded.ok ? decoded.value : void 0;
670
+ };
671
+ /** The grant an output carries as its inline datum, if it decodes. */
672
+ const decodedInlineGrant = (view) => {
673
+ if (view.inlineDatum === void 0) return void 0;
674
+ const decoded = decodeCustodyGrant(view.inlineDatum);
675
+ return decoded.ok ? decoded.value : void 0;
676
+ };
677
+ /** Whether the output sits at the account address, compared as Plutus data. */
678
+ const isAtAccount = (view, account) => view.plutusAddressKey !== void 0 && view.plutusAddressKey === accountPlutusAddressKey(account);
679
+ /** `holds_state_nft`: exactly one of the account's state NFT. */
680
+ const holdsStateNft = (value, account) => value.assets.get(stateNftAssetIdOf(account)) === 1n;
681
+ /** `holds_only_lovelace_and_state_nft`: the state NFT and no other token. */
682
+ const holdsOnlyLovelaceAndStateNft = (value, account) => value.assets.size === 1 && holdsStateNft(value, account);
683
+ /** `holds_only_lovelace_and_grant_token`: one grant token of `slot` and no other token. */
684
+ const holdsOnlyLovelaceAndGrantToken = (value, account, slot) => {
685
+ const assetId = grantAssetIdOf(account, slot);
686
+ return assetId !== void 0 && value.assets.size === 1 && value.assets.get(assetId) === 1n;
687
+ };
688
+ /** `holds_no_account_token`: no token under the account validator policy, of any account. */
689
+ const holdsNoAccountToken = (value, accountValidatorHash) => ![...value.assets.keys()].some((assetId) => policyIdOf(assetId) === accountValidatorHash);
690
+ /** Whether a value holds a token of the account: its state NFT or one of its grant tokens. */
691
+ const holdsOwnAccountToken = (value, { accountValidatorHash, stakeScriptHash }) => [...value.assets.keys()].some((assetId) => policyIdOf(assetId) === accountValidatorHash && assetNameOf(assetId).startsWith(stakeScriptHash));
692
+ /** `holds_account_token`: at the account address, holding one of its account tokens. */
693
+ const holdsAccountToken = (view, account) => isAtAccount(view, account) && holdsOwnAccountToken(view.value, account);
694
+ /** `is_control_output`: at the account address, holding its state NFT. */
695
+ const isControlOutput = (view, account) => isAtAccount(view, account) && holdsStateNft(view.value, account);
696
+ /**
697
+ * Which kind of account UTxO an output at the account address is: the
698
+ * control UTxO holds the state NFT, a grant UTxO another token of the
699
+ * account, a reserve no account token and a datum, a fund neither.
700
+ */
701
+ const accountUtxoKindOf = (view, account) => {
702
+ if (holdsStateNft(view.value, account)) return "control";
703
+ if (holdsOwnAccountToken(view.value, account)) return "grant";
704
+ return view.datumKind === "none" ? "fund" : "reserve";
705
+ };
706
+ /**
707
+ * Whether an output breaks `tokens_sit_at_their_own_addresses` for one of
708
+ * the account validators: every token under an account validator policy
709
+ * must be a single one at the account address its name's first 28 bytes
710
+ * name.
711
+ */
712
+ const holdsMisplacedAccountToken = (view, accountValidatorHashes) => [...view.value.assets].some(([assetId, quantity]) => {
713
+ const accountValidatorHash = policyIdOf(assetId);
714
+ if (!accountValidatorHashes.includes(accountValidatorHash)) return false;
715
+ return quantity !== 1n || !isAtAccount(view, {
716
+ accountValidatorHash,
717
+ stakeScriptHash: assetNameOf(assetId).slice(0, STAKE_SCRIPT_HASH_HEX_LENGTH)
718
+ });
719
+ });
720
+ //#endregion
721
+ Object.defineProperty(exports, "CUSTODY_LOVELACE_ASSET", {
722
+ enumerable: true,
723
+ get: function() {
724
+ return CUSTODY_LOVELACE_ASSET;
725
+ }
726
+ });
727
+ Object.defineProperty(exports, "accountAddressOf", {
728
+ enumerable: true,
729
+ get: function() {
730
+ return accountAddressOf;
731
+ }
732
+ });
733
+ Object.defineProperty(exports, "accountPlutusAddressKey", {
734
+ enumerable: true,
735
+ get: function() {
736
+ return accountPlutusAddressKey;
737
+ }
738
+ });
739
+ Object.defineProperty(exports, "accountRewardAccountOf", {
740
+ enumerable: true,
741
+ get: function() {
742
+ return accountRewardAccountOf;
743
+ }
744
+ });
745
+ Object.defineProperty(exports, "accountUtxoKindOf", {
746
+ enumerable: true,
747
+ get: function() {
748
+ return accountUtxoKindOf;
749
+ }
750
+ });
751
+ Object.defineProperty(exports, "addValueDeltas", {
752
+ enumerable: true,
753
+ get: function() {
754
+ return addValueDeltas;
755
+ }
756
+ });
757
+ Object.defineProperty(exports, "addressOfRepresentableRecipient", {
758
+ enumerable: true,
759
+ get: function() {
760
+ return addressOfRepresentableRecipient;
761
+ }
762
+ });
763
+ Object.defineProperty(exports, "assetNameOf", {
764
+ enumerable: true,
765
+ get: function() {
766
+ return assetNameOf;
767
+ }
768
+ });
769
+ Object.defineProperty(exports, "classifyCustodyAddress", {
770
+ enumerable: true,
771
+ get: function() {
772
+ return classifyCustodyAddress;
773
+ }
774
+ });
775
+ Object.defineProperty(exports, "constr", {
776
+ enumerable: true,
777
+ get: function() {
778
+ return constr;
779
+ }
780
+ });
781
+ Object.defineProperty(exports, "custodyRecipientFromAddress", {
782
+ enumerable: true,
783
+ get: function() {
784
+ return custodyRecipientFromAddress;
785
+ }
786
+ });
787
+ Object.defineProperty(exports, "custodyRecipientToAddress", {
788
+ enumerable: true,
789
+ get: function() {
790
+ return custodyRecipientToAddress;
791
+ }
792
+ });
793
+ Object.defineProperty(exports, "decodeCustodyAccountState", {
794
+ enumerable: true,
795
+ get: function() {
796
+ return decodeCustodyAccountState;
797
+ }
798
+ });
799
+ Object.defineProperty(exports, "decodeCustodyGrant", {
800
+ enumerable: true,
801
+ get: function() {
802
+ return decodeCustodyGrant;
803
+ }
804
+ });
805
+ Object.defineProperty(exports, "decodeCustodyStateDevices", {
806
+ enumerable: true,
807
+ get: function() {
808
+ return decodeCustodyStateDevices;
809
+ }
810
+ });
811
+ Object.defineProperty(exports, "decodeCustodyStateLogic", {
812
+ enumerable: true,
813
+ get: function() {
814
+ return decodeCustodyStateLogic;
815
+ }
816
+ });
817
+ Object.defineProperty(exports, "decodeResult", {
818
+ enumerable: true,
819
+ get: function() {
820
+ return decodeResult;
821
+ }
822
+ });
823
+ Object.defineProperty(exports, "decodedInlineGrant", {
824
+ enumerable: true,
825
+ get: function() {
826
+ return decodedInlineGrant;
827
+ }
828
+ });
829
+ Object.defineProperty(exports, "decodedInlineState", {
830
+ enumerable: true,
831
+ get: function() {
832
+ return decodedInlineState;
833
+ }
834
+ });
835
+ Object.defineProperty(exports, "encodeCustodyAccountState", {
836
+ enumerable: true,
837
+ get: function() {
838
+ return encodeCustodyAccountState;
839
+ }
840
+ });
841
+ Object.defineProperty(exports, "encodeCustodyGrant", {
842
+ enumerable: true,
843
+ get: function() {
844
+ return encodeCustodyGrant;
845
+ }
846
+ });
847
+ Object.defineProperty(exports, "expectConstr", {
848
+ enumerable: true,
849
+ get: function() {
850
+ return expectConstr;
851
+ }
852
+ });
853
+ Object.defineProperty(exports, "expectConstrIndex", {
854
+ enumerable: true,
855
+ get: function() {
856
+ return expectConstrIndex;
857
+ }
858
+ });
859
+ Object.defineProperty(exports, "findCustodyGrantViolations", {
860
+ enumerable: true,
861
+ get: function() {
862
+ return findCustodyGrantViolations;
863
+ }
864
+ });
865
+ Object.defineProperty(exports, "findCustodyStateViolations", {
866
+ enumerable: true,
867
+ get: function() {
868
+ return findCustodyStateViolations;
869
+ }
870
+ });
871
+ Object.defineProperty(exports, "grantAssetIdOf", {
872
+ enumerable: true,
873
+ get: function() {
874
+ return grantAssetIdOf;
875
+ }
876
+ });
877
+ Object.defineProperty(exports, "holdsAccountToken", {
878
+ enumerable: true,
879
+ get: function() {
880
+ return holdsAccountToken;
881
+ }
882
+ });
883
+ Object.defineProperty(exports, "holdsMisplacedAccountToken", {
884
+ enumerable: true,
885
+ get: function() {
886
+ return holdsMisplacedAccountToken;
887
+ }
888
+ });
889
+ Object.defineProperty(exports, "holdsNoAccountToken", {
890
+ enumerable: true,
891
+ get: function() {
892
+ return holdsNoAccountToken;
893
+ }
894
+ });
895
+ Object.defineProperty(exports, "holdsOnlyLovelaceAndGrantToken", {
896
+ enumerable: true,
897
+ get: function() {
898
+ return holdsOnlyLovelaceAndGrantToken;
899
+ }
900
+ });
901
+ Object.defineProperty(exports, "holdsOnlyLovelaceAndStateNft", {
902
+ enumerable: true,
903
+ get: function() {
904
+ return holdsOnlyLovelaceAndStateNft;
905
+ }
906
+ });
907
+ Object.defineProperty(exports, "isAssetIdOf", {
908
+ enumerable: true,
909
+ get: function() {
910
+ return isAssetIdOf;
911
+ }
912
+ });
913
+ Object.defineProperty(exports, "isAtAccount", {
914
+ enumerable: true,
915
+ get: function() {
916
+ return isAtAccount;
917
+ }
918
+ });
919
+ Object.defineProperty(exports, "isControlOutput", {
920
+ enumerable: true,
921
+ get: function() {
922
+ return isControlOutput;
923
+ }
924
+ });
925
+ Object.defineProperty(exports, "isCustodyGrantCurrent", {
926
+ enumerable: true,
927
+ get: function() {
928
+ return isCustodyGrantCurrent;
929
+ }
930
+ });
931
+ Object.defineProperty(exports, "isCustodyGrantExpired", {
932
+ enumerable: true,
933
+ get: function() {
934
+ return isCustodyGrantExpired;
935
+ }
936
+ });
937
+ Object.defineProperty(exports, "isCustodyLovelaceAsset", {
938
+ enumerable: true,
939
+ get: function() {
940
+ return isCustodyLovelaceAsset;
941
+ }
942
+ });
943
+ Object.defineProperty(exports, "isKnownCustodyLogic", {
944
+ enumerable: true,
945
+ get: function() {
946
+ return isKnownCustodyLogic;
947
+ }
948
+ });
949
+ Object.defineProperty(exports, "negateValueDelta", {
950
+ enumerable: true,
951
+ get: function() {
952
+ return negateValueDelta;
953
+ }
954
+ });
955
+ Object.defineProperty(exports, "policyIdOf", {
956
+ enumerable: true,
957
+ get: function() {
958
+ return policyIdOf;
959
+ }
960
+ });
961
+ Object.defineProperty(exports, "quantityOfAsset", {
962
+ enumerable: true,
963
+ get: function() {
964
+ return quantityOfAsset;
965
+ }
966
+ });
967
+ Object.defineProperty(exports, "recipientKey", {
968
+ enumerable: true,
969
+ get: function() {
970
+ return recipientKey;
971
+ }
972
+ });
973
+ Object.defineProperty(exports, "stateNftAssetIdOf", {
974
+ enumerable: true,
975
+ get: function() {
976
+ return stateNftAssetIdOf;
977
+ }
978
+ });
979
+ Object.defineProperty(exports, "unknownAlternative", {
980
+ enumerable: true,
981
+ get: function() {
982
+ return unknownAlternative;
983
+ }
984
+ });
985
+ Object.defineProperty(exports, "viewOfOutput", {
986
+ enumerable: true,
987
+ get: function() {
988
+ return viewOfOutput;
989
+ }
990
+ });