@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.
- package/dist/{TransactionBuilder-DrB3NVTi.cjs → TransactionBuilder-CCjOn7NA.cjs} +42 -0
- package/dist/{TransactionBuilder-V6aLx4SV.js → TransactionBuilder-CIzdw18M.js} +1 -1
- package/dist/{_polyfill-buffer-patch-BnPVerlG.cjs → _polyfill-buffer-patch-CM8X7JiY.cjs} +21 -2
- package/dist/_polyfill-buffer-patch-yNxN4d5E.js +1467 -0
- package/dist/_web-crypto-random-bytes-Bo-GTcRS.js +197 -0
- package/dist/acc-module-4iIUv6My.cjs +27654 -0
- package/dist/acc-module-Cmj8EsIb.js +27624 -0
- package/dist/account-BOQruszJ.js +6 -0
- package/dist/account-BUOj4pYJ.cjs +11 -0
- package/dist/account-call-7wnopBq0.cjs +5 -0
- package/dist/account-call-B9d_2Xwi.js +4 -0
- package/dist/account-call-Bd4Rpbvt.cjs +323 -0
- package/dist/account-call-C3CkDqEC.js +276 -0
- package/dist/account-guards-BtjTGxDZ.cjs +42 -0
- package/dist/account-guards-D9Lu5T3W.js +36 -0
- package/dist/account-tokens-DvkOFVON.js +16 -0
- package/dist/account-tokens-nwcvwLu4.cjs +21 -0
- package/dist/{activity-type.stable-BJEfeLxL.cjs → activity-type-Ch6ljxBy.cjs} +2 -1
- package/dist/{activity-type.stable-C76_hWd7.js → activity-type-GsJGWs-3.js} +2 -1
- package/dist/address-B9ntKL8K.js +13761 -0
- package/dist/address-BXp-mY8H.cjs +11270 -0
- package/dist/{address-book-address-validator-DIUolI-s.js → address-book-address-validator-0J9XAADH.js} +2 -2
- package/dist/address-book-address-validator-DK0dnsRS.cjs +41 -0
- package/dist/address-book-address-validator-Di_ywo8M.js +39 -0
- package/dist/{address-book-address-validator-DNwQGlOB.cjs → address-book-address-validator-Dte_YQ2L.cjs} +2 -2
- package/dist/artefact-loader-BWWYAD7E.cjs +183 -0
- package/dist/artefact-loader-Dik4HIfv.js +160 -0
- package/dist/auto-dismiss-failure-on-success-C-qoJuid.cjs +37 -0
- package/dist/auto-dismiss-failure-on-success-s8MGDEIu.js +31 -0
- package/dist/bip32-D6wd_QMn.cjs +3851 -0
- package/dist/bitcoin-data-provider-BYPSmuZS.js +21 -0
- package/dist/bitcoin-data-provider-w1oEDSU3.cjs +26 -0
- package/dist/bitcoin.cjs +45 -0
- package/dist/bitcoin.d.ts +29906 -1
- package/dist/bitcoin.js +20 -0
- package/dist/{blockfrost-tx-submit-provider-DPTrapz-.js → blockfrost-tx-submit-provider-CBWQ0wK9.js} +5 -157
- package/dist/{blockfrost-tx-submit-provider-BAIzV5o3.cjs → blockfrost-tx-submit-provider-CLNQ5ycR.cjs} +3 -167
- package/dist/bn-d3nSOIf7.cjs +2553 -0
- package/dist/browser-B1eMbDwh.js +7468 -0
- package/dist/bytes.vo-BB7_4JK6.js +23 -0
- package/dist/bytes.vo-BNRquqaO.cjs +34 -0
- package/dist/cardano-DfPwhwm-.js +3 -0
- package/dist/{cardano-network-id.vo-DSxrFk9S.cjs → cardano-network-id.vo-BEDPn6Li.cjs} +1 -1
- package/dist/{cardano-network-id.vo-CK1tNQDg.js → cardano-network-id.vo-Cfpvbod9.js} +1 -1
- package/dist/cardano.cjs +22 -18
- package/dist/cardano.d.ts +16956 -1716
- package/dist/cardano.js +16 -11
- package/dist/client-DXBLHk7K.cjs +808 -0
- package/dist/codecs-Cswkg7Tm.cjs +4051 -0
- package/dist/codecs-Dc1Krpbt.js +3903 -0
- package/dist/{const-C84qHkjp.js → const-BJfIK_G-.js} +4 -4
- package/dist/const-BhYOdznB.cjs +42 -0
- package/dist/const-BsnjG2_Q.cjs +32071 -0
- package/dist/const-CUnCl5U0.js +13 -0
- package/dist/{const-DXk2tFyv.js → const-CjmfjBP3.js} +1 -1
- package/dist/{const-BDEg2Trq.cjs → const-D-eZIS4n.cjs} +4 -4
- package/dist/const-D0CbQlo4.js +154 -0
- package/dist/{const-BY8B3_0_.cjs → const-iwzZEE_w.cjs} +1 -1
- package/dist/contract-1R86jhSw.js +171 -0
- package/dist/contract-MKLzYVkW.cjs +189 -0
- package/dist/create-add-accounts-Brqk84vF.js +102 -0
- package/dist/create-add-accounts-DzXIh7Ot.cjs +114 -0
- package/dist/{delegation-tx-builder-CRpLP6jH.cjs → delegation-tx-builder-CCjiakoy.cjs} +6 -6
- package/dist/{delegation-tx-builder-CGVqlaFE.js → delegation-tx-builder-DZFjHDS8.js} +5 -5
- package/dist/{deregistration-tx-builder-B-CrUyX6.js → deregistration-tx-builder-Bf6xAYp4.js} +5 -5
- package/dist/{deregistration-tx-builder-DZGwB4cz.cjs → deregistration-tx-builder-CQP35yex.cjs} +6 -6
- package/dist/device-commitment-hex.vo-5wFtQvDS.js +26 -0
- package/dist/device-commitment-hex.vo-CT3RmAug.cjs +31 -0
- package/dist/device-readers-CUHYoYOH.js +145 -0
- package/dist/device-readers-CdxS2btd.cjs +168 -0
- package/dist/device-readers-D_JZeNL2.cjs +8 -0
- package/dist/device-readers-DwSNCGPP.js +4 -0
- package/dist/dist-BMi5ZjEq.cjs +43175 -0
- package/dist/dist-BtIq4XFn.cjs +535 -0
- package/dist/dist-C3SHC_Ho.cjs +1394 -0
- package/dist/dist-CykEjYEX.cjs +3814 -0
- package/dist/dist-Dcsxh3be.cjs +3452 -0
- package/dist/dist-DqJfSlTd.cjs +4413 -0
- package/dist/dist-nTZ70qj7.cjs +1306 -0
- package/dist/{earn-rewards-tx-builder-BDbTDZmD.js → earn-rewards-tx-builder-Bsga3yFb.js} +5 -5
- package/dist/{earn-rewards-tx-builder-D5sUT5v8.cjs → earn-rewards-tx-builder-GuxofYns.cjs} +6 -6
- package/dist/enc-key-circuits-B7BjgUL9.js +13 -0
- package/dist/enc-key-circuits-BLrZrBVI.cjs +24 -0
- package/dist/english-Byb9M0E_.cjs +2057 -0
- package/dist/envelopes-BGoO_v8m.js +1621 -0
- package/dist/envelopes-CH25R-DN.cjs +1722 -0
- package/dist/errors-BIftM8ZN.cjs +688 -0
- package/dist/errors-DSq5wUwt.js +466 -0
- package/dist/esm-HBSUQw3w.js +384 -0
- package/dist/esm-LZuaZjMf.cjs +389 -0
- package/dist/experimental.cjs +7349 -0
- package/dist/experimental.d.ts +86273 -0
- package/dist/experimental.js +7184 -0
- package/dist/gated-call-CDCVZIK-.cjs +5 -0
- package/dist/gated-call-D-tT7P_t.js +722 -0
- package/dist/gated-call-D_VT2quk.js +4 -0
- package/dist/gated-call-DgJm1Mi_.cjs +787 -0
- package/dist/grant-circuits-DswmW3nI.cjs +71 -0
- package/dist/grant-circuits-Jxb5y1HW.js +42 -0
- package/dist/grant-rules-By07_eDi.js +6824 -0
- package/dist/grant-rules-BzVTWXS7.cjs +7099 -0
- package/dist/grant-spend-B3Md9L0n.js +215 -0
- package/dist/grant-spend-oWmzRsjH.cjs +217 -0
- package/dist/grant-status-B2y49iIu.js +2688 -0
- package/dist/grant-status-DOr3t_u8.cjs +2820 -0
- package/dist/grants-2BZ-qEVQ.js +5 -0
- package/dist/grants-BPoLSiMt.cjs +18 -0
- package/dist/grants-BoI5uwSF.cjs +272 -0
- package/dist/grants-CtofFu-e.js +213 -0
- package/dist/{group-cardano-addresses-by-account-B533oVXR.cjs → group-cardano-addresses-by-account-Bp0g4wEY.cjs} +3 -39
- package/dist/{group-cardano-addresses-by-account-RHKoEskR.js → group-cardano-addresses-by-account-SR8MMrZf.js} +5 -35
- package/dist/{guarded-transaction-signer-Bxl6_XNd.cjs → guarded-transaction-signer-MFpPg98D.cjs} +17 -18
- package/dist/{guarded-transaction-signer-CpKLj8Kp.js → guarded-transaction-signer-P6Rp1faj.js} +8 -15
- package/dist/hex-D9ITYbwt.cjs +263 -0
- package/dist/hex-mkXcV3pN.js +191 -0
- package/dist/http-client-B3N-TMxu.cjs +167 -0
- package/dist/http-client-TRlhDZGh.js +155 -0
- package/dist/identity-BMLuufva.cjs +263 -0
- package/dist/identity-DII6f-h7.js +233 -0
- package/dist/in-memory-wallet-integration-B2xzxORj.cjs +20741 -0
- package/dist/in-memory-wallet-integration-CBRiPjLO.js +130 -0
- package/dist/in-memory-wallet-integration-CULUB5Tf.cjs +240 -0
- package/dist/{in-memory-wallet-integration-D-qn65Kx.js → in-memory-wallet-integration-ChIOirMW.js} +5 -2
- package/dist/{in-memory-wallet-integration-Croiuopx.js → in-memory-wallet-integration-CljprQQV.js} +7 -104
- package/dist/{in-memory-wallet-integration-DVh9sRXa.cjs → in-memory-wallet-integration-Cm6P8sk6.cjs} +3 -2
- package/dist/in-memory-wallet-integration-TM9bBphA.js +20738 -0
- package/dist/{in-memory-wallet-integration-CnLYeX4-.cjs → in-memory-wallet-integration-t9I00R_V.cjs} +17 -108
- package/dist/index.cjs +84 -47
- package/dist/index.d.ts +37496 -10033
- package/dist/index.js +52 -24
- package/dist/{init-CLHuAMB-.js → init-0zzs9aqU.js} +4 -4
- package/dist/{init-U8c9yHYx.cjs → init-5KcGcBb5.cjs} +1 -1
- package/dist/init-8v_n8boO.js +1177 -0
- package/dist/{init-CigestoM.js → init-B3-1ghyx.js} +2 -2
- package/dist/init-B8U3ABhS.cjs +107 -0
- package/dist/init-BJn-8_hf.js +141 -0
- package/dist/init-BPU3j8sT.cjs +6 -0
- package/dist/init-BRzH6xu-2.cjs +2797 -0
- package/dist/init-BmzfDaKL.js +1142 -0
- package/dist/{init-C-jErzp5.cjs → init-BopV9ed4.cjs} +2 -2
- package/dist/init-BpHTq2R5.js +105 -0
- package/dist/init-BpSITBfF.js +39 -0
- package/dist/{init-DX4WyB0R.cjs → init-BrdVzxei.cjs} +3 -3
- package/dist/{init-LfyMo-sS.cjs → init-BwkU0ruo.cjs} +2 -2
- package/dist/{init-CB__aLD7.cjs → init-C-G32J12.cjs} +2 -2
- package/dist/init-C00gw1zi.js +422 -0
- package/dist/{init-TkPq_Ny_.js → init-C2RgrfZe.js} +1 -1
- package/dist/{init-DcYY6zMD.js → init-C8URA2OX.js} +1 -1
- package/dist/init-CDkRynJa.js +2796 -0
- package/dist/{init-Cg9XdAru.js → init-CNM5m7M2.js} +4 -4
- package/dist/init-CR7BfztQ.cjs +18 -0
- package/dist/{init-CSHwHnfg.cjs → init-CSDpdu0Q.cjs} +2 -2
- package/dist/{init-aJHl-7AO.js → init-CX0AMQUn.js} +2 -2
- package/dist/{init-FMGDET-9.js → init-CfTbSEKy.js} +259 -60
- package/dist/{init-CR6tpw1B.js → init-Cigr_tKx.js} +47 -43
- package/dist/init-CuW7rHNA.js +3584 -0
- package/dist/{init-CFYsq82V.js → init-CyAY4Lzl.js} +1 -1
- package/dist/init-Cz0rz5fU.cjs +3585 -0
- package/dist/{init-BKhH6mVR.cjs → init-D6BxBs7e.cjs} +1 -1
- package/dist/init-D8OeObDF.cjs +1141 -0
- package/dist/init-D9g1HXYf.cjs +40 -0
- package/dist/{init-CNLGJJRx.js → init-DA7zmptx.js} +1 -1
- package/dist/{init-DkIc5nqF.cjs → init-DFMiP2ZH.cjs} +1 -1
- package/dist/{init-zSzCjoor.js → init-DFjT8YvT.js} +4 -4
- package/dist/init-DGjXwWs2.cjs +143 -0
- package/dist/init-DHrCbpkW.cjs +121 -0
- package/dist/{init-B64zCLxG.cjs → init-DUF4ar8P.cjs} +4 -4
- package/dist/init-DlqJuHhl.js +119 -0
- package/dist/{init-y2Ra0vZP.js → init-Dnsv155v.js} +3 -3
- package/dist/init-DrRdf5sZ.cjs +1176 -0
- package/dist/init-DuYENxci.js +17 -0
- package/dist/{init-D6DBUsD3.cjs → init-Dv3zKj0r.cjs} +4 -4
- package/dist/{init-BtzMZ7Pk.cjs → init-Dy-05ktr.cjs} +1 -1
- package/dist/{init-BsCBAGWf.cjs → init-EP0CUWNK.cjs} +2 -2
- package/dist/{init-BJVU54pI.cjs → init-EhzD7a8i.cjs} +1 -1
- package/dist/{init-w9GEs73W.js → init-Fw89ZmrR.js} +2 -2
- package/dist/init-GsT2AEa4.cjs +424 -0
- package/dist/{init-Rxohwpmu.js → init-NCjgwCZy.js} +2 -2
- package/dist/{init-DxUHsN53.cjs → init-NdhG_VrF.cjs} +6 -6
- package/dist/{init-DDdhguVC.js → init-SZ01tARX2.js} +2 -2
- package/dist/{init-BAJJzBza.js → init-Y3mkB4XS.js} +2 -2
- package/dist/init-c4l6r-o-.js +5 -0
- package/dist/{init-Dku4b2lG.js → init-kEfUTuG2.js} +1 -1
- package/dist/{init-C7IeJwQR.cjs → init-lzHt4Cli.cjs} +256 -59
- package/dist/{init-anYu6XB7.cjs → init-rmt7-fQE.cjs} +2 -2
- package/dist/{init-C4Bkib9u.cjs → init-zU-_9Gsp.cjs} +67 -65
- package/dist/{is-retriable-error-BU0e3hVI.js → is-retriable-error-BUiVJDwH.js} +1 -1
- package/dist/{is-retriable-error-CeeuHqDa.cjs → is-retriable-error-Dpt860if.cjs} +1 -1
- package/dist/jubjub-authoriser-D7zDXu3V.js +86 -0
- package/dist/jubjub-authoriser-Dgu6o3Sv.cjs +87 -0
- package/dist/key-source-5oUBFiC7.cjs +583 -0
- package/dist/key-source-B08HukZg.js +2550 -0
- package/dist/keyDerivation-D3k9XyHg.js +4077 -0
- package/dist/keyDerivation-u0nBA93T.cjs +274 -0
- package/dist/{lace-context-CZcNHr4M.js → lace-context-BZciB9c7.js} +4 -4
- package/dist/{lace-context-fJTDghdp.cjs → lace-context-DgR6vLli.cjs} +4 -4
- package/dist/lib--iqvW4O_.js +2354 -0
- package/dist/lib-Yk6Upl5D.cjs +2359 -0
- package/dist/{libsodium-wrappers-UH0LaOUE.js → libsodium-wrappers-BhbOA8dQ.js} +3 -1647
- package/dist/midnight-account-id.vo-0x9X-r3l.cjs +10 -0
- package/dist/midnight-account-id.vo-DjCAGcqc.js +5 -0
- package/dist/midnight-engine-DpemplKO.js +5 -0
- package/dist/midnight-engine-xU1wotne.cjs +6 -0
- package/dist/midnight-wallet-DIsAlSn6.js +18 -0
- package/dist/midnight-wallet-XTZc2li7.cjs +24 -0
- package/dist/midnight.cjs +1408 -0
- package/dist/midnight.d.ts +28934 -0
- package/dist/midnight.js +1352 -0
- package/dist/modules-cardano-B1nDUWqy.js +995 -0
- package/dist/modules-cardano-BYeYHrRm.cjs +1108 -0
- package/dist/node-relay-DWe1U0w2.cjs +49 -0
- package/dist/node-relay-h4i5IlAQ.js +48 -0
- package/dist/outputs-Bd2yZVjx.js +720 -0
- package/dist/outputs-CJoQBIA2.cjs +990 -0
- package/dist/pbkdf2-CIW-oWrm.cjs +1337 -0
- package/dist/pending-operation-B0_P78Jo.cjs +26 -0
- package/dist/pending-operation-BIS6mpjB.js +21 -0
- package/dist/providers-FjhM47BH.cjs +388 -0
- package/dist/providers-WtiSuxFu.js +365 -0
- package/dist/redacted-BmE2aXqr.js +81 -0
- package/dist/redacted-CRZJLS3w.cjs +86 -0
- package/dist/{retry-config-DC5IMaH7.cjs → retry-config-BaCfVC1H.cjs} +1 -1
- package/dist/{retry-config-BcUmMS--.js → retry-config-Dmgt28wM.js} +1 -1
- package/dist/safe-buffer-B_vMqJWU.js +43 -0
- package/dist/safe-buffer-DYOwEfHB.cjs +48 -0
- package/dist/sdk-Cb-gZnS9.js +1241 -0
- package/dist/sdk-DffwmX8b.cjs +1439 -0
- package/dist/sdk-init-Bln9rFtn.js +4138 -0
- package/dist/sdk-init-CYViTJY_.cjs +3841 -0
- package/dist/{seam-cardano-CATqBEyK.js → seam-cardano-B_etH4F4.js} +1 -1
- package/dist/{bytes.vo-TgiwogWF.js → secret-box-DUR0ACYz.js} +3 -25
- package/dist/{bytes.vo-Ck5u40RA.cjs → secret-box-DrjLZuS1.cjs} +1 -35
- package/dist/send-proof-progress-C-ljq1x5.js +30 -0
- package/dist/send-proof-progress-vmsaSfbz.cjs +47 -0
- package/dist/side-effects-BnqYz7Nl.js +768 -0
- package/dist/side-effects-CngaeXi0.cjs +804 -0
- package/dist/sign-bitcoin-transaction-with-seed-D4z62-jV.js +147 -0
- package/dist/sign-bitcoin-transaction-with-seed-DsLYXnCY.cjs +158 -0
- package/dist/signer-3fk8lZtE.cjs +7 -0
- package/dist/signer-CsL28DrK.cjs +121 -0
- package/dist/signer-DGluibtn.js +92 -0
- package/dist/signer-RqB5pu3K.js +2 -0
- package/dist/signer-factory-BA7WFJVZ.js +282 -0
- package/dist/signer-factory-Cwd6o-lG.cjs +281 -0
- package/dist/{signer-factory-9URFliA5.js → signer-factory-DObB55D4.js} +6 -3
- package/dist/signer-factory-DhZiE03y.cjs +149 -0
- package/dist/{signer-factory-BWGUmnvm.cjs → signer-factory-Ds6G2AZk.cjs} +4 -3
- package/dist/signer-factory-hzSRaIw2.js +148 -0
- package/dist/{slice-CuHUaPZx.cjs → slice-7G2xxYKJ.cjs} +3 -3
- package/dist/{slice-DZmQJNV8.cjs → slice-B4CdYoPu.cjs} +2 -2
- package/dist/slice-BPNuHKfw.js +9091 -0
- package/dist/{slice-DGcNrbPR.cjs → slice-Bg6HEr3K.cjs} +4 -4
- package/dist/{slice-DtaO72qY.cjs → slice-Bs2aMERu.cjs} +3 -3
- package/dist/{slice-HeHCv3bl.cjs → slice-C34iOOUH.cjs} +7 -7
- package/dist/{slice-Do2R2CYW.cjs → slice-C9TT5KhY.cjs} +6 -6
- package/dist/{slice-eIwcwKHI.js → slice-CK07EBCo.js} +4 -4
- package/dist/{slice-CnyWevM9.js → slice-CU80pbiu.js} +3 -3
- package/dist/{slice-CobanYgn.js → slice-CwyYrh1H.js} +2 -2
- package/dist/slice-Czfp6t84.cjs +436 -0
- package/dist/{slice-d0p6-xj5.js → slice-D-9aPKG-.js} +6 -6
- package/dist/{slice-maaskdUn.js → slice-DBpJ2QGf.js} +6 -6
- package/dist/{slice-mxLQ_FeY.cjs → slice-DTZTiJle.cjs} +352 -39
- package/dist/{slice-zJ9XVYjZ.js → slice-Da426sf9.js} +1 -1
- package/dist/{slice-D11m2EKl.cjs → slice-DayJvMRD.cjs} +1 -1
- package/dist/slice-DnBWfA-k.cjs +9109 -0
- package/dist/{slice-oqm_r1cS.cjs → slice-DnG-yvpI.cjs} +2 -2
- package/dist/{slice-BNu73oBa.js → slice-DyNs7oWp.js} +2 -2
- package/dist/{slice-CB4SnzMm.js → slice-GwiiJRoq.js} +3 -3
- package/dist/slice-oWnc7YVD.js +412 -0
- package/dist/{slice-B2PhoWAg.js → slice-qt0uBExh.js} +325 -37
- package/dist/slice-t8Gzj55G2.cjs +106 -0
- package/dist/slice-t8Q1cHm-.js +88 -0
- package/dist/src-BDzYIksE.cjs +20637 -0
- package/dist/src-BFoefPv_.js +20755 -0
- package/dist/store-B1Lq3cEf.cjs +66 -0
- package/dist/store-DuBG8qh5.js +37 -0
- package/dist/submit-Bs77dPn_.cjs +413 -0
- package/dist/submit-DOv8Z0Vf.js +336 -0
- package/dist/submit-bitcoin-tx-D6oYgH5S.js +983 -0
- package/dist/submit-bitcoin-tx-goFuRL7K.cjs +1049 -0
- package/dist/{sync-operation-utils-BYXLO80m.js → sync-operation-utils-31iFLExW.js} +2 -38
- package/dist/{sync-operation-utils-SdPbwFoD.cjs → sync-operation-utils-COIZ66-I.cjs} +1 -67
- package/dist/token-id-mapper-Bnds3xKH.cjs +18 -0
- package/dist/{token-id-mapper-DsPAL6Nh.cjs → token-id-mapper-CVyQJUKY.cjs} +2 -2
- package/dist/token-id-mapper-CnKHQ8DV.js +16 -0
- package/dist/{token-id-mapper-B2ivlLv3.js → token-id-mapper-D29Ggv8h.js} +2 -2
- package/dist/tokens-Cevp7rdU.cjs +62 -0
- package/dist/tokens-Diw4MLRM.js +44 -0
- package/dist/types-B8uiJn-X.js +12 -0
- package/dist/types-BHC12eSa.js +33 -0
- package/dist/types-CJT6XF2c.js +10 -0
- package/dist/types-CLRUYpfe.cjs +23 -0
- package/dist/types-Cc3mC8u0.cjs +50 -0
- package/dist/types-DWbVZpnF.cjs +15 -0
- package/dist/unwrap-provider-result-BZSiwabU.js +32 -0
- package/dist/unwrap-provider-result-ZqfBsTkk.cjs +39 -0
- package/dist/{util-CGzqQ8IV.cjs → util-Bu4W5lF4.cjs} +1 -1
- package/dist/{util-BaLzwa32.js → util-Cp5cZkfK.js} +1 -1
- package/dist/{utils-o8aMjfln.js → utils-BfBEUvWA.js} +2 -2
- package/dist/utils-DFwzEvbv.js +65 -0
- package/dist/{utils-5JvjbqH3.cjs → utils-DsElZgCI.cjs} +7 -1
- package/dist/utils-IXxR-Djh.cjs +112 -0
- package/dist/v8Signatures-CO_Uloy7.cjs +71 -0
- package/dist/{vote-delegation-tx-builder-BpEMSti4.cjs → vote-delegation-tx-builder-BUg1S2Ep.cjs} +6 -6
- package/dist/{vote-delegation-tx-builder-CmKv6GoG.js → vote-delegation-tx-builder-C6FiS7zI.js} +5 -5
- package/dist/watch-CUEvcP-V.js +21997 -0
- package/dist/watch-DMF2s-II.cjs +52281 -0
- package/package.json +96 -4
- package/dist/account-guards.stable-B1DSSh9D.cjs +0 -10
- package/dist/account-guards.stable-JRQ5qx2V.js +0 -5
- package/dist/codecs-B7X9pAsK.cjs +0 -1945
- package/dist/codecs-CC1Xjntz.js +0 -1882
- package/dist/init-Bv53hpLM.js +0 -19
- package/dist/init-CRbjI7p1.js +0 -3494
- package/dist/init-DAna1KCg.cjs +0 -3495
- package/dist/init-DGe47B22.cjs +0 -364
- package/dist/init-DMtyvYfC.cjs +0 -21
- package/dist/init-TkPDD750.js +0 -363
- package/dist/modules-cardano-BDvuL4Xx.js +0 -5248
- package/dist/modules-cardano-D2G3De2P.cjs +0 -5432
- package/dist/slice-CGVHXHDt.cjs +0 -125
- package/dist/slice-DhvF7L6X.js +0 -107
- /package/dist/{account-id.vo-LvCBVn5r.cjs → account-id.vo-DwqFjK5u.cjs} +0 -0
- /package/dist/{account-id.vo-MYSI7YFm.js → account-id.vo-OPz2v-JZ.js} +0 -0
- /package/dist/{actions-DdGbj7c7.cjs → actions-B2BJ4RTy.cjs} +0 -0
- /package/dist/{actions-9QSQR-GB.js → actions-iLXdgL5Y.js} +0 -0
- /package/dist/{apply-vkey-witnesses-ClZbpk5w.js → apply-vkey-witnesses-BKx3lcs0.js} +0 -0
- /package/dist/{apply-vkey-witnesses-CLzVSWxl.cjs → apply-vkey-witnesses-ZnFS0jnJ.cjs} +0 -0
- /package/dist/{asyncoption-Cw07zPH7.js → asyncoption-CruEYOBI.js} +0 -0
- /package/dist/{asyncoption-DYoGuQfP.cjs → asyncoption-i0VbqVTq.cjs} +0 -0
- /package/dist/{bignum.vo-B0rK_PQ1.js → bignum.vo-CEXOIew0.js} +0 -0
- /package/dist/{bignum.vo-DsG3kNiZ.cjs → bignum.vo-hx2kuqlA.cjs} +0 -0
- /package/dist/{bip32ed25519-1ApqeAZk.cjs → bip32ed25519-B7Yat217.cjs} +0 -0
- /package/dist/{bip32ed25519-DetAdGwD.js → bip32ed25519-FQ8qvdcq.js} +0 -0
- /package/dist/{blake2b-DOEVc57D.js → blake2b-BiQTw3GC.js} +0 -0
- /package/dist/{blake2b-B9tftbvG.cjs → blake2b-DEeVUdKR.cjs} +0 -0
- /package/dist/{blockchain-network-id.vo-BXpZhvvQ.cjs → blockchain-network-id.vo-BAKEwGjG.cjs} +0 -0
- /package/dist/{blockchain-network-id.vo-DNRkuT5B.js → blockchain-network-id.vo-CiVykuqG.js} +0 -0
- /package/dist/{blockingWithLatestFrom-C5wp_uA-.js → blockingWithLatestFrom-Cd8c8EPG.js} +0 -0
- /package/dist/{blockingWithLatestFrom-DY8OPg0w.cjs → blockingWithLatestFrom-D8kBPBMX.cjs} +0 -0
- /package/dist/{cardano-network-id-to-network-type-CrZfUcyP.js → cardano-network-id-to-network-type-BWwzeEtM.js} +0 -0
- /package/dist/{cardano-network-id-to-network-type-BDTF-HmK.cjs → cardano-network-id-to-network-type-C0ufJOyE.cjs} +0 -0
- /package/dist/{cardano-tx-id.vo-BPhV-AmZ.cjs → cardano-tx-id.vo-TLjJZHCI.cjs} +0 -0
- /package/dist/{cardano-tx-id.vo-DF9NzZXk.js → cardano-tx-id.vo-eVnKuzlm.js} +0 -0
- /package/dist/{composite-signer-factory-_46QsNBz.js → composite-signer-factory-CR8YHA1y.js} +0 -0
- /package/dist/{composite-signer-factory-BpF1mIYA.cjs → composite-signer-factory-m5cVs9h_.cjs} +0 -0
- /package/dist/{error-CNIquqT5.cjs → error-Cb3EnD0u.cjs} +0 -0
- /package/dist/{error-BCp9NkPi.js → error-DIZOY2Lw.js} +0 -0
- /package/dist/{esm-browser-C93Q-EOI.js → esm-browser-MG97cre9.js} +0 -0
- /package/dist/{esm-browser-DTc9IK3D.cjs → esm-browser-bweqfBlL.cjs} +0 -0
- /package/dist/{feature-flag-key.vo-ofrB6ZVQ.js → feature-flag-key.vo-DN_-4-sG.js} +0 -0
- /package/dist/{feature-flag-key.vo-BPz-ZAp6.cjs → feature-flag-key.vo-RlfHL3hq.cjs} +0 -0
- /package/dist/{first-state-of-status-OROkXcRv.cjs → first-state-of-status-CbT7hPa4.cjs} +0 -0
- /package/dist/{first-state-of-status-DQnMT3ya.js → first-state-of-status-unPynOuM.js} +0 -0
- /package/dist/{init-Es3wHW7D.js → init-829HRYcz.js} +0 -0
- /package/dist/{init-CKipPE_c.js → init-A-VyGSNW2.js} +0 -0
- /package/dist/{init-DFQQ9dTW.cjs → init-Atisw4x2.cjs} +0 -0
- /package/dist/{init-C5CEZ1m0.cjs → init-BFcvPHL-.cjs} +0 -0
- /package/dist/{init-IAk_CkGa.cjs → init-BgNobbNq.cjs} +0 -0
- /package/dist/{init-cqN3uX2j.js → init-atCFur0v.js} +0 -0
- /package/dist/{is-redux-persist-state-CTn3WZVh.cjs → is-redux-persist-state-BCFnSm36.cjs} +0 -0
- /package/dist/{is-redux-persist-state-Cxcd0_bM.js → is-redux-persist-state-yBfq0h_E.js} +0 -0
- /package/dist/{key-value-store-8cMzeNyG.js → key-value-store--W3SrMaw.js} +0 -0
- /package/dist/{key-value-store-DUAepXQf.cjs → key-value-store-C2Xt5Emp.cjs} +0 -0
- /package/dist/{repo-slice-WxetRhMY.cjs → repo-slice-7X4AYYVm.cjs} +0 -0
- /package/dist/{repo-slice-DwyMhCR1.js → repo-slice-RxFm0zDZ.js} +0 -0
- /package/dist/{reselect-CRDqmQY9.cjs → reselect-Bd94u0K-.cjs} +0 -0
- /package/dist/{reselect-C06X06oX.js → reselect-CGoLzEPv.js} +0 -0
- /package/dist/{serializable-B8GahgE1.js → serializable-BHdKIgk3.js} +0 -0
- /package/dist/{serializable-CRdnFaLZ.cjs → serializable-BxHkoPdk.cjs} +0 -0
- /package/dist/{slice-D11FHQuQ.cjs → slice-BiRsDKOK.cjs} +0 -0
- /package/dist/{slice-Be7hj4Iy.js → slice-Bk0Sv05J.js} +0 -0
- /package/dist/{slice-FioKeHtA.cjs → slice-Dqw1ecum.cjs} +0 -0
- /package/dist/{slice-B87b52iM.js → slice-obCSLm1x.js} +0 -0
- /package/dist/{src-vq1wS9sZ.js → src-BlxEp6Mm.js} +0 -0
- /package/dist/{src-BTPIvlDI.cjs → src-Cqp0B2M_.cjs} +0 -0
- /package/dist/{time.vo-CQ8pSXz2.cjs → time.vo-D3wWRw9L.cjs} +0 -0
- /package/dist/{time.vo-DkYYGYp6.js → time.vo-tNheinXm.js} +0 -0
- /package/dist/{toEmpty-CgAl3097.js → toEmpty-8Zax1MPd.js} +0 -0
- /package/dist/{toEmpty-DAMmNB5r.cjs → toEmpty-CYAbupM4.cjs} +0 -0
- /package/dist/{token-id.vo-ClsroxHO.js → token-id.vo-Bvwhr3ZE.js} +0 -0
- /package/dist/{token-id.vo-BxG9TG0O.cjs → token-id.vo-DXv5uS9n.cjs} +0 -0
- /package/dist/{util-DxzlYNS5.js → util-C8a4fA9p.js} +0 -0
- /package/dist/{util-CmdAhheh.cjs → util-CzeB3hfa.cjs} +0 -0
- /package/dist/{util-selector-CcK-GAdE.js → util-selector-BSTsxgne.js} +0 -0
- /package/dist/{util-selector-BcAncU4L.cjs → util-selector-BWPH68_l.cjs} +0 -0
- /package/dist/{while-active-BpppWuCs.js → while-active-B0lWy_6l.js} +0 -0
- /package/dist/{while-active-Dhc2LwOm.cjs → while-active-Dsowp0Fi.cjs} +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region ../../packages/contract/cardano-context/src/custody/pending-operation.ts
|
|
2
|
+
const isCustodyStatus = (value) => value === "pending" || value === "outcome-unknown";
|
|
3
|
+
/**
|
|
4
|
+
* The custody metadata of a pending activity; absent on any other activity,
|
|
5
|
+
* and on one whose custody entry has no validity bound. A field the entry
|
|
6
|
+
* holds in another shape than the wallet writes is left out.
|
|
7
|
+
*/
|
|
8
|
+
const cardanoCustodyActivityMetadataOf = (activity) => {
|
|
9
|
+
const custody = activity.blockchainSpecific?.Cardano?.custody;
|
|
10
|
+
if (typeof custody !== "object" || custody === null) return void 0;
|
|
11
|
+
const { invalidHereafter, operation, status, reference } = custody;
|
|
12
|
+
if (typeof invalidHereafter !== "number") return void 0;
|
|
13
|
+
return {
|
|
14
|
+
invalidHereafter,
|
|
15
|
+
...typeof operation === "string" && { operation },
|
|
16
|
+
...isCustodyStatus(status) && { status },
|
|
17
|
+
...typeof reference === "string" && { reference }
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
Object.defineProperty(exports, "cardanoCustodyActivityMetadataOf", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function() {
|
|
24
|
+
return cardanoCustodyActivityMetadataOf;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region ../../packages/contract/cardano-context/src/custody/pending-operation.ts
|
|
2
|
+
const isCustodyStatus = (value) => value === "pending" || value === "outcome-unknown";
|
|
3
|
+
/**
|
|
4
|
+
* The custody metadata of a pending activity; absent on any other activity,
|
|
5
|
+
* and on one whose custody entry has no validity bound. A field the entry
|
|
6
|
+
* holds in another shape than the wallet writes is left out.
|
|
7
|
+
*/
|
|
8
|
+
const cardanoCustodyActivityMetadataOf = (activity) => {
|
|
9
|
+
const custody = activity.blockchainSpecific?.Cardano?.custody;
|
|
10
|
+
if (typeof custody !== "object" || custody === null) return void 0;
|
|
11
|
+
const { invalidHereafter, operation, status, reference } = custody;
|
|
12
|
+
if (typeof invalidHereafter !== "number") return void 0;
|
|
13
|
+
return {
|
|
14
|
+
invalidHereafter,
|
|
15
|
+
...typeof operation === "string" && { operation },
|
|
16
|
+
...isCustodyStatus(status) && { status },
|
|
17
|
+
...typeof reference === "string" && { reference }
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { cardanoCustodyActivityMetadataOf as t };
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
const require_errors = require("./errors-BIftM8ZN.cjs");
|
|
2
|
+
const require_artefact_loader = require("./artefact-loader-BWWYAD7E.cjs");
|
|
3
|
+
//#region ../../packages/contract/passport/src/value-objects/acc-address.vo.ts
|
|
4
|
+
/** Types a string as an Account Custody Contract address. It checks nothing. */
|
|
5
|
+
const AccAddress = (value) => value;
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region ../../packages/module/passport-account/src/infra/network-id.ts
|
|
8
|
+
/**
|
|
9
|
+
* Applies the Midnight network id the rest of the Midnight libraries read
|
|
10
|
+
* from module-global state. Address formats and transaction binding depend
|
|
11
|
+
* on it, and every wallet or contract operation throws until it is set, so
|
|
12
|
+
* each entry point into a chain flow applies it before doing any work.
|
|
13
|
+
* Setting the same id again is harmless; a different id replaces the
|
|
14
|
+
* previous one, which is why one network config owns the value.
|
|
15
|
+
*/
|
|
16
|
+
const applyNetworkId = async (networkId) => {
|
|
17
|
+
const { setNetworkId } = await import("@midnight-ntwrk/midnight-js-network-id");
|
|
18
|
+
setNetworkId(networkId);
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region ../../packages/module/passport-account/src/infra/http-prover.ts
|
|
22
|
+
/**
|
|
23
|
+
* Thrown when the proof server rejects a request or does not answer before
|
|
24
|
+
* the timeout. `status` carries the HTTP status code of the final response;
|
|
25
|
+
* it is undefined when the request timed out before any response arrived.
|
|
26
|
+
*/
|
|
27
|
+
var ProofServerError = class extends Error {
|
|
28
|
+
code = "proof-server";
|
|
29
|
+
constructor(message, status) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.status = status;
|
|
32
|
+
this.name = "ProofServerError";
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Thrown when the ledger asks for the circuit of a contract the client holds
|
|
37
|
+
* no key material for, for example a contract the account's circuits call.
|
|
38
|
+
* Without it the proof server would receive the request with no circuit IR
|
|
39
|
+
* and answer a bare 400.
|
|
40
|
+
*/
|
|
41
|
+
var UnresolvedContractCircuitError = class extends Error {
|
|
42
|
+
code = "unresolved-contract-circuit";
|
|
43
|
+
constructor(contractAddress, circuit, verifierKeyHash) {
|
|
44
|
+
super(`No key material for circuit "${circuit}" of contract ${contractAddress}${verifierKeyHash === void 0 ? "" : ` (vk=${verifierKeyHash})`}: the prover only resolves the Account Custody Contract circuits listed in its manifest.`);
|
|
45
|
+
this.contractAddress = contractAddress;
|
|
46
|
+
this.circuit = circuit;
|
|
47
|
+
this.verifierKeyHash = verifierKeyHash;
|
|
48
|
+
this.name = "UnresolvedContractCircuitError";
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Canonical contract key location: `contract:<address>/<circuit>?vk=<hash>`.
|
|
53
|
+
* The ledger stamps every contract call's proof preimage with this form;
|
|
54
|
+
* the vk query pin is the sha256 of the verifier key the chain expects.
|
|
55
|
+
*/
|
|
56
|
+
const CANONICAL_KEY_LOCATION = /^contract:([0-9a-f]+)\/([^?]+)(?:\?vk=([0-9a-f]+))?$/;
|
|
57
|
+
/**
|
|
58
|
+
* The default {@link KeyMaterialResolver}: maps a key location onto the
|
|
59
|
+
* Account Custody Contract manifest and downloads that circuit's prover
|
|
60
|
+
* key, verifier key, and IR through {@link loadCircuitAssets}, so every
|
|
61
|
+
* byte is verified against the manifest's sha256 pins. Canonical contract
|
|
62
|
+
* locations resolve by circuit name, and their embedded vk pin must match
|
|
63
|
+
* the manifest's, so proving against a drifted artefact fails before the
|
|
64
|
+
* proof server is asked. A canonical contract location whose circuit the
|
|
65
|
+
* manifest does not list, such as a circuit of a contract the account
|
|
66
|
+
* calls, throws {@link UnresolvedContractCircuitError}. Any other unlisted location
|
|
67
|
+
* resolves to undefined (a protocol builtin the proof server supplies
|
|
68
|
+
* itself).
|
|
69
|
+
*/
|
|
70
|
+
const createManifestKeyMaterialResolver = ({ artefactUrl, fetchBytes, manifest = require_artefact_loader.accManifest }) => {
|
|
71
|
+
const entries = Object.values(manifest.circuits);
|
|
72
|
+
return async (keyLocation) => {
|
|
73
|
+
const canonical = CANONICAL_KEY_LOCATION.exec(keyLocation);
|
|
74
|
+
const circuitName = canonical ? canonical[2] : keyLocation;
|
|
75
|
+
const vkPin = canonical?.[3];
|
|
76
|
+
const entry = entries.find((candidate) => candidate.keyLocation === keyLocation || candidate.name === circuitName);
|
|
77
|
+
if (!entry) {
|
|
78
|
+
if (canonical) throw new UnresolvedContractCircuitError(canonical[1], canonical[2], vkPin);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (vkPin !== void 0 && vkPin !== entry.verifierKeySha256) throw new require_errors.ArtefactIntegrityError(`verifier key pin mismatch for ${entry.name}: the chain expects ${vkPin}, the manifest pins ${entry.verifierKeySha256}`);
|
|
82
|
+
const assets = await require_artefact_loader.loadCircuitAssets({
|
|
83
|
+
artefactUrl,
|
|
84
|
+
circuit: entry.name,
|
|
85
|
+
fetchBytes,
|
|
86
|
+
manifest
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
proverKey: assets.proverKey,
|
|
90
|
+
verifierKey: assets.verifierKey,
|
|
91
|
+
ir: assets.zkir
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
/** Proving a circuit call can legitimately take minutes on large circuits. */
|
|
96
|
+
const TIMEOUT_MS = 3e5;
|
|
97
|
+
/** A 500/503 is transient (proof server busy or restarting); one retry. */
|
|
98
|
+
const RETRYABLE_STATUSES = new Set([500, 503]);
|
|
99
|
+
const defaultFetchBytes$1 = async (url) => {
|
|
100
|
+
const response = await fetch(url);
|
|
101
|
+
if (!response.ok) throw new Error(`Artefact download failed: url="${url}", status="${response.status} ${response.statusText}"`);
|
|
102
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* A {@link PassportProver} over the Midnight proof server's HTTP API,
|
|
106
|
+
* wire-compatible with the stock midnight-js client: the key location is
|
|
107
|
+
* resolved client-side to the circuit's key material (prover key and IR),
|
|
108
|
+
* the serialized preimage plus that material is framed with the protocol
|
|
109
|
+
* payload codecs, and the framed bytes are POSTed to /prove and /check as
|
|
110
|
+
* application/octet-stream with nothing else. A location the resolver
|
|
111
|
+
* does not know travels without key material; the proof server supplies
|
|
112
|
+
* the protocol builtin keys itself. The protocol codec loads lazily so
|
|
113
|
+
* platforms only pay for it when a proof is actually requested.
|
|
114
|
+
*
|
|
115
|
+
* @param baseUrl - The proof server's URL; requests go to `<baseUrl>/prove`
|
|
116
|
+
* and `<baseUrl>/check`.
|
|
117
|
+
* @param options - Where key material comes from, and the transports. It
|
|
118
|
+
* throws without `resolveKeyMaterial` or an `artefactUrl`.
|
|
119
|
+
*/
|
|
120
|
+
const createHttpProver = (baseUrl, options = {}) => {
|
|
121
|
+
const fetchHttp = options.fetchHttp ?? globalThis.fetch;
|
|
122
|
+
const resolveKeyMaterial = options.resolveKeyMaterial ?? (options.artefactUrl === void 0 ? void 0 : createManifestKeyMaterialResolver({
|
|
123
|
+
artefactUrl: options.artefactUrl,
|
|
124
|
+
fetchBytes: options.fetchBytes ?? defaultFetchBytes$1
|
|
125
|
+
}));
|
|
126
|
+
if (!resolveKeyMaterial) throw new Error("createHttpProver needs resolveKeyMaterial or an artefactUrl for the default manifest resolver.");
|
|
127
|
+
const base = baseUrl.endsWith("/") ? baseUrl.slice(0, -1) : baseUrl;
|
|
128
|
+
const loadPayloadCodec = async () => import("@midnight-ntwrk/midnight-js-protocol/ledger");
|
|
129
|
+
const request = async (url, payload) => {
|
|
130
|
+
const controller = new AbortController();
|
|
131
|
+
const timer = setTimeout(() => {
|
|
132
|
+
controller.abort();
|
|
133
|
+
}, TIMEOUT_MS);
|
|
134
|
+
try {
|
|
135
|
+
return await fetchHttp(url, {
|
|
136
|
+
method: "POST",
|
|
137
|
+
headers: { "Content-Type": "application/octet-stream" },
|
|
138
|
+
body: payload,
|
|
139
|
+
signal: controller.signal
|
|
140
|
+
});
|
|
141
|
+
} catch (error) {
|
|
142
|
+
if (controller.signal.aborted) throw new ProofServerError(`Proof server request timed out after ${TIMEOUT_MS}ms: ${url}`);
|
|
143
|
+
throw error;
|
|
144
|
+
} finally {
|
|
145
|
+
clearTimeout(timer);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const post = async (path, payload) => {
|
|
149
|
+
const url = `${base}${path}`;
|
|
150
|
+
for (let attempt = 0;; attempt++) {
|
|
151
|
+
const response = await request(url, payload);
|
|
152
|
+
if (response.ok) return new Uint8Array(await response.arrayBuffer());
|
|
153
|
+
if (attempt === 0 && RETRYABLE_STATUSES.has(response.status)) continue;
|
|
154
|
+
throw new ProofServerError(`Proof server request failed: url="${url}", status="${response.status} ${response.statusText}"`, response.status);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
return {
|
|
158
|
+
prove: async (preimage, keyLocation, overwriteBindingInput) => {
|
|
159
|
+
const [{ createProvingPayload }, keyMaterial] = await Promise.all([loadPayloadCodec(), resolveKeyMaterial(keyLocation)]);
|
|
160
|
+
return post("/prove", createProvingPayload(preimage, overwriteBindingInput, keyMaterial));
|
|
161
|
+
},
|
|
162
|
+
check: async (preimage, keyLocation) => {
|
|
163
|
+
const [{ createCheckPayload }, keyMaterial] = await Promise.all([loadPayloadCodec(), resolveKeyMaterial(keyLocation)]);
|
|
164
|
+
return post("/check", createCheckPayload(preimage, keyMaterial?.ir));
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region ../../packages/module/passport-account/src/infra/providers.ts
|
|
170
|
+
/**
|
|
171
|
+
* The ledger era every provider seam serves. The framework reads it before
|
|
172
|
+
* an operation starts and refuses a provider set that cannot carry a
|
|
173
|
+
* transaction end to end, so a mismatch fails before any proof is paid for.
|
|
174
|
+
*/
|
|
175
|
+
const SERVED_ERAS = ["v9"];
|
|
176
|
+
const v9 = (tx) => ({
|
|
177
|
+
version: "v9",
|
|
178
|
+
tx
|
|
179
|
+
});
|
|
180
|
+
const ZSWAP_SEED_LENGTH = 32;
|
|
181
|
+
const defaultRandomBytes = (length) => crypto.getRandomValues(new Uint8Array(length));
|
|
182
|
+
const defaultFetchBytes = async (url) => {
|
|
183
|
+
const response = await fetch(url);
|
|
184
|
+
if (!response.ok) throw new Error(`Artefact download failed: url="${url}", status="${response.status} ${response.statusText}"`);
|
|
185
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* In-memory {@link AccProviders}.privateStateProvider. The account private
|
|
189
|
+
* state only needs to outlive one deploy-and-activate flow, so nothing is
|
|
190
|
+
* written to disk; contract-address scoping is a no-op because each flow
|
|
191
|
+
* gets its own provider instance.
|
|
192
|
+
*/
|
|
193
|
+
const createInMemoryPrivateStateProvider = () => {
|
|
194
|
+
const privateStates = /* @__PURE__ */ new Map();
|
|
195
|
+
const signingKeys = /* @__PURE__ */ new Map();
|
|
196
|
+
return {
|
|
197
|
+
setContractAddress: (_address) => void 0,
|
|
198
|
+
set: async (privateStateId, state) => {
|
|
199
|
+
privateStates.set(privateStateId, state);
|
|
200
|
+
},
|
|
201
|
+
get: async (privateStateId) => privateStates.get(privateStateId) ?? null,
|
|
202
|
+
remove: async (privateStateId) => {
|
|
203
|
+
privateStates.delete(privateStateId);
|
|
204
|
+
},
|
|
205
|
+
clear: async () => {
|
|
206
|
+
privateStates.clear();
|
|
207
|
+
},
|
|
208
|
+
setSigningKey: async (address, key) => {
|
|
209
|
+
signingKeys.set(address, key);
|
|
210
|
+
},
|
|
211
|
+
getSigningKey: async (address) => signingKeys.get(address) ?? null,
|
|
212
|
+
removeSigningKey: async (address) => {
|
|
213
|
+
signingKeys.delete(address);
|
|
214
|
+
},
|
|
215
|
+
clearSigningKeys: async () => {
|
|
216
|
+
signingKeys.clear();
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
/**
|
|
221
|
+
* Assembles the midnight-js providers {@link deployAccount} runs through,
|
|
222
|
+
* swapping the platform seams in where the stock providers would expect a
|
|
223
|
+
* full wallet:
|
|
224
|
+
*
|
|
225
|
+
* - zkConfigProvider downloads ZK assets through {@link loadCircuitAssets},
|
|
226
|
+
* so every byte is verified against the manifest's sha256 pins. A
|
|
227
|
+
* verifier key asked for alone is downloaded alone, so deploying an
|
|
228
|
+
* account fetches no prover key it does not prove with. A circuit this
|
|
229
|
+
* module never proves, such as a secp256k1 grant withdrawal, has no
|
|
230
|
+
* manifest entry: its verifier key asked for alone is verified against
|
|
231
|
+
* the contract's own expected pin, and it is skipped when verifier keys
|
|
232
|
+
* are listed.
|
|
233
|
+
* - proofProvider adapts the {@link PassportProver} to the ledger's
|
|
234
|
+
* circuit-level proving interface.
|
|
235
|
+
* - walletProvider delegates balancing to the {@link FeeSponsor}; the user
|
|
236
|
+
* holds no tokens, so the sponsor covers every fee. Its Zswap keys are
|
|
237
|
+
* ephemeral, generated per flow: the transactions move no coins, the
|
|
238
|
+
* keys only satisfy transaction construction and are discarded with the
|
|
239
|
+
* providers.
|
|
240
|
+
* - midnightProvider submits each finalized transaction over the node RPC
|
|
241
|
+
* relay, opening and closing a connection per submission.
|
|
242
|
+
*
|
|
243
|
+
* `onStage` reports the proving and sponsoring stages as they start, so
|
|
244
|
+
* the caller can surface flow progress that otherwise happens inside
|
|
245
|
+
* midnight-js calls.
|
|
246
|
+
*/
|
|
247
|
+
const createMidnightProviders = async ({ network, prover, sponsor, fetchBytes = defaultFetchBytes, manifest = require_artefact_loader.accManifest, onStage, randomBytes = defaultRandomBytes, createPublicDataProvider, createSubmissionService }) => {
|
|
248
|
+
await applyNetworkId(network.networkId);
|
|
249
|
+
const ledger = await import("@midnightntwrk/ledger-v9");
|
|
250
|
+
const zswapKeys = ledger.ZswapSecretKeys.fromSeed(randomBytes(ZSWAP_SEED_LENGTH));
|
|
251
|
+
const coinPublicKey = zswapKeys.coinPublicKey;
|
|
252
|
+
const encryptionPublicKey = zswapKeys.encryptionPublicKey;
|
|
253
|
+
zswapKeys.clear();
|
|
254
|
+
const assetCache = /* @__PURE__ */ new Map();
|
|
255
|
+
const circuitAssets = async (circuit) => {
|
|
256
|
+
let assets = assetCache.get(circuit);
|
|
257
|
+
if (!assets) {
|
|
258
|
+
assets = require_artefact_loader.loadCircuitAssets({
|
|
259
|
+
artefactUrl: network.artefactUrl,
|
|
260
|
+
circuit,
|
|
261
|
+
fetchBytes,
|
|
262
|
+
manifest
|
|
263
|
+
});
|
|
264
|
+
assetCache.set(circuit, assets);
|
|
265
|
+
}
|
|
266
|
+
return assets;
|
|
267
|
+
};
|
|
268
|
+
const isPinnedCircuit = (circuitId) => circuitId in manifest.circuits;
|
|
269
|
+
const verifierKeyCache = /* @__PURE__ */ new Map();
|
|
270
|
+
const verifierKeyPin = async (circuitId) => {
|
|
271
|
+
if (isPinnedCircuit(circuitId)) return manifest.circuits[circuitId].verifierKeySha256;
|
|
272
|
+
const { expectedVk } = await Promise.resolve().then(() => require("./acc-module-4iIUv6My.cjs")).then((n) => n.acc_module_exports);
|
|
273
|
+
const expectedSha256 = expectedVk[circuitId];
|
|
274
|
+
if (!expectedSha256) throw new require_artefact_loader.UnknownCircuitError(circuitId);
|
|
275
|
+
return expectedSha256;
|
|
276
|
+
};
|
|
277
|
+
const verifierKey = async (circuitId) => {
|
|
278
|
+
const cachedAssets = isPinnedCircuit(circuitId) ? assetCache.get(circuitId) : void 0;
|
|
279
|
+
if (cachedAssets) return (await cachedAssets).verifierKey;
|
|
280
|
+
let key = verifierKeyCache.get(circuitId);
|
|
281
|
+
if (!key) {
|
|
282
|
+
key = (async () => {
|
|
283
|
+
const expectedSha256 = await verifierKeyPin(circuitId);
|
|
284
|
+
return require_artefact_loader.loadVerifierKey({
|
|
285
|
+
artefactUrl: network.artefactUrl,
|
|
286
|
+
circuit: circuitId,
|
|
287
|
+
fetchBytes,
|
|
288
|
+
expectedSha256
|
|
289
|
+
});
|
|
290
|
+
})();
|
|
291
|
+
verifierKeyCache.set(circuitId, key);
|
|
292
|
+
}
|
|
293
|
+
return key;
|
|
294
|
+
};
|
|
295
|
+
const zkConfigProvider = {
|
|
296
|
+
getZKIR: async (circuitId) => (await circuitAssets(circuitId)).zkir,
|
|
297
|
+
getProverKey: async (circuitId) => (await circuitAssets(circuitId)).proverKey,
|
|
298
|
+
getVerifierKey: async (circuitId) => verifierKey(circuitId),
|
|
299
|
+
getVerifierKeys: async (circuitIds) => Promise.all(circuitIds.filter((circuitId) => isPinnedCircuit(circuitId)).map(async (circuitId) => [circuitId, await verifierKey(circuitId)])),
|
|
300
|
+
get: async (circuitId) => ({
|
|
301
|
+
circuitId,
|
|
302
|
+
...await circuitAssets(circuitId)
|
|
303
|
+
})
|
|
304
|
+
};
|
|
305
|
+
const resolveKeyMaterial = createManifestKeyMaterialResolver({
|
|
306
|
+
artefactUrl: network.artefactUrl,
|
|
307
|
+
fetchBytes,
|
|
308
|
+
manifest
|
|
309
|
+
});
|
|
310
|
+
const provingProvider = {
|
|
311
|
+
prove: async (preimage, keyLocation, overwriteBindingInput) => prover.prove(preimage, keyLocation, overwriteBindingInput),
|
|
312
|
+
check: async (preimage, keyLocation) => ledger.parseCheckResult(await prover.check(preimage, keyLocation)),
|
|
313
|
+
lookupKey: async (keyLocation) => resolveKeyMaterial(keyLocation)
|
|
314
|
+
};
|
|
315
|
+
const proofProvider = {
|
|
316
|
+
supportedEras: SERVED_ERAS,
|
|
317
|
+
proveTx: async ({ tx }) => {
|
|
318
|
+
onStage?.("proving");
|
|
319
|
+
return v9(await tx.prove(provingProvider, ledger.CostModel.initialCostModel()));
|
|
320
|
+
}
|
|
321
|
+
};
|
|
322
|
+
const walletProvider = {
|
|
323
|
+
supportedEras: SERVED_ERAS,
|
|
324
|
+
getCoinPublicKey: () => coinPublicKey,
|
|
325
|
+
getEncryptionPublicKey: () => encryptionPublicKey,
|
|
326
|
+
balanceTx: async ({ tx }) => {
|
|
327
|
+
onStage?.("sponsoring");
|
|
328
|
+
const balanced = await sponsor.balanceAndSign(tx.serialize());
|
|
329
|
+
return v9(ledger.Transaction.deserialize("signature", "proof", "binding", balanced));
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
const defaultSubmissionService = async () => {
|
|
333
|
+
const { createNodeRelaySubmissionService } = await Promise.resolve().then(() => require("./node-relay-DWe1U0w2.cjs"));
|
|
334
|
+
return createNodeRelaySubmissionService(network.nodeUrl);
|
|
335
|
+
};
|
|
336
|
+
const midnightProvider = {
|
|
337
|
+
supportedEras: SERVED_ERAS,
|
|
338
|
+
submitTx: async ({ tx }) => {
|
|
339
|
+
const service = await (createSubmissionService ?? defaultSubmissionService)();
|
|
340
|
+
try {
|
|
341
|
+
await service.submitTransaction(tx, "InBlock");
|
|
342
|
+
return tx.identifiers().at(-1);
|
|
343
|
+
} finally {
|
|
344
|
+
await service.close();
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
};
|
|
348
|
+
const defaultPublicDataProvider = async () => {
|
|
349
|
+
const { indexerPublicDataProvider } = await import("@midnight-ntwrk/midnight-js-indexer-public-data-provider");
|
|
350
|
+
return indexerPublicDataProvider({
|
|
351
|
+
queryURL: network.indexerUrl,
|
|
352
|
+
subscriptionURL: network.indexerWsUrl
|
|
353
|
+
});
|
|
354
|
+
};
|
|
355
|
+
return {
|
|
356
|
+
publicDataProvider: await (createPublicDataProvider ?? defaultPublicDataProvider)(),
|
|
357
|
+
zkConfigProvider,
|
|
358
|
+
proofProvider,
|
|
359
|
+
privateStateProvider: createInMemoryPrivateStateProvider(),
|
|
360
|
+
walletProvider,
|
|
361
|
+
midnightProvider
|
|
362
|
+
};
|
|
363
|
+
};
|
|
364
|
+
//#endregion
|
|
365
|
+
Object.defineProperty(exports, "AccAddress", {
|
|
366
|
+
enumerable: true,
|
|
367
|
+
get: function() {
|
|
368
|
+
return AccAddress;
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
Object.defineProperty(exports, "applyNetworkId", {
|
|
372
|
+
enumerable: true,
|
|
373
|
+
get: function() {
|
|
374
|
+
return applyNetworkId;
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
Object.defineProperty(exports, "createHttpProver", {
|
|
378
|
+
enumerable: true,
|
|
379
|
+
get: function() {
|
|
380
|
+
return createHttpProver;
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
Object.defineProperty(exports, "createMidnightProviders", {
|
|
384
|
+
enumerable: true,
|
|
385
|
+
get: function() {
|
|
386
|
+
return createMidnightProviders;
|
|
387
|
+
}
|
|
388
|
+
});
|