@laceio/sdk 0.1.1-canary.2 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{TransactionBuilder-CCjOn7NA.cjs → TransactionBuilder-DrB3NVTi.cjs} +0 -42
- package/dist/{TransactionBuilder-CIzdw18M.js → TransactionBuilder-V6aLx4SV.js} +1 -1
- package/dist/{_polyfill-buffer-patch-CM8X7JiY.cjs → _polyfill-buffer-patch-BnPVerlG.cjs} +2 -21
- package/dist/account-guards.stable-B1DSSh9D.cjs +10 -0
- package/dist/account-guards.stable-JRQ5qx2V.js +5 -0
- package/dist/{activity-type-Ch6ljxBy.cjs → activity-type.stable-BJEfeLxL.cjs} +1 -2
- package/dist/{activity-type-GsJGWs-3.js → activity-type.stable-C76_hWd7.js} +1 -2
- package/dist/{address-book-address-validator-ByIZOdO-.js → address-book-address-validator-DIUolI-s.js} +2 -2
- package/dist/{address-book-address-validator-BjOWerRE.cjs → address-book-address-validator-DNwQGlOB.cjs} +2 -2
- package/dist/bitcoin.cjs +0 -45
- package/dist/bitcoin.d.ts +1 -29782
- package/dist/bitcoin.js +0 -20
- package/dist/{blockfrost-tx-submit-provider-CLNQ5ycR.cjs → blockfrost-tx-submit-provider-BAIzV5o3.cjs} +167 -3
- package/dist/{blockfrost-tx-submit-provider-CBWQ0wK9.js → blockfrost-tx-submit-provider-DPTrapz-.js} +157 -5
- package/dist/{secret-box-DrjLZuS1.cjs → bytes.vo-Ck5u40RA.cjs} +35 -1
- package/dist/{secret-box-DUR0ACYz.js → bytes.vo-TgiwogWF.js} +25 -3
- package/dist/{cardano-network-id.vo-wfLiAxpY.js → cardano-network-id.vo-CK1tNQDg.js} +1 -1
- package/dist/{cardano-network-id.vo-BEvFd_74.cjs → cardano-network-id.vo-DSxrFk9S.cjs} +1 -1
- package/dist/cardano.cjs +18 -22
- package/dist/cardano.d.ts +3982 -18409
- package/dist/cardano.js +11 -16
- package/dist/codecs-B7X9pAsK.cjs +1945 -0
- package/dist/codecs-CC1Xjntz.js +1882 -0
- package/dist/{const-oMF-TLow.cjs → const-BDEg2Trq.cjs} +4 -4
- package/dist/{const-iwzZEE_w.cjs → const-BY8B3_0_.cjs} +1 -1
- package/dist/{const-CBGn60yu.js → const-C84qHkjp.js} +4 -4
- package/dist/{const-CjmfjBP3.js → const-DXk2tFyv.js} +1 -1
- package/dist/{delegation-tx-builder-BR6bt1fE.js → delegation-tx-builder-CGVqlaFE.js} +5 -5
- package/dist/{delegation-tx-builder-DVwGfiV0.cjs → delegation-tx-builder-CRpLP6jH.cjs} +6 -6
- package/dist/{deregistration-tx-builder-BhJRGj1M.js → deregistration-tx-builder-B-CrUyX6.js} +5 -5
- package/dist/{deregistration-tx-builder-Cv_09HGf.cjs → deregistration-tx-builder-DZGwB4cz.cjs} +6 -6
- package/dist/{earn-rewards-tx-builder-RYzKsZ6-.js → earn-rewards-tx-builder-BDbTDZmD.js} +5 -5
- package/dist/{earn-rewards-tx-builder-52gJiJYa.cjs → earn-rewards-tx-builder-D5sUT5v8.cjs} +6 -6
- package/dist/{group-cardano-addresses-by-account-D06r7daZ.cjs → group-cardano-addresses-by-account-B533oVXR.cjs} +35 -19
- package/dist/{group-cardano-addresses-by-account-CxCqFDrX.js → group-cardano-addresses-by-account-RHKoEskR.js} +35 -19
- package/dist/{guarded-transaction-signer-BhnTBjf6.cjs → guarded-transaction-signer-Bxl6_XNd.cjs} +18 -17
- package/dist/{guarded-transaction-signer-BSEx83R-.js → guarded-transaction-signer-CpKLj8Kp.js} +15 -8
- package/dist/{in-memory-wallet-integration-CH4rcg92.cjs → in-memory-wallet-integration-CnLYeX4-.cjs} +108 -17
- package/dist/{in-memory-wallet-integration-BKu985Jz.js → in-memory-wallet-integration-Croiuopx.js} +104 -7
- package/dist/{in-memory-wallet-integration-B0blZBxM.js → in-memory-wallet-integration-D-qn65Kx.js} +2 -5
- package/dist/{in-memory-wallet-integration-CwPCDMIe.cjs → in-memory-wallet-integration-DVh9sRXa.cjs} +2 -3
- package/dist/index.cjs +47 -84
- package/dist/index.d.ts +13618 -40268
- package/dist/index.js +24 -52
- package/dist/{init-DUF4ar8P.cjs → init-B64zCLxG.cjs} +4 -4
- package/dist/{init-Y3mkB4XS.js → init-BAJJzBza.js} +2 -2
- package/dist/{init-BTzOjA8x.cjs → init-BJVU54pI.cjs} +1 -1
- package/dist/{init-D6BxBs7e.cjs → init-BKhH6mVR.cjs} +1 -1
- package/dist/{init-EP0CUWNK.cjs → init-BsCBAGWf.cjs} +2 -2
- package/dist/{init-Dy-05ktr.cjs → init-BtzMZ7Pk.cjs} +1 -1
- package/dist/init-Bv53hpLM.js +19 -0
- package/dist/{init-BopV9ed4.cjs → init-C-jErzp5.cjs} +2 -2
- package/dist/{init-CjT-WZcW.cjs → init-C4Bkib9u.cjs} +59 -49
- package/dist/{init-BEjCRHxU.cjs → init-C7IeJwQR.cjs} +61 -258
- package/dist/{init-C-G32J12.cjs → init-CB__aLD7.cjs} +2 -2
- package/dist/{init-CyAY4Lzl.js → init-CFYsq82V.js} +1 -1
- package/dist/{init-0zzs9aqU.js → init-CLHuAMB-.js} +4 -4
- package/dist/{init-DA7zmptx.js → init-CNLGJJRx.js} +1 -1
- package/dist/{init-B-YE57gg.js → init-CR6tpw1B.js} +33 -25
- package/dist/init-CRbjI7p1.js +3494 -0
- package/dist/{init-CSDpdu0Q.cjs → init-CSHwHnfg.cjs} +2 -2
- package/dist/{init-CNM5m7M2.js → init-Cg9XdAru.js} +4 -4
- package/dist/{init-B3-1ghyx.js → init-CigestoM.js} +2 -2
- package/dist/{init-Dv3zKj0r.cjs → init-D6DBUsD3.cjs} +4 -4
- package/dist/init-DAna1KCg.cjs +3495 -0
- package/dist/{init-D74mn8nH2.js → init-DDdhguVC.js} +2 -2
- package/dist/init-DGe47B22.cjs +364 -0
- package/dist/init-DMtyvYfC.cjs +21 -0
- package/dist/{init-BrdVzxei.cjs → init-DX4WyB0R.cjs} +3 -3
- package/dist/{init-C8URA2OX.js → init-DcYY6zMD.js} +1 -1
- package/dist/{init-DFMiP2ZH.cjs → init-DkIc5nqF.cjs} +1 -1
- package/dist/{init-vqxOQNZi.js → init-Dku4b2lG.js} +1 -1
- package/dist/{init-NdhG_VrF.cjs → init-DxUHsN53.cjs} +6 -6
- package/dist/{init-COMH3Hfo.js → init-FMGDET-9.js} +60 -259
- package/dist/{init-DrkOb-wd.cjs → init-LfyMo-sS.cjs} +2 -2
- package/dist/{init-NCjgwCZy.js → init-Rxohwpmu.js} +2 -2
- package/dist/init-TkPDD750.js +363 -0
- package/dist/{init-C2RgrfZe.js → init-TkPq_Ny_.js} +1 -1
- package/dist/{init-5KcGcBb5.cjs → init-U8c9yHYx.cjs} +1 -1
- package/dist/{init-CX0AMQUn.js → init-aJHl-7AO.js} +2 -2
- package/dist/{init-rmt7-fQE.cjs → init-anYu6XB7.cjs} +2 -2
- package/dist/{init-Fw89ZmrR.js → init-w9GEs73W.js} +2 -2
- package/dist/{init-Dnsv155v.js → init-y2Ra0vZP.js} +3 -3
- package/dist/{init-DFjT8YvT.js → init-zSzCjoor.js} +4 -4
- package/dist/{is-retriable-error-BUiVJDwH.js → is-retriable-error-BU0e3hVI.js} +1 -1
- package/dist/{is-retriable-error-Dpt860if.cjs → is-retriable-error-CeeuHqDa.cjs} +1 -1
- package/dist/{lace-context-BZciB9c7.js → lace-context-CZcNHr4M.js} +4 -4
- package/dist/{lace-context-DgR6vLli.cjs → lace-context-fJTDghdp.cjs} +4 -4
- package/dist/{libsodium-wrappers-BhbOA8dQ.js → libsodium-wrappers-UH0LaOUE.js} +1647 -3
- package/dist/modules-cardano-BDvuL4Xx.js +5248 -0
- package/dist/modules-cardano-D2G3De2P.cjs +5432 -0
- package/dist/{retry-config-Dmgt28wM.js → retry-config-BcUmMS--.js} +1 -1
- package/dist/{retry-config-BaCfVC1H.cjs → retry-config-DC5IMaH7.cjs} +1 -1
- package/dist/{seam-cardano-B_etH4F4.js → seam-cardano-CATqBEyK.js} +1 -1
- package/dist/{signer-factory-B7PMe3lQ.js → signer-factory-9URFliA5.js} +3 -6
- package/dist/{signer-factory-DduwpsQj.cjs → signer-factory-BWGUmnvm.cjs} +3 -4
- package/dist/{slice-CqVNnz-j.js → slice-B2PhoWAg.js} +125 -316
- package/dist/{slice-DyNs7oWp.js → slice-BNu73oBa.js} +2 -2
- package/dist/{slice-GwiiJRoq.js → slice-CB4SnzMm.js} +3 -3
- package/dist/slice-CGVHXHDt.cjs +125 -0
- package/dist/{slice-CU80pbiu.js → slice-CnyWevM9.js} +3 -3
- package/dist/{slice-CwyYrh1H.js → slice-CobanYgn.js} +2 -2
- package/dist/{slice-7G2xxYKJ.cjs → slice-CuHUaPZx.cjs} +3 -3
- package/dist/{slice-DayJvMRD.cjs → slice-D11m2EKl.cjs} +1 -1
- package/dist/{slice-Bg6HEr3K.cjs → slice-DGcNrbPR.cjs} +4 -4
- package/dist/{slice-B4CdYoPu.cjs → slice-DZmQJNV8.cjs} +2 -2
- package/dist/slice-DhvF7L6X.js +107 -0
- package/dist/{slice-C9TT5KhY.cjs → slice-Do2R2CYW.cjs} +6 -6
- package/dist/{slice-Bs2aMERu.cjs → slice-DtaO72qY.cjs} +3 -3
- package/dist/{slice-C34iOOUH.cjs → slice-HeHCv3bl.cjs} +7 -7
- package/dist/{slice-D-9aPKG-.js → slice-d0p6-xj5.js} +6 -6
- package/dist/{slice-CK07EBCo.js → slice-eIwcwKHI.js} +4 -4
- package/dist/{slice-DBpJ2QGf.js → slice-maaskdUn.js} +6 -6
- package/dist/{slice-6sP0Qs5V.cjs → slice-mxLQ_FeY.cjs} +127 -343
- package/dist/{slice-DnG-yvpI.cjs → slice-oqm_r1cS.cjs} +2 -2
- package/dist/{slice-Da426sf9.js → slice-zJ9XVYjZ.js} +1 -1
- package/dist/{sync-operation-utils-KT5Y9yFK.js → sync-operation-utils-BYXLO80m.js} +52 -1
- package/dist/{sync-operation-utils-C9kcmjKH.cjs → sync-operation-utils-SdPbwFoD.cjs} +87 -0
- package/dist/{token-id-mapper-qx7XfH0b.js → token-id-mapper-B2ivlLv3.js} +2 -2
- package/dist/{token-id-mapper-IApjwuJb.cjs → token-id-mapper-DsPAL6Nh.cjs} +2 -2
- package/dist/{util-D1e0skzp.js → util-BaLzwa32.js} +1 -1
- package/dist/{util-BeG7WXzM.cjs → util-CGzqQ8IV.cjs} +1 -1
- package/dist/{utils-DsElZgCI.cjs → utils-5JvjbqH3.cjs} +1 -7
- package/dist/{utils-BfBEUvWA.js → utils-o8aMjfln.js} +2 -2
- package/dist/{vote-delegation-tx-builder-CtdIgaIt.cjs → vote-delegation-tx-builder-BpEMSti4.cjs} +6 -6
- package/dist/{vote-delegation-tx-builder-CQjGvVNZ.js → vote-delegation-tx-builder-CmKv6GoG.js} +5 -5
- package/package.json +4 -96
- package/dist/_polyfill-buffer-patch-yNxN4d5E.js +0 -1467
- package/dist/_web-crypto-random-bytes-Bo-GTcRS.js +0 -197
- package/dist/acc-module-4iIUv6My.cjs +0 -27654
- package/dist/acc-module-Cmj8EsIb.js +0 -27624
- package/dist/account-BlYkEmcs.cjs +0 -11
- package/dist/account-DVX0F5_M.js +0 -6
- package/dist/account-call-D68oF6bh.js +0 -267
- package/dist/account-call-DIIa2rK_.cjs +0 -314
- package/dist/account-call-NgLhYein.cjs +0 -4
- package/dist/account-call-n-Nkp35e.js +0 -3
- package/dist/account-guards-BtjTGxDZ.cjs +0 -42
- package/dist/account-guards-D9Lu5T3W.js +0 -36
- package/dist/account-tokens-CtN2BaFy.js +0 -16
- package/dist/account-tokens-DXr8DlpW.cjs +0 -21
- package/dist/address-B9ntKL8K.js +0 -13761
- package/dist/address-BXp-mY8H.cjs +0 -11270
- package/dist/address-book-address-validator-DK0dnsRS.cjs +0 -41
- package/dist/address-book-address-validator-Di_ywo8M.js +0 -39
- package/dist/artefact-loader-54uK5RAa.js +0 -160
- package/dist/artefact-loader-DZPYrq-6.cjs +0 -183
- package/dist/auto-dismiss-failure-on-success-C-qoJuid.cjs +0 -37
- package/dist/auto-dismiss-failure-on-success-s8MGDEIu.js +0 -31
- package/dist/bip32-D6wd_QMn.cjs +0 -3851
- package/dist/bitcoin-data-provider-BYPSmuZS.js +0 -21
- package/dist/bitcoin-data-provider-w1oEDSU3.cjs +0 -26
- package/dist/bn-d3nSOIf7.cjs +0 -2553
- package/dist/browser-B1eMbDwh.js +0 -7468
- package/dist/bytes.vo-BB7_4JK6.js +0 -23
- package/dist/bytes.vo-BNRquqaO.cjs +0 -34
- package/dist/cardano-DfPwhwm-.js +0 -3
- package/dist/client-DXBLHk7K.cjs +0 -808
- package/dist/codecs-Cswkg7Tm.cjs +0 -4051
- package/dist/codecs-Dc1Krpbt.js +0 -3903
- package/dist/const-BfEnY8fg.js +0 -153
- package/dist/const-BhYOdznB.cjs +0 -42
- package/dist/const-CUnCl5U0.js +0 -13
- package/dist/const-DLrX5SD9.cjs +0 -31995
- package/dist/contract-C_CBwwiC.cjs +0 -189
- package/dist/contract-s_x-9-lz.js +0 -171
- package/dist/create-add-accounts-Brqk84vF.js +0 -102
- package/dist/create-add-accounts-DzXIh7Ot.cjs +0 -114
- package/dist/device-commitment-hex.vo-5wFtQvDS.js +0 -26
- package/dist/device-commitment-hex.vo-CT3RmAug.cjs +0 -31
- package/dist/device-readers-70i7tQqU.cjs +0 -8
- package/dist/device-readers-B7--ezKM.js +0 -4
- package/dist/device-readers-BWOmz9eD.js +0 -145
- package/dist/device-readers-CIgYZN7f.cjs +0 -168
- package/dist/dist-BMi5ZjEq.cjs +0 -43175
- package/dist/dist-BtIq4XFn.cjs +0 -535
- package/dist/dist-C3SHC_Ho.cjs +0 -1394
- package/dist/dist-CykEjYEX.cjs +0 -3814
- package/dist/dist-Dcsxh3be.cjs +0 -3452
- package/dist/dist-DqJfSlTd.cjs +0 -4413
- package/dist/dist-nTZ70qj7.cjs +0 -1306
- package/dist/enc-key-circuits-C8fGAMEF.cjs +0 -24
- package/dist/enc-key-circuits-DA2Xs3vZ.js +0 -13
- package/dist/english-Byb9M0E_.cjs +0 -2057
- package/dist/envelopes-BkH1Qdxk.js +0 -1620
- package/dist/envelopes-ETZEJS_O.cjs +0 -1721
- package/dist/errors-BZ8hnhCM.cjs +0 -584
- package/dist/errors-DIJTAsLa.js +0 -392
- package/dist/esm-HBSUQw3w.js +0 -384
- package/dist/esm-LZuaZjMf.cjs +0 -389
- package/dist/experimental.cjs +0 -7073
- package/dist/experimental.d.ts +0 -84347
- package/dist/experimental.js +0 -6915
- package/dist/gated-call-Boy6rXdC.js +0 -3
- package/dist/gated-call-DJWY299W.cjs +0 -736
- package/dist/gated-call-DjoRPqn1.js +0 -695
- package/dist/gated-call-SomdJ5nj.cjs +0 -4
- package/dist/grant-circuits-_1x--moV.cjs +0 -49
- package/dist/grant-circuits-swuzEdUl.js +0 -26
- package/dist/grant-rules-7Zqi_3BN.cjs +0 -7114
- package/dist/grant-rules-_xJHAT2M.js +0 -6833
- package/dist/grant-status-B2y49iIu.js +0 -2688
- package/dist/grant-status-DOr3t_u8.cjs +0 -2820
- package/dist/grants--b0LQQzZ.cjs +0 -266
- package/dist/grants-BIs6qm3b.js +0 -213
- package/dist/grants-CSgfYlOO.js +0 -5
- package/dist/grants-D61131nK.cjs +0 -17
- package/dist/hex-D9ITYbwt.cjs +0 -263
- package/dist/hex-mkXcV3pN.js +0 -191
- package/dist/http-client-B3N-TMxu.cjs +0 -167
- package/dist/http-client-TRlhDZGh.js +0 -155
- package/dist/identity-BMLuufva.cjs +0 -263
- package/dist/identity-DII6f-h7.js +0 -233
- package/dist/in-memory-wallet-integration-B2xzxORj.cjs +0 -20741
- package/dist/in-memory-wallet-integration-CUKesGG1.js +0 -130
- package/dist/in-memory-wallet-integration-CoPx69lQ.cjs +0 -240
- package/dist/in-memory-wallet-integration-TM9bBphA.js +0 -20738
- package/dist/init-B5X_sGj9.cjs +0 -6
- package/dist/init-BJn-8_hf.js +0 -141
- package/dist/init-Bp6yJk31.js +0 -1142
- package/dist/init-Bu4iXcTH.cjs +0 -34
- package/dist/init-C00gw1zi.js +0 -422
- package/dist/init-CIjZaQvL.js +0 -3584
- package/dist/init-CR7BfztQ.cjs +0 -18
- package/dist/init-Cp8EJGbm.js +0 -5
- package/dist/init-CpIadSUb.js +0 -33
- package/dist/init-D5UiYI12.cjs +0 -106
- package/dist/init-DAikR9qU.js +0 -1177
- package/dist/init-DGjXwWs2.cjs +0 -143
- package/dist/init-DHrCbpkW.cjs +0 -121
- package/dist/init-DU5yYX5u.js +0 -2374
- package/dist/init-DWvkFDkc.cjs +0 -1176
- package/dist/init-DY1unoGb.cjs +0 -1141
- package/dist/init-DlqJuHhl.js +0 -119
- package/dist/init-DuYENxci.js +0 -17
- package/dist/init-E7c40ddW.cjs +0 -3585
- package/dist/init-GsT2AEa4.cjs +0 -424
- package/dist/init-KQnIdm39.js +0 -104
- package/dist/init-ZjNDDC-T.cjs +0 -2375
- package/dist/jubjub-authoriser-BxE3oN2y.js +0 -86
- package/dist/jubjub-authoriser-C6SDEP9I.cjs +0 -87
- package/dist/key-source-5oUBFiC7.cjs +0 -583
- package/dist/key-source-B08HukZg.js +0 -2550
- package/dist/keyDerivation-D3k9XyHg.js +0 -4077
- package/dist/keyDerivation-u0nBA93T.cjs +0 -274
- package/dist/lib--iqvW4O_.js +0 -2354
- package/dist/lib-Yk6Upl5D.cjs +0 -2359
- package/dist/midnight-account-id.vo-0x9X-r3l.cjs +0 -10
- package/dist/midnight-account-id.vo-DjCAGcqc.js +0 -5
- package/dist/midnight-engine-DpemplKO.js +0 -5
- package/dist/midnight-engine-xU1wotne.cjs +0 -6
- package/dist/midnight-wallet-DIsAlSn6.js +0 -18
- package/dist/midnight-wallet-XTZc2li7.cjs +0 -24
- package/dist/midnight.cjs +0 -1406
- package/dist/midnight.d.ts +0 -28586
- package/dist/midnight.js +0 -1350
- package/dist/modules-cardano-CtWLntet.cjs +0 -1108
- package/dist/modules-cardano-D2dkeKHY.js +0 -995
- package/dist/node-relay-Cv0cNknM.js +0 -48
- package/dist/node-relay-DblH5fKv.cjs +0 -49
- package/dist/outputs-Bd2yZVjx.js +0 -720
- package/dist/outputs-CJoQBIA2.cjs +0 -990
- package/dist/pbkdf2-CIW-oWrm.cjs +0 -1337
- package/dist/pending-operation-B0_P78Jo.cjs +0 -26
- package/dist/pending-operation-BIS6mpjB.js +0 -21
- package/dist/providers-BLgJ0uQs.cjs +0 -366
- package/dist/providers-CwnT4vEE.js +0 -343
- package/dist/redacted-BmE2aXqr.js +0 -81
- package/dist/redacted-CRZJLS3w.cjs +0 -86
- package/dist/safe-buffer-B_vMqJWU.js +0 -43
- package/dist/safe-buffer-DYOwEfHB.cjs +0 -48
- package/dist/sdk-DIcjlgLF.js +0 -1241
- package/dist/sdk-Dgal10kG.cjs +0 -1439
- package/dist/sdk-init-BKkqFtWZ.cjs +0 -3791
- package/dist/sdk-init-DNd-oQXp.js +0 -1044
- package/dist/send-proof-progress-DTK3ZuYB.js +0 -22
- package/dist/send-proof-progress-dDoqIohG.cjs +0 -33
- package/dist/side-effects-BnqYz7Nl.js +0 -768
- package/dist/side-effects-CngaeXi0.cjs +0 -804
- package/dist/sign-bitcoin-transaction-with-seed-D4z62-jV.js +0 -147
- package/dist/sign-bitcoin-transaction-with-seed-DsLYXnCY.cjs +0 -158
- package/dist/signer-3fk8lZtE.cjs +0 -7
- package/dist/signer-CsL28DrK.cjs +0 -121
- package/dist/signer-DGluibtn.js +0 -92
- package/dist/signer-RqB5pu3K.js +0 -2
- package/dist/signer-factory-BA7WFJVZ.js +0 -282
- package/dist/signer-factory-CORIG4Yl.cjs +0 -130
- package/dist/signer-factory-Cd2TwD50.js +0 -129
- package/dist/signer-factory-Cwd6o-lG.cjs +0 -281
- package/dist/slice-BOyAAaj0.cjs +0 -378
- package/dist/slice-BnTJeMOb.js +0 -354
- package/dist/slice-C4uXUT7S.js +0 -9013
- package/dist/slice-CxKWDuBP.js +0 -87
- package/dist/slice-DQv_RhsI.cjs +0 -9031
- package/dist/slice-HjLXJyQG2.cjs +0 -105
- package/dist/src-BDzYIksE.cjs +0 -20637
- package/dist/src-BFoefPv_.js +0 -20755
- package/dist/store-B1Lq3cEf.cjs +0 -66
- package/dist/store-DuBG8qh5.js +0 -37
- package/dist/submit-BBYjnZu8.cjs +0 -87
- package/dist/submit-D_yxYM_T.js +0 -70
- package/dist/submit-bitcoin-tx-BkZIeF4b.js +0 -983
- package/dist/submit-bitcoin-tx-DZNQgihl.cjs +0 -1049
- package/dist/token-id-mapper-Bnds3xKH.cjs +0 -18
- package/dist/token-id-mapper-CnKHQ8DV.js +0 -16
- package/dist/tokens-Cevp7rdU.cjs +0 -62
- package/dist/tokens-Diw4MLRM.js +0 -44
- package/dist/types-B8uiJn-X.js +0 -12
- package/dist/types-CJT6XF2c.js +0 -10
- package/dist/types-CLRUYpfe.cjs +0 -23
- package/dist/types-DWbVZpnF.cjs +0 -15
- package/dist/types-T0cjaR75.js +0 -33
- package/dist/types-Zj78LtYu.cjs +0 -50
- package/dist/unwrap-provider-result-BZSiwabU.js +0 -32
- package/dist/unwrap-provider-result-ZqfBsTkk.cjs +0 -39
- package/dist/utils-BfMdr_1w.cjs +0 -112
- package/dist/utils-CvAW5Yw7.js +0 -65
- package/dist/v8Signatures-CO_Uloy7.cjs +0 -71
- package/dist/watch-Cz1J42um.cjs +0 -52205
- package/dist/watch-Z53L4yoK.js +0 -13054
- /package/dist/{account-id.vo-DwqFjK5u.cjs → account-id.vo-LvCBVn5r.cjs} +0 -0
- /package/dist/{account-id.vo-OPz2v-JZ.js → account-id.vo-MYSI7YFm.js} +0 -0
- /package/dist/{actions-iLXdgL5Y.js → actions-9QSQR-GB.js} +0 -0
- /package/dist/{actions-B2BJ4RTy.cjs → actions-DdGbj7c7.cjs} +0 -0
- /package/dist/{apply-vkey-witnesses-ZnFS0jnJ.cjs → apply-vkey-witnesses-CLzVSWxl.cjs} +0 -0
- /package/dist/{apply-vkey-witnesses-BKx3lcs0.js → apply-vkey-witnesses-ClZbpk5w.js} +0 -0
- /package/dist/{asyncoption-CruEYOBI.js → asyncoption-Cw07zPH7.js} +0 -0
- /package/dist/{asyncoption-i0VbqVTq.cjs → asyncoption-DYoGuQfP.cjs} +0 -0
- /package/dist/{bignum.vo-CEXOIew0.js → bignum.vo-B0rK_PQ1.js} +0 -0
- /package/dist/{bignum.vo-hx2kuqlA.cjs → bignum.vo-DsG3kNiZ.cjs} +0 -0
- /package/dist/{bip32ed25519-B7Yat217.cjs → bip32ed25519-1ApqeAZk.cjs} +0 -0
- /package/dist/{bip32ed25519-FQ8qvdcq.js → bip32ed25519-DetAdGwD.js} +0 -0
- /package/dist/{blake2b-DEeVUdKR.cjs → blake2b-B9tftbvG.cjs} +0 -0
- /package/dist/{blake2b-BiQTw3GC.js → blake2b-DOEVc57D.js} +0 -0
- /package/dist/{blockchain-network-id.vo-BAKEwGjG.cjs → blockchain-network-id.vo-BXpZhvvQ.cjs} +0 -0
- /package/dist/{blockchain-network-id.vo-CiVykuqG.js → blockchain-network-id.vo-DNRkuT5B.js} +0 -0
- /package/dist/{blockingWithLatestFrom-Cd8c8EPG.js → blockingWithLatestFrom-C5wp_uA-.js} +0 -0
- /package/dist/{blockingWithLatestFrom-D8kBPBMX.cjs → blockingWithLatestFrom-DY8OPg0w.cjs} +0 -0
- /package/dist/{cardano-network-id-to-network-type-C0ufJOyE.cjs → cardano-network-id-to-network-type-BDTF-HmK.cjs} +0 -0
- /package/dist/{cardano-network-id-to-network-type-BWwzeEtM.js → cardano-network-id-to-network-type-CrZfUcyP.js} +0 -0
- /package/dist/{cardano-tx-id.vo-D3ASTIMd.cjs → cardano-tx-id.vo-BPhV-AmZ.cjs} +0 -0
- /package/dist/{cardano-tx-id.vo-BXLo1b7Q.js → cardano-tx-id.vo-DF9NzZXk.js} +0 -0
- /package/dist/{composite-signer-factory-m5cVs9h_.cjs → composite-signer-factory-BpF1mIYA.cjs} +0 -0
- /package/dist/{composite-signer-factory-CR8YHA1y.js → composite-signer-factory-_46QsNBz.js} +0 -0
- /package/dist/{error-DIZOY2Lw.js → error-BCp9NkPi.js} +0 -0
- /package/dist/{error-Cb3EnD0u.cjs → error-CNIquqT5.cjs} +0 -0
- /package/dist/{esm-browser-MG97cre9.js → esm-browser-C93Q-EOI.js} +0 -0
- /package/dist/{esm-browser-bweqfBlL.cjs → esm-browser-DTc9IK3D.cjs} +0 -0
- /package/dist/{feature-flag-key.vo-RlfHL3hq.cjs → feature-flag-key.vo-BPz-ZAp6.cjs} +0 -0
- /package/dist/{feature-flag-key.vo-DN_-4-sG.js → feature-flag-key.vo-ofrB6ZVQ.js} +0 -0
- /package/dist/{first-state-of-status-unPynOuM.js → first-state-of-status-DQnMT3ya.js} +0 -0
- /package/dist/{first-state-of-status-CbT7hPa4.cjs → first-state-of-status-OROkXcRv.cjs} +0 -0
- /package/dist/{init-zUoRG_EC2.cjs → init-C5CEZ1m0.cjs} +0 -0
- /package/dist/{init-DHaMxHM1.js → init-CKipPE_c.js} +0 -0
- /package/dist/{init-Atisw4x2.cjs → init-DFQQ9dTW.cjs} +0 -0
- /package/dist/{init-829HRYcz.js → init-Es3wHW7D.js} +0 -0
- /package/dist/{init-BgNobbNq.cjs → init-IAk_CkGa.cjs} +0 -0
- /package/dist/{init-atCFur0v.js → init-cqN3uX2j.js} +0 -0
- /package/dist/{is-redux-persist-state-BCFnSm36.cjs → is-redux-persist-state-CTn3WZVh.cjs} +0 -0
- /package/dist/{is-redux-persist-state-yBfq0h_E.js → is-redux-persist-state-Cxcd0_bM.js} +0 -0
- /package/dist/{key-value-store--W3SrMaw.js → key-value-store-8cMzeNyG.js} +0 -0
- /package/dist/{key-value-store-C2Xt5Emp.cjs → key-value-store-DUAepXQf.cjs} +0 -0
- /package/dist/{repo-slice-RxFm0zDZ.js → repo-slice-DwyMhCR1.js} +0 -0
- /package/dist/{repo-slice-7X4AYYVm.cjs → repo-slice-WxetRhMY.cjs} +0 -0
- /package/dist/{reselect-CGoLzEPv.js → reselect-C06X06oX.js} +0 -0
- /package/dist/{reselect-Bd94u0K-.cjs → reselect-CRDqmQY9.cjs} +0 -0
- /package/dist/{serializable-BHdKIgk3.js → serializable-B8GahgE1.js} +0 -0
- /package/dist/{serializable-BxHkoPdk.cjs → serializable-CRdnFaLZ.cjs} +0 -0
- /package/dist/{slice-obCSLm1x.js → slice-B87b52iM.js} +0 -0
- /package/dist/{slice-Bk0Sv05J.js → slice-Be7hj4Iy.js} +0 -0
- /package/dist/{slice-BiRsDKOK.cjs → slice-D11FHQuQ.cjs} +0 -0
- /package/dist/{slice-Dqw1ecum.cjs → slice-FioKeHtA.cjs} +0 -0
- /package/dist/{src-Cqp0B2M_.cjs → src-BTPIvlDI.cjs} +0 -0
- /package/dist/{src-BlxEp6Mm.js → src-vq1wS9sZ.js} +0 -0
- /package/dist/{time.vo-D3wWRw9L.cjs → time.vo-CQ8pSXz2.cjs} +0 -0
- /package/dist/{time.vo-tNheinXm.js → time.vo-DkYYGYp6.js} +0 -0
- /package/dist/{toEmpty-8Zax1MPd.js → toEmpty-CgAl3097.js} +0 -0
- /package/dist/{toEmpty-CYAbupM4.cjs → toEmpty-DAMmNB5r.cjs} +0 -0
- /package/dist/{token-id.vo-DXv5uS9n.cjs → token-id.vo-BxG9TG0O.cjs} +0 -0
- /package/dist/{token-id.vo-Bvwhr3ZE.js → token-id.vo-ClsroxHO.js} +0 -0
- /package/dist/{util-CzeB3hfa.cjs → util-CmdAhheh.cjs} +0 -0
- /package/dist/{util-C8a4fA9p.js → util-DxzlYNS5.js} +0 -0
- /package/dist/{util-selector-BWPH68_l.cjs → util-selector-BcAncU4L.cjs} +0 -0
- /package/dist/{util-selector-BSTsxgne.js → util-selector-CcK-GAdE.js} +0 -0
- /package/dist/{while-active-B0lWy_6l.js → while-active-BpppWuCs.js} +0 -0
- /package/dist/{while-active-Dsowp0Fi.cjs → while-active-Dhc2LwOm.cjs} +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { n as HexBytes, t as ByteArray } from "./bytes.vo-BB7_4JK6.js";
|
|
2
|
-
import { H as isSealableX25519Key } from "./grant-rules-_xJHAT2M.js";
|
|
3
|
-
import { f as DeviceReaderInvalidError } from "./errors-DIJTAsLa.js";
|
|
4
|
-
import { t as decodeDevicePublicKey } from "./envelopes-BkH1Qdxk.js";
|
|
5
|
-
import { a as pureCircuits } from "./acc-module-Cmj8EsIb.js";
|
|
6
|
-
//#region ../../packages/module/passport-account/src/acc/device-readers.ts
|
|
7
|
-
/**
|
|
8
|
-
* How many use counters of each registered device are tried for its live
|
|
9
|
-
* entry, as far as the use-counter rescan probes a device's own counter.
|
|
10
|
-
*/
|
|
11
|
-
const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
|
|
12
|
-
/**
|
|
13
|
-
* The rolling entries a compressed device key derives in a scope, with
|
|
14
|
-
* the key decoded once for every counter tried, or undefined for a key
|
|
15
|
-
* that is no Jubjub point.
|
|
16
|
-
*/
|
|
17
|
-
const entriesOf = ({ address, epoch }, devicePublicKey) => {
|
|
18
|
-
const point = decodeDevicePublicKey(devicePublicKey);
|
|
19
|
-
if (!point) return void 0;
|
|
20
|
-
const account = { bytes: ByteArray.fromHex(HexBytes(address)) };
|
|
21
|
-
return (counter) => HexBytes.fromByteArray(pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* The rolling entry a compressed device key derives at one use counter,
|
|
25
|
-
* as lowercase hex, or undefined for a key that is no Jubjub point.
|
|
26
|
-
*/
|
|
27
|
-
const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
|
|
28
|
-
/**
|
|
29
|
-
* Whether a compressed device key derives `entryHex` at any use counter
|
|
30
|
-
* up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
|
|
31
|
-
* device holding that entry.
|
|
32
|
-
*/
|
|
33
|
-
const derivesEntry = (scope, devicePublicKey, entryHex) => {
|
|
34
|
-
const entryAt = entriesOf(scope, devicePublicKey);
|
|
35
|
-
if (!entryAt) return false;
|
|
36
|
-
for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
|
|
37
|
-
return false;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Holds a joining device's keys to the entry it is enrolled under: its
|
|
41
|
-
* reader key must be one the account seals to, and its device key a
|
|
42
|
-
* Jubjub point whose entry at use counter 0, the counter a fresh device
|
|
43
|
-
* starts from, is the commitment being added, so the account keys are
|
|
44
|
-
* never sealed to a reader paired with another device's key.
|
|
45
|
-
*
|
|
46
|
-
* @throws {@link DeviceReaderInvalidError} when the reader key is not
|
|
47
|
-
* sealable, the device key is no point, or its first entry is not the
|
|
48
|
-
* commitment.
|
|
49
|
-
*/
|
|
50
|
-
const assertJoiningDevice = (scope, reader, commitmentHex) => {
|
|
51
|
-
if (!isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new DeviceReaderInvalidError();
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* The live entry of each device key that derives one, by key. Every key
|
|
55
|
-
* is decoded once and the keys are tried in lockstep, one use counter at
|
|
56
|
-
* a time from 0, so each resolves at its lowest live counter. The scan
|
|
57
|
-
* ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
|
|
58
|
-
* is matched: an entry derives from one device key only, so no key still
|
|
59
|
-
* unresolved can derive a sought entry after that.
|
|
60
|
-
*/
|
|
61
|
-
const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
|
|
62
|
-
const found = /* @__PURE__ */ new Map();
|
|
63
|
-
const unmatched = new Set(sought);
|
|
64
|
-
let unresolved = [...devicePublicKeys].flatMap((key) => {
|
|
65
|
-
const entryAt = entriesOf(scope, key);
|
|
66
|
-
return entryAt ? [{
|
|
67
|
-
key,
|
|
68
|
-
entryAt
|
|
69
|
-
}] : [];
|
|
70
|
-
});
|
|
71
|
-
for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
|
|
72
|
-
const entryHex = entryAt(counter);
|
|
73
|
-
if (!isLive(entryHex)) return true;
|
|
74
|
-
found.set(key, {
|
|
75
|
-
counter,
|
|
76
|
-
entryHex
|
|
77
|
-
});
|
|
78
|
-
unmatched.delete(entryHex);
|
|
79
|
-
return false;
|
|
80
|
-
});
|
|
81
|
-
return found;
|
|
82
|
-
};
|
|
83
|
-
/** Adds `value` to the set `map` holds under `key`. */
|
|
84
|
-
const addTo = (map, key, value) => {
|
|
85
|
-
map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* The registered devices that are enrolled now, each with its live entry:
|
|
89
|
-
* every device key is tried at use counters from 0 until it derives an
|
|
90
|
-
* entry the ledger's device set holds, at most
|
|
91
|
-
* {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
|
|
92
|
-
* allowed entry and the target are matched, so registrations it has not
|
|
93
|
-
* resolved by then can derive none of them. A registration whose key
|
|
94
|
-
* derives no live entry is left out, as one a device wrote before it was
|
|
95
|
-
* enrolled, one of a removed device, or one planted with a key of
|
|
96
|
-
* nobody's. One device's registration written twice counts once.
|
|
97
|
-
* Registrations whose live entry is not allowed are set apart first, so a
|
|
98
|
-
* removed device's own registrations never weigh on the rest. Among the
|
|
99
|
-
* others, which one is genuine cannot be told apart when they conflict,
|
|
100
|
-
* so none of a conflict is sealed to: a reader key registered for two
|
|
101
|
-
* live devices is left out, and a live device claimed by two reader keys
|
|
102
|
-
* keeps none of them. Every allowed entry left without a reader, that
|
|
103
|
-
* way or for want of any registration, is reported dropped, so the user
|
|
104
|
-
* sees every device that gets no new key and has to be enrolled again.
|
|
105
|
-
*/
|
|
106
|
-
const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
|
|
107
|
-
const resolved = /* @__PURE__ */ new Map();
|
|
108
|
-
const outside = [];
|
|
109
|
-
const entriesOfReader = /* @__PURE__ */ new Map();
|
|
110
|
-
const readersOfEntry = /* @__PURE__ */ new Map();
|
|
111
|
-
const live = liveEntries({
|
|
112
|
-
scope,
|
|
113
|
-
devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
|
|
114
|
-
isLive,
|
|
115
|
-
sought: target === void 0 ? allowed : new Set([...allowed, target])
|
|
116
|
-
});
|
|
117
|
-
for (const device of registered) {
|
|
118
|
-
const entry = live.get(device.devicePublicKey);
|
|
119
|
-
if (!entry) continue;
|
|
120
|
-
const candidate = {
|
|
121
|
-
reader: {
|
|
122
|
-
...device,
|
|
123
|
-
epoch: scope.epoch,
|
|
124
|
-
counter: entry.counter
|
|
125
|
-
},
|
|
126
|
-
entryHex: entry.entryHex
|
|
127
|
-
};
|
|
128
|
-
if (!allowed.has(entry.entryHex)) {
|
|
129
|
-
outside.push(candidate);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
|
|
133
|
-
addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
|
|
134
|
-
addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
|
|
135
|
-
}
|
|
136
|
-
const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
|
|
137
|
-
const kept = new Set(readers.map(({ entryHex }) => entryHex));
|
|
138
|
-
return {
|
|
139
|
-
readers,
|
|
140
|
-
dropped: [...allowed].filter((entry) => !kept.has(entry)),
|
|
141
|
-
outside
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
//#endregion
|
|
145
|
-
export { resolveLiveReaders as i, derivesEntry as n, deviceEntryOf as r, assertJoiningDevice as t };
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
const require_bytes_vo = require("./bytes.vo-BNRquqaO.cjs");
|
|
2
|
-
const require_grant_rules = require("./grant-rules-7Zqi_3BN.cjs");
|
|
3
|
-
const require_errors = require("./errors-BZ8hnhCM.cjs");
|
|
4
|
-
const require_envelopes = require("./envelopes-ETZEJS_O.cjs");
|
|
5
|
-
const require_acc_module = require("./acc-module-4iIUv6My.cjs");
|
|
6
|
-
//#region ../../packages/module/passport-account/src/acc/device-readers.ts
|
|
7
|
-
/**
|
|
8
|
-
* How many use counters of each registered device are tried for its live
|
|
9
|
-
* entry, as far as the use-counter rescan probes a device's own counter.
|
|
10
|
-
*/
|
|
11
|
-
const DEVICE_ENTRY_SCAN_LIMIT = 4096n;
|
|
12
|
-
/**
|
|
13
|
-
* The rolling entries a compressed device key derives in a scope, with
|
|
14
|
-
* the key decoded once for every counter tried, or undefined for a key
|
|
15
|
-
* that is no Jubjub point.
|
|
16
|
-
*/
|
|
17
|
-
const entriesOf = ({ address, epoch }, devicePublicKey) => {
|
|
18
|
-
const point = require_envelopes.decodeDevicePublicKey(devicePublicKey);
|
|
19
|
-
if (!point) return void 0;
|
|
20
|
-
const account = { bytes: require_bytes_vo.ByteArray.fromHex(require_bytes_vo.HexBytes(address)) };
|
|
21
|
-
return (counter) => require_bytes_vo.HexBytes.fromByteArray(require_acc_module.pureCircuits.derive_device_entry_with_jubjub(account, point, epoch, counter));
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* The rolling entry a compressed device key derives at one use counter,
|
|
25
|
-
* as lowercase hex, or undefined for a key that is no Jubjub point.
|
|
26
|
-
*/
|
|
27
|
-
const deviceEntryOf = (scope, devicePublicKey, counter) => entriesOf(scope, devicePublicKey)?.(counter);
|
|
28
|
-
/**
|
|
29
|
-
* Whether a compressed device key derives `entryHex` at any use counter
|
|
30
|
-
* up to {@link DEVICE_ENTRY_SCAN_LIMIT}: whether it is the key of the
|
|
31
|
-
* device holding that entry.
|
|
32
|
-
*/
|
|
33
|
-
const derivesEntry = (scope, devicePublicKey, entryHex) => {
|
|
34
|
-
const entryAt = entriesOf(scope, devicePublicKey);
|
|
35
|
-
if (!entryAt) return false;
|
|
36
|
-
for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT; counter++) if (entryAt(counter) === entryHex) return true;
|
|
37
|
-
return false;
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Holds a joining device's keys to the entry it is enrolled under: its
|
|
41
|
-
* reader key must be one the account seals to, and its device key a
|
|
42
|
-
* Jubjub point whose entry at use counter 0, the counter a fresh device
|
|
43
|
-
* starts from, is the commitment being added, so the account keys are
|
|
44
|
-
* never sealed to a reader paired with another device's key.
|
|
45
|
-
*
|
|
46
|
-
* @throws {@link DeviceReaderInvalidError} when the reader key is not
|
|
47
|
-
* sealable, the device key is no point, or its first entry is not the
|
|
48
|
-
* commitment.
|
|
49
|
-
*/
|
|
50
|
-
const assertJoiningDevice = (scope, reader, commitmentHex) => {
|
|
51
|
-
if (!require_grant_rules.isSealableX25519Key(reader.readerPublicKey) || deviceEntryOf(scope, reader.devicePublicKey, 0n) !== commitmentHex.toLowerCase()) throw new require_errors.DeviceReaderInvalidError();
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* The live entry of each device key that derives one, by key. Every key
|
|
55
|
-
* is decoded once and the keys are tried in lockstep, one use counter at
|
|
56
|
-
* a time from 0, so each resolves at its lowest live counter. The scan
|
|
57
|
-
* ends at {@link DEVICE_ENTRY_SCAN_LIMIT} or once every `sought` entry
|
|
58
|
-
* is matched: an entry derives from one device key only, so no key still
|
|
59
|
-
* unresolved can derive a sought entry after that.
|
|
60
|
-
*/
|
|
61
|
-
const liveEntries = ({ scope, devicePublicKeys, isLive, sought }) => {
|
|
62
|
-
const found = /* @__PURE__ */ new Map();
|
|
63
|
-
const unmatched = new Set(sought);
|
|
64
|
-
let unresolved = [...devicePublicKeys].flatMap((key) => {
|
|
65
|
-
const entryAt = entriesOf(scope, key);
|
|
66
|
-
return entryAt ? [{
|
|
67
|
-
key,
|
|
68
|
-
entryAt
|
|
69
|
-
}] : [];
|
|
70
|
-
});
|
|
71
|
-
for (let counter = 0n; counter < DEVICE_ENTRY_SCAN_LIMIT && unresolved.length > 0 && unmatched.size > 0; counter++) unresolved = unresolved.filter(({ key, entryAt }) => {
|
|
72
|
-
const entryHex = entryAt(counter);
|
|
73
|
-
if (!isLive(entryHex)) return true;
|
|
74
|
-
found.set(key, {
|
|
75
|
-
counter,
|
|
76
|
-
entryHex
|
|
77
|
-
});
|
|
78
|
-
unmatched.delete(entryHex);
|
|
79
|
-
return false;
|
|
80
|
-
});
|
|
81
|
-
return found;
|
|
82
|
-
};
|
|
83
|
-
/** Adds `value` to the set `map` holds under `key`. */
|
|
84
|
-
const addTo = (map, key, value) => {
|
|
85
|
-
map.set(key, (map.get(key) ?? /* @__PURE__ */ new Set()).add(value));
|
|
86
|
-
};
|
|
87
|
-
/**
|
|
88
|
-
* The registered devices that are enrolled now, each with its live entry:
|
|
89
|
-
* every device key is tried at use counters from 0 until it derives an
|
|
90
|
-
* entry the ledger's device set holds, at most
|
|
91
|
-
* {@link DEVICE_ENTRY_SCAN_LIMIT} of them, and the scan stops once every
|
|
92
|
-
* allowed entry and the target are matched, so registrations it has not
|
|
93
|
-
* resolved by then can derive none of them. A registration whose key
|
|
94
|
-
* derives no live entry is left out, as one a device wrote before it was
|
|
95
|
-
* enrolled, one of a removed device, or one planted with a key of
|
|
96
|
-
* nobody's. One device's registration written twice counts once.
|
|
97
|
-
* Registrations whose live entry is not allowed are set apart first, so a
|
|
98
|
-
* removed device's own registrations never weigh on the rest. Among the
|
|
99
|
-
* others, which one is genuine cannot be told apart when they conflict,
|
|
100
|
-
* so none of a conflict is sealed to: a reader key registered for two
|
|
101
|
-
* live devices is left out, and a live device claimed by two reader keys
|
|
102
|
-
* keeps none of them. Every allowed entry left without a reader, that
|
|
103
|
-
* way or for want of any registration, is reported dropped, so the user
|
|
104
|
-
* sees every device that gets no new key and has to be enrolled again.
|
|
105
|
-
*/
|
|
106
|
-
const resolveLiveReaders = ({ scope, registered, isLive, allowed, target }) => {
|
|
107
|
-
const resolved = /* @__PURE__ */ new Map();
|
|
108
|
-
const outside = [];
|
|
109
|
-
const entriesOfReader = /* @__PURE__ */ new Map();
|
|
110
|
-
const readersOfEntry = /* @__PURE__ */ new Map();
|
|
111
|
-
const live = liveEntries({
|
|
112
|
-
scope,
|
|
113
|
-
devicePublicKeys: new Set(registered.map(({ devicePublicKey }) => devicePublicKey)),
|
|
114
|
-
isLive,
|
|
115
|
-
sought: target === void 0 ? allowed : new Set([...allowed, target])
|
|
116
|
-
});
|
|
117
|
-
for (const device of registered) {
|
|
118
|
-
const entry = live.get(device.devicePublicKey);
|
|
119
|
-
if (!entry) continue;
|
|
120
|
-
const candidate = {
|
|
121
|
-
reader: {
|
|
122
|
-
...device,
|
|
123
|
-
epoch: scope.epoch,
|
|
124
|
-
counter: entry.counter
|
|
125
|
-
},
|
|
126
|
-
entryHex: entry.entryHex
|
|
127
|
-
};
|
|
128
|
-
if (!allowed.has(entry.entryHex)) {
|
|
129
|
-
outside.push(candidate);
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
resolved.set(`${device.readerPublicKey}:${entry.entryHex}`, candidate);
|
|
133
|
-
addTo(entriesOfReader, device.readerPublicKey, entry.entryHex);
|
|
134
|
-
addTo(readersOfEntry, entry.entryHex, device.readerPublicKey);
|
|
135
|
-
}
|
|
136
|
-
const readers = [...resolved.values()].filter(({ reader, entryHex }) => (entriesOfReader.get(reader.readerPublicKey)?.size ?? 0) === 1 && (readersOfEntry.get(entryHex)?.size ?? 0) === 1);
|
|
137
|
-
const kept = new Set(readers.map(({ entryHex }) => entryHex));
|
|
138
|
-
return {
|
|
139
|
-
readers,
|
|
140
|
-
dropped: [...allowed].filter((entry) => !kept.has(entry)),
|
|
141
|
-
outside
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
//#endregion
|
|
145
|
-
Object.defineProperty(exports, "assertJoiningDevice", {
|
|
146
|
-
enumerable: true,
|
|
147
|
-
get: function() {
|
|
148
|
-
return assertJoiningDevice;
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
Object.defineProperty(exports, "derivesEntry", {
|
|
152
|
-
enumerable: true,
|
|
153
|
-
get: function() {
|
|
154
|
-
return derivesEntry;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
Object.defineProperty(exports, "deviceEntryOf", {
|
|
158
|
-
enumerable: true,
|
|
159
|
-
get: function() {
|
|
160
|
-
return deviceEntryOf;
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
Object.defineProperty(exports, "resolveLiveReaders", {
|
|
164
|
-
enumerable: true,
|
|
165
|
-
get: function() {
|
|
166
|
-
return resolveLiveReaders;
|
|
167
|
-
}
|
|
168
|
-
});
|