@aptos-labs/ts-sdk 1.13.3-zeta.0 → 1.13.3
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/common/index.d.ts +1388 -1822
- package/dist/common/index.js +26 -26
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-8gJF5t3F.d.mts → Ed25519Account--qjfup2u.d.mts} +12 -10
- package/dist/esm/api/account.d.mts +1 -13
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +2 -2
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +8 -14
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/aptosConfig.d.mts +0 -20
- package/dist/esm/api/aptosConfig.mjs +1 -1
- package/dist/esm/api/coin.d.mts +7 -7
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +1 -1
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.d.mts +5 -5
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +7 -7
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +8 -13
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +1 -1
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +2 -2
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +8 -8
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
- package/dist/esm/api/transactionSubmission/simulate.d.mts +6 -6
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/bcs/serializer.d.mts +0 -2
- package/dist/esm/bcs/serializer.mjs +1 -1
- package/dist/esm/chunk-24IKVZBK.mjs +2 -0
- package/dist/esm/chunk-24IKVZBK.mjs.map +1 -0
- package/dist/esm/chunk-2HISPUZZ.mjs +2 -0
- package/dist/esm/chunk-2HISPUZZ.mjs.map +1 -0
- package/dist/esm/{chunk-SNQJV7MF.mjs → chunk-3WUGR46O.mjs} +2 -2
- package/dist/esm/{chunk-TVRJ3M7B.mjs → chunk-52C73T26.mjs} +2 -2
- package/dist/esm/{chunk-TVRJ3M7B.mjs.map → chunk-52C73T26.mjs.map} +1 -1
- package/dist/esm/{chunk-3LQPAGL6.mjs → chunk-5P2S2SZZ.mjs} +2 -2
- package/dist/esm/{chunk-CN37OHFT.mjs → chunk-6CFRW26C.mjs} +2 -2
- package/dist/esm/chunk-6CFRW26C.mjs.map +1 -0
- package/dist/esm/chunk-734YX27W.mjs +2 -0
- package/dist/esm/{chunk-WO2KROQ6.mjs.map → chunk-734YX27W.mjs.map} +1 -1
- package/dist/esm/{chunk-6NZNCDDW.mjs → chunk-7QJ6YJXP.mjs} +2 -2
- package/dist/esm/chunk-AD3VLZ7I.mjs +2 -0
- package/dist/esm/chunk-AD3VLZ7I.mjs.map +1 -0
- package/dist/esm/{chunk-MKUAW7KW.mjs → chunk-AU6W5OIH.mjs} +2 -2
- package/dist/esm/{chunk-3CIA6J5L.mjs → chunk-B3R6G6QP.mjs} +2 -2
- package/dist/esm/chunk-B3R6G6QP.mjs.map +1 -0
- package/dist/esm/chunk-B7TQGVGL.mjs +2 -0
- package/dist/esm/{chunk-YGHLXEB4.mjs.map → chunk-B7TQGVGL.mjs.map} +1 -1
- package/dist/esm/{chunk-MWUJCP27.mjs → chunk-BWFJHFBQ.mjs} +2 -2
- package/dist/esm/chunk-CNMQNPNV.mjs +2 -0
- package/dist/esm/chunk-CNMQNPNV.mjs.map +1 -0
- package/dist/esm/{chunk-274CXZ6R.mjs → chunk-CTIN3GTP.mjs} +2 -2
- package/dist/esm/{chunk-W637YAND.mjs → chunk-CU67XZNB.mjs} +2 -2
- package/dist/esm/chunk-CYNQRMO5.mjs +2 -0
- package/dist/esm/chunk-CYNQRMO5.mjs.map +1 -0
- package/dist/esm/{chunk-IEZO4PIG.mjs → chunk-DM44OGQH.mjs} +2 -2
- package/dist/esm/{chunk-3VGX3TXH.mjs → chunk-DMKUAQB7.mjs} +2 -2
- package/dist/esm/{chunk-QMIEBNTP.mjs → chunk-DPV25ZKR.mjs} +2 -2
- package/dist/esm/{chunk-MGOHPDX4.mjs → chunk-DSTKXJMA.mjs} +2 -2
- package/dist/esm/chunk-E7FWVXGX.mjs +1 -0
- package/dist/esm/chunk-EOFJFE4T.mjs +2 -0
- package/dist/esm/chunk-EOFJFE4T.mjs.map +1 -0
- package/dist/esm/chunk-FATWMUXK.mjs +2 -0
- package/dist/esm/chunk-FATWMUXK.mjs.map +1 -0
- package/dist/esm/{chunk-EB7AI4B4.mjs → chunk-FS3NSGBF.mjs} +2 -2
- package/dist/esm/{chunk-E36GTDEB.mjs → chunk-G2O323HP.mjs} +2 -2
- package/dist/esm/{chunk-LDMEIVL6.mjs → chunk-GSD4OOM3.mjs} +2 -2
- package/dist/esm/{chunk-R6PFLI3Z.mjs → chunk-HQ5I4Q3H.mjs} +2 -2
- package/dist/esm/chunk-HQ5I4Q3H.mjs.map +1 -0
- package/dist/esm/{chunk-QXVGXZJX.mjs → chunk-IIPYR7PF.mjs} +2 -2
- package/dist/esm/chunk-IIPYR7PF.mjs.map +1 -0
- package/dist/esm/{chunk-DKLA4F3P.mjs → chunk-IKYIJYBY.mjs} +2 -2
- package/dist/esm/chunk-IKYIJYBY.mjs.map +1 -0
- package/dist/esm/{chunk-T23OVRNF.mjs → chunk-IOSQVDZI.mjs} +2 -2
- package/dist/esm/chunk-KVZ4XMZS.mjs +2 -0
- package/dist/esm/chunk-KVZ4XMZS.mjs.map +1 -0
- package/dist/esm/chunk-LR65XHSF.mjs +2 -0
- package/dist/esm/chunk-LR65XHSF.mjs.map +1 -0
- package/dist/esm/{chunk-HFLWASAB.mjs → chunk-MACC2BLE.mjs} +2 -2
- package/dist/esm/chunk-MC6G725U.mjs +2 -0
- package/dist/esm/chunk-MC6G725U.mjs.map +1 -0
- package/dist/esm/{chunk-Q7TGZJT4.mjs → chunk-MFKMAAWA.mjs} +2 -2
- package/dist/esm/chunk-MLWIHWNH.mjs +1 -0
- package/dist/esm/chunk-NNQJBFRB.mjs +2 -0
- package/dist/esm/{chunk-7STYQ5ZE.mjs → chunk-NPFNYP75.mjs} +2 -2
- package/dist/esm/{chunk-U72H6EST.mjs → chunk-O2F53NKI.mjs} +2 -2
- package/dist/esm/{chunk-7FNHL6LU.mjs → chunk-O4JRPZZM.mjs} +2 -2
- package/dist/esm/chunk-ODRO4CSA.mjs +2 -0
- package/dist/esm/chunk-ODRO4CSA.mjs.map +1 -0
- package/dist/esm/chunk-OVJQWQ2N.mjs +2 -0
- package/dist/esm/chunk-OVJQWQ2N.mjs.map +1 -0
- package/dist/esm/chunk-OWW6SIDP.mjs +2 -0
- package/dist/esm/chunk-OWW6SIDP.mjs.map +1 -0
- package/dist/esm/{chunk-N4B6S6FK.mjs → chunk-PFIMEXNN.mjs} +2 -2
- package/dist/esm/chunk-PFIMEXNN.mjs.map +1 -0
- package/dist/esm/{chunk-Z2ZR4PTF.mjs → chunk-PZGLV5UQ.mjs} +2 -2
- package/dist/esm/{chunk-AKGASNN4.mjs → chunk-Q3TZGQVC.mjs} +2 -2
- package/dist/esm/chunk-Q3TZGQVC.mjs.map +1 -0
- package/dist/esm/{chunk-6RBUXB5I.mjs → chunk-QIAHBEEW.mjs} +2 -2
- package/dist/esm/chunk-QMURTXFM.mjs +2 -0
- package/dist/esm/{chunk-7XHVF3ZX.mjs.map → chunk-QMURTXFM.mjs.map} +1 -1
- package/dist/esm/{chunk-NC5HHEEM.mjs → chunk-QTRYMRYK.mjs} +2 -2
- package/dist/esm/{chunk-STYDBDYL.mjs → chunk-R5QUBEH6.mjs} +2 -2
- package/dist/esm/chunk-R7G3CLRI.mjs +1 -0
- package/dist/esm/{chunk-ZNEBMSNC.mjs → chunk-RHBCVCOS.mjs} +2 -2
- package/dist/esm/{chunk-7H3HRFVM.mjs → chunk-RIUZPGI5.mjs} +2 -2
- package/dist/esm/{chunk-H3LMPXEM.mjs → chunk-SG4MAOCF.mjs} +2 -2
- package/dist/esm/chunk-SUAKPNKQ.mjs +2 -0
- package/dist/esm/chunk-SUAKPNKQ.mjs.map +1 -0
- package/dist/esm/{chunk-3FVRXELT.mjs → chunk-TBMAJ6AW.mjs} +2 -2
- package/dist/esm/chunk-TLOPIURC.mjs +2 -0
- package/dist/esm/chunk-TLOPIURC.mjs.map +1 -0
- package/dist/esm/{chunk-PFFAQZHT.mjs → chunk-U43IJHQN.mjs} +2 -2
- package/dist/esm/{chunk-KNHI66FK.mjs → chunk-UFT7US42.mjs} +2 -2
- package/dist/esm/{chunk-HGZGTBA4.mjs → chunk-UML2VQZT.mjs} +2 -2
- package/dist/esm/chunk-UVSRX4SV.mjs +1 -0
- package/dist/esm/{chunk-T3W5USZC.mjs → chunk-V3Q2KXJU.mjs} +2 -2
- package/dist/esm/chunk-V4SRNEV3.mjs +2 -0
- package/dist/esm/chunk-V4SRNEV3.mjs.map +1 -0
- package/dist/esm/{chunk-3PGVEOWR.mjs → chunk-V6OS74OS.mjs} +2 -2
- package/dist/esm/chunk-VVIG4E7Q.mjs +2 -0
- package/dist/esm/{chunk-APEBWN6Q.mjs → chunk-W4ZW7QHA.mjs} +2 -2
- package/dist/esm/{chunk-COW5IGYC.mjs → chunk-WFZDFFBM.mjs} +2 -2
- package/dist/esm/{chunk-2SD6JLIU.mjs → chunk-WLF5YQM4.mjs} +2 -2
- package/dist/esm/chunk-WLF5YQM4.mjs.map +1 -0
- package/dist/esm/chunk-XDGQTMDV.mjs +2 -0
- package/dist/esm/chunk-XDGQTMDV.mjs.map +1 -0
- package/dist/esm/{chunk-TE7AJKSU.mjs → chunk-XO3HHRJV.mjs} +2 -2
- package/dist/esm/chunk-YFRXBEOC.mjs +2 -0
- package/dist/esm/chunk-YFRXBEOC.mjs.map +1 -0
- package/dist/esm/chunk-YPTF6MLX.mjs +2 -0
- package/dist/esm/chunk-YPTF6MLX.mjs.map +1 -0
- package/dist/esm/{chunk-J2IIPYZG.mjs → chunk-YU3KB3UV.mjs} +2 -2
- package/dist/esm/{chunk-KCVBUZ6L.mjs → chunk-Z5YFM2AW.mjs} +2 -2
- package/dist/esm/chunk-Z5YFM2AW.mjs.map +1 -0
- package/dist/esm/{chunk-C3L4ETUF.mjs → chunk-ZYYK3UXP.mjs} +2 -2
- package/dist/esm/{chunk-H6BRBIMG.mjs → chunk-ZZZZVONX.mjs} +2 -2
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.d.mts +1 -2
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.d.mts +2 -2
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.d.mts +1 -3
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/account/Account.d.mts +20 -0
- package/dist/esm/core/account/Account.mjs +2 -0
- package/dist/esm/core/account/Ed25519Account.d.mts +20 -0
- package/dist/esm/core/account/Ed25519Account.mjs +2 -0
- package/dist/esm/core/account/SingleKeyAccount.d.mts +20 -0
- package/dist/esm/core/account/SingleKeyAccount.mjs +2 -0
- package/dist/esm/core/account/index.d.mts +14 -5
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.mjs +1 -1
- package/dist/esm/core/account/utils/index.mjs +1 -1
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +10 -0
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/hdKey.d.mts +1 -15
- package/dist/esm/core/crypto/hdKey.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +5 -7
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +3 -4
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/index.d.mts +7 -6
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/index.d.mts +9 -15
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/account.d.mts +1 -13
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +1 -1
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +7 -7
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +2 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.d.mts +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.d.mts +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +5 -5
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/staking.d.mts +1 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +1 -1
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/view.d.mts +7 -7
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/transactions/authenticator/account.d.mts +4 -3
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
- package/dist/esm/transactions/index.d.mts +2 -2
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/transactions/instances/chainId.mjs +1 -1
- package/dist/esm/transactions/instances/identifier.mjs +1 -1
- package/dist/esm/transactions/instances/index.mjs +1 -1
- package/dist/esm/transactions/instances/moduleId.d.mts +1 -1
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionPayload.d.mts +1 -1
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +1 -13
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.d.mts +2 -2
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +1 -1
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +9 -9
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +9 -9
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +6 -6
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +25 -13
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/transactions/types.d.mts +6 -6
- package/dist/esm/types/index.d.mts +3 -17
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/utils/apiEndpoints.d.mts +1 -3
- package/dist/esm/utils/apiEndpoints.mjs +1 -1
- package/dist/esm/utils/const.d.mts +1 -3
- package/dist/esm/utils/const.mjs +1 -1
- package/dist/esm/utils/index.d.mts +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.mjs +1 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +2 -7
- package/src/api/account.ts +1 -2
- package/src/api/ans.ts +1 -2
- package/src/api/aptos.ts +0 -6
- package/src/api/aptosConfig.ts +1 -46
- package/src/api/digitalAsset.ts +1 -2
- package/src/api/fungibleAsset.ts +1 -2
- package/src/api/transaction.ts +1 -2
- package/src/api/transactionSubmission/management.ts +1 -1
- package/src/api/transactionSubmission/sign.ts +1 -1
- package/src/bcs/serializer.ts +0 -18
- package/src/client/core.ts +0 -8
- package/src/client/get.ts +0 -6
- package/src/client/post.ts +0 -12
- package/src/{account → core/account}/Account.ts +16 -12
- package/src/{account → core/account}/Ed25519Account.ts +7 -13
- package/src/{account → core/account}/SingleKeyAccount.ts +8 -13
- package/src/core/account/index.ts +3 -1
- package/src/core/crypto/ed25519.ts +24 -4
- package/src/core/crypto/hdKey.ts +0 -31
- package/src/core/crypto/index.ts +0 -2
- package/src/core/crypto/multiKey.ts +11 -21
- package/src/core/crypto/singleKey.ts +0 -11
- package/src/core/index.ts +1 -0
- package/src/index.ts +0 -1
- package/src/internal/account.ts +1 -1
- package/src/internal/ans.ts +1 -2
- package/src/internal/digitalAsset.ts +1 -2
- package/src/internal/fungibleAsset.ts +1 -2
- package/src/internal/transactionSubmission.ts +7 -8
- package/src/transactions/authenticator/account.ts +11 -6
- package/src/transactions/management/accountSequenceNumber.ts +1 -1
- package/src/transactions/management/transactionWorker.ts +2 -8
- package/src/transactions/transactionBuilder/index.ts +0 -1
- package/src/transactions/transactionBuilder/transactionBuilder.ts +70 -41
- package/src/types/index.ts +0 -19
- package/src/utils/apiEndpoints.ts +0 -14
- package/src/utils/const.ts +0 -2
- package/src/version.ts +1 -1
- package/dist/esm/account/Account.d.mts +0 -34
- package/dist/esm/account/Account.mjs +0 -2
- package/dist/esm/account/Ed25519Account.d.mts +0 -34
- package/dist/esm/account/Ed25519Account.mjs +0 -2
- package/dist/esm/account/EphemeralKeyPair.d.mts +0 -46
- package/dist/esm/account/EphemeralKeyPair.mjs +0 -2
- package/dist/esm/account/KeylessAccount.d.mts +0 -87
- package/dist/esm/account/KeylessAccount.mjs +0 -2
- package/dist/esm/account/MultiKeyAccount.d.mts +0 -99
- package/dist/esm/account/MultiKeyAccount.mjs +0 -2
- package/dist/esm/account/SingleKeyAccount.d.mts +0 -34
- package/dist/esm/account/SingleKeyAccount.mjs +0 -2
- package/dist/esm/account/index.d.mts +0 -39
- package/dist/esm/account/index.mjs +0 -2
- package/dist/esm/api/keyless.d.mts +0 -65
- package/dist/esm/api/keyless.mjs +0 -2
- package/dist/esm/api/keyless.mjs.map +0 -1
- package/dist/esm/chunk-2M7KHFEG.mjs +0 -2
- package/dist/esm/chunk-2M7KHFEG.mjs.map +0 -1
- package/dist/esm/chunk-2SD6JLIU.mjs.map +0 -1
- package/dist/esm/chunk-2YDIOWRJ.mjs +0 -2
- package/dist/esm/chunk-2YDIOWRJ.mjs.map +0 -1
- package/dist/esm/chunk-3CIA6J5L.mjs.map +0 -1
- package/dist/esm/chunk-5VSMDXZ6.mjs +0 -2
- package/dist/esm/chunk-5VSMDXZ6.mjs.map +0 -1
- package/dist/esm/chunk-6GQAHQGW.mjs +0 -2
- package/dist/esm/chunk-6GQAHQGW.mjs.map +0 -1
- package/dist/esm/chunk-6NMHAFIO.mjs +0 -2
- package/dist/esm/chunk-6NMHAFIO.mjs.map +0 -1
- package/dist/esm/chunk-7MPJPZ73.mjs +0 -2
- package/dist/esm/chunk-7MPJPZ73.mjs.map +0 -1
- package/dist/esm/chunk-7XHVF3ZX.mjs +0 -2
- package/dist/esm/chunk-7Z6DYLCA.mjs +0 -1
- package/dist/esm/chunk-7Z6DYLCA.mjs.map +0 -1
- package/dist/esm/chunk-AKGASNN4.mjs.map +0 -1
- package/dist/esm/chunk-AQ4I7VVB.mjs +0 -1
- package/dist/esm/chunk-AQ4I7VVB.mjs.map +0 -1
- package/dist/esm/chunk-CN37OHFT.mjs.map +0 -1
- package/dist/esm/chunk-CQJ4WN7M.mjs +0 -2
- package/dist/esm/chunk-CQJ4WN7M.mjs.map +0 -1
- package/dist/esm/chunk-DKLA4F3P.mjs.map +0 -1
- package/dist/esm/chunk-E4Z5IEZP.mjs +0 -2
- package/dist/esm/chunk-E4Z5IEZP.mjs.map +0 -1
- package/dist/esm/chunk-EQKI6NJR.mjs +0 -2
- package/dist/esm/chunk-EQKI6NJR.mjs.map +0 -1
- package/dist/esm/chunk-F6QCHPVS.mjs +0 -2
- package/dist/esm/chunk-F6QCHPVS.mjs.map +0 -1
- package/dist/esm/chunk-FLYEALDB.mjs +0 -2
- package/dist/esm/chunk-FLYEALDB.mjs.map +0 -1
- package/dist/esm/chunk-HQWIGPYQ.mjs +0 -2
- package/dist/esm/chunk-HQWIGPYQ.mjs.map +0 -1
- package/dist/esm/chunk-HURQZGUZ.mjs +0 -2
- package/dist/esm/chunk-HURQZGUZ.mjs.map +0 -1
- package/dist/esm/chunk-JEUAQVXW.mjs +0 -2
- package/dist/esm/chunk-JEUAQVXW.mjs.map +0 -1
- package/dist/esm/chunk-JOYJUVSE.mjs +0 -2
- package/dist/esm/chunk-JOYJUVSE.mjs.map +0 -1
- package/dist/esm/chunk-JXCZTOYC.mjs +0 -1
- package/dist/esm/chunk-JXCZTOYC.mjs.map +0 -1
- package/dist/esm/chunk-KCVBUZ6L.mjs.map +0 -1
- package/dist/esm/chunk-LX7N4NUS.mjs +0 -2
- package/dist/esm/chunk-LX7N4NUS.mjs.map +0 -1
- package/dist/esm/chunk-N4B6S6FK.mjs.map +0 -1
- package/dist/esm/chunk-NMVZP3Q2.mjs +0 -2
- package/dist/esm/chunk-NMVZP3Q2.mjs.map +0 -1
- package/dist/esm/chunk-NNA5VEB2.mjs +0 -2
- package/dist/esm/chunk-NNA5VEB2.mjs.map +0 -1
- package/dist/esm/chunk-OKRUEVF3.mjs +0 -2
- package/dist/esm/chunk-OKRUEVF3.mjs.map +0 -1
- package/dist/esm/chunk-PLPCOELE.mjs +0 -2
- package/dist/esm/chunk-PLPCOELE.mjs.map +0 -1
- package/dist/esm/chunk-QHIQLTBS.mjs +0 -2
- package/dist/esm/chunk-QHIQLTBS.mjs.map +0 -1
- package/dist/esm/chunk-QXVGXZJX.mjs.map +0 -1
- package/dist/esm/chunk-R6PFLI3Z.mjs.map +0 -1
- package/dist/esm/chunk-RFSO3JRG.mjs +0 -1
- package/dist/esm/chunk-RFSO3JRG.mjs.map +0 -1
- package/dist/esm/chunk-RPXN7HGR.mjs +0 -2
- package/dist/esm/chunk-RPXN7HGR.mjs.map +0 -1
- package/dist/esm/chunk-S5HG2QUD.mjs +0 -2
- package/dist/esm/chunk-S5HG2QUD.mjs.map +0 -1
- package/dist/esm/chunk-SRLCFTZR.mjs +0 -2
- package/dist/esm/chunk-SRLCFTZR.mjs.map +0 -1
- package/dist/esm/chunk-TBG3MIIE.mjs +0 -2
- package/dist/esm/chunk-TBG3MIIE.mjs.map +0 -1
- package/dist/esm/chunk-TJPWYYNO.mjs +0 -2
- package/dist/esm/chunk-TJPWYYNO.mjs.map +0 -1
- package/dist/esm/chunk-W76IQV5K.mjs +0 -2
- package/dist/esm/chunk-W76IQV5K.mjs.map +0 -1
- package/dist/esm/chunk-WO2KROQ6.mjs +0 -2
- package/dist/esm/chunk-X56CTMYB.mjs +0 -2
- package/dist/esm/chunk-XEXWFQNP.mjs +0 -2
- package/dist/esm/chunk-YE5B2S5L.mjs +0 -2
- package/dist/esm/chunk-YE5B2S5L.mjs.map +0 -1
- package/dist/esm/chunk-YGHLXEB4.mjs +0 -2
- package/dist/esm/core/crypto/ephemeral.d.mts +0 -77
- package/dist/esm/core/crypto/ephemeral.mjs +0 -2
- package/dist/esm/core/crypto/ephemeral.mjs.map +0 -1
- package/dist/esm/core/crypto/keyless.d.mts +0 -217
- package/dist/esm/core/crypto/keyless.mjs +0 -2
- package/dist/esm/core/crypto/keyless.mjs.map +0 -1
- package/dist/esm/core/crypto/poseidon.d.mts +0 -7
- package/dist/esm/core/crypto/poseidon.mjs +0 -2
- package/dist/esm/core/crypto/poseidon.mjs.map +0 -1
- package/dist/esm/internal/keyless.d.mts +0 -65
- package/dist/esm/internal/keyless.mjs +0 -2
- package/dist/esm/internal/keyless.mjs.map +0 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +0 -47
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +0 -2
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs.map +0 -1
- package/dist/esm/types/keyless.d.mts +0 -14
- package/dist/esm/types/keyless.mjs +0 -1
- package/dist/esm/types/keyless.mjs.map +0 -1
- package/src/account/EphemeralKeyPair.ts +0 -115
- package/src/account/KeylessAccount.ts +0 -240
- package/src/account/MultiKeyAccount.ts +0 -119
- package/src/account/index.ts +0 -6
- package/src/api/keyless.ts +0 -34
- package/src/core/crypto/ephemeral.ts +0 -149
- package/src/core/crypto/keyless.ts +0 -508
- package/src/core/crypto/poseidon.ts +0 -134
- package/src/internal/keyless.ts +0 -185
- package/src/transactions/transactionBuilder/signingMessage.ts +0 -70
- package/src/types/keyless.ts +0 -6
- /package/dist/esm/{chunk-SNQJV7MF.mjs.map → chunk-3WUGR46O.mjs.map} +0 -0
- /package/dist/esm/{chunk-3LQPAGL6.mjs.map → chunk-5P2S2SZZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-6NZNCDDW.mjs.map → chunk-7QJ6YJXP.mjs.map} +0 -0
- /package/dist/esm/{chunk-MKUAW7KW.mjs.map → chunk-AU6W5OIH.mjs.map} +0 -0
- /package/dist/esm/{chunk-MWUJCP27.mjs.map → chunk-BWFJHFBQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-274CXZ6R.mjs.map → chunk-CTIN3GTP.mjs.map} +0 -0
- /package/dist/esm/{chunk-W637YAND.mjs.map → chunk-CU67XZNB.mjs.map} +0 -0
- /package/dist/esm/{chunk-IEZO4PIG.mjs.map → chunk-DM44OGQH.mjs.map} +0 -0
- /package/dist/esm/{chunk-3VGX3TXH.mjs.map → chunk-DMKUAQB7.mjs.map} +0 -0
- /package/dist/esm/{chunk-QMIEBNTP.mjs.map → chunk-DPV25ZKR.mjs.map} +0 -0
- /package/dist/esm/{chunk-MGOHPDX4.mjs.map → chunk-DSTKXJMA.mjs.map} +0 -0
- /package/dist/esm/{account/Account.mjs.map → chunk-E7FWVXGX.mjs.map} +0 -0
- /package/dist/esm/{chunk-EB7AI4B4.mjs.map → chunk-FS3NSGBF.mjs.map} +0 -0
- /package/dist/esm/{chunk-E36GTDEB.mjs.map → chunk-G2O323HP.mjs.map} +0 -0
- /package/dist/esm/{chunk-LDMEIVL6.mjs.map → chunk-GSD4OOM3.mjs.map} +0 -0
- /package/dist/esm/{chunk-T23OVRNF.mjs.map → chunk-IOSQVDZI.mjs.map} +0 -0
- /package/dist/esm/{chunk-HFLWASAB.mjs.map → chunk-MACC2BLE.mjs.map} +0 -0
- /package/dist/esm/{chunk-Q7TGZJT4.mjs.map → chunk-MFKMAAWA.mjs.map} +0 -0
- /package/dist/esm/{account/Ed25519Account.mjs.map → chunk-MLWIHWNH.mjs.map} +0 -0
- /package/dist/esm/{chunk-XEXWFQNP.mjs.map → chunk-NNQJBFRB.mjs.map} +0 -0
- /package/dist/esm/{chunk-7STYQ5ZE.mjs.map → chunk-NPFNYP75.mjs.map} +0 -0
- /package/dist/esm/{chunk-U72H6EST.mjs.map → chunk-O2F53NKI.mjs.map} +0 -0
- /package/dist/esm/{chunk-7FNHL6LU.mjs.map → chunk-O4JRPZZM.mjs.map} +0 -0
- /package/dist/esm/{chunk-Z2ZR4PTF.mjs.map → chunk-PZGLV5UQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-6RBUXB5I.mjs.map → chunk-QIAHBEEW.mjs.map} +0 -0
- /package/dist/esm/{chunk-NC5HHEEM.mjs.map → chunk-QTRYMRYK.mjs.map} +0 -0
- /package/dist/esm/{chunk-STYDBDYL.mjs.map → chunk-R5QUBEH6.mjs.map} +0 -0
- /package/dist/esm/{account/EphemeralKeyPair.mjs.map → chunk-R7G3CLRI.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZNEBMSNC.mjs.map → chunk-RHBCVCOS.mjs.map} +0 -0
- /package/dist/esm/{chunk-7H3HRFVM.mjs.map → chunk-RIUZPGI5.mjs.map} +0 -0
- /package/dist/esm/{chunk-H3LMPXEM.mjs.map → chunk-SG4MAOCF.mjs.map} +0 -0
- /package/dist/esm/{chunk-3FVRXELT.mjs.map → chunk-TBMAJ6AW.mjs.map} +0 -0
- /package/dist/esm/{chunk-PFFAQZHT.mjs.map → chunk-U43IJHQN.mjs.map} +0 -0
- /package/dist/esm/{chunk-KNHI66FK.mjs.map → chunk-UFT7US42.mjs.map} +0 -0
- /package/dist/esm/{chunk-HGZGTBA4.mjs.map → chunk-UML2VQZT.mjs.map} +0 -0
- /package/dist/esm/{account/KeylessAccount.mjs.map → chunk-UVSRX4SV.mjs.map} +0 -0
- /package/dist/esm/{chunk-T3W5USZC.mjs.map → chunk-V3Q2KXJU.mjs.map} +0 -0
- /package/dist/esm/{chunk-3PGVEOWR.mjs.map → chunk-V6OS74OS.mjs.map} +0 -0
- /package/dist/esm/{chunk-X56CTMYB.mjs.map → chunk-VVIG4E7Q.mjs.map} +0 -0
- /package/dist/esm/{chunk-APEBWN6Q.mjs.map → chunk-W4ZW7QHA.mjs.map} +0 -0
- /package/dist/esm/{chunk-COW5IGYC.mjs.map → chunk-WFZDFFBM.mjs.map} +0 -0
- /package/dist/esm/{chunk-TE7AJKSU.mjs.map → chunk-XO3HHRJV.mjs.map} +0 -0
- /package/dist/esm/{chunk-J2IIPYZG.mjs.map → chunk-YU3KB3UV.mjs.map} +0 -0
- /package/dist/esm/{chunk-C3L4ETUF.mjs.map → chunk-ZYYK3UXP.mjs.map} +0 -0
- /package/dist/esm/{chunk-H6BRBIMG.mjs.map → chunk-ZZZZVONX.mjs.map} +0 -0
- /package/dist/esm/{account/MultiKeyAccount.mjs.map → core/account/Account.mjs.map} +0 -0
- /package/dist/esm/{account/SingleKeyAccount.mjs.map → core/account/Ed25519Account.mjs.map} +0 -0
- /package/dist/esm/{account/index.mjs.map → core/account/SingleKeyAccount.mjs.map} +0 -0
|
@@ -1,508 +0,0 @@
|
|
|
1
|
-
// Copyright © Aptos Foundation
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
import { AccountPublicKey, PublicKey } from "./publicKey";
|
|
5
|
-
import { Signature } from "./signature";
|
|
6
|
-
import { Deserializer, Serializable, Serializer } from "../../bcs";
|
|
7
|
-
import { Hex } from "../hex";
|
|
8
|
-
import { HexInput, EphemeralCertificate, AnyPublicKeyVariant, SigningScheme } from "../../types";
|
|
9
|
-
import { EphemeralPublicKey, EphemeralSignature } from "./ephemeral";
|
|
10
|
-
import { bigIntToBytesLE, bytesToBigIntLE, hashASCIIStrToField, poseidonHash } from "./poseidon";
|
|
11
|
-
import { AuthenticationKey } from "../authenticationKey";
|
|
12
|
-
|
|
13
|
-
export const EPK_HORIZON_SECS = 10000000;
|
|
14
|
-
export const MAX_AUD_VAL_BYTES = 120;
|
|
15
|
-
export const MAX_UID_KEY_BYTES = 30;
|
|
16
|
-
export const MAX_UID_VAL_BYTES = 330;
|
|
17
|
-
export const MAX_ISS_VAL_BYTES = 120;
|
|
18
|
-
export const MAX_EXTRA_FIELD_BYTES = 350;
|
|
19
|
-
export const MAX_JWT_HEADER_B64_BYTES = 300;
|
|
20
|
-
export const MAX_COMMITED_EPK_BYTES = 93;
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Represents the KeylessPublicKey public key
|
|
24
|
-
*
|
|
25
|
-
* KeylessPublicKey authentication key is represented in the SDK as `AnyPublicKey`.
|
|
26
|
-
*/
|
|
27
|
-
export class KeylessPublicKey extends AccountPublicKey {
|
|
28
|
-
static readonly ADDRESS_SEED_LENGTH: number = 32;
|
|
29
|
-
|
|
30
|
-
readonly iss: string;
|
|
31
|
-
|
|
32
|
-
readonly addressSeed: Uint8Array;
|
|
33
|
-
|
|
34
|
-
constructor(iss: string, addressSeed: HexInput) {
|
|
35
|
-
super();
|
|
36
|
-
const addressSeedBytes = Hex.fromHexInput(addressSeed).toUint8Array();
|
|
37
|
-
if (addressSeedBytes.length !== KeylessPublicKey.ADDRESS_SEED_LENGTH) {
|
|
38
|
-
throw new Error(`Address seed length in bytes should be ${KeylessPublicKey.ADDRESS_SEED_LENGTH}`);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
this.iss = iss;
|
|
42
|
-
this.addressSeed = addressSeedBytes;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
authKey(): AuthenticationKey {
|
|
46
|
-
const serializer = new Serializer();
|
|
47
|
-
serializer.serializeU32AsUleb128(AnyPublicKeyVariant.Keyless);
|
|
48
|
-
serializer.serializeFixedBytes(this.bcsToBytes());
|
|
49
|
-
return AuthenticationKey.fromSchemeAndBytes({
|
|
50
|
-
scheme: SigningScheme.SingleKey,
|
|
51
|
-
input: serializer.toUint8Array(),
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Get the public key in bytes (Uint8Array).
|
|
57
|
-
*
|
|
58
|
-
* @returns Uint8Array representation of the public key
|
|
59
|
-
*/
|
|
60
|
-
toUint8Array(): Uint8Array {
|
|
61
|
-
return this.bcsToBytes();
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get the public key as a hex string with the 0x prefix.
|
|
66
|
-
*
|
|
67
|
-
* @returns string representation of the public key
|
|
68
|
-
*/
|
|
69
|
-
toString(): string {
|
|
70
|
-
return Hex.fromHexInput(this.toUint8Array()).toString();
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Verifies a signed data with a public key
|
|
75
|
-
*
|
|
76
|
-
* @param args.message message
|
|
77
|
-
* @param args.signature The signature
|
|
78
|
-
* @returns true if the signature is valid
|
|
79
|
-
*/
|
|
80
|
-
// eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
|
|
81
|
-
verifySignature(args: { message: HexInput; signature: KeylessSignature }): boolean {
|
|
82
|
-
// TODO
|
|
83
|
-
return true;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
serialize(serializer: Serializer): void {
|
|
87
|
-
serializer.serializeStr(this.iss);
|
|
88
|
-
serializer.serializeBytes(this.addressSeed);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
static deserialize(deserializer: Deserializer): KeylessPublicKey {
|
|
92
|
-
const iss = deserializer.deserializeStr();
|
|
93
|
-
const addressSeed = deserializer.deserializeBytes();
|
|
94
|
-
return new KeylessPublicKey(iss, addressSeed);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
static load(deserializer: Deserializer): KeylessPublicKey {
|
|
98
|
-
const iss = deserializer.deserializeStr();
|
|
99
|
-
const addressSeed = deserializer.deserializeBytes();
|
|
100
|
-
return new KeylessPublicKey(iss, addressSeed);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
static isPublicKey(publicKey: PublicKey): publicKey is KeylessPublicKey {
|
|
104
|
-
return publicKey instanceof KeylessPublicKey;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
static create(args: {
|
|
108
|
-
iss: string;
|
|
109
|
-
uidKey: string;
|
|
110
|
-
uidVal: string;
|
|
111
|
-
aud: string;
|
|
112
|
-
pepper: HexInput;
|
|
113
|
-
}): KeylessPublicKey {
|
|
114
|
-
computeAddressSeed(args);
|
|
115
|
-
return new KeylessPublicKey(args.iss, computeAddressSeed(args));
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
export function computeAddressSeed(args: {
|
|
120
|
-
uidKey: string;
|
|
121
|
-
uidVal: string;
|
|
122
|
-
aud: string;
|
|
123
|
-
pepper: HexInput;
|
|
124
|
-
}): Uint8Array {
|
|
125
|
-
const { uidKey, uidVal, aud, pepper } = args;
|
|
126
|
-
|
|
127
|
-
const fields = [
|
|
128
|
-
bytesToBigIntLE(Hex.fromHexInput(pepper).toUint8Array()),
|
|
129
|
-
hashASCIIStrToField(aud, MAX_AUD_VAL_BYTES),
|
|
130
|
-
hashASCIIStrToField(uidVal, MAX_UID_VAL_BYTES),
|
|
131
|
-
hashASCIIStrToField(uidKey, MAX_UID_KEY_BYTES),
|
|
132
|
-
];
|
|
133
|
-
|
|
134
|
-
return bigIntToBytesLE(poseidonHash(fields), KeylessPublicKey.ADDRESS_SEED_LENGTH);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
export class OpenIdSignatureOrZkProof extends Signature {
|
|
138
|
-
public readonly signature: Signature;
|
|
139
|
-
|
|
140
|
-
constructor(signature: Signature) {
|
|
141
|
-
super();
|
|
142
|
-
this.signature = signature;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Get the public key in bytes (Uint8Array).
|
|
147
|
-
*
|
|
148
|
-
* @returns Uint8Array representation of the public key
|
|
149
|
-
*/
|
|
150
|
-
toUint8Array(): Uint8Array {
|
|
151
|
-
return this.signature.toUint8Array();
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Get the public key as a hex string with the 0x prefix.
|
|
156
|
-
*
|
|
157
|
-
* @returns string representation of the public key
|
|
158
|
-
*/
|
|
159
|
-
toString(): string {
|
|
160
|
-
return this.signature.toString();
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
serialize(serializer: Serializer): void {
|
|
164
|
-
if (this.signature instanceof OpenIdSignature) {
|
|
165
|
-
serializer.serializeU32AsUleb128(EphemeralCertificate.OpenIdSignature);
|
|
166
|
-
this.signature.serialize(serializer);
|
|
167
|
-
} else if (this.signature instanceof SignedGroth16Signature) {
|
|
168
|
-
serializer.serializeU32AsUleb128(EphemeralCertificate.ZkProof);
|
|
169
|
-
this.signature.serialize(serializer);
|
|
170
|
-
} else {
|
|
171
|
-
throw new Error("Not a valid OIDB signature");
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
static deserialize(deserializer: Deserializer): OpenIdSignatureOrZkProof {
|
|
176
|
-
const index = deserializer.deserializeUleb128AsU32();
|
|
177
|
-
switch (index) {
|
|
178
|
-
case EphemeralCertificate.ZkProof:
|
|
179
|
-
return new OpenIdSignatureOrZkProof(SignedGroth16Signature.load(deserializer));
|
|
180
|
-
case EphemeralCertificate.OpenIdSignature:
|
|
181
|
-
return new OpenIdSignatureOrZkProof(OpenIdSignature.load(deserializer));
|
|
182
|
-
default:
|
|
183
|
-
throw new Error(`Unknown variant index for EphemeralCertificate: ${index}`);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
export class Groth16Zkp extends Serializable {
|
|
189
|
-
a: Uint8Array;
|
|
190
|
-
|
|
191
|
-
b: Uint8Array;
|
|
192
|
-
|
|
193
|
-
c: Uint8Array;
|
|
194
|
-
|
|
195
|
-
constructor(args: { a: HexInput; b: HexInput; c: HexInput }) {
|
|
196
|
-
super();
|
|
197
|
-
const { a, b, c } = args;
|
|
198
|
-
this.a = Hex.fromHexInput(a).toUint8Array();
|
|
199
|
-
this.b = Hex.fromHexInput(b).toUint8Array();
|
|
200
|
-
this.c = Hex.fromHexInput(c).toUint8Array();
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
toUint8Array(): Uint8Array {
|
|
204
|
-
const serializer = new Serializer();
|
|
205
|
-
this.serialize(serializer);
|
|
206
|
-
return serializer.toUint8Array();
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
serialize(serializer: Serializer): void {
|
|
210
|
-
// There's currently only one variant
|
|
211
|
-
serializer.serializeU32AsUleb128(0);
|
|
212
|
-
serializer.serializeFixedBytes(this.a);
|
|
213
|
-
serializer.serializeFixedBytes(this.b);
|
|
214
|
-
serializer.serializeFixedBytes(this.c);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
static deserialize(deserializer: Deserializer): Groth16Zkp {
|
|
218
|
-
// Ignored, as there's currently only one possible ZKP variant
|
|
219
|
-
deserializer.deserializeUleb128AsU32();
|
|
220
|
-
const a = deserializer.deserializeFixedBytes(32);
|
|
221
|
-
const b = deserializer.deserializeFixedBytes(64);
|
|
222
|
-
const c = deserializer.deserializeFixedBytes(32);
|
|
223
|
-
return new Groth16Zkp({ a, b, c });
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
export class SignedGroth16Signature extends Signature {
|
|
228
|
-
readonly proof: Groth16Zkp;
|
|
229
|
-
|
|
230
|
-
readonly expHorizonSecs: bigint;
|
|
231
|
-
|
|
232
|
-
readonly extraField?: string;
|
|
233
|
-
|
|
234
|
-
readonly overrideAudVal?: string;
|
|
235
|
-
|
|
236
|
-
readonly trainingWheelsSignature?: EphemeralSignature;
|
|
237
|
-
|
|
238
|
-
constructor(args: {
|
|
239
|
-
proof: Groth16Zkp;
|
|
240
|
-
expHorizonSecs?: bigint;
|
|
241
|
-
extraField?: string;
|
|
242
|
-
overrideAudVal?: string;
|
|
243
|
-
trainingWheelsSignature?: EphemeralSignature;
|
|
244
|
-
}) {
|
|
245
|
-
super();
|
|
246
|
-
const {
|
|
247
|
-
proof,
|
|
248
|
-
expHorizonSecs = BigInt(EPK_HORIZON_SECS),
|
|
249
|
-
trainingWheelsSignature,
|
|
250
|
-
extraField,
|
|
251
|
-
overrideAudVal,
|
|
252
|
-
} = args;
|
|
253
|
-
this.proof = proof;
|
|
254
|
-
this.expHorizonSecs = expHorizonSecs;
|
|
255
|
-
this.trainingWheelsSignature = trainingWheelsSignature;
|
|
256
|
-
this.extraField = extraField;
|
|
257
|
-
this.overrideAudVal = overrideAudVal;
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* Get the signature in bytes (Uint8Array).
|
|
262
|
-
*
|
|
263
|
-
* @returns Uint8Array representation of the signature
|
|
264
|
-
*/
|
|
265
|
-
toUint8Array(): Uint8Array {
|
|
266
|
-
const serializer = new Serializer();
|
|
267
|
-
this.serialize(serializer);
|
|
268
|
-
return serializer.toUint8Array();
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* Get the signature as a hex string with the 0x prefix.
|
|
273
|
-
*
|
|
274
|
-
* @returns string representation of the signature
|
|
275
|
-
*/
|
|
276
|
-
toString(): string {
|
|
277
|
-
return this.toString();
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
serialize(serializer: Serializer): void {
|
|
281
|
-
this.proof.serialize(serializer);
|
|
282
|
-
serializer.serializeU64(this.expHorizonSecs);
|
|
283
|
-
serializer.serializeOptionStr(this.extraField);
|
|
284
|
-
serializer.serializeOptionStr(this.overrideAudVal);
|
|
285
|
-
serializer.serializeOption(this.trainingWheelsSignature);
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
static deserialize(deserializer: Deserializer): SignedGroth16Signature {
|
|
289
|
-
const proof = Groth16Zkp.deserialize(deserializer);
|
|
290
|
-
const expHorizonSecs = deserializer.deserializeU64();
|
|
291
|
-
const hasExtraField = deserializer.deserializeUleb128AsU32();
|
|
292
|
-
const extraField = hasExtraField ? deserializer.deserializeStr() : undefined;
|
|
293
|
-
const hasOverrideAudVal = deserializer.deserializeUleb128AsU32();
|
|
294
|
-
const overrideAudVal = hasOverrideAudVal ? deserializer.deserializeStr() : undefined;
|
|
295
|
-
const [trainingWheelsSignature] = deserializer.deserializeVector(EphemeralSignature);
|
|
296
|
-
return new SignedGroth16Signature({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
static load(deserializer: Deserializer): SignedGroth16Signature {
|
|
300
|
-
const proof = Groth16Zkp.deserialize(deserializer);
|
|
301
|
-
const expHorizonSecs = deserializer.deserializeU64();
|
|
302
|
-
const hasExtraField = deserializer.deserializeUleb128AsU32();
|
|
303
|
-
const extraField = hasExtraField ? deserializer.deserializeStr() : undefined;
|
|
304
|
-
const hasOverrideAudVal = deserializer.deserializeUleb128AsU32();
|
|
305
|
-
const overrideAudVal = hasOverrideAudVal ? deserializer.deserializeStr() : undefined;
|
|
306
|
-
const [trainingWheelsSignature] = deserializer.deserializeVector(EphemeralSignature);
|
|
307
|
-
return new SignedGroth16Signature({ proof, expHorizonSecs, trainingWheelsSignature, extraField, overrideAudVal });
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
// static isSignature(signature: Signature): signature is OpenIdSignature {
|
|
311
|
-
// return signature instanceof OpenIdSignature;
|
|
312
|
-
// }
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
/**
|
|
316
|
-
* A OpenId signature which contains the private inputs to an OIDB proof.
|
|
317
|
-
*/
|
|
318
|
-
export class OpenIdSignature extends Signature {
|
|
319
|
-
readonly jwtSignature: string;
|
|
320
|
-
|
|
321
|
-
readonly jwtPayloadJson: string;
|
|
322
|
-
|
|
323
|
-
readonly uidKey: string;
|
|
324
|
-
|
|
325
|
-
readonly epkBlinder: Uint8Array;
|
|
326
|
-
|
|
327
|
-
readonly pepper: Uint8Array;
|
|
328
|
-
|
|
329
|
-
readonly overrideAudValue?: string;
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* Create a new Signature instance from a Uint8Array or String.
|
|
333
|
-
*
|
|
334
|
-
* @param hexInput A HexInput (string or Uint8Array)
|
|
335
|
-
*/
|
|
336
|
-
constructor(args: {
|
|
337
|
-
jwtSignature: string;
|
|
338
|
-
jwtPayloadJson: string;
|
|
339
|
-
uidKey?: string;
|
|
340
|
-
epkBlinder: Uint8Array;
|
|
341
|
-
pepper: Uint8Array;
|
|
342
|
-
overrideAudValue?: string;
|
|
343
|
-
}) {
|
|
344
|
-
super();
|
|
345
|
-
const { jwtSignature, uidKey, jwtPayloadJson, epkBlinder, pepper, overrideAudValue } = args;
|
|
346
|
-
this.jwtSignature = jwtSignature;
|
|
347
|
-
this.jwtPayloadJson = jwtPayloadJson;
|
|
348
|
-
this.uidKey = uidKey ?? "sub";
|
|
349
|
-
this.epkBlinder = epkBlinder;
|
|
350
|
-
this.pepper = pepper;
|
|
351
|
-
this.overrideAudValue = overrideAudValue;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Get the signature in bytes (Uint8Array).
|
|
356
|
-
*
|
|
357
|
-
* @returns Uint8Array representation of the signature
|
|
358
|
-
*/
|
|
359
|
-
toUint8Array(): Uint8Array {
|
|
360
|
-
// const textEncoder = new TextEncoder();
|
|
361
|
-
// const jwtSigBytes = textEncoder.encode(this.jwtSignature);
|
|
362
|
-
// const jwtPayloadJsonBytes = textEncoder.encode(this.jwtPayloadJson);
|
|
363
|
-
// const uidKeyBytes = textEncoder.encode(this.jwtSignature);
|
|
364
|
-
// const uidKeyBytes = textEncoder.encode(this.jwtSignature);
|
|
365
|
-
|
|
366
|
-
return this.epkBlinder;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* Get the signature as a hex string with the 0x prefix.
|
|
371
|
-
*
|
|
372
|
-
* @returns string representation of the signature
|
|
373
|
-
*/
|
|
374
|
-
toString(): string {
|
|
375
|
-
return this.toString();
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
serialize(serializer: Serializer): void {
|
|
379
|
-
serializer.serializeStr(this.jwtSignature);
|
|
380
|
-
serializer.serializeStr(this.jwtPayloadJson);
|
|
381
|
-
serializer.serializeStr(this.uidKey);
|
|
382
|
-
serializer.serializeFixedBytes(this.epkBlinder);
|
|
383
|
-
serializer.serializeFixedBytes(this.pepper);
|
|
384
|
-
serializer.serializeOptionStr(this.overrideAudValue);
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
static deserialize(deserializer: Deserializer): OpenIdSignature {
|
|
388
|
-
const jwtSignature = deserializer.deserializeStr();
|
|
389
|
-
const jwtPayloadJson = deserializer.deserializeStr();
|
|
390
|
-
const uidKey = deserializer.deserializeStr();
|
|
391
|
-
const epkBlinder = deserializer.deserializeFixedBytes(31);
|
|
392
|
-
const pepper = deserializer.deserializeFixedBytes(31);
|
|
393
|
-
const hasOverrideAudValue = deserializer.deserializeUleb128AsU32();
|
|
394
|
-
const overrideAudValue = hasOverrideAudValue ? deserializer.deserializeStr() : undefined;
|
|
395
|
-
return new OpenIdSignature({ jwtSignature, jwtPayloadJson, uidKey, epkBlinder, pepper, overrideAudValue });
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
static load(deserializer: Deserializer): OpenIdSignature {
|
|
399
|
-
const jwtSignature = deserializer.deserializeStr();
|
|
400
|
-
const jwtPayloadJson = deserializer.deserializeStr();
|
|
401
|
-
const uidKey = deserializer.deserializeStr();
|
|
402
|
-
const epkBlinder = deserializer.deserializeFixedBytes(31);
|
|
403
|
-
const pepper = deserializer.deserializeFixedBytes(31);
|
|
404
|
-
const hasOverrideAudValue = deserializer.deserializeUleb128AsU32();
|
|
405
|
-
const overrideAudValue = hasOverrideAudValue ? deserializer.deserializeStr() : undefined;
|
|
406
|
-
return new OpenIdSignature({ jwtSignature, jwtPayloadJson, uidKey, epkBlinder, pepper, overrideAudValue });
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
static isSignature(signature: Signature): signature is OpenIdSignature {
|
|
410
|
-
return signature instanceof OpenIdSignature;
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
/**
|
|
415
|
-
* A signature of a message signed via OIDC that uses proofs or the jwt token to authenticate.
|
|
416
|
-
*/
|
|
417
|
-
export class KeylessSignature extends Signature {
|
|
418
|
-
readonly openIdSignatureOrZkProof: OpenIdSignatureOrZkProof;
|
|
419
|
-
|
|
420
|
-
readonly jwtHeader: string;
|
|
421
|
-
|
|
422
|
-
readonly expiryDateSecs: bigint | number;
|
|
423
|
-
|
|
424
|
-
readonly ephemeralPublicKey: EphemeralPublicKey;
|
|
425
|
-
|
|
426
|
-
readonly ephemeralSignature: EphemeralSignature;
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* Create a new Signature instance from a Uint8Array or String.
|
|
430
|
-
*
|
|
431
|
-
* @param hexInput A HexInput (string or Uint8Array)
|
|
432
|
-
*/
|
|
433
|
-
constructor(args: {
|
|
434
|
-
jwtHeader: string;
|
|
435
|
-
openIdSignatureOrZkProof: OpenIdSignatureOrZkProof;
|
|
436
|
-
expiryDateSecs: bigint | number;
|
|
437
|
-
ephemeralPublicKey: EphemeralPublicKey;
|
|
438
|
-
ephemeralSignature: EphemeralSignature;
|
|
439
|
-
}) {
|
|
440
|
-
super();
|
|
441
|
-
const { jwtHeader, openIdSignatureOrZkProof, expiryDateSecs, ephemeralPublicKey, ephemeralSignature } = args;
|
|
442
|
-
this.jwtHeader = jwtHeader;
|
|
443
|
-
this.openIdSignatureOrZkProof = openIdSignatureOrZkProof;
|
|
444
|
-
this.expiryDateSecs = expiryDateSecs;
|
|
445
|
-
this.ephemeralPublicKey = ephemeralPublicKey;
|
|
446
|
-
this.ephemeralSignature = ephemeralSignature;
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Get the signature in bytes (Uint8Array).
|
|
451
|
-
*
|
|
452
|
-
* @returns Uint8Array representation of the signature
|
|
453
|
-
*/
|
|
454
|
-
toUint8Array(): Uint8Array {
|
|
455
|
-
return this.ephemeralSignature.toUint8Array();
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
/**
|
|
459
|
-
* Get the signature as a hex string with the 0x prefix.
|
|
460
|
-
*
|
|
461
|
-
* @returns string representation of the signature
|
|
462
|
-
*/
|
|
463
|
-
toString(): string {
|
|
464
|
-
return this.toString();
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
serialize(serializer: Serializer): void {
|
|
468
|
-
this.openIdSignatureOrZkProof.serialize(serializer);
|
|
469
|
-
serializer.serializeStr(this.jwtHeader);
|
|
470
|
-
serializer.serializeU64(this.expiryDateSecs);
|
|
471
|
-
this.ephemeralPublicKey.serialize(serializer);
|
|
472
|
-
this.ephemeralSignature.serialize(serializer);
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
static deserialize(deserializer: Deserializer): KeylessSignature {
|
|
476
|
-
const openIdSignatureOrZkProof = OpenIdSignatureOrZkProof.deserialize(deserializer);
|
|
477
|
-
const jwtHeader = deserializer.deserializeStr();
|
|
478
|
-
const expiryDateSecs = deserializer.deserializeU64();
|
|
479
|
-
const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);
|
|
480
|
-
const ephemeralSignature = EphemeralSignature.deserialize(deserializer);
|
|
481
|
-
return new KeylessSignature({
|
|
482
|
-
jwtHeader,
|
|
483
|
-
expiryDateSecs,
|
|
484
|
-
openIdSignatureOrZkProof,
|
|
485
|
-
ephemeralPublicKey,
|
|
486
|
-
ephemeralSignature,
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
static load(deserializer: Deserializer): KeylessSignature {
|
|
491
|
-
const jwtHeader = deserializer.deserializeStr();
|
|
492
|
-
const expiryDateSecs = deserializer.deserializeU64();
|
|
493
|
-
const openIdSignatureOrZkProof = OpenIdSignatureOrZkProof.deserialize(deserializer);
|
|
494
|
-
const ephemeralPublicKey = EphemeralPublicKey.deserialize(deserializer);
|
|
495
|
-
const ephemeralSignature = EphemeralSignature.deserialize(deserializer);
|
|
496
|
-
return new KeylessSignature({
|
|
497
|
-
jwtHeader,
|
|
498
|
-
expiryDateSecs,
|
|
499
|
-
openIdSignatureOrZkProof,
|
|
500
|
-
ephemeralPublicKey,
|
|
501
|
-
ephemeralSignature,
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
static isSignature(signature: Signature): signature is KeylessSignature {
|
|
506
|
-
return signature instanceof KeylessSignature;
|
|
507
|
-
}
|
|
508
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-bitwise */
|
|
2
|
-
import {
|
|
3
|
-
poseidon1,
|
|
4
|
-
poseidon2,
|
|
5
|
-
poseidon3,
|
|
6
|
-
poseidon4,
|
|
7
|
-
poseidon5,
|
|
8
|
-
poseidon6,
|
|
9
|
-
poseidon7,
|
|
10
|
-
poseidon8,
|
|
11
|
-
poseidon9,
|
|
12
|
-
poseidon10,
|
|
13
|
-
poseidon11,
|
|
14
|
-
poseidon12,
|
|
15
|
-
poseidon13,
|
|
16
|
-
poseidon14,
|
|
17
|
-
poseidon15,
|
|
18
|
-
poseidon16,
|
|
19
|
-
} from "poseidon-lite";
|
|
20
|
-
|
|
21
|
-
const numInputsToPoseidonFunc = [
|
|
22
|
-
poseidon1,
|
|
23
|
-
poseidon2,
|
|
24
|
-
poseidon3,
|
|
25
|
-
poseidon4,
|
|
26
|
-
poseidon5,
|
|
27
|
-
poseidon6,
|
|
28
|
-
poseidon7,
|
|
29
|
-
poseidon8,
|
|
30
|
-
poseidon9,
|
|
31
|
-
poseidon10,
|
|
32
|
-
poseidon11,
|
|
33
|
-
poseidon12,
|
|
34
|
-
poseidon13,
|
|
35
|
-
poseidon14,
|
|
36
|
-
poseidon15,
|
|
37
|
-
poseidon16,
|
|
38
|
-
];
|
|
39
|
-
|
|
40
|
-
const BYTES_PACKED_PER_SCALAR = 31;
|
|
41
|
-
const MAX_NUM_INPUT_SCALARS = 16;
|
|
42
|
-
const MAX_NUM_INPUT_BYTES = (MAX_NUM_INPUT_SCALARS - 1) * BYTES_PACKED_PER_SCALAR;
|
|
43
|
-
|
|
44
|
-
// hashes an ASCII string to a field element
|
|
45
|
-
export function hashASCIIStrToField(str: string, maxSizeBytes: number) {
|
|
46
|
-
const textEncoder = new TextEncoder();
|
|
47
|
-
const strBytes = textEncoder.encode(str);
|
|
48
|
-
return hashBytesWithLen(strBytes, maxSizeBytes);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function hashBytesWithLen(bytes: Uint8Array, maxSizeBytes: number) {
|
|
52
|
-
if (bytes.length > maxSizeBytes) {
|
|
53
|
-
throw new Error(`Inputted bytes of length ${bytes} is longer than ${maxSizeBytes}`);
|
|
54
|
-
}
|
|
55
|
-
const packed = padAndPackBytesWithLen(bytes, maxSizeBytes);
|
|
56
|
-
return poseidonHash(packed);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function padAndPackBytesNoLen(bytes: Uint8Array, maxSizeBytes: number): bigint[] {
|
|
60
|
-
if (bytes.length > maxSizeBytes) {
|
|
61
|
-
throw new Error(`Input bytes of length ${bytes} is longer than ${maxSizeBytes}`);
|
|
62
|
-
}
|
|
63
|
-
const paddedStrBytes = padUint8ArrayWithZeros(bytes, maxSizeBytes);
|
|
64
|
-
return packBytes(paddedStrBytes);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export function padAndPackBytesWithLen(bytes: Uint8Array, maxSizeBytes: number): bigint[] {
|
|
68
|
-
if (bytes.length > maxSizeBytes) {
|
|
69
|
-
throw new Error(`Input bytes of length ${bytes} is longer than ${maxSizeBytes}`);
|
|
70
|
-
}
|
|
71
|
-
return padAndPackBytesNoLen(bytes, maxSizeBytes).concat([BigInt(bytes.length)]);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function packBytes(bytes: Uint8Array): bigint[] {
|
|
75
|
-
if (bytes.length > MAX_NUM_INPUT_BYTES) {
|
|
76
|
-
throw new Error(`Can't pack more than ${MAX_NUM_INPUT_BYTES}. Was given ${bytes.length} bytes`);
|
|
77
|
-
}
|
|
78
|
-
return chunkUint8Array(bytes, BYTES_PACKED_PER_SCALAR).map((chunk) => bytesToBigIntLE(chunk));
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function chunkUint8Array(array: Uint8Array, chunkSize: number): Uint8Array[] {
|
|
82
|
-
const result: Uint8Array[] = [];
|
|
83
|
-
for (let i = 0; i < array.length; i += chunkSize) {
|
|
84
|
-
result.push(array.subarray(i, i + chunkSize));
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export function bytesToBigIntLE(bytes: Uint8Array): bigint {
|
|
90
|
-
let result = BigInt(0);
|
|
91
|
-
for (let i = bytes.length - 1; i >= 0; i -= 1) {
|
|
92
|
-
result = (result << BigInt(8)) | BigInt(bytes[i]);
|
|
93
|
-
}
|
|
94
|
-
return result;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export function bigIntToBytesLE(value: bigint, length: number): Uint8Array {
|
|
98
|
-
const bytes = new Uint8Array(length);
|
|
99
|
-
for (let i = 0; i < length; i += 1) {
|
|
100
|
-
bytes[i] = Number(value & BigInt(0xff));
|
|
101
|
-
// eslint-disable-next-line no-param-reassign
|
|
102
|
-
value >>= BigInt(8);
|
|
103
|
-
}
|
|
104
|
-
return bytes;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// From chatGPT
|
|
108
|
-
function padUint8ArrayWithZeros(inputArray: Uint8Array, paddedSize: number): Uint8Array {
|
|
109
|
-
if (paddedSize < inputArray.length) {
|
|
110
|
-
throw new Error("Padded size must be greater than or equal to the input array size.");
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Create a new Uint8Array with the padded size
|
|
114
|
-
const paddedArray = new Uint8Array(paddedSize);
|
|
115
|
-
|
|
116
|
-
// Copy the content of the input array to the new array
|
|
117
|
-
paddedArray.set(inputArray);
|
|
118
|
-
|
|
119
|
-
// Fill the remaining space with zeros
|
|
120
|
-
for (let i = inputArray.length; i < paddedSize; i += 1) {
|
|
121
|
-
paddedArray[i] = 0;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return paddedArray;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export function poseidonHash(inputs: (number | bigint | string)[]): bigint {
|
|
128
|
-
const poseidonFixedHash = numInputsToPoseidonFunc[inputs.length - 1];
|
|
129
|
-
|
|
130
|
-
if (poseidonFixedHash) {
|
|
131
|
-
return poseidonFixedHash(inputs);
|
|
132
|
-
}
|
|
133
|
-
throw new Error(`Unable to hash input of length ${inputs.length}`);
|
|
134
|
-
}
|