@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
-
const require_toEmpty = require("./toEmpty-
|
|
3
|
-
const require_actions = require("./actions-
|
|
2
|
+
const require_toEmpty = require("./toEmpty-CYAbupM4.cjs");
|
|
3
|
+
const require_actions = require("./actions-B2BJ4RTy.cjs");
|
|
4
4
|
let rxjs = require("rxjs");
|
|
5
5
|
let _reduxjs_toolkit = require("@reduxjs/toolkit");
|
|
6
6
|
//#region ../../packages/module/feature-dev/src/store/dependencies.ts
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { v as TEMENOS_PROOF_SERVER_MODES } from "./const-D0CbQlo4.js";
|
|
2
|
+
import { r as midnightContextReducers, t as initialState } from "./slice-oWnc7YVD.js";
|
|
3
|
+
import { createMigrate } from "redux-persist";
|
|
4
|
+
//#region ../../packages/contract/midnight-context/src/store/side-effects.ts
|
|
5
|
+
const initializeSideEffects = () => [];
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region ../../packages/contract/midnight-context/src/store/init.ts
|
|
8
|
+
const store = async (props) => ({
|
|
9
|
+
sideEffects: initializeSideEffects(),
|
|
10
|
+
reducers: midnightContextReducers,
|
|
11
|
+
preloadedState: { midnightContext: {
|
|
12
|
+
...initialState,
|
|
13
|
+
supportsWasmProver: props.runtime.app === "lace-extension",
|
|
14
|
+
defaultTestNetNetworkId: props.runtime.config.defaultMidnightTestnetNetworkId
|
|
15
|
+
} },
|
|
16
|
+
persistConfig: { midnightContext: {
|
|
17
|
+
version: 14,
|
|
18
|
+
whitelist: [
|
|
19
|
+
"userNetworksConfigOverrides",
|
|
20
|
+
"proofServerDisclosureAcknowledgements",
|
|
21
|
+
"isActivityPageHeaderBannerDismissed",
|
|
22
|
+
"isPortfolioBannerDismissed",
|
|
23
|
+
"dustBalanceByAccount",
|
|
24
|
+
"dustGenerationDetailsByAccount"
|
|
25
|
+
],
|
|
26
|
+
migrate: createMigrate({
|
|
27
|
+
3: (state) => {
|
|
28
|
+
const typedState = state;
|
|
29
|
+
delete typedState.networkId;
|
|
30
|
+
return typedState;
|
|
31
|
+
},
|
|
32
|
+
4: (state) => {
|
|
33
|
+
return state;
|
|
34
|
+
},
|
|
35
|
+
5: (state) => {
|
|
36
|
+
const typedState = state;
|
|
37
|
+
delete typedState.dustParameters;
|
|
38
|
+
return typedState;
|
|
39
|
+
},
|
|
40
|
+
6: (state) => {
|
|
41
|
+
return state;
|
|
42
|
+
},
|
|
43
|
+
7: (state) => {
|
|
44
|
+
const typedState = state;
|
|
45
|
+
delete typedState.dustBalance;
|
|
46
|
+
delete typedState.dustGenerationDetails;
|
|
47
|
+
typedState.dustBalanceByAccount = {};
|
|
48
|
+
typedState.dustGenerationDetailsByAccount = {};
|
|
49
|
+
return typedState;
|
|
50
|
+
},
|
|
51
|
+
8: (state) => {
|
|
52
|
+
const typedState = state;
|
|
53
|
+
delete typedState.featureFlagsNetworksConfigOverrides;
|
|
54
|
+
return typedState;
|
|
55
|
+
},
|
|
56
|
+
9: (state) => {
|
|
57
|
+
const typedState = state;
|
|
58
|
+
typedState.publicKeysByAccount = {};
|
|
59
|
+
return typedState;
|
|
60
|
+
},
|
|
61
|
+
10: (state) => {
|
|
62
|
+
const typedState = state;
|
|
63
|
+
const overrides = typedState.userNetworksConfigOverrides;
|
|
64
|
+
for (const networkId in overrides) {
|
|
65
|
+
const networkOverrides = overrides[networkId];
|
|
66
|
+
if (!networkOverrides) continue;
|
|
67
|
+
delete networkOverrides.nodeAddress;
|
|
68
|
+
delete networkOverrides.indexerAddress;
|
|
69
|
+
}
|
|
70
|
+
return typedState;
|
|
71
|
+
},
|
|
72
|
+
11: (state) => {
|
|
73
|
+
const typedState = state;
|
|
74
|
+
delete typedState.shouldAcknowledgeMidnightDisclaimer;
|
|
75
|
+
return typedState;
|
|
76
|
+
},
|
|
77
|
+
12: (state) => {
|
|
78
|
+
const typedState = state;
|
|
79
|
+
const userOverrides = typedState.userNetworksConfigOverrides;
|
|
80
|
+
if (userOverrides) for (const networkId in userOverrides) {
|
|
81
|
+
const override = userOverrides[networkId];
|
|
82
|
+
if (override) delete override.proofServerAddress;
|
|
83
|
+
}
|
|
84
|
+
return typedState;
|
|
85
|
+
},
|
|
86
|
+
13: (state) => {
|
|
87
|
+
const typedState = state;
|
|
88
|
+
for (const override of Object.values(typedState.userNetworksConfigOverrides ?? {})) if (override) delete override.proofServerAddress;
|
|
89
|
+
return typedState;
|
|
90
|
+
},
|
|
91
|
+
14: (state) => {
|
|
92
|
+
const typedState = state;
|
|
93
|
+
for (const networkId of ["mainnet", "preview"]) {
|
|
94
|
+
const override = typedState.userNetworksConfigOverrides?.[networkId];
|
|
95
|
+
const previousMode = override?.proofServer;
|
|
96
|
+
const mode = TEMENOS_PROOF_SERVER_MODES[networkId];
|
|
97
|
+
if (override && mode && previousMode?.kind === "tee-delegated" && previousMode.url === "https://api.proofserver.wastedp.io") override.proofServer = { ...mode };
|
|
98
|
+
}
|
|
99
|
+
return typedState;
|
|
100
|
+
}
|
|
101
|
+
})
|
|
102
|
+
} }
|
|
103
|
+
});
|
|
104
|
+
//#endregion
|
|
105
|
+
export { store as default };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { g as CardanoPaymentAddress } from "./util-Cp5cZkfK.js";
|
|
2
|
+
import { t as BigNumber } from "./bignum.vo-CEXOIew0.js";
|
|
3
|
+
import { t as isCardanoCustodyAccount } from "./account-BOQruszJ.js";
|
|
4
|
+
import { t as toAccountTokens } from "./account-tokens-DvkOFVON.js";
|
|
5
|
+
import { coalesceValueQuantities } from "@laceio/cardano/core";
|
|
6
|
+
import { combineLatest, distinct, distinctUntilChanged, map, mergeAll, mergeMap } from "rxjs";
|
|
7
|
+
//#region ../../packages/contract/cardano-context/src/custody/store/track-custody-account-tokens.ts
|
|
8
|
+
/**
|
|
9
|
+
* A custody account holds what its owner can spend through Lace while it is
|
|
10
|
+
* live: plain funds without a reference script, own reserves and withdrawable
|
|
11
|
+
* rewards. No Lace builder spends a plain fund carrying a reference script or
|
|
12
|
+
* a foreign reserve, the control UTxO's lovelace is the state's minimum and
|
|
13
|
+
* the owner's fee reserve, grant UTxOs hold lovelace only a sweep frees,
|
|
14
|
+
* stranded deposits cannot be spent, and account tokens are no holding, so
|
|
15
|
+
* none of them reaches the tokens store.
|
|
16
|
+
*
|
|
17
|
+
* The rewards come from the balance view of the reward details: a pending
|
|
18
|
+
* withdrawal's rewards already sit in its outputs, which the classification
|
|
19
|
+
* reads in flight, so they must not count a second time. The classified
|
|
20
|
+
* state itself keeps the raw amount the chain reports.
|
|
21
|
+
*/
|
|
22
|
+
const computeCustodyAccountTokens = (account) => (_, { cardanoCustody: { selectCardanoCustodyAccountState$ }, cardanoContext: { selectRewardAccountDetailsWithInFlight$ } }, { actions }) => combineLatest([selectCardanoCustodyAccountState$.pipe(map((selectAccountState) => selectAccountState(account.accountId))), selectRewardAccountDetailsWithInFlight$.pipe(map((details) => details[account.accountId]?.rewardAccountInfo.withdrawableAmount))]).pipe(distinctUntilChanged(([previousState, previousRewards], [state, rewards]) => previousState === state && previousRewards === rewards), map(([accountState, inFlightRewards]) => actions.tokens.setAccountTokens({
|
|
23
|
+
blockchainName: "Cardano",
|
|
24
|
+
accountId: account.accountId,
|
|
25
|
+
byAddress: accountState?.status === "live" ? [{
|
|
26
|
+
address: CardanoPaymentAddress(account.blockchainSpecific.address),
|
|
27
|
+
tokens: toAccountTokens(coalesceValueQuantities([...accountState.funds.filter(([, txOut]) => txOut.scriptReference === void 0), ...accountState.reserves.own].map(([, txOut]) => txOut.value)), inFlightRewards === void 0 ? accountState.withdrawableRewards : BigNumber.valueOf(inFlightRewards))
|
|
28
|
+
}] : []
|
|
29
|
+
})));
|
|
30
|
+
/**
|
|
31
|
+
* Tracks the tokens of every active custody account, which the Cardano
|
|
32
|
+
* context's own token tracking leaves to this store.
|
|
33
|
+
*/
|
|
34
|
+
const trackCustodyAccountTokens = (actionObservables, stateObservables, dependencies) => stateObservables.cardanoContext.selectActiveCardanoAccounts$.pipe(mergeAll(), distinct((account) => account.accountId), mergeMap((account) => isCardanoCustodyAccount(account) ? computeCustodyAccountTokens(account)(actionObservables, stateObservables, dependencies) : []));
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region ../../packages/contract/cardano-context/src/custody/store/init.ts
|
|
37
|
+
const init = () => ({ sideEffects: [trackCustodyAccountTokens] });
|
|
38
|
+
//#endregion
|
|
39
|
+
export { init as default };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
-
const require_esm_browser = require("./esm-browser-
|
|
3
|
-
const require_slice = require("./slice-
|
|
4
|
-
const require_first_state_of_status = require("./first-state-of-status-
|
|
2
|
+
const require_esm_browser = require("./esm-browser-bweqfBlL.cjs");
|
|
3
|
+
const require_slice = require("./slice-C9TT5KhY.cjs");
|
|
4
|
+
const require_first_state_of_status = require("./first-state-of-status-CbT7hPa4.cjs");
|
|
5
5
|
let rxjs = require("rxjs");
|
|
6
6
|
let redux_persist = require("redux-persist");
|
|
7
7
|
//#region ../../packages/contract/tokens/src/store/side-effects.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
-
const require_key_value_store = require("./key-value-store-
|
|
3
|
-
const require_serializable = require("./serializable-
|
|
2
|
+
const require_key_value_store = require("./key-value-store-C2Xt5Emp.cjs");
|
|
3
|
+
const require_serializable = require("./serializable-BxHkoPdk.cjs");
|
|
4
4
|
//#region ../../packages/module/storage-web-indexeddb/src/storage-api-adapter.ts
|
|
5
5
|
const DB_NAME = "lace-storage";
|
|
6
6
|
const OBJECT_STORE_NAME = "key-value";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
-
const require_slice = require("./slice-
|
|
3
|
-
const require_const = require("./const-
|
|
2
|
+
const require_slice = require("./slice-Bs2aMERu.cjs");
|
|
3
|
+
const require_const = require("./const-iwzZEE_w.cjs");
|
|
4
4
|
let _laceio_cardano_util = require("@laceio/cardano/util");
|
|
5
5
|
let rxjs = require("rxjs");
|
|
6
6
|
let redux_persist = require("redux-persist");
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
import { a as __toESM } from "./rolldown-runtime-OvD0k9op.js";
|
|
2
|
+
import { n as Ok, t as Err } from "./asyncoption-CruEYOBI.js";
|
|
3
|
+
import { n as retryBackoff, t as PROVIDER_REQUEST_RETRY_CONFIG } from "./retry-config-Dmgt28wM.js";
|
|
4
|
+
import { a as isNotFoundError, o as toProviderError } from "./error-DIZOY2Lw.js";
|
|
5
|
+
import { n as buildUrl, t as HttpClient } from "./http-client-TRlhDZGh.js";
|
|
6
|
+
import { t as require_lib } from "./lib--iqvW4O_.js";
|
|
7
|
+
import { t as BitcoinTransactionStatus } from "./bitcoin-data-provider-BYPSmuZS.js";
|
|
8
|
+
import { ProviderError, ProviderFailure } from "@laceio/cardano/core";
|
|
9
|
+
import { contextLogger } from "@laceio/cardano/util";
|
|
10
|
+
import { defer, from, of } from "rxjs";
|
|
11
|
+
import memoize from "lodash/memoize.js";
|
|
12
|
+
import { catchError as catchError$1, map as map$1 } from "rxjs/operators";
|
|
13
|
+
//#region ../../packages/lib/bitcoin-provider-core/src/maestro/util.ts
|
|
14
|
+
const SATS_IN_BTC = 1e8;
|
|
15
|
+
/**
|
|
16
|
+
* Converts a Bitcoin amount expressed as a decimal string (I.E `"0.00012345"`)
|
|
17
|
+
* into its integer value in satoshis.
|
|
18
|
+
*
|
|
19
|
+
* @param btcString - Bitcoin amount as a string (e.g. `"2"`, `"0.5"`, `"0.00000001"`).
|
|
20
|
+
* @returns Amount in satoshis as a number.
|
|
21
|
+
*/
|
|
22
|
+
const btcStringToSatoshis = (btcString) => {
|
|
23
|
+
const [integerPart, fractionPart = ""] = btcString.split(".");
|
|
24
|
+
const paddedFraction = fractionPart.padEnd(8, "0").slice(0, 8);
|
|
25
|
+
return Number(integerPart) * SATS_IN_BTC + Number(paddedFraction);
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Return the OP_RETURN payload (as hex) if the output is nulldata,
|
|
29
|
+
* otherwise undefined.
|
|
30
|
+
*/
|
|
31
|
+
const getOpReturnData = (output) => {
|
|
32
|
+
const asm = output.scriptPubKey?.asm;
|
|
33
|
+
if (!asm) return void 0;
|
|
34
|
+
if (!(output.scriptPubKey?.type === "nulldata" || asm.startsWith("OP_RETURN"))) return void 0;
|
|
35
|
+
const [, hexPayload] = asm.split(/\s+/);
|
|
36
|
+
return hexPayload ?? void 0;
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region ../../packages/lib/bitcoin-provider-core/src/maestro/maestro-provider.ts
|
|
40
|
+
/**
|
|
41
|
+
* High-level REST wrapper around Maestro's Bitcoin API.
|
|
42
|
+
*/
|
|
43
|
+
var MaestroBitcoinProvider = class {
|
|
44
|
+
logger;
|
|
45
|
+
#client;
|
|
46
|
+
#txCache = /* @__PURE__ */ new Map();
|
|
47
|
+
#rawTxCache = /* @__PURE__ */ new Map();
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new instance of the Maestro Bitcoin provider.
|
|
50
|
+
*
|
|
51
|
+
* @param client - Pre-configured HTTP client.
|
|
52
|
+
* @param logger - Any ts-log compatible logger implementation.
|
|
53
|
+
*/
|
|
54
|
+
constructor(client, logger) {
|
|
55
|
+
this.#client = client;
|
|
56
|
+
this.logger = contextLogger(logger, this.constructor.name);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Fetches the current block height and hash.
|
|
60
|
+
*
|
|
61
|
+
* @returns A promise that resolves with the current blockchain information.
|
|
62
|
+
*/
|
|
63
|
+
async getLastKnownBlock() {
|
|
64
|
+
const { data: { last_updated: { block_height, block_hash } } } = await this.request("/rpc/general/info");
|
|
65
|
+
return {
|
|
66
|
+
height: Number(block_height),
|
|
67
|
+
hash: block_hash
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves detailed information about a specific blockchain transaction by its hash.
|
|
72
|
+
*
|
|
73
|
+
* @param txHash - The hash of the transaction to retrieve. This is typically a unique identifier
|
|
74
|
+
* in hexadecimal format.
|
|
75
|
+
* @returns A promise that resolves to a `TransactionHistoryEntry`.
|
|
76
|
+
*
|
|
77
|
+
* @throws `Error` Throws an error if the transaction cannot be retrieved, which might occur due to network issues,
|
|
78
|
+
* incorrect transaction hash, or the transaction not existing in the blockchain.
|
|
79
|
+
*/
|
|
80
|
+
async getTransaction(txHash) {
|
|
81
|
+
if (this.#txCache.has(txHash)) return this.#txCache.get(txHash);
|
|
82
|
+
const { data: { data } } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
|
|
83
|
+
const entry = this.mapTxEntry(txHash, data);
|
|
84
|
+
if (entry.confirmations > 0) this.#txCache.set(txHash, entry);
|
|
85
|
+
return entry;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fetches the raw serialized transaction (hex) for a given transaction hash.
|
|
89
|
+
*
|
|
90
|
+
* Raw bytes of confirmed transactions are immutable, so they are cached
|
|
91
|
+
* indefinitely; unconfirmed transactions are re-fetched on every call.
|
|
92
|
+
*
|
|
93
|
+
* @param txHash - The hash of the transaction to retrieve, in hexadecimal format.
|
|
94
|
+
* @returns A promise that resolves to the raw transaction hex.
|
|
95
|
+
*
|
|
96
|
+
* @throws `Error` Throws an error if the transaction cannot be retrieved, which might occur due to network issues,
|
|
97
|
+
* incorrect transaction hash, or the transaction not existing in the blockchain.
|
|
98
|
+
*/
|
|
99
|
+
async getRawTransaction(txHash) {
|
|
100
|
+
if (this.#rawTxCache.has(txHash)) return this.#rawTxCache.get(txHash);
|
|
101
|
+
const { data: { data } } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
|
|
102
|
+
if (data.confirmations > 0) this.#rawTxCache.set(txHash, data.hex);
|
|
103
|
+
return data.hex;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Retrieve a **paginated**, (reverse-chronological by default) history of transactions
|
|
107
|
+
* that involve a given address.
|
|
108
|
+
*
|
|
109
|
+
* @param address - The Bitcoin address or script pubkey to query for transactions.
|
|
110
|
+
* @param parameters - Optional parameters to filter and paginate the transaction history.
|
|
111
|
+
*
|
|
112
|
+
* @returns `BitcoinPaginatedResponse` -
|
|
113
|
+
* `{ items: TransactionHistoryEntry[]; cursor: string }`.
|
|
114
|
+
*/
|
|
115
|
+
async getTransactions(address, parameters) {
|
|
116
|
+
try {
|
|
117
|
+
const { data: { data: edges = [], next_cursor } } = await this.request(`/addresses/${address}/txs`, { params: {
|
|
118
|
+
order: "desc",
|
|
119
|
+
count: 50,
|
|
120
|
+
...parameters
|
|
121
|
+
} });
|
|
122
|
+
const transactions = [];
|
|
123
|
+
for (const { tx_hash } of edges) transactions.push(await this.getTransaction(tx_hash));
|
|
124
|
+
return {
|
|
125
|
+
items: transactions,
|
|
126
|
+
cursor: next_cursor ?? ""
|
|
127
|
+
};
|
|
128
|
+
} catch (error) {
|
|
129
|
+
if (isNotFoundError(error)) return {
|
|
130
|
+
items: [],
|
|
131
|
+
cursor: ""
|
|
132
|
+
};
|
|
133
|
+
throw error;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Retrieves unconfirmed transactions (as transaction history entries) from the mempool for a given Bitcoin address.
|
|
138
|
+
*
|
|
139
|
+
* This function queries pending transactions associated with the specified Bitcoin address.
|
|
140
|
+
* It returns an array of transaction history entries representing UTXOs that are currently unconfirmed.
|
|
141
|
+
* Optionally, you can filter transactions to only include those observed after a specified block height.
|
|
142
|
+
*
|
|
143
|
+
* @param address - The Bitcoin address or script pubkey to query for pending transactions.
|
|
144
|
+
* @param parameters - Optional parameters to filter and paginate the transaction history.
|
|
145
|
+
* @returns `BitcoinPaginatedResponse` -
|
|
146
|
+
* `{ items: TransactionHistoryEntry[]; cursor: string }`.
|
|
147
|
+
*/
|
|
148
|
+
async getTransactionsInMempool(address, parameters) {
|
|
149
|
+
try {
|
|
150
|
+
const { data: { data: utxos = [], next_cursor } } = await this.request(`/mempool/addresses/${address}/utxos`, { params: {
|
|
151
|
+
order: "desc",
|
|
152
|
+
...parameters
|
|
153
|
+
} });
|
|
154
|
+
if (utxos.length === 0) return {
|
|
155
|
+
items: [],
|
|
156
|
+
cursor: ""
|
|
157
|
+
};
|
|
158
|
+
const seen = /* @__PURE__ */ new Set();
|
|
159
|
+
const pendingPromises = [];
|
|
160
|
+
for (const { txid, mempool: isInMempool } of utxos) {
|
|
161
|
+
if (seen.has(txid) || !isInMempool) continue;
|
|
162
|
+
seen.add(txid);
|
|
163
|
+
pendingPromises.push(this.mapTxToPendingEntry(txid));
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
items: await Promise.all(pendingPromises),
|
|
167
|
+
cursor: next_cursor ?? ""
|
|
168
|
+
};
|
|
169
|
+
} catch (error) {
|
|
170
|
+
if (isNotFoundError(error)) return {
|
|
171
|
+
items: [],
|
|
172
|
+
cursor: ""
|
|
173
|
+
};
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Fetches the unspent transaction outputs (UTxOs) associated with a specified address.
|
|
179
|
+
*
|
|
180
|
+
* @returns A promise that resolves with a list of UTxOs for the address.
|
|
181
|
+
*/
|
|
182
|
+
async getUTxOs(address, parameters) {
|
|
183
|
+
try {
|
|
184
|
+
const { data: { data: utxos = [], next_cursor } } = await this.request(`/addresses/${address}/utxos`, { params: { ...parameters } });
|
|
185
|
+
return {
|
|
186
|
+
items: utxos.map((out) => ({
|
|
187
|
+
txId: out.txid,
|
|
188
|
+
index: out.vout,
|
|
189
|
+
satoshis: Number.parseInt(out.satoshis, 10),
|
|
190
|
+
address: out.address,
|
|
191
|
+
script: out.script_pubkey,
|
|
192
|
+
height: out.height,
|
|
193
|
+
confirmations: out.confirmations,
|
|
194
|
+
inscriptions: out.inscriptions.map((inscription) => ({
|
|
195
|
+
offset: inscription.offset,
|
|
196
|
+
inscriptionId: inscription.inscription_id
|
|
197
|
+
})),
|
|
198
|
+
runes: out.runes.map((rune) => ({
|
|
199
|
+
runeId: rune.rune_id,
|
|
200
|
+
amount: rune.amount
|
|
201
|
+
}))
|
|
202
|
+
})),
|
|
203
|
+
cursor: next_cursor ?? ""
|
|
204
|
+
};
|
|
205
|
+
} catch (error) {
|
|
206
|
+
if (isNotFoundError(error)) return {
|
|
207
|
+
items: [],
|
|
208
|
+
cursor: ""
|
|
209
|
+
};
|
|
210
|
+
throw error;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Submits a raw transaction to the blockchain for inclusion in a block.
|
|
215
|
+
*
|
|
216
|
+
* @returns A promise that resolves with the transaction hash of the submitted transaction.
|
|
217
|
+
*/
|
|
218
|
+
async submitTransaction(rawTransaction) {
|
|
219
|
+
const { data, status } = await this.request("/rpc/transaction/submit", {
|
|
220
|
+
method: "POST",
|
|
221
|
+
headers: { "Content-Type": "application/json" },
|
|
222
|
+
body: JSON.stringify(rawTransaction)
|
|
223
|
+
});
|
|
224
|
+
if (status !== 201) throw new ProviderError(ProviderFailure.InvalidResponse, `Unexpected response status: ${status} - ${JSON.stringify(data)}`);
|
|
225
|
+
return data;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Fetches the status of a specified transaction by its hash.
|
|
229
|
+
*
|
|
230
|
+
* @returns A promise that resolves with the current status of the transaction.
|
|
231
|
+
*/
|
|
232
|
+
async getTransactionStatus(txHash) {
|
|
233
|
+
try {
|
|
234
|
+
const { status } = await this.getTransaction(txHash);
|
|
235
|
+
return status;
|
|
236
|
+
} catch (error) {
|
|
237
|
+
if (isNotFoundError(error)) return BitcoinTransactionStatus.Dropped;
|
|
238
|
+
throw error;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Estimates the transaction fee in BTC per kilobyte based on the desired confirmation time and fee estimation mode.
|
|
243
|
+
*
|
|
244
|
+
* This method queries a blockchain fee estimation service to determine the appropriate fee
|
|
245
|
+
* rate required for a transaction to be confirmed within the specified number of blocks.
|
|
246
|
+
*
|
|
247
|
+
* @param blocks - The target number of blocks within which the transaction should be confirmed.
|
|
248
|
+
* A smaller number indicates a higher priority and typically results in a higher fee.
|
|
249
|
+
* For example, `blocks = 1` requests a fee estimation for the next block confirmation.
|
|
250
|
+
* @param mode - The fee estimation mode, which determines the trade-off between
|
|
251
|
+
* reliability and cost:
|
|
252
|
+
* - `FeeEstimationMode.Conservative`: Prioritizes confirmation reliability.
|
|
253
|
+
* - `FeeEstimationMode.Economical`: Aims to minimize fees, with potentially slower confirmations.
|
|
254
|
+
* @returns A promise that resolves to the estimated fee in satoshis per byte.
|
|
255
|
+
* This value can be used to calculate the total transaction fee
|
|
256
|
+
* based on the size of the transaction in bytes.
|
|
257
|
+
*/
|
|
258
|
+
async estimateFee(blocks, mode) {
|
|
259
|
+
const { data: { data }, status } = await this.request(`/rpc/transaction/estimatefee/${blocks}`, { params: { mode } });
|
|
260
|
+
if (status !== 200) throw new ProviderError(ProviderFailure.InvalidResponse, "Invalid response from fee estimation API.");
|
|
261
|
+
return {
|
|
262
|
+
feeRate: data.feerate,
|
|
263
|
+
targetConfirmationTime: data.blocks
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Transform a Maestro transaction record into the wallet's
|
|
268
|
+
* `TransactionHistoryEntry` format.
|
|
269
|
+
*
|
|
270
|
+
* @param txHash - The transaction hash.
|
|
271
|
+
* @param data - The data payload returned by `/rpc/transaction/{hash}`.
|
|
272
|
+
* @param overrides - Partial entry whose properties overwrite the derived base
|
|
273
|
+
* values (e.g. `{ status: Pending, confirmations: -1 }`).
|
|
274
|
+
*
|
|
275
|
+
* @returns A fully populated `TransactionHistoryEntry`.
|
|
276
|
+
*/
|
|
277
|
+
mapTxEntry(txHash, data, overrides = {}) {
|
|
278
|
+
return {
|
|
279
|
+
inputs: data.vin.map((vin) => ({
|
|
280
|
+
txId: vin.txid ?? "",
|
|
281
|
+
index: vin.vout ?? 0,
|
|
282
|
+
address: vin.address ?? "",
|
|
283
|
+
satoshis: btcStringToSatoshis(vin.value.toString()),
|
|
284
|
+
isCoinbase: !!vin.coinbase,
|
|
285
|
+
coinbaseScript: vin.coinbase ?? ""
|
|
286
|
+
})),
|
|
287
|
+
outputs: data.vout.map((vout) => ({
|
|
288
|
+
address: vout.address,
|
|
289
|
+
satoshis: btcStringToSatoshis(vout.value.toString()),
|
|
290
|
+
opReturnData: getOpReturnData(vout)
|
|
291
|
+
})),
|
|
292
|
+
transactionHash: txHash,
|
|
293
|
+
confirmations: data.confirmations,
|
|
294
|
+
status: data.confirmations > 0 ? BitcoinTransactionStatus.Confirmed : BitcoinTransactionStatus.Pending,
|
|
295
|
+
blockHeight: data.blockheight,
|
|
296
|
+
timestamp: data.blocktime,
|
|
297
|
+
...overrides
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Maps a transaction hash to a pending transaction entry.
|
|
302
|
+
*
|
|
303
|
+
* @param txHash - The transaction hash to map.
|
|
304
|
+
*/
|
|
305
|
+
async mapTxToPendingEntry(txHash) {
|
|
306
|
+
const { data } = await this.request(`/rpc/transaction/${txHash}`, { params: { verbose: true } });
|
|
307
|
+
return this.mapTxEntry(txHash, data.data, {
|
|
308
|
+
confirmations: -1,
|
|
309
|
+
status: BitcoinTransactionStatus.Pending,
|
|
310
|
+
blockHeight: 0,
|
|
311
|
+
timestamp: Math.floor(Date.now() / 1e3)
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Performs a generic HTTP request to the Maestro API.
|
|
316
|
+
*/
|
|
317
|
+
async request(endpoint, options) {
|
|
318
|
+
try {
|
|
319
|
+
this.logger.debug("request", endpoint);
|
|
320
|
+
const response = await this.#client.request(endpoint, options);
|
|
321
|
+
this.logger.debug("response", JSON.stringify(response));
|
|
322
|
+
return response;
|
|
323
|
+
} catch (error) {
|
|
324
|
+
this.logger.debug("error", error);
|
|
325
|
+
throw toProviderError(error);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
};
|
|
329
|
+
//#endregion
|
|
330
|
+
//#region ../../packages/lib/bitcoin-provider-core/src/maestro-config.ts
|
|
331
|
+
var import_lib = /* @__PURE__ */ __toESM(require_lib());
|
|
332
|
+
const computeMaestroConfigIdentifier = ({ clientConfig: { baseUrl, projectId } }) => `${baseUrl}-${projectId}`;
|
|
333
|
+
const getMaestroClient = memoize(({ clientConfig, rateLimiterConfig }) => {
|
|
334
|
+
const rateLimiter = new import_lib.default({
|
|
335
|
+
reservoir: rateLimiterConfig.size,
|
|
336
|
+
reservoirIncreaseAmount: rateLimiterConfig.increaseAmount,
|
|
337
|
+
reservoirIncreaseInterval: rateLimiterConfig.increaseInterval,
|
|
338
|
+
reservoirIncreaseMaximum: rateLimiterConfig.size
|
|
339
|
+
});
|
|
340
|
+
return new HttpClient({
|
|
341
|
+
baseUrl: buildUrl([clientConfig.apiVersion], clientConfig.baseUrl),
|
|
342
|
+
requestInit: { headers: { "api-key": clientConfig.projectId ?? "" } }
|
|
343
|
+
}, { rateLimiter });
|
|
344
|
+
}, computeMaestroConfigIdentifier);
|
|
345
|
+
//#endregion
|
|
346
|
+
//#region ../../packages/lib/bitcoin-provider-core/src/create-maestro-bitcoin-provider.ts
|
|
347
|
+
const getMaestroApiProvider = memoize((config, logger) => {
|
|
348
|
+
return new MaestroBitcoinProvider(getMaestroClient(config), logger);
|
|
349
|
+
}, computeMaestroConfigIdentifier);
|
|
350
|
+
const getMaestroConfig = (context, configs) => configs[context.network];
|
|
351
|
+
const unprovisionedNetworkError = (network) => new ProviderError(ProviderFailure.NotImplemented, void 0, `maestro is unprovisioned for network ${network}: no config entry in this build`);
|
|
352
|
+
const createMaestroBitcoinProvider = (maestroConfig, logger) => ({
|
|
353
|
+
getLastKnownBlock: (context) => {
|
|
354
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
355
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
356
|
+
return from(getMaestroApiProvider(config, logger).getLastKnownBlock().then(Ok).catch(Err));
|
|
357
|
+
},
|
|
358
|
+
getTransaction: (context, txHash) => {
|
|
359
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
360
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
361
|
+
return from(getMaestroApiProvider(config, logger).getTransaction(txHash).then(Ok).catch(Err));
|
|
362
|
+
},
|
|
363
|
+
getRawTransaction: (context, txHash) => {
|
|
364
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
365
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
366
|
+
const provider = getMaestroApiProvider(config, logger);
|
|
367
|
+
return defer(async () => provider.getRawTransaction(txHash)).pipe(retryBackoff(PROVIDER_REQUEST_RETRY_CONFIG), map$1(Ok), catchError$1((error) => of(Err(error))));
|
|
368
|
+
},
|
|
369
|
+
getTransactions: (context, address, { afterBlockHeight, limit, order, cursor }) => {
|
|
370
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
371
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
372
|
+
return from(getMaestroApiProvider(config, logger).getTransactions(address, {
|
|
373
|
+
count: limit,
|
|
374
|
+
order,
|
|
375
|
+
cursor,
|
|
376
|
+
from: afterBlockHeight
|
|
377
|
+
}).then((result) => Ok(result)).catch(Err));
|
|
378
|
+
},
|
|
379
|
+
getTransactionsInMempool: (context, address, { afterBlockHeight, limit, order, cursor }) => {
|
|
380
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
381
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
382
|
+
return from(getMaestroApiProvider(config, logger).getTransactionsInMempool(address, {
|
|
383
|
+
count: limit,
|
|
384
|
+
order,
|
|
385
|
+
cursor,
|
|
386
|
+
from: afterBlockHeight
|
|
387
|
+
}).then((result) => Ok(result)).catch(Err));
|
|
388
|
+
},
|
|
389
|
+
getUTxOs: (context, address, { afterBlockHeight, limit, order, cursor }) => {
|
|
390
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
391
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
392
|
+
return from(getMaestroApiProvider(config, logger).getUTxOs(address, {
|
|
393
|
+
count: limit,
|
|
394
|
+
order,
|
|
395
|
+
cursor,
|
|
396
|
+
from: afterBlockHeight
|
|
397
|
+
}).then((result) => Ok(result)).catch(Err));
|
|
398
|
+
},
|
|
399
|
+
submitTransaction: (context, rawTransaction) => {
|
|
400
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
401
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
402
|
+
return from(getMaestroApiProvider(config, logger).submitTransaction(rawTransaction).then(Ok).catch(Err));
|
|
403
|
+
},
|
|
404
|
+
getTransactionStatus: (context, txHash) => {
|
|
405
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
406
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
407
|
+
return from(getMaestroApiProvider(config, logger).getTransactionStatus(txHash).then(Ok).catch(Err));
|
|
408
|
+
},
|
|
409
|
+
estimateFee: (context, blocks, mode) => {
|
|
410
|
+
const config = getMaestroConfig(context, maestroConfig);
|
|
411
|
+
if (!config) return of(Err(unprovisionedNetworkError(context.network)));
|
|
412
|
+
return from(getMaestroApiProvider(config, logger).estimateFee(blocks, mode).then(Ok).catch(Err));
|
|
413
|
+
}
|
|
414
|
+
});
|
|
415
|
+
//#endregion
|
|
416
|
+
//#region ../../packages/module/bitcoin-provider-maestro/src/store/dependencies.ts
|
|
417
|
+
const initializeDependencies = async ({ runtime: { config: { bitcoinProvider: { maestroConfig } } } }, { logger }) => ({ bitcoinProvider: createMaestroBitcoinProvider(maestroConfig, logger) });
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region ../../packages/module/bitcoin-provider-maestro/src/store/init.ts
|
|
420
|
+
const redux = async (props, dependencies) => ({ sideEffectDependencies: await initializeDependencies(props, dependencies) });
|
|
421
|
+
//#endregion
|
|
422
|
+
export { redux as default };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as v4, t as init_esm_browser } from "./esm-browser-
|
|
1
|
+
import { n as v4, t as init_esm_browser } from "./esm-browser-MG97cre9.js";
|
|
2
2
|
import { EMPTY, catchError, debounceTime, exhaustMap, filter, ignoreElements, map, merge, of, switchMap, take } from "rxjs";
|
|
3
3
|
//#region ../../packages/contract/app/src/store/side-effects.ts
|
|
4
4
|
init_esm_browser();
|