@aptos-labs/ts-sdk 1.27.1 → 1.28.0-zeta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/{accountAddress-LOYE4_sG.d.ts → accountAddress-0OnKb1b9.d.ts} +5 -3
- package/dist/common/chunk-HBPH2AD3.js +2 -0
- package/dist/common/chunk-HBPH2AD3.js.map +1 -0
- package/dist/common/cli/index.d.ts +1 -1
- package/dist/common/cli/index.js +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +252 -41
- package/dist/common/index.js +28 -28
- package/dist/common/index.js.map +1 -1
- package/dist/esm/{Ed25519Account-B1VMJOY2.d.mts → Ed25519Account-9zBaZEnp.d.mts} +1 -1
- package/dist/esm/account/Account.d.mts +2 -2
- package/dist/esm/account/Account.mjs +1 -1
- package/dist/esm/account/Ed25519Account.d.mts +2 -2
- package/dist/esm/account/Ed25519Account.mjs +1 -1
- package/dist/esm/account/EphemeralKeyPair.d.mts +1 -1
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +75 -0
- package/dist/esm/account/FederatedKeylessAccount.mjs +2 -0
- package/dist/esm/account/KeylessAccount.d.mts +13 -130
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccountCommon.d.mts +207 -0
- package/dist/esm/account/KeylessAccountCommon.mjs +2 -0
- package/dist/esm/account/MultiKeyAccount.d.mts +4 -3
- package/dist/esm/account/MultiKeyAccount.mjs +1 -1
- package/dist/esm/account/SingleKeyAccount.d.mts +2 -2
- package/dist/esm/account/SingleKeyAccount.mjs +1 -1
- package/dist/esm/account/index.d.mts +6 -3
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/api/account.d.mts +4 -3
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +2 -2
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +5 -2
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/aptosConfig.mjs +1 -1
- package/dist/esm/api/coin.d.mts +1 -1
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +2 -2
- 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 +2 -2
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +1 -1
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +5 -2
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.d.mts +35 -21
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +2 -2
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +2 -2
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +2 -2
- 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 +1 -1
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +1 -1
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/index.d.mts +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.d.mts +10 -1
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/bcs/serializer.mjs +1 -1
- package/dist/esm/chunk-23J256KA.mjs +2 -0
- package/dist/esm/chunk-23J256KA.mjs.map +1 -0
- package/dist/esm/{chunk-QE5OL6KN.mjs → chunk-2MDJ763P.mjs} +2 -2
- package/dist/esm/{chunk-WFOYGJS5.mjs → chunk-2Z6HETKH.mjs} +2 -2
- package/dist/esm/{chunk-G5MGSV7Y.mjs → chunk-3CE63FFN.mjs} +2 -2
- package/dist/esm/chunk-3TSO6PDV.mjs +2 -0
- package/dist/esm/{chunk-2N2VEGT6.mjs → chunk-3XX3675G.mjs} +2 -2
- package/dist/esm/{chunk-ZXYTLPP6.mjs → chunk-4I6IUAHQ.mjs} +2 -2
- package/dist/esm/{chunk-UV7M72QD.mjs → chunk-4QVGK2KD.mjs} +2 -2
- package/dist/esm/{chunk-SUJLWCRN.mjs → chunk-5FPWLBZT.mjs} +2 -2
- package/dist/esm/chunk-5HI4R3A2.mjs +2 -0
- package/dist/esm/{chunk-AYX5JMB4.mjs → chunk-5HWJ3SN4.mjs} +2 -2
- package/dist/esm/{chunk-3SPU4V2B.mjs → chunk-5RNKD3GW.mjs} +2 -2
- package/dist/esm/{chunk-SCHZ67F3.mjs → chunk-5VQK4F5X.mjs} +2 -2
- package/dist/esm/{chunk-SCHZ67F3.mjs.map → chunk-5VQK4F5X.mjs.map} +1 -1
- package/dist/esm/{chunk-7Y3MRBG6.mjs → chunk-6LC7ZJEI.mjs} +2 -2
- package/dist/esm/{chunk-76HTG7Z7.mjs → chunk-7BPKOPP7.mjs} +2 -2
- package/dist/esm/chunk-7T5CUI2H.mjs +2 -0
- package/dist/esm/{chunk-Q7MD4V7H.mjs.map → chunk-7T5CUI2H.mjs.map} +1 -1
- package/dist/esm/{chunk-HRIYZBXY.mjs → chunk-ADLWXCGV.mjs} +2 -2
- package/dist/esm/{chunk-BCUSI3N6.mjs → chunk-AOCNYMMX.mjs} +2 -2
- package/dist/esm/chunk-ASQIKTEF.mjs +2 -0
- package/dist/esm/chunk-ASQIKTEF.mjs.map +1 -0
- package/dist/esm/{chunk-GNFEBKFV.mjs → chunk-AT2A7OZD.mjs} +2 -2
- package/dist/esm/{chunk-A4T373F3.mjs → chunk-AWQNX3RT.mjs} +2 -2
- package/dist/esm/{chunk-NWOMSL6K.mjs → chunk-AZ642ORV.mjs} +2 -2
- package/dist/esm/chunk-B2RQPJYZ.mjs +2 -0
- package/dist/esm/chunk-B2RQPJYZ.mjs.map +1 -0
- package/dist/esm/{chunk-52KPINA4.mjs → chunk-B5NYEWNM.mjs} +2 -2
- package/dist/esm/chunk-BC5BEOKM.mjs +2 -0
- package/dist/esm/{chunk-G7UNU5GI.mjs → chunk-BQPQLOIW.mjs} +2 -2
- package/dist/esm/chunk-CBRVPQV6.mjs +2 -0
- package/dist/esm/chunk-CBRVPQV6.mjs.map +1 -0
- package/dist/esm/chunk-CDIKSNSU.mjs +2 -0
- package/dist/esm/{chunk-7AIKM3UF.mjs → chunk-CSNIVFPZ.mjs} +2 -2
- package/dist/esm/chunk-DYMN66K5.mjs +2 -0
- package/dist/esm/{chunk-4ZMI5G5L.mjs.map → chunk-DYMN66K5.mjs.map} +1 -1
- package/dist/esm/{chunk-3NRBTP3S.mjs → chunk-E2WOZVJX.mjs} +2 -2
- package/dist/esm/{chunk-H33YIMTU.mjs → chunk-E5LYYWAS.mjs} +2 -2
- package/dist/esm/chunk-E7VSBBQM.mjs +2 -0
- package/dist/esm/{chunk-YPHH6CAO.mjs.map → chunk-E7VSBBQM.mjs.map} +1 -1
- package/dist/esm/{chunk-OHRL766V.mjs → chunk-EDVGFSB5.mjs} +2 -2
- package/dist/esm/{chunk-OHRL766V.mjs.map → chunk-EDVGFSB5.mjs.map} +1 -1
- package/dist/esm/{chunk-ZQFFRZJ4.mjs → chunk-ELPTV7ZG.mjs} +2 -2
- package/dist/esm/chunk-EXP5STXZ.mjs +2 -0
- package/dist/esm/chunk-EXP5STXZ.mjs.map +1 -0
- package/dist/esm/chunk-FBPNHF54.mjs +2 -0
- package/dist/esm/{chunk-UWPO7WWS.mjs → chunk-FDD6WNN6.mjs} +2 -2
- package/dist/esm/{chunk-6ERHGCK2.mjs → chunk-FDTLBR6D.mjs} +2 -2
- package/dist/esm/chunk-FOLCONSQ.mjs +2 -0
- package/dist/esm/{chunk-5IUXBOS5.mjs → chunk-FTBXTZM2.mjs} +2 -2
- package/dist/esm/{chunk-UO52TECC.mjs → chunk-G6HZPSZ3.mjs} +2 -2
- package/dist/esm/chunk-GAEAYY44.mjs +1 -0
- package/dist/esm/chunk-GAEAYY44.mjs.map +1 -0
- package/dist/esm/{chunk-ZXPBRVOA.mjs → chunk-GKRIMGKW.mjs} +2 -2
- package/dist/esm/{chunk-MEKXPGK7.mjs → chunk-GX2II7H4.mjs} +2 -2
- package/dist/esm/{chunk-I5XQKNOK.mjs → chunk-H3TJNBHX.mjs} +2 -2
- package/dist/esm/{chunk-MLL54PYO.mjs → chunk-HAT5S2XX.mjs} +2 -2
- package/dist/esm/{chunk-MLL54PYO.mjs.map → chunk-HAT5S2XX.mjs.map} +1 -1
- package/dist/esm/chunk-IA4RELOH.mjs +1 -0
- package/dist/esm/chunk-IA4RELOH.mjs.map +1 -0
- package/dist/esm/{chunk-USOIC4HO.mjs → chunk-J3PN353M.mjs} +2 -2
- package/dist/esm/{chunk-SONTIUAM.mjs → chunk-J45FMNYT.mjs} +2 -2
- package/dist/esm/{chunk-HHU7UCFI.mjs → chunk-K7ZPRL7C.mjs} +2 -2
- package/dist/esm/chunk-K7ZPRL7C.mjs.map +1 -0
- package/dist/esm/{chunk-NRRADUK4.mjs → chunk-KBIYKNM2.mjs} +2 -2
- package/dist/esm/{chunk-T2NJUIOQ.mjs → chunk-KSOKGREZ.mjs} +2 -2
- package/dist/esm/{chunk-ORXEFE6X.mjs → chunk-LY7ZRAJT.mjs} +2 -2
- package/dist/esm/chunk-MSK4O4KB.mjs +2 -0
- package/dist/esm/chunk-MSK4O4KB.mjs.map +1 -0
- package/dist/esm/{chunk-FOHGSNYZ.mjs → chunk-MYRN7MDF.mjs} +2 -2
- package/dist/esm/{chunk-PO33LVUF.mjs → chunk-MZB3J6CV.mjs} +2 -2
- package/dist/esm/chunk-N6EC72OZ.mjs +2 -0
- package/dist/esm/chunk-ND23H3AK.mjs +2 -0
- package/dist/esm/{chunk-JKNTGRSQ.mjs → chunk-NGIPNL7N.mjs} +2 -2
- package/dist/esm/{chunk-ZZRSKHWS.mjs → chunk-NOVJ2ROD.mjs} +2 -2
- package/dist/esm/chunk-OOVNFKA6.mjs +2 -0
- package/dist/esm/{chunk-OEOUZFHD.mjs → chunk-OVI2RY5L.mjs} +2 -2
- package/dist/esm/{chunk-FNT3VLRD.mjs → chunk-P4FYT4LC.mjs} +2 -2
- package/dist/esm/chunk-PBMXWRZG.mjs +2 -0
- package/dist/esm/chunk-PBMXWRZG.mjs.map +1 -0
- package/dist/esm/chunk-PEYLPXU6.mjs +2 -0
- package/dist/esm/chunk-PEYLPXU6.mjs.map +1 -0
- package/dist/esm/chunk-QIOBANW2.mjs +2 -0
- package/dist/esm/chunk-QIOBANW2.mjs.map +1 -0
- package/dist/esm/chunk-QP2A5ISX.mjs +2 -0
- package/dist/esm/{chunk-KEN2VRIM.mjs → chunk-QQGCMXIV.mjs} +2 -2
- package/dist/esm/{chunk-O4BBULNE.mjs → chunk-QTTDBQAJ.mjs} +2 -2
- package/dist/esm/{chunk-6BYVG7H4.mjs → chunk-QUTP2ACU.mjs} +2 -2
- package/dist/esm/{chunk-PY4TS34X.mjs → chunk-RLGIYYI7.mjs} +2 -2
- package/dist/esm/{chunk-5L3PLK3W.mjs → chunk-S3I4THN5.mjs} +2 -2
- package/dist/esm/{chunk-GHKMF253.mjs → chunk-S7KCJQOA.mjs} +2 -2
- package/dist/esm/{chunk-WRRQ7L5K.mjs → chunk-SHOPSMRK.mjs} +2 -2
- package/dist/esm/{chunk-YDZBU2DJ.mjs → chunk-SP4PT77Z.mjs} +2 -2
- package/dist/esm/chunk-SVO6PVAX.mjs +2 -0
- package/dist/esm/chunk-SVO6PVAX.mjs.map +1 -0
- package/dist/esm/{chunk-74YFNJ7A.mjs → chunk-SYKVA363.mjs} +2 -2
- package/dist/esm/chunk-TJDC5PWD.mjs +2 -0
- package/dist/esm/chunk-TKQEC2WD.mjs +2 -0
- package/dist/esm/chunk-TKQEC2WD.mjs.map +1 -0
- package/dist/esm/chunk-TVWAYKEP.mjs +2 -0
- package/dist/esm/{chunk-CTJX4CUF.mjs → chunk-U72MLMGP.mjs} +2 -2
- package/dist/esm/chunk-UAL27G6B.mjs +2 -0
- package/dist/esm/chunk-UAL27G6B.mjs.map +1 -0
- package/dist/esm/chunk-UW5TIZFE.mjs +2 -0
- package/dist/esm/chunk-UYYQZDVB.mjs +2 -0
- package/dist/esm/chunk-UYYQZDVB.mjs.map +1 -0
- package/dist/esm/{chunk-NMD45OTM.mjs → chunk-VTEOS4PS.mjs} +2 -2
- package/dist/esm/{chunk-NCWD4NA3.mjs → chunk-VVWBJKEA.mjs} +2 -2
- package/dist/esm/chunk-W2KQ2TSH.mjs +2 -0
- package/dist/esm/chunk-W2KQ2TSH.mjs.map +1 -0
- package/dist/esm/{chunk-HKMG3LZX.mjs → chunk-YACGA3YS.mjs} +2 -2
- package/dist/esm/{chunk-ECKJI2TV.mjs → chunk-YBZI6U43.mjs} +2 -2
- package/dist/esm/chunk-YELQZVBK.mjs +2 -0
- package/dist/esm/chunk-YELQZVBK.mjs.map +1 -0
- package/dist/esm/{chunk-F7NVDHR2.mjs → chunk-YNLAYIFQ.mjs} +2 -2
- package/dist/esm/chunk-YNLAYIFQ.mjs.map +1 -0
- package/dist/esm/{chunk-2CC67KW5.mjs → chunk-YSVXROOO.mjs} +2 -2
- package/dist/esm/chunk-ZAHUEAGT.mjs +2 -0
- package/dist/esm/chunk-ZAHUEAGT.mjs.map +1 -0
- package/dist/esm/chunk-ZASN3QQQ.mjs +2 -0
- package/dist/esm/chunk-ZXVQ2OBJ.mjs +2 -0
- package/dist/esm/{chunk-ZEYOFDIO.mjs.map → chunk-ZXVQ2OBJ.mjs.map} +1 -1
- package/dist/esm/{chunk-A63SMUOU.mjs → chunk-ZZIMFLVT.mjs} +2 -2
- package/dist/esm/cli/index.mjs +1 -1
- package/dist/esm/cli/localNode.mjs +1 -1
- package/dist/esm/cli/move.mjs +1 -1
- 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/client/types.mjs +1 -1
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.mjs +1 -1
- package/dist/esm/core/account/utils/index.mjs +1 -1
- package/dist/esm/core/accountAddress.mjs +1 -1
- package/dist/esm/core/authenticationKey.d.mts +1 -1
- package/dist/esm/core/authenticationKey.mjs +1 -1
- package/dist/esm/core/common.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +1 -1
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +1 -1
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +97 -0
- package/dist/esm/core/crypto/federatedKeyless.mjs +2 -0
- package/dist/esm/core/crypto/federatedKeyless.mjs.map +1 -0
- package/dist/esm/core/crypto/index.d.mts +4 -3
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.d.mts +1 -1
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +1 -1
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +1 -1
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/privateKey.d.mts +1 -1
- package/dist/esm/core/crypto/proof.mjs +1 -1
- package/dist/esm/core/crypto/publicKey.d.mts +1 -1
- package/dist/esm/core/crypto/publicKey.mjs +1 -1
- package/dist/esm/core/crypto/secp256k1.d.mts +1 -1
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.d.mts +1 -1
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/crypto/utils.mjs +1 -1
- package/dist/esm/core/hex.mjs +1 -1
- package/dist/esm/core/index.d.mts +2 -1
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/index.d.mts +9 -6
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/account.d.mts +2 -2
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +2 -2
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +1 -1
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +2 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +2 -2
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.d.mts +25 -14
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +2 -2
- package/dist/esm/internal/transactionSubmission.mjs +1 -1
- package/dist/esm/internal/view.d.mts +1 -1
- package/dist/esm/internal/view.mjs +1 -1
- package/dist/esm/transactions/authenticator/account.d.mts +1 -1
- package/dist/esm/transactions/authenticator/account.mjs +1 -1
- package/dist/esm/transactions/authenticator/index.d.mts +1 -1
- package/dist/esm/transactions/authenticator/index.mjs +1 -1
- package/dist/esm/transactions/authenticator/transaction.d.mts +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.d.mts +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/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +1 -1
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +2 -2
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/index.d.mts +2 -2
- package/dist/esm/transactions/management/index.mjs +1 -1
- package/dist/esm/transactions/management/transactionWorker.d.mts +2 -2
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/index.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +1 -1
- 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/types/index.d.mts +4 -2
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/utils/apiEndpoints.mjs +1 -1
- package/dist/esm/utils/const.d.mts +2 -1
- package/dist/esm/utils/const.mjs +1 -1
- package/dist/esm/utils/helpers.d.mts +41 -1
- package/dist/esm/utils/helpers.mjs +1 -1
- package/dist/esm/utils/index.d.mts +2 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.mjs +1 -1
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +1 -1
- package/src/account/FederatedKeylessAccount.ts +115 -0
- package/src/account/KeylessAccount.ts +6 -291
- package/src/account/KeylessAccountCommon.ts +329 -0
- package/src/account/MultiKeyAccount.ts +4 -4
- package/src/account/index.ts +2 -0
- package/src/api/account.ts +31 -4
- package/src/api/keyless.ts +50 -4
- package/src/bcs/serializable/moveStructs.ts +41 -8
- package/src/cli/move.ts +1 -1
- package/src/core/crypto/federatedKeyless.ts +134 -0
- package/src/core/crypto/index.ts +1 -0
- package/src/core/crypto/singleKey.ts +6 -0
- package/src/internal/account.ts +6 -5
- package/src/internal/event.ts +10 -3
- package/src/internal/keyless.ts +86 -8
- package/src/internal/transactionSubmission.ts +2 -2
- package/src/transactions/instances/transactionPayload.ts +3 -1
- package/src/transactions/transactionBuilder/transactionBuilder.ts +25 -14
- package/src/transactions/types.ts +4 -2
- package/src/types/index.ts +2 -0
- package/src/utils/apiEndpoints.ts +2 -2
- package/src/utils/const.ts +1 -0
- package/src/utils/helpers.ts +70 -0
- package/src/version.ts +1 -1
- package/dist/common/chunk-J4IUXT5W.js +0 -2
- package/dist/common/chunk-J4IUXT5W.js.map +0 -1
- package/dist/esm/chunk-4SDUQ7AS.mjs +0 -2
- package/dist/esm/chunk-4SDUQ7AS.mjs.map +0 -1
- package/dist/esm/chunk-4ZMI5G5L.mjs +0 -2
- package/dist/esm/chunk-76OH2Z4Q.mjs +0 -2
- package/dist/esm/chunk-7Z6DYLCA.mjs +0 -1
- package/dist/esm/chunk-AQ4I7VVB.mjs +0 -1
- package/dist/esm/chunk-BOYYQAB4.mjs +0 -2
- package/dist/esm/chunk-EZIF26UH.mjs +0 -2
- package/dist/esm/chunk-EZIF26UH.mjs.map +0 -1
- package/dist/esm/chunk-F7EMGK4M.mjs +0 -2
- package/dist/esm/chunk-F7NVDHR2.mjs.map +0 -1
- package/dist/esm/chunk-GXTEJ7NO.mjs +0 -2
- package/dist/esm/chunk-H6YNXJNF.mjs +0 -2
- package/dist/esm/chunk-HHU7UCFI.mjs.map +0 -1
- package/dist/esm/chunk-KMJ6TF6Y.mjs +0 -2
- package/dist/esm/chunk-KMJ6TF6Y.mjs.map +0 -1
- package/dist/esm/chunk-L36ZHC7J.mjs +0 -2
- package/dist/esm/chunk-L36ZHC7J.mjs.map +0 -1
- package/dist/esm/chunk-LDTF3ABK.mjs +0 -2
- package/dist/esm/chunk-LDTF3ABK.mjs.map +0 -1
- package/dist/esm/chunk-LG7RJQ57.mjs +0 -2
- package/dist/esm/chunk-MLDQ2TY2.mjs +0 -2
- package/dist/esm/chunk-MQGW234H.mjs +0 -2
- package/dist/esm/chunk-NU55IEL4.mjs +0 -2
- package/dist/esm/chunk-NU55IEL4.mjs.map +0 -1
- package/dist/esm/chunk-P5V7OZNN.mjs +0 -2
- package/dist/esm/chunk-Q67DUNMI.mjs +0 -2
- package/dist/esm/chunk-Q7MD4V7H.mjs +0 -2
- package/dist/esm/chunk-QV6EZL2G.mjs +0 -2
- package/dist/esm/chunk-RA3YPQG2.mjs +0 -2
- package/dist/esm/chunk-RA3YPQG2.mjs.map +0 -1
- package/dist/esm/chunk-TDGQGILY.mjs +0 -2
- package/dist/esm/chunk-THRXIXIO.mjs +0 -2
- package/dist/esm/chunk-THRXIXIO.mjs.map +0 -1
- package/dist/esm/chunk-WABFFJGI.mjs +0 -2
- package/dist/esm/chunk-WABFFJGI.mjs.map +0 -1
- package/dist/esm/chunk-WHW4Z7TK.mjs +0 -2
- package/dist/esm/chunk-WHW4Z7TK.mjs.map +0 -1
- package/dist/esm/chunk-Y3HLYCF3.mjs +0 -2
- package/dist/esm/chunk-YPHH6CAO.mjs +0 -2
- package/dist/esm/chunk-YUNDX5I7.mjs +0 -2
- package/dist/esm/chunk-YXITAP46.mjs +0 -2
- package/dist/esm/chunk-YXITAP46.mjs.map +0 -1
- package/dist/esm/chunk-YY2XW5R4.mjs +0 -2
- package/dist/esm/chunk-YY2XW5R4.mjs.map +0 -1
- package/dist/esm/chunk-ZEYOFDIO.mjs +0 -2
- package/dist/esm/chunk-ZOMXBB6Z.mjs +0 -2
- package/dist/esm/chunk-ZOMXBB6Z.mjs.map +0 -1
- /package/dist/esm/{chunk-7Z6DYLCA.mjs.map → account/FederatedKeylessAccount.mjs.map} +0 -0
- /package/dist/esm/{chunk-AQ4I7VVB.mjs.map → account/KeylessAccountCommon.mjs.map} +0 -0
- /package/dist/esm/{chunk-QE5OL6KN.mjs.map → chunk-2MDJ763P.mjs.map} +0 -0
- /package/dist/esm/{chunk-WFOYGJS5.mjs.map → chunk-2Z6HETKH.mjs.map} +0 -0
- /package/dist/esm/{chunk-G5MGSV7Y.mjs.map → chunk-3CE63FFN.mjs.map} +0 -0
- /package/dist/esm/{chunk-TDGQGILY.mjs.map → chunk-3TSO6PDV.mjs.map} +0 -0
- /package/dist/esm/{chunk-2N2VEGT6.mjs.map → chunk-3XX3675G.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZXYTLPP6.mjs.map → chunk-4I6IUAHQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-UV7M72QD.mjs.map → chunk-4QVGK2KD.mjs.map} +0 -0
- /package/dist/esm/{chunk-SUJLWCRN.mjs.map → chunk-5FPWLBZT.mjs.map} +0 -0
- /package/dist/esm/{chunk-YUNDX5I7.mjs.map → chunk-5HI4R3A2.mjs.map} +0 -0
- /package/dist/esm/{chunk-AYX5JMB4.mjs.map → chunk-5HWJ3SN4.mjs.map} +0 -0
- /package/dist/esm/{chunk-3SPU4V2B.mjs.map → chunk-5RNKD3GW.mjs.map} +0 -0
- /package/dist/esm/{chunk-7Y3MRBG6.mjs.map → chunk-6LC7ZJEI.mjs.map} +0 -0
- /package/dist/esm/{chunk-76HTG7Z7.mjs.map → chunk-7BPKOPP7.mjs.map} +0 -0
- /package/dist/esm/{chunk-HRIYZBXY.mjs.map → chunk-ADLWXCGV.mjs.map} +0 -0
- /package/dist/esm/{chunk-BCUSI3N6.mjs.map → chunk-AOCNYMMX.mjs.map} +0 -0
- /package/dist/esm/{chunk-GNFEBKFV.mjs.map → chunk-AT2A7OZD.mjs.map} +0 -0
- /package/dist/esm/{chunk-A4T373F3.mjs.map → chunk-AWQNX3RT.mjs.map} +0 -0
- /package/dist/esm/{chunk-NWOMSL6K.mjs.map → chunk-AZ642ORV.mjs.map} +0 -0
- /package/dist/esm/{chunk-52KPINA4.mjs.map → chunk-B5NYEWNM.mjs.map} +0 -0
- /package/dist/esm/{chunk-Q67DUNMI.mjs.map → chunk-BC5BEOKM.mjs.map} +0 -0
- /package/dist/esm/{chunk-G7UNU5GI.mjs.map → chunk-BQPQLOIW.mjs.map} +0 -0
- /package/dist/esm/{chunk-P5V7OZNN.mjs.map → chunk-CDIKSNSU.mjs.map} +0 -0
- /package/dist/esm/{chunk-7AIKM3UF.mjs.map → chunk-CSNIVFPZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-3NRBTP3S.mjs.map → chunk-E2WOZVJX.mjs.map} +0 -0
- /package/dist/esm/{chunk-H33YIMTU.mjs.map → chunk-E5LYYWAS.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZQFFRZJ4.mjs.map → chunk-ELPTV7ZG.mjs.map} +0 -0
- /package/dist/esm/{chunk-LG7RJQ57.mjs.map → chunk-FBPNHF54.mjs.map} +0 -0
- /package/dist/esm/{chunk-UWPO7WWS.mjs.map → chunk-FDD6WNN6.mjs.map} +0 -0
- /package/dist/esm/{chunk-6ERHGCK2.mjs.map → chunk-FDTLBR6D.mjs.map} +0 -0
- /package/dist/esm/{chunk-76OH2Z4Q.mjs.map → chunk-FOLCONSQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-5IUXBOS5.mjs.map → chunk-FTBXTZM2.mjs.map} +0 -0
- /package/dist/esm/{chunk-UO52TECC.mjs.map → chunk-G6HZPSZ3.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZXPBRVOA.mjs.map → chunk-GKRIMGKW.mjs.map} +0 -0
- /package/dist/esm/{chunk-MEKXPGK7.mjs.map → chunk-GX2II7H4.mjs.map} +0 -0
- /package/dist/esm/{chunk-I5XQKNOK.mjs.map → chunk-H3TJNBHX.mjs.map} +0 -0
- /package/dist/esm/{chunk-USOIC4HO.mjs.map → chunk-J3PN353M.mjs.map} +0 -0
- /package/dist/esm/{chunk-SONTIUAM.mjs.map → chunk-J45FMNYT.mjs.map} +0 -0
- /package/dist/esm/{chunk-NRRADUK4.mjs.map → chunk-KBIYKNM2.mjs.map} +0 -0
- /package/dist/esm/{chunk-T2NJUIOQ.mjs.map → chunk-KSOKGREZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-ORXEFE6X.mjs.map → chunk-LY7ZRAJT.mjs.map} +0 -0
- /package/dist/esm/{chunk-FOHGSNYZ.mjs.map → chunk-MYRN7MDF.mjs.map} +0 -0
- /package/dist/esm/{chunk-PO33LVUF.mjs.map → chunk-MZB3J6CV.mjs.map} +0 -0
- /package/dist/esm/{chunk-MQGW234H.mjs.map → chunk-N6EC72OZ.mjs.map} +0 -0
- /package/dist/esm/{chunk-GXTEJ7NO.mjs.map → chunk-ND23H3AK.mjs.map} +0 -0
- /package/dist/esm/{chunk-JKNTGRSQ.mjs.map → chunk-NGIPNL7N.mjs.map} +0 -0
- /package/dist/esm/{chunk-ZZRSKHWS.mjs.map → chunk-NOVJ2ROD.mjs.map} +0 -0
- /package/dist/esm/{chunk-QV6EZL2G.mjs.map → chunk-OOVNFKA6.mjs.map} +0 -0
- /package/dist/esm/{chunk-OEOUZFHD.mjs.map → chunk-OVI2RY5L.mjs.map} +0 -0
- /package/dist/esm/{chunk-FNT3VLRD.mjs.map → chunk-P4FYT4LC.mjs.map} +0 -0
- /package/dist/esm/{chunk-MLDQ2TY2.mjs.map → chunk-QP2A5ISX.mjs.map} +0 -0
- /package/dist/esm/{chunk-KEN2VRIM.mjs.map → chunk-QQGCMXIV.mjs.map} +0 -0
- /package/dist/esm/{chunk-O4BBULNE.mjs.map → chunk-QTTDBQAJ.mjs.map} +0 -0
- /package/dist/esm/{chunk-6BYVG7H4.mjs.map → chunk-QUTP2ACU.mjs.map} +0 -0
- /package/dist/esm/{chunk-PY4TS34X.mjs.map → chunk-RLGIYYI7.mjs.map} +0 -0
- /package/dist/esm/{chunk-5L3PLK3W.mjs.map → chunk-S3I4THN5.mjs.map} +0 -0
- /package/dist/esm/{chunk-GHKMF253.mjs.map → chunk-S7KCJQOA.mjs.map} +0 -0
- /package/dist/esm/{chunk-WRRQ7L5K.mjs.map → chunk-SHOPSMRK.mjs.map} +0 -0
- /package/dist/esm/{chunk-YDZBU2DJ.mjs.map → chunk-SP4PT77Z.mjs.map} +0 -0
- /package/dist/esm/{chunk-74YFNJ7A.mjs.map → chunk-SYKVA363.mjs.map} +0 -0
- /package/dist/esm/{chunk-F7EMGK4M.mjs.map → chunk-TJDC5PWD.mjs.map} +0 -0
- /package/dist/esm/{chunk-H6YNXJNF.mjs.map → chunk-TVWAYKEP.mjs.map} +0 -0
- /package/dist/esm/{chunk-CTJX4CUF.mjs.map → chunk-U72MLMGP.mjs.map} +0 -0
- /package/dist/esm/{chunk-BOYYQAB4.mjs.map → chunk-UW5TIZFE.mjs.map} +0 -0
- /package/dist/esm/{chunk-NMD45OTM.mjs.map → chunk-VTEOS4PS.mjs.map} +0 -0
- /package/dist/esm/{chunk-NCWD4NA3.mjs.map → chunk-VVWBJKEA.mjs.map} +0 -0
- /package/dist/esm/{chunk-HKMG3LZX.mjs.map → chunk-YACGA3YS.mjs.map} +0 -0
- /package/dist/esm/{chunk-ECKJI2TV.mjs.map → chunk-YBZI6U43.mjs.map} +0 -0
- /package/dist/esm/{chunk-2CC67KW5.mjs.map → chunk-YSVXROOO.mjs.map} +0 -0
- /package/dist/esm/{chunk-Y3HLYCF3.mjs.map → chunk-ZASN3QQQ.mjs.map} +0 -0
- /package/dist/esm/{chunk-A63SMUOU.mjs.map → chunk-ZZIMFLVT.mjs.map} +0 -0
- /package/dist/esm/{publicKey-B3XRNhHO.d.mts → publicKey-lq5djCIY.d.mts} +0 -0
|
@@ -540,7 +540,8 @@ declare enum ScriptTransactionArgumentVariants {
|
|
|
540
540
|
Bool = 5,
|
|
541
541
|
U16 = 6,
|
|
542
542
|
U32 = 7,
|
|
543
|
-
U256 = 8
|
|
543
|
+
U256 = 8,
|
|
544
|
+
Serialized = 9
|
|
544
545
|
}
|
|
545
546
|
/**
|
|
546
547
|
* Transaction payload enum as they are represented in Rust
|
|
@@ -583,7 +584,8 @@ declare enum AccountAuthenticatorVariant {
|
|
|
583
584
|
declare enum AnyPublicKeyVariant {
|
|
584
585
|
Ed25519 = 0,
|
|
585
586
|
Secp256k1 = 1,
|
|
586
|
-
Keyless = 3
|
|
587
|
+
Keyless = 3,
|
|
588
|
+
FederatedKeyless = 4
|
|
587
589
|
}
|
|
588
590
|
declare enum AnySignatureVariant {
|
|
589
591
|
Ed25519 = 0,
|
|
@@ -2272,4 +2274,4 @@ declare class AccountAddress extends Serializable implements TransactionArgument
|
|
|
2272
2274
|
equals(other: AccountAddress): boolean;
|
|
2273
2275
|
}
|
|
2274
2276
|
|
|
2275
|
-
export { type GetEventsResponse as $, type AnyNumber as A, type GetAccountOwnedTokensFromCollectionResponse as B, type Client as C, Deserializer as D, type EntryFunctionArgument as E, type FullNodeConfig as F, type GetAccountOwnedTokensQueryResponse as G, type HexInput as H, type IndexerConfig as I, type GetAccountCollectionsWithOwnedTokenResponse as J, type GetAccountCoinsDataResponse as K, type LedgerVersionArg as L, type MoveModuleId as M, Network as N, type OrderByArg as O, type PaginationArgs as P, type GetObjectDataQueryResponse as Q, type GetCollectionDataResponse as R, Serializable as S, type TransactionArgument as T, type Uint8 as U, type GetTokenDataResponse as V, type WhereArg as W, type GetCurrentTokenOwnershipResponse as X, type GetOwnedTokensResponse as Y, ZkpVariant as Z, type GetTokenActivityResponse as _, Serializer as a, type WriteSetChangeWriteTableItem as a$, type WaitForTransactionOptions as a0, type UserTransactionResponse as a1, type MoveFunction as a2, type GetFungibleAssetMetadataResponse as a3, type GetFungibleAssetActivitiesResponse as a4, type GetCurrentFungibleAssetBalancesResponse as a5, type LedgerInfo as a6, type Block as a7, type GetChainTopUserTransactionsResponse as a8, type GraphqlQuery as a9, AccountAuthenticatorVariant as aA, AnySignatureVariant as aB, EphemeralSignatureVariant as aC, type Uint64 as aD, type Uint128 as aE, type Uint256 as aF, type ClientHeadersType as aG, TransactionResponseType as aH, isPendingTransactionResponse as aI, isUserTransactionResponse as aJ, isGenesisTransactionResponse as aK, isBlockMetadataTransactionResponse as aL, isStateCheckpointTransactionResponse as aM, isValidatorTransactionResponse as aN, isBlockEpilogueTransactionResponse as aO, type GenesisTransactionResponse as aP, type BlockMetadataTransactionResponse as aQ, type StateCheckpointTransactionResponse as aR, type ValidatorTransactionResponse as aS, type BlockEndInfo as aT, type BlockEpilogueTransactionResponse as aU, type WriteSetChange as aV, type WriteSetChangeDeleteModule as aW, type WriteSetChangeDeleteResource as aX, type WriteSetChangeDeleteTableItem as aY, type WriteSetChangeWriteModule as aZ, type WriteSetChangeWriteResource as a_, type GetProcessorStatusResponse as aa, type GetANSNameResponse as ab, type GetNumberOfDelegatorsResponse as ac, type GetDelegatedStakingActivitiesResponse as ad, type PendingTransactionResponse as ae, type CommittedTransactionResponse as af, type GasEstimation as ag, type TableItemRequest as ah, type GetTableItemsDataResponse as ai, type GetTableItemsMetadataResponse as aj, type AptosRequest as ak, type ClientRequest as al, type ClientResponse as am, MimeType as an, ensureBoolean as ao, outOfRangeErrorMessage as ap, validateNumberInRange as aq, AddressInvalidReason as ar, ParsingError as as, type ParsingResult as at, HexInvalidReason as au, TypeTagVariants as av, ScriptTransactionArgumentVariants as aw, TransactionPayloadVariants as ax, TransactionVariants as ay, TransactionAuthenticatorVariant as az, type Uint16 as b, type DecodedTableData as b0, type DeletedTableData as b1, type TransactionPayloadResponse as b2, type EntryFunctionPayloadResponse as b3, type ScriptPayloadResponse as b4, type MultisigPayloadResponse as b5, type GenesisPayload as b6, type MoveScriptBytecode as b7, type TransactionSignature as b8, isEd25519Signature as b9, MoveFunctionVisibility as bA, MoveAbility as bB, type MoveStructField as bC, type MoveModule as bD, type MoveStruct as bE, RoleType as bF, DeriveScheme as bG, type GenerateAccountWithEd25519 as bH, type GenerateAccountWithSingleSignerSecp256k1Key as bI, type GenerateAccount as bJ, type OrderBy as bK, type OrderByValue as bL, type TokenStandard as bM, NetworkToIndexerAPI as bN, NetworkToNodeAPI as bO, NetworkToFaucetAPI as bP, NetworkToPepperAPI as bQ, NetworkToProverAPI as bR, NetworkToChainId as bS, NetworkToNetworkName as bT, isSecp256k1Signature as ba, isMultiAgentSignature as bb, isFeePayerSignature as bc, isMultiEd25519Signature as bd, type TransactionEd25519Signature as be, type TransactionSecp256k1Signature as bf, type TransactionMultiEd25519Signature as bg, type TransactionMultiAgentSignature as bh, type TransactionFeePayerSignature as bi, type AccountSignature as bj, type WriteSet as bk, type ScriptWriteSet as bl, type DirectWriteSet as bm, type EventGuid as bn, type Event as bo, type MoveUint8Type as bp, type MoveUint16Type as bq, type MoveUint32Type as br, type MoveUint64Type as bs, type MoveUint128Type as bt, type MoveUint256Type as bu, type MoveAddressType as bv, type MoveObjectType as bw, type MoveOptionType as bx, type MoveStructType as by, type MoveType as bz, type Uint32 as c, type Deserializable as d, Hex as e, type AuthenticationKeyScheme as f, AccountAddress as g, AnyPublicKeyVariant as h, EphemeralPublicKeyVariant as i, type ClientConfig as j, type FaucetConfig as k, type AptosSettings as l, EphemeralCertificateVariant as m, type
|
|
2277
|
+
export { type GetEventsResponse as $, type AnyNumber as A, type GetAccountOwnedTokensFromCollectionResponse as B, type Client as C, Deserializer as D, type EntryFunctionArgument as E, type FullNodeConfig as F, type GetAccountOwnedTokensQueryResponse as G, type HexInput as H, type IndexerConfig as I, type GetAccountCollectionsWithOwnedTokenResponse as J, type GetAccountCoinsDataResponse as K, type LedgerVersionArg as L, type MoveModuleId as M, Network as N, type OrderByArg as O, type PaginationArgs as P, type GetObjectDataQueryResponse as Q, type GetCollectionDataResponse as R, Serializable as S, type TransactionArgument as T, type Uint8 as U, type GetTokenDataResponse as V, type WhereArg as W, type GetCurrentTokenOwnershipResponse as X, type GetOwnedTokensResponse as Y, ZkpVariant as Z, type GetTokenActivityResponse as _, Serializer as a, type WriteSetChangeWriteTableItem as a$, type WaitForTransactionOptions as a0, type UserTransactionResponse as a1, type MoveFunction as a2, type GetFungibleAssetMetadataResponse as a3, type GetFungibleAssetActivitiesResponse as a4, type GetCurrentFungibleAssetBalancesResponse as a5, type LedgerInfo as a6, type Block as a7, type GetChainTopUserTransactionsResponse as a8, type GraphqlQuery as a9, AccountAuthenticatorVariant as aA, AnySignatureVariant as aB, EphemeralSignatureVariant as aC, type Uint64 as aD, type Uint128 as aE, type Uint256 as aF, type ClientHeadersType as aG, TransactionResponseType as aH, isPendingTransactionResponse as aI, isUserTransactionResponse as aJ, isGenesisTransactionResponse as aK, isBlockMetadataTransactionResponse as aL, isStateCheckpointTransactionResponse as aM, isValidatorTransactionResponse as aN, isBlockEpilogueTransactionResponse as aO, type GenesisTransactionResponse as aP, type BlockMetadataTransactionResponse as aQ, type StateCheckpointTransactionResponse as aR, type ValidatorTransactionResponse as aS, type BlockEndInfo as aT, type BlockEpilogueTransactionResponse as aU, type WriteSetChange as aV, type WriteSetChangeDeleteModule as aW, type WriteSetChangeDeleteResource as aX, type WriteSetChangeDeleteTableItem as aY, type WriteSetChangeWriteModule as aZ, type WriteSetChangeWriteResource as a_, type GetProcessorStatusResponse as aa, type GetANSNameResponse as ab, type GetNumberOfDelegatorsResponse as ac, type GetDelegatedStakingActivitiesResponse as ad, type PendingTransactionResponse as ae, type CommittedTransactionResponse as af, type GasEstimation as ag, type TableItemRequest as ah, type GetTableItemsDataResponse as ai, type GetTableItemsMetadataResponse as aj, type AptosRequest as ak, type ClientRequest as al, type ClientResponse as am, MimeType as an, ensureBoolean as ao, outOfRangeErrorMessage as ap, validateNumberInRange as aq, AddressInvalidReason as ar, ParsingError as as, type ParsingResult as at, HexInvalidReason as au, TypeTagVariants as av, ScriptTransactionArgumentVariants as aw, TransactionPayloadVariants as ax, TransactionVariants as ay, TransactionAuthenticatorVariant as az, type Uint16 as b, type DecodedTableData as b0, type DeletedTableData as b1, type TransactionPayloadResponse as b2, type EntryFunctionPayloadResponse as b3, type ScriptPayloadResponse as b4, type MultisigPayloadResponse as b5, type GenesisPayload as b6, type MoveScriptBytecode as b7, type TransactionSignature as b8, isEd25519Signature as b9, MoveFunctionVisibility as bA, MoveAbility as bB, type MoveStructField as bC, type MoveModule as bD, type MoveStruct as bE, RoleType as bF, DeriveScheme as bG, type GenerateAccountWithEd25519 as bH, type GenerateAccountWithSingleSignerSecp256k1Key as bI, type GenerateAccount as bJ, type OrderBy as bK, type OrderByValue as bL, type TokenStandard as bM, NetworkToIndexerAPI as bN, NetworkToNodeAPI as bO, NetworkToFaucetAPI as bP, NetworkToPepperAPI as bQ, NetworkToProverAPI as bR, NetworkToChainId as bS, NetworkToNetworkName as bT, isSecp256k1Signature as ba, isMultiAgentSignature as bb, isFeePayerSignature as bc, isMultiEd25519Signature as bd, type TransactionEd25519Signature as be, type TransactionSecp256k1Signature as bf, type TransactionMultiEd25519Signature as bg, type TransactionMultiAgentSignature as bh, type TransactionFeePayerSignature as bi, type AccountSignature as bj, type WriteSet as bk, type ScriptWriteSet as bl, type DirectWriteSet as bm, type EventGuid as bn, type Event as bo, type MoveUint8Type as bp, type MoveUint16Type as bq, type MoveUint32Type as br, type MoveUint64Type as bs, type MoveUint128Type as bt, type MoveUint256Type as bu, type MoveAddressType as bv, type MoveObjectType as bw, type MoveOptionType as bx, type MoveStructType as by, type MoveType as bz, type Uint32 as c, type Deserializable as d, Hex as e, type AuthenticationKeyScheme as f, AccountAddress as g, AnyPublicKeyVariant as h, EphemeralPublicKeyVariant as i, type ClientConfig as j, type FaucetConfig as k, type AptosSettings as l, EphemeralCertificateVariant as m, type AccountAddressInput as n, type ScriptFunctionArgument as o, type MoveFunctionId as p, type MoveStructId as q, type MoveValue as r, type MoveFunctionGenericTypeParam as s, SigningSchemeInput as t, SigningScheme as u, type AccountData as v, type MoveModuleBytecode as w, type TransactionResponse as x, type MoveResource as y, type TokenStandardArg as z };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var i=(e,n,t,r)=>{for(var o=r>1?void 0:r?m(n,t):n,s=e.length-1,a;s>=0;s--)(a=e[s])&&(o=(r?a(n,t,o):a(o))||o);return r&&o&&d(n,t,o),o};var _jsbase64 = require('js-base64');async function p(e){return new Promise(n=>{setTimeout(n,e)})}var _=()=>Math.floor(Date.now()/1e3);function f(e){let n=new Date(e*1e3);return n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0),Math.floor(n.getTime()/1e3)}function S(e){let n=e.replace(/-/g,"+").replace(/_/g,"/"),t=n+"==".substring(0,(3-n.length%3)%3);return _jsbase64.decode.call(void 0, t)}var h=(e,n)=>e*10**n,x= exports.g =(e,n)=>e/10**n,c=e=>{let n="";for(let t=2;t<e.length;t+=2)n+=String.fromCharCode(parseInt(e.substring(t,t+2),16));return n},y= exports.h =e=>{let{account_address:n,module_name:t,struct_name:r}=e,o=c(t),s=c(r);return`${n}::${o}::${s}`},b= exports.i =e=>typeof e=="object"&&!Array.isArray(e)&&e!==null&&"account_address"in e&&"module_name"in e&&"struct_name"in e&&typeof e.account_address=="string"&&typeof e.module_name=="string"&&typeof e.struct_name=="string";exports.a = i; exports.b = p; exports.c = _; exports.d = f; exports.e = S; exports.f = h; exports.g = x; exports.h = y; exports.i = b;
|
|
2
|
+
//# sourceMappingURL=chunk-HBPH2AD3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/helpers.ts"],"names":["decode","sleep","timeMs","resolve","nowInSeconds","floorToWholeHour","timestampInSeconds","date","base64UrlDecode","base64Url","base64","paddedBase64","convertAmountFromHumanReadableToOnChain","value","decimal","convertAmountFromOnChainToHumanReadable","hexToAscii","hex","str","n","parseEncodedStruct","structObj","account_address","module_name","struct_name","moduleName","structName","isEncodedStruct"],"mappings":"wMAGA,OAAS,UAAAA,MAAc,YAOvB,eAAsBC,EAAMC,EAA+B,CACzD,OAAO,IAAI,QAASC,GAAY,CAC9B,WAAWA,EAASD,CAAM,CAC5B,CAAC,CACH,CAEO,IAAME,EAAe,IAAM,KAAK,MAAM,KAAK,IAAI,EAAI,GAAI,EAEvD,SAASC,EAAiBC,EAAoC,CACnE,IAAMC,EAAO,IAAI,KAAKD,EAAqB,GAAI,EAE/C,OAAAC,EAAK,WAAW,CAAC,EACjBA,EAAK,WAAW,CAAC,EACjBA,EAAK,gBAAgB,CAAC,EACf,KAAK,MAAMA,EAAK,QAAQ,EAAI,GAAI,CACzC,CAEO,SAASC,EAAgBC,EAA2B,CAEzD,IAAMC,EAASD,EAAU,QAAQ,KAAM,GAAG,EAAE,QAAQ,KAAM,GAAG,EAEvDE,EAAeD,EAAS,KAAK,UAAU,GAAI,EAAKA,EAAO,OAAS,GAAM,CAAC,EAE7E,OADsBV,EAAOW,CAAY,CAE3C,CAaO,IAAMC,EAA0C,CAACC,EAAeC,IAAoBD,EAAQ,IAAMC,EAa5FC,EAA0C,CAACF,EAAeC,IAAoBD,EAAQ,IAAMC,EAUnGE,EAAcC,GAAgB,CAClC,IAAIC,EAAM,GACV,QAASC,EAAI,EAAGA,EAAIF,EAAI,OAAQE,GAAK,EACnCD,GAAO,OAAO,aAAa,SAASD,EAAI,UAAUE,EAAGA,EAAI,CAAC,EAAG,EAAE,CAAC,EAElE,OAAOD,CACT,EAiBaE,EAAsBC,GAIf,CAElB,GAAM,CAAE,gBAAAC,EAAiB,YAAAC,EAAa,YAAAC,CAAY,EAAIH,EAChDI,EAAaT,EAAWO,CAAW,EACnCG,EAAaV,EAAWQ,CAAW,EACzC,MAAO,GAAGF,CAAe,KAAKG,CAAU,KAAKC,CAAU,EACzD,EAWaC,EACXN,GAMA,OAAOA,GAAc,UACrB,CAAC,MAAM,QAAQA,CAAS,GACxBA,IAAc,MACd,oBAAqBA,GACrB,gBAAiBA,GACjB,gBAAiBA,GACjB,OAAOA,EAAU,iBAAoB,UACrC,OAAOA,EAAU,aAAgB,UACjC,OAAOA,EAAU,aAAgB","sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { decode } from \"js-base64\";\nimport { MoveStructId } from \"../types\";\n\n/**\n * Sleep the current thread for the given amount of time\n * @param timeMs time in milliseconds to sleep\n */\nexport async function sleep(timeMs: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n}\n\nexport const nowInSeconds = () => Math.floor(Date.now() / 1000);\n\nexport function floorToWholeHour(timestampInSeconds: number): number {\n const date = new Date(timestampInSeconds * 1000);\n // Reset minutes and seconds to zero\n date.setMinutes(0);\n date.setSeconds(0);\n date.setMilliseconds(0);\n return Math.floor(date.getTime() / 1000);\n}\n\nexport function base64UrlDecode(base64Url: string): string {\n // Replace base64url-specific characters\n const base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n // Pad the string with '=' characters if needed\n const paddedBase64 = base64 + \"==\".substring(0, (3 - (base64.length % 3)) % 3);\n const decodedString = decode(paddedBase64);\n return decodedString;\n}\n\n/**\n * Amount is represented in the smallest unit format on chain, this function converts\n * a human readable amount format to the smallest unit format\n * @example\n * human readable amount format: 500\n * on chain amount format when decimal is 8: 50000000000\n *\n * @param value The value in human readable format\n * @param decimal The token decimal\n * @returns The value is smallest units\n */\nexport const convertAmountFromHumanReadableToOnChain = (value: number, decimal: number) => value * 10 ** decimal;\n\n/**\n * Amount is represented in the smallest unit format on chain, this function converts\n * the smallest unit format to a human readable amount format\n * @example\n * human readable amount format: 500\n * on chain amount format when decimal is 8: 50000000000\n *\n * @param value The value in human readable format\n * @param decimal The token decimal\n * @returns The value is smallest units\n */\nexport const convertAmountFromOnChainToHumanReadable = (value: number, decimal: number) => value / 10 ** decimal;\n\n/**\n * Convert a hex string to an ascii string with the `0x` prefix.\n *\n * `0x6170746f735f636f696e` --> `aptos_coin`\n *\n * @param hex The hex string to convert (e.g. `0x6170746f735f636f696e`)\n * @returns The ascii string\n */\nconst hexToAscii = (hex: string) => {\n let str = \"\";\n for (let n = 2; n < hex.length; n += 2) {\n str += String.fromCharCode(parseInt(hex.substring(n, n + 2), 16));\n }\n return str;\n};\n\n/**\n * Convert an encoded struct to a MoveStructId.\n *\n * @example\n * const structObj = {\n * account_address: \"0x1\",\n * module_name: \"0x6170746f735f636f696e\",\n * struct_name: \"0x4170746f73436f696e\",\n * };\n * // structId is \"0x1::aptos_coin::AptosCoin\"\n * const structId = parseEncodedStruct(structObj);\n *\n * @param structObj The struct with account_address, module_name, and struct_name properties\n * @returns The MoveStructId\n */\nexport const parseEncodedStruct = (structObj: {\n account_address: string;\n module_name: string;\n struct_name: string;\n}): MoveStructId => {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const { account_address, module_name, struct_name } = structObj;\n const moduleName = hexToAscii(module_name);\n const structName = hexToAscii(struct_name);\n return `${account_address}::${moduleName}::${structName}`;\n};\n\n/**\n * Determines whether the given object is an encoded struct type with the following properties:\n * - account_address: string\n * - module_name: string\n * - struct_name: string\n *\n * @param structObj The object to check\n * @returns Whether the object is an encoded struct type\n */\nexport const isEncodedStruct = (\n structObj: any,\n): structObj is {\n account_address: string;\n module_name: string;\n struct_name: string;\n} =>\n typeof structObj === \"object\" &&\n !Array.isArray(structObj) &&\n structObj !== null &&\n \"account_address\" in structObj &&\n \"module_name\" in structObj &&\n \"struct_name\" in structObj &&\n typeof structObj.account_address === \"string\" &&\n typeof structObj.module_name === \"string\" &&\n typeof structObj.struct_name === \"string\";\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChildProcessWithoutNullStreams } from 'child_process';
|
|
2
|
-
import { N as Network, g as AccountAddress } from '../accountAddress-
|
|
2
|
+
import { N as Network, g as AccountAddress } from '../accountAddress-0OnKb1b9.js';
|
|
3
3
|
|
|
4
4
|
declare class LocalNode {
|
|
5
5
|
readonly MAXIMUM_WAIT_TIME_SEC = 75;
|
package/dist/common/cli/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkHBPH2AD3js = require('../chunk-HBPH2AD3.js');var _child_process = require('child_process');var _treekill = require('tree-kill'); var _treekill2 = _interopRequireDefault(_treekill);var _os = require('os');var p=class{constructor(){this.MAXIMUM_WAIT_TIME_SEC=75;this.READINESS_ENDPOINT="http://127.0.0.1:8070/";this.process=null}async stop(){await new Promise((s,e)=>{_optionalChain([this, 'access', _ => _.process, 'optionalAccess', _2 => _2.pid])&&_treekill2.default.call(void 0, this.process.pid,t=>{t?e(t):s(!0)})})}async run(){await this.checkIfProcessIsUp()||(this.start(),await this.waitUntilProcessIsUp())}start(){let s="npx",e=["aptos","node","run-localnet","--force-restart","--assume-yes","--with-indexer-api"],t=_os.platform.call(void 0, ),a;t==="win32"?a=_child_process.spawn.call(void 0, s,e,{shell:!0}):a=_child_process.spawn.call(void 0, s,e),this.process=a,_optionalChain([a, 'access', _3 => _3.stderr, 'optionalAccess', _4 => _4.on, 'call', _5 => _5("data",r=>{let o=r.toString();console.log(o)})]),_optionalChain([a, 'access', _6 => _6.stdout, 'optionalAccess', _7 => _7.on, 'call', _8 => _8("data",r=>{let o=r.toString();console.log(o)})])}async waitUntilProcessIsUp(){let s=await this.checkIfProcessIsUp(),e=Date.now()/1e3,t=e;for(;!s&&e+this.MAXIMUM_WAIT_TIME_SEC>t;)await _chunkHBPH2AD3js.b.call(void 0, 1e3),s=await this.checkIfProcessIsUp(),t=Date.now()/1e3;if(!s)throw new Error("Process failed to start");return!0}async checkIfProcessIsUp(){try{return(await fetch(this.READINESS_ENDPOINT)).status===200}catch (e2){return!1}}};var m=class{async init(s){let{network:e,profile:t,extraArguments:a}=s,r=["aptos","init",`--network=${_nullishCoalesce(e, () => ("local"))}`,`--profile=${_nullishCoalesce(t, () => ("default"))}`];return a&&r.push(...a),this.runCommand(r)}async compile(s){let{packageDirectoryPath:e,namedAddresses:t,extraArguments:a}=s,r=["aptos","move","compile","--package-dir",e],o=this.parseNamedAddresses(t);return r.push(...this.prepareNamedAddresses(o)),a&&r.push(...a),this.runCommand(r)}async test(s){let{packageDirectoryPath:e,namedAddresses:t,extraArguments:a}=s,r=["aptos","move","test","--package-dir",e],o=this.parseNamedAddresses(t);return r.push(...this.prepareNamedAddresses(o)),a&&r.push(...a),this.runCommand(r)}async publish(s){let{packageDirectoryPath:e,namedAddresses:t,profile:a,extraArguments:r}=s,o=["aptos","move","publish","--package-dir",e,`--profile=${_nullishCoalesce(a, () => ("default"))}`],n=this.parseNamedAddresses(t);return o.push(...this.prepareNamedAddresses(n)),r&&o.push(...r),this.runCommand(o)}async createObjectAndPublishPackage(s){let{packageDirectoryPath:e,addressName:t,namedAddresses:a,profile:r,extraArguments:o}=s,n=["aptos","move","create-object-and-publish-package","--package-dir",e,"--address-name",t,`--profile=${_nullishCoalesce(r, () => ("default"))}`],i=this.parseNamedAddresses(a);n.push(...this.prepareNamedAddresses(i)),o&&n.push(...o);let g=await this.runCommand(n);return{objectAddress:this.extractAddressFromOutput(g.output)}}async upgradeObjectPackage(s){let{packageDirectoryPath:e,objectAddress:t,namedAddresses:a,profile:r,extraArguments:o}=s,n=["aptos","move","upgrade-object-package","--package-dir",e,"--object-address",t,`--profile=${_nullishCoalesce(r, () => ("default"))}`],i=this.parseNamedAddresses(a);return n.push(...this.prepareNamedAddresses(i)),o&&n.push(...o),this.runCommand(n)}async buildPublishPayload(s){let{outputFile:e,packageDirectoryPath:t,namedAddresses:a,extraArguments:r}=s,o=["aptos","move","build-publish-payload","--json-output-file",e,"--package-dir",t],n=this.parseNamedAddresses(a);return o.push(...this.prepareNamedAddresses(n)),r&&o.push(...r),this.runCommand(o)}async runScript(s){let{compiledScriptPath:e,profile:t,extraArguments:a}=s,r=["aptos","move","run-script","--compiled-script-path",e,`--profile=${_nullishCoalesce(t, () => ("default"))}`];return a&&r.push(...a),this.runCommand(r)}async runCommand(s){return new Promise((e,t)=>{let a=_os.platform.call(void 0, ),r,o="";a==="win32"?r=_child_process.spawn.call(void 0, "npx",s,{shell:!0}):r=_child_process.spawn.call(void 0, "npx",s),r.stdout.on("data",n=>{o+=n.toString()}),r.stdout.pipe(process.stdout),r.stderr.pipe(process.stderr),process.stdin.pipe(r.stdin),r.on("close",n=>{n===0?e({output:o}):t(new Error(`Child process exited with code ${n}`))})})}prepareNamedAddresses(s){let e=s.size,t=[];if(e===0)return t;t.push("--named-addresses");let a=[];return s.forEach((r,o)=>{let n=`${o}=${r.toString()}`;a.push(n)}),t.push(a.join(",")),t}parseNamedAddresses(s){let e=new Map;return Object.keys(s).forEach(t=>{let a=s[t];e.set(t,a)}),e}extractAddressFromOutput(s){let e=s.match("Code was successfully deployed to object address (0x[0-9a-fA-F]+)");if(e)return e[1];throw new Error("Failed to extract object address from output")}};exports.LocalNode = p; exports.Move = m;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cli/localNode.ts","../../../src/cli/move.ts"],"names":["spawn","kill","platform","LocalNode","resolve","reject","err","cliCommand","cliArgs","currentPlatform","childProcess","data","str","operational","start","last","sleep","Move","args","network","profile","extraArguments","packageDirectoryPath","namedAddresses","addressesMap","addressName","result","objectAddress","outputFile","compiledScriptPath","stdout","code","totalNames","newArgs","names","value","key","toAppend","address","output","match"],"mappings":"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","sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport kill from \"tree-kill\";\nimport { platform } from \"os\";\n\nimport { sleep } from \"../utils/helpers\";\n\nexport class LocalNode {\n readonly MAXIMUM_WAIT_TIME_SEC = 75;\n\n readonly READINESS_ENDPOINT = \"http://127.0.0.1:8070/\";\n\n process: ChildProcessWithoutNullStreams | null = null;\n\n /**\n * kills all the descendent processes\n * of the node process, including the node process itself\n */\n async stop() {\n await new Promise((resolve, reject) => {\n if (!this.process?.pid) return;\n kill(this.process.pid, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(true);\n }\n });\n });\n }\n\n /**\n * Runs a local testnet and waits for process to be up.\n *\n * If local node process is already up it returns and does\n * not start the process\n */\n async run() {\n const nodeIsUp = await this.checkIfProcessIsUp();\n if (nodeIsUp) {\n return;\n }\n this.start();\n await this.waitUntilProcessIsUp();\n }\n\n /**\n * Starts the local testnet by running the aptos node run-local-testnet command\n */\n start() {\n const cliCommand = \"npx\";\n const cliArgs = [\"aptos\", \"node\", \"run-localnet\", \"--force-restart\", \"--assume-yes\", \"--with-indexer-api\"];\n\n const currentPlatform = platform();\n let childProcess;\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(cliCommand, cliArgs, { shell: true });\n } else {\n childProcess = spawn(cliCommand, cliArgs);\n }\n\n this.process = childProcess;\n\n childProcess.stderr?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n\n childProcess.stdout?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n }\n\n /**\n * Waits for the local testnet process to be up\n *\n * @returns Promise<boolean>\n */\n async waitUntilProcessIsUp(): Promise<boolean> {\n let operational = await this.checkIfProcessIsUp();\n const start = Date.now() / 1000;\n let last = start;\n\n while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(1000);\n // eslint-disable-next-line no-await-in-loop\n operational = await this.checkIfProcessIsUp();\n last = Date.now() / 1000;\n }\n\n // If we are here it means something blocks the process to start.\n // Might worth checking if another process is running on port 8080\n if (!operational) {\n throw new Error(\"Process failed to start\");\n }\n\n return true;\n }\n\n /**\n * Checks if the local testnet is up\n *\n * @returns Promise<boolean>\n */\n async checkIfProcessIsUp(): Promise<boolean> {\n try {\n // Query readiness endpoint\n const data = await fetch(this.READINESS_ENDPOINT);\n if (data.status === 200) {\n return true;\n }\n return false;\n } catch (err: any) {\n return false;\n }\n }\n}\n","import { spawn } from \"child_process\";\nimport { platform } from \"os\";\n\nimport { AccountAddress } from \"../core\";\nimport { Network } from \"../utils\";\n\nexport class Move {\n /**\n * Function to initialize current directory for Aptos\n *\n * Configuration will be pushed into .aptos/config.yaml\n * @param args.network optional Network type argument to use for default settings, default is local\n * @param args.profile optional Profile to use from the config file, default is 'default'\n * This will be used to override associated settings such as the REST URL, the Faucet URL, and the private key arguments.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async init(args: {\n network?: Network;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { network, profile, extraArguments } = args;\n const cliArgs = [\"aptos\", \"init\", `--network=${network ?? \"local\"}`, `--profile=${profile ?? \"default\"}`];\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to compile a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n *\n * @returns stdout\n */\n async compile(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\"aptos\", \"move\", \"compile\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run Move unit tests for a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async test(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\"aptos\", \"move\", \"test\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to publish the modules to the publisher account on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async publish(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"publish\",\n \"--package-dir\",\n packageDirectoryPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to create a new object and publish the Move package to it on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.addressName Address name for the Move package\n * @example\n * MoonCoin, please find the actual address name in Move.toml\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * A complete example in cli\n * aptos move create-object-and-publish-package \\\n * --package-dir path_to_directory_that_has_move.toml \\\n * --address-name launchpad_addr \\\n * --named-addresses \"launchpad_addr=0x123,initial_creator_addr=0x456\"\\\n * --profile my_profile \\\n * --assume-yes\n * @returns object address\n */\n async createObjectAndPublishPackage(args: {\n packageDirectoryPath: string;\n addressName: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ objectAddress: string }> {\n const { packageDirectoryPath, addressName, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"create-object-and-publish-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--address-name\",\n addressName,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n const result = await this.runCommand(cliArgs);\n return { objectAddress: this.extractAddressFromOutput(result.output) };\n }\n\n /**\n * Function to upgrade a Move package previously published to an object on the Aptos blockchain\n * Caller must be the object owner to call this function\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.objectAddress Address of the object that the Move package published to\n * @example\n * 0x1000\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async upgradeObjectPackage(args: {\n packageDirectoryPath: string;\n objectAddress: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, objectAddress, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"upgrade-object-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--object-address\",\n objectAddress,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Build a publication transaction payload and store it in a JSON output file\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.outputFile Output file to write publication transaction to\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async buildPublishPayload(args: {\n packageDirectoryPath: string;\n outputFile: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }) {\n const { outputFile, packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"build-publish-payload\",\n \"--json-output-file\",\n outputFile,\n \"--package-dir\",\n packageDirectoryPath,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run a Move script, please run compile before running this\n *\n * @param args.compiledScriptPath Path to a compiled Move script bytecode file\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * build/my_package/bytecode_scripts/my_move_script.mv\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async runScript(args: {\n compiledScriptPath: string;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { compiledScriptPath, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"run-script\",\n \"--compiled-script-path\",\n compiledScriptPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Run a move command\n *\n * @param args\n * @returns stdout\n */\n // eslint-disable-next-line class-methods-use-this\n private async runCommand(args: Array<string>): Promise<{ output: string }> {\n return new Promise((resolve, reject) => {\n const currentPlatform = platform();\n let childProcess;\n let stdout = \"\";\n\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(\"npx\", args, { shell: true });\n } else {\n childProcess = spawn(\"npx\", args);\n }\n\n childProcess.stdout.on(\"data\", (data) => {\n stdout += data.toString();\n });\n\n childProcess.stdout.pipe(process.stdout);\n childProcess.stderr.pipe(process.stderr);\n process.stdin.pipe(childProcess.stdin);\n\n childProcess.on(\"close\", (code) => {\n if (code === 0) {\n resolve({ output: stdout }); // Resolve with stdout if the child process exits successfully\n } else {\n reject(new Error(`Child process exited with code ${code}`)); // Reject with an error if the child process exits with an error code\n }\n });\n });\n }\n\n /**\n * Convert named addresses from a Map into an array seperated by a comma\n *\n * @example\n * input: {'alice' => '0x123', 'bob' => '0x456'}\n * output: \"alice=0x123,bob=0x456\"\n *\n * @param namedAddresses\n * @returns An array of names addresses seperated by a comma\n */\n // eslint-disable-next-line class-methods-use-this\n private prepareNamedAddresses(namedAddresses: Map<string, AccountAddress>): Array<string> {\n const totalNames = namedAddresses.size;\n const newArgs: Array<string> = [];\n\n if (totalNames === 0) {\n return newArgs;\n }\n\n newArgs.push(\"--named-addresses\");\n\n const names: Array<string> = [];\n namedAddresses.forEach((value, key) => {\n const toAppend = `${key}=${value.toString()}`;\n names.push(toAppend);\n });\n newArgs.push(names.join(\",\"));\n return newArgs;\n }\n\n /**\n * Parse named addresses from a Record type into a Map\n *\n * @param namedAddresses\n * @returns Map<name,address>\n */\n // eslint-disable-next-line class-methods-use-this\n private parseNamedAddresses(namedAddresses: Record<string, AccountAddress>): Map<string, AccountAddress> {\n const addressesMap = new Map();\n\n Object.keys(namedAddresses).forEach((key) => {\n const address = namedAddresses[key];\n addressesMap.set(key, address);\n });\n\n return addressesMap;\n }\n\n /**\n * Extract object address from the output\n *\n * @param output\n * @returns object address\n */\n // eslint-disable-next-line class-methods-use-this\n private extractAddressFromOutput(output: string): string {\n const match = output.match(\"Code was successfully deployed to object address (0x[0-9a-fA-F]+)\\\\.\");\n if (match) {\n return match[1];\n }\n throw new Error(\"Failed to extract object address from output\");\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/cli/localNode.ts","../../../src/cli/move.ts"],"names":["spawn","kill","platform","LocalNode","resolve","reject","err","cliCommand","cliArgs","currentPlatform","childProcess","data","str","operational","start","last","sleep","Move","args","network","profile","extraArguments","packageDirectoryPath","namedAddresses","addressesMap","addressName","result","objectAddress","outputFile","compiledScriptPath","stdout","code","totalNames","newArgs","names","value","key","toAppend","address","output","match"],"mappings":"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","sourcesContent":["import { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport kill from \"tree-kill\";\nimport { platform } from \"os\";\n\nimport { sleep } from \"../utils/helpers\";\n\nexport class LocalNode {\n readonly MAXIMUM_WAIT_TIME_SEC = 75;\n\n readonly READINESS_ENDPOINT = \"http://127.0.0.1:8070/\";\n\n process: ChildProcessWithoutNullStreams | null = null;\n\n /**\n * kills all the descendent processes\n * of the node process, including the node process itself\n */\n async stop() {\n await new Promise((resolve, reject) => {\n if (!this.process?.pid) return;\n kill(this.process.pid, (err) => {\n if (err) {\n reject(err);\n } else {\n resolve(true);\n }\n });\n });\n }\n\n /**\n * Runs a local testnet and waits for process to be up.\n *\n * If local node process is already up it returns and does\n * not start the process\n */\n async run() {\n const nodeIsUp = await this.checkIfProcessIsUp();\n if (nodeIsUp) {\n return;\n }\n this.start();\n await this.waitUntilProcessIsUp();\n }\n\n /**\n * Starts the local testnet by running the aptos node run-local-testnet command\n */\n start() {\n const cliCommand = \"npx\";\n const cliArgs = [\"aptos\", \"node\", \"run-localnet\", \"--force-restart\", \"--assume-yes\", \"--with-indexer-api\"];\n\n const currentPlatform = platform();\n let childProcess;\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(cliCommand, cliArgs, { shell: true });\n } else {\n childProcess = spawn(cliCommand, cliArgs);\n }\n\n this.process = childProcess;\n\n childProcess.stderr?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n\n childProcess.stdout?.on(\"data\", (data: any) => {\n const str = data.toString();\n // Print local node output log\n // eslint-disable-next-line no-console\n console.log(str);\n });\n }\n\n /**\n * Waits for the local testnet process to be up\n *\n * @returns Promise<boolean>\n */\n async waitUntilProcessIsUp(): Promise<boolean> {\n let operational = await this.checkIfProcessIsUp();\n const start = Date.now() / 1000;\n let last = start;\n\n while (!operational && start + this.MAXIMUM_WAIT_TIME_SEC > last) {\n // eslint-disable-next-line no-await-in-loop\n await sleep(1000);\n // eslint-disable-next-line no-await-in-loop\n operational = await this.checkIfProcessIsUp();\n last = Date.now() / 1000;\n }\n\n // If we are here it means something blocks the process to start.\n // Might worth checking if another process is running on port 8080\n if (!operational) {\n throw new Error(\"Process failed to start\");\n }\n\n return true;\n }\n\n /**\n * Checks if the local testnet is up\n *\n * @returns Promise<boolean>\n */\n async checkIfProcessIsUp(): Promise<boolean> {\n try {\n // Query readiness endpoint\n const data = await fetch(this.READINESS_ENDPOINT);\n if (data.status === 200) {\n return true;\n }\n return false;\n } catch (err: any) {\n return false;\n }\n }\n}\n","import { spawn } from \"child_process\";\nimport { platform } from \"os\";\n\nimport { AccountAddress } from \"../core\";\nimport { Network } from \"../utils\";\n\nexport class Move {\n /**\n * Function to initialize current directory for Aptos\n *\n * Configuration will be pushed into .aptos/config.yaml\n * @param args.network optional Network type argument to use for default settings, default is local\n * @param args.profile optional Profile to use from the config file, default is 'default'\n * This will be used to override associated settings such as the REST URL, the Faucet URL, and the private key arguments.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async init(args: {\n network?: Network;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { network, profile, extraArguments } = args;\n const cliArgs = [\"aptos\", \"init\", `--network=${network ?? \"local\"}`, `--profile=${profile ?? \"default\"}`];\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to compile a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n *\n * @returns stdout\n */\n async compile(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\"aptos\", \"move\", \"compile\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run Move unit tests for a package\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async test(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\"aptos\", \"move\", \"test\", \"--package-dir\", packageDirectoryPath];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to publish the modules to the publisher account on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async publish(args: {\n packageDirectoryPath: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"publish\",\n \"--package-dir\",\n packageDirectoryPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to create a new object and publish the Move package to it on the Aptos blockchain\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.addressName Address name for the Move package\n * @example\n * MoonCoin, please find the actual address name in Move.toml\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * A complete example in cli\n * aptos move create-object-and-publish-package \\\n * --package-dir path_to_directory_that_has_move.toml \\\n * --address-name launchpad_addr \\\n * --named-addresses \"launchpad_addr=0x123,initial_creator_addr=0x456\"\\\n * --profile my_profile \\\n * --assume-yes\n * @returns object address\n */\n async createObjectAndPublishPackage(args: {\n packageDirectoryPath: string;\n addressName: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ objectAddress: string }> {\n const { packageDirectoryPath, addressName, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"create-object-and-publish-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--address-name\",\n addressName,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n const result = await this.runCommand(cliArgs);\n return { objectAddress: this.extractAddressFromOutput(result.output) };\n }\n\n /**\n * Function to upgrade a Move package previously published to an object on the Aptos blockchain\n * Caller must be the object owner to call this function\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.objectAddress Address of the object that the Move package published to\n * @example\n * 0x1000\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async upgradeObjectPackage(args: {\n packageDirectoryPath: string;\n objectAddress: string;\n namedAddresses: Record<string, AccountAddress>;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { packageDirectoryPath, objectAddress, namedAddresses, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"upgrade-object-package\",\n \"--package-dir\",\n packageDirectoryPath,\n \"--object-address\",\n objectAddress,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Build a publication transaction payload and store it in a JSON output file\n *\n * @param args.packageDirectoryPath Path to a move package (the folder with a Move.toml file)\n * @param args.outputFile Output file to write publication transaction to\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * {\n * alice:0x1234, bob:0x5678\n * }\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async buildPublishPayload(args: {\n packageDirectoryPath: string;\n outputFile: string;\n namedAddresses: Record<string, AccountAddress>;\n extraArguments?: Array<string>;\n }) {\n const { outputFile, packageDirectoryPath, namedAddresses, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"build-publish-payload\",\n \"--json-output-file\",\n outputFile,\n \"--package-dir\",\n packageDirectoryPath,\n ];\n\n const addressesMap = this.parseNamedAddresses(namedAddresses);\n\n cliArgs.push(...this.prepareNamedAddresses(addressesMap));\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Function to run a Move script, please run compile before running this\n *\n * @param args.compiledScriptPath Path to a compiled Move script bytecode file\n * @param args.namedAddresses Named addresses for the move binary\n * @example\n * build/my_package/bytecode_scripts/my_move_script.mv\n * @param args.profile optional Profile to use from the config file.\n * @param args.extraArguments (optional) Any extra arguments to include in the form of an array of strings\n * @example\n * [\"--assume-yes\",\"--gas-unit-price=10\"]\n *\n * @returns stdout\n */\n async runScript(args: {\n compiledScriptPath: string;\n profile?: string;\n extraArguments?: Array<string>;\n }): Promise<{ output: string }> {\n const { compiledScriptPath, profile, extraArguments } = args;\n const cliArgs = [\n \"aptos\",\n \"move\",\n \"run-script\",\n \"--compiled-script-path\",\n compiledScriptPath,\n `--profile=${profile ?? \"default\"}`,\n ];\n\n if (extraArguments) {\n cliArgs.push(...extraArguments);\n }\n\n return this.runCommand(cliArgs);\n }\n\n /**\n * Run a move command\n *\n * @param args\n * @returns stdout\n */\n // eslint-disable-next-line class-methods-use-this\n private async runCommand(args: Array<string>): Promise<{ output: string }> {\n return new Promise((resolve, reject) => {\n const currentPlatform = platform();\n let childProcess;\n let stdout = \"\";\n\n // Check if current OS is windows\n if (currentPlatform === \"win32\") {\n childProcess = spawn(\"npx\", args, { shell: true });\n } else {\n childProcess = spawn(\"npx\", args);\n }\n\n childProcess.stdout.on(\"data\", (data) => {\n stdout += data.toString();\n });\n\n childProcess.stdout.pipe(process.stdout);\n childProcess.stderr.pipe(process.stderr);\n process.stdin.pipe(childProcess.stdin);\n\n childProcess.on(\"close\", (code) => {\n if (code === 0) {\n resolve({ output: stdout }); // Resolve with stdout if the child process exits successfully\n } else {\n reject(new Error(`Child process exited with code ${code}`)); // Reject with an error if the child process exits with an error code\n }\n });\n });\n }\n\n /**\n * Convert named addresses from a Map into an array seperated by a comma\n *\n * @example\n * input: {'alice' => '0x123', 'bob' => '0x456'}\n * output: \"alice=0x123,bob=0x456\"\n *\n * @param namedAddresses\n * @returns An array of names addresses seperated by a comma\n */\n // eslint-disable-next-line class-methods-use-this\n private prepareNamedAddresses(namedAddresses: Map<string, AccountAddress>): Array<string> {\n const totalNames = namedAddresses.size;\n const newArgs: Array<string> = [];\n\n if (totalNames === 0) {\n return newArgs;\n }\n\n newArgs.push(\"--named-addresses\");\n\n const names: Array<string> = [];\n namedAddresses.forEach((value, key) => {\n const toAppend = `${key}=${value.toString()}`;\n names.push(toAppend);\n });\n newArgs.push(names.join(\",\"));\n return newArgs;\n }\n\n /**\n * Parse named addresses from a Record type into a Map\n *\n * @param namedAddresses\n * @returns Map<name,address>\n */\n // eslint-disable-next-line class-methods-use-this\n private parseNamedAddresses(namedAddresses: Record<string, AccountAddress>): Map<string, AccountAddress> {\n const addressesMap = new Map();\n\n Object.keys(namedAddresses).forEach((key) => {\n const address = namedAddresses[key];\n addressesMap.set(key, address);\n });\n\n return addressesMap;\n }\n\n /**\n * Extract object address from the output\n *\n * @param output\n * @returns object address\n */\n // eslint-disable-next-line class-methods-use-this\n private extractAddressFromOutput(output: string): string {\n const match = output.match(\"Code was successfully deployed to object address (0x[0-9a-fA-F]+)\");\n if (match) {\n return match[1];\n }\n throw new Error(\"Failed to extract object address from output\");\n }\n}\n"]}
|