@aptos-labs/ts-sdk 0.0.8 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -17
- package/dist/browser/index.d.ts +528 -209
- package/dist/browser/index.global.js +25 -25
- package/dist/browser/index.global.js.map +1 -1
- package/dist/common/index.d.ts +528 -209
- package/dist/common/index.js +26 -26
- package/dist/common/index.js.map +1 -1
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +9 -9
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +4 -11
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/coin.d.mts +3 -3
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +317 -73
- 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 +3 -3
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +0 -2
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +118 -13
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +25 -4
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/helpers.d.mts +4 -0
- package/dist/esm/api/transactionSubmission/helpers.mjs +2 -0
- 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 +23 -2
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +21 -2
- 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.mjs +1 -1
- package/dist/esm/{chunk-ZJUDDSWN.mjs → chunk-2HBIGMDV.mjs} +2 -2
- package/dist/esm/{chunk-GIZLK7M7.mjs → chunk-3O4GKLXA.mjs} +2 -2
- package/dist/esm/chunk-3O4GKLXA.mjs.map +1 -0
- package/dist/esm/{chunk-CJPCOS4R.mjs → chunk-3QS3MFWJ.mjs} +2 -2
- package/dist/esm/{chunk-AZUWHKN5.mjs → chunk-4K252UDE.mjs} +2 -2
- package/dist/esm/{chunk-MWAMLQ25.mjs → chunk-4TIQQKXV.mjs} +2 -2
- package/dist/esm/{chunk-GMG4VR3K.mjs → chunk-4VG7DV6F.mjs} +2 -2
- package/dist/esm/{chunk-CCXMVVXD.mjs → chunk-4ZYW3BPF.mjs} +2 -2
- package/dist/esm/chunk-4ZYW3BPF.mjs.map +1 -0
- package/dist/esm/{chunk-UW6HQ643.mjs → chunk-5HZKDT5C.mjs} +2 -2
- package/dist/esm/{chunk-73VWOS4Z.mjs → chunk-6DYNAFAP.mjs} +2 -2
- package/dist/esm/chunk-6EMN3BOV.mjs +2 -0
- package/dist/esm/chunk-6EMN3BOV.mjs.map +1 -0
- package/dist/esm/{chunk-HTI5LEST.mjs → chunk-6F4ACCCZ.mjs} +2 -2
- package/dist/esm/chunk-6MKBROIC.mjs +2 -0
- package/dist/esm/chunk-6MKBROIC.mjs.map +1 -0
- package/dist/esm/{chunk-53DS6NBQ.mjs → chunk-7B3VSBCX.mjs} +2 -2
- package/dist/esm/{chunk-F7EWDYTE.mjs → chunk-7QJYTQSU.mjs} +2 -2
- package/dist/esm/{chunk-OZZDXS26.mjs → chunk-AS7RX4RK.mjs} +2 -2
- package/dist/esm/chunk-AS7RX4RK.mjs.map +1 -0
- package/dist/esm/{chunk-GEZSEAL5.mjs → chunk-BUM2FIHF.mjs} +2 -2
- package/dist/esm/chunk-BV6SCEXY.mjs +2 -0
- package/dist/esm/chunk-BV6SCEXY.mjs.map +1 -0
- package/dist/esm/chunk-C3Y52GHM.mjs +2 -0
- package/dist/esm/chunk-C3Y52GHM.mjs.map +1 -0
- package/dist/esm/{chunk-OBOOY2QD.mjs → chunk-D2XLC3KK.mjs} +2 -2
- package/dist/esm/chunk-EHJEK7FU.mjs +2 -0
- package/dist/esm/chunk-EMQWD6KP.mjs +2 -0
- package/dist/esm/chunk-EMQWD6KP.mjs.map +1 -0
- package/dist/esm/{chunk-PL2VA73L.mjs → chunk-F2GFSFPW.mjs} +2 -2
- package/dist/esm/{chunk-GXPGRCSW.mjs → chunk-F52GIFKT.mjs} +2 -2
- package/dist/esm/{chunk-QNTV5NMH.mjs → chunk-FGTQT7Q5.mjs} +2 -2
- package/dist/esm/{chunk-RCM3K5JL.mjs → chunk-GQI3HWOB.mjs} +2 -2
- package/dist/esm/chunk-HDNJ4JK4.mjs +2 -0
- package/dist/esm/chunk-HDNJ4JK4.mjs.map +1 -0
- package/dist/esm/{chunk-2SAKPC5Q.mjs → chunk-HQ4DGB7L.mjs} +2 -2
- package/dist/esm/{chunk-KNMWDGP4.mjs → chunk-IEL6J6Z3.mjs} +2 -2
- package/dist/esm/{chunk-NZSGGL25.mjs → chunk-IPW2YTRD.mjs} +2 -2
- package/dist/esm/{chunk-F6K26WV5.mjs → chunk-IU5JZNH4.mjs} +2 -2
- package/dist/esm/{chunk-Y6PVFMBS.mjs → chunk-KH3M3YPI.mjs} +2 -2
- package/dist/esm/chunk-KSWQZKMQ.mjs +2 -0
- package/dist/esm/chunk-KSWQZKMQ.mjs.map +1 -0
- package/dist/esm/{chunk-5OPOJ43H.mjs → chunk-KVJ2KGMW.mjs} +2 -2
- package/dist/esm/{chunk-TZ623H2V.mjs → chunk-LUCDRB52.mjs} +2 -2
- package/dist/esm/chunk-LUCDRB52.mjs.map +1 -0
- package/dist/esm/{chunk-WTGGCH34.mjs → chunk-N25GOEVL.mjs} +2 -2
- package/dist/esm/{chunk-CU2DINU4.mjs → chunk-NLONZHYT.mjs} +2 -2
- package/dist/esm/{chunk-FZ56IS3E.mjs → chunk-NMFS5KAE.mjs} +2 -2
- package/dist/esm/chunk-NZ6RYGJQ.mjs +2 -0
- package/dist/esm/chunk-NZ6RYGJQ.mjs.map +1 -0
- package/dist/esm/chunk-OU4MEM5F.mjs +2 -0
- package/dist/esm/chunk-OU4MEM5F.mjs.map +1 -0
- package/dist/esm/{chunk-KZSJ5MFF.mjs → chunk-OWP2MKTX.mjs} +2 -2
- package/dist/esm/{chunk-QCBIJCU4.mjs → chunk-OXO3Z2MF.mjs} +2 -2
- package/dist/esm/{chunk-CL5B2QNS.mjs → chunk-PANYJULW.mjs} +2 -2
- package/dist/esm/{chunk-QEXAMHPU.mjs → chunk-PJMRQLJ5.mjs} +2 -2
- package/dist/esm/chunk-PJMRQLJ5.mjs.map +1 -0
- package/dist/esm/{chunk-XMUUI6HG.mjs → chunk-PRKZ2KJ4.mjs} +2 -2
- package/dist/esm/{chunk-SGTFMSOG.mjs → chunk-R3SAAJ2N.mjs} +2 -2
- package/dist/esm/{chunk-VQ7LYNMD.mjs → chunk-R4APGSSC.mjs} +2 -2
- package/dist/esm/{chunk-3F5WV6US.mjs → chunk-RCYWJZR4.mjs} +2 -2
- package/dist/esm/chunk-SI6QMT4N.mjs +2 -0
- package/dist/esm/chunk-SI6QMT4N.mjs.map +1 -0
- package/dist/esm/{chunk-SSJQOXEP.mjs → chunk-SMN2QQ4Q.mjs} +2 -2
- package/dist/esm/chunk-SMN2QQ4Q.mjs.map +1 -0
- package/dist/esm/chunk-SODP7NAK.mjs +2 -0
- package/dist/esm/{chunk-SDPICQ5B.mjs.map → chunk-SODP7NAK.mjs.map} +1 -1
- package/dist/esm/{chunk-OT2UDMUU.mjs → chunk-SR7XLV76.mjs} +2 -2
- package/dist/esm/{chunk-APSQ4M23.mjs → chunk-T3ID6KFN.mjs} +2 -2
- package/dist/esm/{chunk-5UY5OKXR.mjs → chunk-TCSN7PYL.mjs} +2 -2
- package/dist/esm/chunk-TCSN7PYL.mjs.map +1 -0
- package/dist/esm/chunk-TTDCRLRD.mjs +2 -0
- package/dist/esm/chunk-TTDCRLRD.mjs.map +1 -0
- package/dist/esm/{chunk-G36AY4R7.mjs → chunk-UR5E2UDO.mjs} +2 -2
- package/dist/esm/{chunk-JI2BBZ2W.mjs → chunk-UZB7CTLX.mjs} +2 -2
- package/dist/esm/chunk-VA4K6DEK.mjs +2 -0
- package/dist/esm/chunk-VA4K6DEK.mjs.map +1 -0
- package/dist/esm/{chunk-CLJLQXFQ.mjs → chunk-VBUKPN4Q.mjs} +2 -2
- package/dist/esm/chunk-VBUKPN4Q.mjs.map +1 -0
- package/dist/esm/{chunk-XITLXPBK.mjs → chunk-VMCFN5CT.mjs} +2 -2
- package/dist/esm/{chunk-SRGPSANH.mjs → chunk-YLI6J47P.mjs} +2 -2
- package/dist/esm/chunk-YLPG6XMH.mjs +2 -0
- package/dist/esm/chunk-YLPG6XMH.mjs.map +1 -0
- package/dist/esm/{chunk-HC5VMNXA.mjs → chunk-ZLYSA7JR.mjs} +2 -2
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/core/account.d.mts +2 -2
- package/dist/esm/core/account.mjs +1 -1
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/crypto/anyPublicKey.mjs +1 -1
- package/dist/esm/core/crypto/anySignature.mjs +1 -1
- package/dist/esm/core/crypto/asymmetricCrypto.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/index.d.mts +1 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/account.d.mts +1 -1
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +5 -5
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +2 -2
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +151 -26
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +12 -5
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.mjs +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 +6 -6
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- 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 +1 -1
- 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.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/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +2 -2
- 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 +3 -3
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +4 -2
- package/src/api/ans.ts +9 -9
- package/src/api/aptos.ts +3 -28
- package/src/api/coin.ts +3 -3
- package/src/api/digitalAsset.ts +387 -88
- package/src/api/fungibleAsset.ts +3 -3
- package/src/api/transaction.ts +172 -2
- package/src/api/transactionSubmission/build.ts +25 -4
- package/src/api/transactionSubmission/helpers.ts +31 -0
- package/src/api/transactionSubmission/simulate.ts +26 -20
- package/src/api/transactionSubmission/submit.ts +24 -20
- package/src/client/core.ts +1 -1
- package/src/core/account.ts +2 -2
- package/src/internal/ans.ts +5 -5
- package/src/internal/coin.ts +2 -2
- package/src/internal/digitalAsset.ts +482 -58
- package/src/internal/fungibleAsset.ts +2 -2
- package/src/internal/transactionSubmission.ts +6 -6
- package/src/transactions/management/transactionWorker.ts +2 -9
- package/src/transactions/transactionBuilder/remoteAbi.ts +13 -5
- package/src/transactions/transactionBuilder/transactionBuilder.ts +2 -4
- package/src/transactions/typeTag/index.ts +1 -0
- package/src/transactions/types.ts +2 -2
- package/src/version.ts +1 -1
- package/dist/esm/api/transactionSubmission.d.mts +0 -113
- package/dist/esm/api/transactionSubmission.mjs +0 -2
- package/dist/esm/chunk-2YQXX64E.mjs +0 -2
- package/dist/esm/chunk-2YQXX64E.mjs.map +0 -1
- package/dist/esm/chunk-5CUNY7X2.mjs +0 -2
- package/dist/esm/chunk-5CUNY7X2.mjs.map +0 -1
- package/dist/esm/chunk-5UY5OKXR.mjs.map +0 -1
- package/dist/esm/chunk-5ZVCSKFX.mjs +0 -2
- package/dist/esm/chunk-5ZVCSKFX.mjs.map +0 -1
- package/dist/esm/chunk-CCXMVVXD.mjs.map +0 -1
- package/dist/esm/chunk-CLJLQXFQ.mjs.map +0 -1
- package/dist/esm/chunk-EFRFDFS4.mjs +0 -2
- package/dist/esm/chunk-EFRFDFS4.mjs.map +0 -1
- package/dist/esm/chunk-GIZLK7M7.mjs.map +0 -1
- package/dist/esm/chunk-IELTCGLP.mjs +0 -2
- package/dist/esm/chunk-IELTCGLP.mjs.map +0 -1
- package/dist/esm/chunk-KKER5KL4.mjs +0 -2
- package/dist/esm/chunk-KKER5KL4.mjs.map +0 -1
- package/dist/esm/chunk-OZZDXS26.mjs.map +0 -1
- package/dist/esm/chunk-P5747ZYC.mjs +0 -2
- package/dist/esm/chunk-P5747ZYC.mjs.map +0 -1
- package/dist/esm/chunk-PXTMLJKO.mjs +0 -2
- package/dist/esm/chunk-QEXAMHPU.mjs.map +0 -1
- package/dist/esm/chunk-RLG3WOTH.mjs +0 -2
- package/dist/esm/chunk-RLG3WOTH.mjs.map +0 -1
- package/dist/esm/chunk-SDPICQ5B.mjs +0 -2
- package/dist/esm/chunk-SO6EE5DX.mjs +0 -2
- package/dist/esm/chunk-SO6EE5DX.mjs.map +0 -1
- package/dist/esm/chunk-SSJQOXEP.mjs.map +0 -1
- package/dist/esm/chunk-TZ623H2V.mjs.map +0 -1
- package/dist/esm/chunk-UKSA4H2O.mjs +0 -2
- package/dist/esm/chunk-UKSA4H2O.mjs.map +0 -1
- package/dist/esm/chunk-UWXDXOFK.mjs +0 -2
- package/dist/esm/chunk-UWXDXOFK.mjs.map +0 -1
- package/dist/esm/chunk-XX2Z26FH.mjs +0 -2
- package/dist/esm/chunk-XX2Z26FH.mjs.map +0 -1
- package/dist/esm/chunk-YN6UIVFB.mjs +0 -2
- package/dist/esm/chunk-YN6UIVFB.mjs.map +0 -1
- package/dist/esm/chunk-ZFK7QD3B.mjs +0 -2
- package/dist/esm/chunk-ZFK7QD3B.mjs.map +0 -1
- package/src/api/transactionSubmission.ts +0 -121
- /package/dist/esm/api/{transactionSubmission.mjs.map → transactionSubmission/helpers.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZJUDDSWN.mjs.map → chunk-2HBIGMDV.mjs.map} +0 -0
- /package/dist/esm/{chunk-CJPCOS4R.mjs.map → chunk-3QS3MFWJ.mjs.map} +0 -0
- /package/dist/esm/{chunk-AZUWHKN5.mjs.map → chunk-4K252UDE.mjs.map} +0 -0
- /package/dist/esm/{chunk-MWAMLQ25.mjs.map → chunk-4TIQQKXV.mjs.map} +0 -0
- /package/dist/esm/{chunk-GMG4VR3K.mjs.map → chunk-4VG7DV6F.mjs.map} +0 -0
- /package/dist/esm/{chunk-UW6HQ643.mjs.map → chunk-5HZKDT5C.mjs.map} +0 -0
- /package/dist/esm/{chunk-73VWOS4Z.mjs.map → chunk-6DYNAFAP.mjs.map} +0 -0
- /package/dist/esm/{chunk-HTI5LEST.mjs.map → chunk-6F4ACCCZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-53DS6NBQ.mjs.map → chunk-7B3VSBCX.mjs.map} +0 -0
- /package/dist/esm/{chunk-F7EWDYTE.mjs.map → chunk-7QJYTQSU.mjs.map} +0 -0
- /package/dist/esm/{chunk-GEZSEAL5.mjs.map → chunk-BUM2FIHF.mjs.map} +0 -0
- /package/dist/esm/{chunk-OBOOY2QD.mjs.map → chunk-D2XLC3KK.mjs.map} +0 -0
- /package/dist/esm/{chunk-PXTMLJKO.mjs.map → chunk-EHJEK7FU.mjs.map} +0 -0
- /package/dist/esm/{chunk-PL2VA73L.mjs.map → chunk-F2GFSFPW.mjs.map} +0 -0
- /package/dist/esm/{chunk-GXPGRCSW.mjs.map → chunk-F52GIFKT.mjs.map} +0 -0
- /package/dist/esm/{chunk-QNTV5NMH.mjs.map → chunk-FGTQT7Q5.mjs.map} +0 -0
- /package/dist/esm/{chunk-RCM3K5JL.mjs.map → chunk-GQI3HWOB.mjs.map} +0 -0
- /package/dist/esm/{chunk-2SAKPC5Q.mjs.map → chunk-HQ4DGB7L.mjs.map} +0 -0
- /package/dist/esm/{chunk-KNMWDGP4.mjs.map → chunk-IEL6J6Z3.mjs.map} +0 -0
- /package/dist/esm/{chunk-NZSGGL25.mjs.map → chunk-IPW2YTRD.mjs.map} +0 -0
- /package/dist/esm/{chunk-F6K26WV5.mjs.map → chunk-IU5JZNH4.mjs.map} +0 -0
- /package/dist/esm/{chunk-Y6PVFMBS.mjs.map → chunk-KH3M3YPI.mjs.map} +0 -0
- /package/dist/esm/{chunk-5OPOJ43H.mjs.map → chunk-KVJ2KGMW.mjs.map} +0 -0
- /package/dist/esm/{chunk-WTGGCH34.mjs.map → chunk-N25GOEVL.mjs.map} +0 -0
- /package/dist/esm/{chunk-CU2DINU4.mjs.map → chunk-NLONZHYT.mjs.map} +0 -0
- /package/dist/esm/{chunk-FZ56IS3E.mjs.map → chunk-NMFS5KAE.mjs.map} +0 -0
- /package/dist/esm/{chunk-KZSJ5MFF.mjs.map → chunk-OWP2MKTX.mjs.map} +0 -0
- /package/dist/esm/{chunk-QCBIJCU4.mjs.map → chunk-OXO3Z2MF.mjs.map} +0 -0
- /package/dist/esm/{chunk-CL5B2QNS.mjs.map → chunk-PANYJULW.mjs.map} +0 -0
- /package/dist/esm/{chunk-XMUUI6HG.mjs.map → chunk-PRKZ2KJ4.mjs.map} +0 -0
- /package/dist/esm/{chunk-SGTFMSOG.mjs.map → chunk-R3SAAJ2N.mjs.map} +0 -0
- /package/dist/esm/{chunk-VQ7LYNMD.mjs.map → chunk-R4APGSSC.mjs.map} +0 -0
- /package/dist/esm/{chunk-3F5WV6US.mjs.map → chunk-RCYWJZR4.mjs.map} +0 -0
- /package/dist/esm/{chunk-OT2UDMUU.mjs.map → chunk-SR7XLV76.mjs.map} +0 -0
- /package/dist/esm/{chunk-APSQ4M23.mjs.map → chunk-T3ID6KFN.mjs.map} +0 -0
- /package/dist/esm/{chunk-G36AY4R7.mjs.map → chunk-UR5E2UDO.mjs.map} +0 -0
- /package/dist/esm/{chunk-JI2BBZ2W.mjs.map → chunk-UZB7CTLX.mjs.map} +0 -0
- /package/dist/esm/{chunk-XITLXPBK.mjs.map → chunk-VMCFN5CT.mjs.map} +0 -0
- /package/dist/esm/{chunk-SRGPSANH.mjs.map → chunk-YLI6J47P.mjs.map} +0 -0
- /package/dist/esm/{chunk-HC5VMNXA.mjs.map → chunk-ZLYSA7JR.mjs.map} +0 -0
|
@@ -18,11 +18,7 @@ import { Account } from "../../core";
|
|
|
18
18
|
import { waitForTransaction } from "../../internal/transaction";
|
|
19
19
|
import { generateTransaction, signAndSubmitTransaction } from "../../internal/transactionSubmission";
|
|
20
20
|
import { PendingTransactionResponse, TransactionResponse } from "../../types";
|
|
21
|
-
import {
|
|
22
|
-
InputGenerateTransactionOptions,
|
|
23
|
-
InputGenerateTransactionPayloadData,
|
|
24
|
-
SingleSignerTransaction,
|
|
25
|
-
} from "../types";
|
|
21
|
+
import { InputGenerateTransactionOptions, InputGenerateTransactionPayloadData, SimpleTransaction } from "../types";
|
|
26
22
|
import { AccountSequenceNumber } from "./accountSequenceNumber";
|
|
27
23
|
import { AsyncQueue, AsyncQueueCancelledError } from "./asyncQueue";
|
|
28
24
|
|
|
@@ -219,10 +215,7 @@ export class TransactionWorker {
|
|
|
219
215
|
* @param sequenceNumber a sequence number the transaction will be generated with
|
|
220
216
|
* @returns
|
|
221
217
|
*/
|
|
222
|
-
async generateNextTransaction(
|
|
223
|
-
account: Account,
|
|
224
|
-
sequenceNumber: bigint,
|
|
225
|
-
): Promise<SingleSignerTransaction | undefined> {
|
|
218
|
+
async generateNextTransaction(account: Account, sequenceNumber: bigint): Promise<SimpleTransaction | undefined> {
|
|
226
219
|
if (this.transactionsQueue.isEmpty()) return undefined;
|
|
227
220
|
const [transactionData, options] = await this.transactionsQueue.dequeue();
|
|
228
221
|
const transaction = await generateTransaction({
|
|
@@ -149,7 +149,7 @@ function parseArg(
|
|
|
149
149
|
if (isString(arg)) {
|
|
150
150
|
return AccountAddress.fromString(arg);
|
|
151
151
|
}
|
|
152
|
-
throwTypeMismatch("string", position);
|
|
152
|
+
throwTypeMismatch("string | AccountAddress", position);
|
|
153
153
|
}
|
|
154
154
|
if (param.isU8()) {
|
|
155
155
|
if (isNumber(arg)) {
|
|
@@ -195,7 +195,7 @@ function parseArg(
|
|
|
195
195
|
throw new Error(`Generic argument ${param.toString()} is invalid for argument ${position}`);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
-
checkOrConvertArgument(arg, genericTypeParams[genericIndex], position, genericTypeParams);
|
|
198
|
+
return checkOrConvertArgument(arg, genericTypeParams[genericIndex], position, genericTypeParams);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
// We have to special case some vectors for Vector<u8>
|
|
@@ -237,7 +237,7 @@ function parseArg(
|
|
|
237
237
|
if (isString(arg)) {
|
|
238
238
|
return AccountAddress.fromString(arg);
|
|
239
239
|
}
|
|
240
|
-
throwTypeMismatch("string", position);
|
|
240
|
+
throwTypeMismatch("string | AccountAddress", position);
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
if (param.isOption()) {
|
|
@@ -313,7 +313,12 @@ function checkType(param: TypeTag, arg: EntryFunctionArgumentTypes, position: nu
|
|
|
313
313
|
}
|
|
314
314
|
if (param.isVector()) {
|
|
315
315
|
if (arg instanceof MoveVector) {
|
|
316
|
-
//
|
|
316
|
+
// If there's anything in it, check that the inner types match
|
|
317
|
+
// Note that since it's typed, the first item should be the same as the rest
|
|
318
|
+
if (arg.values.length > 0) {
|
|
319
|
+
checkType(param.value, arg.values[0], position);
|
|
320
|
+
}
|
|
321
|
+
|
|
317
322
|
return;
|
|
318
323
|
}
|
|
319
324
|
throwTypeMismatch("MoveVector", position);
|
|
@@ -335,7 +340,10 @@ function checkType(param: TypeTag, arg: EntryFunctionArgumentTypes, position: nu
|
|
|
335
340
|
}
|
|
336
341
|
if (param.isOption()) {
|
|
337
342
|
if (arg instanceof MoveOption) {
|
|
338
|
-
//
|
|
343
|
+
// If there's a value, we can check the inner type (otherwise it doesn't really matter)
|
|
344
|
+
if (arg.value !== undefined) {
|
|
345
|
+
checkType(param.value.typeArgs[0], arg.value, position);
|
|
346
|
+
}
|
|
339
347
|
return;
|
|
340
348
|
}
|
|
341
349
|
throwTypeMismatch("MoveOption", position);
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
InputGenerateMultiAgentRawTransactionArgs,
|
|
60
60
|
InputGenerateRawTransactionArgs,
|
|
61
61
|
InputGenerateSingleSignerRawTransactionArgs,
|
|
62
|
-
|
|
62
|
+
SimpleTransaction,
|
|
63
63
|
InputGenerateTransactionOptions,
|
|
64
64
|
MultiAgentTransaction,
|
|
65
65
|
InputScriptData,
|
|
@@ -245,9 +245,7 @@ export async function generateRawTransaction(args: {
|
|
|
245
245
|
* When we call our `generateTransaction` function with the relevant type properties,
|
|
246
246
|
* Typescript can infer the return type based on the appropriate function overload.
|
|
247
247
|
*/
|
|
248
|
-
export async function buildTransaction(
|
|
249
|
-
args: InputGenerateSingleSignerRawTransactionArgs,
|
|
250
|
-
): Promise<SingleSignerTransaction>;
|
|
248
|
+
export async function buildTransaction(args: InputGenerateSingleSignerRawTransactionArgs): Promise<SimpleTransaction>;
|
|
251
249
|
export async function buildTransaction(args: InputGenerateMultiAgentRawTransactionArgs): Promise<MultiAgentTransaction>;
|
|
252
250
|
|
|
253
251
|
/**
|
|
@@ -254,6 +254,7 @@ export class TypeTagGeneric extends TypeTag {
|
|
|
254
254
|
|
|
255
255
|
constructor(public readonly value: number) {
|
|
256
256
|
super();
|
|
257
|
+
if (value < 0) throw new Error("Generic type parameter index cannot be negative");
|
|
257
258
|
}
|
|
258
259
|
|
|
259
260
|
serialize(serializer: Serializer): void {
|
|
@@ -181,7 +181,7 @@ export type InputGenerateRawTransactionArgs =
|
|
|
181
181
|
*
|
|
182
182
|
* @param rawTransaction a bcs serialized raw transaction
|
|
183
183
|
*/
|
|
184
|
-
export interface
|
|
184
|
+
export interface SimpleTransaction {
|
|
185
185
|
rawTransaction: RawTransaction;
|
|
186
186
|
feePayerAddress?: AccountAddress;
|
|
187
187
|
secondarySignerAddresses?: undefined;
|
|
@@ -202,7 +202,7 @@ export interface MultiAgentTransaction {
|
|
|
202
202
|
/**
|
|
203
203
|
* Unified type that holds all the return interfaces when generating different transaction types
|
|
204
204
|
*/
|
|
205
|
-
export type AnyRawTransaction =
|
|
205
|
+
export type AnyRawTransaction = SimpleTransaction | MultiAgentTransaction;
|
|
206
206
|
|
|
207
207
|
// TRANSACTION SIMULATION TYPES //
|
|
208
208
|
|
package/src/version.ts
CHANGED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { AptosConfig } from './aptosConfig.mjs';
|
|
2
|
-
import { Account } from '../core/account.mjs';
|
|
3
|
-
import { AccountAddressInput } from '../core/accountAddress.mjs';
|
|
4
|
-
import { PrivateKey } from '../core/crypto/asymmetricCrypto.mjs';
|
|
5
|
-
import { PendingTransactionResponse, HexInput, TransactionResponse } from '../types/index.mjs';
|
|
6
|
-
import { InputGenerateTransactionPayloadData, InputGenerateTransactionOptions, AnyRawTransaction, SingleSignerTransaction } from '../transactions/types.mjs';
|
|
7
|
-
import '../utils/apiEndpoints.mjs';
|
|
8
|
-
import '../utils/const.mjs';
|
|
9
|
-
import '../core/authenticationKey.mjs';
|
|
10
|
-
import '../core/hex.mjs';
|
|
11
|
-
import '../core/common.mjs';
|
|
12
|
-
import '../bcs/serializer.mjs';
|
|
13
|
-
import '../bcs/deserializer.mjs';
|
|
14
|
-
import '../transactions/instances/transactionArgument.mjs';
|
|
15
|
-
import '../types/indexer.mjs';
|
|
16
|
-
import '../types/generated/operations.mjs';
|
|
17
|
-
import '../types/generated/types.mjs';
|
|
18
|
-
import '../bcs/serializable/moveStructs.mjs';
|
|
19
|
-
import '../bcs/serializable/movePrimitives.mjs';
|
|
20
|
-
import '../bcs/serializable/fixedBytes.mjs';
|
|
21
|
-
import '../transactions/instances/rawTransaction.mjs';
|
|
22
|
-
import '../transactions/instances/chainId.mjs';
|
|
23
|
-
import '../transactions/instances/transactionPayload.mjs';
|
|
24
|
-
import '../transactions/instances/identifier.mjs';
|
|
25
|
-
import '../transactions/instances/moduleId.mjs';
|
|
26
|
-
import '../transactions/typeTag/index.mjs';
|
|
27
|
-
import '../transactions/authenticator/account.mjs';
|
|
28
|
-
import '../core/crypto/anyPublicKey.mjs';
|
|
29
|
-
import '../core/crypto/anySignature.mjs';
|
|
30
|
-
import '../core/crypto/ed25519.mjs';
|
|
31
|
-
import '../core/crypto/secp256k1.mjs';
|
|
32
|
-
import '../core/crypto/multiEd25519.mjs';
|
|
33
|
-
import '../core/crypto/multiKey.mjs';
|
|
34
|
-
|
|
35
|
-
declare class TransactionSubmission {
|
|
36
|
-
readonly config: AptosConfig;
|
|
37
|
-
constructor(config: AptosConfig);
|
|
38
|
-
/**
|
|
39
|
-
* Batch transactions for a single account.
|
|
40
|
-
*
|
|
41
|
-
* This function uses a transaction worker that receives payloads to be processed
|
|
42
|
-
* and submitted to chain.
|
|
43
|
-
* Note that this process is best for submitting multiple transactions that
|
|
44
|
-
* dont rely on each other, i.e batch funds, batch token mints, etc.
|
|
45
|
-
*
|
|
46
|
-
* If any worker failure, the functions throws an error.
|
|
47
|
-
*
|
|
48
|
-
* @param args.sender The sender account to sign and submit the transaction
|
|
49
|
-
* @param args.data An array of transaction payloads
|
|
50
|
-
* @param args.options optional. Transaction generation configurations (excluding accountSequenceNumber)
|
|
51
|
-
*
|
|
52
|
-
* @return void. Throws if any error
|
|
53
|
-
*/
|
|
54
|
-
batchTransactionsForSingleAccount(args: {
|
|
55
|
-
sender: Account;
|
|
56
|
-
data: InputGenerateTransactionPayloadData[];
|
|
57
|
-
options?: Omit<InputGenerateTransactionOptions, "accountSequenceNumber">;
|
|
58
|
-
}): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Sign and submit a single signer transaction to chain
|
|
61
|
-
*
|
|
62
|
-
* @param args.signer The signer account to sign the transaction
|
|
63
|
-
* @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses
|
|
64
|
-
* ```
|
|
65
|
-
* {
|
|
66
|
-
* rawTransaction: RawTransaction,
|
|
67
|
-
* secondarySignerAddresses? : Array<AccountAddress>,
|
|
68
|
-
* feePayerAddress?: AccountAddress
|
|
69
|
-
* }
|
|
70
|
-
* ```
|
|
71
|
-
*
|
|
72
|
-
* @return PendingTransactionResponse
|
|
73
|
-
*/
|
|
74
|
-
signAndSubmitTransaction(args: {
|
|
75
|
-
signer: Account;
|
|
76
|
-
transaction: AnyRawTransaction;
|
|
77
|
-
}): Promise<PendingTransactionResponse>;
|
|
78
|
-
/**
|
|
79
|
-
* Generates a transaction to publish a move package to chain.
|
|
80
|
-
*
|
|
81
|
-
* To get the `metadataBytes` and `byteCode`, can compile using Aptos CLI with command
|
|
82
|
-
* `aptos move compile --save-metadata ...`,
|
|
83
|
-
* For more info {@link https://aptos.dev/tutorials/your-first-dapp/#step-4-publish-a-move-module}
|
|
84
|
-
*
|
|
85
|
-
* @param args.account The publisher account
|
|
86
|
-
* @param args.metadataBytes The package metadata bytes
|
|
87
|
-
* @param args.moduleBytecode An array of the bytecode of each module in the package in compiler output order
|
|
88
|
-
*
|
|
89
|
-
* @returns A SingleSignerTransaction that can be simulated or submitted to chain
|
|
90
|
-
*/
|
|
91
|
-
publishPackageTransaction(args: {
|
|
92
|
-
account: AccountAddressInput;
|
|
93
|
-
metadataBytes: HexInput;
|
|
94
|
-
moduleBytecode: Array<HexInput>;
|
|
95
|
-
options?: InputGenerateTransactionOptions;
|
|
96
|
-
}): Promise<SingleSignerTransaction>;
|
|
97
|
-
/**
|
|
98
|
-
* Rotate an account's auth key. After rotation, only the new private key can be used to sign txns for
|
|
99
|
-
* the account.
|
|
100
|
-
* Note: Only legacy Ed25519 scheme is supported for now.
|
|
101
|
-
* More info: {@link https://aptos.dev/guides/account-management/key-rotation/}
|
|
102
|
-
* @param args.fromAccount The account to rotate the auth key for
|
|
103
|
-
* @param args.toNewPrivateKey The new private key to rotate to
|
|
104
|
-
*
|
|
105
|
-
* @returns PendingTransactionResponse
|
|
106
|
-
*/
|
|
107
|
-
rotateAuthKey(args: {
|
|
108
|
-
fromAccount: Account;
|
|
109
|
-
toNewPrivateKey: PrivateKey;
|
|
110
|
-
}): Promise<TransactionResponse>;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
export { TransactionSubmission };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a}from"../chunk-XX2Z26FH.mjs";import"../chunk-IHYTP2EW.mjs";import"../chunk-OZZDXS26.mjs";import"../chunk-Y6PVFMBS.mjs";import"../chunk-U6Z4FNB7.mjs";import"../chunk-CLJLQXFQ.mjs";import"../chunk-GIZLK7M7.mjs";import"../chunk-5CUNY7X2.mjs";import"../chunk-F7EWDYTE.mjs";import"../chunk-GXPGRCSW.mjs";import"../chunk-HTZTTZQJ.mjs";import"../chunk-2SAKPC5Q.mjs";import"../chunk-QCBIJCU4.mjs";import"../chunk-RCM3K5JL.mjs";import"../chunk-HTI5LEST.mjs";import"../chunk-CJPCOS4R.mjs";import"../chunk-CL5B2QNS.mjs";import"../chunk-YN6UIVFB.mjs";import"../chunk-QNTV5NMH.mjs";import"../chunk-XMUUI6HG.mjs";import"../chunk-CU2DINU4.mjs";import"../chunk-UYVPNUH3.mjs";import"../chunk-SGTFMSOG.mjs";import"../chunk-GEZSEAL5.mjs";import"../chunk-3JPVQHOR.mjs";import"../chunk-AH44UPM4.mjs";import"../chunk-E7FWVXGX.mjs";import"../chunk-UIVJXLRM.mjs";import"../chunk-5OPOJ43H.mjs";import"../chunk-SSJQOXEP.mjs";import"../chunk-WTGGCH34.mjs";import"../chunk-AZUWHKN5.mjs";import"../chunk-FZ56IS3E.mjs";import"../chunk-KZSJ5MFF.mjs";import"../chunk-3F5WV6US.mjs";import"../chunk-UW6HQ643.mjs";import"../chunk-LR65XHSF.mjs";import"../chunk-PXTMLJKO.mjs";import"../chunk-FZY4PMEE.mjs";import"../chunk-53DS6NBQ.mjs";import"../chunk-73VWOS4Z.mjs";import"../chunk-PL2VA73L.mjs";import"../chunk-XITLXPBK.mjs";import"../chunk-UDMADMVO.mjs";import"../chunk-G36AY4R7.mjs";import"../chunk-F6K26WV5.mjs";import"../chunk-DNDWTM7A.mjs";import"../chunk-NL72WE3E.mjs";import"../chunk-FBPNHF54.mjs";import"../chunk-OT2UDMUU.mjs";import"../chunk-BQSE5HHW.mjs";import"../chunk-N2FKVZ4D.mjs";import"../chunk-JI2BBZ2W.mjs";import"../chunk-HC5VMNXA.mjs";import"../chunk-SO6EE5DX.mjs";import"../chunk-6FBKUTGF.mjs";import"../chunk-ALFESCPU.mjs";import"../chunk-4WPQQPUF.mjs";import"../chunk-SDPICQ5B.mjs";import"../chunk-EOC4UI5B.mjs";import"../chunk-LV33NV4J.mjs";import"../chunk-ZWH2ESXT.mjs";export{a as TransactionSubmission};
|
|
2
|
-
//# sourceMappingURL=transactionSubmission.mjs.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./chunk-EFRFDFS4.mjs";import{a as y}from"./chunk-RLG3WOTH.mjs";import{a as b}from"./chunk-P5747ZYC.mjs";import{a as A}from"./chunk-ZFK7QD3B.mjs";import{a as c}from"./chunk-MWAMLQ25.mjs";import{a as g}from"./chunk-SRGPSANH.mjs";import{a as f}from"./chunk-QEXAMHPU.mjs";import{a as m}from"./chunk-VQ7LYNMD.mjs";import{a as u}from"./chunk-KNMWDGP4.mjs";import{a as h}from"./chunk-5ZVCSKFX.mjs";import{a as p}from"./chunk-XX2Z26FH.mjs";import{a as e}from"./chunk-NZSGGL25.mjs";import{a as l}from"./chunk-UWXDXOFK.mjs";import{a as S}from"./chunk-3RMXGSHK.mjs";import{a as r}from"./chunk-5UY5OKXR.mjs";import{a}from"./chunk-IELTCGLP.mjs";var i=class{constructor(n){this.config=new S(n),this.account=new e(this.config),this.ans=new l(this.config),this.coin=new r(this.config),this.digitalAsset=new a(this.config),this.event=new c(this.config),this.faucet=new g(this.config),this.fungibleAsset=new f(this.config),this.general=new m(this.config),this.staking=new u(this.config),this.transaction=new h(this.config),this.transactionSubmission=new p(this.config),this.build=new d(this.config),this.sign=new y(this.config),this.simulate=new b(this.config),this.submit=new A(this.config)}};function t(w,n,v){Object.getOwnPropertyNames(n.prototype).forEach(o=>{let s=Object.getOwnPropertyDescriptor(n.prototype,o);s&&(s.value=function(...k){return this[v][o](...k)},Object.defineProperty(w.prototype,o,s))})}t(i,e,"account");t(i,l,"ans");t(i,r,"coin");t(i,a,"digitalAsset");t(i,c,"event");t(i,g,"faucet");t(i,f,"fungibleAsset");t(i,m,"general");t(i,u,"staking");t(i,h,"transaction");t(i,p,"transactionSubmission");t(i,d,"build");t(i,y,"sign");t(i,b,"simulate");t(i,A,"submit");export{i as a};
|
|
2
|
-
//# sourceMappingURL=chunk-2YQXX64E.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/aptos.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Account } from \"./account\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { Coin } from \"./coin\";\nimport { DigitalAsset } from \"./digitalAsset\";\nimport { Event } from \"./event\";\nimport { Faucet } from \"./faucet\";\nimport { FungibleAsset } from \"./fungibleAsset\";\nimport { General } from \"./general\";\nimport { ANS } from \"./ans\";\nimport { Staking } from \"./staking\";\nimport { Transaction } from \"./transaction\";\nimport { TransactionSubmission } from \"./transactionSubmission\";\nimport { Build } from \"./transactionSubmission/build\";\nimport { Sign } from \"./transactionSubmission/sign\";\nimport { Simulate } from \"./transactionSubmission/simulate\";\nimport { Submit } from \"./transactionSubmission/submit\";\n\n/**\n * This class is the main entry point into Aptos's\n * APIs and separates functionality into different namespaces.\n *\n * To use the SDK, create a new Aptos instance to get access\n * to all the sdk functionality.\n */\nexport class Aptos {\n readonly config: AptosConfig;\n\n readonly account: Account;\n\n readonly ans: ANS;\n\n readonly coin: Coin;\n\n readonly digitalAsset: DigitalAsset;\n\n readonly event: Event;\n\n readonly faucet: Faucet;\n\n readonly fungibleAsset: FungibleAsset;\n\n readonly general: General;\n\n readonly staking: Staking;\n\n readonly transaction: Transaction;\n\n readonly transactionSubmission: TransactionSubmission;\n\n readonly build: Build;\n\n readonly sign: Sign;\n\n readonly simulate: Simulate;\n\n readonly submit: Submit;\n\n constructor(settings?: AptosConfig) {\n this.config = new AptosConfig(settings);\n this.account = new Account(this.config);\n this.ans = new ANS(this.config);\n this.coin = new Coin(this.config);\n this.digitalAsset = new DigitalAsset(this.config);\n this.event = new Event(this.config);\n this.faucet = new Faucet(this.config);\n this.fungibleAsset = new FungibleAsset(this.config);\n this.general = new General(this.config);\n this.staking = new Staking(this.config);\n this.transaction = new Transaction(this.config);\n this.transactionSubmission = new TransactionSubmission(this.config);\n this.build = new Build(this.config);\n this.sign = new Sign(this.config);\n this.simulate = new Simulate(this.config);\n this.submit = new Submit(this.config);\n }\n}\n\nexport interface Aptos\n extends Account,\n Coin,\n DigitalAsset,\n Event,\n Faucet,\n FungibleAsset,\n General,\n Staking,\n Transaction,\n ANS,\n TransactionSubmission {}\n\n/**\nIn TypeScript, we can’t inherit or extend from more than one class,\nMixins helps us to get around that by creating a partial classes\nthat we can combine to form a single class that contains all the methods and properties from the partial classes.\n{@link https://www.typescriptlang.org/docs/handbook/mixins.html#alternative-pattern}\n\nHere, we combine any subclass and the Aptos class.\n*/\nfunction applyMixin(targetClass: any, baseClass: any, baseClassProp: string) {\n // Mixin instance methods\n Object.getOwnPropertyNames(baseClass.prototype).forEach((propertyName) => {\n const propertyDescriptor = Object.getOwnPropertyDescriptor(baseClass.prototype, propertyName);\n if (!propertyDescriptor) return;\n // eslint-disable-next-line func-names\n propertyDescriptor.value = function (...args: any) {\n return (this as any)[baseClassProp][propertyName](...args);\n };\n Object.defineProperty(targetClass.prototype, propertyName, propertyDescriptor);\n });\n}\n\napplyMixin(Aptos, Account, \"account\");\napplyMixin(Aptos, ANS, \"ans\");\napplyMixin(Aptos, Coin, \"coin\");\napplyMixin(Aptos, DigitalAsset, \"digitalAsset\");\napplyMixin(Aptos, Event, \"event\");\napplyMixin(Aptos, Faucet, \"faucet\");\napplyMixin(Aptos, FungibleAsset, \"fungibleAsset\");\napplyMixin(Aptos, General, \"general\");\napplyMixin(Aptos, Staking, \"staking\");\napplyMixin(Aptos, Transaction, \"transaction\");\napplyMixin(Aptos, TransactionSubmission, \"transactionSubmission\");\napplyMixin(Aptos, Build, \"build\");\napplyMixin(Aptos, Sign, \"sign\");\napplyMixin(Aptos, Simulate, \"simulate\");\napplyMixin(Aptos, Submit, \"submit\");\n"],"mappings":"2oBA2BO,IAAMA,EAAN,KAAY,CAiCjB,YAAYC,EAAwB,CAClC,KAAK,OAAS,IAAIC,EAAYD,CAAQ,EACtC,KAAK,QAAU,IAAIE,EAAQ,KAAK,MAAM,EACtC,KAAK,IAAM,IAAIC,EAAI,KAAK,MAAM,EAC9B,KAAK,KAAO,IAAIC,EAAK,KAAK,MAAM,EAChC,KAAK,aAAe,IAAIC,EAAa,KAAK,MAAM,EAChD,KAAK,MAAQ,IAAIC,EAAM,KAAK,MAAM,EAClC,KAAK,OAAS,IAAIC,EAAO,KAAK,MAAM,EACpC,KAAK,cAAgB,IAAIC,EAAc,KAAK,MAAM,EAClD,KAAK,QAAU,IAAIC,EAAQ,KAAK,MAAM,EACtC,KAAK,QAAU,IAAIC,EAAQ,KAAK,MAAM,EACtC,KAAK,YAAc,IAAIC,EAAY,KAAK,MAAM,EAC9C,KAAK,sBAAwB,IAAIC,EAAsB,KAAK,MAAM,EAClE,KAAK,MAAQ,IAAIC,EAAM,KAAK,MAAM,EAClC,KAAK,KAAO,IAAIC,EAAK,KAAK,MAAM,EAChC,KAAK,SAAW,IAAIC,EAAS,KAAK,MAAM,EACxC,KAAK,OAAS,IAAIC,EAAO,KAAK,MAAM,CACtC,CACF,EAuBA,SAASC,EAAWC,EAAkBC,EAAgBC,EAAuB,CAE3E,OAAO,oBAAoBD,EAAU,SAAS,EAAE,QAASE,GAAiB,CACxE,IAAMC,EAAqB,OAAO,yBAAyBH,EAAU,UAAWE,CAAY,EACvFC,IAELA,EAAmB,MAAQ,YAAaC,EAAW,CACjD,OAAQ,KAAaH,CAAa,EAAEC,CAAY,EAAE,GAAGE,CAAI,CAC3D,EACA,OAAO,eAAeL,EAAY,UAAWG,EAAcC,CAAkB,EAC/E,CAAC,CACH,CAEAL,EAAWlB,EAAOG,EAAS,SAAS,EACpCe,EAAWlB,EAAOI,EAAK,KAAK,EAC5Bc,EAAWlB,EAAOK,EAAM,MAAM,EAC9Ba,EAAWlB,EAAOM,EAAc,cAAc,EAC9CY,EAAWlB,EAAOO,EAAO,OAAO,EAChCW,EAAWlB,EAAOQ,EAAQ,QAAQ,EAClCU,EAAWlB,EAAOS,EAAe,eAAe,EAChDS,EAAWlB,EAAOU,EAAS,SAAS,EACpCQ,EAAWlB,EAAOW,EAAS,SAAS,EACpCO,EAAWlB,EAAOY,EAAa,aAAa,EAC5CM,EAAWlB,EAAOa,EAAuB,uBAAuB,EAChEK,EAAWlB,EAAOc,EAAO,OAAO,EAChCI,EAAWlB,EAAOe,EAAM,MAAM,EAC9BG,EAAWlB,EAAOgB,EAAU,UAAU,EACtCE,EAAWlB,EAAOiB,EAAQ,QAAQ","names":["Aptos","settings","AptosConfig","Account","ANS","Coin","DigitalAsset","Event","Faucet","FungibleAsset","General","Staking","Transaction","TransactionSubmission","Build","Sign","Simulate","Submit","applyMixin","targetClass","baseClass","baseClassProp","propertyName","propertyDescriptor","args"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as p,b as f,c as T,d as U,e as M,f as O,g as C,h as m,i as V,k as _,l as G,m as j,n as k,o as H,p as z,r,s as L}from"./chunk-F7EWDYTE.mjs";import{c as w}from"./chunk-GXPGRCSW.mjs";import{n as I}from"./chunk-YN6UIVFB.mjs";import{c as x}from"./chunk-SGTFMSOG.mjs";import{a as c,b as v,c as y}from"./chunk-53DS6NBQ.mjs";import{a as h,b as E,c as B,d as S,e as b,f as $,g as F}from"./chunk-XITLXPBK.mjs";import{b as g}from"./chunk-G36AY4R7.mjs";import{b as d}from"./chunk-NL72WE3E.mjs";function Z(n){return n?.map(e=>f(e)?w(e):e)??[]}async function P(n,e,t,i){let s=(await x({aptosConfig:i,accountAddress:n,moduleName:e})).abi?.exposed_functions.find(o=>o.name===t);if(!s)throw new Error(`Could not find entry function ABI for '${n}::${e}::${t}'`);if(!s.is_entry)throw new Error(`'${n}::${e}::${t}' is not an entry function`);let q=L(s),l=[];for(let o=q;o<s.params.length;o+=1)l.push(w(s.params[o],{allowGenerics:!0}));return{typeParameters:s.generic_type_params,parameters:l}}function a(n,e,t,i,u){if(i>=e.parameters.length)throw new Error(`Too many arguments for '${n}', expected ${e.parameters.length}`);let s=e.parameters[i];return A(t,s,i,u)}function A(n,e,t,i){return O(n)?(J(e,n,t),n):D(n,e,t,i)}function D(n,e,t,i){if(e.isBool()){if(p(n))return new h(n);r("boolean",t)}if(e.isAddress()){if(f(n))return g.fromString(n);r("string",t)}if(e.isU8()){if(T(n))return new E(n);r("number",t)}if(e.isU16()){if(T(n))return new B(n);r("number",t)}if(e.isU32()){if(T(n))return new S(n);r("number",t)}if(e.isU64()){if(U(n))return new b(BigInt(n));r("bigint | number | string",t)}if(e.isU128()){if(U(n))return new $(BigInt(n));r("bigint | number | string",t)}if(e.isU256()){if(U(n))return new F(BigInt(n));r("bigint | number | string",t)}if(e.isGeneric()){let u=e.value;if(u<0||u>=i.length)throw new Error(`Generic argument ${e.toString()} is invalid for argument ${t}`);A(n,i[u],t,i)}if(e.isVector()){if(e.value.isU8()){if(f(n))try{return c.U8(d.fromHexInput(n).toUint8Array())}catch{throw new Error(`vector<u8> must be passed in as a hex string or a Uint8array, type '${e.toString()}'`)}if(n instanceof Uint8Array)return c.U8(n)}if(Array.isArray(n))return new c(n.map(u=>A(u,e.value,t,i)));throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}if(e.isStruct()){if(e.isString()){if(f(n))return new v(n);r("string",t)}if(e.isObject()){if(f(n))return g.fromString(n);r("string",t)}if(e.isOption())return M(n)?new y(null):new y(A(n,e.value.typeArgs[0],t,i));throw new Error(`Unsupported struct input type for argument ${t}, type '${e.toString()}'`)}throw new Error(`Type mismatch for argument ${t}, type '${e.toString()}'`)}function J(n,e,t){if(n.isBool()){if(C(e))return;r("Bool",t)}if(n.isAddress()){if(m(e))return;r("AccountAddress",t)}if(n.isU8()){if(_(e))return;r("U8",t)}if(n.isU16()){if(G(e))return;r("U16",t)}if(n.isU32()){if(j(e))return;r("U32",t)}if(n.isU64()){if(k(e))return;r("U64",t)}if(n.isU128()){if(H(e))return;r("U128",t)}if(n.isU256()){if(z(e))return;r("U256",t)}if(n.isVector()){if(e instanceof c)return;r("MoveVector",t)}if(n instanceof I){if(n.isString()){if(V(e))return;r("MoveString",t)}if(n.isObject()){if(m(e))return;r("AccountAddress",t)}if(n.isOption()){if(e instanceof y)return;r("MoveOption",t)}}throw new Error(`Type mismatch for argument ${t}, expected '${n.toString()}'`)}export{Z as a,P as b,a as c,A as d};
|
|
2
|
-
//# sourceMappingURL=chunk-5CUNY7X2.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/transactions/transactionBuilder/remoteAbi.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parseTypeTag } from \"../typeTag/parser\";\nimport { TypeTag, TypeTagStruct } from \"../typeTag\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { EntryFunctionArgumentTypes, SimpleEntryFunctionArgumentTypes, EntryFunctionABI } from \"../types\";\nimport { Bool, MoveOption, MoveString, MoveVector, U128, U16, U256, U32, U64, U8 } from \"../../bcs\";\nimport { AccountAddress, Hex } from \"../../core\";\nimport { getModule } from \"../../internal/account\";\nimport {\n findFirstNonSignerArg,\n isBcsAddress,\n isBcsBool,\n isBcsString,\n isBcsU128,\n isBcsU16,\n isBcsU256,\n isBcsU32,\n isBcsU64,\n isBcsU8,\n isBool,\n isEncodedEntryFunctionArgument,\n isLargeNumber,\n isNull,\n isNumber,\n isString,\n throwTypeMismatch,\n} from \"./helpers\";\n\n/**\n * Convert type arguments to only type tags, allowing for string representations of type tags\n */\nexport function standardizeTypeTags(typeArguments?: Array<TypeTag | string>): Array<TypeTag> {\n return (\n typeArguments?.map((typeArg: string | TypeTag): TypeTag => {\n // Convert to TypeTag if it's a string representation\n if (isString(typeArg)) {\n return parseTypeTag(typeArg);\n }\n return typeArg;\n }) ?? []\n );\n}\n\n/**\n * Fetches the ABI for an entry function from the module\n *\n * @param moduleAddress\n * @param moduleName\n * @param functionName\n * @param aptosConfig\n */\nexport async function fetchEntryFunctionAbi(\n moduleAddress: string,\n moduleName: string,\n functionName: string,\n aptosConfig: AptosConfig,\n): Promise<EntryFunctionABI> {\n // This fetch from the API is currently cached\n const module = await getModule({ aptosConfig, accountAddress: moduleAddress, moduleName });\n\n const functionAbi = module.abi?.exposed_functions.find((func) => func.name === functionName);\n\n // If there's no ABI, then the function is invalid\n if (!functionAbi) {\n throw new Error(`Could not find entry function ABI for '${moduleAddress}::${moduleName}::${functionName}'`);\n }\n\n // Non-entry functions also can't be used\n if (!functionAbi.is_entry) {\n throw new Error(`'${moduleAddress}::${moduleName}::${functionName}' is not an entry function`);\n }\n\n // Remove the signer arguments\n const first = findFirstNonSignerArg(functionAbi);\n const params: TypeTag[] = [];\n for (let i = first; i < functionAbi.params.length; i += 1) {\n params.push(parseTypeTag(functionAbi.params[i], { allowGenerics: true }));\n }\n\n return {\n typeParameters: functionAbi.generic_type_params,\n parameters: params,\n };\n}\n\n/**\n * Converts a non-BCS encoded argument into BCS encoded, if necessary\n * @param functionName\n * @param functionAbi\n * @param arg\n * @param position\n */\nexport function convertArgument(\n functionName: string,\n functionAbi: EntryFunctionABI,\n arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes,\n position: number,\n genericTypeParams: Array<TypeTag>,\n) {\n // Ensure not too many arguments\n if (position >= functionAbi.parameters.length) {\n throw new Error(`Too many arguments for '${functionName}', expected ${functionAbi.parameters.length}`);\n }\n\n const param = functionAbi.parameters[position];\n return checkOrConvertArgument(arg, param, position, genericTypeParams);\n}\n\nexport function checkOrConvertArgument(\n arg: SimpleEntryFunctionArgumentTypes | EntryFunctionArgumentTypes,\n param: TypeTag,\n position: number,\n genericTypeParams: Array<TypeTag>,\n) {\n // If the argument is bcs encoded, we can just use it directly\n if (isEncodedEntryFunctionArgument(arg)) {\n // Ensure the type matches the ABI\n checkType(param, arg, position);\n return arg;\n }\n\n // If it is not BCS encoded, we will need to convert it with the ABI\n return parseArg(arg, param, position, genericTypeParams);\n}\n\n/**\n * Parses a non-BCS encoded argument into a BCS encoded argument recursively\n * @param arg\n * @param param\n * @param position\n * @param genericTypeParams\n */\nfunction parseArg(\n arg: SimpleEntryFunctionArgumentTypes,\n param: TypeTag,\n position: number,\n genericTypeParams: Array<TypeTag>,\n): EntryFunctionArgumentTypes {\n if (param.isBool()) {\n if (isBool(arg)) {\n return new Bool(arg);\n }\n throwTypeMismatch(\"boolean\", position);\n }\n // TODO: support uint8array?\n if (param.isAddress()) {\n if (isString(arg)) {\n return AccountAddress.fromString(arg);\n }\n throwTypeMismatch(\"string\", position);\n }\n if (param.isU8()) {\n if (isNumber(arg)) {\n return new U8(arg);\n }\n throwTypeMismatch(\"number\", position);\n }\n if (param.isU16()) {\n if (isNumber(arg)) {\n return new U16(arg);\n }\n throwTypeMismatch(\"number\", position);\n }\n if (param.isU32()) {\n if (isNumber(arg)) {\n return new U32(arg);\n }\n throwTypeMismatch(\"number\", position);\n }\n if (param.isU64()) {\n if (isLargeNumber(arg)) {\n return new U64(BigInt(arg));\n }\n throwTypeMismatch(\"bigint | number | string\", position);\n }\n if (param.isU128()) {\n if (isLargeNumber(arg)) {\n return new U128(BigInt(arg));\n }\n throwTypeMismatch(\"bigint | number | string\", position);\n }\n if (param.isU256()) {\n if (isLargeNumber(arg)) {\n return new U256(BigInt(arg));\n }\n throwTypeMismatch(\"bigint | number | string\", position);\n }\n\n // Generic needs to use the sub-type\n if (param.isGeneric()) {\n const genericIndex = param.value;\n if (genericIndex < 0 || genericIndex >= genericTypeParams.length) {\n throw new Error(`Generic argument ${param.toString()} is invalid for argument ${position}`);\n }\n\n checkOrConvertArgument(arg, genericTypeParams[genericIndex], position, genericTypeParams);\n }\n\n // We have to special case some vectors for Vector<u8>\n if (param.isVector()) {\n // Check special case for Vector<u8>\n if (param.value.isU8()) {\n if (isString(arg)) {\n try {\n return MoveVector.U8(Hex.fromHexInput(arg).toUint8Array());\n } catch (e: any) {\n // This is a bit of a hack to not reuse code, but also have a better error message\n throw new Error(`vector<u8> must be passed in as a hex string or a Uint8array, type '${param.toString()}'`);\n }\n }\n if (arg instanceof Uint8Array) {\n return MoveVector.U8(arg);\n }\n }\n\n // TODO: Support Uint16Array, Uint32Array, BigUint64Array?\n\n if (Array.isArray(arg)) {\n return new MoveVector(arg.map((item) => checkOrConvertArgument(item, param.value, position, genericTypeParams)));\n }\n\n throw new Error(`Type mismatch for argument ${position}, type '${param.toString()}'`);\n }\n\n // Handle structs as they're more complex\n if (param.isStruct()) {\n if (param.isString()) {\n if (isString(arg)) {\n return new MoveString(arg);\n }\n throwTypeMismatch(\"string\", position);\n }\n if (param.isObject()) {\n // The inner type of Object doesn't matter, since it's just syntactic sugar\n if (isString(arg)) {\n return AccountAddress.fromString(arg);\n }\n throwTypeMismatch(\"string\", position);\n }\n\n if (param.isOption()) {\n // Empty option must be handled specially\n if (isNull(arg)) {\n // Note: This is a placeholder U8 type, and does not match the actual type, as that can't be dynamically grabbed\n return new MoveOption<U8>(null);\n }\n\n return new MoveOption(checkOrConvertArgument(arg, param.value.typeArgs[0], position, genericTypeParams));\n }\n\n throw new Error(`Unsupported struct input type for argument ${position}, type '${param.toString()}'`);\n }\n\n throw new Error(`Type mismatch for argument ${position}, type '${param.toString()}'`);\n}\n\n/**\n * Checks that the type of an already BCS encoded argument matches the ABI\n * @param param\n * @param arg\n * @param position\n */\nfunction checkType(param: TypeTag, arg: EntryFunctionArgumentTypes, position: number) {\n if (param.isBool()) {\n if (isBcsBool(arg)) {\n return;\n }\n throwTypeMismatch(\"Bool\", position);\n }\n if (param.isAddress()) {\n if (isBcsAddress(arg)) {\n return;\n }\n throwTypeMismatch(\"AccountAddress\", position);\n }\n if (param.isU8()) {\n if (isBcsU8(arg)) {\n return;\n }\n throwTypeMismatch(\"U8\", position);\n }\n if (param.isU16()) {\n if (isBcsU16(arg)) {\n return;\n }\n throwTypeMismatch(\"U16\", position);\n }\n if (param.isU32()) {\n if (isBcsU32(arg)) {\n return;\n }\n throwTypeMismatch(\"U32\", position);\n }\n if (param.isU64()) {\n if (isBcsU64(arg)) {\n return;\n }\n throwTypeMismatch(\"U64\", position);\n }\n if (param.isU128()) {\n if (isBcsU128(arg)) {\n return;\n }\n throwTypeMismatch(\"U128\", position);\n }\n if (param.isU256()) {\n if (isBcsU256(arg)) {\n return;\n }\n throwTypeMismatch(\"U256\", position);\n }\n if (param.isVector()) {\n if (arg instanceof MoveVector) {\n // TODO: More introspection to verify the type\n return;\n }\n throwTypeMismatch(\"MoveVector\", position);\n }\n\n // Handle structs as they're more complex\n if (param instanceof TypeTagStruct) {\n if (param.isString()) {\n if (isBcsString(arg)) {\n return;\n }\n throwTypeMismatch(\"MoveString\", position);\n }\n if (param.isObject()) {\n if (isBcsAddress(arg)) {\n return;\n }\n throwTypeMismatch(\"AccountAddress\", position);\n }\n if (param.isOption()) {\n if (arg instanceof MoveOption) {\n // TODO: more introspection for the type\n return;\n }\n throwTypeMismatch(\"MoveOption\", position);\n }\n }\n\n throw new Error(`Type mismatch for argument ${position}, expected '${param.toString()}'`);\n}\n"],"mappings":"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","names":["standardizeTypeTags","typeArguments","typeArg","isString","parseTypeTag","fetchEntryFunctionAbi","moduleAddress","moduleName","functionName","aptosConfig","functionAbi","getModule","func","first","findFirstNonSignerArg","params","i","convertArgument","arg","position","genericTypeParams","param","checkOrConvertArgument","isEncodedEntryFunctionArgument","checkType","parseArg","isBool","Bool","throwTypeMismatch","AccountAddress","isNumber","U8","U16","U32","isLargeNumber","U64","U128","U256","genericIndex","MoveVector","Hex","item","MoveString","isNull","MoveOption","isBcsBool","isBcsAddress","isBcsU8","isBcsU16","isBcsU32","isBcsU64","isBcsU128","isBcsU256","TypeTagStruct","isBcsString"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/coin.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Account, AccountAddressInput } from \"../core\";\nimport { transferCoinTransaction } from \"../internal/coin\";\nimport { SingleSignerTransaction, InputGenerateTransactionOptions } from \"../transactions/types\";\nimport { AnyNumber, MoveStructId } from \"../types\";\nimport { AptosConfig } from \"./aptosConfig\";\n\n/**\n * A class to handle all `Coin` operations\n */\nexport class Coin {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Generate a transfer coin transaction that can be simulated and/or signed and submitted\n *\n * @param args.sender The sender account\n * @param args.recipient The recipient address\n * @param args.amount The amount to transfer\n * @param args.coinType optional. The coin struct type to transfer. Defaults to 0x1::aptos_coin::AptosCoin\n *\n * @returns SingleSignerTransaction\n */\n async transferCoinTransaction(args: {\n sender: Account;\n recipient: AccountAddressInput;\n amount: AnyNumber;\n coinType?: MoveStructId;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return transferCoinTransaction({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"yCAYO,IAAMA,EAAN,KAAW,CAChB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CAY3C,MAAM,wBAAwBC,EAMO,CACnC,OAAOC,EAAwB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CACtE,CACF","names":["Coin","config","args","transferCoinTransaction"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as e}from"./chunk-CLJLQXFQ.mjs";import{a as o,b as s,c as t,d as i,e as a,f as r}from"./chunk-GEZSEAL5.mjs";var c=class{constructor(n){this.config=n}async getTransactions(n){return o({aptosConfig:this.config,...n})}async getTransactionByVersion(n){return t({aptosConfig:this.config,...n})}async getTransactionByHash(n){return i({aptosConfig:this.config,...n})}async isPendingTransaction(n){return a({aptosConfig:this.config,...n})}async waitForTransaction(n){return r({aptosConfig:this.config,...n})}async getGasPriceEstimation(){return s({aptosConfig:this.config})}getSigningMessage(n){return e(n)}};export{c as a};
|
|
2
|
-
//# sourceMappingURL=chunk-5ZVCSKFX.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/transaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"./aptosConfig\";\nimport {\n getGasPriceEstimation,\n getTransactionByHash,\n getTransactionByVersion,\n getTransactions,\n isTransactionPending,\n waitForTransaction,\n} from \"../internal/transaction\";\nimport {\n AnyNumber,\n CommittedTransactionResponse,\n GasEstimation,\n HexInput,\n PaginationArgs,\n TransactionResponse,\n WaitForTransactionOptions,\n} from \"../types\";\nimport { getSigningMessage } from \"../internal/transactionSubmission\";\nimport { AnyRawTransaction } from \"../transactions\";\n\nexport class Transaction {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n /**\n * Queries on-chain transactions. This function will not return pending\n * transactions. For that, use `getTransactionsByHash`.\n *\n * @param args.options.offset The number transaction to start with\n * @param args.options.limit Number of results to return\n *\n * @returns Array of on-chain transactions\n */\n async getTransactions(args?: { options?: PaginationArgs }): Promise<TransactionResponse[]> {\n return getTransactions({\n aptosConfig: this.config,\n ...args,\n });\n }\n\n /**\n * Queries on-chain transaction by version. This function will not return pending transactions.\n *\n * @param args.ledgerVersion - Transaction version is an unsigned 64-bit number.\n * @returns On-chain transaction. Only on-chain transactions have versions, so this\n * function cannot be used to query pending transactions.\n */\n async getTransactionByVersion(args: { ledgerVersion: AnyNumber }): Promise<TransactionResponse> {\n return getTransactionByVersion({\n aptosConfig: this.config,\n ...args,\n });\n }\n\n /**\n * Queries on-chain transaction by transaction hash. This function will return pending transactions.\n * @param args.transactionHash - Transaction hash should be hex-encoded bytes string with 0x prefix.\n * @returns Transaction from mempool (pending) or on-chain (committed) transaction\n */\n async getTransactionByHash(args: { transactionHash: HexInput }): Promise<TransactionResponse> {\n return getTransactionByHash({\n aptosConfig: this.config,\n ...args,\n });\n }\n\n /**\n * Defines if specified transaction is currently in pending state\n *\n * To create a transaction hash:\n *\n * 1. Create a hash message from the bytes: \"Aptos::Transaction\" bytes + the BCS-serialized Transaction bytes.\n * 2. Apply hash algorithm SHA3-256 to the hash message bytes.\n * 3. Hex-encode the hash bytes with 0x prefix.\n *\n * @param args.transactionHash A hash of transaction\n * @returns `true` if transaction is in pending state and `false` otherwise\n */\n async isPendingTransaction(args: { transactionHash: HexInput }): Promise<boolean> {\n return isTransactionPending({\n aptosConfig: this.config,\n ...args,\n });\n }\n\n /**\n * Waits for a transaction to move past the pending state.\n *\n * There are 4 cases.\n * 1. Transaction is successfully processed and committed to the chain.\n * - The function will resolve with the transaction response from the API.\n * 2. Transaction is rejected for some reason, and is therefore not committed to the blockchain.\n * - The function will throw an AptosApiError with an HTTP status code indicating some problem with the request.\n * 3. Transaction is committed but execution failed, meaning no changes were\n * written to the blockchain state.\n * - If `checkSuccess` is true, the function will throw a FailedTransactionError\n * If `checkSuccess` is false, the function will resolve with the transaction response where the `success` field is false.\n * 4. Transaction does not move past the pending state within `args.options.timeoutSecs` seconds.\n * - The function will throw a WaitForTransactionError\n *\n *\n * @param args.transactionHash The hash of a transaction previously submitted to the blockchain.\n * @param args.options.timeoutSecs Timeout in seconds. Defaults to 20 seconds.\n * @param args.options.checkSuccess A boolean which controls whether the function will error if the transaction failed.\n * Defaults to true. See case 3 above.\n * @returns The transaction on-chain. See above for more details.\n */\n async waitForTransaction(args: {\n transactionHash: HexInput;\n options?: WaitForTransactionOptions;\n }): Promise<CommittedTransactionResponse> {\n return waitForTransaction({\n aptosConfig: this.config,\n ...args,\n });\n }\n\n /**\n * Gives an estimate of the gas unit price required to get a\n * transaction on chain in a reasonable amount of time.\n * For more information {@link https://fullnode.mainnet.aptoslabs.com/v1/spec#/operations/estimate_gas_price}\n *\n * @returns Object holding the outputs of the estimate gas API\n * @example\n * ```\n * {\n * gas_estimate: number;\n * deprioritized_gas_estimate?: number;\n * prioritized_gas_estimate?: number;\n * }\n * ```\n */\n async getGasPriceEstimation(): Promise<GasEstimation> {\n return getGasPriceEstimation({\n aptosConfig: this.config,\n });\n }\n\n /**\n * Returns a signing message for a transaction.\n *\n * This allows a user to sign a transaction using their own preferred signing method, and\n * then submit it to the network.\n * @param args.transaction A raw transaction for signing elsewhere\n */\n // eslint-disable-next-line class-methods-use-this\n getSigningMessage(args: { transaction: AnyRawTransaction }): Uint8Array {\n return getSigningMessage(args);\n }\n}\n"],"mappings":"qHAwBO,IAAMA,EAAN,KAAkB,CAGvB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAWA,MAAM,gBAAgBC,EAAqE,CACzF,OAAOC,EAAgB,CACrB,YAAa,KAAK,OAClB,GAAGD,CACL,CAAC,CACH,CASA,MAAM,wBAAwBA,EAAkE,CAC9F,OAAOE,EAAwB,CAC7B,YAAa,KAAK,OAClB,GAAGF,CACL,CAAC,CACH,CAOA,MAAM,qBAAqBA,EAAmE,CAC5F,OAAOG,EAAqB,CAC1B,YAAa,KAAK,OAClB,GAAGH,CACL,CAAC,CACH,CAcA,MAAM,qBAAqBA,EAAuD,CAChF,OAAOI,EAAqB,CAC1B,YAAa,KAAK,OAClB,GAAGJ,CACL,CAAC,CACH,CAwBA,MAAM,mBAAmBA,EAGiB,CACxC,OAAOK,EAAmB,CACxB,YAAa,KAAK,OAClB,GAAGL,CACL,CAAC,CACH,CAiBA,MAAM,uBAAgD,CACpD,OAAOM,EAAsB,CAC3B,YAAa,KAAK,MACpB,CAAC,CACH,CAUA,kBAAkBN,EAAsD,CACtE,OAAOO,EAAkBP,CAAI,CAC/B,CACF","names":["Transaction","config","args","getTransactions","getTransactionByVersion","getTransactionByHash","isTransactionPending","waitForTransaction","getGasPriceEstimation","getSigningMessage"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/fungibleAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/fungible_asset}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * fungible_asset namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport {\n AnyNumber,\n GetCurrentFungibleAssetBalancesResponse,\n GetFungibleAssetActivitiesResponse,\n GetFungibleAssetMetadataResponse,\n PaginationArgs,\n WhereArg,\n} from \"../types\";\nimport { queryIndexer } from \"./general\";\nimport {\n GetCurrentFungibleAssetBalances,\n GetFungibleAssetActivities,\n GetFungibleAssetMetadata,\n} from \"../types/generated/queries\";\nimport {\n GetCurrentFungibleAssetBalancesQuery,\n GetFungibleAssetActivitiesQuery,\n GetFungibleAssetMetadataQuery,\n} from \"../types/generated/operations\";\nimport {\n CurrentFungibleAssetBalancesBoolExp,\n FungibleAssetActivitiesBoolExp,\n FungibleAssetMetadataBoolExp,\n} from \"../types/generated/types\";\nimport { Account, AccountAddress } from \"../core\";\nimport { InputGenerateTransactionOptions } from \"../transactions\";\nimport { generateTransaction } from \"./transactionSubmission\";\n\nexport async function getFungibleAssetMetadata(args: {\n aptosConfig: AptosConfig;\n options?: PaginationArgs & WhereArg<FungibleAssetMetadataBoolExp>;\n}): Promise<GetFungibleAssetMetadataResponse> {\n const { aptosConfig, options } = args;\n\n const graphqlQuery = {\n query: GetFungibleAssetMetadata,\n variables: {\n where_condition: options?.where,\n limit: options?.limit,\n offset: options?.offset,\n },\n };\n\n const data = await queryIndexer<GetFungibleAssetMetadataQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getFungibleAssetMetadata\",\n });\n\n return data.fungible_asset_metadata;\n}\n\nexport async function getFungibleAssetActivities(args: {\n aptosConfig: AptosConfig;\n options?: PaginationArgs & WhereArg<FungibleAssetActivitiesBoolExp>;\n}): Promise<GetFungibleAssetActivitiesResponse> {\n const { aptosConfig, options } = args;\n\n const graphqlQuery = {\n query: GetFungibleAssetActivities,\n variables: {\n where_condition: options?.where,\n limit: options?.limit,\n offset: options?.offset,\n },\n };\n\n const data = await queryIndexer<GetFungibleAssetActivitiesQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getFungibleAssetActivities\",\n });\n\n return data.fungible_asset_activities;\n}\n\nexport async function getCurrentFungibleAssetBalances(args: {\n aptosConfig: AptosConfig;\n options?: PaginationArgs & WhereArg<CurrentFungibleAssetBalancesBoolExp>;\n}): Promise<GetCurrentFungibleAssetBalancesResponse> {\n const { aptosConfig, options } = args;\n\n const graphqlQuery = {\n query: GetCurrentFungibleAssetBalances,\n variables: {\n where_condition: options?.where,\n limit: options?.limit,\n offset: options?.offset,\n },\n };\n\n const data = await queryIndexer<GetCurrentFungibleAssetBalancesQuery>({\n aptosConfig,\n query: graphqlQuery,\n originMethod: \"getCurrentFungibleAssetBalances\",\n });\n\n return data.current_fungible_asset_balances;\n}\n\nexport async function transferFungibleAsset(args: {\n aptosConfig: AptosConfig;\n sender: Account;\n fungibleAssetMetadataAddress: AccountAddress;\n recipient: AccountAddress;\n amount: AnyNumber;\n options?: InputGenerateTransactionOptions;\n}) {\n const { aptosConfig, sender, fungibleAssetMetadataAddress, recipient, amount, options } = args;\n const transaction = await generateTransaction({\n aptosConfig,\n sender: sender.accountAddress,\n data: {\n function: \"0x1::primary_fungible_store::transfer\",\n typeArguments: [\"0x1::fungible_asset::Metadata\"],\n functionArguments: [fungibleAssetMetadataAddress, recipient, amount],\n },\n options,\n });\n return transaction;\n}\n"],"mappings":"oIAuCA,eAAsBA,EAAyBC,EAGD,CAC5C,GAAM,CAAE,YAAAC,EAAa,QAAAC,CAAQ,EAAIF,EAE3BG,EAAe,CACnB,MAAOC,EACP,UAAW,CACT,gBAAiBF,GAAS,MAC1B,MAAOA,GAAS,MAChB,OAAQA,GAAS,MACnB,CACF,EAQA,OANa,MAAMG,EAA4C,CAC7D,YAAAJ,EACA,MAAOE,EACP,aAAc,0BAChB,CAAC,GAEW,uBACd,CAEA,eAAsBG,EAA2BN,EAGD,CAC9C,GAAM,CAAE,YAAAC,EAAa,QAAAC,CAAQ,EAAIF,EAE3BG,EAAe,CACnB,MAAOI,EACP,UAAW,CACT,gBAAiBL,GAAS,MAC1B,MAAOA,GAAS,MAChB,OAAQA,GAAS,MACnB,CACF,EAQA,OANa,MAAMG,EAA8C,CAC/D,YAAAJ,EACA,MAAOE,EACP,aAAc,4BAChB,CAAC,GAEW,yBACd,CAEA,eAAsBK,EAAgCR,EAGD,CACnD,GAAM,CAAE,YAAAC,EAAa,QAAAC,CAAQ,EAAIF,EAE3BG,EAAe,CACnB,MAAOM,EACP,UAAW,CACT,gBAAiBP,GAAS,MAC1B,MAAOA,GAAS,MAChB,OAAQA,GAAS,MACnB,CACF,EAQA,OANa,MAAMG,EAAmD,CACpE,YAAAJ,EACA,MAAOE,EACP,aAAc,iCAChB,CAAC,GAEW,+BACd,CAEA,eAAsBO,EAAsBV,EAOzC,CACD,GAAM,CAAE,YAAAC,EAAa,OAAAU,EAAQ,6BAAAC,EAA8B,UAAAC,EAAW,OAAAC,EAAQ,QAAAZ,CAAQ,EAAIF,EAW1F,OAVoB,MAAMe,EAAoB,CAC5C,YAAAd,EACA,OAAQU,EAAO,eACf,KAAM,CACJ,SAAU,wCACV,cAAe,CAAC,+BAA+B,EAC/C,kBAAmB,CAACC,EAA8BC,EAAWC,CAAM,CACrE,EACA,QAAAZ,CACF,CAAC,CAEH","names":["getFungibleAssetMetadata","args","aptosConfig","options","graphqlQuery","GetFungibleAssetMetadata","queryIndexer","getFungibleAssetActivities","GetFungibleAssetActivities","getCurrentFungibleAssetBalances","GetCurrentFungibleAssetBalances","transferFungibleAsset","sender","fungibleAssetMetadataAddress","recipient","amount","generateTransaction"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internal/transactionSubmission.ts"],"sourcesContent":["/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/transaction_submission}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * transaction_submission namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { MoveVector, U8 } from \"../bcs\";\nimport { postAptosFullNode } from \"../client\";\nimport { Account } from \"../core/account\";\nimport { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { PrivateKey } from \"../core/crypto\";\nimport { AccountAuthenticator } from \"../transactions/authenticator/account\";\nimport { RotationProofChallenge } from \"../transactions/instances/rotationProofChallenge\";\nimport {\n buildTransaction,\n generateTransactionPayload,\n generateSignedTransactionForSimulation,\n generateSignedTransaction,\n sign,\n generateSigningMessage,\n} from \"../transactions/transactionBuilder/transactionBuilder\";\nimport {\n InputGenerateTransactionData,\n AnyRawTransaction,\n InputSimulateTransactionData,\n InputGenerateTransactionOptions,\n SingleSignerTransaction,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n InputGenerateMultiAgentRawTransactionData,\n InputGenerateSingleSignerRawTransactionData,\n MultiAgentTransaction,\n AnyTransactionPayloadInstance,\n} from \"../transactions/types\";\nimport { getInfo } from \"./account\";\nimport { UserTransactionResponse, PendingTransactionResponse, MimeType, HexInput, TransactionResponse } from \"../types\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for `generateTransaction` function.\n * When we call `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransaction(\n args: { aptosConfig: AptosConfig } & InputGenerateSingleSignerRawTransactionData,\n): Promise<SingleSignerTransaction>;\nexport async function generateTransaction(\n args: { aptosConfig: AptosConfig } & InputGenerateMultiAgentRawTransactionData,\n): Promise<MultiAgentTransaction>;\n/**\n * Generates any transaction by passing in the required arguments\n *\n * @param args.sender The transaction sender's account address as a AccountAddressInput\n * @param args.data EntryFunctionData | ScriptData | MultiSigData\n * @param args.feePayerAddress optional. For a fee payer (aka sponsored) transaction\n * @param args.secondarySignerAddresses optional. For a multi-agent or fee payer (aka sponsored) transactions\n * @param args.options optional. GenerateTransactionOptions type\n *\n * @example\n * For a single signer entry function\n * move function name, move function type arguments, move function arguments\n * `\n * data: {\n * function:\"0x1::aptos_account::transfer\",\n * typeArguments:[]\n * functionArguments :[receiverAddress,10]\n * }\n * `\n *\n * @example\n * For a single signer script function\n * module bytecode, move function type arguments, move function arguments\n * ```\n * data: {\n * bytecode:\"0x001234567\",\n * typeArguments:[],\n * functionArguments :[receiverAddress,10]\n * }\n * ```\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function generateTransaction(\n args: { aptosConfig: AptosConfig } & InputGenerateTransactionData,\n): Promise<AnyRawTransaction> {\n const payload = await buildTransactionPayload(args);\n return buildRawTransaction(args, payload);\n}\n\nexport async function buildTransactionPayload(\n args: { aptosConfig: AptosConfig } & InputGenerateTransactionData,\n): Promise<AnyTransactionPayloadInstance> {\n const { aptosConfig, data } = args;\n\n // Merge in aptosConfig for remote ABI on non-script payloads\n let generateTransactionPayloadData: InputGenerateTransactionPayloadDataWithRemoteABI;\n let payload: AnyTransactionPayloadInstance;\n if (\"bytecode\" in data) {\n generateTransactionPayloadData = data;\n payload = await generateTransactionPayload(generateTransactionPayloadData);\n } else if (\"multisigAddress\" in data) {\n generateTransactionPayloadData = {\n aptosConfig,\n multisigAddress: data.multisigAddress,\n function: data.function,\n functionArguments: data.functionArguments,\n typeArguments: data.typeArguments,\n };\n payload = await generateTransactionPayload(generateTransactionPayloadData);\n } else {\n generateTransactionPayloadData = {\n aptosConfig,\n function: data.function,\n functionArguments: data.functionArguments,\n typeArguments: data.typeArguments,\n };\n payload = await generateTransactionPayload(generateTransactionPayloadData);\n }\n return payload;\n}\n\nexport async function buildRawTransaction(\n args: { aptosConfig: AptosConfig } & InputGenerateTransactionData,\n payload: AnyTransactionPayloadInstance,\n): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, options } = args;\n\n let feePayerAddress;\n if (isFeePayerTransactionInput(args)) {\n feePayerAddress = AccountAddress.ZERO.toString();\n }\n\n if (isMultiAgentTransactionInput(args)) {\n const { secondarySignerAddresses } = args;\n return buildTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n secondarySignerAddresses,\n feePayerAddress,\n });\n }\n\n return buildTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n feePayerAddress,\n });\n}\n\nfunction isFeePayerTransactionInput(data: InputGenerateTransactionData): boolean {\n return data.withFeePayer === true;\n}\n\nfunction isMultiAgentTransactionInput(\n data: InputGenerateTransactionData,\n): data is InputGenerateMultiAgentRawTransactionData {\n return \"secondarySignerAddresses\" in data;\n}\n\n/**\n * Builds a signing message that can be signed by external signers\n *\n * Note: Please prefer using `signTransaction` unless signing outside the SDK\n *\n * @param args.transaction AnyRawTransaction, as generated by `generateTransaction()`\n *\n * @return The message to be signed\n */\nexport function getSigningMessage(args: { transaction: AnyRawTransaction }): Uint8Array {\n const { transaction } = args;\n return generateSigningMessage(transaction);\n}\n\n/**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n *\n * @return The signer AccountAuthenticator\n */\nexport function signTransaction(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const accountAuthenticator = sign({ ...args });\n return accountAuthenticator;\n}\n\n/**\n * Simulates a transaction before singing it.\n *\n * @param args.signerPublicKey The signer public key\n * @param args.transaction The raw transaction to simulate\n * @param args.secondarySignersPublicKeys optional. For when the transaction is a multi signers transaction\n * @param args.feePayerPublicKey optional. For when the transaction is a fee payer (aka sponsored) transaction\n * @param args.options optional. A config to simulate the transaction with\n */\nexport async function simulateTransaction(\n args: { aptosConfig: AptosConfig } & InputSimulateTransactionData,\n): Promise<Array<UserTransactionResponse>> {\n const { aptosConfig, transaction, signerPublicKey, secondarySignersPublicKeys, feePayerPublicKey, options } = args;\n\n const signedTransaction = generateSignedTransactionForSimulation({\n transaction,\n signerPublicKey,\n secondarySignersPublicKeys,\n feePayerPublicKey,\n options,\n });\n\n const { data } = await postAptosFullNode<Uint8Array, Array<UserTransactionResponse>>({\n aptosConfig,\n body: signedTransaction,\n path: \"transactions/simulate\",\n params: {\n estimate_gas_unit_price: args.options?.estimateGasUnitPrice ?? false,\n estimate_max_gas_amount: args.options?.estimateMaxGasAmount ?? false,\n estimate_prioritized_gas_unit_price: args.options?.estimatePrioritizedGasUnitPrice ?? false,\n },\n originMethod: \"simulateTransaction\",\n contentType: MimeType.BCS_SIGNED_TRANSACTION,\n });\n return data;\n}\n\n/**\n * Submit transaction to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @return PendingTransactionResponse\n */\nexport async function submitTransaction(\n args: {\n aptosConfig: AptosConfig;\n } & InputSubmitTransactionData,\n): Promise<PendingTransactionResponse> {\n const { aptosConfig } = args;\n const signedTransaction = generateSignedTransaction({ ...args });\n const { data } = await postAptosFullNode<Uint8Array, PendingTransactionResponse>({\n aptosConfig,\n body: signedTransaction,\n path: \"transactions\",\n originMethod: \"submitTransaction\",\n contentType: MimeType.BCS_SIGNED_TRANSACTION,\n });\n return data;\n}\n\nexport async function signAndSubmitTransaction(args: {\n aptosConfig: AptosConfig;\n signer: Account;\n transaction: AnyRawTransaction;\n}): Promise<PendingTransactionResponse> {\n const { aptosConfig, signer, transaction } = args;\n const authenticator = signTransaction({ signer, transaction });\n return submitTransaction({\n aptosConfig,\n transaction,\n senderAuthenticator: authenticator,\n });\n}\n\nexport async function publicPackageTransaction(args: {\n aptosConfig: AptosConfig;\n account: AccountAddressInput;\n metadataBytes: HexInput;\n moduleBytecode: Array<HexInput>;\n options?: InputGenerateTransactionOptions;\n}): Promise<SingleSignerTransaction> {\n const { aptosConfig, account, metadataBytes, moduleBytecode, options } = args;\n\n const totalByteCode = moduleBytecode.map((bytecode) => MoveVector.U8(bytecode));\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: AccountAddress.from(account),\n data: {\n function: \"0x1::code::publish_package_txn\",\n functionArguments: [MoveVector.U8(metadataBytes), new MoveVector(totalByteCode)],\n },\n options,\n });\n return transaction;\n}\n\n/**\n * TODO: Need to refactor and move this function out of transactionSubmission\n */\nexport async function rotateAuthKey(args: {\n aptosConfig: AptosConfig;\n fromAccount: Account;\n toNewPrivateKey: PrivateKey;\n}): Promise<TransactionResponse> {\n const { aptosConfig, fromAccount, toNewPrivateKey } = args;\n const accountInfo = await getInfo({\n aptosConfig,\n accountAddress: fromAccount.accountAddress,\n });\n\n const newAccount = Account.fromPrivateKey({ privateKey: toNewPrivateKey, legacy: true });\n\n const challenge = new RotationProofChallenge({\n sequenceNumber: BigInt(accountInfo.sequence_number),\n originator: fromAccount.accountAddress,\n currentAuthKey: AccountAddress.from(accountInfo.authentication_key),\n newPublicKey: newAccount.publicKey,\n });\n\n // Sign the challenge\n const challengeHex = challenge.bcsToBytes();\n const proofSignedByCurrentPrivateKey = fromAccount.sign(challengeHex);\n const proofSignedByNewPrivateKey = newAccount.sign(challengeHex);\n\n // Generate transaction\n const rawTxn = await generateTransaction({\n aptosConfig,\n sender: fromAccount.accountAddress,\n data: {\n function: \"0x1::account::rotate_authentication_key\",\n functionArguments: [\n new U8(fromAccount.signingScheme.valueOf()), // from scheme\n MoveVector.U8(fromAccount.publicKey.toUint8Array()),\n new U8(newAccount.signingScheme.valueOf()), // to scheme\n MoveVector.U8(newAccount.publicKey.toUint8Array()),\n MoveVector.U8(proofSignedByCurrentPrivateKey.toUint8Array()),\n MoveVector.U8(proofSignedByNewPrivateKey.toUint8Array()),\n ],\n },\n });\n const pendingTxn = await signAndSubmitTransaction({\n aptosConfig,\n signer: fromAccount,\n transaction: rawTxn,\n });\n return pendingTxn;\n}\n"],"mappings":"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","names":["generateTransaction","args","payload","buildTransactionPayload","buildRawTransaction","aptosConfig","data","generateTransactionPayloadData","generateTransactionPayload","sender","options","feePayerAddress","isFeePayerTransactionInput","AccountAddress","isMultiAgentTransactionInput","secondarySignerAddresses","buildTransaction","getSigningMessage","transaction","generateSigningMessage","signTransaction","sign","simulateTransaction","signerPublicKey","secondarySignersPublicKeys","feePayerPublicKey","signedTransaction","generateSignedTransactionForSimulation","postAptosFullNode","submitTransaction","generateSignedTransaction","signAndSubmitTransaction","signer","authenticator","publicPackageTransaction","account","metadataBytes","moduleBytecode","totalByteCode","bytecode","MoveVector","rotateAuthKey","fromAccount","toNewPrivateKey","accountInfo","getInfo","newAccount","Account","challengeHex","RotationProofChallenge","proofSignedByCurrentPrivateKey","proofSignedByNewPrivateKey","rawTxn","U8"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/transactionSubmission/build.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AccountAddressInput } from \"../../core\";\nimport { generateTransaction } from \"../../internal/transactionSubmission\";\nimport {\n InputGenerateTransactionPayloadData,\n InputGenerateTransactionOptions,\n SingleSignerTransaction,\n MultiAgentTransaction,\n} from \"../../transactions\";\nimport { AptosConfig } from \"../aptosConfig\";\n\n/**\n * A class to handle all `Build` transaction operations\n */\nexport class Build {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n async transaction(args: {\n sender: AccountAddressInput;\n data: InputGenerateTransactionPayloadData;\n options?: InputGenerateTransactionOptions;\n withFeePayer?: boolean;\n }): Promise<SingleSignerTransaction> {\n return generateTransaction({ aptosConfig: this.config, ...args });\n }\n\n async multiAgentTransaction(args: {\n sender: AccountAddressInput;\n data: InputGenerateTransactionPayloadData;\n secondarySignerAddresses: AccountAddressInput[];\n options?: InputGenerateTransactionOptions;\n withFeePayer?: boolean;\n }): Promise<MultiAgentTransaction> {\n return generateTransaction({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"yCAgBO,IAAMA,EAAN,KAAY,CAGjB,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAEA,MAAM,YAAYC,EAKmB,CACnC,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CAEA,MAAM,sBAAsBA,EAMO,CACjC,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CACF","names":["Build","config","args","generateTransaction"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/transactions/transactionBuilder/transactionBuilder.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the transaction creation lifecycle.\n * It holds different operations to generate a transaction payload, a raw transaction,\n * and a signed transaction that can be simulated, signed and submitted to chain.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { AccountAddress, AccountAddressInput, Hex, PublicKey } from \"../../core\";\nimport { Account } from \"../../core/account\";\nimport { AnyPublicKey } from \"../../core/crypto/anyPublicKey\";\nimport { AnySignature } from \"../../core/crypto/anySignature\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { Secp256k1PublicKey, Secp256k1Signature } from \"../../core/crypto/secp256k1\";\nimport { getInfo } from \"../../internal/account\";\nimport { getLedgerInfo } from \"../../internal/general\";\nimport { getGasPriceEstimation } from \"../../internal/transaction\";\nimport { NetworkToChainId } from \"../../utils/apiEndpoints\";\nimport {\n DEFAULT_MAX_GAS_AMOUNT,\n DEFAULT_TXN_EXP_SEC_FROM_NOW,\n RAW_TRANSACTION_SALT,\n RAW_TRANSACTION_WITH_DATA_SALT,\n} from \"../../utils/const\";\nimport {\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n AccountAuthenticatorMultiKey,\n AccountAuthenticatorSingleKey,\n} from \"../authenticator/account\";\nimport {\n TransactionAuthenticatorEd25519,\n TransactionAuthenticatorFeePayer,\n TransactionAuthenticatorMultiAgent,\n TransactionAuthenticatorSingleSender,\n} from \"../authenticator/transaction\";\nimport {\n ChainId,\n EntryFunction,\n FeePayerRawTransaction,\n MultiAgentRawTransaction,\n MultiSig,\n MultisigTransactionPayload,\n RawTransaction,\n Script,\n TransactionPayloadEntryFunction,\n TransactionPayloadMultisig,\n TransactionPayloadScript,\n} from \"../instances\";\nimport { SignedTransaction } from \"../instances/signedTransaction\";\nimport {\n AnyRawTransaction,\n AnyTransactionPayloadInstance,\n AnyRawTransactionInstance,\n EntryFunctionArgumentTypes,\n EntryFunctionABI,\n InputGenerateMultiAgentRawTransactionArgs,\n InputGenerateRawTransactionArgs,\n InputGenerateSingleSignerRawTransactionArgs,\n SingleSignerTransaction,\n InputGenerateTransactionOptions,\n MultiAgentTransaction,\n InputScriptData,\n InputSimulateTransactionData,\n InputGenerateTransactionPayloadData,\n InputEntryFunctionData,\n InputMultiSigData,\n InputMultiSigDataWithRemoteABI,\n InputEntryFunctionDataWithRemoteABI,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n} from \"../types\";\nimport { convertArgument, fetchEntryFunctionAbi, standardizeTypeTags } from \"./remoteAbi\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { SigningScheme } from \"../../types\";\nimport { getFunctionParts, isScriptDataInput } from \"./helpers\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransactionPayload` function.\n * When we call our `generateTransactionPayload` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransactionPayload(args: InputScriptData): Promise<TransactionPayloadScript>;\nexport async function generateTransactionPayload(\n args: InputEntryFunctionDataWithRemoteABI,\n): Promise<TransactionPayloadEntryFunction>;\nexport async function generateTransactionPayload(\n args: InputMultiSigDataWithRemoteABI,\n): Promise<TransactionPayloadMultisig>;\n\n/**\n * Builds a transaction payload based on the data argument and returns\n * a transaction payload - TransactionPayloadScript | TransactionPayloadMultisig | TransactionPayloadEntryFunction\n *\n * This uses the RemoteABI by default, and the remote ABI can be skipped by using generateTransactionPayloadWithABI\n *\n * @param args.data GenerateTransactionPayloadData\n *\n * @return TransactionPayload\n */\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance> {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // We fetch the entry function ABI, and then pretend that we already had the ABI\n const functionAbi = await memoizeAsync(\n async () => fetchEntryFunctionAbi(moduleAddress, moduleName, functionName, args.aptosConfig),\n `entry-function-${args.aptosConfig.network}-${moduleAddress}-${moduleName}-${functionName}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n\n return generateTransactionPayloadWithABI(args, functionAbi);\n}\n\nexport function generateTransactionPayloadWithABI(\n args: InputEntryFunctionData,\n functionAbi: EntryFunctionABI,\n): TransactionPayloadEntryFunction;\nexport function generateTransactionPayloadWithABI(\n args: InputMultiSigData,\n functionAbi: EntryFunctionABI,\n): TransactionPayloadMultisig;\nexport function generateTransactionPayloadWithABI(\n args: InputGenerateTransactionPayloadData,\n functionAbi: EntryFunctionABI,\n): AnyTransactionPayloadInstance {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> = args.functionArguments.map((arg, i) =>\n convertArgument(args.function, functionAbi, arg, i, typeArguments),\n );\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n const entryFunctionPayload = EntryFunction.build(\n `${moduleAddress}::${moduleName}`,\n functionName,\n typeArguments,\n functionArguments,\n );\n\n // Send it as multi sig if it's a multisig payload\n if (\"multisigAddress\" in args) {\n const multisigAddress = AccountAddress.from(args.multisigAddress);\n return new TransactionPayloadMultisig(\n new MultiSig(multisigAddress, new MultisigTransactionPayload(entryFunctionPayload)),\n );\n }\n\n // Otherwise send as an entry function\n return new TransactionPayloadEntryFunction(entryFunctionPayload);\n}\n\nfunction generateTransactionPayloadScript(args: InputScriptData) {\n return new TransactionPayloadScript(\n new Script(Hex.fromHexInput(args.bytecode).toUint8Array(), args.typeArguments ?? [], args.functionArguments),\n );\n}\n\n/**\n * Generates a raw transaction\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n *\n * @returns RawTransaction\n */\nexport async function generateRawTransaction(args: {\n aptosConfig: AptosConfig;\n sender: AccountAddressInput;\n payload: AnyTransactionPayloadInstance;\n options?: InputGenerateTransactionOptions;\n}): Promise<RawTransaction> {\n const { aptosConfig, sender, payload, options } = args;\n\n const getSequenceNumber =\n options?.accountSequenceNumber !== undefined\n ? Promise.resolve({ sequence_number: options.accountSequenceNumber })\n : getInfo({ aptosConfig, accountAddress: sender });\n\n const getChainId = NetworkToChainId[aptosConfig.network]\n ? Promise.resolve({ chain_id: NetworkToChainId[aptosConfig.network] })\n : getLedgerInfo({ aptosConfig });\n\n const getGasUnitPrice = options?.gasUnitPrice\n ? Promise.resolve({ gas_estimate: options.gasUnitPrice })\n : getGasPriceEstimation({ aptosConfig });\n\n const [{ sequence_number: sequenceNumber }, { chain_id: chainId }, { gas_estimate: gasEstimate }] = await Promise.all(\n [getSequenceNumber, getChainId, getGasUnitPrice],\n );\n\n const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n maxGasAmount: options?.maxGasAmount ? BigInt(options.maxGasAmount) : BigInt(DEFAULT_MAX_GAS_AMOUNT),\n gasUnitPrice: BigInt(gasEstimate),\n expireTimestamp: BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n ...options,\n };\n\n return new RawTransaction(\n AccountAddress.from(sender),\n BigInt(sequenceNumber),\n payload,\n BigInt(maxGasAmount),\n BigInt(gasUnitPrice),\n BigInt(expireTimestamp),\n new ChainId(chainId),\n );\n}\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransaction` function.\n * When we call our `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function buildTransaction(\n args: InputGenerateSingleSignerRawTransactionArgs,\n): Promise<SingleSignerTransaction>;\nexport async function buildTransaction(args: InputGenerateMultiAgentRawTransactionArgs): Promise<MultiAgentTransaction>;\n\n/**\n * Generates a transaction based on the provided arguments\n *\n * Note: we can start with one function to support all different payload/transaction types,\n * and if to complex to use, we could have function for each type\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n * @param args.options optional. Transaction options object\n * @param args.secondarySignerAddresses optional. For when want to create a multi signers transaction\n * @param args.feePayerAddress optional. For when want to create a fee payer (aka sponsored) transaction\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, payload, options } = args;\n // generate raw transaction\n const rawTxn = await generateRawTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n });\n\n // if multi agent transaction\n if (\"secondarySignerAddresses\" in args) {\n const signers: Array<AccountAddress> =\n args.secondarySignerAddresses?.map((signer) => AccountAddress.from(signer)) ?? [];\n\n return {\n rawTransaction: rawTxn,\n secondarySignerAddresses: signers,\n feePayerAddress: args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n };\n }\n // return the raw transaction\n return {\n rawTransaction: rawTxn,\n feePayerAddress: args.feePayerAddress ? AccountAddress.from(args.feePayerAddress) : undefined,\n };\n}\n\n/**\n * Simulate a transaction before signing and submit to chain\n *\n * @param args.transaction A aptos transaction type to sign\n * @param args.signerPublicKey The signer public key\n * @param args.secondarySignersPublicKeys optional. The secondary signers public keys if multi signers transaction\n * @param args.feePayerPublicKey optional. The fee payer public key is a fee payer (aka sponsored) transaction\n * @param args.options optional. SimulateTransactionOptions\n *\n * @returns A signed serialized transaction that can be simulated\n */\nexport function generateSignedTransactionForSimulation(args: InputSimulateTransactionData): Uint8Array {\n const { signerPublicKey, transaction, secondarySignersPublicKeys, feePayerPublicKey } = args;\n\n const accountAuthenticator = getAuthenticatorForSimulation(signerPublicKey);\n\n // fee payer transaction\n if (transaction.feePayerAddress) {\n const transactionToSign = new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n if (secondarySignersPublicKeys) {\n secondaryAccountAuthenticators = secondarySignersPublicKeys.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n }\n const feePayerAuthenticator = getAuthenticatorForSimulation(feePayerPublicKey!);\n\n const transactionAuthenticator = new TransactionAuthenticatorFeePayer(\n accountAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n secondaryAccountAuthenticators,\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // multi agent transaction\n if (transaction.secondarySignerAddresses) {\n const transactionToSign = new MultiAgentRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n\n secondaryAccountAuthenticators = secondarySignersPublicKeys!.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n\n const transactionAuthenticator = new TransactionAuthenticatorMultiAgent(\n accountAuthenticator,\n transaction.secondarySignerAddresses,\n secondaryAccountAuthenticators,\n );\n\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // single signer raw transaction\n let transactionAuthenticator;\n if (accountAuthenticator instanceof AccountAuthenticatorEd25519) {\n transactionAuthenticator = new TransactionAuthenticatorEd25519(\n accountAuthenticator.public_key,\n accountAuthenticator.signature,\n );\n } else if (accountAuthenticator instanceof AccountAuthenticatorSingleKey) {\n transactionAuthenticator = new TransactionAuthenticatorSingleSender(accountAuthenticator);\n } else {\n throw new Error(\"Invalid public key\");\n }\n return new SignedTransaction(transaction.rawTransaction, transactionAuthenticator).bcsToBytes();\n}\n\nexport function getAuthenticatorForSimulation(publicKey: PublicKey) {\n // TODO add support for AnyMultiKey\n if (publicKey instanceof AnyPublicKey) {\n if (publicKey.publicKey instanceof Ed25519PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Ed25519Signature(new Uint8Array(64))));\n }\n if (publicKey.publicKey instanceof Secp256k1PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Secp256k1Signature(new Uint8Array(64))));\n }\n }\n\n // legacy code\n return new AccountAuthenticatorEd25519(\n new Ed25519PublicKey(publicKey.toUint8Array()),\n new Ed25519Signature(new Uint8Array(64)),\n );\n}\n\n/**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction A aptos transaction type to sign\n *\n * @return The signer AccountAuthenticator\n */\nexport function sign(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const { signer, transaction } = args;\n\n // get the signing message\n const message = generateSigningMessage(transaction);\n\n // account.signMessage\n const signerSignature = signer.sign(message);\n\n // return account authentication\n switch (signer.signingScheme) {\n case SigningScheme.Ed25519:\n return new AccountAuthenticatorEd25519(\n new Ed25519PublicKey(signer.publicKey.toUint8Array()),\n new Ed25519Signature(signerSignature.toUint8Array()),\n );\n case SigningScheme.SingleKey:\n if (!AnyPublicKey.isPublicKey(signer.publicKey)) {\n throw new Error(`Cannot sign transaction, public key does not match ${signer.signingScheme}`);\n }\n return new AccountAuthenticatorSingleKey(signer.publicKey, new AnySignature(signerSignature));\n // TODO support MultiEd25519\n default:\n throw new Error(`Cannot sign transaction, signing scheme ${signer.signingScheme} not supported`);\n }\n}\n\n/**\n * Prepare a transaction to be submitted to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @returns A SignedTransaction\n */\nexport function generateSignedTransaction(args: InputSubmitTransactionData): Uint8Array {\n const { transaction, senderAuthenticator, feePayerAuthenticator, additionalSignersAuthenticators } = args;\n\n const transactionToSubmit = deriveTransactionType(transaction);\n\n if (\n (feePayerAuthenticator || additionalSignersAuthenticators) &&\n (transactionToSubmit instanceof MultiAgentRawTransaction || transactionToSubmit instanceof FeePayerRawTransaction)\n ) {\n return generateMultiSignersSignedTransaction(\n transactionToSubmit,\n senderAuthenticator,\n feePayerAuthenticator,\n additionalSignersAuthenticators,\n );\n }\n\n // submit single signer transaction\n\n // check what instance is accountAuthenticator\n if (senderAuthenticator instanceof AccountAuthenticatorEd25519 && transactionToSubmit instanceof RawTransaction) {\n const transactionAuthenticator = new TransactionAuthenticatorEd25519(\n senderAuthenticator.public_key,\n senderAuthenticator.signature,\n );\n return new SignedTransaction(transactionToSubmit, transactionAuthenticator).bcsToBytes();\n }\n\n if (\n (senderAuthenticator instanceof AccountAuthenticatorSingleKey ||\n senderAuthenticator instanceof AccountAuthenticatorMultiKey) &&\n transactionToSubmit instanceof RawTransaction\n ) {\n const transactionAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);\n return new SignedTransaction(transactionToSubmit, transactionAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot generate a signed transaction, ${senderAuthenticator} is not a supported account authentication scheme`,\n );\n}\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction;\n}\n\n/**\n * Generate a multi signers signed transaction that can be submitted to chain\n *\n * @param transaction MultiAgentRawTransaction | FeePayerRawTransaction\n * @param senderAuthenticator The account authenticator of the transaction sender\n * @param secondarySignerAuthenticators The extra signers account Authenticators\n *\n * @returns A SignedTransaction\n */\nexport function generateMultiSignersSignedTransaction(\n transaction: MultiAgentRawTransaction | FeePayerRawTransaction,\n senderAuthenticator: AccountAuthenticator,\n feePayerAuthenticator?: AccountAuthenticator,\n additionalSignersAuthenticators?: Array<AccountAuthenticator>,\n) {\n if (transaction instanceof FeePayerRawTransaction) {\n if (!feePayerAuthenticator) {\n throw new Error(\"Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction\");\n }\n const txAuthenticatorFeePayer = new TransactionAuthenticatorFeePayer(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n {\n address: transaction.fee_payer_address,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transaction.raw_txn, txAuthenticatorFeePayer).bcsToBytes();\n }\n if (transaction instanceof MultiAgentRawTransaction) {\n if (!additionalSignersAuthenticators) {\n throw new Error(\n \"Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction\",\n );\n }\n const multiAgentAuthenticator = new TransactionAuthenticatorMultiAgent(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n );\n return new SignedTransaction(transaction.raw_txn, multiAgentAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot prepare multi signers transaction to submission, ${typeof transaction} transaction is not supported`,\n );\n}\n\nexport function generateSigningMessage(transaction: AnyRawTransaction): Uint8Array {\n const rawTxn = deriveTransactionType(transaction);\n const hash = sha3Hash.create();\n\n if (rawTxn instanceof RawTransaction) {\n hash.update(RAW_TRANSACTION_SALT);\n } else if (rawTxn instanceof MultiAgentRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else if (rawTxn instanceof FeePayerRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else {\n throw new Error(`Unknown transaction type to sign on: ${rawTxn}`);\n }\n\n const prefix = hash.digest();\n\n const body = rawTxn.bcsToBytes();\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n"],"mappings":"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","names":["sha3Hash","generateTransactionPayload","args","isScriptDataInput","generateTransactionPayloadScript","moduleAddress","moduleName","functionName","getFunctionParts","functionAbi","memoizeAsync","fetchEntryFunctionAbi","generateTransactionPayloadWithABI","typeArguments","standardizeTypeTags","functionArguments","arg","i","convertArgument","entryFunctionPayload","EntryFunction","multisigAddress","AccountAddress","TransactionPayloadMultisig","MultiSig","MultisigTransactionPayload","TransactionPayloadEntryFunction","TransactionPayloadScript","Script","Hex","generateRawTransaction","aptosConfig","sender","payload","options","getSequenceNumber","getInfo","getChainId","NetworkToChainId","getLedgerInfo","getGasUnitPrice","getGasPriceEstimation","sequenceNumber","chainId","gasEstimate","maxGasAmount","gasUnitPrice","expireTimestamp","DEFAULT_MAX_GAS_AMOUNT","DEFAULT_TXN_EXP_SEC_FROM_NOW","RawTransaction","ChainId","buildTransaction","rawTxn","signers","signer","generateSignedTransactionForSimulation","signerPublicKey","transaction","secondarySignersPublicKeys","feePayerPublicKey","accountAuthenticator","getAuthenticatorForSimulation","transactionToSign","FeePayerRawTransaction","secondaryAccountAuthenticators","publicKey","feePayerAuthenticator","transactionAuthenticator","TransactionAuthenticatorFeePayer","SignedTransaction","MultiAgentRawTransaction","TransactionAuthenticatorMultiAgent","AccountAuthenticatorEd25519","TransactionAuthenticatorEd25519","AccountAuthenticatorSingleKey","TransactionAuthenticatorSingleSender","AnyPublicKey","Ed25519PublicKey","AnySignature","Ed25519Signature","Secp256k1PublicKey","Secp256k1Signature","sign","message","generateSigningMessage","signerSignature","generateSignedTransaction","senderAuthenticator","additionalSignersAuthenticators","transactionToSubmit","deriveTransactionType","generateMultiSignersSignedTransaction","AccountAuthenticatorMultiKey","txAuthenticatorFeePayer","multiAgentAuthenticator","hash","sha3Hash","RAW_TRANSACTION_SALT","RAW_TRANSACTION_WITH_DATA_SALT","prefix","body","mergedArray"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as t,b as r,c as s,d as c,e as a,f as m,g as d,h as g}from"./chunk-UKSA4H2O.mjs";import{a as e}from"./chunk-APSQ4M23.mjs";var p=class{constructor(n){this.config=n}async createCollectionTransaction(n){return m({aptosConfig:this.config,...n})}async getCollectionData(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(n.options?.tokenStandard)}),d({aptosConfig:this.config,...n})}async getCollectionId(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(n.options?.tokenStandard)}),g({aptosConfig:this.config,...n})}async mintTokenTransaction(n){return t({aptosConfig:this.config,...n})}async getTokenData(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(void 0)}),r({aptosConfig:this.config,...n})}async getCurrentTokenOwnership(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(void 0)}),s({aptosConfig:this.config,...n})}async getOwnedTokens(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(void 0)}),c({aptosConfig:this.config,...n})}async getTokenActivity(n){return await e({config:this.config,minimumLedgerVersion:n.minimumLedgerVersion,processorTypes:o(void 0)}),a({aptosConfig:this.config,...n})}};function o(i){switch(i){case"v1":return["token_processor"];case"v2":return["token_v2_processor"];default:return["token_processor","token_v2_processor"]}}export{p as a};
|
|
2
|
-
//# sourceMappingURL=chunk-IELTCGLP.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/api/digitalAsset.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AnyNumber,\n GetCollectionDataResponse,\n GetCurrentTokenOwnershipResponse,\n GetOwnedTokensResponse,\n GetTokenActivityResponse,\n GetTokenDataResponse,\n OrderByArg,\n PaginationArgs,\n TokenStandard,\n TokenStandardArg,\n} from \"../types\";\nimport { Account, AccountAddressInput } from \"../core\";\nimport { InputGenerateTransactionOptions, SingleSignerTransaction } from \"../transactions/types\";\nimport {\n CreateCollectionOptions,\n createCollectionTransaction,\n getCollectionData,\n getCollectionId,\n getCurrentTokenOwnership,\n getOwnedTokens,\n getTokenActivity,\n getTokenData,\n mintTokenTransaction,\n} from \"../internal/digitalAsset\";\nimport { ProcessorType } from \"../utils/const\";\nimport { AptosConfig } from \"./aptosConfig\";\nimport { waitForIndexerOnVersion } from \"./utils\";\n\n/**\n * A class to query all `DigitalAsset` related queries on Aptos.\n */\nexport class DigitalAsset {\n constructor(readonly config: AptosConfig) {}\n\n /**\n * Creates a new collection within the specified account\n *\n * @param args.creator the account of the collection's creator\n * @param args.description the description of the collection\n * @param args.name the name of the collection\n * @param args.uri the URI to additional info about the collection\n *\n * The parameters below are optional.\n * @param args.maxSupply controls the max supply of the tokens - defaults MAX_U64_BIG_INT\n * @param args.mutableDescription controls mutability of the collection's description - defaults true\n * @param args.mutableRoyalty controls mutability of the collection's description - defaults true\n * @param args.mutableUri controls mutability of the collection's URI - defaults true\n * @param args.mutableTokenDescription controls mutability of the token's description - defaults true\n * @param args.mutableTokenName controls mutability of the token's name - defaults true\n * @param args.mutableTokenProperties controls mutability of token's properties - defaults true\n * @param args.mutableTokenUri controls mutability of the token's URI - defaults true\n * @param args.tokensBurnableByCreator controls whether tokens can be burnable by the creator - defaults true\n * @param args.tokensFreezableByCreator controls whether tokens can be frozen by the creator - defaults true\n * @param args.royaltyNumerator the numerator of the royalty to be paid to the creator when a token is transferred - defaults 0\n * @param args.royaltyDenominator the denominator of the royalty to be paid to the creator when a token is transferred -\n * defaults 1\n *\n * @returns A SingleSignerTransaction that when submitted will create the collection.\n */\n async createCollectionTransaction(\n args: {\n creator: Account;\n description: string;\n name: string;\n uri: string;\n options?: InputGenerateTransactionOptions;\n } & CreateCollectionOptions,\n ): Promise<SingleSignerTransaction> {\n return createCollectionTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries data of a specific collection by the collection creator address and the collection name.\n *\n * If, for some reason, a creator account has 2 collections with the same name in v1 and v2,\n * can pass an optional `tokenStandard` parameter to query a specific standard\n *\n * @param args.creatorAddress the address of the collection's creator\n * @param args.collectionName the name of the collection\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @param args.options.tokenStandard the token standard to query\n * @returns GetCollectionDataResponse response type\n */\n async getCollectionData(args: {\n creatorAddress: AccountAddressInput;\n collectionName: string;\n minimumLedgerVersion?: AnyNumber;\n options?: TokenStandardArg;\n }): Promise<GetCollectionDataResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n processorTypes: getTokenProcessorTypes(args.options?.tokenStandard),\n });\n return getCollectionData({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Queries a collection's ID.\n *\n * This is the same as the collection's object address in V2, but V1 does\n * not use objects, and does not have an address\n *\n * @param args.creatorAddress the address of the collection's creator\n * @param args.collectionName the name of the collection\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @param args.options.tokenStandard the token standard to query\n * @returns the collection id\n */\n async getCollectionId(args: {\n creatorAddress: AccountAddressInput;\n collectionName: string;\n minimumLedgerVersion?: AnyNumber;\n options?: TokenStandardArg;\n }): Promise<string> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n processorTypes: getTokenProcessorTypes(args.options?.tokenStandard),\n });\n return getCollectionId({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Create a transaction to mint a token into the creators account within an existing collection.\n *\n * @param args.creator the creator of the collection\n * @param args.collection the name of the collection the token belongs to\n * @param args.description the description of the token\n * @param args.name the name of the token\n * @param args.uri the URI to additional info about the token\n *\n * @returns A SingleSignerTransaction that can be simulated or submitted to chain\n */\n async mintTokenTransaction(args: {\n creator: Account;\n collection: string;\n description: string;\n name: string;\n uri: string;\n options?: InputGenerateTransactionOptions;\n }): Promise<SingleSignerTransaction> {\n return mintTokenTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Gets token data given the address of a token.\n *\n * @param args.tokenAddress The address of the token\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetTokenDataResponse containing relevant data to the token.\n */\n async getTokenData(args: {\n tokenAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<GetTokenDataResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n // TODO(greg): Should take in a consistent input for token queries\n processorTypes: getTokenProcessorTypes(undefined),\n });\n return getTokenData({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Gets token ownership data given the address of a token.\n *\n * @param args.tokenAddress The address of the token\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetCurrentTokenOwnershipResponse containing relevant ownership data of the token.\n */\n async getCurrentTokenOwnership(args: {\n tokenAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n }): Promise<GetCurrentTokenOwnershipResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n // TODO(greg): Should take in a consistent input for token queries\n processorTypes: getTokenProcessorTypes(undefined),\n });\n return getCurrentTokenOwnership({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Gets the tokens that the given address owns.\n *\n * @param args.ownerAddress The address of the owner\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetOwnedTokensResponse containing ownership data of the tokens belonging to the ownerAddresss.\n */\n async getOwnedTokens(args: {\n ownerAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n options?: PaginationArgs & OrderByArg<GetOwnedTokensResponse[0]>;\n }): Promise<GetOwnedTokensResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n // TODO(greg): Should take in a consistent input for token queries\n processorTypes: getTokenProcessorTypes(undefined),\n });\n return getOwnedTokens({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Gets the activity data given the address of a token.\n *\n * @param args.tokenAddress The address of the token\n * @param args.minimumLedgerVersion Optional ledger version to sync up to, before querying\n * @returns GetTokenActivityResponse containing relevant activity data to the token.\n */\n async getTokenActivity(args: {\n tokenAddress: AccountAddressInput;\n minimumLedgerVersion?: AnyNumber;\n options?: PaginationArgs & OrderByArg<GetTokenActivityResponse[0]>;\n }): Promise<GetTokenActivityResponse> {\n await waitForIndexerOnVersion({\n config: this.config,\n minimumLedgerVersion: args.minimumLedgerVersion,\n // TODO(greg): Should take in a consistent input for token queries\n processorTypes: getTokenProcessorTypes(undefined),\n });\n return getTokenActivity({ aptosConfig: this.config, ...args });\n }\n}\n\nfunction getTokenProcessorTypes(tokenStandard?: TokenStandard) {\n switch (tokenStandard) {\n case \"v1\":\n return [ProcessorType.TOKEN_PROCESSOR];\n case \"v2\":\n return [ProcessorType.TOKEN_V2_PROCESSOR];\n default:\n // If it's something we don't recognize, or undefined, just do both\n return [ProcessorType.TOKEN_PROCESSOR, ProcessorType.TOKEN_V2_PROCESSOR];\n }\n}\n"],"mappings":"mIAmCO,IAAMA,EAAN,KAAmB,CACxB,YAAqBC,EAAqB,CAArB,YAAAA,CAAsB,CA2B3C,MAAM,4BACJC,EAOkC,CAClC,OAAOC,EAA4B,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAC1E,CAcA,MAAM,kBAAkBA,EAKe,CACrC,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAC3B,eAAgBG,EAAuBH,EAAK,SAAS,aAAa,CACpE,CAAC,EACMI,EAAkB,CAAE,YAAa,KAAK,OAAQ,GAAGJ,CAAK,CAAC,CAChE,CAcA,MAAM,gBAAgBA,EAKF,CAClB,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAC3B,eAAgBG,EAAuBH,EAAK,SAAS,aAAa,CACpE,CAAC,EACMK,EAAgB,CAAE,YAAa,KAAK,OAAQ,GAAGL,CAAK,CAAC,CAC9D,CAaA,MAAM,qBAAqBA,EAOU,CACnC,OAAOM,EAAqB,CAAE,YAAa,KAAK,OAAQ,GAAGN,CAAK,CAAC,CACnE,CASA,MAAM,aAAaA,EAGe,CAChC,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAE3B,eAAgBG,EAAuB,MAAS,CAClD,CAAC,EACMI,EAAa,CAAE,YAAa,KAAK,OAAQ,GAAGP,CAAK,CAAC,CAC3D,CASA,MAAM,yBAAyBA,EAGe,CAC5C,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAE3B,eAAgBG,EAAuB,MAAS,CAClD,CAAC,EACMK,EAAyB,CAAE,YAAa,KAAK,OAAQ,GAAGR,CAAK,CAAC,CACvE,CASA,MAAM,eAAeA,EAIe,CAClC,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAE3B,eAAgBG,EAAuB,MAAS,CAClD,CAAC,EACMM,EAAe,CAAE,YAAa,KAAK,OAAQ,GAAGT,CAAK,CAAC,CAC7D,CASA,MAAM,iBAAiBA,EAIe,CACpC,aAAME,EAAwB,CAC5B,OAAQ,KAAK,OACb,qBAAsBF,EAAK,qBAE3B,eAAgBG,EAAuB,MAAS,CAClD,CAAC,EACMO,EAAiB,CAAE,YAAa,KAAK,OAAQ,GAAGV,CAAK,CAAC,CAC/D,CACF,EAEA,SAASG,EAAuBQ,EAA+B,CAC7D,OAAQA,EAAe,CACrB,IAAK,KACH,MAAO,kBAA8B,EACvC,IAAK,KACH,MAAO,qBAAiC,EAC1C,QAEE,MAAO,uCAAgE,CAC3E,CACF","names":["DigitalAsset","config","args","createCollectionTransaction","waitForIndexerOnVersion","getTokenProcessorTypes","getCollectionData","getCollectionId","mintTokenTransaction","getTokenData","getCurrentTokenOwnership","getOwnedTokens","getTokenActivity","tokenStandard"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as u}from"./chunk-CLJLQXFQ.mjs";import{b as w}from"./chunk-G36AY4R7.mjs";import{e as g,g as A}from"./chunk-OT2UDMUU.mjs";import{t as f}from"./chunk-BQSE5HHW.mjs";var E=["A name must be between 3 and 63 characters long,","and can only contain lowercase a-z, 0-9, and hyphens.","A name may not start or end with a hyphen."].join(" ");function D(e){return!(!e||e.length<3||e.length>63||!/^[a-z\d][a-z\d-]{1,61}[a-z\d]$/.test(e))}function c(e){let[n,t,...o]=e.replace(/\.apt$/,"").split(".");if(o.length>0)throw new Error(`${e} is invalid. A name can only have two parts, a domain and a subdomain separated by a "."`);if(!D(n))throw new Error(`${n} is not valid. ${E}`);if(t&&!D(t))throw new Error(`${t} is not valid. ${E}`);return{domainName:t||n,subdomainName:t?n:void 0}}var Y="0x37368b46ce665362562c6d1d4ec01a08c8644c488690df5a17e13ba163e20221",G="0x585fc9f0f0c54183b039ffc770ca282ebd87307916c215a3e692f2f8e4305e82",O={testnet:"0x5f8fd2347449685cf41d4db97926ec3a096eaf381332be4f1318ad4d16a8497c",mainnet:"0x867ed1f6bf916171b1de3ee92849b8978b7d1b9e0a8cc982a3d19d535dfd9c0c",local:G,custom:null,devnet:null};function d(e){let n=O[e.network];if(!n)throw new Error(`The ANS contract is not deployed to ${e.network}`);return n}var P=e=>({vec:[e]}),I=()=>({vec:[]}),S=e=>e!=null?P(e):I(),b=e=>{if(e&&typeof e=="object"&&"vec"in e&&Array.isArray(e.vec))return e.vec[0]};async function K(e){let{aptosConfig:n,name:t}=e,o=d(n),{domainName:r,subdomainName:s}=c(t),i=await g({aptosConfig:n,payload:{function:`${o}::router::get_owner_addr`,functionArguments:[r,S(s)]}}),a=b(i[0]);return a?w.from(a).toString():void 0}async function W(e){let{aptosConfig:n,expiration:t,name:o,sender:r,targetAddress:s,toAddress:i,options:a,transferable:m}=e,p=d(n),{domainName:l,subdomainName:N}=c(o),x=t.policy==="subdomain:independent"||t.policy==="subdomain:follow-domain";if(N&&!x)throw new Error("Subdomains must have an expiration policy of either 'subdomain:independent' or 'subdomain:follow-domain'");if(x&&!N)throw new Error(`Policy is set to ${t.policy} but no subdomain was provided`);if(t.policy==="domain"){let T=t.years??1;if(T!==1)throw new Error("For now, names can only be registered for 1 year at a time");let v=T*31536e3;return await u({aptosConfig:n,sender:r.accountAddress.toString(),data:{function:`${p}::router::register_domain`,functionArguments:[l,v,s,i]},options:a})}if(!N)throw new Error(`${t.policy} requires a subdomain to be provided.`);let _=await q({aptosConfig:n,name:l});if(!_)throw new Error("The domain does not exist");let h=t.policy==="subdomain:independent"?t.expirationDate:_;if(h>_)throw new Error("The subdomain expiration time cannot be greater than the domain expiration time");return await u({aptosConfig:n,sender:r.accountAddress.toString(),data:{function:`${p}::router::register_subdomain`,functionArguments:[l,N,Math.round(h/1e3),t.policy==="subdomain:follow-domain"?1:0,!!m,s,i]},options:a})}async function q(e){let{aptosConfig:n,name:t}=e,o=d(n),{domainName:r,subdomainName:s}=c(t);try{let i=await g({aptosConfig:n,payload:{function:`${o}::router::get_expiration`,functionArguments:[r,S(s)]}});return Number(i[0])*1e3}catch{return}}async function F(e){let{aptosConfig:n,address:t}=e,o=d(n),r=await g({aptosConfig:n,payload:{function:`${o}::router::get_primary_name`,functionArguments:[w.from(t).toString()]}}),s=b(r[1]),i=b(r[0]);if(s)return[i,s].filter(Boolean).join(".")}async function H(e){let{aptosConfig:n,sender:t,name:o,options:r}=e,s=d(n);if(!o)return await u({aptosConfig:n,sender:t.accountAddress.toString(),data:{function:`${s}::router::clear_primary_name`,functionArguments:[]},options:r});let{domainName:i,subdomainName:a}=c(o);return await u({aptosConfig:n,sender:t.accountAddress.toString(),data:{function:`${s}::router::set_primary_name`,functionArguments:[i,a]},options:r})}async function J(e){let{aptosConfig:n,name:t}=e,o=d(n),{domainName:r,subdomainName:s}=c(t),i=await g({aptosConfig:n,payload:{function:`${o}::router::get_target_addr`,functionArguments:[r,S(s)]}}),a=b(i[0]);return a?w.from(a).toString():void 0}async function X(e){let{aptosConfig:n,sender:t,name:o,address:r,options:s}=e,i=d(n),{domainName:a,subdomainName:m}=c(o);return await u({aptosConfig:n,sender:t.accountAddress.toString(),data:{function:`${i}::router::set_target_addr`,functionArguments:[a,m,r]},options:s})}async function Z(e){let{aptosConfig:n,name:t}=e,{domainName:o,subdomainName:r=""}=c(t),a=(await A({aptosConfig:n,query:{query:f,variables:{where_condition:{domain:{_eq:o},subdomain:{_eq:r}},limit:1}},originMethod:"getName"})).current_aptos_names[0];return a&&(a=y(a)),a}async function ee(e){let{aptosConfig:n,options:t,accountAddress:o}=e,r=await C({aptosConfig:n});return(await A({aptosConfig:n,originMethod:"getAccountNames",query:{query:f,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...e.options?.where??{},owner_address:{_eq:o.toString()},expiration_timestamp:{_gte:r}}}}})).current_aptos_names.map(y)}async function ne(e){let{aptosConfig:n,options:t,accountAddress:o}=e,r=await C({aptosConfig:n});return(await A({aptosConfig:n,originMethod:"getAccountDomains",query:{query:f,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...e.options?.where??{},owner_address:{_eq:o.toString()},expiration_timestamp:{_gte:r},subdomain:{_eq:""}}}}})).current_aptos_names.map(y)}async function te(e){let{aptosConfig:n,options:t,accountAddress:o}=e,r=await C({aptosConfig:n});return(await A({aptosConfig:n,originMethod:"getAccountSubdomains",query:{query:f,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...e.options?.where??{},owner_address:{_eq:o.toString()},expiration_timestamp:{_gte:r},subdomain:{_neq:""}}}}})).current_aptos_names.map(y)}async function oe(e){let{aptosConfig:n,options:t,domain:o}=e;return(await A({aptosConfig:n,originMethod:"getDomainSubdomains",query:{query:f,variables:{limit:t?.limit,offset:t?.offset,order_by:t?.orderBy,where_condition:{...e.options?.where??{},domain:{_eq:o},subdomain:{_neq:""}}}}})).current_aptos_names.map(y)}async function C(e){let{aptosConfig:n}=e,t=d(n),[o]=await g({aptosConfig:n,payload:{function:`${t}::config::reregistration_grace_sec`,functionArguments:[]}}),r=o/60/60/24,s=()=>new Date;return new Date(s().setDate(s().getDate()-r)).toISOString()}async function re(e){let{aptosConfig:n,sender:t,name:o,years:r=1,options:s}=e,i=d(n),a=r*31536e3,{domainName:m,subdomainName:p}=c(o);if(p)throw new Error("Subdomains cannot be renewed");if(r!==1)throw new Error("Currently, only 1 year renewals are supported");return await u({aptosConfig:n,sender:t.accountAddress.toString(),data:{function:`${i}::router::renew_domain`,functionArguments:[m,a]},options:s})}function y(e){return{...e,expiration_timestamp:new Date(e.expiration_timestamp).valueOf()}}export{E as a,D as b,c,Y as d,G as e,K as f,W as g,q as h,F as i,H as j,J as k,X as l,Z as m,ee as n,ne as o,te as p,oe as q,re as r};
|
|
2
|
-
//# sourceMappingURL=chunk-KKER5KL4.mjs.map
|