@aptos-labs/ts-sdk 1.13.0-zeta.1 → 1.13.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/common/index.d.ts +1399 -1825
- package/dist/common/index.js +26 -26
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-hkKk3b4Z.d.mts → Ed25519Account--qjfup2u.d.mts} +13 -11
- package/dist/esm/api/account.d.mts +1 -13
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +12 -12
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +8 -15
- 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 +9 -9
- 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 +9 -9
- 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 -14
- 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-RBDX3YWC.mjs → chunk-2SPJ7XZB.mjs} +2 -2
- package/dist/esm/chunk-32PB5F74.mjs +2 -0
- package/dist/esm/chunk-32PB5F74.mjs.map +1 -0
- package/dist/esm/chunk-3YCG7Y63.mjs +2 -0
- package/dist/esm/chunk-3YCG7Y63.mjs.map +1 -0
- package/dist/esm/chunk-4QMXOWHP.mjs +1 -0
- package/dist/esm/{chunk-7M3U2I23.mjs → chunk-4UJ5Y6QQ.mjs} +2 -2
- package/dist/esm/{chunk-52DBSOFA.mjs → chunk-52C73T26.mjs} +2 -2
- package/dist/esm/{chunk-52DBSOFA.mjs.map → chunk-52C73T26.mjs.map} +1 -1
- package/dist/esm/chunk-5M7D6SXS.mjs +2 -0
- package/dist/esm/chunk-5M7D6SXS.mjs.map +1 -0
- package/dist/esm/chunk-5RE43AX2.mjs +2 -0
- package/dist/esm/{chunk-OVXWFD2N.mjs.map → chunk-5RE43AX2.mjs.map} +1 -1
- package/dist/esm/{chunk-YNBWXDRS.mjs → chunk-6GZ5SUUK.mjs} +2 -2
- package/dist/esm/{chunk-XESYWLDD.mjs → chunk-6T4IFH73.mjs} +2 -2
- package/dist/esm/chunk-6T4IFH73.mjs.map +1 -0
- package/dist/esm/{chunk-5TNUDFLP.mjs → chunk-BGW77OLE.mjs} +2 -2
- package/dist/esm/{chunk-MRCVSUJQ.mjs → chunk-BWFJHFBQ.mjs} +2 -2
- package/dist/esm/chunk-CYNQRMO5.mjs +2 -0
- package/dist/esm/chunk-CYNQRMO5.mjs.map +1 -0
- package/dist/esm/chunk-CYTNMIOT.mjs +2 -0
- package/dist/esm/chunk-CYTNMIOT.mjs.map +1 -0
- package/dist/esm/{chunk-BQCIUNLZ.mjs → chunk-CZF6JTC2.mjs} +2 -2
- package/dist/esm/chunk-DJ5TUMIY.mjs +2 -0
- package/dist/esm/chunk-DJ5TUMIY.mjs.map +1 -0
- package/dist/esm/{chunk-Q225PZMV.mjs → chunk-DMKUAQB7.mjs} +2 -2
- package/dist/esm/{chunk-RM7D2ITN.mjs → chunk-DSTKXJMA.mjs} +2 -2
- package/dist/esm/{chunk-P4UY6YKM.mjs → chunk-DW4FAHFT.mjs} +2 -2
- package/dist/esm/{chunk-CHL5NDZD.mjs → chunk-DW5XFUDM.mjs} +2 -2
- package/dist/esm/chunk-E7FWVXGX.mjs +1 -0
- package/dist/esm/{chunk-CYWA4AJF.mjs → chunk-E7OPTWPP.mjs} +2 -2
- package/dist/esm/{chunk-5D65Z2SG.mjs → chunk-F2LL2BWZ.mjs} +2 -2
- package/dist/esm/chunk-F2LL2BWZ.mjs.map +1 -0
- package/dist/esm/{chunk-3FL3NLZ6.mjs → chunk-F5O5BBEK.mjs} +2 -2
- package/dist/esm/{chunk-35ZI4WOQ.mjs → chunk-FS3NSGBF.mjs} +2 -2
- package/dist/esm/chunk-H3NRKYG4.mjs +2 -0
- package/dist/esm/chunk-H3NRKYG4.mjs.map +1 -0
- package/dist/esm/chunk-HDDI532F.mjs +2 -0
- package/dist/esm/chunk-HDDI532F.mjs.map +1 -0
- package/dist/esm/chunk-HHETZQ6D.mjs +2 -0
- package/dist/esm/{chunk-TR6Q7RSZ.mjs.map → chunk-HHETZQ6D.mjs.map} +1 -1
- package/dist/esm/{chunk-T3QZ5HSE.mjs → chunk-HLBUOMKA.mjs} +2 -2
- package/dist/esm/chunk-HLBUOMKA.mjs.map +1 -0
- package/dist/esm/{chunk-NU6UF6RM.mjs → chunk-I24X55BI.mjs} +2 -2
- package/dist/esm/{chunk-2QGT5DK3.mjs → chunk-I2RHCBHM.mjs} +2 -2
- package/dist/esm/{chunk-2I2XAOH7.mjs → chunk-ILTVKYMT.mjs} +2 -2
- package/dist/esm/{chunk-U7EZI5D5.mjs → chunk-IOSQVDZI.mjs} +2 -2
- package/dist/esm/{chunk-R25D6NBC.mjs → chunk-J5WUVXKC.mjs} +2 -2
- package/dist/esm/chunk-J5WUVXKC.mjs.map +1 -0
- package/dist/esm/{chunk-VJCQBX6V.mjs → chunk-JAIQBRLH.mjs} +2 -2
- package/dist/esm/{chunk-XJFGX3E4.mjs → chunk-JK23P2GY.mjs} +2 -2
- package/dist/esm/chunk-JK23P2GY.mjs.map +1 -0
- package/dist/esm/chunk-KBRRTSF6.mjs +2 -0
- package/dist/esm/{chunk-T7TIIAWK.mjs.map → chunk-KBRRTSF6.mjs.map} +1 -1
- package/dist/esm/{chunk-YP3RMVL3.mjs → chunk-KECXKWWV.mjs} +2 -2
- package/dist/esm/{chunk-YIG37BG2.mjs → chunk-LGVHYLN2.mjs} +2 -2
- package/dist/esm/chunk-LGVHYLN2.mjs.map +1 -0
- package/dist/esm/chunk-LJ6MB5U7.mjs +2 -0
- package/dist/esm/chunk-LR65XHSF.mjs +2 -0
- package/dist/esm/chunk-LR65XHSF.mjs.map +1 -0
- package/dist/esm/chunk-LYCGUGYR.mjs +2 -0
- package/dist/esm/chunk-LYCGUGYR.mjs.map +1 -0
- package/dist/esm/chunk-M3NK6GOI.mjs +2 -0
- package/dist/esm/chunk-M3NK6GOI.mjs.map +1 -0
- package/dist/esm/{chunk-B645DPPF.mjs → chunk-MFFSJJSY.mjs} +2 -2
- package/dist/esm/chunk-MLWIHWNH.mjs +1 -0
- package/dist/esm/chunk-MQXSU6GN.mjs +2 -0
- package/dist/esm/{chunk-LVYKZS54.mjs.map → chunk-MQXSU6GN.mjs.map} +1 -1
- package/dist/esm/{chunk-JYFKKB34.mjs → chunk-NPFNYP75.mjs} +2 -2
- package/dist/esm/{chunk-RXMGJBCP.mjs → chunk-O5ZLNJ6Z.mjs} +2 -2
- package/dist/esm/chunk-O5ZLNJ6Z.mjs.map +1 -0
- package/dist/esm/{chunk-V7VV5QW4.mjs → chunk-O7P52OOA.mjs} +2 -2
- package/dist/esm/{chunk-ZGWWPB3D.mjs → chunk-O7PPRJJC.mjs} +2 -2
- package/dist/esm/chunk-O7PPRJJC.mjs.map +1 -0
- package/dist/esm/chunk-OATDMLDK.mjs +2 -0
- package/dist/esm/chunk-OATDMLDK.mjs.map +1 -0
- package/dist/esm/chunk-OMC3ZGKN.mjs +2 -0
- package/dist/esm/chunk-OMC3ZGKN.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-MKHPGY3O.mjs → chunk-OZNBOCEF.mjs} +2 -2
- package/dist/esm/chunk-PNGS6IWC.mjs +2 -0
- package/dist/esm/{chunk-VVJEWB26.mjs → chunk-QIAHBEEW.mjs} +2 -2
- package/dist/esm/{chunk-ED6PYTNG.mjs → chunk-QM4UQVGB.mjs} +2 -2
- package/dist/esm/{chunk-KX5ESZO7.mjs → chunk-R5QUBEH6.mjs} +2 -2
- package/dist/esm/chunk-R7G3CLRI.mjs +1 -0
- package/dist/esm/{chunk-WZCUABDL.mjs → chunk-RHBCVCOS.mjs} +2 -2
- package/dist/esm/{chunk-7EQOLMEJ.mjs → chunk-TBMAJ6AW.mjs} +2 -2
- package/dist/esm/{chunk-IVBYTTN7.mjs → chunk-U43IJHQN.mjs} +2 -2
- package/dist/esm/{chunk-XI4LX4EC.mjs → chunk-UML2VQZT.mjs} +2 -2
- package/dist/esm/chunk-UVSRX4SV.mjs +1 -0
- package/dist/esm/chunk-V6SPPOWX.mjs +2 -0
- package/dist/esm/chunk-VVMR7UKB.mjs +2 -0
- package/dist/esm/chunk-VVMR7UKB.mjs.map +1 -0
- package/dist/esm/{chunk-2VCKY2ZJ.mjs → chunk-WFL6YWJS.mjs} +2 -2
- package/dist/esm/{chunk-HZC6A3QL.mjs → chunk-WFZDFFBM.mjs} +2 -2
- package/dist/esm/chunk-WZNX3RBA.mjs +2 -0
- package/dist/esm/chunk-XDGQTMDV.mjs +2 -0
- package/dist/esm/chunk-XDGQTMDV.mjs.map +1 -0
- package/dist/esm/chunk-XRAL7KVT.mjs +2 -0
- package/dist/esm/chunk-XRAL7KVT.mjs.map +1 -0
- package/dist/esm/{chunk-U426PZNM.mjs → chunk-Y5GRH4YJ.mjs} +2 -2
- package/dist/esm/chunk-Y5GRH4YJ.mjs.map +1 -0
- package/dist/esm/{chunk-KMHJNUXU.mjs → chunk-YUN2JVAN.mjs} +2 -2
- package/dist/esm/{chunk-KBSAS57Q.mjs → chunk-YVIP7DMT.mjs} +2 -2
- package/dist/esm/{chunk-OAOJVE5X.mjs → chunk-YWN2T4IU.mjs} +2 -2
- package/dist/esm/chunk-YZKDNVA5.mjs +2 -0
- package/dist/esm/chunk-YZKDNVA5.mjs.map +1 -0
- package/dist/esm/{chunk-UZHVGPGH.mjs → chunk-ZYYK3UXP.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 +21 -0
- package/dist/esm/core/account/index.mjs +2 -0
- 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 +3 -3
- 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 +10 -10
- 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 +9 -9
- 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 +28 -6
- 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 +3 -5
- 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/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 -13
- 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 +7 -13
- package/src/core/account/index.ts +4 -0
- package/src/core/crypto/ed25519.ts +24 -6
- package/src/core/crypto/hdKey.ts +0 -31
- package/src/core/crypto/index.ts +0 -2
- package/src/core/crypto/multiKey.ts +11 -23
- 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 +10 -9
- 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 -2
- package/src/transactions/transactionBuilder/transactionBuilder.ts +128 -40
- package/src/types/index.ts +0 -20
- package/src/utils/apiEndpoints.ts +1 -14
- package/src/utils/const.ts +2 -4
- 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 -42
- package/dist/esm/account/EphemeralKeyPair.mjs +0 -2
- package/dist/esm/account/KeylessAccount.d.mts +0 -85
- 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 -75
- package/dist/esm/api/keyless.mjs +0 -2
- package/dist/esm/chunk-2FKQJL3H.mjs +0 -2
- package/dist/esm/chunk-2FKQJL3H.mjs.map +0 -1
- package/dist/esm/chunk-2HXKDHMA.mjs +0 -2
- package/dist/esm/chunk-2HXKDHMA.mjs.map +0 -1
- package/dist/esm/chunk-2MPLQPZT.mjs +0 -2
- package/dist/esm/chunk-2MPLQPZT.mjs.map +0 -1
- package/dist/esm/chunk-2Z4N3GLA.mjs +0 -2
- package/dist/esm/chunk-2Z4N3GLA.mjs.map +0 -1
- package/dist/esm/chunk-3J2Q7O57.mjs +0 -2
- package/dist/esm/chunk-3J2Q7O57.mjs.map +0 -1
- package/dist/esm/chunk-4AOGG725.mjs +0 -2
- package/dist/esm/chunk-4AOGG725.mjs.map +0 -1
- package/dist/esm/chunk-5D65Z2SG.mjs.map +0 -1
- package/dist/esm/chunk-5GIWRESN.mjs +0 -2
- package/dist/esm/chunk-6OKRMOWR.mjs +0 -2
- package/dist/esm/chunk-6OKRMOWR.mjs.map +0 -1
- package/dist/esm/chunk-7Z6DYLCA.mjs +0 -1
- package/dist/esm/chunk-ACOL3VVP.mjs +0 -2
- package/dist/esm/chunk-ACOL3VVP.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-ATXQWKVH.mjs +0 -2
- package/dist/esm/chunk-ATXQWKVH.mjs.map +0 -1
- package/dist/esm/chunk-EMFDNUP2.mjs +0 -2
- package/dist/esm/chunk-EMFDNUP2.mjs.map +0 -1
- package/dist/esm/chunk-EY3FIYMV.mjs +0 -2
- package/dist/esm/chunk-EY3FIYMV.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-HTO4EQNT.mjs +0 -2
- package/dist/esm/chunk-HTO4EQNT.mjs.map +0 -1
- package/dist/esm/chunk-J5SQQQPI.mjs +0 -2
- package/dist/esm/chunk-JXCZTOYC.mjs +0 -1
- package/dist/esm/chunk-JXCZTOYC.mjs.map +0 -1
- package/dist/esm/chunk-KWDJ4YOP.mjs +0 -2
- package/dist/esm/chunk-KWDJ4YOP.mjs.map +0 -1
- package/dist/esm/chunk-LVYKZS54.mjs +0 -2
- package/dist/esm/chunk-MAFSWKAF.mjs +0 -2
- package/dist/esm/chunk-MAFSWKAF.mjs.map +0 -1
- package/dist/esm/chunk-MX3YIOU5.mjs +0 -2
- package/dist/esm/chunk-MX3YIOU5.mjs.map +0 -1
- package/dist/esm/chunk-NJWTXEHT.mjs +0 -2
- package/dist/esm/chunk-NJWTXEHT.mjs.map +0 -1
- package/dist/esm/chunk-ODA4KV4Q.mjs +0 -2
- package/dist/esm/chunk-OVXWFD2N.mjs +0 -2
- package/dist/esm/chunk-Q6CZDSLM.mjs +0 -2
- package/dist/esm/chunk-R25D6NBC.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-RXMGJBCP.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-SCPXFKEK.mjs +0 -2
- package/dist/esm/chunk-SCPXFKEK.mjs.map +0 -1
- package/dist/esm/chunk-T3QZ5HSE.mjs.map +0 -1
- package/dist/esm/chunk-T7TIIAWK.mjs +0 -2
- package/dist/esm/chunk-TR6Q7RSZ.mjs +0 -2
- package/dist/esm/chunk-TT2VLL52.mjs +0 -2
- package/dist/esm/chunk-TT2VLL52.mjs.map +0 -1
- package/dist/esm/chunk-U426PZNM.mjs.map +0 -1
- package/dist/esm/chunk-ULUMROUJ.mjs +0 -2
- package/dist/esm/chunk-ULUMROUJ.mjs.map +0 -1
- package/dist/esm/chunk-VAZQVN5V.mjs +0 -2
- package/dist/esm/chunk-VAZQVN5V.mjs.map +0 -1
- package/dist/esm/chunk-WF737YNO.mjs +0 -2
- package/dist/esm/chunk-WF737YNO.mjs.map +0 -1
- package/dist/esm/chunk-XESYWLDD.mjs.map +0 -1
- package/dist/esm/chunk-XJ3HRNOP.mjs +0 -2
- package/dist/esm/chunk-XJ3HRNOP.mjs.map +0 -1
- package/dist/esm/chunk-XJFGX3E4.mjs.map +0 -1
- package/dist/esm/chunk-YIG37BG2.mjs.map +0 -1
- package/dist/esm/chunk-YPBHGSXY.mjs +0 -2
- package/dist/esm/chunk-YPBHGSXY.mjs.map +0 -1
- package/dist/esm/chunk-YU7DNMEA.mjs +0 -2
- package/dist/esm/chunk-YU7DNMEA.mjs.map +0 -1
- package/dist/esm/chunk-ZG6HOK6A.mjs +0 -2
- package/dist/esm/chunk-ZG6HOK6A.mjs.map +0 -1
- package/dist/esm/chunk-ZGWWPB3D.mjs.map +0 -1
- package/dist/esm/chunk-ZUDMSBVZ.mjs +0 -2
- package/dist/esm/chunk-ZUDMSBVZ.mjs.map +0 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +0 -76
- 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 -68
- 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 -78
- package/src/account/KeylessAccount.ts +0 -230
- package/src/account/MultiKeyAccount.ts +0 -121
- package/src/account/index.ts +0 -6
- package/src/api/keyless.ts +0 -55
- package/src/core/crypto/ephemeral.ts +0 -147
- package/src/core/crypto/keyless.ts +0 -502
- package/src/core/crypto/poseidon.ts +0 -134
- package/src/internal/keyless.ts +0 -205
- package/src/transactions/transactionBuilder/signingMessage.ts +0 -75
- package/src/types/keyless.ts +0 -6
- /package/dist/esm/{chunk-RBDX3YWC.mjs.map → chunk-2SPJ7XZB.mjs.map} +0 -0
- /package/dist/esm/{account/Account.mjs.map → chunk-4QMXOWHP.mjs.map} +0 -0
- /package/dist/esm/{chunk-7M3U2I23.mjs.map → chunk-4UJ5Y6QQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-YNBWXDRS.mjs.map → chunk-6GZ5SUUK.mjs.map} +0 -0
- /package/dist/esm/{chunk-5TNUDFLP.mjs.map → chunk-BGW77OLE.mjs.map} +0 -0
- /package/dist/esm/{chunk-MRCVSUJQ.mjs.map → chunk-BWFJHFBQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-BQCIUNLZ.mjs.map → chunk-CZF6JTC2.mjs.map} +0 -0
- /package/dist/esm/{chunk-Q225PZMV.mjs.map → chunk-DMKUAQB7.mjs.map} +0 -0
- /package/dist/esm/{chunk-RM7D2ITN.mjs.map → chunk-DSTKXJMA.mjs.map} +0 -0
- /package/dist/esm/{chunk-P4UY6YKM.mjs.map → chunk-DW4FAHFT.mjs.map} +0 -0
- /package/dist/esm/{chunk-CHL5NDZD.mjs.map → chunk-DW5XFUDM.mjs.map} +0 -0
- /package/dist/esm/{account/Ed25519Account.mjs.map → chunk-E7FWVXGX.mjs.map} +0 -0
- /package/dist/esm/{chunk-CYWA4AJF.mjs.map → chunk-E7OPTWPP.mjs.map} +0 -0
- /package/dist/esm/{chunk-3FL3NLZ6.mjs.map → chunk-F5O5BBEK.mjs.map} +0 -0
- /package/dist/esm/{chunk-35ZI4WOQ.mjs.map → chunk-FS3NSGBF.mjs.map} +0 -0
- /package/dist/esm/{chunk-NU6UF6RM.mjs.map → chunk-I24X55BI.mjs.map} +0 -0
- /package/dist/esm/{chunk-2QGT5DK3.mjs.map → chunk-I2RHCBHM.mjs.map} +0 -0
- /package/dist/esm/{chunk-2I2XAOH7.mjs.map → chunk-ILTVKYMT.mjs.map} +0 -0
- /package/dist/esm/{chunk-U7EZI5D5.mjs.map → chunk-IOSQVDZI.mjs.map} +0 -0
- /package/dist/esm/{chunk-VJCQBX6V.mjs.map → chunk-JAIQBRLH.mjs.map} +0 -0
- /package/dist/esm/{chunk-YP3RMVL3.mjs.map → chunk-KECXKWWV.mjs.map} +0 -0
- /package/dist/esm/{chunk-ODA4KV4Q.mjs.map → chunk-LJ6MB5U7.mjs.map} +0 -0
- /package/dist/esm/{chunk-B645DPPF.mjs.map → chunk-MFFSJJSY.mjs.map} +0 -0
- /package/dist/esm/{account/EphemeralKeyPair.mjs.map → chunk-MLWIHWNH.mjs.map} +0 -0
- /package/dist/esm/{chunk-JYFKKB34.mjs.map → chunk-NPFNYP75.mjs.map} +0 -0
- /package/dist/esm/{chunk-V7VV5QW4.mjs.map → chunk-O7P52OOA.mjs.map} +0 -0
- /package/dist/esm/{chunk-MKHPGY3O.mjs.map → chunk-OZNBOCEF.mjs.map} +0 -0
- /package/dist/esm/{chunk-Q6CZDSLM.mjs.map → chunk-PNGS6IWC.mjs.map} +0 -0
- /package/dist/esm/{chunk-VVJEWB26.mjs.map → chunk-QIAHBEEW.mjs.map} +0 -0
- /package/dist/esm/{chunk-ED6PYTNG.mjs.map → chunk-QM4UQVGB.mjs.map} +0 -0
- /package/dist/esm/{chunk-KX5ESZO7.mjs.map → chunk-R5QUBEH6.mjs.map} +0 -0
- /package/dist/esm/{account/KeylessAccount.mjs.map → chunk-R7G3CLRI.mjs.map} +0 -0
- /package/dist/esm/{chunk-WZCUABDL.mjs.map → chunk-RHBCVCOS.mjs.map} +0 -0
- /package/dist/esm/{chunk-7EQOLMEJ.mjs.map → chunk-TBMAJ6AW.mjs.map} +0 -0
- /package/dist/esm/{chunk-IVBYTTN7.mjs.map → chunk-U43IJHQN.mjs.map} +0 -0
- /package/dist/esm/{chunk-XI4LX4EC.mjs.map → chunk-UML2VQZT.mjs.map} +0 -0
- /package/dist/esm/{account/MultiKeyAccount.mjs.map → chunk-UVSRX4SV.mjs.map} +0 -0
- /package/dist/esm/{chunk-5GIWRESN.mjs.map → chunk-V6SPPOWX.mjs.map} +0 -0
- /package/dist/esm/{chunk-2VCKY2ZJ.mjs.map → chunk-WFL6YWJS.mjs.map} +0 -0
- /package/dist/esm/{chunk-HZC6A3QL.mjs.map → chunk-WFZDFFBM.mjs.map} +0 -0
- /package/dist/esm/{chunk-J5SQQQPI.mjs.map → chunk-WZNX3RBA.mjs.map} +0 -0
- /package/dist/esm/{chunk-KMHJNUXU.mjs.map → chunk-YUN2JVAN.mjs.map} +0 -0
- /package/dist/esm/{chunk-KBSAS57Q.mjs.map → chunk-YVIP7DMT.mjs.map} +0 -0
- /package/dist/esm/{chunk-OAOJVE5X.mjs.map → chunk-YWN2T4IU.mjs.map} +0 -0
- /package/dist/esm/{chunk-UZHVGPGH.mjs.map → chunk-ZYYK3UXP.mjs.map} +0 -0
- /package/dist/esm/{account/SingleKeyAccount.mjs.map → core/account/Account.mjs.map} +0 -0
- /package/dist/esm/{account/index.mjs.map → core/account/Ed25519Account.mjs.map} +0 -0
- /package/dist/esm/{api/keyless.mjs.map → core/account/SingleKeyAccount.mjs.map} +0 -0
- /package/dist/esm/{chunk-7Z6DYLCA.mjs.map → core/account/index.mjs.map} +0 -0
|
@@ -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
|
-
}
|
package/src/internal/keyless.ts
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
// Copyright © Aptos Foundation
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* This file contains the underlying implementations for exposed API surface in
|
|
6
|
-
* the {@link api/oidb}. By moving the methods out into a separate file,
|
|
7
|
-
* other namespaces and processes can access these methods without depending on the entire
|
|
8
|
-
* faucet namespace and without having a dependency cycle error.
|
|
9
|
-
*/
|
|
10
|
-
import { jwtDecode } from "jwt-decode";
|
|
11
|
-
import { bls12_381 as bls } from "@noble/curves/bls12-381";
|
|
12
|
-
import { ProjPointType } from "@noble/curves/abstract/weierstrass";
|
|
13
|
-
import { AptosConfig } from "../api/aptosConfig";
|
|
14
|
-
import { getAptosPepperService, postAptosPepperService, postAptosProvingService } from "../client";
|
|
15
|
-
import {
|
|
16
|
-
APTOS_BIP44_DEFAULT_DERIVATION_PATH,
|
|
17
|
-
EPK_HORIZON_SECS,
|
|
18
|
-
EphemeralSignature,
|
|
19
|
-
Groth16Zkp,
|
|
20
|
-
Hex,
|
|
21
|
-
MultiKey,
|
|
22
|
-
SignedGroth16Signature,
|
|
23
|
-
} from "../core";
|
|
24
|
-
import { HexInput } from "../types";
|
|
25
|
-
import { Serializer } from "../bcs";
|
|
26
|
-
import { EphemeralKeyPair, KeylessAccount, MultiKeyAccount } from "../account";
|
|
27
|
-
import { PepperFetchResponse, ProverResponse } from "../types/keyless";
|
|
28
|
-
|
|
29
|
-
const APTOS_KEYLESS_PEPPER_PINKAS_VUF_DST = "APTOS_KEYLESS_PEPPER_PINKAS_VUF_DST";
|
|
30
|
-
|
|
31
|
-
function stringToUint8Array(str: string): Uint8Array {
|
|
32
|
-
const encoder = new TextEncoder();
|
|
33
|
-
return encoder.encode(str);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const PINKAS_VUF_SECRET_KEY_BASE_AFFINE = bls.G2.hashToCurve(
|
|
37
|
-
stringToUint8Array("APTOS_KEYLESS_PEPPER_PINKAS_VUF_SECRET_KEY_BASE"),
|
|
38
|
-
{ DST: APTOS_KEYLESS_PEPPER_PINKAS_VUF_DST },
|
|
39
|
-
).toAffine();
|
|
40
|
-
|
|
41
|
-
function getPepperInput(args: { jwt: string; uidKey?: string }): ProjPointType<bigint> {
|
|
42
|
-
const { jwt, uidKey } = args;
|
|
43
|
-
const jwtPayload = jwtDecode<{ [key: string]: string }>(jwt);
|
|
44
|
-
const serializer = new Serializer();
|
|
45
|
-
serializer.serializeStr(jwtPayload.iss);
|
|
46
|
-
serializer.serializeStr(jwtPayload.aud);
|
|
47
|
-
serializer.serializeStr(jwtPayload[uidKey || "sub"]);
|
|
48
|
-
serializer.serializeStr(uidKey || "sub");
|
|
49
|
-
const serial = serializer.toUint8Array();
|
|
50
|
-
const msg = bls.G1.hashToCurve(serial, { DST: "APTOS_PEPPER_SERVICE_BLS12381_VUF_DST" }).toAffine();
|
|
51
|
-
const pp = bls.G1.ProjectivePoint.fromAffine(msg);
|
|
52
|
-
return pp;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
async function verifyPepperBase(args: {
|
|
56
|
-
aptosConfig: AptosConfig;
|
|
57
|
-
pepperInput: ProjPointType<bigint>;
|
|
58
|
-
pepperBase: Uint8Array;
|
|
59
|
-
}): Promise<boolean> {
|
|
60
|
-
const { aptosConfig, pepperInput, pepperBase } = args;
|
|
61
|
-
const { data: pubKeyResponse } = await getAptosPepperService<any, { vrf_public_key_hex_string: string }>({
|
|
62
|
-
aptosConfig,
|
|
63
|
-
path: "vrf-pub-key",
|
|
64
|
-
originMethod: "getPepper",
|
|
65
|
-
});
|
|
66
|
-
const publicKeyFromService = bls.G2.ProjectivePoint.fromHex(pubKeyResponse.vrf_public_key_hex_string);
|
|
67
|
-
return bls.verifyShortSignature(pepperBase, pepperInput, publicKeyFromService);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export async function getPepper(args: {
|
|
71
|
-
aptosConfig: AptosConfig;
|
|
72
|
-
jwt: string;
|
|
73
|
-
ephemeralKeyPair: EphemeralKeyPair;
|
|
74
|
-
uidKey?: string;
|
|
75
|
-
derivationPath?: string;
|
|
76
|
-
verify?: boolean;
|
|
77
|
-
}): Promise<Uint8Array> {
|
|
78
|
-
const { aptosConfig, jwt, ephemeralKeyPair, uidKey, verify } = args;
|
|
79
|
-
let { derivationPath } = args;
|
|
80
|
-
|
|
81
|
-
const body = {
|
|
82
|
-
jwt_b64: jwt,
|
|
83
|
-
epk: ephemeralKeyPair.publicKey.bcsToHex().toStringWithoutPrefix(),
|
|
84
|
-
exp_date_secs: Number(ephemeralKeyPair.expiryDateSecs),
|
|
85
|
-
epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
|
|
86
|
-
uid_key: uidKey,
|
|
87
|
-
};
|
|
88
|
-
// console.log(JSON.stringify(body));
|
|
89
|
-
const { data } = await postAptosPepperService<any, PepperFetchResponse>({
|
|
90
|
-
aptosConfig,
|
|
91
|
-
path: "fetch",
|
|
92
|
-
body,
|
|
93
|
-
originMethod: "getPepper",
|
|
94
|
-
overrides: { WITH_CREDENTIALS: false },
|
|
95
|
-
});
|
|
96
|
-
const pepperBase = Hex.fromHexInput(data.signature).toUint8Array();
|
|
97
|
-
|
|
98
|
-
if (verify) {
|
|
99
|
-
const pepperVerified = verifyPepperBase({ aptosConfig, pepperBase, pepperInput: getPepperInput(args) });
|
|
100
|
-
if (!pepperVerified) {
|
|
101
|
-
throw new Error("Unable to verify");
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// This takes the BLS VUF H(m)^sk and transforms it into a Pinkas VUF e(H(m), g_3^sk), where g_3 is the base of the secret key (computed pseudo-randomly via hash-to-curve).
|
|
105
|
-
// This gives us the freedom of either decentralizing the pepper service as a BLS-based MPC or on top of the validators, by reusing the Pinkas WVUF-based randomness infrastructure.
|
|
106
|
-
const newPepperBase = bls.pairing(
|
|
107
|
-
bls.G1.ProjectivePoint.fromHex(pepperBase),
|
|
108
|
-
bls.G2.ProjectivePoint.fromAffine(PINKAS_VUF_SECRET_KEY_BASE_AFFINE),
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
if (derivationPath === undefined) {
|
|
112
|
-
derivationPath = APTOS_BIP44_DEFAULT_DERIVATION_PATH;
|
|
113
|
-
}
|
|
114
|
-
const pepper = KeylessAccount.fromDerivationPath(derivationPath, bls.fields.Fp12.toBytes(newPepperBase));
|
|
115
|
-
return pepper.slice(0, 31);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
export async function getProof(args: {
|
|
119
|
-
aptosConfig: AptosConfig;
|
|
120
|
-
jwt: string;
|
|
121
|
-
ephemeralKeyPair: EphemeralKeyPair;
|
|
122
|
-
pepper: HexInput;
|
|
123
|
-
uidKey?: string;
|
|
124
|
-
extraFieldKey?: string;
|
|
125
|
-
}): Promise<SignedGroth16Signature> {
|
|
126
|
-
const { aptosConfig, jwt, ephemeralKeyPair, pepper, uidKey, extraFieldKey } = args;
|
|
127
|
-
const jwtPayload = jwtDecode<{ [key: string]: string }>(jwt);
|
|
128
|
-
let extraField;
|
|
129
|
-
if (extraFieldKey) {
|
|
130
|
-
const extraFieldVal = jwtPayload[extraFieldKey];
|
|
131
|
-
extraField = `"${extraFieldKey}":"${extraFieldVal}",`;
|
|
132
|
-
}
|
|
133
|
-
const json = {
|
|
134
|
-
jwt_b64: jwt,
|
|
135
|
-
epk: ephemeralKeyPair.publicKey.bcsToHex().toStringWithoutPrefix(),
|
|
136
|
-
epk_blinder: Hex.fromHexInput(ephemeralKeyPair.blinder).toStringWithoutPrefix(),
|
|
137
|
-
exp_date_secs: Number(ephemeralKeyPair.expiryDateSecs),
|
|
138
|
-
exp_horizon_secs: EPK_HORIZON_SECS,
|
|
139
|
-
pepper: Hex.fromHexInput(pepper).toStringWithoutPrefix(),
|
|
140
|
-
extra_field: extraFieldKey,
|
|
141
|
-
uid_key: uidKey || "sub",
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
const { data } = await postAptosProvingService<any, ProverResponse>({
|
|
145
|
-
aptosConfig,
|
|
146
|
-
path: "prove",
|
|
147
|
-
body: json,
|
|
148
|
-
originMethod: "getProof",
|
|
149
|
-
overrides: { WITH_CREDENTIALS: false },
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
const proofPoints = data.proof;
|
|
153
|
-
const proof = new Groth16Zkp({
|
|
154
|
-
a: proofPoints.a,
|
|
155
|
-
b: proofPoints.b,
|
|
156
|
-
c: proofPoints.c,
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
const signedProof = new SignedGroth16Signature({
|
|
160
|
-
proof,
|
|
161
|
-
extraField,
|
|
162
|
-
trainingWheelsSignature: EphemeralSignature.fromHex(data.training_wheels_signature),
|
|
163
|
-
});
|
|
164
|
-
return signedProof;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export async function deriveKeylessAccount(args: {
|
|
168
|
-
aptosConfig: AptosConfig;
|
|
169
|
-
jwt: string;
|
|
170
|
-
ephemeralKeyPair: EphemeralKeyPair;
|
|
171
|
-
uidKey?: string;
|
|
172
|
-
pepper?: HexInput;
|
|
173
|
-
extraFieldKey?: string;
|
|
174
|
-
disableConnect?: boolean;
|
|
175
|
-
fetchProofAsync?: boolean;
|
|
176
|
-
}): Promise<KeylessAccount | MultiKeyAccount> {
|
|
177
|
-
const { fetchProofAsync } = args;
|
|
178
|
-
let { pepper, disableConnect } = args;
|
|
179
|
-
|
|
180
|
-
if (pepper || disableConnect) {
|
|
181
|
-
disableConnect = true;
|
|
182
|
-
}
|
|
183
|
-
if (pepper === undefined) {
|
|
184
|
-
pepper = await getPepper(args);
|
|
185
|
-
} else if (Hex.fromHexInput(pepper).toUint8Array().length !== 31) {
|
|
186
|
-
throw new Error("Pepper needs to be 31 bytes");
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
const proofPromise = getProof({ ...args, pepper });
|
|
190
|
-
const proof = fetchProofAsync ? proofPromise : await proofPromise;
|
|
191
|
-
|
|
192
|
-
const keylessAccount = KeylessAccount.fromJWTAndProof({ ...args, proofFetcherOrData: proof, pepper });
|
|
193
|
-
|
|
194
|
-
if (disableConnect === true) {
|
|
195
|
-
return keylessAccount;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
const aptosConnectPublicKey = keylessAccount.deriveAptosConnectPublicKey();
|
|
199
|
-
|
|
200
|
-
const multiKey = new MultiKey({
|
|
201
|
-
publicKeys: [keylessAccount.publicKey, aptosConnectPublicKey],
|
|
202
|
-
signaturesRequired: 1,
|
|
203
|
-
});
|
|
204
|
-
return new MultiKeyAccount({ multiKey, signers: [keylessAccount] });
|
|
205
|
-
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
// Copyright © Aptos Foundation
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* This file handles the transaction creation lifecycle.
|
|
6
|
-
* It holds different operations to generate a transaction payload, a raw transaction,
|
|
7
|
-
* and a signed transaction that can be simulated, signed and submitted to chain.
|
|
8
|
-
*/
|
|
9
|
-
import { sha3_256 as sha3Hash } from "@noble/hashes/sha3";
|
|
10
|
-
import {
|
|
11
|
-
RAW_TRANSACTION_SALT,
|
|
12
|
-
RAW_TRANSACTION_WITH_DATA_SALT,
|
|
13
|
-
} from "../../utils/const";
|
|
14
|
-
import {
|
|
15
|
-
FeePayerRawTransaction,
|
|
16
|
-
MultiAgentRawTransaction,
|
|
17
|
-
RawTransaction,
|
|
18
|
-
} from "../instances";
|
|
19
|
-
import {
|
|
20
|
-
AnyRawTransaction, AnyRawTransactionInstance,
|
|
21
|
-
} from "../types";
|
|
22
|
-
import { Serializable } from "../../bcs";
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction
|
|
26
|
-
*
|
|
27
|
-
* @param transaction A aptos transaction type
|
|
28
|
-
*
|
|
29
|
-
* @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction
|
|
30
|
-
*/
|
|
31
|
-
export function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {
|
|
32
|
-
if (transaction.feePayerAddress) {
|
|
33
|
-
return new FeePayerRawTransaction(
|
|
34
|
-
transaction.rawTransaction,
|
|
35
|
-
transaction.secondarySignerAddresses ?? [],
|
|
36
|
-
transaction.feePayerAddress,
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
if (transaction.secondarySignerAddresses) {
|
|
40
|
-
return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
return transaction.rawTransaction;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export function generateSigningMessage(bytes: Uint8Array, domainSeparator: string): Uint8Array {
|
|
47
|
-
const hash = sha3Hash.create();
|
|
48
|
-
|
|
49
|
-
hash.update(`APTOS::${domainSeparator}`);
|
|
50
|
-
|
|
51
|
-
const prefix = hash.digest();
|
|
52
|
-
|
|
53
|
-
const body = bytes;
|
|
54
|
-
|
|
55
|
-
const mergedArray = new Uint8Array(prefix.length + body.length);
|
|
56
|
-
mergedArray.set(prefix);
|
|
57
|
-
mergedArray.set(body, prefix.length);
|
|
58
|
-
|
|
59
|
-
return mergedArray;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function generateSigningMessageForSerializable(obj: Serializable): Uint8Array {
|
|
63
|
-
return generateSigningMessage(obj.bcsToBytes(), obj.constructor.name);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export function generateSigningMessageForTransaction(transaction: AnyRawTransaction): Uint8Array {
|
|
67
|
-
const rawTxn = deriveTransactionType(transaction);
|
|
68
|
-
if (rawTxn instanceof RawTransaction) {
|
|
69
|
-
return generateSigningMessage(rawTxn.bcsToBytes(),RAW_TRANSACTION_SALT);
|
|
70
|
-
} if (rawTxn instanceof MultiAgentRawTransaction || rawTxn instanceof FeePayerRawTransaction) {
|
|
71
|
-
return generateSigningMessage(rawTxn.bcsToBytes(),RAW_TRANSACTION_WITH_DATA_SALT);
|
|
72
|
-
}
|
|
73
|
-
throw new Error(`Unknown transaction type to sign on: ${rawTxn}`);
|
|
74
|
-
}
|
|
75
|
-
|
package/src/types/keyless.ts
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|