@aptos-labs/ts-sdk 1.29.1 → 1.31.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 +2 -2
- package/dist/common/{accountAddress-DUCC2ffJ.d.ts → accountAddress-DnSqjhSl.d.ts} +700 -245
- package/dist/common/{chunk-HBPH2AD3.js → chunk-7IYTZDXV.js} +1 -1
- package/dist/common/chunk-7IYTZDXV.js.map +1 -0
- package/dist/common/cli/index.d.ts +123 -126
- package/dist/common/cli/index.js +1 -1
- package/dist/common/cli/index.js.map +1 -1
- package/dist/common/index.d.ts +5919 -1627
- package/dist/common/index.js +11 -9
- package/dist/common/index.js.map +1 -1
- package/dist/esm/Ed25519Account-DpH9qAcg.d.mts +470 -0
- package/dist/esm/account/AbstractKeylessAccount.d.mts +5 -5
- package/dist/esm/account/AbstractKeylessAccount.mjs +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 +49 -14
- package/dist/esm/account/EphemeralKeyPair.mjs +1 -1
- package/dist/esm/account/FederatedKeylessAccount.d.mts +3 -3
- package/dist/esm/account/FederatedKeylessAccount.mjs +1 -1
- package/dist/esm/account/KeylessAccount.d.mts +37 -3
- package/dist/esm/account/KeylessAccount.mjs +1 -1
- package/dist/esm/account/MultiKeyAccount.d.mts +54 -34
- 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 +2 -2
- package/dist/esm/account/index.mjs +1 -1
- package/dist/esm/api/account.d.mts +448 -161
- package/dist/esm/api/account.mjs +1 -1
- package/dist/esm/api/ans.d.mts +369 -122
- package/dist/esm/api/ans.mjs +1 -1
- package/dist/esm/api/aptos.d.mts +40 -7
- package/dist/esm/api/aptos.mjs +1 -1
- package/dist/esm/api/aptosConfig.d.mts +102 -14
- package/dist/esm/api/aptosConfig.mjs +1 -1
- package/dist/esm/api/coin.d.mts +52 -15
- package/dist/esm/api/coin.mjs +1 -1
- package/dist/esm/api/digitalAsset.d.mts +710 -300
- package/dist/esm/api/digitalAsset.mjs +1 -1
- package/dist/esm/api/event.d.mts +129 -26
- package/dist/esm/api/event.mjs +1 -1
- package/dist/esm/api/faucet.d.mts +44 -7
- package/dist/esm/api/faucet.mjs +1 -1
- package/dist/esm/api/fungibleAsset.d.mts +152 -49
- package/dist/esm/api/fungibleAsset.mjs +1 -1
- package/dist/esm/api/general.d.mts +171 -55
- package/dist/esm/api/general.mjs +1 -1
- package/dist/esm/api/index.d.mts +2 -2
- package/dist/esm/api/index.mjs +1 -1
- package/dist/esm/api/keyless.d.mts +86 -14
- package/dist/esm/api/keyless.mjs +1 -1
- package/dist/esm/api/object.d.mts +51 -7
- package/dist/esm/api/object.mjs +1 -1
- package/dist/esm/api/staking.d.mts +86 -17
- package/dist/esm/api/staking.mjs +1 -1
- package/dist/esm/api/table.d.mts +118 -38
- package/dist/esm/api/table.mjs +1 -1
- package/dist/esm/api/transaction.d.mts +440 -109
- package/dist/esm/api/transaction.mjs +1 -1
- package/dist/esm/api/transactionSubmission/build.d.mts +99 -13
- package/dist/esm/api/transactionSubmission/build.mjs +1 -1
- package/dist/esm/api/transactionSubmission/helpers.d.mts +79 -0
- package/dist/esm/api/transactionSubmission/helpers.mjs +1 -1
- package/dist/esm/api/transactionSubmission/management.d.mts +111 -12
- package/dist/esm/api/transactionSubmission/management.mjs +1 -1
- package/dist/esm/api/transactionSubmission/sign.d.mts +97 -3
- 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 +140 -15
- package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
- package/dist/esm/api/transactionSubmission/submit.d.mts +104 -13
- package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
- package/dist/esm/api/utils.d.mts +26 -3
- package/dist/esm/api/utils.mjs +1 -1
- package/dist/esm/bcs/consts.mjs +1 -1
- package/dist/esm/bcs/deserializer.d.mts +82 -32
- package/dist/esm/bcs/deserializer.mjs +1 -1
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.mts +25 -6
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/fixedBytes.d.mts +51 -21
- package/dist/esm/bcs/serializable/fixedBytes.mjs +1 -1
- package/dist/esm/bcs/serializable/movePrimitives.d.mts +79 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
- package/dist/esm/bcs/serializable/moveStructs.d.mts +119 -32
- package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
- package/dist/esm/bcs/serializer.d.mts +111 -76
- package/dist/esm/bcs/serializer.mjs +1 -1
- package/dist/esm/chunk-22ZSW5EN.mjs +2 -0
- package/dist/esm/chunk-22ZSW5EN.mjs.map +1 -0
- package/dist/esm/{chunk-7V6DEA7G.mjs → chunk-2652SPOM.mjs} +2 -2
- package/dist/esm/chunk-2652SPOM.mjs.map +1 -0
- package/dist/esm/chunk-2CGJLPHP.mjs +2 -0
- package/dist/esm/{chunk-555I4YHP.mjs.map → chunk-2CGJLPHP.mjs.map} +1 -1
- package/dist/esm/{chunk-U6Z4FNB7.mjs → chunk-2CJC43CV.mjs} +1 -1
- package/dist/esm/chunk-2CJC43CV.mjs.map +1 -0
- package/dist/esm/{chunk-PUZ25PTD.mjs → chunk-2GEIHUHT.mjs} +2 -2
- package/dist/esm/chunk-2GEIHUHT.mjs.map +1 -0
- package/dist/esm/{chunk-FRGXKOU5.mjs → chunk-3H5DGQKX.mjs} +2 -2
- package/dist/esm/chunk-3H5DGQKX.mjs.map +1 -0
- package/dist/esm/chunk-4CDDWSKZ.mjs +2 -0
- package/dist/esm/chunk-4CDDWSKZ.mjs.map +1 -0
- package/dist/esm/{chunk-L5NY7TMI.mjs → chunk-4JXB6V5O.mjs} +2 -2
- package/dist/esm/chunk-4JXB6V5O.mjs.map +1 -0
- package/dist/esm/{chunk-5655UVIK.mjs → chunk-4LKLOUMG.mjs} +2 -2
- package/dist/esm/chunk-4LKLOUMG.mjs.map +1 -0
- package/dist/esm/chunk-4OV7QU2U.mjs +2 -0
- package/dist/esm/chunk-4OV7QU2U.mjs.map +1 -0
- package/dist/esm/chunk-4VU2ABLU.mjs +2 -0
- package/dist/esm/chunk-4VU2ABLU.mjs.map +1 -0
- package/dist/esm/{chunk-25NSCK4Q.mjs → chunk-4ZK3JNQT.mjs} +2 -2
- package/dist/esm/chunk-4ZK3JNQT.mjs.map +1 -0
- package/dist/esm/{chunk-SWHLSREF.mjs → chunk-5N6KJ7KS.mjs} +2 -2
- package/dist/esm/chunk-5N6KJ7KS.mjs.map +1 -0
- package/dist/esm/{chunk-WWZ3METZ.mjs → chunk-5S3Z7MT4.mjs} +2 -2
- package/dist/esm/chunk-5S3Z7MT4.mjs.map +1 -0
- package/dist/esm/{chunk-46D5QX3G.mjs → chunk-5SGSPCOY.mjs} +2 -2
- package/dist/esm/chunk-5SGSPCOY.mjs.map +1 -0
- package/dist/esm/chunk-6DMDYBV6.mjs +2 -0
- package/dist/esm/chunk-6DMDYBV6.mjs.map +1 -0
- package/dist/esm/chunk-6FLHGOKP.mjs +2 -0
- package/dist/esm/chunk-6FLHGOKP.mjs.map +1 -0
- package/dist/esm/{chunk-LG7RJQ57.mjs → chunk-6Q2O5G3J.mjs} +1 -1
- package/dist/esm/chunk-6Q2O5G3J.mjs.map +1 -0
- package/dist/esm/{chunk-BRFHAO2Y.mjs → chunk-73GCGRFW.mjs} +2 -2
- package/dist/esm/chunk-73GCGRFW.mjs.map +1 -0
- package/dist/esm/{chunk-XK3JFCP3.mjs → chunk-7JK7UG4E.mjs} +2 -2
- package/dist/esm/chunk-7JK7UG4E.mjs.map +1 -0
- package/dist/esm/{chunk-44GYWUSH.mjs → chunk-7XS45O6M.mjs} +1 -1
- package/dist/esm/chunk-7XS45O6M.mjs.map +1 -0
- package/dist/esm/{chunk-RNTXQYJQ.mjs → chunk-A2AEFKXS.mjs} +2 -2
- package/dist/esm/chunk-A2AEFKXS.mjs.map +1 -0
- package/dist/esm/{chunk-E37YRKWK.mjs → chunk-AGBA3Y7A.mjs} +2 -2
- package/dist/esm/chunk-AGBA3Y7A.mjs.map +1 -0
- package/dist/esm/chunk-AITN3DO4.mjs +2 -0
- package/dist/esm/chunk-AITN3DO4.mjs.map +1 -0
- package/dist/esm/{chunk-OY2IX7HW.mjs → chunk-AT2ZGTXQ.mjs} +2 -2
- package/dist/esm/chunk-AT2ZGTXQ.mjs.map +1 -0
- package/dist/esm/{chunk-TVFIUUVY.mjs → chunk-AZ6LVQEG.mjs} +2 -2
- package/dist/esm/chunk-AZ6LVQEG.mjs.map +1 -0
- package/dist/esm/chunk-BAGUHYFD.mjs +2 -0
- package/dist/esm/chunk-BAGUHYFD.mjs.map +1 -0
- package/dist/esm/{chunk-EWZ2M5BW.mjs → chunk-BG2TZI3H.mjs} +2 -2
- package/dist/esm/chunk-BG2TZI3H.mjs.map +1 -0
- package/dist/esm/chunk-BOWPP6YG.mjs +2 -0
- package/dist/esm/chunk-BOWPP6YG.mjs.map +1 -0
- package/dist/esm/{chunk-GFGX3QDP.mjs → chunk-BVVHGSWC.mjs} +2 -2
- package/dist/esm/chunk-BVVHGSWC.mjs.map +1 -0
- package/dist/esm/{chunk-BD6BJETG.mjs → chunk-CC7VOPYH.mjs} +2 -2
- package/dist/esm/chunk-CC7VOPYH.mjs.map +1 -0
- package/dist/esm/{chunk-K2O24YLZ.mjs → chunk-CDQGPCHU.mjs} +2 -2
- package/dist/esm/chunk-CDQGPCHU.mjs.map +1 -0
- package/dist/esm/{chunk-HSPBA2TZ.mjs → chunk-CL6EEMSL.mjs} +2 -2
- package/dist/esm/chunk-CL6EEMSL.mjs.map +1 -0
- package/dist/esm/{chunk-SCHZ67F3.mjs → chunk-D3OEQLUE.mjs} +1 -1
- package/dist/esm/{chunk-SCHZ67F3.mjs.map → chunk-D3OEQLUE.mjs.map} +1 -1
- package/dist/esm/{chunk-NNRAQP36.mjs → chunk-DMSHPWA5.mjs} +2 -2
- package/dist/esm/chunk-DMSHPWA5.mjs.map +1 -0
- package/dist/esm/{chunk-STGYDB5E.mjs → chunk-EE7GDBA5.mjs} +2 -2
- package/dist/esm/chunk-EE7GDBA5.mjs.map +1 -0
- package/dist/esm/{chunk-CPPBQDHB.mjs → chunk-EUGLLGYW.mjs} +2 -2
- package/dist/esm/chunk-EUGLLGYW.mjs.map +1 -0
- package/dist/esm/{chunk-CVDR5SJR.mjs → chunk-F2RY4YQ7.mjs} +2 -2
- package/dist/esm/chunk-F2RY4YQ7.mjs.map +1 -0
- package/dist/esm/chunk-FTZGP6XW.mjs +2 -0
- package/dist/esm/chunk-FTZGP6XW.mjs.map +1 -0
- package/dist/esm/{chunk-6RZZIOGH.mjs → chunk-GLATLXF6.mjs} +2 -2
- package/dist/esm/chunk-GLATLXF6.mjs.map +1 -0
- package/dist/esm/{chunk-SRPI2FFA.mjs → chunk-GMKKHGXK.mjs} +1 -1
- package/dist/esm/chunk-GMKKHGXK.mjs.map +1 -0
- package/dist/esm/{chunk-TDGQGILY.mjs → chunk-GQABU3RQ.mjs} +1 -1
- package/dist/esm/chunk-GQABU3RQ.mjs.map +1 -0
- package/dist/esm/{chunk-AH44UPM4.mjs → chunk-HBIDHQ2M.mjs} +1 -1
- package/dist/esm/chunk-HBIDHQ2M.mjs.map +1 -0
- package/dist/esm/chunk-HM5HITUC.mjs +4 -0
- package/dist/esm/chunk-HM5HITUC.mjs.map +1 -0
- package/dist/esm/{chunk-6EMN3BOV.mjs → chunk-I2NMCLNW.mjs} +1 -1
- package/dist/esm/chunk-I2NMCLNW.mjs.map +1 -0
- package/dist/esm/{chunk-NH2S6SB2.mjs → chunk-IAVI3H4V.mjs} +2 -2
- package/dist/esm/chunk-IAVI3H4V.mjs.map +1 -0
- package/dist/esm/chunk-IBLZ6MZU.mjs +2 -0
- package/dist/esm/chunk-IBLZ6MZU.mjs.map +1 -0
- package/dist/esm/chunk-IECDO22V.mjs +2 -0
- package/dist/esm/chunk-IECDO22V.mjs.map +1 -0
- package/dist/esm/{chunk-3YKAGVHZ.mjs → chunk-IFXUWUP2.mjs} +2 -2
- package/dist/esm/chunk-IFXUWUP2.mjs.map +1 -0
- package/dist/esm/{chunk-EXP5STXZ.mjs → chunk-J245N3XF.mjs} +1 -1
- package/dist/esm/chunk-J245N3XF.mjs.map +1 -0
- package/dist/esm/{chunk-MS4MRLGA.mjs → chunk-JGNMNCQB.mjs} +2 -2
- package/dist/esm/chunk-JGNMNCQB.mjs.map +1 -0
- package/dist/esm/{chunk-SR24OGHJ.mjs → chunk-JN36BNWA.mjs} +2 -2
- package/dist/esm/chunk-JN36BNWA.mjs.map +1 -0
- package/dist/esm/{chunk-DAXKRXRK.mjs → chunk-JNRMHDRA.mjs} +2 -2
- package/dist/esm/chunk-JNRMHDRA.mjs.map +1 -0
- package/dist/esm/{chunk-SAPUZZEU.mjs → chunk-JVTDP4KV.mjs} +2 -2
- package/dist/esm/chunk-JVTDP4KV.mjs.map +1 -0
- package/dist/esm/{chunk-FVA2OPG4.mjs → chunk-KDMSOCZY.mjs} +1 -1
- package/dist/esm/{chunk-BCUSI3N6.mjs → chunk-KFNDDPOW.mjs} +2 -2
- package/dist/esm/chunk-KFNDDPOW.mjs.map +1 -0
- package/dist/esm/chunk-KIW54KWR.mjs +2 -0
- package/dist/esm/{chunk-QPP6BX53.mjs → chunk-KM6UXNC7.mjs} +2 -2
- package/dist/esm/chunk-KM6UXNC7.mjs.map +1 -0
- package/dist/esm/{chunk-PKXEB7XP.mjs → chunk-KRVLR3L4.mjs} +2 -2
- package/dist/esm/chunk-KRVLR3L4.mjs.map +1 -0
- package/dist/esm/{chunk-XH7YKEYR.mjs → chunk-KW4FVBDD.mjs} +2 -2
- package/dist/esm/chunk-KW4FVBDD.mjs.map +1 -0
- package/dist/esm/{chunk-AFOPNDOJ.mjs → chunk-KYJU5PWF.mjs} +2 -2
- package/dist/esm/chunk-KYJU5PWF.mjs.map +1 -0
- package/dist/esm/{chunk-X4KEZTUQ.mjs → chunk-L5J3V3HW.mjs} +2 -2
- package/dist/esm/chunk-L5J3V3HW.mjs.map +1 -0
- package/dist/esm/{chunk-LDFTE4MM.mjs → chunk-LDZPO76C.mjs} +2 -2
- package/dist/esm/chunk-LDZPO76C.mjs.map +1 -0
- package/dist/esm/{chunk-UAL27G6B.mjs → chunk-LEKBJ2EG.mjs} +1 -1
- package/dist/esm/chunk-LEKBJ2EG.mjs.map +1 -0
- package/dist/esm/{chunk-YHAPZP5A.mjs → chunk-M22UGFQ5.mjs} +2 -2
- package/dist/esm/chunk-M22UGFQ5.mjs.map +1 -0
- package/dist/esm/{chunk-TMW2HIXC.mjs → chunk-MK2QAHXC.mjs} +2 -2
- package/dist/esm/chunk-MK2QAHXC.mjs.map +1 -0
- package/dist/esm/{chunk-QCUFTD7K.mjs → chunk-MSHZ4FWB.mjs} +2 -2
- package/dist/esm/chunk-MSHZ4FWB.mjs.map +1 -0
- package/dist/esm/{chunk-KEYAPEAX.mjs → chunk-N47FTRYO.mjs} +1 -1
- package/dist/esm/chunk-N47FTRYO.mjs.map +1 -0
- package/dist/esm/{chunk-QIW56MUH.mjs → chunk-NODYW7DM.mjs} +2 -2
- package/dist/esm/chunk-NODYW7DM.mjs.map +1 -0
- package/dist/esm/chunk-OAEDFM7T.mjs +2 -0
- package/dist/esm/chunk-OAEDFM7T.mjs.map +1 -0
- package/dist/esm/chunk-ONBFUPEC.mjs +2 -0
- package/dist/esm/chunk-ONBFUPEC.mjs.map +1 -0
- package/dist/esm/chunk-OTY3NO7Q.mjs +2 -0
- package/dist/esm/chunk-OTY3NO7Q.mjs.map +1 -0
- package/dist/esm/{chunk-ZGO2SK6F.mjs → chunk-OXM4BVAY.mjs} +2 -2
- package/dist/esm/chunk-OXM4BVAY.mjs.map +1 -0
- package/dist/esm/{chunk-YJCZU6PR.mjs → chunk-OZN3OOJV.mjs} +2 -2
- package/dist/esm/chunk-OZN3OOJV.mjs.map +1 -0
- package/dist/esm/{chunk-DAJOX4PL.mjs → chunk-P3J54CQG.mjs} +2 -2
- package/dist/esm/chunk-P3J54CQG.mjs.map +1 -0
- package/dist/esm/{chunk-WP7WF54Q.mjs → chunk-PCLU4KLY.mjs} +2 -2
- package/dist/esm/chunk-PCLU4KLY.mjs.map +1 -0
- package/dist/esm/{chunk-LR65XHSF.mjs → chunk-PHP47DI4.mjs} +2 -2
- package/dist/esm/chunk-PHP47DI4.mjs.map +1 -0
- package/dist/esm/chunk-PRZ7AIGA.mjs +2 -0
- package/dist/esm/chunk-PRZ7AIGA.mjs.map +1 -0
- package/dist/esm/chunk-QQIVWB6G.mjs +2 -0
- package/dist/esm/chunk-QQIVWB6G.mjs.map +1 -0
- package/dist/esm/{chunk-TS3PYRAT.mjs → chunk-RAJTNQNL.mjs} +2 -2
- package/dist/esm/chunk-RAJTNQNL.mjs.map +1 -0
- package/dist/esm/{chunk-XONG5JZ4.mjs → chunk-RBJNSUSU.mjs} +2 -2
- package/dist/esm/chunk-RBJNSUSU.mjs.map +1 -0
- package/dist/esm/{chunk-EV2USF7B.mjs → chunk-RNJHULIT.mjs} +2 -2
- package/dist/esm/chunk-RNJHULIT.mjs.map +1 -0
- package/dist/esm/{chunk-IYQISVDX.mjs → chunk-RNRNGJDA.mjs} +2 -2
- package/dist/esm/chunk-RNRNGJDA.mjs.map +1 -0
- package/dist/esm/{chunk-N5JNKD5F.mjs → chunk-SGQFWWLQ.mjs} +2 -2
- package/dist/esm/chunk-SGQFWWLQ.mjs.map +1 -0
- package/dist/esm/{chunk-7ZLBJUVZ.mjs → chunk-SOLWFAUY.mjs} +2 -2
- package/dist/esm/chunk-SOLWFAUY.mjs.map +1 -0
- package/dist/esm/{chunk-MO4IZXLK.mjs → chunk-T5BCTWGK.mjs} +2 -2
- package/dist/esm/chunk-T5BCTWGK.mjs.map +1 -0
- package/dist/esm/{chunk-U67PFBTL.mjs → chunk-TPJLAYW6.mjs} +2 -2
- package/dist/esm/chunk-TPJLAYW6.mjs.map +1 -0
- package/dist/esm/{chunk-XXHW3ZT3.mjs → chunk-UCRROMZN.mjs} +2 -2
- package/dist/esm/chunk-UCRROMZN.mjs.map +1 -0
- package/dist/esm/{chunk-QLN2URFX.mjs → chunk-UGL2GPGK.mjs} +2 -2
- package/dist/esm/chunk-UGL2GPGK.mjs.map +1 -0
- package/dist/esm/{chunk-NMD45OTM.mjs → chunk-V5NDNR36.mjs} +2 -2
- package/dist/esm/chunk-V5NDNR36.mjs.map +1 -0
- package/dist/esm/{chunk-KYSDF3CA.mjs → chunk-VYMRIKUV.mjs} +2 -2
- package/dist/esm/chunk-VYMRIKUV.mjs.map +1 -0
- package/dist/esm/{chunk-KXBIA4KR.mjs → chunk-WSZCPSV4.mjs} +2 -2
- package/dist/esm/chunk-WSZCPSV4.mjs.map +1 -0
- package/dist/esm/{chunk-B2CXRZL5.mjs → chunk-WV2VJQDS.mjs} +2 -2
- package/dist/esm/chunk-WV2VJQDS.mjs.map +1 -0
- package/dist/esm/{chunk-B6M7QBUO.mjs → chunk-WZCKSN2U.mjs} +2 -2
- package/dist/esm/chunk-WZCKSN2U.mjs.map +1 -0
- package/dist/esm/{chunk-25TIHDS6.mjs → chunk-XFJD6QIP.mjs} +2 -2
- package/dist/esm/chunk-XFJD6QIP.mjs.map +1 -0
- package/dist/esm/{chunk-ECWOLU5T.mjs → chunk-XFY4O2S3.mjs} +2 -2
- package/dist/esm/chunk-XFY4O2S3.mjs.map +1 -0
- package/dist/esm/chunk-XOCRDV2V.mjs +2 -0
- package/dist/esm/chunk-XOCRDV2V.mjs.map +1 -0
- package/dist/esm/{chunk-TL7DR54X.mjs → chunk-XQ7ONNII.mjs} +2 -2
- package/dist/esm/chunk-XQ7ONNII.mjs.map +1 -0
- package/dist/esm/chunk-Y267I7DC.mjs +2 -0
- package/dist/esm/chunk-Y267I7DC.mjs.map +1 -0
- package/dist/esm/{chunk-G7MWTE2J.mjs → chunk-YZ5BCOGI.mjs} +2 -2
- package/dist/esm/{chunk-LXLISEQ4.mjs → chunk-ZINOJTLU.mjs} +2 -2
- package/dist/esm/chunk-ZINOJTLU.mjs.map +1 -0
- package/dist/esm/{chunk-2TQIU7CG.mjs → chunk-ZPIMARUG.mjs} +2 -2
- package/dist/esm/chunk-ZPIMARUG.mjs.map +1 -0
- package/dist/esm/chunk-ZPQUCT22.mjs +2 -0
- package/dist/esm/chunk-ZPQUCT22.mjs.map +1 -0
- package/dist/esm/cli/index.mjs +1 -1
- package/dist/esm/cli/localNode.d.mts +26 -10
- package/dist/esm/cli/localNode.mjs +1 -1
- package/dist/esm/cli/move.d.mts +104 -123
- package/dist/esm/cli/move.mjs +1 -1
- package/dist/esm/client/core.d.mts +21 -6
- package/dist/esm/client/core.mjs +1 -1
- package/dist/esm/client/get.d.mts +34 -6
- package/dist/esm/client/get.mjs +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client/post.d.mts +63 -6
- package/dist/esm/client/post.mjs +1 -1
- package/dist/esm/client/types.d.mts +21 -8
- package/dist/esm/client/types.mjs +1 -1
- package/dist/esm/core/account/index.mjs +1 -1
- package/dist/esm/core/account/utils/address.d.mts +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.d.mts +63 -48
- 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.d.mts +6 -0
- package/dist/esm/core/common.mjs +1 -1
- package/dist/esm/core/crypto/ed25519.d.mts +77 -26
- package/dist/esm/core/crypto/ed25519.mjs +1 -1
- package/dist/esm/core/crypto/ephemeral.d.mts +36 -14
- package/dist/esm/core/crypto/ephemeral.mjs +1 -1
- package/dist/esm/core/crypto/federatedKeyless.d.mts +2 -14
- package/dist/esm/core/crypto/federatedKeyless.mjs +1 -1
- package/dist/esm/core/crypto/hdKey.d.mts +9 -6
- package/dist/esm/core/crypto/hdKey.mjs +1 -1
- package/dist/esm/core/crypto/index.d.mts +1 -1
- package/dist/esm/core/crypto/index.mjs +1 -1
- package/dist/esm/core/crypto/keyless.d.mts +126 -45
- package/dist/esm/core/crypto/keyless.mjs +1 -1
- package/dist/esm/core/crypto/multiEd25519.d.mts +45 -6
- package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
- package/dist/esm/core/crypto/multiKey.d.mts +58 -7
- package/dist/esm/core/crypto/multiKey.mjs +1 -1
- package/dist/esm/core/crypto/poseidon.d.mts +35 -5
- package/dist/esm/core/crypto/poseidon.mjs +1 -1
- package/dist/esm/core/crypto/privateKey.d.mts +10 -6
- package/dist/esm/core/crypto/proof.d.mts +2 -6
- 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 +72 -27
- package/dist/esm/core/crypto/secp256k1.mjs +1 -1
- package/dist/esm/core/crypto/signature.d.mts +5 -4
- package/dist/esm/core/crypto/signature.mjs +1 -1
- package/dist/esm/core/crypto/singleKey.d.mts +63 -5
- package/dist/esm/core/crypto/singleKey.mjs +1 -1
- package/dist/esm/core/crypto/utils.mjs +1 -1
- package/dist/esm/core/hex.d.mts +27 -28
- package/dist/esm/core/hex.mjs +1 -1
- package/dist/esm/core/index.d.mts +1 -1
- package/dist/esm/core/index.mjs +1 -1
- package/dist/esm/index.d.mts +2 -2
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internal/account.d.mts +191 -12
- package/dist/esm/internal/account.mjs +1 -1
- package/dist/esm/internal/ans.d.mts +206 -14
- package/dist/esm/internal/ans.mjs +1 -1
- package/dist/esm/internal/coin.d.mts +13 -1
- package/dist/esm/internal/coin.mjs +1 -1
- package/dist/esm/internal/digitalAsset.d.mts +330 -2
- package/dist/esm/internal/digitalAsset.mjs +1 -1
- package/dist/esm/internal/event.d.mts +39 -0
- package/dist/esm/internal/event.mjs +1 -1
- package/dist/esm/internal/faucet.d.mts +14 -0
- package/dist/esm/internal/faucet.mjs +1 -1
- package/dist/esm/internal/fungibleAsset.d.mts +48 -2
- package/dist/esm/internal/fungibleAsset.mjs +1 -1
- package/dist/esm/internal/general.d.mts +46 -0
- package/dist/esm/internal/general.mjs +1 -1
- package/dist/esm/internal/keyless.d.mts +41 -4
- package/dist/esm/internal/keyless.mjs +1 -1
- package/dist/esm/internal/object.d.mts +21 -0
- package/dist/esm/internal/object.mjs +1 -1
- package/dist/esm/internal/staking.d.mts +26 -0
- package/dist/esm/internal/staking.mjs +1 -1
- package/dist/esm/internal/table.d.mts +33 -1
- package/dist/esm/internal/table.mjs +1 -1
- package/dist/esm/internal/transaction.d.mts +107 -5
- package/dist/esm/internal/transaction.mjs +1 -1
- package/dist/esm/internal/transactionSubmission.d.mts +72 -29
- 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/publicKey-_tPa99ea.d.mts +151 -0
- package/dist/esm/transactions/authenticator/account.d.mts +66 -17
- 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 +53 -20
- 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.d.mts +20 -1
- package/dist/esm/transactions/instances/chainId.mjs +1 -1
- package/dist/esm/transactions/instances/identifier.d.mts +21 -3
- 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.d.mts +22 -8
- package/dist/esm/transactions/instances/moduleId.mjs +1 -1
- package/dist/esm/transactions/instances/multiAgentTransaction.d.mts +24 -8
- package/dist/esm/transactions/instances/multiAgentTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rawTransaction.d.mts +31 -4
- package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/rotationProofChallenge.d.mts +25 -3
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
- package/dist/esm/transactions/instances/signedTransaction.d.mts +29 -7
- package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/simpleTransaction.d.mts +23 -8
- package/dist/esm/transactions/instances/simpleTransaction.mjs +1 -1
- package/dist/esm/transactions/instances/transactionArgument.d.mts +23 -0
- package/dist/esm/transactions/instances/transactionPayload.d.mts +72 -26
- package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
- package/dist/esm/transactions/management/accountSequenceNumber.d.mts +37 -11
- package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
- package/dist/esm/transactions/management/asyncQueue.d.mts +22 -19
- package/dist/esm/transactions/management/asyncQueue.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 +67 -36
- package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/helpers.d.mts +74 -4
- 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 +45 -23
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/signingMessage.d.mts +20 -15
- package/dist/esm/transactions/transactionBuilder/signingMessage.mjs +1 -1
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +101 -30
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
- package/dist/esm/transactions/typeTag/index.d.mts +244 -3
- package/dist/esm/transactions/typeTag/index.mjs +1 -1
- package/dist/esm/transactions/typeTag/parser.d.mts +31 -2
- package/dist/esm/transactions/typeTag/parser.mjs +1 -1
- package/dist/esm/transactions/types.d.mts +82 -34
- package/dist/esm/types/generated/queries.mjs +1 -1
- package/dist/esm/types/generated/types.mjs +1 -1
- package/dist/esm/types/index.d.mts +320 -59
- package/dist/esm/types/index.mjs +1 -1
- package/dist/esm/types/indexer.d.mts +65 -2
- package/dist/esm/types/keyless.d.mts +18 -0
- package/dist/esm/utils/apiEndpoints.d.mts +3 -0
- package/dist/esm/utils/apiEndpoints.mjs +1 -1
- package/dist/esm/utils/const.d.mts +2 -4
- package/dist/esm/utils/const.mjs +1 -1
- package/dist/esm/utils/helpers.d.mts +25 -10
- package/dist/esm/utils/helpers.mjs +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils/memoize.d.mts +12 -10
- package/dist/esm/utils/memoize.mjs +1 -1
- package/dist/esm/utils/normalizeBundle.d.mts +11 -5
- 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 +3 -2
- package/src/account/AbstractKeylessAccount.ts +4 -3
- package/src/account/Account.ts +88 -54
- package/src/account/Ed25519Account.ts +56 -21
- package/src/account/EphemeralKeyPair.ts +50 -15
- package/src/account/FederatedKeylessAccount.ts +1 -1
- package/src/account/KeylessAccount.ts +37 -1
- package/src/account/MultiKeyAccount.ts +56 -35
- package/src/account/SingleKeyAccount.ts +60 -28
- package/src/api/account.ts +454 -160
- package/src/api/ans.ts +367 -120
- package/src/api/aptos.ts +38 -5
- package/src/api/aptosConfig.ts +102 -14
- package/src/api/coin.ts +49 -12
- package/src/api/digitalAsset.ts +707 -296
- package/src/api/event.ts +128 -25
- package/src/api/faucet.ts +44 -7
- package/src/api/fungibleAsset.ts +149 -46
- package/src/api/general.ts +168 -52
- package/src/api/keyless.ts +119 -22
- package/src/api/object.ts +49 -5
- package/src/api/staking.ts +84 -15
- package/src/api/table.ts +117 -37
- package/src/api/transaction.ts +438 -107
- package/src/api/transactionSubmission/build.ts +98 -12
- package/src/api/transactionSubmission/helpers.ts +79 -0
- package/src/api/transactionSubmission/management.ts +110 -10
- package/src/api/transactionSubmission/sign.ts +96 -2
- package/src/api/transactionSubmission/simulate.ts +139 -14
- package/src/api/transactionSubmission/submit.ts +103 -12
- package/src/api/utils.ts +26 -3
- package/src/bcs/deserializer.ts +82 -32
- package/src/bcs/serializable/entryFunctionBytes.ts +27 -6
- package/src/bcs/serializable/fixedBytes.ts +55 -25
- package/src/bcs/serializable/movePrimitives.ts +91 -0
- package/src/bcs/serializable/moveStructs.ts +123 -35
- package/src/bcs/serializer.ts +131 -84
- package/src/cli/localNode.ts +46 -17
- package/src/cli/move.ts +135 -137
- package/src/client/core.ts +22 -7
- package/src/client/get.ts +34 -6
- package/src/client/post.ts +63 -6
- package/src/client/types.ts +40 -13
- package/src/core/account/utils/address.ts +1 -1
- package/src/core/accountAddress.ts +63 -50
- package/src/core/authenticationKey.ts +47 -20
- package/src/core/common.ts +6 -0
- package/src/core/crypto/ed25519.ts +76 -25
- package/src/core/crypto/ephemeral.ts +37 -21
- package/src/core/crypto/federatedKeyless.ts +1 -20
- package/src/core/crypto/hdKey.ts +10 -7
- package/src/core/crypto/keyless.ts +140 -63
- package/src/core/crypto/multiEd25519.ts +44 -5
- package/src/core/crypto/multiKey.ts +66 -19
- package/src/core/crypto/poseidon.ts +72 -5
- package/src/core/crypto/privateKey.ts +9 -5
- package/src/core/crypto/proof.ts +3 -12
- package/src/core/crypto/publicKey.ts +15 -5
- package/src/core/crypto/secp256k1.ts +76 -26
- package/src/core/crypto/signature.ts +7 -4
- package/src/core/crypto/singleKey.ts +62 -5
- package/src/core/hex.ts +27 -28
- package/src/internal/account.ts +248 -12
- package/src/internal/ans.ts +219 -15
- package/src/internal/coin.ts +12 -0
- package/src/internal/digitalAsset.ts +344 -3
- package/src/internal/event.ts +51 -0
- package/src/internal/faucet.ts +14 -0
- package/src/internal/fungibleAsset.ts +46 -0
- package/src/internal/general.ts +46 -0
- package/src/internal/keyless.ts +41 -3
- package/src/internal/object.ts +21 -0
- package/src/internal/queries/getTableItemsData.graphql +1 -1
- package/src/internal/queries/getTableItemsMetadata.graphql +1 -1
- package/src/internal/staking.ts +27 -1
- package/src/internal/table.ts +32 -0
- package/src/internal/transaction.ts +120 -7
- package/src/internal/transactionSubmission.ts +86 -30
- package/src/transactions/authenticator/account.ts +65 -16
- package/src/transactions/authenticator/transaction.ts +52 -19
- package/src/transactions/instances/chainId.ts +20 -1
- package/src/transactions/instances/identifier.ts +21 -3
- package/src/transactions/instances/moduleId.ts +22 -8
- package/src/transactions/instances/multiAgentTransaction.ts +26 -10
- package/src/transactions/instances/rawTransaction.ts +31 -4
- package/src/transactions/instances/rotationProofChallenge.ts +24 -2
- package/src/transactions/instances/signedTransaction.ts +28 -6
- package/src/transactions/instances/simpleTransaction.ts +26 -11
- package/src/transactions/instances/transactionArgument.ts +26 -0
- package/src/transactions/instances/transactionPayload.ts +73 -26
- package/src/transactions/management/accountSequenceNumber.ts +38 -11
- package/src/transactions/management/asyncQueue.ts +22 -19
- package/src/transactions/management/transactionWorker.ts +66 -40
- package/src/transactions/transactionBuilder/helpers.ts +130 -3
- package/src/transactions/transactionBuilder/remoteAbi.ts +71 -30
- package/src/transactions/transactionBuilder/signingMessage.ts +19 -14
- package/src/transactions/transactionBuilder/transactionBuilder.ts +153 -40
- package/src/transactions/typeTag/index.ts +264 -3
- package/src/transactions/typeTag/parser.ts +54 -20
- package/src/transactions/types.ts +81 -33
- package/src/types/index.ts +338 -61
- package/src/types/indexer.ts +82 -2
- package/src/types/keyless.ts +21 -0
- package/src/utils/apiEndpoints.ts +3 -0
- package/src/utils/const.ts +2 -4
- package/src/utils/helpers.ts +25 -10
- package/src/utils/memoize.ts +12 -10
- package/src/utils/normalizeBundle.ts +11 -5
- package/src/version.ts +1 -1
- package/dist/common/chunk-HBPH2AD3.js.map +0 -1
- package/dist/esm/Ed25519Account-B1VMJOY2.d.mts +0 -361
- package/dist/esm/chunk-25NSCK4Q.mjs.map +0 -1
- package/dist/esm/chunk-25TIHDS6.mjs.map +0 -1
- package/dist/esm/chunk-2TQIU7CG.mjs.map +0 -1
- package/dist/esm/chunk-3MCYLML2.mjs +0 -2
- package/dist/esm/chunk-3MCYLML2.mjs.map +0 -1
- package/dist/esm/chunk-3YKAGVHZ.mjs.map +0 -1
- package/dist/esm/chunk-44GYWUSH.mjs.map +0 -1
- package/dist/esm/chunk-46D5QX3G.mjs.map +0 -1
- package/dist/esm/chunk-555I4YHP.mjs +0 -2
- package/dist/esm/chunk-5655UVIK.mjs.map +0 -1
- package/dist/esm/chunk-6EMN3BOV.mjs.map +0 -1
- package/dist/esm/chunk-6QGVRNV6.mjs +0 -2
- package/dist/esm/chunk-6QGVRNV6.mjs.map +0 -1
- package/dist/esm/chunk-6RZZIOGH.mjs.map +0 -1
- package/dist/esm/chunk-7V6DEA7G.mjs.map +0 -1
- package/dist/esm/chunk-7ZLBJUVZ.mjs.map +0 -1
- package/dist/esm/chunk-AFOPNDOJ.mjs.map +0 -1
- package/dist/esm/chunk-AH44UPM4.mjs.map +0 -1
- package/dist/esm/chunk-B2CXRZL5.mjs.map +0 -1
- package/dist/esm/chunk-B5NYEWNM.mjs +0 -2
- package/dist/esm/chunk-B5NYEWNM.mjs.map +0 -1
- package/dist/esm/chunk-B6M7QBUO.mjs.map +0 -1
- package/dist/esm/chunk-BCUSI3N6.mjs.map +0 -1
- package/dist/esm/chunk-BD6BJETG.mjs.map +0 -1
- package/dist/esm/chunk-BF4ZE37Q.mjs +0 -2
- package/dist/esm/chunk-BF4ZE37Q.mjs.map +0 -1
- package/dist/esm/chunk-BKEJMQQ6.mjs +0 -2
- package/dist/esm/chunk-BKEJMQQ6.mjs.map +0 -1
- package/dist/esm/chunk-BRFHAO2Y.mjs.map +0 -1
- package/dist/esm/chunk-BSUYPXRD.mjs +0 -2
- package/dist/esm/chunk-BSUYPXRD.mjs.map +0 -1
- package/dist/esm/chunk-CCMHWJ3Q.mjs +0 -2
- package/dist/esm/chunk-CCMHWJ3Q.mjs.map +0 -1
- package/dist/esm/chunk-CPPBQDHB.mjs.map +0 -1
- package/dist/esm/chunk-CVDR5SJR.mjs.map +0 -1
- package/dist/esm/chunk-DAJOX4PL.mjs.map +0 -1
- package/dist/esm/chunk-DAXKRXRK.mjs.map +0 -1
- package/dist/esm/chunk-DF4WKSTK.mjs +0 -2
- package/dist/esm/chunk-DF4WKSTK.mjs.map +0 -1
- package/dist/esm/chunk-E37YRKWK.mjs.map +0 -1
- package/dist/esm/chunk-ECWOLU5T.mjs.map +0 -1
- package/dist/esm/chunk-EV2USF7B.mjs.map +0 -1
- package/dist/esm/chunk-EWZ2M5BW.mjs.map +0 -1
- package/dist/esm/chunk-EXP5STXZ.mjs.map +0 -1
- package/dist/esm/chunk-FRGXKOU5.mjs.map +0 -1
- package/dist/esm/chunk-GFGX3QDP.mjs.map +0 -1
- package/dist/esm/chunk-GGR3P2TG.mjs +0 -2
- package/dist/esm/chunk-GGR3P2TG.mjs.map +0 -1
- package/dist/esm/chunk-HAT5S2XX.mjs +0 -2
- package/dist/esm/chunk-HAT5S2XX.mjs.map +0 -1
- package/dist/esm/chunk-HPZ2S4FE.mjs +0 -2
- package/dist/esm/chunk-HPZ2S4FE.mjs.map +0 -1
- package/dist/esm/chunk-HSPBA2TZ.mjs.map +0 -1
- package/dist/esm/chunk-IMGLHDIA.mjs +0 -2
- package/dist/esm/chunk-IMGLHDIA.mjs.map +0 -1
- package/dist/esm/chunk-IYQISVDX.mjs.map +0 -1
- package/dist/esm/chunk-K2O24YLZ.mjs.map +0 -1
- package/dist/esm/chunk-KA6FZNWP.mjs +0 -2
- package/dist/esm/chunk-KA6FZNWP.mjs.map +0 -1
- package/dist/esm/chunk-KEYAPEAX.mjs.map +0 -1
- package/dist/esm/chunk-KXBIA4KR.mjs.map +0 -1
- package/dist/esm/chunk-KYSDF3CA.mjs.map +0 -1
- package/dist/esm/chunk-L5NY7TMI.mjs.map +0 -1
- package/dist/esm/chunk-LDFTE4MM.mjs.map +0 -1
- package/dist/esm/chunk-LG3DAAPD.mjs +0 -2
- package/dist/esm/chunk-LG3DAAPD.mjs.map +0 -1
- package/dist/esm/chunk-LG7RJQ57.mjs.map +0 -1
- package/dist/esm/chunk-LGD5KU56.mjs +0 -2
- package/dist/esm/chunk-LGD5KU56.mjs.map +0 -1
- package/dist/esm/chunk-LR65XHSF.mjs.map +0 -1
- package/dist/esm/chunk-LXLISEQ4.mjs.map +0 -1
- package/dist/esm/chunk-M2QV232A.mjs +0 -2
- package/dist/esm/chunk-M2QV232A.mjs.map +0 -1
- package/dist/esm/chunk-MEWFJJJN.mjs +0 -2
- package/dist/esm/chunk-MEWFJJJN.mjs.map +0 -1
- package/dist/esm/chunk-MO4IZXLK.mjs.map +0 -1
- package/dist/esm/chunk-MS4MRLGA.mjs.map +0 -1
- package/dist/esm/chunk-N5JNKD5F.mjs.map +0 -1
- package/dist/esm/chunk-NH2S6SB2.mjs.map +0 -1
- package/dist/esm/chunk-NMD45OTM.mjs.map +0 -1
- package/dist/esm/chunk-NNRAQP36.mjs.map +0 -1
- package/dist/esm/chunk-OY2IX7HW.mjs.map +0 -1
- package/dist/esm/chunk-PKXEB7XP.mjs.map +0 -1
- package/dist/esm/chunk-PNXUYOYI.mjs +0 -2
- package/dist/esm/chunk-PNXUYOYI.mjs.map +0 -1
- package/dist/esm/chunk-PUZ25PTD.mjs.map +0 -1
- package/dist/esm/chunk-Q4XR6QOZ.mjs +0 -2
- package/dist/esm/chunk-QCUFTD7K.mjs.map +0 -1
- package/dist/esm/chunk-QDIKOQRK.mjs +0 -2
- package/dist/esm/chunk-QDIKOQRK.mjs.map +0 -1
- package/dist/esm/chunk-QIW56MUH.mjs.map +0 -1
- package/dist/esm/chunk-QLN2URFX.mjs.map +0 -1
- package/dist/esm/chunk-QPP6BX53.mjs.map +0 -1
- package/dist/esm/chunk-RNTXQYJQ.mjs.map +0 -1
- package/dist/esm/chunk-SAPUZZEU.mjs.map +0 -1
- package/dist/esm/chunk-SR24OGHJ.mjs.map +0 -1
- package/dist/esm/chunk-SRPI2FFA.mjs.map +0 -1
- package/dist/esm/chunk-STGYDB5E.mjs.map +0 -1
- package/dist/esm/chunk-SWHLSREF.mjs.map +0 -1
- package/dist/esm/chunk-TDGQGILY.mjs.map +0 -1
- package/dist/esm/chunk-TL7DR54X.mjs.map +0 -1
- package/dist/esm/chunk-TMW2HIXC.mjs.map +0 -1
- package/dist/esm/chunk-TS3PYRAT.mjs.map +0 -1
- package/dist/esm/chunk-TVFIUUVY.mjs.map +0 -1
- package/dist/esm/chunk-U67PFBTL.mjs.map +0 -1
- package/dist/esm/chunk-U6Z4FNB7.mjs.map +0 -1
- package/dist/esm/chunk-UAL27G6B.mjs.map +0 -1
- package/dist/esm/chunk-WP7WF54Q.mjs.map +0 -1
- package/dist/esm/chunk-WS4RPKL6.mjs +0 -2
- package/dist/esm/chunk-WS4RPKL6.mjs.map +0 -1
- package/dist/esm/chunk-WWZ3METZ.mjs.map +0 -1
- package/dist/esm/chunk-X4KEZTUQ.mjs.map +0 -1
- package/dist/esm/chunk-XH7YKEYR.mjs.map +0 -1
- package/dist/esm/chunk-XK3JFCP3.mjs.map +0 -1
- package/dist/esm/chunk-XONG5JZ4.mjs.map +0 -1
- package/dist/esm/chunk-XXHW3ZT3.mjs.map +0 -1
- package/dist/esm/chunk-Y7F2V3R6.mjs +0 -2
- package/dist/esm/chunk-Y7F2V3R6.mjs.map +0 -1
- package/dist/esm/chunk-YHAPZP5A.mjs.map +0 -1
- package/dist/esm/chunk-YJCZU6PR.mjs.map +0 -1
- package/dist/esm/chunk-ZGO2SK6F.mjs.map +0 -1
- package/dist/esm/publicKey-B3XRNhHO.d.mts +0 -113
- /package/dist/esm/{chunk-FVA2OPG4.mjs.map → chunk-KDMSOCZY.mjs.map} +0 -0
- /package/dist/esm/{chunk-Q4XR6QOZ.mjs.map → chunk-KIW54KWR.mjs.map} +0 -0
- /package/dist/esm/{chunk-G7MWTE2J.mjs.map → chunk-YZ5BCOGI.mjs.map} +0 -0
package/src/bcs/serializer.ts
CHANGED
|
@@ -13,16 +13,18 @@ import {
|
|
|
13
13
|
import { Hex } from "../core/hex";
|
|
14
14
|
import { AnyNumber, Uint16, Uint32, Uint8 } from "../types";
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
/**
|
|
17
|
+
* This class serves as a base class for all serializable types. It facilitates
|
|
18
|
+
* composable serialization of complex types and enables the serialization of
|
|
19
|
+
* instances to their BCS (Binary Canonical Serialization) representation.
|
|
20
|
+
*/
|
|
19
21
|
export abstract class Serializable {
|
|
20
22
|
abstract serialize(serializer: Serializer): void;
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* Serializes a `Serializable` value to its BCS representation.
|
|
24
|
-
* This function is the
|
|
25
|
-
* @returns the BCS representation of the Serializable instance as a byte buffer
|
|
26
|
+
* This function is the TypeScript SDK equivalent of `bcs::to_bytes` in Move.
|
|
27
|
+
* @returns the BCS representation of the Serializable instance as a byte buffer.
|
|
26
28
|
*/
|
|
27
29
|
bcsToBytes(): Uint8Array {
|
|
28
30
|
const serializer = new Serializer();
|
|
@@ -31,22 +33,49 @@ export abstract class Serializable {
|
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
+
* Converts the BCS-serialized bytes of a value into a Hex instance.
|
|
37
|
+
* This function provides a Hex representation of the BCS-serialized data for easier handling and manipulation.
|
|
38
|
+
* @returns A Hex instance with the BCS-serialized bytes loaded into its underlying Uint8Array.
|
|
36
39
|
*/
|
|
37
40
|
bcsToHex(): Hex {
|
|
38
41
|
const bcsBytes = this.bcsToBytes();
|
|
39
42
|
return Hex.fromHexInput(bcsBytes);
|
|
40
43
|
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Returns the hex string representation of the `Serializable` value without the 0x prefix.
|
|
47
|
+
* @returns the hex format as a string without `0x` prefix.
|
|
48
|
+
*/
|
|
49
|
+
toStringWithoutPrefix(): string {
|
|
50
|
+
return this.bcsToHex().toStringWithoutPrefix();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the hex string representation of the `Serializable` value with the 0x prefix.
|
|
55
|
+
* @returns the hex formatas a string prefixed by `0x`.
|
|
56
|
+
*/
|
|
57
|
+
toString(): string {
|
|
58
|
+
return `0x${this.toStringWithoutPrefix()}`;
|
|
59
|
+
}
|
|
41
60
|
}
|
|
42
61
|
|
|
62
|
+
/**
|
|
63
|
+
* A class for serializing various data types into a binary format.
|
|
64
|
+
* It provides methods to serialize strings, bytes, numbers, and other serializable objects
|
|
65
|
+
* using the Binary Coded Serialization (BCS) layout. The serialized data can be retrieved as a
|
|
66
|
+
* Uint8Array.
|
|
67
|
+
*/
|
|
43
68
|
export class Serializer {
|
|
44
69
|
private buffer: ArrayBuffer;
|
|
45
70
|
|
|
46
71
|
private offset: number;
|
|
47
72
|
|
|
48
|
-
|
|
49
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Constructs a serializer with a buffer of size `length` bytes, 64 bytes by default.
|
|
75
|
+
* The `length` must be greater than 0.
|
|
76
|
+
*
|
|
77
|
+
* @param length - The size of the buffer in bytes.
|
|
78
|
+
*/
|
|
50
79
|
constructor(length: number = 64) {
|
|
51
80
|
if (length <= 0) {
|
|
52
81
|
throw new Error("Length needs to be greater than 0");
|
|
@@ -55,6 +84,12 @@ export class Serializer {
|
|
|
55
84
|
this.offset = 0;
|
|
56
85
|
}
|
|
57
86
|
|
|
87
|
+
/**
|
|
88
|
+
* Ensures that the internal buffer can accommodate the specified number of bytes.
|
|
89
|
+
* This function dynamically resizes the buffer if the current size is insufficient.
|
|
90
|
+
*
|
|
91
|
+
* @param bytes - The number of bytes to ensure the buffer can handle.
|
|
92
|
+
*/
|
|
58
93
|
private ensureBufferWillHandleSize(bytes: number) {
|
|
59
94
|
while (this.buffer.byteLength < this.offset + bytes) {
|
|
60
95
|
const newBuffer = new ArrayBuffer(this.buffer.byteLength * 2);
|
|
@@ -63,12 +98,26 @@ export class Serializer {
|
|
|
63
98
|
}
|
|
64
99
|
}
|
|
65
100
|
|
|
101
|
+
/**
|
|
102
|
+
* Appends the specified values to the buffer, ensuring that the buffer can accommodate the new data.
|
|
103
|
+
*
|
|
104
|
+
* @param {Uint8Array} values - The values to be appended to the buffer.
|
|
105
|
+
*/
|
|
66
106
|
protected appendToBuffer(values: Uint8Array) {
|
|
67
107
|
this.ensureBufferWillHandleSize(values.length);
|
|
68
108
|
new Uint8Array(this.buffer, this.offset).set(values);
|
|
69
109
|
this.offset += values.length;
|
|
70
110
|
}
|
|
71
111
|
|
|
112
|
+
/**
|
|
113
|
+
* Serializes a value into the buffer using the provided function, ensuring the buffer can accommodate the size.
|
|
114
|
+
*
|
|
115
|
+
* @param fn - The function to serialize the value, which takes a byte offset, the value to serialize, and an optional little-endian flag.
|
|
116
|
+
* @param fn.byteOffset - The byte offset at which to write the value.
|
|
117
|
+
* @param fn.value - The numeric value to serialize into the buffer.
|
|
118
|
+
* @param fn.littleEndian - Optional flag indicating whether to use little-endian byte order (defaults to true).
|
|
119
|
+
*/
|
|
120
|
+
// TODO: JSDoc bytesLength and value
|
|
72
121
|
private serializeWithFunction(
|
|
73
122
|
fn: (byteOffset: number, value: number, littleEndian?: boolean) => void,
|
|
74
123
|
bytesLength: number,
|
|
@@ -82,15 +131,16 @@ export class Serializer {
|
|
|
82
131
|
|
|
83
132
|
/**
|
|
84
133
|
* Serializes a string. UTF8 string is supported.
|
|
85
|
-
*
|
|
86
134
|
* The number of bytes in the string content is serialized first, as a uleb128-encoded u32 integer.
|
|
87
135
|
* Then the string content is serialized as UTF8 encoded bytes.
|
|
88
136
|
*
|
|
89
137
|
* BCS layout for "string": string_length | string_content
|
|
90
138
|
* where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.
|
|
91
139
|
*
|
|
140
|
+
* @param value - The string to serialize.
|
|
141
|
+
*
|
|
92
142
|
* @example
|
|
93
|
-
* ```
|
|
143
|
+
* ```typescript
|
|
94
144
|
* const serializer = new Serializer();
|
|
95
145
|
* serializer.serializeStr("1234abcd");
|
|
96
146
|
* assert(serializer.toUint8Array() === new Uint8Array([8, 49, 50, 51, 52, 97, 98, 99, 100]));
|
|
@@ -104,8 +154,10 @@ export class Serializer {
|
|
|
104
154
|
/**
|
|
105
155
|
* Serializes an array of bytes.
|
|
106
156
|
*
|
|
157
|
+
* This function encodes the length of the byte array as a u32 integer in uleb128 format, followed by the byte array itself.
|
|
107
158
|
* BCS layout for "bytes": bytes_length | bytes
|
|
108
159
|
* where bytes_length is a u32 integer encoded as a uleb128 integer, equal to the length of the bytes array.
|
|
160
|
+
* @param value - The byte array to serialize.
|
|
109
161
|
*/
|
|
110
162
|
serializeBytes(value: Uint8Array) {
|
|
111
163
|
this.serializeU32AsUleb128(value.length);
|
|
@@ -113,30 +165,41 @@ export class Serializer {
|
|
|
113
165
|
}
|
|
114
166
|
|
|
115
167
|
/**
|
|
116
|
-
* Serializes an array of bytes with known length
|
|
117
|
-
*
|
|
118
|
-
*
|
|
168
|
+
* Serializes an array of bytes with a known length, allowing for efficient deserialization without needing to serialize the
|
|
169
|
+
* length itself.
|
|
119
170
|
* When deserializing, the number of bytes to deserialize needs to be passed in.
|
|
171
|
+
|
|
172
|
+
* @param value - The Uint8Array to be serialized.
|
|
120
173
|
*/
|
|
121
174
|
serializeFixedBytes(value: Uint8Array) {
|
|
122
175
|
this.appendToBuffer(value);
|
|
123
176
|
}
|
|
124
177
|
|
|
125
178
|
/**
|
|
126
|
-
* Serializes a boolean value.
|
|
179
|
+
* Serializes a boolean value into a byte representation.
|
|
180
|
+
*
|
|
181
|
+
* The BCS layout for a boolean uses one byte, where "0x01" represents true and "0x00" represents false.
|
|
127
182
|
*
|
|
128
|
-
*
|
|
183
|
+
* @param value - The boolean value to serialize.
|
|
129
184
|
*/
|
|
130
185
|
serializeBool(value: boolean) {
|
|
186
|
+
/**
|
|
187
|
+
* Ensures that the provided value is a boolean.
|
|
188
|
+
* This function throws an error if the value is not a boolean, helping to enforce type safety in your code.
|
|
189
|
+
*
|
|
190
|
+
* @param value - The value to be checked for boolean type.
|
|
191
|
+
* @throws {Error} Throws an error if the value is not a boolean.
|
|
192
|
+
*/
|
|
131
193
|
ensureBoolean(value);
|
|
132
194
|
const byteValue = value ? 1 : 0;
|
|
133
195
|
this.appendToBuffer(new Uint8Array([byteValue]));
|
|
134
196
|
}
|
|
135
197
|
|
|
136
198
|
/**
|
|
137
|
-
* Serializes a
|
|
138
|
-
*
|
|
199
|
+
* Serializes a Uint8 value and appends it to the buffer.
|
|
139
200
|
* BCS layout for "uint8": One byte. Binary format in little-endian representation.
|
|
201
|
+
*
|
|
202
|
+
* @param value - The Uint8 value to serialize.
|
|
140
203
|
*/
|
|
141
204
|
@checkNumberRange(0, MAX_U8_NUMBER)
|
|
142
205
|
serializeU8(value: Uint8) {
|
|
@@ -146,9 +209,16 @@ export class Serializer {
|
|
|
146
209
|
/**
|
|
147
210
|
* Serializes a uint16 number.
|
|
148
211
|
*
|
|
212
|
+
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Serializes a 16-bit unsigned integer value into a binary format.
|
|
149
217
|
* BCS layout for "uint16": Two bytes. Binary format in little-endian representation.
|
|
218
|
+
*
|
|
219
|
+
* @param value - The 16-bit unsigned integer value to serialize.
|
|
150
220
|
* @example
|
|
151
|
-
* ```
|
|
221
|
+
* ```typescript
|
|
152
222
|
* const serializer = new Serializer();
|
|
153
223
|
* serializer.serializeU16(4660);
|
|
154
224
|
* assert(serializer.toUint8Array() === new Uint8Array([0x34, 0x12]));
|
|
@@ -160,15 +230,15 @@ export class Serializer {
|
|
|
160
230
|
}
|
|
161
231
|
|
|
162
232
|
/**
|
|
163
|
-
* Serializes a
|
|
164
|
-
*
|
|
165
|
-
* BCS layout for "uint32": Four bytes. Binary format in little-endian representation.
|
|
233
|
+
* Serializes a 32-bit unsigned integer value into a binary format.
|
|
234
|
+
* This function is useful for encoding data that needs to be stored or transmitted in a compact form.
|
|
166
235
|
* @example
|
|
167
|
-
* ```
|
|
236
|
+
* ```typescript
|
|
168
237
|
* const serializer = new Serializer();
|
|
169
238
|
* serializer.serializeU32(305419896);
|
|
170
239
|
* assert(serializer.toUint8Array() === new Uint8Array([0x78, 0x56, 0x34, 0x12]));
|
|
171
240
|
* ```
|
|
241
|
+
* @param value - The 32-bit unsigned integer value to serialize.
|
|
172
242
|
*/
|
|
173
243
|
@checkNumberRange(0, MAX_U32_NUMBER)
|
|
174
244
|
serializeU32(value: Uint32) {
|
|
@@ -176,9 +246,10 @@ export class Serializer {
|
|
|
176
246
|
}
|
|
177
247
|
|
|
178
248
|
/**
|
|
179
|
-
* Serializes a
|
|
249
|
+
* Serializes a 64-bit unsigned integer into a format suitable for storage or transmission.
|
|
250
|
+
* This function breaks down the value into two 32-bit components and writes them in little-endian order.
|
|
180
251
|
*
|
|
181
|
-
*
|
|
252
|
+
* @param value - The 64-bit unsigned integer to serialize, represented as a number.
|
|
182
253
|
* @example
|
|
183
254
|
* ```ts
|
|
184
255
|
* const serializer = new Serializer();
|
|
@@ -197,9 +268,9 @@ export class Serializer {
|
|
|
197
268
|
}
|
|
198
269
|
|
|
199
270
|
/**
|
|
200
|
-
* Serializes a
|
|
271
|
+
* Serializes a U128 value into a format suitable for storage or transmission.
|
|
201
272
|
*
|
|
202
|
-
*
|
|
273
|
+
* @param value - The U128 value to serialize, represented as a number.
|
|
203
274
|
*/
|
|
204
275
|
@checkNumberRange(BigInt(0), MAX_U128_BIG_INT)
|
|
205
276
|
serializeU128(value: AnyNumber) {
|
|
@@ -212,9 +283,10 @@ export class Serializer {
|
|
|
212
283
|
}
|
|
213
284
|
|
|
214
285
|
/**
|
|
215
|
-
* Serializes a
|
|
286
|
+
* Serializes a U256 value into a byte representation.
|
|
287
|
+
* This function is essential for encoding large numbers in a compact format suitable for transmission or storage.
|
|
216
288
|
*
|
|
217
|
-
*
|
|
289
|
+
* @param value - The U256 value to serialize, represented as an AnyNumber.
|
|
218
290
|
*/
|
|
219
291
|
@checkNumberRange(BigInt(0), MAX_U256_BIG_INT)
|
|
220
292
|
serializeU256(value: AnyNumber) {
|
|
@@ -227,9 +299,10 @@ export class Serializer {
|
|
|
227
299
|
}
|
|
228
300
|
|
|
229
301
|
/**
|
|
230
|
-
* Serializes a
|
|
231
|
-
*
|
|
302
|
+
* Serializes a 32-bit unsigned integer as a variable-length ULEB128 encoded byte array.
|
|
232
303
|
* BCS uses uleb128 encoding in two cases: (1) lengths of variable-length sequences and (2) tags of enum values
|
|
304
|
+
*
|
|
305
|
+
* @param val - The 32-bit unsigned integer value to be serialized.
|
|
233
306
|
*/
|
|
234
307
|
@checkNumberRange(0, MAX_U32_NUMBER)
|
|
235
308
|
serializeU32AsUleb128(val: Uint32) {
|
|
@@ -244,7 +317,11 @@ export class Serializer {
|
|
|
244
317
|
}
|
|
245
318
|
|
|
246
319
|
/**
|
|
247
|
-
* Returns the buffered bytes
|
|
320
|
+
* Returns the buffered bytes as a Uint8Array.
|
|
321
|
+
*
|
|
322
|
+
* This function allows you to retrieve the byte representation of the buffer up to the current offset.
|
|
323
|
+
*
|
|
324
|
+
* @returns Uint8Array - The byte array representation of the buffer.
|
|
248
325
|
*/
|
|
249
326
|
toUint8Array(): Uint8Array {
|
|
250
327
|
return new Uint8Array(this.buffer).slice(0, this.offset);
|
|
@@ -253,35 +330,7 @@ export class Serializer {
|
|
|
253
330
|
/**
|
|
254
331
|
* Serializes a `Serializable` value, facilitating composable serialization.
|
|
255
332
|
*
|
|
256
|
-
* @param value The Serializable value to serialize
|
|
257
|
-
*
|
|
258
|
-
* @example
|
|
259
|
-
* // Define the MoveStruct class that implements the Serializable interface
|
|
260
|
-
* class MoveStruct extends Serializable {
|
|
261
|
-
* constructor(
|
|
262
|
-
* public creatorAddress: AccountAddress, // where AccountAddress extends Serializable
|
|
263
|
-
* public collectionName: string,
|
|
264
|
-
* public tokenName: string
|
|
265
|
-
* ) {}
|
|
266
|
-
*
|
|
267
|
-
* serialize(serializer: Serializer): void {
|
|
268
|
-
* serializer.serialize(this.creatorAddress); // Composable serialization of another Serializable object
|
|
269
|
-
* serializer.serializeStr(this.collectionName);
|
|
270
|
-
* serializer.serializeStr(this.tokenName);
|
|
271
|
-
* }
|
|
272
|
-
* }
|
|
273
|
-
*
|
|
274
|
-
* // Construct a MoveStruct
|
|
275
|
-
* const moveStruct = new MoveStruct(new AccountAddress(...), "MyCollection", "TokenA");
|
|
276
|
-
*
|
|
277
|
-
* // Serialize a string, a u64 number, and a MoveStruct instance.
|
|
278
|
-
* const serializer = new Serializer();
|
|
279
|
-
* serializer.serializeStr("ExampleString");
|
|
280
|
-
* serializer.serializeU64(12345678);
|
|
281
|
-
* serializer.serialize(moveStruct);
|
|
282
|
-
*
|
|
283
|
-
* // Get the bytes from the Serializer instance
|
|
284
|
-
* const serializedBytes = serializer.toUint8Array();
|
|
333
|
+
* @param value The Serializable value to serialize.
|
|
285
334
|
*
|
|
286
335
|
* @returns the serializer instance
|
|
287
336
|
*/
|
|
@@ -293,7 +342,7 @@ export class Serializer {
|
|
|
293
342
|
|
|
294
343
|
/**
|
|
295
344
|
* Serializes an array of BCS Serializable values to a serializer instance.
|
|
296
|
-
*
|
|
345
|
+
* The bytes are added to the serializer instance's byte buffer.
|
|
297
346
|
*
|
|
298
347
|
* @param values The array of BCS Serializable values
|
|
299
348
|
* @example
|
|
@@ -318,13 +367,13 @@ export class Serializer {
|
|
|
318
367
|
}
|
|
319
368
|
|
|
320
369
|
/**
|
|
321
|
-
* Serializes a BCS Serializable
|
|
322
|
-
*
|
|
370
|
+
* Serializes a BCS Serializable value into a serializer instance or handles the case when the value is undefined.
|
|
371
|
+
* This function allows you to efficiently add serialized data to the serializer's byte buffer.
|
|
323
372
|
*
|
|
324
|
-
* @param
|
|
373
|
+
* @param value The BCS Serializable value to serialize, or undefined if there is no value.
|
|
325
374
|
*
|
|
326
375
|
* @example
|
|
327
|
-
* ```
|
|
376
|
+
* ```typescript
|
|
328
377
|
* const serializer = new Serializer();
|
|
329
378
|
* serializer.serializeOption(new AccountAddress(...));
|
|
330
379
|
* const serializedBytes = serializer.toUint8Array();
|
|
@@ -344,26 +393,14 @@ export class Serializer {
|
|
|
344
393
|
}
|
|
345
394
|
|
|
346
395
|
/**
|
|
347
|
-
* Serializes an optional string
|
|
348
|
-
*
|
|
349
|
-
* The existence of the string is encoded first, 0 if undefined and 1 if it exists.
|
|
350
|
-
* Them the number of bytes in the string content is serialized, as a uleb128-encoded u32 integer.
|
|
351
|
-
* Then the string content is serialized as UTF8 encoded bytes.
|
|
396
|
+
* Serializes an optional string, supporting UTF8 encoding.
|
|
397
|
+
* The function encodes the existence of the string first, followed by the length and content if it exists.
|
|
352
398
|
*
|
|
353
399
|
* BCS layout for optional "string": 1 | string_length | string_content
|
|
354
400
|
* where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.
|
|
355
|
-
*
|
|
356
401
|
* BCS layout for undefined: 0
|
|
357
|
-
* @example
|
|
358
|
-
* ```ts
|
|
359
|
-
* const serializer = new Serializer();
|
|
360
|
-
* serializer.serializeOptionStr("1234abcd");
|
|
361
|
-
* assert(serializer.toUint8Array() === new Uint8Array([1, 8, 49, 50, 51, 52, 97, 98, 99, 100]));
|
|
362
402
|
*
|
|
363
|
-
*
|
|
364
|
-
* serializer.serializeOptionStr(undefined);
|
|
365
|
-
* assert(serializer.toUint8Array() === new Uint8Array([0]));
|
|
366
|
-
* ```
|
|
403
|
+
* @param value - The optional string to serialize. If undefined, it will serialize as 0.
|
|
367
404
|
*/
|
|
368
405
|
serializeOptionStr(value?: string): void {
|
|
369
406
|
if (value === undefined) {
|
|
@@ -384,6 +421,14 @@ export function ensureBoolean(value: unknown): asserts value is boolean {
|
|
|
384
421
|
export const outOfRangeErrorMessage = (value: AnyNumber, min: AnyNumber, max: AnyNumber) =>
|
|
385
422
|
`${value} is out of range: [${min}, ${max}]`;
|
|
386
423
|
|
|
424
|
+
/**
|
|
425
|
+
* Validates that a given number is within a specified range.
|
|
426
|
+
* This function throws an error if the value is outside the defined minimum and maximum bounds.
|
|
427
|
+
*
|
|
428
|
+
* @param value - The number to validate.
|
|
429
|
+
* @param minValue - The minimum allowable value (inclusive).
|
|
430
|
+
* @param maxValue - The maximum allowable value (inclusive).
|
|
431
|
+
*/
|
|
387
432
|
export function validateNumberInRange<T extends AnyNumber>(value: T, minValue: T, maxValue: T) {
|
|
388
433
|
const valueBigInt = BigInt(value);
|
|
389
434
|
if (valueBigInt > BigInt(maxValue) || valueBigInt < BigInt(minValue)) {
|
|
@@ -392,9 +437,11 @@ export function validateNumberInRange<T extends AnyNumber>(value: T, minValue: T
|
|
|
392
437
|
}
|
|
393
438
|
|
|
394
439
|
/**
|
|
395
|
-
* A decorator
|
|
396
|
-
*
|
|
397
|
-
*
|
|
440
|
+
* A decorator that validates that the input argument for a function is within a specified range.
|
|
441
|
+
* This ensures that the function is only called with valid input values, preventing potential errors.
|
|
442
|
+
*
|
|
443
|
+
* @param minValue - The input argument must be greater than or equal to this value.
|
|
444
|
+
* @param maxValue - The input argument must be less than or equal to this value.
|
|
398
445
|
*/
|
|
399
446
|
function checkNumberRange<T extends AnyNumber>(minValue: T, maxValue: T) {
|
|
400
447
|
return (target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => {
|
package/src/cli/localNode.ts
CHANGED
|
@@ -1,23 +1,47 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
|
|
1
3
|
import { ChildProcessWithoutNullStreams, spawn } from "child_process";
|
|
2
4
|
import kill from "tree-kill";
|
|
3
5
|
import { platform } from "os";
|
|
4
6
|
|
|
5
7
|
import { sleep } from "../utils/helpers";
|
|
6
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Represents a local node for running a testnet environment.
|
|
11
|
+
* This class provides methods to start, stop, and check the status of the local testnet process.
|
|
12
|
+
* It manages the lifecycle of the node process and ensures that it is operational before executing tests.
|
|
13
|
+
*/
|
|
7
14
|
export class LocalNode {
|
|
8
15
|
readonly MAXIMUM_WAIT_TIME_SEC = 75;
|
|
9
16
|
|
|
10
17
|
readonly READINESS_ENDPOINT = "http://127.0.0.1:8070/";
|
|
11
18
|
|
|
19
|
+
showStdout: boolean = true;
|
|
20
|
+
|
|
12
21
|
process: ChildProcessWithoutNullStreams | null = null;
|
|
13
22
|
|
|
23
|
+
constructor(args?: { showStdout?: boolean }) {
|
|
24
|
+
this.showStdout = args?.showStdout ?? true;
|
|
25
|
+
}
|
|
26
|
+
|
|
14
27
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
28
|
+
* Kills the current process and all its descendant processes.
|
|
29
|
+
*
|
|
30
|
+
* @returns {Promise<void>} A promise that resolves to true if the process was successfully killed.
|
|
31
|
+
* @throws {Error} If there is an error while attempting to kill the process.
|
|
17
32
|
*/
|
|
18
|
-
async stop() {
|
|
33
|
+
async stop(): Promise<void> {
|
|
19
34
|
await new Promise((resolve, reject) => {
|
|
20
35
|
if (!this.process?.pid) return;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Terminates the process associated with the given process ID.
|
|
39
|
+
*
|
|
40
|
+
* @param pid - The process ID of the process to be terminated.
|
|
41
|
+
* @param callback - A function that is called after the termination attempt is complete.
|
|
42
|
+
* @param callback.err - An error object if the termination failed; otherwise, null.
|
|
43
|
+
* @param callback.resolve - A boolean indicating whether the termination was successful.
|
|
44
|
+
*/
|
|
21
45
|
kill(this.process.pid, (err) => {
|
|
22
46
|
if (err) {
|
|
23
47
|
reject(err);
|
|
@@ -29,12 +53,12 @@ export class LocalNode {
|
|
|
29
53
|
}
|
|
30
54
|
|
|
31
55
|
/**
|
|
32
|
-
* Runs a local testnet and waits for process to be up.
|
|
56
|
+
* Runs a local testnet and waits for the process to be up.
|
|
57
|
+
* If the local node process is already running, it returns without starting the process.
|
|
33
58
|
*
|
|
34
|
-
*
|
|
35
|
-
* not start the process
|
|
59
|
+
* @returns {Promise<void>} A promise that resolves when the process is up.
|
|
36
60
|
*/
|
|
37
|
-
async run() {
|
|
61
|
+
async run(): Promise<void> {
|
|
38
62
|
const nodeIsUp = await this.checkIfProcessIsUp();
|
|
39
63
|
if (nodeIsUp) {
|
|
40
64
|
return;
|
|
@@ -44,9 +68,13 @@ export class LocalNode {
|
|
|
44
68
|
}
|
|
45
69
|
|
|
46
70
|
/**
|
|
47
|
-
* Starts the local testnet by running the
|
|
71
|
+
* Starts the local testnet by running the Aptos node with the specified command-line arguments.
|
|
72
|
+
*
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*
|
|
75
|
+
* @throws {Error} If there is an issue starting the local testnet.
|
|
48
76
|
*/
|
|
49
|
-
start() {
|
|
77
|
+
start(): void {
|
|
50
78
|
const cliCommand = "npx";
|
|
51
79
|
const cliArgs = ["aptos", "node", "run-localnet", "--force-restart", "--assume-yes", "--with-indexer-api"];
|
|
52
80
|
|
|
@@ -63,23 +91,24 @@ export class LocalNode {
|
|
|
63
91
|
|
|
64
92
|
childProcess.stderr?.on("data", (data: any) => {
|
|
65
93
|
const str = data.toString();
|
|
66
|
-
// Print local node output log
|
|
67
|
-
// eslint-disable-next-line no-console
|
|
94
|
+
// Print local node output error log
|
|
68
95
|
console.log(str);
|
|
69
96
|
});
|
|
70
97
|
|
|
71
98
|
childProcess.stdout?.on("data", (data: any) => {
|
|
72
99
|
const str = data.toString();
|
|
73
100
|
// Print local node output log
|
|
74
|
-
|
|
75
|
-
|
|
101
|
+
if (this.showStdout) {
|
|
102
|
+
console.log(str);
|
|
103
|
+
}
|
|
76
104
|
});
|
|
77
105
|
}
|
|
78
106
|
|
|
79
107
|
/**
|
|
80
|
-
* Waits for the local testnet process to be
|
|
108
|
+
* Waits for the local testnet process to be operational within a specified maximum wait time.
|
|
109
|
+
* This function continuously checks if the process is up and will throw an error if it fails to start.
|
|
81
110
|
*
|
|
82
|
-
* @returns Promise<boolean>
|
|
111
|
+
* @returns Promise<boolean> - Resolves to true if the process is up, otherwise throws an error.
|
|
83
112
|
*/
|
|
84
113
|
async waitUntilProcessIsUp(): Promise<boolean> {
|
|
85
114
|
let operational = await this.checkIfProcessIsUp();
|
|
@@ -104,9 +133,9 @@ export class LocalNode {
|
|
|
104
133
|
}
|
|
105
134
|
|
|
106
135
|
/**
|
|
107
|
-
* Checks if the local testnet is up
|
|
136
|
+
* Checks if the local testnet is up by querying the readiness endpoint.
|
|
108
137
|
*
|
|
109
|
-
* @returns Promise<boolean>
|
|
138
|
+
* @returns Promise<boolean> - A promise that resolves to true if the testnet is up, otherwise false.
|
|
110
139
|
*/
|
|
111
140
|
async checkIfProcessIsUp(): Promise<boolean> {
|
|
112
141
|
try {
|