@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,25 +1,27 @@
|
|
|
1
1
|
const require_rolldown_runtime = require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
2
|
const require__polyfill_node_process = require("./_polyfill-node.process-rf9LjCyG.cjs");
|
|
3
|
-
const require__polyfill_buffer_patch = require("./_polyfill-buffer-patch-
|
|
4
|
-
const require_util = require("./util-
|
|
5
|
-
const require_time_vo = require("./time.vo-
|
|
6
|
-
const require_bignum_vo = require("./bignum.vo-
|
|
7
|
-
const require_asyncoption = require("./asyncoption-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const require_slice = require("./slice-
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const require_cardano_network_id_vo = require("./cardano-network-id.vo-
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
3
|
+
const require__polyfill_buffer_patch = require("./_polyfill-buffer-patch-CM8X7JiY.cjs");
|
|
4
|
+
const require_util = require("./util-Bu4W5lF4.cjs");
|
|
5
|
+
const require_time_vo = require("./time.vo-D3wWRw9L.cjs");
|
|
6
|
+
const require_bignum_vo = require("./bignum.vo-hx2kuqlA.cjs");
|
|
7
|
+
const require_asyncoption = require("./asyncoption-i0VbqVTq.cjs");
|
|
8
|
+
const require_is_redux_persist_state = require("./is-redux-persist-state-BCFnSm36.cjs");
|
|
9
|
+
const require_auto_dismiss_failure_on_success = require("./auto-dismiss-failure-on-success-C-qoJuid.cjs");
|
|
10
|
+
const require_account_id_vo = require("./account-id.vo-DwqFjK5u.cjs");
|
|
11
|
+
const require_serializable = require("./serializable-BxHkoPdk.cjs");
|
|
12
|
+
const require_blockingWithLatestFrom = require("./blockingWithLatestFrom-D8kBPBMX.cjs");
|
|
13
|
+
const require_retry_config = require("./retry-config-BaCfVC1H.cjs");
|
|
14
|
+
const require_activity_type = require("./activity-type-Ch6ljxBy.cjs");
|
|
15
|
+
const require_slice = require("./slice-C34iOOUH.cjs");
|
|
16
|
+
const require_slice$1 = require("./slice-DTZTiJle.cjs");
|
|
17
|
+
const require_token_id_vo = require("./token-id.vo-DXv5uS9n.cjs");
|
|
18
|
+
const require_sync_operation_utils = require("./sync-operation-utils-COIZ66-I.cjs");
|
|
19
|
+
const require_cardano_network_id_vo = require("./cardano-network-id.vo-BEDPn6Li.cjs");
|
|
20
|
+
const require_group_cardano_addresses_by_account = require("./group-cardano-addresses-by-account-Bp0g4wEY.cjs");
|
|
21
|
+
const require_const = require("./const-D-eZIS4n.cjs");
|
|
22
|
+
const require_cardano_network_id_to_network_type = require("./cardano-network-id-to-network-type-C0ufJOyE.cjs");
|
|
23
|
+
const require_is_retriable_error = require("./is-retriable-error-Dpt860if.cjs");
|
|
24
|
+
const require_account_tokens = require("./account-tokens-nwcvwLu4.cjs");
|
|
23
25
|
let _laceio_cardano_crypto = require("@laceio/cardano/crypto");
|
|
24
26
|
let _laceio_cardano_core = require("@laceio/cardano/core");
|
|
25
27
|
let _laceio_cardano_util = require("@laceio/cardano/util");
|
|
@@ -9673,12 +9675,12 @@ var import_dist = require_retry_config.require_dist();
|
|
|
9673
9675
|
* @returns The corresponding ActivityType
|
|
9674
9676
|
*/
|
|
9675
9677
|
const getActivityTypeFromDelegationEntry = (entry) => {
|
|
9676
|
-
if ("poolId" in entry) return
|
|
9678
|
+
if ("poolId" in entry) return require_activity_type.ActivityType.Delegation;
|
|
9677
9679
|
if ("action" in entry) {
|
|
9678
|
-
if (entry.action === "registered") return
|
|
9679
|
-
if (entry.action === "deregistered") return
|
|
9680
|
+
if (entry.action === "registered") return require_activity_type.ActivityType.Registration;
|
|
9681
|
+
if (entry.action === "deregistered") return require_activity_type.ActivityType.Deregistration;
|
|
9680
9682
|
}
|
|
9681
|
-
return
|
|
9683
|
+
return require_activity_type.ActivityType.Withdrawal;
|
|
9682
9684
|
};
|
|
9683
9685
|
//#endregion
|
|
9684
9686
|
//#region ../../packages/contract/cardano-context/src/store/helpers/find-missing-activities.ts
|
|
@@ -9709,7 +9711,7 @@ const findMissingActivities = ({ addresses, transactionHistoryByAccount, account
|
|
|
9709
9711
|
if (cardanoAccountAddresses.length === 0) return;
|
|
9710
9712
|
const rewardAccount = cardanoAccountAddresses[0].data?.rewardAccount;
|
|
9711
9713
|
if (rewardAccount === void 0) return;
|
|
9712
|
-
const loadedAccountActivityIds = (loadedActivities[accountId] ?? []).filter((a) => a.type !==
|
|
9714
|
+
const loadedAccountActivityIds = (loadedActivities[accountId] ?? []).filter((a) => a.type !== require_activity_type.ActivityType.Pending).map((a) => a.activityId);
|
|
9713
9715
|
const historyItemsActivities = historyItems.map((a) => ({
|
|
9714
9716
|
kind: require_util.ActivityKind.Transaction,
|
|
9715
9717
|
timestamp: require_time_vo.Timestamp(a.blockTime),
|
|
@@ -9978,7 +9980,7 @@ const mapTransactionToActivity$1 = ({ accountId, txDetails, accountAddresses, re
|
|
|
9978
9980
|
activityId: txDetails.id,
|
|
9979
9981
|
timestamp: require_time_vo.Timestamp(txDetails.blockTime * 1e3),
|
|
9980
9982
|
tokenBalanceChanges,
|
|
9981
|
-
type: extensionActivity?.type ?? (ownNetCoins > 0n ?
|
|
9983
|
+
type: extensionActivity?.type ?? (ownNetCoins > 0n ? require_activity_type.ActivityType.Receive : require_activity_type.ActivityType.Send),
|
|
9982
9984
|
blockchainSpecific: { Cardano: {
|
|
9983
9985
|
consumedInputs: spentOutpoints,
|
|
9984
9986
|
producedOutputs: [],
|
|
@@ -10447,7 +10449,7 @@ const loadTokensMetadata = ({ cardanoContext: { loadTokenMetadata$ } }, { cardan
|
|
|
10447
10449
|
}), (0, import_dist.retryBackoff)(require_retry_config.PROVIDER_REQUEST_RETRY_CONFIG), (0, rxjs.mergeMap)((metadata) => (0, rxjs.merge)((0, rxjs.of)(actions.tokens.upsertTokensMetadata({ metadatas: [{
|
|
10448
10450
|
tokenId,
|
|
10449
10451
|
...metadata
|
|
10450
|
-
}] })), (0, rxjs.of)(TokenMetadataFailureId(tokenId)).pipe(
|
|
10452
|
+
}] })), (0, rxjs.of)(TokenMetadataFailureId(tokenId)).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)))), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
10451
10453
|
failureId: TokenMetadataFailureId(tokenId),
|
|
10452
10454
|
message: "sync.error.token-metadata-fetch-failed",
|
|
10453
10455
|
retryAction: actions.cardanoContext.loadTokenMetadata({ tokenId })
|
|
@@ -10639,7 +10641,7 @@ const processTransaction = (data, deps) => {
|
|
|
10639
10641
|
}))), (0, rxjs.mergeMap)((activity) => (0, rxjs.merge)((0, rxjs.of)(actions.activities.upsertActivities({
|
|
10640
10642
|
accountId: require_account_id_vo.AccountId(accountId),
|
|
10641
10643
|
activities: [activity]
|
|
10642
|
-
})), (0, rxjs.of)(failureId).pipe(
|
|
10644
|
+
})), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)))), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
10643
10645
|
failureId,
|
|
10644
10646
|
message: "sync.error.cardano-activities-processing-failed"
|
|
10645
10647
|
}))));
|
|
@@ -10724,7 +10726,7 @@ const createDelegationActivity = ({ accountId, txDetails, assetId, amount, type
|
|
|
10724
10726
|
});
|
|
10725
10727
|
const mapTransactionToActivity = ({ accountId, txDetails, assetId, amount, type, protocolParameters, accountAddresses, rewardAccount, resolveInput, chainId, logger }) => {
|
|
10726
10728
|
const fee = txDetails.body.fee;
|
|
10727
|
-
if ((type ===
|
|
10729
|
+
if ((type === require_activity_type.ActivityType.Registration || type === require_activity_type.ActivityType.Deregistration) && protocolParameters && accountAddresses && accountAddresses.length > 0 && rewardAccount && resolveInput && chainId && logger) return (0, rxjs.from)((0, _laceio_cardano_core.createTxInspector)({ summary: (0, _laceio_cardano_core.transactionSummaryInspector)({
|
|
10728
10730
|
addresses: accountAddresses.map((address) => _laceio_cardano_core.Cardano.PaymentAddress(address.address)),
|
|
10729
10731
|
rewardAccounts: accountAddresses.map((address) => _laceio_cardano_core.Cardano.RewardAccount(address.data?.rewardAccount)),
|
|
10730
10732
|
inputResolver: createInputResolver(resolveInput, chainId),
|
|
@@ -10734,7 +10736,7 @@ const mapTransactionToActivity = ({ accountId, txDetails, assetId, amount, type,
|
|
|
10734
10736
|
logger
|
|
10735
10737
|
}) })(txDetails)).pipe((0, rxjs.map)(({ summary }) => {
|
|
10736
10738
|
let calculatedAmount;
|
|
10737
|
-
if (type ===
|
|
10739
|
+
if (type === require_activity_type.ActivityType.Registration) {
|
|
10738
10740
|
const deposit = summary.deposit;
|
|
10739
10741
|
calculatedAmount = BigInt(0) - deposit;
|
|
10740
10742
|
} else calculatedAmount = summary.returnedDeposit - fee;
|
|
@@ -10746,7 +10748,7 @@ const mapTransactionToActivity = ({ accountId, txDetails, assetId, amount, type,
|
|
|
10746
10748
|
type
|
|
10747
10749
|
}));
|
|
10748
10750
|
}), (0, rxjs.catchError)((error) => (0, rxjs.of)(require_asyncoption.Err(error))));
|
|
10749
|
-
if (type ===
|
|
10751
|
+
if (type === require_activity_type.ActivityType.Delegation) return (0, rxjs.of)(require_asyncoption.Ok(createDelegationActivity({
|
|
10750
10752
|
accountId,
|
|
10751
10753
|
txDetails,
|
|
10752
10754
|
assetId,
|
|
@@ -10793,7 +10795,7 @@ const processDelegationTransaction = (data, deps) => {
|
|
|
10793
10795
|
accountId: require_account_id_vo.AccountId(accountId),
|
|
10794
10796
|
rewardAccount,
|
|
10795
10797
|
activities: [activity]
|
|
10796
|
-
})), (0, rxjs.of)(failureId).pipe(
|
|
10798
|
+
})), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)));
|
|
10797
10799
|
}), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
10798
10800
|
failureId,
|
|
10799
10801
|
message: DELEGATION_FAILURE_MESSAGE
|
|
@@ -10833,7 +10835,7 @@ const trackAccountDelegationActivities = ({ cardanoContext: { loadAccountDelegat
|
|
|
10833
10835
|
rewardAccount,
|
|
10834
10836
|
items: allItems
|
|
10835
10837
|
});
|
|
10836
|
-
const dismiss$ = (0, rxjs.of)(failureId).pipe(
|
|
10838
|
+
const dismiss$ = (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$));
|
|
10837
10839
|
if (protocolParameters === void 0) return (0, rxjs.merge)((0, rxjs.of)(setHistoryAction), dismiss$);
|
|
10838
10840
|
if (require_group_cardano_addresses_by_account.getAccountAddresses(allAddresses, accountId, chainId).length === 0) return (0, rxjs.merge)((0, rxjs.of)(setHistoryAction), dismiss$);
|
|
10839
10841
|
const processDelegationTransactionDeps = {
|
|
@@ -10898,7 +10900,7 @@ const createTrackAccountRewardsHistory = (debounceTimeout) => (_, { addresses: {
|
|
|
10898
10900
|
return (0, rxjs.merge)((0, rxjs.of)(actions.cardanoContext.setAccountRewardsHistory({
|
|
10899
10901
|
accountId,
|
|
10900
10902
|
rewardsHistory: require_util.mapToRecord(rewardsMap)
|
|
10901
|
-
})), (0, rxjs.of)(failureId).pipe(
|
|
10903
|
+
})), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)));
|
|
10902
10904
|
}), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
10903
10905
|
failureId,
|
|
10904
10906
|
message: "sync.error.cardano-rewards-history-failed"
|
|
@@ -10906,18 +10908,6 @@ const createTrackAccountRewardsHistory = (debounceTimeout) => (_, { addresses: {
|
|
|
10906
10908
|
}));
|
|
10907
10909
|
}));
|
|
10908
10910
|
//#endregion
|
|
10909
|
-
//#region ../../packages/contract/cardano-context/src/store/helpers/account-tokens.ts
|
|
10910
|
-
/** Tokens of one address: its value, with `rewards` added to the lovelace. */
|
|
10911
|
-
const toAccountTokens = (value, rewards) => [{
|
|
10912
|
-
tokenId: require_const.LOVELACE_TOKEN_ID,
|
|
10913
|
-
available: require_bignum_vo.BigNumber(value.coins + rewards),
|
|
10914
|
-
pending: require_bignum_vo.BigNumber(0n)
|
|
10915
|
-
}, ...[...value.assets?.entries() || []].map(([assetId, quantity]) => ({
|
|
10916
|
-
tokenId: require_token_id_vo.TokenId(assetId),
|
|
10917
|
-
available: require_bignum_vo.BigNumber(quantity),
|
|
10918
|
-
pending: require_bignum_vo.BigNumber(0n)
|
|
10919
|
-
}))];
|
|
10920
|
-
//#endregion
|
|
10921
10911
|
//#region ../../packages/contract/cardano-context/src/store/side-effects/track-account-tokens.ts
|
|
10922
10912
|
const computeAccountTokens = (accountId) => (_, { cardanoContext: { selectAccountUtxosWithInFlight$, selectRewardAccountDetailsWithInFlight$ } }, { actions }) => (0, rxjs.combineLatest)([selectAccountUtxosWithInFlight$, selectRewardAccountDetailsWithInFlight$]).pipe((0, rxjs.map)(([accountUtxoMap, rewardAccountDetailsMap]) => ({
|
|
10923
10913
|
accountUtxos: accountUtxoMap[accountId],
|
|
@@ -10933,7 +10923,7 @@ const computeAccountTokens = (accountId) => (_, { cardanoContext: { selectAccoun
|
|
|
10933
10923
|
accountId,
|
|
10934
10924
|
byAddress: addressValues.map(([address, value], index) => ({
|
|
10935
10925
|
address,
|
|
10936
|
-
tokens: toAccountTokens(value, index === 0 ? require_bignum_vo.BigNumber.valueOf(rewardBalance) : 0n)
|
|
10926
|
+
tokens: require_account_tokens.toAccountTokens(value, index === 0 ? require_bignum_vo.BigNumber.valueOf(rewardBalance) : 0n)
|
|
10937
10927
|
}))
|
|
10938
10928
|
})));
|
|
10939
10929
|
/**
|
|
@@ -10965,7 +10955,7 @@ const createTrackAccountTransactionHistory = (fetchAddressTransactionHistories,
|
|
|
10965
10955
|
}), ...addressHistories.every(hasLoadedOldestEntry) ? [actions.activities.setHasLoadedOldestEntry({
|
|
10966
10956
|
accountId,
|
|
10967
10957
|
hasLoadedOldestEntry: true
|
|
10968
|
-
})] : []]), (0, rxjs.of)(failureId).pipe(
|
|
10958
|
+
})] : []]), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)))), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
10969
10959
|
failureId,
|
|
10970
10960
|
message: "activities.error.pagination-failed",
|
|
10971
10961
|
retryAction: actions.activities.retryPagination({ accountId })
|
|
@@ -11108,7 +11098,7 @@ const trackRewardAccountDetails = ({ cardanoContext: { retrySyncRound$ } }, { wa
|
|
|
11108
11098
|
accountId,
|
|
11109
11099
|
cacheKey
|
|
11110
11100
|
})));
|
|
11111
|
-
emissions.push((0, rxjs.of)(CardanoRewardAccountDetailsFailureId(accountId)).pipe(
|
|
11101
|
+
emissions.push((0, rxjs.of)(CardanoRewardAccountDetailsFailureId(accountId)).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)));
|
|
11112
11102
|
return (0, rxjs.merge)(...emissions);
|
|
11113
11103
|
}), (0, rxjs.catchError)(() => (0, rxjs.of)(actions.failures.addFailure({
|
|
11114
11104
|
failureId: CardanoRewardAccountDetailsFailureId(accountId),
|
|
@@ -11144,7 +11134,7 @@ const trackSyncRoundFailures = (_, { sync: { selectSyncStatusByAccount$ }, failu
|
|
|
11144
11134
|
message: "sync.error.cardano-sync-round-failed",
|
|
11145
11135
|
retryAction: actions.cardanoContext.retrySyncRound()
|
|
11146
11136
|
}));
|
|
11147
|
-
if (currentStatus.lastSuccessfulSync !== previousStatus.lastSuccessfulSync) return (0, rxjs.of)(failureId).pipe(
|
|
11137
|
+
if (currentStatus.lastSuccessfulSync !== previousStatus.lastSuccessfulSync) return (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$));
|
|
11148
11138
|
return rxjs.EMPTY;
|
|
11149
11139
|
}))));
|
|
11150
11140
|
//#endregion
|
|
@@ -11311,7 +11301,7 @@ const buildTxSummaryFromNetFlows = (netFlows, accountAddresses, isIncoming) => {
|
|
|
11311
11301
|
return [{
|
|
11312
11302
|
addr: senderAddrs,
|
|
11313
11303
|
amount: walletEntry[1].coins,
|
|
11314
|
-
type:
|
|
11304
|
+
type: require_activity_type.ActivityType.Receive
|
|
11315
11305
|
}];
|
|
11316
11306
|
}
|
|
11317
11307
|
}
|
|
@@ -11320,7 +11310,7 @@ const buildTxSummaryFromNetFlows = (netFlows, accountAddresses, isIncoming) => {
|
|
|
11320
11310
|
return foreignRecipients.slice(0, MAX_SUMMARY_ADDRESSES).map(([addr, value]) => ({
|
|
11321
11311
|
addr: [addr],
|
|
11322
11312
|
amount: value.coins,
|
|
11323
|
-
type:
|
|
11313
|
+
type: require_activity_type.ActivityType.Send
|
|
11324
11314
|
}));
|
|
11325
11315
|
};
|
|
11326
11316
|
const buildCardanoTransaction = ({ txDetails: { auxiliaryData, body: { inputs, outputs, votingProcedures, proposalProcedures, certificates, donation, withdrawals } }, summary, assetsInfo, accountAddresses, rewardAccount, protocolParameters, tokenTransfer }) => {
|
|
@@ -11412,7 +11402,7 @@ const createTrackTransactionDetails = ({ createInputResolver: createInputResolve
|
|
|
11412
11402
|
});
|
|
11413
11403
|
if (!accountInfo) return rxjs.EMPTY;
|
|
11414
11404
|
const { rewardAccount, accountPaymentAddresses } = accountInfo;
|
|
11415
|
-
if (type ===
|
|
11405
|
+
if (type === require_activity_type.ActivityType.Rewards) return (0, rxjs.of)(setActivityDetails({ activityDetails: {
|
|
11416
11406
|
...activity,
|
|
11417
11407
|
fee: "0",
|
|
11418
11408
|
address: rewardAccount
|
|
@@ -11494,6 +11484,7 @@ const transactionPollingSync = ({ sync: { addSyncOperation$ } }, { wallets: { se
|
|
|
11494
11484
|
//#region ../../packages/contract/cardano-context/src/store/side-effects.ts
|
|
11495
11485
|
const UPDATE_METADATA_BUFFER_TIME = require_time_vo.Milliseconds(200);
|
|
11496
11486
|
const TRACK_ACCOUNT_ACTIVITIES_DEBOUNCE_TIME = require_time_vo.Milliseconds(2e3);
|
|
11487
|
+
const PROTOCOL_PARAMETERS_RECOVERY_INTERVAL = require_time_vo.Milliseconds(3e4);
|
|
11497
11488
|
const unwrapOrThrowError = (result) => {
|
|
11498
11489
|
if (result.isErr()) throw result.unwrapErr();
|
|
11499
11490
|
return result.unwrap();
|
|
@@ -11519,7 +11510,7 @@ const trackTokenMetadata = (batchInterval) => (_, { tokens: { selectAllRaw$, sel
|
|
|
11519
11510
|
})), (0, import_dist.retryBackoff)(require_retry_config.PROVIDER_REQUEST_RETRY_CONFIG), (0, rxjs.catchError)(() => (0, rxjs.of)(require_asyncoption.Err({ tokenId }))))), (0, rxjs.groupBy)((result) => result.isOk()), (0, rxjs.mergeMap)((group$) => group$.key ? group$.pipe((0, rxjs.bufferTime)(batchInterval), (0, rxjs.mergeMap)((okResults) => {
|
|
11520
11511
|
if (okResults.length === 0) return rxjs.EMPTY;
|
|
11521
11512
|
const metadatas = okResults.map(toUpsertTokenMetadataPayload);
|
|
11522
|
-
return (0, rxjs.merge)((0, rxjs.of)(actions.tokens.upsertTokensMetadata({ metadatas })), (0, rxjs.from)(metadatas.map(toTokenMetadataFailureId)).pipe(
|
|
11513
|
+
return (0, rxjs.merge)((0, rxjs.of)(actions.tokens.upsertTokensMetadata({ metadatas })), (0, rxjs.from)(metadatas.map(toTokenMetadataFailureId)).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)));
|
|
11523
11514
|
})) : group$.pipe((0, rxjs.map)((errorResult) => {
|
|
11524
11515
|
const { tokenId } = errorResult.unwrapErr();
|
|
11525
11516
|
return actions.failures.addFailure({
|
|
@@ -11533,20 +11524,31 @@ const trackTokenMetadata = (batchInterval) => (_, { tokens: { selectAllRaw$, sel
|
|
|
11533
11524
|
*
|
|
11534
11525
|
* Transient provider errors are retried with exponential backoff. After
|
|
11535
11526
|
* exhaustion a failure keyed by `CardanoProtocolParametersFailureId(network)`
|
|
11536
|
-
* is surfaced only when no cached parameters exist for the active network
|
|
11537
|
-
*
|
|
11538
|
-
*
|
|
11527
|
+
* is surfaced only when no cached parameters exist for the active network.
|
|
11528
|
+
* While parameters are missing, retry after a delay so a temporary outage
|
|
11529
|
+
* does not leave transaction building blocked until the worker restarts.
|
|
11539
11530
|
*/
|
|
11540
11531
|
const trackProtocolParameters = (_, { cardanoContext: { selectChainId$, selectProtocolParameters$ }, failures: { selectFailureById$ } }, { actions, cardanoProvider: { getProtocolParameters } }) => selectChainId$.pipe((0, rxjs.filter)(Boolean), (0, rxjs.switchMap)((chainId) => {
|
|
11541
11532
|
const network = require_cardano_network_id_vo.CardanoNetworkId(chainId.networkMagic);
|
|
11542
11533
|
const failureId = CardanoProtocolParametersFailureId(network);
|
|
11543
|
-
|
|
11544
|
-
|
|
11545
|
-
|
|
11546
|
-
|
|
11547
|
-
|
|
11548
|
-
|
|
11549
|
-
|
|
11534
|
+
let hasFailureBeenReported = false;
|
|
11535
|
+
let shouldRetryMissingParameters = false;
|
|
11536
|
+
const request = () => getProtocolParameters({ chainId }).pipe((0, rxjs.map)(unwrapOrThrowError), (0, import_dist.retryBackoff)(require_retry_config.PROVIDER_REQUEST_RETRY_CONFIG), (0, rxjs.mergeMap)((protocolParameters) => {
|
|
11537
|
+
shouldRetryMissingParameters = false;
|
|
11538
|
+
return (0, rxjs.merge)((0, rxjs.of)(actions.cardanoContext.setProtocolParameters({
|
|
11539
|
+
network,
|
|
11540
|
+
protocolParameters
|
|
11541
|
+
})), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)));
|
|
11542
|
+
}), (0, rxjs.catchError)(() => selectProtocolParameters$.pipe((0, rxjs.take)(1), (0, rxjs.mergeMap)((existing) => {
|
|
11543
|
+
shouldRetryMissingParameters = !existing;
|
|
11544
|
+
if (!shouldRetryMissingParameters || hasFailureBeenReported) return rxjs.EMPTY;
|
|
11545
|
+
hasFailureBeenReported = true;
|
|
11546
|
+
return (0, rxjs.of)(actions.failures.addFailure({
|
|
11547
|
+
failureId,
|
|
11548
|
+
message: "sync.error.cardano-protocol-parameters-failed"
|
|
11549
|
+
}));
|
|
11550
|
+
}))));
|
|
11551
|
+
return (0, rxjs.defer)(request).pipe((0, rxjs.repeat)({ delay: () => shouldRetryMissingParameters ? (0, rxjs.timer)(PROTOCOL_PARAMETERS_RECOVERY_INTERVAL) : rxjs.EMPTY }));
|
|
11550
11552
|
}));
|
|
11551
11553
|
/**
|
|
11552
11554
|
* Side effect that wires protocolParameters selector to the observable
|
|
@@ -11605,7 +11607,7 @@ const trackEraSummaries = (_, { cardanoContext: { selectChainId$, selectEraSumma
|
|
|
11605
11607
|
return getEraSummaries({ chainId }).pipe((0, rxjs.map)(unwrapOrThrowError), (0, import_dist.retryBackoff)(require_retry_config.PROVIDER_REQUEST_RETRY_CONFIG), (0, rxjs.mergeMap)((eraSummaries) => (0, rxjs.merge)((0, rxjs.of)(actions.cardanoContext.setEraSummaries({
|
|
11606
11608
|
network,
|
|
11607
11609
|
eraSummaries
|
|
11608
|
-
})), (0, rxjs.of)(failureId).pipe(
|
|
11610
|
+
})), (0, rxjs.of)(failureId).pipe(require_auto_dismiss_failure_on_success.autoDismissFailureOnSuccess(selectFailureById$)))), (0, rxjs.catchError)(() => selectEraSummaries$.pipe((0, rxjs.take)(1), (0, rxjs.mergeMap)((existing) => existing ? rxjs.EMPTY : (0, rxjs.of)(actions.failures.addFailure({
|
|
11609
11611
|
failureId,
|
|
11610
11612
|
message: "sync.error.cardano-era-summaries-failed"
|
|
11611
11613
|
}))))));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
-
const require_error = require("./error-
|
|
2
|
+
const require_error = require("./error-Cb3EnD0u.cjs");
|
|
3
3
|
let _laceio_cardano_core = require("@laceio/cardano/core");
|
|
4
4
|
//#region ../../packages/lib/util-provider/src/is-retriable-error.ts
|
|
5
5
|
/**
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import "./_polyfill-buffer-patch-yNxN4d5E.js";
|
|
2
|
+
import "./codecs-Dc1Krpbt.js";
|
|
3
|
+
import { n as HexBytes, t as ByteArray } from "./bytes.vo-BB7_4JK6.js";
|
|
4
|
+
import { t as DeviceCommitmentHex } from "./device-commitment-hex.vo-5wFtQvDS.js";
|
|
5
|
+
import { t as UnknownCircuitError } from "./artefact-loader-Dik4HIfv.js";
|
|
6
|
+
import { i as REVOKE_GRANT_CIRCUIT, n as ISSUE_GRANT_CIRCUIT, r as REVOKE_ALL_GRANTS_CIRCUIT } from "./grant-circuits-Jxb5y1HW.js";
|
|
7
|
+
import { n as ROTATE_ENC_KEY_CIRCUIT, t as APPEND_INBOX_CIRCUIT } from "./enc-key-circuits-B7BjgUL9.js";
|
|
8
|
+
import { a as pureCircuits } from "./acc-module-Cmj8EsIb.js";
|
|
9
|
+
import { i as issueGrantBinding } from "./grants-CtofFu-e.js";
|
|
10
|
+
//#region ../../packages/module/passport-account/src/acc/challenges.ts
|
|
11
|
+
const address = (context) => ({ bytes: context.contractAddress });
|
|
12
|
+
/**
|
|
13
|
+
* Per-circuit challenge builders for the jubjub-gated circuits this module
|
|
14
|
+
* calls. The preimage layout is produced by the contract's own exported
|
|
15
|
+
* pure circuits: a per-circuit domain separation tag, the account address,
|
|
16
|
+
* the signature announcement, the device public key, the circuit's
|
|
17
|
+
* arguments in declaration order, the auth nonce, and the grind nonce.
|
|
18
|
+
* The grant lifecycle circuits sit in the same tag family as the device
|
|
19
|
+
* circuits; the issue challenge carries the grant id and the scope digest
|
|
20
|
+
* rather than the scope's fields. The encryption key circuits bind the
|
|
21
|
+
* key `enc_key` is replaced with and the entry appended to the inbox.
|
|
22
|
+
* `activate_initial_device_with_jubjub` is permissionless and has no
|
|
23
|
+
* challenge.
|
|
24
|
+
*/
|
|
25
|
+
const jubjubChallenges = {
|
|
26
|
+
addDevice: (context, pk, newEntry) => (sigR, grindNonce) => pureCircuits.challenge_add_device_with_jubjub(address(context), sigR, pk, newEntry, context.authNonce, grindNonce),
|
|
27
|
+
removeDevice: (context, pk, entry) => (sigR, grindNonce) => pureCircuits.challenge_remove_device_with_jubjub(address(context), sigR, pk, entry, context.authNonce, grindNonce),
|
|
28
|
+
issueGrant: (context, pk, binding) => (sigR, grindNonce) => pureCircuits.challenge_issue_grant_with_jubjub(address(context), sigR, pk, binding.grantId, binding.scopeDigest, context.authNonce, grindNonce),
|
|
29
|
+
revokeGrant: (context, pk, grantId) => (sigR, grindNonce) => pureCircuits.challenge_revoke_grant_with_jubjub(address(context), sigR, pk, grantId, context.authNonce, grindNonce),
|
|
30
|
+
rotateEncKey: (context, pk, newKey) => (sigR, grindNonce) => pureCircuits.challenge_rotate_enc_key_with_jubjub(address(context), sigR, pk, newKey, context.authNonce, grindNonce),
|
|
31
|
+
appendInbox: (context, pk, entry) => (sigR, grindNonce) => pureCircuits.challenge_append_inbox_with_jubjub(address(context), sigR, pk, entry, context.authNonce, grindNonce),
|
|
32
|
+
revokeAllGrants: (context, pk) => (sigR, grindNonce) => pureCircuits.challenge_revoke_all_grants_with_jubjub(address(context), sigR, pk, context.authNonce, grindNonce)
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region ../../packages/module/passport-account/src/acc/jubjub-authoriser.ts
|
|
36
|
+
const HEX_BYTE_PATTERN = /^(?:[0-9a-f]{2})*$/;
|
|
37
|
+
const accountToBytes = (account) => {
|
|
38
|
+
if (!HEX_BYTE_PATTERN.test(account)) throw new Error(`AccAddress is not lowercase hex of whole bytes: "${account}"`);
|
|
39
|
+
return ByteArray.fromHex(HexBytes(account));
|
|
40
|
+
};
|
|
41
|
+
const bytesArgument = (request) => {
|
|
42
|
+
const [entry] = request.args;
|
|
43
|
+
if (!(entry instanceof Uint8Array)) throw new Error(`Circuit ${request.circuit} expects a byte-array entry as its first argument`);
|
|
44
|
+
return entry;
|
|
45
|
+
};
|
|
46
|
+
const noArguments = (request) => {
|
|
47
|
+
if (request.args.length > 0) throw new Error(`Circuit ${request.circuit} takes no argument`);
|
|
48
|
+
};
|
|
49
|
+
const challengeBuilders = {
|
|
50
|
+
add_device_with_jubjub: (context, pk, request) => jubjubChallenges.addDevice(context, pk, bytesArgument(request)),
|
|
51
|
+
remove_device_with_jubjub: (context, pk, request) => jubjubChallenges.removeDevice(context, pk, bytesArgument(request)),
|
|
52
|
+
[ISSUE_GRANT_CIRCUIT]: (context, pk, request) => jubjubChallenges.issueGrant(context, pk, issueGrantBinding(request.args)),
|
|
53
|
+
[REVOKE_GRANT_CIRCUIT]: (context, pk, request) => jubjubChallenges.revokeGrant(context, pk, bytesArgument(request)),
|
|
54
|
+
[REVOKE_ALL_GRANTS_CIRCUIT]: (context, pk, request) => {
|
|
55
|
+
noArguments(request);
|
|
56
|
+
return jubjubChallenges.revokeAllGrants(context, pk);
|
|
57
|
+
},
|
|
58
|
+
[ROTATE_ENC_KEY_CIRCUIT]: (context, pk, request) => jubjubChallenges.rotateEncKey(context, pk, bytesArgument(request)),
|
|
59
|
+
[APPEND_INBOX_CIRCUIT]: (context, pk, request) => jubjubChallenges.appendInbox(context, pk, bytesArgument(request))
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A PassportAuthoriser over any JubJub device key source. Authorises the
|
|
63
|
+
* device-management, grant lifecycle and encryption key circuits this
|
|
64
|
+
* module calls and rejects everything else, including the permissionless
|
|
65
|
+
* `activate_initial_device_with_jubjub`, which needs no authorisation.
|
|
66
|
+
*/
|
|
67
|
+
const createJubjubAuthoriser = (runWithDevice) => ({
|
|
68
|
+
scheme: "jubjub-schnorr",
|
|
69
|
+
deviceCommitment: async (account, epoch, counter) => runWithDevice((device) => DeviceCommitmentHex(HexBytes.fromByteArray(device.entryAt(accountToBytes(account), epoch, counter)))),
|
|
70
|
+
deviceCommitments: async (account, epoch, counters) => runWithDevice((device) => {
|
|
71
|
+
const accountBytes = accountToBytes(account);
|
|
72
|
+
return counters.map((counter) => DeviceCommitmentHex(HexBytes.fromByteArray(device.entryAt(accountBytes, epoch, counter))));
|
|
73
|
+
}),
|
|
74
|
+
devicePublicKey: async () => runWithDevice((device) => device.pk),
|
|
75
|
+
authorise: async (request) => runWithDevice((device) => {
|
|
76
|
+
const toBuilder = challengeBuilders[request.circuit];
|
|
77
|
+
if (!toBuilder) throw new UnknownCircuitError(request.circuit);
|
|
78
|
+
const context = {
|
|
79
|
+
contractAddress: accountToBytes(request.account),
|
|
80
|
+
authNonce: request.authNonce
|
|
81
|
+
};
|
|
82
|
+
return device.sign(toBuilder(context, device.pk, request), request.useCounter);
|
|
83
|
+
})
|
|
84
|
+
});
|
|
85
|
+
//#endregion
|
|
86
|
+
export { createJubjubAuthoriser };
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
require("./rolldown-runtime-Br2OG8yv.cjs");
|
|
2
|
+
require("./_polyfill-buffer-patch-CM8X7JiY.cjs");
|
|
3
|
+
require("./codecs-Cswkg7Tm.cjs");
|
|
4
|
+
const require_bytes_vo = require("./bytes.vo-BNRquqaO.cjs");
|
|
5
|
+
const require_device_commitment_hex_vo = require("./device-commitment-hex.vo-CT3RmAug.cjs");
|
|
6
|
+
const require_artefact_loader = require("./artefact-loader-BWWYAD7E.cjs");
|
|
7
|
+
const require_grant_circuits = require("./grant-circuits-DswmW3nI.cjs");
|
|
8
|
+
const require_enc_key_circuits = require("./enc-key-circuits-BLrZrBVI.cjs");
|
|
9
|
+
const require_acc_module = require("./acc-module-4iIUv6My.cjs");
|
|
10
|
+
const require_grants = require("./grants-BoI5uwSF.cjs");
|
|
11
|
+
//#region ../../packages/module/passport-account/src/acc/challenges.ts
|
|
12
|
+
const address = (context) => ({ bytes: context.contractAddress });
|
|
13
|
+
/**
|
|
14
|
+
* Per-circuit challenge builders for the jubjub-gated circuits this module
|
|
15
|
+
* calls. The preimage layout is produced by the contract's own exported
|
|
16
|
+
* pure circuits: a per-circuit domain separation tag, the account address,
|
|
17
|
+
* the signature announcement, the device public key, the circuit's
|
|
18
|
+
* arguments in declaration order, the auth nonce, and the grind nonce.
|
|
19
|
+
* The grant lifecycle circuits sit in the same tag family as the device
|
|
20
|
+
* circuits; the issue challenge carries the grant id and the scope digest
|
|
21
|
+
* rather than the scope's fields. The encryption key circuits bind the
|
|
22
|
+
* key `enc_key` is replaced with and the entry appended to the inbox.
|
|
23
|
+
* `activate_initial_device_with_jubjub` is permissionless and has no
|
|
24
|
+
* challenge.
|
|
25
|
+
*/
|
|
26
|
+
const jubjubChallenges = {
|
|
27
|
+
addDevice: (context, pk, newEntry) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_add_device_with_jubjub(address(context), sigR, pk, newEntry, context.authNonce, grindNonce),
|
|
28
|
+
removeDevice: (context, pk, entry) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_remove_device_with_jubjub(address(context), sigR, pk, entry, context.authNonce, grindNonce),
|
|
29
|
+
issueGrant: (context, pk, binding) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_issue_grant_with_jubjub(address(context), sigR, pk, binding.grantId, binding.scopeDigest, context.authNonce, grindNonce),
|
|
30
|
+
revokeGrant: (context, pk, grantId) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_revoke_grant_with_jubjub(address(context), sigR, pk, grantId, context.authNonce, grindNonce),
|
|
31
|
+
rotateEncKey: (context, pk, newKey) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_rotate_enc_key_with_jubjub(address(context), sigR, pk, newKey, context.authNonce, grindNonce),
|
|
32
|
+
appendInbox: (context, pk, entry) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_append_inbox_with_jubjub(address(context), sigR, pk, entry, context.authNonce, grindNonce),
|
|
33
|
+
revokeAllGrants: (context, pk) => (sigR, grindNonce) => require_acc_module.pureCircuits.challenge_revoke_all_grants_with_jubjub(address(context), sigR, pk, context.authNonce, grindNonce)
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region ../../packages/module/passport-account/src/acc/jubjub-authoriser.ts
|
|
37
|
+
const HEX_BYTE_PATTERN = /^(?:[0-9a-f]{2})*$/;
|
|
38
|
+
const accountToBytes = (account) => {
|
|
39
|
+
if (!HEX_BYTE_PATTERN.test(account)) throw new Error(`AccAddress is not lowercase hex of whole bytes: "${account}"`);
|
|
40
|
+
return require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(account));
|
|
41
|
+
};
|
|
42
|
+
const bytesArgument = (request) => {
|
|
43
|
+
const [entry] = request.args;
|
|
44
|
+
if (!(entry instanceof Uint8Array)) throw new Error(`Circuit ${request.circuit} expects a byte-array entry as its first argument`);
|
|
45
|
+
return entry;
|
|
46
|
+
};
|
|
47
|
+
const noArguments = (request) => {
|
|
48
|
+
if (request.args.length > 0) throw new Error(`Circuit ${request.circuit} takes no argument`);
|
|
49
|
+
};
|
|
50
|
+
const challengeBuilders = {
|
|
51
|
+
add_device_with_jubjub: (context, pk, request) => jubjubChallenges.addDevice(context, pk, bytesArgument(request)),
|
|
52
|
+
remove_device_with_jubjub: (context, pk, request) => jubjubChallenges.removeDevice(context, pk, bytesArgument(request)),
|
|
53
|
+
[require_grant_circuits.ISSUE_GRANT_CIRCUIT]: (context, pk, request) => jubjubChallenges.issueGrant(context, pk, require_grants.issueGrantBinding(request.args)),
|
|
54
|
+
[require_grant_circuits.REVOKE_GRANT_CIRCUIT]: (context, pk, request) => jubjubChallenges.revokeGrant(context, pk, bytesArgument(request)),
|
|
55
|
+
[require_grant_circuits.REVOKE_ALL_GRANTS_CIRCUIT]: (context, pk, request) => {
|
|
56
|
+
noArguments(request);
|
|
57
|
+
return jubjubChallenges.revokeAllGrants(context, pk);
|
|
58
|
+
},
|
|
59
|
+
[require_enc_key_circuits.ROTATE_ENC_KEY_CIRCUIT]: (context, pk, request) => jubjubChallenges.rotateEncKey(context, pk, bytesArgument(request)),
|
|
60
|
+
[require_enc_key_circuits.APPEND_INBOX_CIRCUIT]: (context, pk, request) => jubjubChallenges.appendInbox(context, pk, bytesArgument(request))
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* A PassportAuthoriser over any JubJub device key source. Authorises the
|
|
64
|
+
* device-management, grant lifecycle and encryption key circuits this
|
|
65
|
+
* module calls and rejects everything else, including the permissionless
|
|
66
|
+
* `activate_initial_device_with_jubjub`, which needs no authorisation.
|
|
67
|
+
*/
|
|
68
|
+
const createJubjubAuthoriser = (runWithDevice) => ({
|
|
69
|
+
scheme: "jubjub-schnorr",
|
|
70
|
+
deviceCommitment: async (account, epoch, counter) => runWithDevice((device) => require_device_commitment_hex_vo.DeviceCommitmentHex(require_bytes_vo.HexBytes.fromByteArray(device.entryAt(accountToBytes(account), epoch, counter)))),
|
|
71
|
+
deviceCommitments: async (account, epoch, counters) => runWithDevice((device) => {
|
|
72
|
+
const accountBytes = accountToBytes(account);
|
|
73
|
+
return counters.map((counter) => require_device_commitment_hex_vo.DeviceCommitmentHex(require_bytes_vo.HexBytes.fromByteArray(device.entryAt(accountBytes, epoch, counter))));
|
|
74
|
+
}),
|
|
75
|
+
devicePublicKey: async () => runWithDevice((device) => device.pk),
|
|
76
|
+
authorise: async (request) => runWithDevice((device) => {
|
|
77
|
+
const toBuilder = challengeBuilders[request.circuit];
|
|
78
|
+
if (!toBuilder) throw new require_artefact_loader.UnknownCircuitError(request.circuit);
|
|
79
|
+
const context = {
|
|
80
|
+
contractAddress: accountToBytes(request.account),
|
|
81
|
+
authNonce: request.authNonce
|
|
82
|
+
};
|
|
83
|
+
return device.sign(toBuilder(context, device.pk, request), request.useCounter);
|
|
84
|
+
})
|
|
85
|
+
});
|
|
86
|
+
//#endregion
|
|
87
|
+
exports.createJubjubAuthoriser = createJubjubAuthoriser;
|