@aptos-labs/ts-sdk 0.0.4 → 0.0.5
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/{cjs → browser}/index.d.ts +19 -11
- package/dist/browser/index.global.js +28 -27
- package/dist/browser/index.global.js.map +1 -1
- package/dist/common/index.d.ts +5831 -0
- package/dist/common/index.js +406 -0
- package/dist/common/index.js.map +1 -0
- package/dist/esm/api/account.d.ts +292 -0
- package/dist/esm/api/account.mjs +2 -0
- package/dist/esm/api/account.mjs.map +1 -0
- package/dist/esm/api/ans.d.ts +79 -0
- package/dist/esm/api/ans.mjs +2 -0
- package/dist/esm/api/ans.mjs.map +1 -0
- package/dist/esm/api/aptos.d.ts +72 -0
- package/dist/esm/api/aptos.mjs +2 -0
- package/dist/esm/api/aptos.mjs.map +1 -0
- package/dist/esm/api/aptosConfig.d.ts +51 -0
- package/dist/esm/api/aptosConfig.mjs +2 -0
- package/dist/esm/api/aptosConfig.mjs.map +1 -0
- package/dist/esm/api/coin.d.ts +59 -0
- package/dist/esm/api/coin.mjs +2 -0
- package/dist/esm/api/coin.mjs.map +1 -0
- package/dist/esm/api/digitalAsset.d.ts +174 -0
- package/dist/esm/api/digitalAsset.mjs +2 -0
- package/dist/esm/api/digitalAsset.mjs.map +1 -0
- package/dist/esm/api/event.d.ts +74 -0
- package/dist/esm/api/event.mjs +2 -0
- package/dist/esm/api/event.mjs.map +1 -0
- package/dist/esm/api/faucet.d.ts +37 -0
- package/dist/esm/api/faucet.mjs +2 -0
- package/dist/esm/api/faucet.mjs.map +1 -0
- package/dist/esm/api/fungibleAsset.d.ts +72 -0
- package/dist/esm/api/fungibleAsset.mjs +2 -0
- package/dist/esm/api/fungibleAsset.mjs.map +1 -0
- package/dist/esm/api/general.d.ts +150 -0
- package/dist/esm/api/general.mjs +2 -0
- package/dist/esm/api/general.mjs.map +1 -0
- package/dist/esm/api/index.d.ts +46 -0
- package/dist/esm/api/index.mjs +2 -0
- package/dist/esm/api/index.mjs.map +1 -0
- package/dist/esm/api/staking.d.ts +53 -0
- package/dist/esm/api/staking.mjs +2 -0
- package/dist/esm/api/staking.mjs.map +1 -0
- package/dist/esm/api/transaction.d.ts +101 -0
- package/dist/esm/api/transaction.mjs +2 -0
- package/dist/esm/api/transaction.mjs.map +1 -0
- package/dist/esm/api/transactionSubmission.d.ts +142 -0
- package/dist/esm/api/transactionSubmission.mjs +2 -0
- package/dist/esm/api/transactionSubmission.mjs.map +1 -0
- package/dist/esm/bcs/consts.d.ts +14 -0
- package/dist/esm/bcs/consts.mjs +2 -0
- package/dist/esm/bcs/consts.mjs.map +1 -0
- package/dist/esm/bcs/deserializer.d.ts +150 -0
- package/dist/esm/bcs/deserializer.mjs +2 -0
- package/dist/esm/bcs/deserializer.mjs.map +1 -0
- package/dist/esm/bcs/index.d.ts +14 -0
- package/dist/esm/bcs/index.mjs +2 -0
- package/dist/esm/bcs/index.mjs.map +1 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.d.ts +40 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs +2 -0
- package/dist/esm/bcs/serializable/entryFunctionBytes.mjs.map +1 -0
- package/dist/esm/bcs/serializable/fixedBytes.d.ts +52 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs +2 -0
- package/dist/esm/bcs/serializable/fixedBytes.mjs.map +1 -0
- package/dist/esm/bcs/serializable/movePrimitives.d.ts +69 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs +2 -0
- package/dist/esm/bcs/serializable/movePrimitives.mjs.map +1 -0
- package/dist/esm/bcs/serializable/moveStructs.d.ts +284 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs +2 -0
- package/dist/esm/bcs/serializable/moveStructs.mjs.map +1 -0
- package/dist/esm/bcs/serializer.d.ts +192 -0
- package/dist/esm/bcs/serializer.mjs +2 -0
- package/dist/esm/bcs/serializer.mjs.map +1 -0
- package/dist/esm/chunk-2444YR3Y.mjs +2 -0
- package/dist/esm/chunk-2444YR3Y.mjs.map +1 -0
- package/dist/esm/chunk-27P7PELS.mjs +2 -0
- package/dist/esm/chunk-27P7PELS.mjs.map +1 -0
- package/dist/esm/chunk-2B5QXKPU.mjs +2 -0
- package/dist/esm/chunk-2B5QXKPU.mjs.map +1 -0
- package/dist/esm/chunk-2MQZUGO6.mjs +2 -0
- package/dist/esm/chunk-2MQZUGO6.mjs.map +1 -0
- package/dist/esm/chunk-3JPVQHOR.mjs +2 -0
- package/dist/esm/chunk-3JPVQHOR.mjs.map +1 -0
- package/dist/esm/chunk-3OJN4I42.mjs +2 -0
- package/dist/esm/chunk-3OJN4I42.mjs.map +1 -0
- package/dist/esm/chunk-3YOV42H5.mjs +2 -0
- package/dist/esm/chunk-3YOV42H5.mjs.map +1 -0
- package/dist/esm/chunk-4WPQQPUF.mjs +1 -0
- package/dist/esm/chunk-4WPQQPUF.mjs.map +1 -0
- package/dist/esm/chunk-6FBKUTGF.mjs +2 -0
- package/dist/esm/chunk-6FBKUTGF.mjs.map +1 -0
- package/dist/esm/chunk-7AIV5FEN.mjs +2 -0
- package/dist/esm/chunk-7AIV5FEN.mjs.map +1 -0
- package/dist/esm/chunk-7AQXAH6Q.mjs +2 -0
- package/dist/esm/chunk-7AQXAH6Q.mjs.map +1 -0
- package/dist/esm/chunk-7TL2MY2B.mjs +2 -0
- package/dist/esm/chunk-7TL2MY2B.mjs.map +1 -0
- package/dist/esm/chunk-ADR4XQPR.mjs +2 -0
- package/dist/esm/chunk-ADR4XQPR.mjs.map +1 -0
- package/dist/esm/chunk-AH44UPM4.mjs +2 -0
- package/dist/esm/chunk-AH44UPM4.mjs.map +1 -0
- package/dist/esm/chunk-AY2HWVDO.mjs +2 -0
- package/dist/esm/chunk-AY2HWVDO.mjs.map +1 -0
- package/dist/esm/chunk-BC2NOUYT.mjs +2 -0
- package/dist/esm/chunk-BC2NOUYT.mjs.map +1 -0
- package/dist/esm/chunk-BIUGRAMO.mjs +2 -0
- package/dist/esm/chunk-BIUGRAMO.mjs.map +1 -0
- package/dist/esm/chunk-BREUBEPM.mjs +2 -0
- package/dist/esm/chunk-BREUBEPM.mjs.map +1 -0
- package/dist/esm/chunk-BSCOVLWS.mjs +1 -0
- package/dist/esm/chunk-BSCOVLWS.mjs.map +1 -0
- package/dist/esm/chunk-BTK34A5U.mjs +406 -0
- package/dist/esm/chunk-BTK34A5U.mjs.map +1 -0
- package/dist/esm/chunk-CZZJAR3B.mjs +2 -0
- package/dist/esm/chunk-CZZJAR3B.mjs.map +1 -0
- package/dist/esm/chunk-DNDWTM7A.mjs +2 -0
- package/dist/esm/chunk-DNDWTM7A.mjs.map +1 -0
- package/dist/esm/chunk-DNYVUM3K.mjs +2 -0
- package/dist/esm/chunk-DNYVUM3K.mjs.map +1 -0
- package/dist/esm/chunk-DXUIJ6KA.mjs +2 -0
- package/dist/esm/chunk-DXUIJ6KA.mjs.map +1 -0
- package/dist/esm/chunk-E72CFUU4.mjs +2 -0
- package/dist/esm/chunk-E72CFUU4.mjs.map +1 -0
- package/dist/esm/chunk-E7FWVXGX.mjs +1 -0
- package/dist/esm/chunk-E7FWVXGX.mjs.map +1 -0
- package/dist/esm/chunk-EKAOAGNQ.mjs +2 -0
- package/dist/esm/chunk-EKAOAGNQ.mjs.map +1 -0
- package/dist/esm/chunk-FBPNHF54.mjs +2 -0
- package/dist/esm/chunk-FBPNHF54.mjs.map +1 -0
- package/dist/esm/chunk-FHJ7F7Z6.mjs +2 -0
- package/dist/esm/chunk-FHJ7F7Z6.mjs.map +1 -0
- package/dist/esm/chunk-FNB6CFQR.mjs +2 -0
- package/dist/esm/chunk-FNB6CFQR.mjs.map +1 -0
- package/dist/esm/chunk-FYIFBLHU.mjs +2 -0
- package/dist/esm/chunk-FYIFBLHU.mjs.map +1 -0
- package/dist/esm/chunk-FZY4PMEE.mjs +1 -0
- package/dist/esm/chunk-FZY4PMEE.mjs.map +1 -0
- package/dist/esm/chunk-GUT3G5CG.mjs +2 -0
- package/dist/esm/chunk-GUT3G5CG.mjs.map +1 -0
- package/dist/esm/chunk-HH5RSP2H.mjs +2 -0
- package/dist/esm/chunk-HH5RSP2H.mjs.map +1 -0
- package/dist/esm/chunk-HTZTTZQJ.mjs +1 -0
- package/dist/esm/chunk-HTZTTZQJ.mjs.map +1 -0
- package/dist/esm/chunk-I5OYNCZS.mjs +1 -0
- package/dist/esm/chunk-I5OYNCZS.mjs.map +1 -0
- package/dist/esm/chunk-IPJKGHQY.mjs +2 -0
- package/dist/esm/chunk-IPJKGHQY.mjs.map +1 -0
- package/dist/esm/chunk-IXMH6AXJ.mjs +2 -0
- package/dist/esm/chunk-IXMH6AXJ.mjs.map +1 -0
- package/dist/esm/chunk-IZHPCZE3.mjs +2 -0
- package/dist/esm/chunk-IZHPCZE3.mjs.map +1 -0
- package/dist/esm/chunk-J3QOSJFP.mjs +2 -0
- package/dist/esm/chunk-J3QOSJFP.mjs.map +1 -0
- package/dist/esm/chunk-J5OKXARS.mjs +2 -0
- package/dist/esm/chunk-J5OKXARS.mjs.map +1 -0
- package/dist/esm/chunk-JTGGMXB7.mjs +2 -0
- package/dist/esm/chunk-JTGGMXB7.mjs.map +1 -0
- package/dist/esm/chunk-KC64ESLO.mjs +2 -0
- package/dist/esm/chunk-KC64ESLO.mjs.map +1 -0
- package/dist/esm/chunk-KFP7MDSD.mjs +2 -0
- package/dist/esm/chunk-KFP7MDSD.mjs.map +1 -0
- package/dist/esm/chunk-KJDY66XF.mjs +2 -0
- package/dist/esm/chunk-KJDY66XF.mjs.map +1 -0
- package/dist/esm/chunk-KNLMUSIO.mjs +2 -0
- package/dist/esm/chunk-KNLMUSIO.mjs.map +1 -0
- package/dist/esm/chunk-KPESAXVI.mjs +2 -0
- package/dist/esm/chunk-KPESAXVI.mjs.map +1 -0
- package/dist/esm/chunk-KWJ6XKNF.mjs +2 -0
- package/dist/esm/chunk-KWJ6XKNF.mjs.map +1 -0
- package/dist/esm/chunk-KYWYIK5P.mjs +2 -0
- package/dist/esm/chunk-KYWYIK5P.mjs.map +1 -0
- package/dist/esm/chunk-LAXIJRYU.mjs +2 -0
- package/dist/esm/chunk-LAXIJRYU.mjs.map +1 -0
- package/dist/esm/chunk-LR65XHSF.mjs +2 -0
- package/dist/esm/chunk-LR65XHSF.mjs.map +1 -0
- package/dist/esm/chunk-LU6VS7PJ.mjs +2 -0
- package/dist/esm/chunk-LU6VS7PJ.mjs.map +1 -0
- package/dist/esm/chunk-LV33NV4J.mjs +2 -0
- package/dist/esm/chunk-LV33NV4J.mjs.map +1 -0
- package/dist/esm/chunk-MIBLZSNS.mjs +2 -0
- package/dist/esm/chunk-MIBLZSNS.mjs.map +1 -0
- package/dist/esm/chunk-N2FKVZ4D.mjs +1 -0
- package/dist/esm/chunk-N2FKVZ4D.mjs.map +1 -0
- package/dist/esm/chunk-N6XWY4UT.mjs +2 -0
- package/dist/esm/chunk-N6XWY4UT.mjs.map +1 -0
- package/dist/esm/chunk-NKTKHC3Z.mjs +2 -0
- package/dist/esm/chunk-NKTKHC3Z.mjs.map +1 -0
- package/dist/esm/chunk-O243HOP3.mjs +2 -0
- package/dist/esm/chunk-O243HOP3.mjs.map +1 -0
- package/dist/esm/chunk-PDLUCVJB.mjs +2 -0
- package/dist/esm/chunk-PDLUCVJB.mjs.map +1 -0
- package/dist/esm/chunk-PJDVHU7X.mjs +2 -0
- package/dist/esm/chunk-PJDVHU7X.mjs.map +1 -0
- package/dist/esm/chunk-R7G3CLRI.mjs +1 -0
- package/dist/esm/chunk-R7G3CLRI.mjs.map +1 -0
- package/dist/esm/chunk-RMMOF53Q.mjs +1 -0
- package/dist/esm/chunk-RMMOF53Q.mjs.map +1 -0
- package/dist/esm/chunk-SJLO3JIH.mjs +2 -0
- package/dist/esm/chunk-SJLO3JIH.mjs.map +1 -0
- package/dist/esm/chunk-TCTZCPQ6.mjs +1 -0
- package/dist/esm/chunk-TCTZCPQ6.mjs.map +1 -0
- package/dist/esm/chunk-TXUMB5ZO.mjs +2 -0
- package/dist/esm/chunk-TXUMB5ZO.mjs.map +1 -0
- package/dist/esm/chunk-TYHBYRUA.mjs +2 -0
- package/dist/esm/chunk-TYHBYRUA.mjs.map +1 -0
- package/dist/esm/chunk-UQIOMAXE.mjs +2 -0
- package/dist/esm/chunk-UQIOMAXE.mjs.map +1 -0
- package/dist/esm/chunk-UVGCVCNG.mjs +2 -0
- package/dist/esm/chunk-UVGCVCNG.mjs.map +1 -0
- package/dist/esm/chunk-UYVPNUH3.mjs +1 -0
- package/dist/esm/chunk-UYVPNUH3.mjs.map +1 -0
- package/dist/esm/chunk-V3MBJJTL.mjs +1 -0
- package/dist/esm/chunk-V3MBJJTL.mjs.map +1 -0
- package/dist/esm/chunk-V6AAQLLJ.mjs +2 -0
- package/dist/esm/chunk-V6AAQLLJ.mjs.map +1 -0
- package/dist/esm/chunk-VAGYTPSI.mjs +2 -0
- package/dist/esm/chunk-VAGYTPSI.mjs.map +1 -0
- package/dist/esm/chunk-WGXAIQ7K.mjs +2 -0
- package/dist/esm/chunk-WGXAIQ7K.mjs.map +1 -0
- package/dist/esm/chunk-WNEZCERQ.mjs +2 -0
- package/dist/esm/chunk-WNEZCERQ.mjs.map +1 -0
- package/dist/esm/chunk-WVMDCC4V.mjs +2 -0
- package/dist/esm/chunk-WVMDCC4V.mjs.map +1 -0
- package/dist/esm/chunk-XFS5O5GJ.mjs +2 -0
- package/dist/esm/chunk-XFS5O5GJ.mjs.map +1 -0
- package/dist/esm/chunk-XFSL7O6Q.mjs +2 -0
- package/dist/esm/chunk-XFSL7O6Q.mjs.map +1 -0
- package/dist/esm/chunk-XNFEUXDS.mjs +2 -0
- package/dist/esm/chunk-XNFEUXDS.mjs.map +1 -0
- package/dist/esm/chunk-YS2OX7AB.mjs +2 -0
- package/dist/esm/chunk-YS2OX7AB.mjs.map +1 -0
- package/dist/esm/chunk-Z56AKXJ7.mjs +2 -0
- package/dist/esm/chunk-Z56AKXJ7.mjs.map +1 -0
- package/dist/esm/chunk-ZT2A5ABR.mjs +2 -0
- package/dist/esm/chunk-ZT2A5ABR.mjs.map +1 -0
- package/dist/esm/chunk-ZXJ5ZBTL.mjs +2 -0
- package/dist/esm/chunk-ZXJ5ZBTL.mjs.map +1 -0
- package/dist/esm/client/core.d.ts +24 -0
- package/dist/esm/client/core.mjs +2 -0
- package/dist/esm/client/core.mjs.map +1 -0
- package/dist/esm/client/get.d.ts +55 -0
- package/dist/esm/client/get.mjs +2 -0
- package/dist/esm/client/get.mjs.map +1 -0
- package/dist/esm/client/index.d.ts +11 -0
- package/dist/esm/client/index.mjs +2 -0
- package/dist/esm/client/index.mjs.map +1 -0
- package/dist/esm/client/post.d.ts +60 -0
- package/dist/esm/client/post.mjs +2 -0
- package/dist/esm/client/post.mjs.map +1 -0
- package/dist/esm/client/types.d.ts +46 -0
- package/dist/esm/client/types.mjs +2 -0
- package/dist/esm/client/types.mjs.map +1 -0
- package/dist/esm/core/account.d.ts +184 -0
- package/dist/esm/core/account.mjs +2 -0
- package/dist/esm/core/account.mjs.map +1 -0
- package/dist/esm/core/accountAddress.d.ts +244 -0
- package/dist/esm/core/accountAddress.mjs +2 -0
- package/dist/esm/core/accountAddress.mjs.map +1 -0
- package/dist/esm/core/authenticationKey.d.ts +74 -0
- package/dist/esm/core/authenticationKey.mjs +2 -0
- package/dist/esm/core/authenticationKey.mjs.map +1 -0
- package/dist/esm/core/common.d.ts +32 -0
- package/dist/esm/core/common.mjs +2 -0
- package/dist/esm/core/common.mjs.map +1 -0
- package/dist/esm/core/crypto/anyPublicKey.d.ts +54 -0
- package/dist/esm/core/crypto/anyPublicKey.mjs +2 -0
- package/dist/esm/core/crypto/anyPublicKey.mjs.map +1 -0
- package/dist/esm/core/crypto/anySignature.d.ts +31 -0
- package/dist/esm/core/crypto/anySignature.mjs +2 -0
- package/dist/esm/core/crypto/anySignature.mjs.map +1 -0
- package/dist/esm/core/crypto/asymmetricCrypto.d.ts +74 -0
- package/dist/esm/core/crypto/asymmetricCrypto.mjs +2 -0
- package/dist/esm/core/crypto/asymmetricCrypto.mjs.map +1 -0
- package/dist/esm/core/crypto/ed25519.d.ts +173 -0
- package/dist/esm/core/crypto/ed25519.mjs +2 -0
- package/dist/esm/core/crypto/ed25519.mjs.map +1 -0
- package/dist/esm/core/crypto/hdKey.d.ts +65 -0
- package/dist/esm/core/crypto/hdKey.mjs +2 -0
- package/dist/esm/core/crypto/hdKey.mjs.map +1 -0
- package/dist/esm/core/crypto/index.d.ts +17 -0
- package/dist/esm/core/crypto/index.mjs +2 -0
- package/dist/esm/core/crypto/index.mjs.map +1 -0
- package/dist/esm/core/crypto/multiEd25519.d.ts +126 -0
- package/dist/esm/core/crypto/multiEd25519.mjs +2 -0
- package/dist/esm/core/crypto/multiEd25519.mjs.map +1 -0
- package/dist/esm/core/crypto/multiKey.d.ts +52 -0
- package/dist/esm/core/crypto/multiKey.mjs +2 -0
- package/dist/esm/core/crypto/multiKey.mjs.map +1 -0
- package/dist/esm/core/crypto/secp256k1.d.ts +161 -0
- package/dist/esm/core/crypto/secp256k1.mjs +2 -0
- package/dist/esm/core/crypto/secp256k1.mjs.map +1 -0
- package/dist/esm/core/hex.d.ts +105 -0
- package/dist/esm/core/hex.mjs +2 -0
- package/dist/esm/core/hex.mjs.map +1 -0
- package/dist/esm/core/index.d.ts +21 -0
- package/dist/esm/core/index.mjs +2 -0
- package/dist/esm/core/index.mjs.map +1 -0
- package/dist/esm/index.d.ts +60 -5823
- package/dist/esm/index.mjs +1 -5706
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/internal/account.d.ts +143 -0
- package/dist/esm/internal/account.mjs +2 -0
- package/dist/esm/internal/account.mjs.map +1 -0
- package/dist/esm/internal/ans.d.ts +83 -0
- package/dist/esm/internal/ans.mjs +2 -0
- package/dist/esm/internal/ans.mjs.map +1 -0
- package/dist/esm/internal/coin.d.ts +43 -0
- package/dist/esm/internal/coin.mjs +2 -0
- package/dist/esm/internal/coin.mjs.map +1 -0
- package/dist/esm/internal/digitalAsset.d.ts +118 -0
- package/dist/esm/internal/digitalAsset.mjs +2 -0
- package/dist/esm/internal/digitalAsset.mjs.map +1 -0
- package/dist/esm/internal/event.d.ts +45 -0
- package/dist/esm/internal/event.mjs +2 -0
- package/dist/esm/internal/event.mjs.map +1 -0
- package/dist/esm/internal/faucet.d.ts +29 -0
- package/dist/esm/internal/faucet.mjs +2 -0
- package/dist/esm/internal/faucet.mjs.map +1 -0
- package/dist/esm/internal/fungibleAsset.d.ts +38 -0
- package/dist/esm/internal/fungibleAsset.mjs +2 -0
- package/dist/esm/internal/fungibleAsset.mjs.map +1 -0
- package/dist/esm/internal/general.d.ts +60 -0
- package/dist/esm/internal/general.mjs +2 -0
- package/dist/esm/internal/general.mjs.map +1 -0
- package/dist/esm/internal/staking.d.ts +38 -0
- package/dist/esm/internal/staking.mjs +2 -0
- package/dist/esm/internal/staking.mjs.map +1 -0
- package/dist/esm/internal/transaction.d.ts +57 -0
- package/dist/esm/internal/transaction.mjs +2 -0
- package/dist/esm/internal/transaction.mjs.map +1 -0
- package/dist/esm/internal/transactionSubmission.d.ts +148 -0
- package/dist/esm/internal/transactionSubmission.mjs +2 -0
- package/dist/esm/internal/transactionSubmission.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/account.d.ts +79 -0
- package/dist/esm/transactions/authenticator/account.mjs +2 -0
- package/dist/esm/transactions/authenticator/account.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/index.d.ts +19 -0
- package/dist/esm/transactions/authenticator/index.mjs +2 -0
- package/dist/esm/transactions/authenticator/index.mjs.map +1 -0
- package/dist/esm/transactions/authenticator/transaction.d.ts +105 -0
- package/dist/esm/transactions/authenticator/transaction.mjs +2 -0
- package/dist/esm/transactions/authenticator/transaction.mjs.map +1 -0
- package/dist/esm/transactions/index.d.ts +39 -0
- package/dist/esm/transactions/index.mjs +2 -0
- package/dist/esm/transactions/index.mjs.map +1 -0
- package/dist/esm/transactions/instances/chainId.d.ts +21 -0
- package/dist/esm/transactions/instances/chainId.mjs +2 -0
- package/dist/esm/transactions/instances/chainId.mjs.map +1 -0
- package/dist/esm/transactions/instances/identifier.d.ts +23 -0
- package/dist/esm/transactions/instances/identifier.mjs +2 -0
- package/dist/esm/transactions/instances/identifier.mjs.map +1 -0
- package/dist/esm/transactions/instances/index.d.ts +29 -0
- package/dist/esm/transactions/instances/index.mjs +2 -0
- package/dist/esm/transactions/instances/index.mjs.map +1 -0
- package/dist/esm/transactions/instances/moduleId.d.ts +37 -0
- package/dist/esm/transactions/instances/moduleId.mjs +2 -0
- package/dist/esm/transactions/instances/moduleId.mjs.map +1 -0
- package/dist/esm/transactions/instances/rawTransaction.d.ts +98 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/rawTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.d.ts +37 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs +2 -0
- package/dist/esm/transactions/instances/rotationProofChallenge.mjs.map +1 -0
- package/dist/esm/transactions/instances/signedTransaction.d.ts +46 -0
- package/dist/esm/transactions/instances/signedTransaction.mjs +2 -0
- package/dist/esm/transactions/instances/signedTransaction.mjs.map +1 -0
- package/dist/esm/transactions/instances/transactionArgument.d.ts +40 -0
- package/dist/esm/transactions/instances/transactionArgument.mjs +2 -0
- package/dist/esm/transactions/instances/transactionArgument.mjs.map +1 -0
- package/dist/esm/transactions/instances/transactionPayload.d.ts +211 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs +2 -0
- package/dist/esm/transactions/instances/transactionPayload.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/helpers.d.ts +63 -0
- package/dist/esm/transactions/transactionBuilder/helpers.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/helpers.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/index.d.ts +35 -0
- package/dist/esm/transactions/transactionBuilder/index.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/index.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.d.ts +54 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs.map +1 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.ts +128 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +2 -0
- package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs.map +1 -0
- package/dist/esm/transactions/typeTag/index.d.ts +127 -0
- package/dist/esm/transactions/typeTag/index.mjs +2 -0
- package/dist/esm/transactions/typeTag/index.mjs.map +1 -0
- package/dist/esm/transactions/typeTag/parser.d.ts +47 -0
- package/dist/esm/transactions/typeTag/parser.mjs +2 -0
- package/dist/esm/transactions/typeTag/parser.mjs.map +1 -0
- package/dist/esm/transactions/types.d.ts +253 -0
- package/dist/esm/transactions/types.mjs +2 -0
- package/dist/esm/transactions/types.mjs.map +1 -0
- package/dist/esm/types/generated/operations.d.ts +604 -0
- package/dist/esm/types/generated/operations.mjs +1 -0
- package/dist/esm/types/generated/operations.mjs.map +1 -0
- package/dist/esm/types/generated/queries.d.ts +55 -0
- package/dist/esm/types/generated/queries.mjs +2 -0
- package/dist/esm/types/generated/queries.mjs.map +1 -0
- package/dist/esm/types/generated/types.d.ts +9458 -0
- package/dist/esm/types/generated/types.mjs +2 -0
- package/dist/esm/types/generated/types.mjs.map +1 -0
- package/dist/{types → esm/types}/index.d.ts +9 -435
- package/dist/esm/types/index.mjs +2 -0
- package/dist/esm/types/index.mjs.map +1 -0
- package/dist/esm/types/indexer.d.ts +62 -0
- package/dist/esm/types/indexer.mjs +2 -0
- package/dist/esm/types/indexer.mjs.map +1 -0
- package/dist/esm/utils/apiEndpoints.d.ts +14 -0
- package/dist/esm/utils/apiEndpoints.mjs +2 -0
- package/dist/esm/utils/apiEndpoints.mjs.map +1 -0
- package/dist/esm/utils/const.d.ts +42 -0
- package/dist/esm/utils/const.mjs +2 -0
- package/dist/esm/utils/const.mjs.map +1 -0
- package/dist/esm/utils/helpers.d.ts +7 -0
- package/dist/esm/utils/helpers.mjs +2 -0
- package/dist/esm/utils/helpers.mjs.map +1 -0
- package/dist/esm/utils/memoize.d.ts +20 -0
- package/dist/esm/utils/memoize.mjs +2 -0
- package/dist/esm/utils/memoize.mjs.map +1 -0
- package/dist/esm/version.d.ts +8 -0
- package/dist/esm/version.mjs +2 -0
- package/dist/esm/version.mjs.map +1 -0
- package/package.json +15 -12
- package/src/api/transactionSubmission.ts +14 -2
- package/src/bcs/serializable/moveStructs.ts +8 -4
- package/src/client/core.ts +6 -4
- package/src/core/account.ts +7 -4
- package/src/internal/ans.ts +2 -4
- package/src/internal/event.ts +1 -1
- package/src/internal/queries/getEvents.graphql +1 -0
- package/src/internal/transactionSubmission.ts +7 -1
- package/src/transactions/transactionBuilder/remoteAbi.ts +1 -1
- package/src/transactions/transactionBuilder/transactionBuilder.ts +0 -4
- package/src/transactions/types.ts +4 -4
- package/src/types/generated/operations.ts +19 -18
- package/src/types/generated/queries.ts +20 -19
- package/src/types/generated/types.ts +6 -0
- package/src/types/index.ts +4 -2
- package/dist/cjs/index.js +0 -5901
- package/dist/cjs/index.js.map +0 -1
- package/dist/types/index.js +0 -176
- package/dist/types/index.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as d}from"./chunk-6FBKUTGF.mjs";import{a as R}from"./chunk-FYIFBLHU.mjs";var p={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",429:"Too Many Requests",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable"};async function l(r,a){let{url:o,method:u,body:i,contentType:e,params:s,overrides:t}=r,n={...t?.HEADERS,"x-aptos-client":`aptos-ts-sdk/${R}`,"content-type":e??"application/json"};return t?.AUTH_TOKEN&&o.includes("faucet")&&(n.Authorization=`Bearer ${t?.AUTH_TOKEN}`),a.provider({url:o,method:u,body:i,params:s,headers:n,overrides:t})}async function E(r,a){let{url:o,path:u}=r,i=`${o}/${u??""}`,e=await l({...r,url:i},a.client),s={status:e.status,statusText:e.statusText,data:e.data,headers:e.headers,config:e.config,request:e.request,url:i};if(a.isIndexerRequest(o)){let n=s.data;if(n.errors)throw new d(r,s,n.errors[0].message??`Unhandled Error ${e.status} : ${e.statusText}`);s.data=n.data}if(s.status>=200&&s.status<300)return s;let t;throw"message"in e.data&&"error_code"in e.data?t=JSON.stringify(e.data):s.status in p?t=p[s.status]:t=`Unhandled Error ${e.status} : ${e.statusText}`,new d(r,s,t)}export{l as a,E as b};
|
|
2
|
+
//# sourceMappingURL=chunk-2MQZUGO6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { AptosApiError, AptosResponse } from \"./types\";\nimport { VERSION } from \"../version\";\nimport { AptosRequest, MimeType, ClientRequest, ClientResponse, Client, AnyNumber } from \"../types\";\n\n/**\n * Meaningful errors map\n */\nconst errors: Record<number, string> = {\n 400: \"Bad Request\",\n 401: \"Unauthorized\",\n 403: \"Forbidden\",\n 404: \"Not Found\",\n 429: \"Too Many Requests\",\n 500: \"Internal Server Error\",\n 502: \"Bad Gateway\",\n 503: \"Service Unavailable\",\n};\n\n/**\n * Given a url and method, sends the request with axios and\n * returns the response.\n */\nexport async function request<Req, Res>(options: ClientRequest<Req>, client: Client): Promise<ClientResponse<Res>> {\n const { url, method, body, contentType, params, overrides } = options;\n const headers: Record<string, string | AnyNumber | boolean | undefined> = {\n ...overrides?.HEADERS,\n \"x-aptos-client\": `aptos-ts-sdk/${VERSION}`,\n \"content-type\": contentType ?? MimeType.JSON,\n };\n\n // TODO - auth token is being used only for faucet, it breaks full node requests.\n // Find a more sophisticated way than that but without the need to add the\n // auth_token on every `aptos.fundAccount()` call\n if (overrides?.AUTH_TOKEN && url.includes(\"faucet\")) {\n headers.Authorization = `Bearer ${overrides?.AUTH_TOKEN}`;\n }\n\n /*\n * make a call using the @aptos-labs/aptos-client package\n * {@link https://www.npmjs.com/package/@aptos-labs/aptos-client}\n */\n return client.provider<Req, Res>({\n url,\n method,\n body,\n params,\n headers,\n overrides,\n });\n}\n\n/**\n * The main function to use when doing an API request.\n *\n * @param options AptosRequest\n * @param aptosConfig The config information for the SDK client instance\n * @returns the response or AptosApiError\n */\nexport async function aptosRequest<Req, Res>(\n options: AptosRequest,\n aptosConfig: AptosConfig,\n): Promise<AptosResponse<Req, Res>> {\n const { url, path } = options;\n const fullUrl = `${url}/${path ?? \"\"}`;\n const response = await request<Req, Res>({ ...options, url: fullUrl }, aptosConfig.client);\n\n const result: AptosResponse<Req, Res> = {\n status: response.status,\n statusText: response.statusText!,\n data: response.data,\n headers: response.headers,\n config: response.config,\n request: response.request,\n url: fullUrl,\n };\n\n // to support both fullnode and indexer responses,\n // check if it is an indexer query, and adjust response.data\n if (aptosConfig.isIndexerRequest(url)) {\n const indexerResponse = result.data as any;\n // errors from indexer\n if (indexerResponse.errors) {\n throw new AptosApiError(\n options,\n result,\n indexerResponse.errors[0].message ?? `Unhandled Error ${response.status} : ${response.statusText}`,\n );\n }\n result.data = indexerResponse.data as Res;\n }\n\n if (result.status >= 200 && result.status < 300) {\n return result;\n }\n\n let errorMessage: string;\n\n // If it is the shape of an AptosApiError, convert it properly\n if (\"message\" in response.data && \"error_code\" in response.data) {\n errorMessage = JSON.stringify(response.data);\n } else if (result.status in errors) {\n // If it's not an API type, it must come form infra, these are prehandled\n errorMessage = errors[result.status];\n } else {\n // Everything else is unhandled\n errorMessage = `Unhandled Error ${response.status} : ${response.statusText}`;\n }\n\n throw new AptosApiError(options, result, errorMessage);\n}\n"],"mappings":"kFAWA,IAAMA,EAAiC,CACrC,IAAK,cACL,IAAK,eACL,IAAK,YACL,IAAK,YACL,IAAK,oBACL,IAAK,wBACL,IAAK,cACL,IAAK,qBACP,EAMA,eAAsBC,EAAkBC,EAA6BC,EAA8C,CACjH,GAAM,CAAE,IAAAC,EAAK,OAAAC,EAAQ,KAAAC,EAAM,YAAAC,EAAa,OAAAC,EAAQ,UAAAC,CAAU,EAAIP,EACxDQ,EAAoE,CACxE,GAAGD,GAAW,QACd,iBAAkB,gBAAgBE,IAClC,eAAgBJ,qBAClB,EAKA,OAAIE,GAAW,YAAcL,EAAI,SAAS,QAAQ,IAChDM,EAAQ,cAAgB,UAAUD,GAAW,cAOxCN,EAAO,SAAmB,CAC/B,IAAAC,EACA,OAAAC,EACA,KAAAC,EACA,OAAAE,EACA,QAAAE,EACA,UAAAD,CACF,CAAC,CACH,CASA,eAAsBG,EACpBV,EACAW,EACkC,CAClC,GAAM,CAAE,IAAAT,EAAK,KAAAU,CAAK,EAAIZ,EAChBa,EAAU,GAAGX,KAAOU,GAAQ,KAC5BE,EAAW,MAAMf,EAAkB,CAAE,GAAGC,EAAS,IAAKa,CAAQ,EAAGF,EAAY,MAAM,EAEnFI,EAAkC,CACtC,OAAQD,EAAS,OACjB,WAAYA,EAAS,WACrB,KAAMA,EAAS,KACf,QAASA,EAAS,QAClB,OAAQA,EAAS,OACjB,QAASA,EAAS,QAClB,IAAKD,CACP,EAIA,GAAIF,EAAY,iBAAiBT,CAAG,EAAG,CACrC,IAAMc,EAAkBD,EAAO,KAE/B,GAAIC,EAAgB,OAClB,MAAM,IAAIC,EACRjB,EACAe,EACAC,EAAgB,OAAO,GAAG,SAAW,mBAAmBF,EAAS,YAAYA,EAAS,YACxF,EAEFC,EAAO,KAAOC,EAAgB,IAChC,CAEA,GAAID,EAAO,QAAU,KAAOA,EAAO,OAAS,IAC1C,OAAOA,EAGT,IAAIG,EAGJ,KAAI,YAAaJ,EAAS,MAAQ,eAAgBA,EAAS,KACzDI,EAAe,KAAK,UAAUJ,EAAS,IAAI,EAClCC,EAAO,UAAUjB,EAE1BoB,EAAepB,EAAOiB,EAAO,QAG7BG,EAAe,mBAAmBJ,EAAS,YAAYA,EAAS,aAG5D,IAAIG,EAAcjB,EAASe,EAAQG,CAAY,CACvD","names":["errors","request","options","client","url","method","body","contentType","params","overrides","headers","VERSION","aptosRequest","aptosConfig","path","fullUrl","response","result","indexerResponse","AptosApiError","errorMessage"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/helpers.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\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"],"mappings":"AAOA,eAAsBA,EAAMC,EAA+B,CACzD,OAAO,IAAI,QAASC,GAAY,CAC9B,WAAWA,EAASD,CAAM,CAC5B,CAAC,CACH","names":["sleep","timeMs","resolve"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as r}from"./chunk-HH5RSP2H.mjs";import{a as i}from"./chunk-V6AAQLLJ.mjs";import{b as m}from"./chunk-7AQXAH6Q.mjs";import{a as o,b as u,c as s,d as c,e as p,f as a,g as y}from"./chunk-PDLUCVJB.mjs";function A(n){return typeof n=="boolean"}function F(n){return typeof n=="string"}function d(n){return typeof n=="number"}function E(n){return typeof n=="number"||typeof n=="bigint"||typeof n=="string"}function x(n){return n==null}function S(n){return n instanceof o}function B(n){return n instanceof r}function U(n){return n instanceof m}function b(n){return n instanceof i}function I(n){return n instanceof u}function h(n){return n instanceof s}function v(n){return n instanceof c}function D(n){return n instanceof p}function M(n){return n instanceof a}function N(n){return n instanceof y}function P(n){return"bytecode"in n}function w(n,t){throw new Error(`Type mismatch for argument ${t}, expected '${n}'`)}function G(n){let t=n.params.findIndex(e=>e!=="signer"&&e!=="&signer");return t<0?n.params.length:t}function $(n){let t=n.split("::");if(t.length!==3)throw new Error(`Invalid function ${n}`);let e=t[0],g=t[1],f=t[2];return{moduleAddress:e,moduleName:g,functionName:f}}export{A as a,F as b,d as c,E as d,x as e,S as f,B as g,U as h,b as i,I as j,h as k,v as l,D as m,M as n,N as o,P as p,w as q,G as r,$ as s};
|
|
2
|
+
//# sourceMappingURL=chunk-3OJN4I42.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/transactionBuilder/helpers.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n EntryFunctionArgumentTypes,\n InputGenerateTransactionPayloadData,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputScriptData,\n SimpleEntryFunctionArgumentTypes,\n} from \"../types\";\nimport { Bool, FixedBytes, MoveString, U128, U16, U256, U32, U64, U8 } from \"../../bcs\";\nimport { AccountAddress } from \"../../core\";\nimport { MoveFunction, MoveStructType } from \"../../types\";\n\nexport function isBool(arg: SimpleEntryFunctionArgumentTypes): arg is boolean {\n return typeof arg === \"boolean\";\n}\n\nexport function isString(arg: any): arg is string {\n return typeof arg === \"string\";\n}\n\nexport function isNumber(arg: SimpleEntryFunctionArgumentTypes): arg is number {\n return typeof arg === \"number\";\n}\n\nexport function isLargeNumber(arg: SimpleEntryFunctionArgumentTypes): arg is number | bigint | string {\n return typeof arg === \"number\" || typeof arg === \"bigint\" || typeof arg === \"string\";\n}\n\nexport function isNull(arg: SimpleEntryFunctionArgumentTypes): arg is null | undefined {\n return arg === null || arg === undefined;\n}\n\nexport function isBcsBool(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is Bool {\n return arg instanceof Bool;\n}\nexport function isBcsAddress(\n arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes,\n): arg is AccountAddress {\n return arg instanceof AccountAddress;\n}\nexport function isBcsString(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is MoveString {\n return arg instanceof MoveString;\n}\nexport function isBcsFixedBytes(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is FixedBytes {\n return arg instanceof FixedBytes;\n}\n\nexport function isBcsU8(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U8 {\n return arg instanceof U8;\n}\nexport function isBcsU16(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U16 {\n return arg instanceof U16;\n}\nexport function isBcsU32(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U32 {\n return arg instanceof U32;\n}\nexport function isBcsU64(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U64 {\n return arg instanceof U64;\n}\nexport function isBcsU128(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U128 {\n return arg instanceof U128;\n}\nexport function isBcsU256(arg: EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes): arg is U256 {\n return arg instanceof U256;\n}\n\nexport function isScriptDataInput(\n arg: InputGenerateTransactionPayloadDataWithRemoteABI | InputGenerateTransactionPayloadData,\n): arg is InputScriptData {\n return \"bytecode\" in arg;\n}\n\nexport function throwTypeMismatch(expectedType: string, position: number) {\n throw new Error(`Type mismatch for argument ${position}, expected '${expectedType}'`);\n}\n\n/**\n * Finds first non-signer arg.\n *\n * A function is often defined with a `signer` or `&signer` arguments at the start, which are filled in\n * by signatures, and not by the caller.\n * @param functionAbi\n */\nexport function findFirstNonSignerArg(functionAbi: MoveFunction): number {\n const index = functionAbi.params.findIndex((param) => param !== \"signer\" && param !== \"&signer\");\n if (index < 0) {\n return functionAbi.params.length;\n }\n return index;\n}\n\nexport function getFunctionParts(functionArg: MoveStructType) {\n const funcNameParts = functionArg.split(\"::\");\n if (funcNameParts.length !== 3) {\n throw new Error(`Invalid function ${functionArg}`);\n }\n const moduleAddress = funcNameParts[0];\n const moduleName = funcNameParts[1];\n const functionName = funcNameParts[2];\n return { moduleAddress, moduleName, functionName };\n}\n"],"mappings":"8MAcO,SAASA,EAAOC,EAAuD,CAC5E,OAAO,OAAOA,GAAQ,SACxB,CAEO,SAASC,EAASD,EAAyB,CAChD,OAAO,OAAOA,GAAQ,QACxB,CAEO,SAASE,EAASF,EAAsD,CAC7E,OAAO,OAAOA,GAAQ,QACxB,CAEO,SAASG,EAAcH,EAAwE,CACpG,OAAO,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,UAAY,OAAOA,GAAQ,QAC9E,CAEO,SAASI,EAAOJ,EAAgE,CACrF,OAAOA,GAAQ,IACjB,CAEO,SAASK,EAAUL,EAAiF,CACzG,OAAOA,aAAeM,CACxB,CACO,SAASC,EACdP,EACuB,CACvB,OAAOA,aAAeQ,CACxB,CACO,SAASC,EAAYT,EAAuF,CACjH,OAAOA,aAAeU,CACxB,CACO,SAASC,EAAgBX,EAAuF,CACrH,OAAOA,aAAeY,CACxB,CAEO,SAASC,EAAQb,EAA+E,CACrG,OAAOA,aAAec,CACxB,CACO,SAASC,EAASf,EAAgF,CACvG,OAAOA,aAAegB,CACxB,CACO,SAASC,EAASjB,EAAgF,CACvG,OAAOA,aAAekB,CACxB,CACO,SAASC,EAASnB,EAAgF,CACvG,OAAOA,aAAeoB,CACxB,CACO,SAASC,EAAUrB,EAAiF,CACzG,OAAOA,aAAesB,CACxB,CACO,SAASC,EAAUvB,EAAiF,CACzG,OAAOA,aAAewB,CACxB,CAEO,SAASC,EACdzB,EACwB,CACxB,MAAO,aAAcA,CACvB,CAEO,SAAS0B,EAAkBC,EAAsBC,EAAkB,CACxE,MAAM,IAAI,MAAM,8BAA8BA,gBAAuBD,IAAe,CACtF,CASO,SAASE,EAAsBC,EAAmC,CACvE,IAAMC,EAAQD,EAAY,OAAO,UAAWE,GAAUA,IAAU,UAAYA,IAAU,SAAS,EAC/F,OAAID,EAAQ,EACHD,EAAY,OAAO,OAErBC,CACT,CAEO,SAASE,EAAiBC,EAA6B,CAC5D,IAAMC,EAAgBD,EAAY,MAAM,IAAI,EAC5C,GAAIC,EAAc,SAAW,EAC3B,MAAM,IAAI,MAAM,oBAAoBD,GAAa,EAEnD,IAAME,EAAgBD,EAAc,GAC9BE,EAAaF,EAAc,GAC3BG,EAAeH,EAAc,GACnC,MAAO,CAAE,cAAAC,EAAe,WAAAC,EAAY,aAAAC,CAAa,CACnD","names":["isBool","arg","isString","isNumber","isLargeNumber","isNull","isBcsBool","Bool","isBcsAddress","AccountAddress","isBcsString","MoveString","isBcsFixedBytes","FixedBytes","isBcsU8","U8","isBcsU16","U16","isBcsU32","U32","isBcsU64","U64","isBcsU128","U128","isBcsU256","U256","isScriptDataInput","throwTypeMismatch","expectedType","position","findFirstNonSignerArg","functionAbi","index","param","getFunctionParts","functionArg","funcNameParts","moduleAddress","moduleName","functionName"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,b as r,c as s,d as o,e as i,f as c,g as u}from"./chunk-7TL2MY2B.mjs";var p=class{constructor(n){this.config=n}async generateTransaction(n){return e({aptosConfig:this.config,...n})}signTransaction(n){let{signer:a,transaction:t,asFeePayer:g}=n;return g&&(t.feePayerAddress=a.accountAddress),r({signer:a,transaction:t})}async simulateTransaction(n){return s({aptosConfig:this.config,...n})}async submitTransaction(n){return o({aptosConfig:this.config,...n})}async signAndSubmitTransaction(n){let{signer:a,transaction:t}=n;return i({aptosConfig:this.config,signer:a,transaction:t})}async publishPackageTransaction(n){return c({aptosConfig:this.config,...n})}async rotateAuthKey(n){return u({aptosConfig:this.config,...n})}};export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3YOV42H5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/api/transactionSubmission.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"./aptosConfig\";\nimport { Account, AccountAddressInput, PrivateKey } from \"../core\";\nimport { AccountAuthenticator } from \"../transactions/authenticator/account\";\nimport {\n AnyRawTransaction,\n InputFeePayerTransaction,\n InputGenerateMultiAgentRawTransactionData,\n InputGenerateTransactionData,\n InputGenerateFeePayerRawTransactionData,\n InputGenerateSingleSignerRawTransactionData,\n InputMultiAgentTransaction,\n InputSingleSignerTransaction,\n InputSimulateTransactionData,\n InputGenerateTransactionOptions,\n InputSubmitTransactionData,\n} from \"../transactions/types\";\nimport { UserTransactionResponse, PendingTransactionResponse, HexInput, TransactionResponse } from \"../types\";\nimport {\n generateTransaction,\n publicPackageTransaction,\n rotateAuthKey,\n signAndSubmitTransaction,\n signTransaction,\n simulateTransaction,\n submitTransaction,\n} from \"../internal/transactionSubmission\";\n\nexport class TransactionSubmission {\n readonly config: AptosConfig;\n\n constructor(config: AptosConfig) {\n this.config = config;\n }\n\n /**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for `generateTransaction` function.\n * When we call `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\n async generateTransaction(args: InputGenerateSingleSignerRawTransactionData): Promise<InputSingleSignerTransaction>;\n async generateTransaction(args: InputGenerateFeePayerRawTransactionData): Promise<InputFeePayerTransaction>;\n async generateTransaction(args: InputGenerateMultiAgentRawTransactionData): Promise<InputMultiAgentTransaction>;\n async generateTransaction(args: InputGenerateTransactionData): Promise<AnyRawTransaction>;\n\n /**\n * Generates any transaction by passing in the required arguments\n *\n * @param args.sender The transaction sender's account address as a AccountAddressInput\n * @param args.data EntryFunctionData | ScriptData | MultiSigData\n * @param args.feePayerAddress optional. For a fee payer (aka sponsored) transaction\n * @param args.secondarySignerAddresses optional. For a multi-agent or fee payer (aka sponsored) transactions\n * @param args.options optional. GenerateTransactionOptions type\n *\n * @example\n * For a single signer entry function\n * move function name, move function type arguments, move function arguments\n * `\n * data: {\n * function: \"0x1::aptos_account::transfer\",\n * typeArguments: []\n * functionArguments: [receiverAddress,10]\n * }\n * `\n *\n * @example\n * For a single signer script function\n * module bytecode, move function type arguments, move function arguments\n * ```\n * data: {\n * bytecode: \"0x001234567\",\n * typeArguments: [],\n * functionArguments: [receiverAddress,10]\n * }\n * ```\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\n async generateTransaction(args: InputGenerateTransactionData): Promise<AnyRawTransaction> {\n return generateTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * @param args.asFeePayer optional. If the signer is also the fee payer\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n *\n * @return The signer AccountAuthenticator\n */\n /* eslint-disable class-methods-use-this */\n signTransaction(args: {\n signer: Account;\n transaction: AnyRawTransaction;\n asFeePayer?: boolean;\n }): AccountAuthenticator {\n const { signer, transaction, asFeePayer } = args;\n if (asFeePayer) {\n transaction.feePayerAddress = signer.accountAddress;\n }\n return signTransaction({\n signer,\n transaction,\n });\n }\n\n /**\n * Simulates a transaction before singing it.\n *\n * @param args.signerPublicKey The signer public key\n * @param args.transaction The raw transaction to simulate\n * @param args.secondarySignersPublicKeys optional. For when the transaction is a multi signers transaction\n * @param args.feePayerPublicKey optional. For when the transaction is a fee payer (aka sponsored) transaction\n * @param args.options optional. A config to simulate the transaction with\n */\n async simulateTransaction(args: InputSimulateTransactionData): Promise<Array<UserTransactionResponse>> {\n return simulateTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Submit transaction to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @return PendingTransactionResponse\n */\n async submitTransaction(args: InputSubmitTransactionData): Promise<PendingTransactionResponse> {\n return submitTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Sign and submit a single signer transaction to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n *\n * @return PendingTransactionResponse\n */\n async signAndSubmitTransaction(args: {\n signer: Account;\n transaction: AnyRawTransaction;\n }): Promise<PendingTransactionResponse> {\n const { signer, transaction } = args;\n return signAndSubmitTransaction({\n aptosConfig: this.config,\n signer,\n transaction,\n });\n }\n\n /**\n * Generates a transaction to publish a move package to chain.\n *\n * To get the `metadataBytes` and `byteCode`, can compile using Aptos CLI with command\n * `aptos move compile --save-metadata ...`,\n * For more info {@link https://aptos.dev/tutorials/your-first-dapp/#step-4-publish-a-move-module}\n *\n * @param args.account The publisher account\n * @param args.metadataBytes The package metadata bytes\n * @param args.moduleBytecode An array of the bytecode of each module in the package in compiler output order\n *\n * @returns A SingleSignerTransaction that can be simulated or submitted to chain\n */\n async publishPackageTransaction(args: {\n account: AccountAddressInput;\n metadataBytes: HexInput;\n moduleBytecode: Array<HexInput>;\n options?: InputGenerateTransactionOptions;\n }): Promise<InputSingleSignerTransaction> {\n return publicPackageTransaction({ aptosConfig: this.config, ...args });\n }\n\n /**\n * Rotate an account's auth key. After rotation, only the new private key can be used to sign txns for\n * the account.\n * Note: Only legacy Ed25519 scheme is supported for now.\n * More info: {@link https://aptos.dev/guides/account-management/key-rotation/}\n * @param args.fromAccount The account to rotate the auth key for\n * @param args.toNewPrivateKey The new private key to rotate to\n *\n * @returns PendingTransactionResponse\n */\n async rotateAuthKey(args: { fromAccount: Account; toNewPrivateKey: PrivateKey }): Promise<TransactionResponse> {\n return rotateAuthKey({ aptosConfig: this.config, ...args });\n }\n}\n"],"mappings":"mFA8BO,IAAMA,EAAN,KAA4B,CAGjC,YAAYC,EAAqB,CAC/B,KAAK,OAASA,CAChB,CAqDA,MAAM,oBAAoBC,EAAgE,CACxF,OAAOC,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGD,CAAK,CAAC,CAClE,CAmBA,gBAAgBA,EAIS,CACvB,GAAM,CAAE,OAAAE,EAAQ,YAAAC,EAAa,WAAAC,CAAW,EAAIJ,EAC5C,OAAII,IACFD,EAAY,gBAAkBD,EAAO,gBAEhCG,EAAgB,CACrB,OAAAH,EACA,YAAAC,CACF,CAAC,CACH,CAWA,MAAM,oBAAoBH,EAA6E,CACrG,OAAOM,EAAoB,CAAE,YAAa,KAAK,OAAQ,GAAGN,CAAK,CAAC,CAClE,CAWA,MAAM,kBAAkBA,EAAuE,CAC7F,OAAOO,EAAkB,CAAE,YAAa,KAAK,OAAQ,GAAGP,CAAK,CAAC,CAChE,CAiBA,MAAM,yBAAyBA,EAGS,CACtC,GAAM,CAAE,OAAAE,EAAQ,YAAAC,CAAY,EAAIH,EAChC,OAAOQ,EAAyB,CAC9B,YAAa,KAAK,OAClB,OAAAN,EACA,YAAAC,CACF,CAAC,CACH,CAeA,MAAM,0BAA0BH,EAKU,CACxC,OAAOS,EAAyB,CAAE,YAAa,KAAK,OAAQ,GAAGT,CAAK,CAAC,CACvE,CAYA,MAAM,cAAcA,EAA2F,CAC7G,OAAOU,EAAc,CAAE,YAAa,KAAK,OAAQ,GAAGV,CAAK,CAAC,CAC5D,CACF","names":["TransactionSubmission","config","args","generateTransaction","signer","transaction","asFeePayer","signTransaction","simulateTransaction","submitTransaction","signAndSubmitTransaction","publicPackageTransaction","rotateAuthKey"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-4WPQQPUF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client/types.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosRequest } from \"../types\";\n\n/**\n * The API response type\n *\n * @param status - the response status. i.e. 200\n * @param statusText - the response message\n * @param data the response data\n * @param url the url the request was made to\n * @param headers the response headers\n * @param config (optional) - the request object\n * @param request (optional) - the request object\n */\nexport interface AptosResponse<Req, Res> {\n status: number;\n statusText: string;\n data: Res;\n url: string;\n headers: any;\n config?: any;\n request?: Req;\n}\n\n/**\n * The type returned from an API error\n *\n * @param name - the error name \"AptosApiError\"\n * @param url the url the request was made to\n * @param status - the response status. i.e. 400\n * @param statusText - the response message\n * @param data the response data\n * @param request - the AptosRequest\n */\nexport class AptosApiError extends Error {\n readonly url: string;\n\n readonly status: number;\n\n readonly statusText: string;\n\n readonly data: any;\n\n readonly request: AptosRequest;\n\n constructor(request: AptosRequest, response: AptosResponse<any, any>, message: string) {\n super(message);\n\n this.name = \"AptosApiError\";\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.data = response.data;\n this.request = request;\n }\n}\n"],"mappings":"AAoCO,IAAMA,EAAN,cAA4B,KAAM,CAWvC,YAAYC,EAAuBC,EAAmCC,EAAiB,CACrF,MAAMA,CAAO,EAEb,KAAK,KAAO,gBACZ,KAAK,IAAMD,EAAS,IACpB,KAAK,OAASA,EAAS,OACvB,KAAK,WAAaA,EAAS,WAC3B,KAAK,KAAOA,EAAS,KACrB,KAAK,QAAUD,CACjB,CACF","names":["AptosApiError","request","response","message"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as nn,b as tn,c as en}from"./chunk-WVMDCC4V.mjs";import{p as D,s as M}from"./chunk-3OJN4I42.mjs";import{a as d}from"./chunk-KNLMUSIO.mjs";import{b as E,d as _,e as F,f as B}from"./chunk-ADR4XQPR.mjs";import{a as I,c as l,d as T}from"./chunk-WGXAIQ7K.mjs";import{c as X,d as j,e as J,f as Q,g as V,h as Y,i as Z}from"./chunk-DXUIJ6KA.mjs";import{a as H}from"./chunk-UQIOMAXE.mjs";import{b as f,d as g,e as L}from"./chunk-JTGGMXB7.mjs";import{a as h}from"./chunk-IPJKGHQY.mjs";import{b as z}from"./chunk-ZT2A5ABR.mjs";import{a as q}from"./chunk-O243HOP3.mjs";import{a as O}from"./chunk-AH44UPM4.mjs";import{a as v}from"./chunk-MIBLZSNS.mjs";import{a as k}from"./chunk-UVGCVCNG.mjs";import{a as w,c as P}from"./chunk-BIUGRAMO.mjs";import{a as W,c as K}from"./chunk-YS2OX7AB.mjs";import{b as y}from"./chunk-HH5RSP2H.mjs";import{a as N}from"./chunk-BC2NOUYT.mjs";import{b as $}from"./chunk-IZHPCZE3.mjs";import{c as G,d as U,g as C,h as x}from"./chunk-KC64ESLO.mjs";import{e as b}from"./chunk-LV33NV4J.mjs";import{sha3_256 as on}from"@noble/hashes/sha3";async function Cn(n){if(D(n))return an(n);let{moduleAddress:e,moduleName:t,functionName:r}=M(n.function),a=await O(async()=>tn(e,t,r,n.aptosConfig),`entry-function-${n.aptosConfig.network}-${e}-${t}-${r}`,1e3*60*5)();return sn(n,a)}function sn(n,e){if(D(n))return an(n);let{moduleAddress:t,moduleName:r,functionName:a}=M(n.function),o=nn(n.typeArguments);if(o.length!==e.typeParameters.length)throw new Error(`Type argument count mismatch, expected ${e.typeParameters.length}, received ${o.length}`);let i=n.functionArguments.map((c,u)=>en(n.function,e,c,u,o));if(i.length!==e.parameters.length)throw new Error(`Too few arguments for '${t}::${r}::${a}', expected ${e.parameters.length} but got ${i.length}`);let s=Q.build(`${t}::${r}`,a,o,i);if("multisigAddress"in n){let c;return typeof n.multisigAddress=="string"?c=y.from(n.multisigAddress):c=n.multisigAddress,new J(new Y(c,new Z(s)))}return new j(s)}function an(n){return new X(new V($.fromHexInput(n.bytecode).toUint8Array(),n.typeArguments??[],n.functionArguments))}async function cn(n){let{aptosConfig:e,sender:t,payload:r,options:a}=n,o=a?.accountSequenceNumber?Promise.resolve({sequence_number:a.accountSequenceNumber}):q({aptosConfig:e,accountAddress:t}),i=b[e.network]?Promise.resolve({chain_id:b[e.network]}):v({aptosConfig:e}),s=a?.gasUnitPrice?Promise.resolve({gas_estimate:a.gasUnitPrice}):z({aptosConfig:e}),[{sequence_number:c},{chain_id:u},{gas_estimate:A}]=await Promise.all([o,i,s]),{maxGasAmount:p,gasUnitPrice:m,expireTimestamp:R}={maxGasAmount:BigInt(G),gasUnitPrice:BigInt(A),expireTimestamp:BigInt(Math.floor(Date.now()/1e3)+U),...a};return new I(y.fromRelaxed(t),BigInt(c),r,BigInt(p),BigInt(m),BigInt(R),new H(u))}async function $n(n){let{aptosConfig:e,sender:t,payload:r,options:a,secondarySignerAddresses:o,feePayerAddress:i}=n,s=await cn({aptosConfig:e,sender:t,payload:r,options:a});if(i){let c=o?o.map(u=>y.fromRelaxed(u)):[];return{rawTransaction:s,secondarySignerAddresses:c,feePayerAddress:y.fromRelaxed(i)}}if(o){let c=o.map(u=>y.fromRelaxed(u));return{rawTransaction:s,secondarySignerAddresses:c}}return{rawTransaction:s}}function Nn(n){let{signerPublicKey:e,transaction:t,secondarySignersPublicKeys:r,feePayerPublicKey:a}=n,o=new N(t.rawTransaction.bcsToBytes()),i=I.deserialize(o),s=S(e);if(t.feePayerAddress){let u=new T(i,t.secondarySignerAddresses??[],t.feePayerAddress),A=[];r&&(A=r.map(R=>S(R)));let p=S(a),m=new F(s,t.secondarySignerAddresses??[],A,{address:t.feePayerAddress,authenticator:p});return new d(u.raw_txn,m).bcsToBytes()}if(t.secondarySignerAddresses){let u=new l(i,t.secondarySignerAddresses),A=[];A=r.map(m=>S(m));let p=new _(s,t.secondarySignerAddresses,A);return new d(u.raw_txn,p).bcsToBytes()}let c;if(s instanceof f)c=new E(s.public_key,s.signature);else if(s instanceof g)c=new B(s);else throw new Error("Invalid public key");return new d(i,c).bcsToBytes()}function S(n){if(n instanceof k){if(n.publicKey instanceof w)return new g(n,new h(new P(new Uint8Array(64))));if(n.publicKey instanceof W)return new g(n,new h(new K(new Uint8Array(64))))}return new f(new w(n.toUint8Array()),new P(new Uint8Array(64)))}function Wn(n){let{signer:e,transaction:t}=n,r=rn(t),a=dn(r),o=e.sign(a);switch(e.signingScheme){case 0:return new f(new w(e.publicKey.toUint8Array()),new P(o.toUint8Array()));case 2:return new g(e.publicKey,new h(o));default:throw new Error(`Cannot sign transaction, signing scheme ${e.signingScheme} not supported`)}}function Kn(n){let{transaction:e,senderAuthenticator:t,feePayerAuthenticator:r,additionalSignersAuthenticators:a}=n,o=rn(e);if(r||a)return un(o,t,r,a);if(t instanceof f){let i=new E(t.public_key,t.signature);return new d(o,i).bcsToBytes()}if(t instanceof g||t instanceof L){let i=new B(t);return new d(o,i).bcsToBytes()}throw new Error(`Cannot generate a signed transaction, ${t} is not a supported account authentication scheme`)}function rn(n){return n.feePayerAddress?new T(n.rawTransaction,n.secondarySignerAddresses??[],n.feePayerAddress):n.secondarySignerAddresses?new l(n.rawTransaction,n.secondarySignerAddresses):n.rawTransaction}function un(n,e,t,r){if(n instanceof T){if(!t)throw new Error("Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction");let a=new F(e,n.secondary_signer_addresses,r??[],{address:n.fee_payer_address,authenticator:t});return new d(n.raw_txn,a).bcsToBytes()}if(n instanceof l){if(!r)throw new Error("Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction");let a=new _(e,n.secondary_signer_addresses,r??[]);return new d(n.raw_txn,a).bcsToBytes()}throw new Error(`Cannot prepare multi signers transaction to submission, ${typeof n} transaction is not supported`)}function dn(n){let e=on.create();if(n instanceof I)e.update(C);else if(n instanceof l)e.update(x);else if(n instanceof T)e.update(x);else throw new Error(`Unknown transaction type to sign on: ${n}`);let t=e.digest(),r=n.bcsToBytes(),a=new Uint8Array(t.length+r.length);return a.set(t),a.set(r,t.length),a}export{Cn as a,sn as b,cn as c,$n as d,Nn as e,S as f,Wn as g,Kn as h,rn as i,un as j,dn as k};
|
|
2
|
+
//# sourceMappingURL=chunk-7AIV5FEN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/transactionBuilder/transactionBuilder.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * This file handles the transaction creation lifecycle.\n * It holds different operations to generate a transaction payload, a raw transaction,\n * and a signed transaction that can be simulated, signed and submitted to chain.\n */\nimport { sha3_256 as sha3Hash } from \"@noble/hashes/sha3\";\nimport { AptosConfig } from \"../../api/aptosConfig\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { AccountAddress, AccountAddressInput, Hex, PublicKey } from \"../../core\";\nimport { Account } from \"../../core/account\";\nimport { AnyPublicKey } from \"../../core/crypto/anyPublicKey\";\nimport { AnySignature } from \"../../core/crypto/anySignature\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { Secp256k1PublicKey, Secp256k1Signature } from \"../../core/crypto/secp256k1\";\nimport { getInfo } from \"../../internal/account\";\nimport { getLedgerInfo } from \"../../internal/general\";\nimport { getGasPriceEstimation } from \"../../internal/transaction\";\nimport { NetworkToChainId } from \"../../utils/apiEndpoints\";\nimport {\n DEFAULT_MAX_GAS_AMOUNT,\n DEFAULT_TXN_EXP_SEC_FROM_NOW,\n RAW_TRANSACTION_SALT,\n RAW_TRANSACTION_WITH_DATA_SALT,\n} from \"../../utils/const\";\nimport {\n AccountAuthenticator,\n AccountAuthenticatorEd25519,\n AccountAuthenticatorMultiKey,\n AccountAuthenticatorSingleKey,\n} from \"../authenticator/account\";\nimport {\n TransactionAuthenticatorEd25519,\n TransactionAuthenticatorFeePayer,\n TransactionAuthenticatorMultiAgent,\n TransactionAuthenticatorSingleSender,\n} from \"../authenticator/transaction\";\nimport {\n ChainId,\n EntryFunction,\n FeePayerRawTransaction,\n MultiAgentRawTransaction,\n MultiSig,\n MultisigTransactionPayload,\n RawTransaction,\n Script,\n TransactionPayloadEntryFunction,\n TransactionPayloadMultisig,\n TransactionPayloadScript,\n} from \"../instances\";\nimport { SignedTransaction } from \"../instances/signedTransaction\";\nimport {\n AnyRawTransaction,\n AnyTransactionPayloadInstance,\n AnyRawTransactionInstance,\n EntryFunctionArgumentTypes,\n EntryFunctionABI,\n InputGenerateFeePayerRawTransactionArgs,\n InputGenerateMultiAgentRawTransactionArgs,\n InputGenerateRawTransactionArgs,\n InputGenerateSingleSignerRawTransactionArgs,\n InputSingleSignerTransaction,\n InputGenerateTransactionOptions,\n InputFeePayerTransaction,\n InputMultiAgentTransaction,\n InputScriptData,\n InputSimulateTransactionData,\n InputGenerateTransactionPayloadData,\n InputEntryFunctionData,\n InputMultiSigData,\n InputMultiSigDataWithRemoteABI,\n InputEntryFunctionDataWithRemoteABI,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n} from \"../types\";\nimport { convertArgument, fetchEntryFunctionAbi, standardizeTypeTags } from \"./remoteAbi\";\nimport { memoizeAsync } from \"../../utils/memoize\";\nimport { SigningScheme } from \"../../types\";\nimport { getFunctionParts, isScriptDataInput } from \"./helpers\";\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransactionPayload` function.\n * When we call our `generateTransactionPayload` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function generateTransactionPayload(\n args: InputScriptData & { aptosConfig?: undefined },\n): Promise<TransactionPayloadScript>;\nexport async function generateTransactionPayload(\n args: InputEntryFunctionDataWithRemoteABI,\n): Promise<TransactionPayloadEntryFunction>;\nexport async function generateTransactionPayload(\n args: InputMultiSigDataWithRemoteABI,\n): Promise<TransactionPayloadMultisig>;\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance>;\n\n/**\n * Builds a transaction payload based on the data argument and returns\n * a transaction payload - TransactionPayloadScript | TransactionPayloadMultisig | TransactionPayloadEntryFunction\n *\n * This uses the RemoteABI by default, and the remote ABI can be skipped by using generateTransactionPayloadWithABI\n *\n * @param args.data GenerateTransactionPayloadData\n *\n * @return TransactionPayload\n */\nexport async function generateTransactionPayload(\n args: InputGenerateTransactionPayloadDataWithRemoteABI,\n): Promise<AnyTransactionPayloadInstance> {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // We fetch the entry function ABI, and then pretend that we already had the ABI\n const functionAbi = await memoizeAsync(\n async () => fetchEntryFunctionAbi(moduleAddress, moduleName, functionName, args.aptosConfig),\n `entry-function-${args.aptosConfig.network}-${moduleAddress}-${moduleName}-${functionName}`,\n 1000 * 60 * 5, // 5 minutes\n )();\n\n return generateTransactionPayloadWithABI(args, functionAbi);\n}\n\nexport function generateTransactionPayloadWithABI(\n args: InputEntryFunctionData,\n functionAbi: EntryFunctionABI,\n): TransactionPayloadEntryFunction;\nexport function generateTransactionPayloadWithABI(\n args: InputMultiSigData,\n functionAbi: EntryFunctionABI,\n): TransactionPayloadMultisig;\nexport function generateTransactionPayloadWithABI(\n args: InputGenerateTransactionPayloadData,\n functionAbi: EntryFunctionABI,\n): AnyTransactionPayloadInstance {\n if (isScriptDataInput(args)) {\n return generateTransactionPayloadScript(args);\n }\n\n const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);\n\n // Ensure that all type arguments are typed properly\n const typeArguments = standardizeTypeTags(args.typeArguments);\n\n // Check the type argument count against the ABI\n if (typeArguments.length !== functionAbi.typeParameters.length) {\n throw new Error(\n `Type argument count mismatch, expected ${functionAbi.typeParameters.length}, received ${typeArguments.length}`,\n );\n }\n\n // Check all BCS types, and convert any non-BCS types\n const functionArguments: Array<EntryFunctionArgumentTypes> = args.functionArguments.map((arg, i) =>\n convertArgument(args.function, functionAbi, arg, i, typeArguments),\n );\n\n // Check that all arguments are accounted for\n if (functionArguments.length !== functionAbi.parameters.length) {\n throw new Error(\n // eslint-disable-next-line max-len\n `Too few arguments for '${moduleAddress}::${moduleName}::${functionName}', expected ${functionAbi.parameters.length} but got ${functionArguments.length}`,\n );\n }\n\n // Generate entry function payload\n const entryFunctionPayload = EntryFunction.build(\n `${moduleAddress}::${moduleName}`,\n functionName,\n typeArguments,\n functionArguments,\n );\n\n // Send it as multi sig if it's a multisig payload\n if (\"multisigAddress\" in args) {\n let multisigAddress: AccountAddress;\n if (typeof args.multisigAddress === \"string\") {\n multisigAddress = AccountAddress.from(args.multisigAddress);\n } else {\n multisigAddress = args.multisigAddress;\n }\n return new TransactionPayloadMultisig(\n new MultiSig(multisigAddress, new MultisigTransactionPayload(entryFunctionPayload)),\n );\n }\n\n // Otherwise send as an entry function\n return new TransactionPayloadEntryFunction(entryFunctionPayload);\n}\n\nfunction generateTransactionPayloadScript(args: InputScriptData) {\n return new TransactionPayloadScript(\n new Script(Hex.fromHexInput(args.bytecode).toUint8Array(), args.typeArguments ?? [], args.functionArguments),\n );\n}\n\n/**\n * Generates a raw transaction\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n *\n * @returns RawTransaction\n */\nexport async function generateRawTransaction(args: {\n aptosConfig: AptosConfig;\n sender: AccountAddressInput;\n payload: AnyTransactionPayloadInstance;\n options?: InputGenerateTransactionOptions;\n}): Promise<RawTransaction> {\n const { aptosConfig, sender, payload, options } = args;\n\n const getSequenceNumber = options?.accountSequenceNumber\n ? Promise.resolve({ sequence_number: options.accountSequenceNumber })\n : getInfo({ aptosConfig, accountAddress: sender });\n\n const getChainId = NetworkToChainId[aptosConfig.network]\n ? Promise.resolve({ chain_id: NetworkToChainId[aptosConfig.network] })\n : getLedgerInfo({ aptosConfig });\n\n const getGasUnitPrice = options?.gasUnitPrice\n ? Promise.resolve({ gas_estimate: options.gasUnitPrice })\n : getGasPriceEstimation({ aptosConfig });\n\n const [{ sequence_number: sequenceNumber }, { chain_id: chainId }, { gas_estimate: gasEstimate }] = await Promise.all(\n [getSequenceNumber, getChainId, getGasUnitPrice],\n );\n\n const { maxGasAmount, gasUnitPrice, expireTimestamp } = {\n maxGasAmount: BigInt(DEFAULT_MAX_GAS_AMOUNT),\n gasUnitPrice: BigInt(gasEstimate),\n expireTimestamp: BigInt(Math.floor(Date.now() / 1000) + DEFAULT_TXN_EXP_SEC_FROM_NOW),\n ...options,\n };\n\n return new RawTransaction(\n AccountAddress.fromRelaxed(sender),\n BigInt(sequenceNumber),\n payload,\n BigInt(maxGasAmount),\n BigInt(gasUnitPrice),\n BigInt(expireTimestamp),\n new ChainId(chainId),\n );\n}\n\n/**\n * We are defining function signatures, each with its specific input and output.\n * These are the possible function signature for our `generateTransaction` function.\n * When we call our `generateTransaction` function with the relevant type properties,\n * Typescript can infer the return type based on the appropriate function overload.\n */\nexport async function buildTransaction(\n args: InputGenerateSingleSignerRawTransactionArgs,\n): Promise<InputSingleSignerTransaction>;\nexport async function buildTransaction(\n args: InputGenerateFeePayerRawTransactionArgs,\n): Promise<InputFeePayerTransaction>;\nexport async function buildTransaction(\n args: InputGenerateMultiAgentRawTransactionArgs,\n): Promise<InputMultiAgentTransaction>;\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction>;\n/**\n * Generates a transaction based on the provided arguments\n *\n * Note: we can start with one function to support all different payload/transaction types,\n * and if to complex to use, we could have function for each type\n *\n * @param args.aptosConfig AptosConfig\n * @param args.sender The transaction's sender account address as a hex input\n * @param args.payload The transaction payload - can create by using generateTransactionPayload()\n * @param args.options optional. Transaction options object\n * @param args.secondarySignerAddresses optional. For when want to create a multi signers transaction\n * @param args.feePayerAddress optional. For when want to create a fee payer (aka sponsored) transaction\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function buildTransaction(args: InputGenerateRawTransactionArgs): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, payload, options, secondarySignerAddresses, feePayerAddress } = args;\n // generate raw transaction\n const rawTxn = await generateRawTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n });\n\n if (feePayerAddress) {\n const signers: Array<AccountAddress> = secondarySignerAddresses\n ? secondarySignerAddresses.map((signer) => AccountAddress.fromRelaxed(signer))\n : [];\n\n return {\n rawTransaction: rawTxn,\n secondarySignerAddresses: signers,\n feePayerAddress: AccountAddress.fromRelaxed(feePayerAddress),\n };\n }\n\n if (secondarySignerAddresses) {\n const signers: Array<AccountAddress> = secondarySignerAddresses.map((signer) => AccountAddress.fromRelaxed(signer));\n\n return {\n rawTransaction: rawTxn,\n secondarySignerAddresses: signers,\n };\n }\n // return the raw transaction\n return { rawTransaction: rawTxn };\n}\n\n/**\n * Simulate a transaction before signing and submit to chain\n *\n * @param args.transaction A aptos transaction type to sign\n * @param args.signerPublicKey The signer public key\n * @param args.secondarySignersPublicKeys optional. The secondary signers public keys if multi signers transaction\n * @param args.feePayerPublicKey optional. The fee payer public key is a fee payer (aka sponsored) transaction\n * @param args.options optional. SimulateTransactionOptions\n *\n * @returns A signed serialized transaction that can be simulated\n */\nexport function generateSignedTransactionForSimulation(args: InputSimulateTransactionData): Uint8Array {\n const { signerPublicKey, transaction, secondarySignersPublicKeys, feePayerPublicKey } = args;\n\n const deserializer = new Deserializer(transaction.rawTransaction.bcsToBytes());\n const deserializedTransaction = RawTransaction.deserialize(deserializer);\n\n const accountAuthenticator = getAuthenticatorForSimulation(signerPublicKey);\n // fee payer transaction\n if (transaction.feePayerAddress) {\n const transactionToSign = new FeePayerRawTransaction(\n deserializedTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n if (secondarySignersPublicKeys) {\n secondaryAccountAuthenticators = secondarySignersPublicKeys.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n }\n\n const feePayerAuthenticator = getAuthenticatorForSimulation(feePayerPublicKey!);\n\n const transactionAuthenticator = new TransactionAuthenticatorFeePayer(\n accountAuthenticator,\n transaction.secondarySignerAddresses ?? [],\n secondaryAccountAuthenticators,\n {\n address: transaction.feePayerAddress,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // multi agent transaction\n if (transaction.secondarySignerAddresses) {\n const transactionToSign = new MultiAgentRawTransaction(\n deserializedTransaction,\n transaction.secondarySignerAddresses,\n );\n\n let secondaryAccountAuthenticators: Array<AccountAuthenticator> = [];\n\n secondaryAccountAuthenticators = secondarySignersPublicKeys!.map((publicKey) =>\n getAuthenticatorForSimulation(publicKey),\n );\n\n const transactionAuthenticator = new TransactionAuthenticatorMultiAgent(\n accountAuthenticator,\n transaction.secondarySignerAddresses,\n secondaryAccountAuthenticators,\n );\n\n return new SignedTransaction(transactionToSign.raw_txn, transactionAuthenticator).bcsToBytes();\n }\n\n // raw transaction\n let transactionAuthenticator;\n if (accountAuthenticator instanceof AccountAuthenticatorEd25519) {\n transactionAuthenticator = new TransactionAuthenticatorEd25519(\n accountAuthenticator.public_key,\n accountAuthenticator.signature,\n );\n } else if (accountAuthenticator instanceof AccountAuthenticatorSingleKey) {\n transactionAuthenticator = new TransactionAuthenticatorSingleSender(accountAuthenticator);\n } else {\n throw new Error(\"Invalid public key\");\n }\n return new SignedTransaction(deserializedTransaction, transactionAuthenticator).bcsToBytes();\n}\n\nexport function getAuthenticatorForSimulation(publicKey: PublicKey) {\n // TODO add support for AnyMultiKey\n if (publicKey instanceof AnyPublicKey) {\n if (publicKey.publicKey instanceof Ed25519PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Ed25519Signature(new Uint8Array(64))));\n }\n if (publicKey.publicKey instanceof Secp256k1PublicKey) {\n return new AccountAuthenticatorSingleKey(publicKey, new AnySignature(new Secp256k1Signature(new Uint8Array(64))));\n }\n }\n\n // legacy code\n // TODO add support to legacy multied25519\n return new AccountAuthenticatorEd25519(\n new Ed25519PublicKey(publicKey.toUint8Array()),\n new Ed25519Signature(new Uint8Array(64)),\n );\n}\n\n/**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction A aptos transaction type to sign\n *\n * @return The signer AccountAuthenticator\n */\nexport function sign(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const { signer, transaction } = args;\n\n const transactionToSign = deriveTransactionType(transaction);\n\n // get the signing message\n const message = getSigningMessage(transactionToSign);\n\n // account.signMessage\n const signerSignature = signer.sign(message);\n\n // return account authentication\n switch (signer.signingScheme) {\n case SigningScheme.Ed25519:\n return new AccountAuthenticatorEd25519(\n new Ed25519PublicKey(signer.publicKey.toUint8Array()),\n new Ed25519Signature(signerSignature.toUint8Array()),\n );\n case SigningScheme.SingleKey:\n return new AccountAuthenticatorSingleKey(signer.publicKey as AnyPublicKey, new AnySignature(signerSignature));\n // TODO support MultiEd25519\n default:\n throw new Error(`Cannot sign transaction, signing scheme ${signer.signingScheme} not supported`);\n }\n}\n\n/**\n * Prepare a transaction to be submitted to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @returns A SignedTransaction\n */\nexport function generateSignedTransaction(args: InputSubmitTransactionData): Uint8Array {\n const { transaction, senderAuthenticator, feePayerAuthenticator, additionalSignersAuthenticators } = args;\n\n const transactionToSubmit = deriveTransactionType(transaction);\n\n if (feePayerAuthenticator || additionalSignersAuthenticators) {\n return generateMultiSignersSignedTransaction(\n transactionToSubmit as MultiAgentRawTransaction | FeePayerRawTransaction,\n senderAuthenticator,\n feePayerAuthenticator,\n additionalSignersAuthenticators,\n );\n }\n\n // submit single signer transaction\n\n // check what instance is accountAuthenticator\n if (senderAuthenticator instanceof AccountAuthenticatorEd25519) {\n const transactionAuthenticator = new TransactionAuthenticatorEd25519(\n senderAuthenticator.public_key,\n senderAuthenticator.signature,\n );\n return new SignedTransaction(transactionToSubmit as RawTransaction, transactionAuthenticator).bcsToBytes();\n }\n\n if (\n senderAuthenticator instanceof AccountAuthenticatorSingleKey ||\n senderAuthenticator instanceof AccountAuthenticatorMultiKey\n ) {\n const transactionAuthenticator = new TransactionAuthenticatorSingleSender(senderAuthenticator);\n return new SignedTransaction(transactionToSubmit as RawTransaction, transactionAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot generate a signed transaction, ${senderAuthenticator} is not a supported account authentication scheme`,\n );\n}\n\n/**\n * Derive the raw transaction type - FeePayerRawTransaction or MultiAgentRawTransaction or RawTransaction\n *\n * @param transaction A aptos transaction type\n *\n * @returns FeePayerRawTransaction | MultiAgentRawTransaction | RawTransaction\n */\nexport function deriveTransactionType(transaction: AnyRawTransaction): AnyRawTransactionInstance {\n if (transaction.feePayerAddress) {\n return new FeePayerRawTransaction(\n transaction.rawTransaction,\n transaction.secondarySignerAddresses ?? [],\n transaction.feePayerAddress,\n );\n }\n if (transaction.secondarySignerAddresses) {\n return new MultiAgentRawTransaction(transaction.rawTransaction, transaction.secondarySignerAddresses);\n }\n\n return transaction.rawTransaction as RawTransaction;\n}\n\n/**\n * Generate a multi signers signed transaction that can be submitted to chain\n *\n * @param transaction MultiAgentRawTransaction | FeePayerRawTransaction\n * @param senderAuthenticator The account authenticator of the transaction sender\n * @param secondarySignerAuthenticators The extra signers account Authenticators\n *\n * @returns A SignedTransaction\n */\nexport function generateMultiSignersSignedTransaction(\n transaction: MultiAgentRawTransaction | FeePayerRawTransaction,\n senderAuthenticator: AccountAuthenticator,\n feePayerAuthenticator?: AccountAuthenticator,\n additionalSignersAuthenticators?: Array<AccountAuthenticator>,\n) {\n if (transaction instanceof FeePayerRawTransaction) {\n if (!feePayerAuthenticator) {\n throw new Error(\"Must provide a feePayerAuthenticator argument to generate a signed fee payer transaction\");\n }\n const txAuthenticatorFeePayer = new TransactionAuthenticatorFeePayer(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n {\n address: transaction.fee_payer_address,\n authenticator: feePayerAuthenticator,\n },\n );\n return new SignedTransaction(transaction.raw_txn, txAuthenticatorFeePayer).bcsToBytes();\n }\n if (transaction instanceof MultiAgentRawTransaction) {\n if (!additionalSignersAuthenticators) {\n throw new Error(\n \"Must provide a additionalSignersAuthenticators argument to generate a signed multi agent transaction\",\n );\n }\n const multiAgentAuthenticator = new TransactionAuthenticatorMultiAgent(\n senderAuthenticator,\n transaction.secondary_signer_addresses,\n additionalSignersAuthenticators ?? [],\n );\n return new SignedTransaction(transaction.raw_txn, multiAgentAuthenticator).bcsToBytes();\n }\n\n throw new Error(\n `Cannot prepare multi signers transaction to submission, ${typeof transaction} transaction is not supported`,\n );\n}\n\nexport function getSigningMessage(rawTxn: AnyRawTransactionInstance): Uint8Array {\n const hash = sha3Hash.create();\n\n if (rawTxn instanceof RawTransaction) {\n hash.update(RAW_TRANSACTION_SALT);\n } else if (rawTxn instanceof MultiAgentRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else if (rawTxn instanceof FeePayerRawTransaction) {\n hash.update(RAW_TRANSACTION_WITH_DATA_SALT);\n } else {\n throw new Error(`Unknown transaction type to sign on: ${rawTxn}`);\n }\n\n const prefix = hash.digest();\n\n const body = rawTxn.bcsToBytes();\n\n const mergedArray = new Uint8Array(prefix.length + body.length);\n mergedArray.set(prefix);\n mergedArray.set(body, prefix.length);\n\n return mergedArray;\n}\n"],"mappings":"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","names":["sha3Hash","generateTransactionPayload","args","isScriptDataInput","generateTransactionPayloadScript","moduleAddress","moduleName","functionName","getFunctionParts","functionAbi","memoizeAsync","fetchEntryFunctionAbi","generateTransactionPayloadWithABI","typeArguments","standardizeTypeTags","functionArguments","arg","i","convertArgument","entryFunctionPayload","EntryFunction","multisigAddress","AccountAddress","TransactionPayloadMultisig","MultiSig","MultisigTransactionPayload","TransactionPayloadEntryFunction","TransactionPayloadScript","Script","Hex","generateRawTransaction","aptosConfig","sender","payload","options","getSequenceNumber","getInfo","getChainId","NetworkToChainId","getLedgerInfo","getGasUnitPrice","getGasPriceEstimation","sequenceNumber","chainId","gasEstimate","maxGasAmount","gasUnitPrice","expireTimestamp","DEFAULT_MAX_GAS_AMOUNT","DEFAULT_TXN_EXP_SEC_FROM_NOW","RawTransaction","ChainId","buildTransaction","secondarySignerAddresses","feePayerAddress","rawTxn","signers","signer","generateSignedTransactionForSimulation","signerPublicKey","transaction","secondarySignersPublicKeys","feePayerPublicKey","deserializer","Deserializer","deserializedTransaction","accountAuthenticator","getAuthenticatorForSimulation","transactionToSign","FeePayerRawTransaction","secondaryAccountAuthenticators","publicKey","feePayerAuthenticator","transactionAuthenticator","TransactionAuthenticatorFeePayer","SignedTransaction","MultiAgentRawTransaction","TransactionAuthenticatorMultiAgent","AccountAuthenticatorEd25519","TransactionAuthenticatorEd25519","AccountAuthenticatorSingleKey","TransactionAuthenticatorSingleSender","AnyPublicKey","Ed25519PublicKey","AnySignature","Ed25519Signature","Secp256k1PublicKey","Secp256k1Signature","sign","deriveTransactionType","message","getSigningMessage","signerSignature","generateSignedTransaction","senderAuthenticator","additionalSignersAuthenticators","transactionToSubmit","generateMultiSignersSignedTransaction","AccountAuthenticatorMultiKey","txAuthenticatorFeePayer","multiAgentAuthenticator","hash","sha3Hash","RAW_TRANSACTION_SALT","RAW_TRANSACTION_WITH_DATA_SALT","prefix","body","mergedArray"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as l,b as a,c as u,d as c,e as d,f as m,g as U}from"./chunk-PDLUCVJB.mjs";import{a as o}from"./chunk-27P7PELS.mjs";import{b as z}from"./chunk-IZHPCZE3.mjs";var n=class extends o{constructor(e){super();this.values=e}serializeForEntryFunction(e){let r=this.bcsToBytes();e.serializeBytes(r)}serializeForScriptFunction(e){if(!(this.values[0]instanceof a)&&this.values[0]!==void 0)throw new Error("Script function arguments only accept u8 vectors");e.serializeU32AsUleb128(4),e.serialize(this)}static U8(e){let r;if(Array.isArray(e)&&typeof e[0]=="number")r=e;else if(typeof e=="string"){let t=z.fromHexInput(e);r=Array.from(t.toUint8Array())}else if(e instanceof Uint8Array)r=Array.from(e);else throw new Error("Invalid input type");return new n(r.map(t=>new a(t)))}static U16(e){return new n(e.map(r=>new u(r)))}static U32(e){return new n(e.map(r=>new c(r)))}static U64(e){return new n(e.map(r=>new d(r)))}static U128(e){return new n(e.map(r=>new m(r)))}static U256(e){return new n(e.map(r=>new U(r)))}static Bool(e){return new n(e.map(r=>new l(r)))}static MoveString(e){return new n(e.map(r=>new s(r)))}serialize(e){e.serializeVector(this.values)}static deserialize(e,r){let t=e.deserializeUleb128AsU32(),w=new Array;for(let p=0;p<t;p+=1)w.push(r.deserialize(e));return new n(w)}},s=class extends o{constructor(e){super();this.value=e}serialize(e){e.serializeStr(this.value)}serializeForEntryFunction(e){let r=this.bcsToBytes();e.serializeBytes(r)}serializeForScriptFunction(e){let r=this.bcsToBytes().slice(1);n.U8(r).serializeForScriptFunction(e)}static deserialize(e){return new s(e.deserializeStr())}},i=class extends o{constructor(e){super();typeof e<"u"&&e!==null?this.vec=new n([e]):this.vec=new n([]),[this.value]=this.vec.values}serializeForEntryFunction(e){let r=this.bcsToBytes();e.serializeBytes(r)}unwrap(){if(this.isSome())return this.vec.values[0];throw new Error("Called unwrap on a MoveOption with no value")}isSome(){return this.vec.values.length===1}serialize(e){this.vec.serialize(e)}static U8(e){return new i(e!=null?new a(e):void 0)}static U16(e){return new i(e!=null?new u(e):void 0)}static U32(e){return new i(e!=null?new c(e):void 0)}static U64(e){return new i(e!=null?new d(e):void 0)}static U128(e){return new i(e!=null?new m(e):void 0)}static U256(e){return new i(e!=null?new U(e):void 0)}static Bool(e){return new i(e!=null?new l(e):void 0)}static MoveString(e){return new i(e!=null?new s(e):void 0)}static deserialize(e,r){let t=n.deserialize(e,r);return new i(t.values[0])}};export{n as a,s as b,i as c};
|
|
2
|
+
//# sourceMappingURL=chunk-7AQXAH6Q.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/bcs/serializable/moveStructs.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Bool, U128, U16, U256, U32, U64, U8 } from \"./movePrimitives\";\nimport { Serializable, Serializer } from \"../serializer\";\nimport { Deserializable, Deserializer } from \"../deserializer\";\nimport { AnyNumber, HexInput, ScriptTransactionArgumentVariants } from \"../../types\";\nimport { Hex } from \"../../core/hex\";\nimport { EntryFunctionArgument, TransactionArgument } from \"../../transactions/instances/transactionArgument\";\n\n/**\n * This class is the Aptos Typescript SDK representation of a Move `vector<T>`,\n * where `T` represents either a primitive type (`bool`, `u8`, `u64`, ...)\n * or a BCS-serializable struct itself.\n *\n * It is a BCS-serializable, array-like type that contains an array of values of type `T`,\n * where `T` is a class that implements `Serializable`.\n *\n * The purpose of this class is to facilitate easy construction of BCS-serializable\n * Move `vector<T>` types.\n *\n * @example\n * // in Move: `vector<u8> [1, 2, 3, 4];`\n * const vecOfU8s = new MoveVector<U8>([new U8(1), new U8(2), new U8(3), new U8(4)]);\n * // in Move: `std::bcs::to_bytes(vector<u8> [1, 2, 3, 4]);`\n * const bcsBytes = vecOfU8s.toUint8Array();\n *\n * // vector<vector<u8>> [ vector<u8> [1], vector<u8> [1, 2, 3, 4], vector<u8> [5, 6, 7, 8] ];\n * const vecOfVecs = new MoveVector<MoveVector<U8>>([\n * new MoveVector<U8>([new U8(1)]),\n * MoveVector.U8([1, 2, 3, 4]),\n * MoveVector.U8([5, 6, 7, 8]),\n * ]);\n *\n * // vector<Option<u8>> [ std::option::some<u8>(1), std::option::some<u8>(2) ];\n * const vecOfOptionU8s = new MoveVector<MoveOption<U8>>([\n * MoveOption.U8(1),\n * MoveOption.U8(2),\n * ]);\n *\n * // vector<MoveString> [ std::string::utf8(b\"hello\"), std::string::utf8(b\"world\") ];\n * const vecOfStrings = new MoveVector([new MoveString(\"hello\"), new MoveString(\"world\")]);\n * const vecOfStrings2 = MoveVector.MoveString([\"hello\", \"world\"]);\n *\n * @params\n * values: an Array<T> of values where T is a class that implements Serializable\n * @returns a `MoveVector<T>` with the values `values`\n */\nexport class MoveVector<T extends Serializable & EntryFunctionArgument>\n extends Serializable\n implements TransactionArgument\n{\n public values: Array<T>;\n\n constructor(values: Array<T>) {\n super();\n this.values = values;\n }\n\n serializeForEntryFunction(serializer: Serializer): void {\n const bcsBytes = this.bcsToBytes();\n serializer.serializeBytes(bcsBytes);\n }\n\n /**\n * NOTE: This function will only work when the inner values in the `MoveVector` are `U8`s.\n * @param serializer\n */\n serializeForScriptFunction(serializer: Serializer): void {\n // runtime check to ensure that you can't serialize anything other than vector<u8>\n const isU8 = this.values[0] instanceof U8;\n // if the inner array is length 0, we can't check the type because it has no instance, so we assume it's a u8\n // it may not be, but we don't care because regardless of a vector's type,\n // a zero-length vector is serialized to a single byte value: 0\n if (!isU8 && this.values[0] !== undefined) {\n throw new Error(\"Script function arguments only accept u8 vectors\");\n }\n serializer.serializeU32AsUleb128(ScriptTransactionArgumentVariants.U8Vector);\n serializer.serialize(this);\n }\n\n /**\n * Factory method to generate a MoveVector of U8s from an array of numbers.\n *\n * @example\n * const v = MoveVector.U8([1, 2, 3, 4]);\n * @params values: an array of `numbers` to convert to U8s\n * @returns a `MoveVector<U8>`\n */\n static U8(values: Array<number> | HexInput): MoveVector<U8> {\n let numbers: Array<number>;\n\n if (Array.isArray(values) && typeof values[0] === \"number\") {\n numbers = values;\n } else if (typeof values === \"string\") {\n const hex = Hex.fromHexInput(values);\n numbers = Array.from(hex.toUint8Array());\n } else if (values instanceof Uint8Array) {\n numbers = Array.from(values);\n } else {\n throw new Error(\"Invalid input type\");\n }\n\n return new MoveVector<U8>(numbers.map((v) => new U8(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of U16s from an array of numbers.\n *\n * @example\n * const v = MoveVector.U16([1, 2, 3, 4]);\n * @params values: an array of `numbers` to convert to U16s\n * @returns a `MoveVector<U16>`\n */\n static U16(values: Array<number>): MoveVector<U16> {\n return new MoveVector<U16>(values.map((v) => new U16(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of U32s from an array of numbers.\n *\n * @example\n * const v = MoveVector.U32([1, 2, 3, 4]);\n * @params values: an array of `numbers` to convert to U32s\n * @returns a `MoveVector<U32>`\n */\n static U32(values: Array<number>): MoveVector<U32> {\n return new MoveVector<U32>(values.map((v) => new U32(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of U64s from an array of numbers or bigints.\n *\n * @example\n * const v = MoveVector.U64([1, 2, 3, 4]);\n * @params values: an array of numbers of type `number | bigint` to convert to U64s\n * @returns a `MoveVector<U64>`\n */\n static U64(values: Array<AnyNumber>): MoveVector<U64> {\n return new MoveVector<U64>(values.map((v) => new U64(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of U128s from an array of numbers or bigints.\n *\n * @example\n * const v = MoveVector.U128([1, 2, 3, 4]);\n * @params values: an array of numbers of type `number | bigint` to convert to U128s\n * @returns a `MoveVector<U128>`\n */\n static U128(values: Array<AnyNumber>): MoveVector<U128> {\n return new MoveVector<U128>(values.map((v) => new U128(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of U256s from an array of numbers or bigints.\n *\n * @example\n * const v = MoveVector.U256([1, 2, 3, 4]);\n * @params values: an array of numbers of type `number | bigint` to convert to U256s\n * @returns a `MoveVector<U256>`\n */\n static U256(values: Array<AnyNumber>): MoveVector<U256> {\n return new MoveVector<U256>(values.map((v) => new U256(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of Bools from an array of booleans.\n *\n * @example\n * const v = MoveVector.Bool([true, false, true, false]);\n * @params values: an array of `bools` to convert to Bools\n * @returns a `MoveVector<Bool>`\n */\n static Bool(values: Array<boolean>): MoveVector<Bool> {\n return new MoveVector<Bool>(values.map((v) => new Bool(v)));\n }\n\n /**\n * Factory method to generate a MoveVector of MoveStrings from an array of strings.\n *\n * @example\n * const v = MoveVector.MoveString([\"hello\", \"world\"]);\n * @params values: an array of `strings` to convert to MoveStrings\n * @returns a `MoveVector<MoveString>`\n */\n static MoveString(values: Array<string>): MoveVector<MoveString> {\n return new MoveVector<MoveString>(values.map((v) => new MoveString(v)));\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeVector(this.values);\n }\n\n /**\n * Deserialize a MoveVector of type T, specifically where T is a Serializable and Deserializable type.\n *\n * NOTE: This only works with a depth of one. Generics will not work.\n *\n * NOTE: This will not work with types that aren't of the Serializable class.\n *\n * If you're looking for a more flexible deserialization function, you can use the deserializeVector function\n * in the Deserializer class.\n *\n * @example\n * const vec = MoveVector.deserialize(deserializer, U64);\n * @params deserializer: the Deserializer instance to use, with bytes loaded into it already.\n * cls: the class to typecast the input values to, must be a Serializable and Deserializable type.\n * @returns a MoveVector of the corresponding class T\n * *\n */\n static deserialize<T extends Serializable & EntryFunctionArgument>(\n deserializer: Deserializer,\n cls: Deserializable<T>,\n ): MoveVector<T> {\n const length = deserializer.deserializeUleb128AsU32();\n const values = new Array<T>();\n for (let i = 0; i < length; i += 1) {\n values.push(cls.deserialize(deserializer));\n }\n return new MoveVector(values);\n }\n}\n\nexport class MoveString extends Serializable implements TransactionArgument {\n public value: string;\n\n constructor(value: string) {\n super();\n this.value = value;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeStr(this.value);\n }\n\n serializeForEntryFunction(serializer: Serializer): void {\n const bcsBytes = this.bcsToBytes();\n serializer.serializeBytes(bcsBytes);\n }\n\n serializeForScriptFunction(serializer: Serializer): void {\n // Serialize the string as a fixed byte string, i.e., without the length prefix\n const fixedStringBytes = this.bcsToBytes().slice(1);\n // Put those bytes into a vector<u8> and serialize it as a script function argument\n const vectorU8 = MoveVector.U8(fixedStringBytes);\n vectorU8.serializeForScriptFunction(serializer);\n }\n\n static deserialize(deserializer: Deserializer): MoveString {\n return new MoveString(deserializer.deserializeStr());\n }\n}\n\nexport class MoveOption<T extends Serializable & EntryFunctionArgument>\n extends Serializable\n implements EntryFunctionArgument\n{\n private vec: MoveVector<T>;\n\n public readonly value?: T;\n\n constructor(value?: T | null) {\n super();\n if (typeof value !== \"undefined\" && value !== null) {\n this.vec = new MoveVector([value]);\n } else {\n this.vec = new MoveVector([]);\n }\n\n [this.value] = this.vec.values;\n }\n\n serializeForEntryFunction(serializer: Serializer): void {\n const bcsBytes = this.bcsToBytes();\n serializer.serializeBytes(bcsBytes);\n }\n\n /**\n * Retrieves the inner value of the MoveOption.\n *\n * This method is inspired by Rust's `Option<T>.unwrap()`.\n * In Rust, attempting to unwrap a `None` value results in a panic.\n *\n * Similarly, this method will throw an error if the value is not present.\n *\n * @example\n * const option = new MoveOption<Bool>(new Bool(true));\n * const value = option.unwrap(); // Returns the Bool instance\n *\n * @throws {Error} Throws an error if the MoveOption does not contain a value.\n *\n * @returns {T} The contained value if present.\n */\n unwrap(): T {\n if (!this.isSome()) {\n throw new Error(\"Called unwrap on a MoveOption with no value\");\n } else {\n return this.vec.values[0];\n }\n }\n\n // Check if the MoveOption has a value.\n isSome(): boolean {\n return this.vec.values.length === 1;\n }\n\n serialize(serializer: Serializer): void {\n // serialize 0 or 1\n // if 1, serialize the value\n this.vec.serialize(serializer);\n }\n\n /**\n * Factory method to generate a MoveOption<U8> from a `number` or `undefined`.\n *\n * @example\n * MoveOption.U8(1).isSome() === true;\n * MoveOption.U8().isSome() === false;\n * MoveOption.U8(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U8> with an inner value `value`\n */\n static U8(value?: number | null): MoveOption<U8> {\n return new MoveOption<U8>(value !== null && value !== undefined ? new U8(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<U16> from a `number` or `undefined`.\n *\n * @example\n * MoveOption.U16(1).isSome() === true;\n * MoveOption.U16().isSome() === false;\n * MoveOption.U16(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U16> with an inner value `value`\n */\n static U16(value?: number | null): MoveOption<U16> {\n return new MoveOption<U16>(value !== null && value !== undefined ? new U16(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<U32> from a `number` or `undefined`.\n *\n * @example\n * MoveOption.U32(1).isSome() === true;\n * MoveOption.U32().isSome() === false;\n * MoveOption.U32(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U32> with an inner value `value`\n */\n static U32(value?: number | null): MoveOption<U32> {\n return new MoveOption<U32>(value !== null && value !== undefined ? new U32(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<U64> from a `number` or a `bigint` or `undefined`.\n *\n * @example\n * MoveOption.U64(1).isSome() === true;\n * MoveOption.U64().isSome() === false;\n * MoveOption.U64(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U64> with an inner value `value`\n */\n static U64(value?: AnyNumber | null): MoveOption<U64> {\n return new MoveOption<U64>(value !== null && value !== undefined ? new U64(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<U128> from a `number` or a `bigint` or `undefined`.\n *\n * @example\n * MoveOption.U128(1).isSome() === true;\n * MoveOption.U128().isSome() === false;\n * MoveOption.U128(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U128> with an inner value `value`\n */\n static U128(value?: AnyNumber | null): MoveOption<U128> {\n return new MoveOption<U128>(value !== null && value !== undefined ? new U128(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<U256> from a `number` or a `bigint` or `undefined`.\n *\n * @example\n * MoveOption.U256(1).isSome() === true;\n * MoveOption.U256().isSome() === false;\n * MoveOption.U256(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<U256> with an inner value `value`\n */\n static U256(value?: AnyNumber | null): MoveOption<U256> {\n return new MoveOption<U256>(value !== null && value !== undefined ? new U256(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<Bool> from a `boolean` or `undefined`.\n *\n * @example\n * MoveOption.Bool(true).isSome() === true;\n * MoveOption.Bool().isSome() === false;\n * MoveOption.Bool(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<Bool> with an inner value `value`\n */\n static Bool(value?: boolean | null): MoveOption<Bool> {\n return new MoveOption<Bool>(value !== null && value !== undefined ? new Bool(value) : undefined);\n }\n\n /**\n * Factory method to generate a MoveOption<MoveString> from a `string` or `undefined`.\n *\n * @example\n * MoveOption.MoveString(\"hello\").isSome() === true;\n * MoveOption.MoveString(\"\").isSome() === true;\n * MoveOption.MoveString().isSome() === false;\n * MoveOption.MoveString(undefined).isSome() === false;\n * @params value: the value used to fill the MoveOption. If `value` is undefined\n * the resulting MoveOption's .isSome() method will return false.\n * @returns a MoveOption<MoveString> with an inner value `value`\n */\n static MoveString(value?: string | null): MoveOption<MoveString> {\n return new MoveOption<MoveString>(value !== null && value !== undefined ? new MoveString(value) : undefined);\n }\n\n static deserialize<U extends Serializable & EntryFunctionArgument>(\n deserializer: Deserializer,\n cls: Deserializable<U>,\n ): MoveOption<U> {\n const vector = MoveVector.deserialize(deserializer, cls);\n return new MoveOption(vector.values[0]);\n }\n}\n"],"mappings":"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","names":["MoveVector","Serializable","values","serializer","bcsBytes","U8","numbers","hex","Hex","v","U16","U32","U64","U128","U256","Bool","MoveString","deserializer","cls","length","i","value","fixedStringBytes","MoveOption","vector"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as T,d as l,e as P,g as S,h as I}from"./chunk-7AIV5FEN.mjs";import{a as y}from"./chunk-EKAOAGNQ.mjs";import{a as A}from"./chunk-O243HOP3.mjs";import{b as m}from"./chunk-AY2HWVDO.mjs";import{a as f}from"./chunk-J3QOSJFP.mjs";import{b as p}from"./chunk-HH5RSP2H.mjs";import{a as c}from"./chunk-7AQXAH6Q.mjs";import{b as d}from"./chunk-PDLUCVJB.mjs";async function C(t){let{aptosConfig:o,sender:e,data:n,options:a,secondarySignerAddresses:i,hasFeePayer:u}=t,r;u===!0&&(r=p.ZERO.toString());let s;"bytecode"in n?s=n:"multisigAddress"in n?s={aptosConfig:o,multisigAddress:n.multisigAddress,function:n.function,functionArguments:n.functionArguments,typeArguments:n.typeArguments}:s={aptosConfig:o,function:n.function,functionArguments:n.functionArguments,typeArguments:n.typeArguments};let g=await T(s);return l({aptosConfig:o,sender:e,payload:g,options:a,secondarySignerAddresses:i,feePayerAddress:r})}function b(t){return S({...t})}async function q(t){let{aptosConfig:o,transaction:e,signerPublicKey:n,secondarySignersPublicKeys:a,feePayerPublicKey:i,options:u}=t,r=P({transaction:e,signerPublicKey:n,secondarySignersPublicKeys:a,feePayerPublicKey:i,options:u}),{data:s}=await m({aptosConfig:o,body:r,path:"transactions/simulate",params:{estimate_gas_unit_price:t.options?.estimateGasUnitPrice??!1,estimate_max_gas_amount:t.options?.estimateMaxGasAmount??!1,estimate_prioritized_gas_unit_price:t.options?.estimatePrioritizedGasUnitPrice??!1},originMethod:"simulateTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return s}async function w(t){let{aptosConfig:o}=t,e=I({...t}),{data:n}=await m({aptosConfig:o,body:e,path:"transactions",originMethod:"submitTransaction",contentType:"application/x.aptos.signed_transaction+bcs"});return n}async function x(t){let{aptosConfig:o,signer:e,transaction:n}=t,a=b({signer:e,transaction:n});return w({aptosConfig:o,transaction:n,senderAuthenticator:a})}async function z(t){let{aptosConfig:o,account:e,metadataBytes:n,moduleBytecode:a,options:i}=t,u=a.map(s=>c.U8(s));return await C({aptosConfig:o,sender:p.fromRelaxed(e),data:{function:"0x1::code::publish_package_txn",functionArguments:[c.U8(n),new c(u)]},options:i})}async function W(t){let{aptosConfig:o,fromAccount:e,toNewPrivateKey:n}=t,a=await A({aptosConfig:o,accountAddress:e.accountAddress.toString()}),i=f.fromPrivateKey({privateKey:n,legacy:!0}),r=new y({sequenceNumber:BigInt(a.sequence_number),originator:e.accountAddress,currentAuthKey:p.from(a.authentication_key),newPublicKey:i.publicKey}).bcsToBytes(),s=e.sign(r),g=i.sign(r),h=await C({aptosConfig:o,sender:e.accountAddress.toString(),data:{function:"0x1::account::rotate_authentication_key",functionArguments:[new d(e.signingScheme.valueOf()),c.U8(e.publicKey.toUint8Array()),new d(i.signingScheme.valueOf()),c.U8(i.publicKey.toUint8Array()),c.U8(s.toUint8Array()),c.U8(g.toUint8Array())]}});return await x({aptosConfig:o,signer:e,transaction:h})}export{C as a,b,q as c,w as d,x as e,z as f,W as g};
|
|
2
|
+
//# sourceMappingURL=chunk-7TL2MY2B.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/internal/transactionSubmission.ts"],"sourcesContent":["/**\n * This file contains the underlying implementations for exposed API surface in\n * the {@link api/transaction_submission}. By moving the methods out into a separate file,\n * other namespaces and processes can access these methods without depending on the entire\n * transaction_submission namespace and without having a dependency cycle error.\n */\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { MoveVector, U8 } from \"../bcs\";\nimport { postAptosFullNode } from \"../client\";\nimport { Account } from \"../core/account\";\nimport { AccountAddress, AccountAddressInput } from \"../core/accountAddress\";\nimport { PrivateKey } from \"../core/crypto\";\nimport { AccountAuthenticator } from \"../transactions/authenticator/account\";\nimport { RotationProofChallenge } from \"../transactions/instances/rotationProofChallenge\";\nimport {\n buildTransaction,\n generateTransactionPayload,\n generateSignedTransactionForSimulation,\n generateSignedTransaction,\n sign,\n} from \"../transactions/transactionBuilder/transactionBuilder\";\nimport {\n InputGenerateTransactionData,\n AnyRawTransaction,\n InputSimulateTransactionData,\n InputGenerateTransactionOptions,\n InputSingleSignerTransaction,\n InputGenerateTransactionPayloadDataWithRemoteABI,\n InputSubmitTransactionData,\n} from \"../transactions/types\";\nimport { getInfo } from \"./account\";\nimport { UserTransactionResponse, PendingTransactionResponse, MimeType, HexInput, TransactionResponse } from \"../types\";\n\n/**\n * Generates any transaction by passing in the required arguments\n *\n * @param args.sender The transaction sender's account address as a AccountAddressInput\n * @param args.data EntryFunctionData | ScriptData | MultiSigData\n * @param args.feePayerAddress optional. For a fee payer (aka sponsored) transaction\n * @param args.secondarySignerAddresses optional. For a multi-agent or fee payer (aka sponsored) transactions\n * @param args.options optional. GenerateTransactionOptions type\n *\n * @example\n * For a single signer entry function\n * move function name, move function type arguments, move function arguments\n * `\n * data: {\n * function:\"0x1::aptos_account::transfer\",\n * typeArguments:[]\n * functionArguments :[receiverAddress,10]\n * }\n * `\n *\n * @example\n * For a single signer script function\n * module bytecode, move function type arguments, move function arguments\n * ```\n * data: {\n * bytecode:\"0x001234567\",\n * typeArguments:[],\n * functionArguments :[receiverAddress,10]\n * }\n * ```\n *\n * @return An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n */\nexport async function generateTransaction(\n args: { aptosConfig: AptosConfig } & InputGenerateTransactionData,\n): Promise<AnyRawTransaction> {\n const { aptosConfig, sender, data, options, secondarySignerAddresses, hasFeePayer } = args;\n\n // Upate feePayerAddress if it has sponsor\n let feePayerAddress;\n if (hasFeePayer === true) {\n feePayerAddress = AccountAddress.ZERO.toString();\n }\n\n // Merge in aptosConfig for remote ABI on non-script payloads\n let generateTransactionPayloadData: InputGenerateTransactionPayloadDataWithRemoteABI;\n if (\"bytecode\" in data) {\n generateTransactionPayloadData = data;\n } else if (\"multisigAddress\" in data) {\n generateTransactionPayloadData = {\n aptosConfig,\n multisigAddress: data.multisigAddress,\n function: data.function,\n functionArguments: data.functionArguments,\n typeArguments: data.typeArguments,\n };\n } else {\n generateTransactionPayloadData = {\n aptosConfig,\n function: data.function,\n functionArguments: data.functionArguments,\n typeArguments: data.typeArguments,\n };\n }\n const payload = await generateTransactionPayload(generateTransactionPayloadData);\n return buildTransaction({\n aptosConfig,\n sender,\n payload,\n options,\n secondarySignerAddresses,\n feePayerAddress,\n });\n}\n\n/**\n * Sign a transaction that can later be submitted to chain\n *\n * @param args.signer The signer account to sign the transaction\n * @param args.transaction An instance of a RawTransaction, plus optional secondary/fee payer addresses\n * ```\n * {\n * rawTransaction: RawTransaction,\n * secondarySignerAddresses? : Array<AccountAddress>,\n * feePayerAddress?: AccountAddress\n * }\n * ```\n *\n * @return The signer AccountAuthenticator\n */\nexport function signTransaction(args: { signer: Account; transaction: AnyRawTransaction }): AccountAuthenticator {\n const accountAuthenticator = sign({ ...args });\n return accountAuthenticator;\n}\n\n/**\n * Simulates a transaction before singing it.\n *\n * @param args.signerPublicKey The signer public key\n * @param args.transaction The raw transaction to simulate\n * @param args.secondarySignersPublicKeys optional. For when the transaction is a multi signers transaction\n * @param args.feePayerPublicKey optional. For when the transaction is a fee payer (aka sponsored) transaction\n * @param args.options optional. A config to simulate the transaction with\n */\nexport async function simulateTransaction(\n args: { aptosConfig: AptosConfig } & InputSimulateTransactionData,\n): Promise<Array<UserTransactionResponse>> {\n const { aptosConfig, transaction, signerPublicKey, secondarySignersPublicKeys, feePayerPublicKey, options } = args;\n\n const signedTransaction = generateSignedTransactionForSimulation({\n transaction,\n signerPublicKey,\n secondarySignersPublicKeys,\n feePayerPublicKey,\n options,\n });\n\n const { data } = await postAptosFullNode<Uint8Array, Array<UserTransactionResponse>>({\n aptosConfig,\n body: signedTransaction,\n path: \"transactions/simulate\",\n params: {\n estimate_gas_unit_price: args.options?.estimateGasUnitPrice ?? false,\n estimate_max_gas_amount: args.options?.estimateMaxGasAmount ?? false,\n estimate_prioritized_gas_unit_price: args.options?.estimatePrioritizedGasUnitPrice ?? false,\n },\n originMethod: \"simulateTransaction\",\n contentType: MimeType.BCS_SIGNED_TRANSACTION,\n });\n return data;\n}\n\n/**\n * Submit transaction to chain\n *\n * @param args.transaction A aptos transaction type\n * @param args.senderAuthenticator The account authenticator of the transaction sender\n * @param args.secondarySignerAuthenticators optional. For when the transaction is a multi signers transaction\n *\n * @return PendingTransactionResponse\n */\nexport async function submitTransaction(\n args: {\n aptosConfig: AptosConfig;\n } & InputSubmitTransactionData,\n): Promise<PendingTransactionResponse> {\n const { aptosConfig } = args;\n const signedTransaction = generateSignedTransaction({ ...args });\n const { data } = await postAptosFullNode<Uint8Array, PendingTransactionResponse>({\n aptosConfig,\n body: signedTransaction,\n path: \"transactions\",\n originMethod: \"submitTransaction\",\n contentType: MimeType.BCS_SIGNED_TRANSACTION,\n });\n return data;\n}\n\nexport async function signAndSubmitTransaction(args: {\n aptosConfig: AptosConfig;\n signer: Account;\n transaction: AnyRawTransaction;\n}): Promise<PendingTransactionResponse> {\n const { aptosConfig, signer, transaction } = args;\n const authenticator = signTransaction({ signer, transaction });\n return submitTransaction({\n aptosConfig,\n transaction,\n senderAuthenticator: authenticator,\n });\n}\n\nexport async function publicPackageTransaction(args: {\n aptosConfig: AptosConfig;\n account: AccountAddressInput;\n metadataBytes: HexInput;\n moduleBytecode: Array<HexInput>;\n options?: InputGenerateTransactionOptions;\n}): Promise<InputSingleSignerTransaction> {\n const { aptosConfig, account, metadataBytes, moduleBytecode, options } = args;\n\n const totalByteCode = moduleBytecode.map((bytecode) => MoveVector.U8(bytecode));\n\n const transaction = await generateTransaction({\n aptosConfig,\n sender: AccountAddress.fromRelaxed(account),\n data: {\n function: \"0x1::code::publish_package_txn\",\n functionArguments: [MoveVector.U8(metadataBytes), new MoveVector(totalByteCode)],\n },\n options,\n });\n return transaction as InputSingleSignerTransaction;\n}\n\n/**\n * TODO: Need to refactor and move this function out of transactionSubmission\n */\nexport async function rotateAuthKey(args: {\n aptosConfig: AptosConfig;\n fromAccount: Account;\n toNewPrivateKey: PrivateKey;\n}): Promise<TransactionResponse> {\n const { aptosConfig, fromAccount, toNewPrivateKey } = args;\n const accountInfo = await getInfo({\n aptosConfig,\n accountAddress: fromAccount.accountAddress.toString(),\n });\n\n const newAccount = Account.fromPrivateKey({ privateKey: toNewPrivateKey, legacy: true });\n\n const challenge = new RotationProofChallenge({\n sequenceNumber: BigInt(accountInfo.sequence_number),\n originator: fromAccount.accountAddress,\n currentAuthKey: AccountAddress.from(accountInfo.authentication_key),\n newPublicKey: newAccount.publicKey,\n });\n\n // Sign the challenge\n const challengeHex = challenge.bcsToBytes();\n const proofSignedByCurrentPrivateKey = fromAccount.sign(challengeHex);\n const proofSignedByNewPrivateKey = newAccount.sign(challengeHex);\n\n // Generate transaction\n const rawTxn = await generateTransaction({\n aptosConfig,\n sender: fromAccount.accountAddress.toString(),\n data: {\n function: \"0x1::account::rotate_authentication_key\",\n functionArguments: [\n new U8(fromAccount.signingScheme.valueOf()), // from scheme\n MoveVector.U8(fromAccount.publicKey.toUint8Array()),\n new U8(newAccount.signingScheme.valueOf()), // to scheme\n MoveVector.U8(newAccount.publicKey.toUint8Array()),\n MoveVector.U8(proofSignedByCurrentPrivateKey.toUint8Array()),\n MoveVector.U8(proofSignedByNewPrivateKey.toUint8Array()),\n ],\n },\n });\n const pendingTxn = await signAndSubmitTransaction({\n aptosConfig,\n signer: fromAccount,\n transaction: rawTxn,\n });\n return pendingTxn;\n}\n"],"mappings":"oWA0EA,eAAsBA,EACpBC,EAC4B,CAC5B,GAAM,CAAE,YAAAC,EAAa,OAAAC,EAAQ,KAAAC,EAAM,QAAAC,EAAS,yBAAAC,EAA0B,YAAAC,CAAY,EAAIN,EAGlFO,EACAD,IAAgB,KAClBC,EAAkBC,EAAe,KAAK,SAAS,GAIjD,IAAIC,EACA,aAAcN,EAChBM,EAAiCN,EACxB,oBAAqBA,EAC9BM,EAAiC,CAC/B,YAAAR,EACA,gBAAiBE,EAAK,gBACtB,SAAUA,EAAK,SACf,kBAAmBA,EAAK,kBACxB,cAAeA,EAAK,aACtB,EAEAM,EAAiC,CAC/B,YAAAR,EACA,SAAUE,EAAK,SACf,kBAAmBA,EAAK,kBACxB,cAAeA,EAAK,aACtB,EAEF,IAAMO,EAAU,MAAMC,EAA2BF,CAA8B,EAC/E,OAAOG,EAAiB,CACtB,YAAAX,EACA,OAAAC,EACA,QAAAQ,EACA,QAAAN,EACA,yBAAAC,EACA,gBAAAE,CACF,CAAC,CACH,CAiBO,SAASM,EAAgBb,EAAiF,CAE/G,OAD6Bc,EAAK,CAAE,GAAGd,CAAK,CAAC,CAE/C,CAWA,eAAsBe,EACpBf,EACyC,CACzC,GAAM,CAAE,YAAAC,EAAa,YAAAe,EAAa,gBAAAC,EAAiB,2BAAAC,EAA4B,kBAAAC,EAAmB,QAAAf,CAAQ,EAAIJ,EAExGoB,EAAoBC,EAAuC,CAC/D,YAAAL,EACA,gBAAAC,EACA,2BAAAC,EACA,kBAAAC,EACA,QAAAf,CACF,CAAC,EAEK,CAAE,KAAAD,CAAK,EAAI,MAAMmB,EAA8D,CACnF,YAAArB,EACA,KAAMmB,EACN,KAAM,wBACN,OAAQ,CACN,wBAAyBpB,EAAK,SAAS,sBAAwB,GAC/D,wBAAyBA,EAAK,SAAS,sBAAwB,GAC/D,oCAAqCA,EAAK,SAAS,iCAAmC,EACxF,EACA,aAAc,sBACd,wDACF,CAAC,EACD,OAAOG,CACT,CAWA,eAAsBoB,EACpBvB,EAGqC,CACrC,GAAM,CAAE,YAAAC,CAAY,EAAID,EAClBoB,EAAoBI,EAA0B,CAAE,GAAGxB,CAAK,CAAC,EACzD,CAAE,KAAAG,CAAK,EAAI,MAAMmB,EAA0D,CAC/E,YAAArB,EACA,KAAMmB,EACN,KAAM,eACN,aAAc,oBACd,wDACF,CAAC,EACD,OAAOjB,CACT,CAEA,eAAsBsB,EAAyBzB,EAIP,CACtC,GAAM,CAAE,YAAAC,EAAa,OAAAyB,EAAQ,YAAAV,CAAY,EAAIhB,EACvC2B,EAAgBd,EAAgB,CAAE,OAAAa,EAAQ,YAAAV,CAAY,CAAC,EAC7D,OAAOO,EAAkB,CACvB,YAAAtB,EACA,YAAAe,EACA,oBAAqBW,CACvB,CAAC,CACH,CAEA,eAAsBC,EAAyB5B,EAML,CACxC,GAAM,CAAE,YAAAC,EAAa,QAAA4B,EAAS,cAAAC,EAAe,eAAAC,EAAgB,QAAA3B,CAAQ,EAAIJ,EAEnEgC,EAAgBD,EAAe,IAAKE,GAAaC,EAAW,GAAGD,CAAQ,CAAC,EAW9E,OAToB,MAAMlC,EAAoB,CAC5C,YAAAE,EACA,OAAQO,EAAe,YAAYqB,CAAO,EAC1C,KAAM,CACJ,SAAU,iCACV,kBAAmB,CAACK,EAAW,GAAGJ,CAAa,EAAG,IAAII,EAAWF,CAAa,CAAC,CACjF,EACA,QAAA5B,CACF,CAAC,CAEH,CAKA,eAAsB+B,EAAcnC,EAIH,CAC/B,GAAM,CAAE,YAAAC,EAAa,YAAAmC,EAAa,gBAAAC,CAAgB,EAAIrC,EAChDsC,EAAc,MAAMC,EAAQ,CAChC,YAAAtC,EACA,eAAgBmC,EAAY,eAAe,SAAS,CACtD,CAAC,EAEKI,EAAaC,EAAQ,eAAe,CAAE,WAAYJ,EAAiB,OAAQ,EAAK,CAAC,EAUjFK,EARY,IAAIC,EAAuB,CAC3C,eAAgB,OAAOL,EAAY,eAAe,EAClD,WAAYF,EAAY,eACxB,eAAgB5B,EAAe,KAAK8B,EAAY,kBAAkB,EAClE,aAAcE,EAAW,SAC3B,CAAC,EAG8B,WAAW,EACpCI,EAAiCR,EAAY,KAAKM,CAAY,EAC9DG,EAA6BL,EAAW,KAAKE,CAAY,EAGzDI,EAAS,MAAM/C,EAAoB,CACvC,YAAAE,EACA,OAAQmC,EAAY,eAAe,SAAS,EAC5C,KAAM,CACJ,SAAU,0CACV,kBAAmB,CACjB,IAAIW,EAAGX,EAAY,cAAc,QAAQ,CAAC,EAC1CF,EAAW,GAAGE,EAAY,UAAU,aAAa,CAAC,EAClD,IAAIW,EAAGP,EAAW,cAAc,QAAQ,CAAC,EACzCN,EAAW,GAAGM,EAAW,UAAU,aAAa,CAAC,EACjDN,EAAW,GAAGU,EAA+B,aAAa,CAAC,EAC3DV,EAAW,GAAGW,EAA2B,aAAa,CAAC,CACzD,CACF,CACF,CAAC,EAMD,OALmB,MAAMpB,EAAyB,CAChD,YAAAxB,EACA,OAAQmC,EACR,YAAaU,CACf,CAAC,CAEH","names":["generateTransaction","args","aptosConfig","sender","data","options","secondarySignerAddresses","hasFeePayer","feePayerAddress","AccountAddress","generateTransactionPayloadData","payload","generateTransactionPayload","buildTransaction","signTransaction","sign","simulateTransaction","transaction","signerPublicKey","secondarySignersPublicKeys","feePayerPublicKey","signedTransaction","generateSignedTransactionForSimulation","postAptosFullNode","submitTransaction","generateSignedTransaction","signAndSubmitTransaction","signer","authenticator","publicPackageTransaction","account","metadataBytes","moduleBytecode","totalByteCode","bytecode","MoveVector","rotateAuthKey","fromAccount","toNewPrivateKey","accountInfo","getInfo","newAccount","Account","challengeHex","RotationProofChallenge","proofSignedByCurrentPrivateKey","proofSignedByNewPrivateKey","rawTxn","U8"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-JTGGMXB7.mjs";import{a as b,b as g}from"./chunk-FNB6CFQR.mjs";import{a as h,c as p}from"./chunk-BIUGRAMO.mjs";import{b as A}from"./chunk-HH5RSP2H.mjs";import{a as y}from"./chunk-27P7PELS.mjs";var n=class extends y{static deserialize(r){let e=r.deserializeUleb128AsU32();switch(e){case 0:return a.load(r);case 1:return o.load(r);case 2:return d.load(r);case 3:return u.load(r);case 4:return l.load(r);default:throw new Error(`Unknown variant index for TransactionAuthenticator: ${e}`)}}},a=class extends n{constructor(e,s){super();this.public_key=e,this.signature=s}serialize(e){e.serializeU32AsUleb128(0),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let s=h.deserialize(e),t=p.deserialize(e);return new a(s,t)}},o=class extends n{constructor(e,s){super();this.public_key=e,this.signature=s}serialize(e){e.serializeU32AsUleb128(1),this.public_key.serialize(e),this.signature.serialize(e)}static load(e){let s=b.deserialize(e),t=g.deserialize(e);return new o(s,t)}},d=class extends n{constructor(e,s,t){super();this.sender=e,this.secondary_signer_addresses=s,this.secondary_signers=t}serialize(e){e.serializeU32AsUleb128(2),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers)}static load(e){let s=i.deserialize(e),t=e.deserializeVector(A),c=e.deserializeVector(i);return new d(s,t,c)}},u=class extends n{constructor(e,s,t,c){super();this.sender=e,this.secondary_signer_addresses=s,this.secondary_signers=t,this.fee_payer=c}serialize(e){e.serializeU32AsUleb128(3),this.sender.serialize(e),e.serializeVector(this.secondary_signer_addresses),e.serializeVector(this.secondary_signers),this.fee_payer.address.serialize(e),this.fee_payer.authenticator.serialize(e)}static load(e){let s=i.deserialize(e),t=e.deserializeVector(A),c=e.deserializeVector(i),_=A.deserialize(e),z=i.deserialize(e),S={address:_,authenticator:z};return new u(s,t,c,S)}},l=class extends n{constructor(e){super();this.sender=e}serialize(e){e.serializeU32AsUleb128(4),this.sender.serialize(e)}static load(e){let s=i.deserialize(e);return new l(s)}};export{n as a,a as b,o as c,d,u as e,l as f};
|
|
2
|
+
//# sourceMappingURL=chunk-ADR4XQPR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/authenticator/transaction.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/naming-convention */\n\nimport { AccountAuthenticator } from \"./account\";\nimport { Deserializer, Serializable, Serializer } from \"../../bcs\";\nimport { AccountAddress } from \"../../core\";\nimport { Ed25519PublicKey, Ed25519Signature } from \"../../core/crypto/ed25519\";\nimport { MultiEd25519PublicKey, MultiEd25519Signature } from \"../../core/crypto/multiEd25519\";\nimport { TransactionAuthenticatorVariant } from \"../../types\";\n\nexport abstract class TransactionAuthenticator extends Serializable {\n abstract serialize(serializer: Serializer): void;\n\n static deserialize(deserializer: Deserializer): TransactionAuthenticator {\n const index = deserializer.deserializeUleb128AsU32();\n switch (index) {\n case TransactionAuthenticatorVariant.Ed25519:\n return TransactionAuthenticatorEd25519.load(deserializer);\n case TransactionAuthenticatorVariant.MultiEd25519:\n return TransactionAuthenticatorMultiEd25519.load(deserializer);\n case TransactionAuthenticatorVariant.MultiAgent:\n return TransactionAuthenticatorMultiAgent.load(deserializer);\n case TransactionAuthenticatorVariant.FeePayer:\n return TransactionAuthenticatorFeePayer.load(deserializer);\n case TransactionAuthenticatorVariant.SingleSender:\n return TransactionAuthenticatorSingleSender.load(deserializer);\n default:\n throw new Error(`Unknown variant index for TransactionAuthenticator: ${index}`);\n }\n }\n}\n\n/**\n * Transaction authenticator Ed25519 for a single signer transaction\n *\n * @param public_key Client's public key.\n * @param signature Ed25519 signature of a raw transaction.\n * @see {@link https://aptos.dev/integration/creating-a-signed-transaction | Creating a Signed Transaction}\n * for details about generating a signature.\n */\nexport class TransactionAuthenticatorEd25519 extends TransactionAuthenticator {\n public readonly public_key: Ed25519PublicKey;\n\n public readonly signature: Ed25519Signature;\n\n constructor(public_key: Ed25519PublicKey, signature: Ed25519Signature) {\n super();\n this.public_key = public_key;\n this.signature = signature;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.Ed25519);\n this.public_key.serialize(serializer);\n this.signature.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TransactionAuthenticatorEd25519 {\n const public_key = Ed25519PublicKey.deserialize(deserializer);\n const signature = Ed25519Signature.deserialize(deserializer);\n return new TransactionAuthenticatorEd25519(public_key, signature);\n }\n}\n\n/**\n * Transaction authenticator Ed25519 for a multi signers transaction\n *\n * @param public_key Client's public key.\n * @param signature Multi Ed25519 signature of a raw transaction.\n *\n */\nexport class TransactionAuthenticatorMultiEd25519 extends TransactionAuthenticator {\n public readonly public_key: MultiEd25519PublicKey;\n\n public readonly signature: MultiEd25519Signature;\n\n constructor(public_key: MultiEd25519PublicKey, signature: MultiEd25519Signature) {\n super();\n this.public_key = public_key;\n this.signature = signature;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.MultiEd25519);\n this.public_key.serialize(serializer);\n this.signature.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TransactionAuthenticatorMultiEd25519 {\n const public_key = MultiEd25519PublicKey.deserialize(deserializer);\n const signature = MultiEd25519Signature.deserialize(deserializer);\n return new TransactionAuthenticatorMultiEd25519(public_key, signature);\n }\n}\n\n/**\n * Transaction authenticator for a multi-agent transaction\n *\n * @param sender Sender account authenticator\n * @param secondary_signer_addresses Secondary signers address\n * @param secondary_signers Secondary signers account authenticators\n *\n */\nexport class TransactionAuthenticatorMultiAgent extends TransactionAuthenticator {\n public readonly sender: AccountAuthenticator;\n\n public readonly secondary_signer_addresses: Array<AccountAddress>;\n\n public readonly secondary_signers: Array<AccountAuthenticator>;\n\n constructor(\n sender: AccountAuthenticator,\n secondary_signer_addresses: Array<AccountAddress>,\n secondary_signers: Array<AccountAuthenticator>,\n ) {\n super();\n this.sender = sender;\n this.secondary_signer_addresses = secondary_signer_addresses;\n this.secondary_signers = secondary_signers;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.MultiAgent);\n this.sender.serialize(serializer);\n serializer.serializeVector<AccountAddress>(this.secondary_signer_addresses);\n serializer.serializeVector<AccountAuthenticator>(this.secondary_signers);\n }\n\n static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {\n const sender = AccountAuthenticator.deserialize(deserializer);\n const secondary_signer_addresses = deserializer.deserializeVector(AccountAddress);\n const secondary_signers = deserializer.deserializeVector(AccountAuthenticator);\n return new TransactionAuthenticatorMultiAgent(sender, secondary_signer_addresses, secondary_signers);\n }\n}\n\n/**\n * Transaction authenticator for a fee payer transaction\n *\n * @param sender Sender account authenticator\n * @param secondary_signer_addresses Secondary signers address\n * @param secondary_signers Secondary signers account authenticators\n * @param fee_payer Object of the fee payer account address and the fee payer authentication\n *\n */\nexport class TransactionAuthenticatorFeePayer extends TransactionAuthenticator {\n public readonly sender: AccountAuthenticator;\n\n public readonly secondary_signer_addresses: Array<AccountAddress>;\n\n public readonly secondary_signers: Array<AccountAuthenticator>;\n\n public readonly fee_payer: {\n address: AccountAddress;\n authenticator: AccountAuthenticator;\n };\n\n constructor(\n sender: AccountAuthenticator,\n secondary_signer_addresses: Array<AccountAddress>,\n secondary_signers: Array<AccountAuthenticator>,\n fee_payer: { address: AccountAddress; authenticator: AccountAuthenticator },\n ) {\n super();\n this.sender = sender;\n this.secondary_signer_addresses = secondary_signer_addresses;\n this.secondary_signers = secondary_signers;\n this.fee_payer = fee_payer;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.FeePayer);\n this.sender.serialize(serializer);\n serializer.serializeVector<AccountAddress>(this.secondary_signer_addresses);\n serializer.serializeVector<AccountAuthenticator>(this.secondary_signers);\n this.fee_payer.address.serialize(serializer);\n this.fee_payer.authenticator.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TransactionAuthenticatorMultiAgent {\n const sender = AccountAuthenticator.deserialize(deserializer);\n const secondary_signer_addresses = deserializer.deserializeVector(AccountAddress);\n const secondary_signers = deserializer.deserializeVector(AccountAuthenticator);\n const address = AccountAddress.deserialize(deserializer);\n const authenticator = AccountAuthenticator.deserialize(deserializer);\n const fee_payer = { address, authenticator };\n return new TransactionAuthenticatorFeePayer(sender, secondary_signer_addresses, secondary_signers, fee_payer);\n }\n}\n\n/**\n * Single Sender authenticator for a single signer transaction\n *\n * @param sender AccountAuthenticator\n */\nexport class TransactionAuthenticatorSingleSender extends TransactionAuthenticator {\n public readonly sender: AccountAuthenticator;\n\n constructor(sender: AccountAuthenticator) {\n super();\n this.sender = sender;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TransactionAuthenticatorVariant.SingleSender);\n this.sender.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TransactionAuthenticatorSingleSender {\n const sender = AccountAuthenticator.deserialize(deserializer);\n return new TransactionAuthenticatorSingleSender(sender);\n }\n}\n"],"mappings":"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","names":["TransactionAuthenticator","Serializable","deserializer","index","TransactionAuthenticatorEd25519","TransactionAuthenticatorMultiEd25519","TransactionAuthenticatorMultiAgent","TransactionAuthenticatorFeePayer","TransactionAuthenticatorSingleSender","public_key","signature","serializer","Ed25519PublicKey","Ed25519Signature","MultiEd25519PublicKey","MultiEd25519Signature","sender","secondary_signer_addresses","secondary_signers","AccountAuthenticator","AccountAddress","fee_payer","address","authenticator"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var n=new Map;function m(r,e,t){return async(...s)=>{if(n.has(e)){let{value:i,timestamp:u}=n.get(e);if(t===void 0||Date.now()-u<=t)return i}let a=await r(...s);return n.set(e,{value:a,timestamp:Date.now()}),a}}function o(r,e,t){return(...s)=>{if(n.has(e)){let{value:i,timestamp:u}=n.get(e);if(t===void 0||Date.now()-u<=t)return i}let a=r(...s);return n.set(e,{value:a,timestamp:Date.now()}),a}}export{m as a,o as b};
|
|
2
|
+
//# sourceMappingURL=chunk-AH44UPM4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/memoize.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * The global cache Map shared across all functions. Must keep care to ensure that the\n * cache keys are unique across all functions.\n */\nconst cache = new Map<string, { value: any; timestamp: number }>();\n\n/**\n * A memoize high order function to cache async function response\n *\n * @param func An async function to cache the result of\n * @param key The provided cache key\n * @param ttlMs time-to-live in milliseconds for cached data\n * @returns the cached or latest result\n */\nexport function memoizeAsync<T>(\n func: (...args: any[]) => Promise<T>,\n key: string,\n ttlMs?: number,\n): (...args: any[]) => Promise<T> {\n return async (...args: any[]) => {\n // Check if the cached result exists and is within TTL\n if (cache.has(key)) {\n const { value, timestamp } = cache.get(key)!;\n if (ttlMs === undefined || Date.now() - timestamp <= ttlMs) {\n return value;\n }\n }\n\n // If not cached or TTL expired, compute the result\n const result = await func(...args);\n\n // Cache the result with a timestamp\n cache.set(key, { value: result, timestamp: Date.now() });\n\n return result;\n };\n}\n\n/**\n * A memoize high order function to cache function response\n *\n * @param func A function to cache the result of\n * @param key The provided cache key\n * @param ttlMs time-to-live in milliseconds for cached data\n * @returns the cached or latest result\n */\nexport function memoize<T>(func: (...args: any[]) => T, key: string, ttlMs?: number): (...args: any[]) => T {\n return (...args: any[]) => {\n // Check if the cached result exists and is within TTL\n if (cache.has(key)) {\n const { value, timestamp } = cache.get(key)!;\n if (ttlMs === undefined || Date.now() - timestamp <= ttlMs) {\n return value;\n }\n }\n\n // If not cached or TTL expired, compute the result\n const result = func(...args);\n\n // Cache the result with a timestamp\n cache.set(key, { value: result, timestamp: Date.now() });\n\n return result;\n };\n}\n"],"mappings":"AAOA,IAAMA,EAAQ,IAAI,IAUX,SAASC,EACdC,EACAC,EACAC,EACgC,CAChC,MAAO,UAAUC,IAAgB,CAE/B,GAAIL,EAAM,IAAIG,CAAG,EAAG,CAClB,GAAM,CAAE,MAAAG,EAAO,UAAAC,CAAU,EAAIP,EAAM,IAAIG,CAAG,EAC1C,GAAIC,IAAU,QAAa,KAAK,IAAI,EAAIG,GAAaH,EACnD,OAAOE,CAEX,CAGA,IAAME,EAAS,MAAMN,EAAK,GAAGG,CAAI,EAGjC,OAAAL,EAAM,IAAIG,EAAK,CAAE,MAAOK,EAAQ,UAAW,KAAK,IAAI,CAAE,CAAC,EAEhDA,CACT,CACF,CAUO,SAASC,EAAWP,EAA6BC,EAAaC,EAAuC,CAC1G,MAAO,IAAIC,IAAgB,CAEzB,GAAIL,EAAM,IAAIG,CAAG,EAAG,CAClB,GAAM,CAAE,MAAAG,EAAO,UAAAC,CAAU,EAAIP,EAAM,IAAIG,CAAG,EAC1C,GAAIC,IAAU,QAAa,KAAK,IAAI,EAAIG,GAAaH,EACnD,OAAOE,CAEX,CAGA,IAAME,EAASN,EAAK,GAAGG,CAAI,EAG3B,OAAAL,EAAM,IAAIG,EAAK,CAAE,MAAOK,EAAQ,UAAW,KAAK,IAAI,CAAE,CAAC,EAEhDA,CACT,CACF","names":["cache","memoizeAsync","func","key","ttlMs","args","value","timestamp","result","memoize"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as s}from"./chunk-2MQZUGO6.mjs";async function o(e){let{type:p,originMethod:n,path:i,body:r,acceptType:R,contentType:y,params:u,aptosConfig:t,overrides:m}=e,c=t.getRequestUrl(p);return s({url:c,method:"POST",originMethod:n,path:i,body:r,contentType:y?.valueOf(),acceptType:R?.valueOf(),params:u,overrides:{...t.clientConfig,...m}},t)}async function f(e){return o({...e,type:0})}async function g(e){return o({...e,type:1})}async function d(e){return o({...e,type:2})}export{o as a,f as b,g as c,d};
|
|
2
|
+
//# sourceMappingURL=chunk-AY2HWVDO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/client/post.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport { AptosConfig } from \"../api/aptosConfig\";\nimport { aptosRequest } from \"./core\";\nimport { AptosResponse } from \"./types\";\nimport { AnyNumber, ClientConfig, MimeType } from \"../types\";\nimport { AptosApiType } from \"../utils/const\";\n\nexport type PostRequestOptions = {\n /**\n * The config for the API client\n */\n aptosConfig: AptosConfig;\n /**\n * The type of API endpoint to call e.g. fullnode, indexer, etc\n */\n type: AptosApiType;\n /**\n * The name of the API method\n */\n originMethod: string;\n /**\n * The URL path to the API method\n */\n path: string;\n /**\n * The content type of the request body\n */\n contentType?: MimeType;\n /**\n * The accepted content type of the response of the API\n */\n acceptType?: MimeType;\n /**\n * The query parameters for the request\n */\n params?: Record<string, string | AnyNumber | boolean | undefined>;\n /**\n * The body of the request, should match the content type of the request\n */\n body?: any;\n /**\n * Specific client overrides for this request to override aptosConfig\n */\n overrides?: ClientConfig;\n};\n\nexport type PostAptosRequestOptions = Omit<PostRequestOptions, \"type\">;\n\n/**\n * Main function to do a Post request\n *\n * @param options PostRequestOptions\n * @returns\n */\nexport async function post<Req, Res>(options: PostRequestOptions): Promise<AptosResponse<Req, Res>> {\n const { type, originMethod, path, body, acceptType, contentType, params, aptosConfig, overrides } = options;\n const url = aptosConfig.getRequestUrl(type);\n\n return aptosRequest<Req, Res>(\n {\n url,\n method: \"POST\",\n originMethod,\n path,\n body,\n contentType: contentType?.valueOf(),\n acceptType: acceptType?.valueOf(),\n params,\n overrides: {\n ...aptosConfig.clientConfig,\n ...overrides,\n },\n },\n aptosConfig,\n );\n}\n\nexport async function postAptosFullNode<Req, Res>(options: PostAptosRequestOptions): Promise<AptosResponse<Req, Res>> {\n return post<Req, Res>({ ...options, type: AptosApiType.FULLNODE });\n}\n\nexport async function postAptosIndexer<Req, Res>(options: PostAptosRequestOptions): Promise<AptosResponse<Req, Res>> {\n return post<Req, Res>({ ...options, type: AptosApiType.INDEXER });\n}\n\nexport async function postAptosFaucet<Req, Res>(options: PostAptosRequestOptions): Promise<AptosResponse<Req, Res>> {\n return post<Req, Res>({ ...options, type: AptosApiType.FAUCET });\n}\n"],"mappings":"yCAwDA,eAAsBA,EAAeC,EAA+D,CAClG,GAAM,CAAE,KAAAC,EAAM,aAAAC,EAAc,KAAAC,EAAM,KAAAC,EAAM,WAAAC,EAAY,YAAAC,EAAa,OAAAC,EAAQ,YAAAC,EAAa,UAAAC,CAAU,EAAIT,EAC9FU,EAAMF,EAAY,cAAcP,CAAI,EAE1C,OAAOU,EACL,CACE,IAAAD,EACA,OAAQ,OACR,aAAAR,EACA,KAAAC,EACA,KAAAC,EACA,YAAaE,GAAa,QAAQ,EAClC,WAAYD,GAAY,QAAQ,EAChC,OAAAE,EACA,UAAW,CACT,GAAGC,EAAY,aACf,GAAGC,CACL,CACF,EACAD,CACF,CACF,CAEA,eAAsBI,EAA4BZ,EAAoE,CACpH,OAAOD,EAAe,CAAE,GAAGC,EAAS,MAA4B,CAAC,CACnE,CAEA,eAAsBa,EAA2Bb,EAAoE,CACnH,OAAOD,EAAe,CAAE,GAAGC,EAAS,MAA2B,CAAC,CAClE,CAEA,eAAsBc,EAA0Bd,EAAoE,CAClH,OAAOD,EAAe,CAAE,GAAGC,EAAS,MAA0B,CAAC,CACjE","names":["post","options","type","originMethod","path","body","acceptType","contentType","params","aptosConfig","overrides","url","aptosRequest","postAptosFullNode","postAptosIndexer","postAptosFaucet"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{c as t}from"./chunk-DNDWTM7A.mjs";var n=class{constructor(e){this.buffer=new ArrayBuffer(e.length),new Uint8Array(this.buffer).set(e,0),this.offset=0}read(e){if(this.offset+e>this.buffer.byteLength)throw new Error("Reached to the end of buffer");let i=this.buffer.slice(this.offset,this.offset+e);return this.offset+=e,i}deserializeStr(){let e=this.deserializeBytes();return new TextDecoder().decode(e)}deserializeBytes(){let e=this.deserializeUleb128AsU32();return new Uint8Array(this.read(e))}deserializeFixedBytes(e){return new Uint8Array(this.read(e))}deserializeBool(){let e=new Uint8Array(this.read(1))[0];if(e!==1&&e!==0)throw new Error("Invalid boolean value");return e===1}deserializeU8(){return new DataView(this.read(1)).getUint8(0)}deserializeU16(){return new DataView(this.read(2)).getUint16(0,!0)}deserializeU32(){return new DataView(this.read(4)).getUint32(0,!0)}deserializeU64(){let e=this.deserializeU32(),i=this.deserializeU32();return BigInt(BigInt(i)<<BigInt(32)|BigInt(e))}deserializeU128(){let e=this.deserializeU64(),i=this.deserializeU64();return BigInt(i<<BigInt(64)|e)}deserializeU256(){let e=this.deserializeU128(),i=this.deserializeU128();return BigInt(i<<BigInt(128)|e)}deserializeUleb128AsU32(){let e=BigInt(0),i=0;for(;e<t;){let r=this.deserializeU8();if(e|=BigInt(r&127)<<BigInt(i),(r&128)===0)break;i+=7}if(e>t)throw new Error("Overflow while parsing uleb128-encoded uint32 value");return Number(e)}deserialize(e){return e.deserialize(this)}deserializeVector(e){let i=this.deserializeUleb128AsU32(),r=new Array;for(let s=0;s<i;s+=1)r.push(this.deserialize(e));return r}};export{n as a};
|
|
2
|
+
//# sourceMappingURL=chunk-BC2NOUYT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/bcs/deserializer.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable no-bitwise */\nimport { MAX_U32_NUMBER } from \"./consts\";\nimport { Uint8, Uint16, Uint32, Uint64, Uint128, Uint256 } from \"../types\";\n\n/**\n * This interface exists to define Deserializable<T> inputs for functions that\n * deserialize a byte buffer into a type T.\n * It is not intended to be implemented or extended, because Typescript has no support\n * for static methods in interfaces.\n */\nexport interface Deserializable<T> {\n deserialize(deserializer: Deserializer): T;\n}\n\nexport class Deserializer {\n private buffer: ArrayBuffer;\n\n private offset: number;\n\n constructor(data: Uint8Array) {\n // copies data to prevent outside mutation of buffer.\n this.buffer = new ArrayBuffer(data.length);\n new Uint8Array(this.buffer).set(data, 0);\n this.offset = 0;\n }\n\n private read(length: number): ArrayBuffer {\n if (this.offset + length > this.buffer.byteLength) {\n throw new Error(\"Reached to the end of buffer\");\n }\n\n const bytes = this.buffer.slice(this.offset, this.offset + length);\n this.offset += length;\n return bytes;\n }\n\n /**\n * Deserializes a string. UTF8 string is supported. Reads the string's bytes length \"l\" first,\n * and then reads \"l\" bytes of content. Decodes the byte array into a string.\n *\n * BCS layout for \"string\": string_length | string_content\n * where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.\n *\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([8, 49, 50, 51, 52, 97, 98, 99, 100]));\n * assert(deserializer.deserializeStr() === \"1234abcd\");\n * ```\n */\n deserializeStr(): string {\n const value = this.deserializeBytes();\n const textDecoder = new TextDecoder();\n return textDecoder.decode(value);\n }\n\n /**\n * Deserializes an array of bytes.\n *\n * BCS layout for \"bytes\": bytes_length | bytes\n * where bytes_length is a u32 integer encoded as a uleb128 integer, equal to the length of the bytes array.\n */\n deserializeBytes(): Uint8Array {\n const len = this.deserializeUleb128AsU32();\n return new Uint8Array(this.read(len));\n }\n\n /**\n * Deserializes an array of bytes. The number of bytes to read is already known.\n *\n */\n deserializeFixedBytes(len: number): Uint8Array {\n return new Uint8Array(this.read(len));\n }\n\n /**\n * Deserializes a boolean value.\n *\n * BCS layout for \"boolean\": One byte. \"0x01\" for true and \"0x00\" for false.\n */\n deserializeBool(): boolean {\n const bool = new Uint8Array(this.read(1))[0];\n if (bool !== 1 && bool !== 0) {\n throw new Error(\"Invalid boolean value\");\n }\n return bool === 1;\n }\n\n /**\n * Deserializes a uint8 number.\n *\n * BCS layout for \"uint8\": One byte. Binary format in little-endian representation.\n */\n deserializeU8(): Uint8 {\n return new DataView(this.read(1)).getUint8(0);\n }\n\n /**\n * Deserializes a uint16 number.\n *\n * BCS layout for \"uint16\": Two bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x34, 0x12]));\n * assert(deserializer.deserializeU16() === 4660);\n * ```\n */\n deserializeU16(): Uint16 {\n return new DataView(this.read(2)).getUint16(0, true);\n }\n\n /**\n * Deserializes a uint32 number.\n *\n * BCS layout for \"uint32\": Four bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x78, 0x56, 0x34, 0x12]));\n * assert(deserializer.deserializeU32() === 305419896);\n * ```\n */\n deserializeU32(): Uint32 {\n return new DataView(this.read(4)).getUint32(0, true);\n }\n\n /**\n * Deserializes a uint64 number.\n *\n * BCS layout for \"uint64\": Eight bytes. Binary format in little-endian representation.\n * @example\n * ```ts\n * const deserializer = new Deserializer(new Uint8Array([0x00, 0xEF, 0xCD, 0xAB, 0x78, 0x56, 0x34, 0x12]));\n * assert(deserializer.deserializeU64() === 1311768467750121216);\n * ```\n */\n deserializeU64(): Uint64 {\n const low = this.deserializeU32();\n const high = this.deserializeU32();\n\n // combine the two 32-bit values and return (little endian)\n return BigInt((BigInt(high) << BigInt(32)) | BigInt(low));\n }\n\n /**\n * Deserializes a uint128 number.\n *\n * BCS layout for \"uint128\": Sixteen bytes. Binary format in little-endian representation.\n */\n deserializeU128(): Uint128 {\n const low = this.deserializeU64();\n const high = this.deserializeU64();\n\n // combine the two 64-bit values and return (little endian)\n return BigInt((high << BigInt(64)) | low);\n }\n\n /**\n * Deserializes a uint256 number.\n *\n * BCS layout for \"uint256\": Thirty-two bytes. Binary format in little-endian representation.\n */\n deserializeU256(): Uint256 {\n const low = this.deserializeU128();\n const high = this.deserializeU128();\n\n // combine the two 128-bit values and return (little endian)\n return BigInt((high << BigInt(128)) | low);\n }\n\n /**\n * Deserializes a uleb128 encoded uint32 number.\n *\n * BCS use uleb128 encoding in two cases: (1) lengths of variable-length sequences and (2) tags of enum values\n */\n deserializeUleb128AsU32(): Uint32 {\n let value: bigint = BigInt(0);\n let shift = 0;\n\n while (value < MAX_U32_NUMBER) {\n const byte = this.deserializeU8();\n value |= BigInt(byte & 0x7f) << BigInt(shift);\n\n if ((byte & 0x80) === 0) {\n break;\n }\n shift += 7;\n }\n\n if (value > MAX_U32_NUMBER) {\n throw new Error(\"Overflow while parsing uleb128-encoded uint32 value\");\n }\n\n return Number(value);\n }\n\n /**\n * Helper function that primarily exists to support alternative syntax for deserialization.\n * That is, if we have a `const deserializer: new Deserializer(...)`, instead of having to use\n * `MyClass.deserialize(deserializer)`, we can call `deserializer.deserialize(MyClass)`.\n *\n * @example const deserializer = new Deserializer(new Uint8Array([1, 2, 3]));\n * const value = deserializer.deserialize(MyClass); // where MyClass has a `deserialize` function\n * // value is now an instance of MyClass\n * // equivalent to `const value = MyClass.deserialize(deserializer)`\n * @param cls The BCS-deserializable class to deserialize the buffered bytes into.\n *\n * @returns the deserialized value of class type T\n */\n deserialize<T>(cls: Deserializable<T>): T {\n // NOTE: `deserialize` in `cls.deserialize(this)` here is a static method defined in `cls`,\n // It is separate from the `deserialize` instance method defined here in Deserializer.\n return cls.deserialize(this);\n }\n\n /**\n * Deserializes an array of BCS Deserializable values given an existing Deserializer\n * instance with a loaded byte buffer.\n *\n * @param cls The BCS-deserializable class to deserialize the buffered bytes into.\n * @example\n * // serialize a vector of addresses\n * const addresses = new Array<AccountAddress>(\n * AccountAddress.fromRelaxed(\"0x1\"),\n * AccountAddress.fromRelaxed(\"0x2\"),\n * AccountAddress.fromRelaxed(\"0xa\"),\n * AccountAddress.fromRelaxed(\"0xb\"),\n * );\n * const serializer = new Serializer();\n * serializer.serializeVector(addresses);\n * const serializedBytes = serializer.toUint8Array();\n *\n * // deserialize the bytes into an array of addresses\n * const deserializer = new Deserializer(serializedBytes);\n * const deserializedAddresses = deserializer.deserializeVector(AccountAddress);\n * // deserializedAddresses is now an array of AccountAddress instances\n * @returns an array of deserialized values of type T\n */\n deserializeVector<T>(cls: Deserializable<T>): Array<T> {\n const length = this.deserializeUleb128AsU32();\n const vector = new Array<T>();\n for (let i = 0; i < length; i += 1) {\n vector.push(this.deserialize(cls));\n }\n return vector;\n }\n}\n"],"mappings":"yCAiBO,IAAMA,EAAN,KAAmB,CAKxB,YAAYC,EAAkB,CAE5B,KAAK,OAAS,IAAI,YAAYA,EAAK,MAAM,EACzC,IAAI,WAAW,KAAK,MAAM,EAAE,IAAIA,EAAM,CAAC,EACvC,KAAK,OAAS,CAChB,CAEQ,KAAKC,EAA6B,CACxC,GAAI,KAAK,OAASA,EAAS,KAAK,OAAO,WACrC,MAAM,IAAI,MAAM,8BAA8B,EAGhD,IAAMC,EAAQ,KAAK,OAAO,MAAM,KAAK,OAAQ,KAAK,OAASD,CAAM,EACjE,YAAK,QAAUA,EACRC,CACT,CAeA,gBAAyB,CACvB,IAAMC,EAAQ,KAAK,iBAAiB,EAEpC,OADoB,IAAI,YAAY,EACjB,OAAOA,CAAK,CACjC,CAQA,kBAA+B,CAC7B,IAAMC,EAAM,KAAK,wBAAwB,EACzC,OAAO,IAAI,WAAW,KAAK,KAAKA,CAAG,CAAC,CACtC,CAMA,sBAAsBA,EAAyB,CAC7C,OAAO,IAAI,WAAW,KAAK,KAAKA,CAAG,CAAC,CACtC,CAOA,iBAA2B,CACzB,IAAMC,EAAO,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC,EAAE,GAC1C,GAAIA,IAAS,GAAKA,IAAS,EACzB,MAAM,IAAI,MAAM,uBAAuB,EAEzC,OAAOA,IAAS,CAClB,CAOA,eAAuB,CACrB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAC9C,CAYA,gBAAyB,CACvB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,UAAU,EAAG,EAAI,CACrD,CAYA,gBAAyB,CACvB,OAAO,IAAI,SAAS,KAAK,KAAK,CAAC,CAAC,EAAE,UAAU,EAAG,EAAI,CACrD,CAYA,gBAAyB,CACvB,IAAMC,EAAM,KAAK,eAAe,EAC1BC,EAAO,KAAK,eAAe,EAGjC,OAAO,OAAQ,OAAOA,CAAI,GAAK,OAAO,EAAE,EAAK,OAAOD,CAAG,CAAC,CAC1D,CAOA,iBAA2B,CACzB,IAAMA,EAAM,KAAK,eAAe,EAC1BC,EAAO,KAAK,eAAe,EAGjC,OAAO,OAAQA,GAAQ,OAAO,EAAE,EAAKD,CAAG,CAC1C,CAOA,iBAA2B,CACzB,IAAMA,EAAM,KAAK,gBAAgB,EAC3BC,EAAO,KAAK,gBAAgB,EAGlC,OAAO,OAAQA,GAAQ,OAAO,GAAG,EAAKD,CAAG,CAC3C,CAOA,yBAAkC,CAChC,IAAIH,EAAgB,OAAO,CAAC,EACxBK,EAAQ,EAEZ,KAAOL,EAAQM,GAAgB,CAC7B,IAAMC,EAAO,KAAK,cAAc,EAGhC,GAFAP,GAAS,OAAOO,EAAO,GAAI,GAAK,OAAOF,CAAK,GAEvCE,EAAO,OAAU,EACpB,MAEFF,GAAS,CACX,CAEA,GAAIL,EAAQM,EACV,MAAM,IAAI,MAAM,qDAAqD,EAGvE,OAAO,OAAON,CAAK,CACrB,CAeA,YAAeQ,EAA2B,CAGxC,OAAOA,EAAI,YAAY,IAAI,CAC7B,CAyBA,kBAAqBA,EAAkC,CACrD,IAAMV,EAAS,KAAK,wBAAwB,EACtCW,EAAS,IAAI,MACnB,QAASC,EAAI,EAAGA,EAAIZ,EAAQY,GAAK,EAC/BD,EAAO,KAAK,KAAK,YAAYD,CAAG,CAAC,EAEnC,OAAOC,CACT,CACF","names":["Deserializer","data","length","bytes","value","len","bool","low","high","shift","MAX_U32_NUMBER","byte","cls","vector","i"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as p,b as m,c as H}from"./chunk-E72CFUU4.mjs";import{d as E,f as x,g as z,h as S,i as f,j as P}from"./chunk-LR65XHSF.mjs";import{b as i}from"./chunk-IZHPCZE3.mjs";import y from"tweetnacl";var n=class extends p{constructor(e){super();let r=i.fromHexInput(e);if(r.toUint8Array().length!==n.LENGTH)throw new Error(`PublicKey length should be ${n.LENGTH}`);this.key=r}toUint8Array(){return this.key.toUint8Array()}toString(){return this.key.toString()}verifySignature(e){let{message:r,signature:a}=e,u=i.fromHexInput(r).toUint8Array(),d=a.toUint8Array();return y.sign.detached.verify(u,d,this.key.toUint8Array())}serialize(e){e.serializeBytes(this.key.toUint8Array())}static deserialize(e){let r=e.deserializeBytes();return new n(r)}static load(e){let r=e.deserializeBytes();return new n(r)}},l=n;l.LENGTH=32;var t=class extends m{constructor(e){super();let r=i.fromHexInput(e);if(r.toUint8Array().length!==t.LENGTH)throw new Error(`PrivateKey length should be ${t.LENGTH}`);this.signingKeyPair=y.sign.keyPair.fromSeed(r.toUint8Array().slice(0,t.LENGTH))}toUint8Array(){return this.signingKeyPair.secretKey.slice(0,t.LENGTH)}toString(){return i.fromHexInput(this.toUint8Array()).toString()}sign(e){let r=i.fromHexInput(e),a=y.sign.detached(r.toUint8Array(),this.signingKeyPair.secretKey);return new c(a)}serialize(e){e.serializeBytes(this.toUint8Array())}static deserialize(e){let r=e.deserializeBytes();return new t(r)}static generate(){let e=y.sign.keyPair();return new t(e.secretKey.slice(0,t.LENGTH))}publicKey(){let e=this.signingKeyPair.publicKey;return new l(e)}static fromDerivationPath(e,r){if(!x(e))throw new Error(`Invalid derivation path ${e}`);return t.fromDerivationPathInner(e,P(r))}static fromDerivationPathInner(e,r,a=E){let{key:u,chainCode:d}=z(t.SLIP_0010_SEED,r),A=f(e).map(g=>parseInt(g,10)),{key:v}=A.reduce((g,K)=>S(g,K+a),{key:u,chainCode:d});return new t(v)}},o=t;o.LENGTH=32,o.SLIP_0010_SEED="ed25519 seed";var s=class extends H{constructor(e){super();let r=i.fromHexInput(e);if(r.toUint8Array().length!==s.LENGTH)throw new Error(`Signature length should be ${s.LENGTH}`);this.data=r}toUint8Array(){return this.data.toUint8Array()}toString(){return this.data.toString()}serialize(e){e.serializeBytes(this.data.toUint8Array())}static deserialize(e){let r=e.deserializeBytes();return new s(r)}static load(e){let r=e.deserializeBytes();return new s(r)}},c=s;c.LENGTH=64;export{l as a,o as b,c};
|
|
2
|
+
//# sourceMappingURL=chunk-BIUGRAMO.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/crypto/ed25519.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\nimport nacl from \"tweetnacl\";\nimport { PublicKey, PrivateKey, Signature } from \"./asymmetricCrypto\";\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializer } from \"../../bcs/serializer\";\nimport { Hex } from \"../hex\";\nimport { HexInput } from \"../../types\";\nimport { CKDPriv, deriveKey, HARDENED_OFFSET, isValidHardenedPath, mnemonicToSeed, splitPath } from \"./hdKey\";\n\n/**\n * Represents the public key of an Ed25519 key pair.\n *\n * Since [AIP-55](https://github.com/aptos-foundation/AIPs/pull/263) Aptos supports\n * `Legacy` and `Unified` authentication keys.\n *\n * Ed25519 scheme is represented in the SDK as `Legacy authentication key` and also\n * as `AnyPublicKey` that represents any `Unified authentication key`\n */\nexport class Ed25519PublicKey extends PublicKey {\n /**\n * Length of an Ed25519 public key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * Bytes of the public key\n * @private\n */\n private readonly key: Hex;\n\n /**\n * Create a new PublicKey instance from a Uint8Array or String.\n *\n * @param hexInput A HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const hex = Hex.fromHexInput(hexInput);\n if (hex.toUint8Array().length !== Ed25519PublicKey.LENGTH) {\n throw new Error(`PublicKey length should be ${Ed25519PublicKey.LENGTH}`);\n }\n this.key = hex;\n }\n\n /**\n * Get the public key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the public key\n */\n toUint8Array(): Uint8Array {\n return this.key.toUint8Array();\n }\n\n /**\n * Get the public key as a hex string with the 0x prefix.\n *\n * @returns string representation of the public key\n */\n toString(): string {\n return this.key.toString();\n }\n\n /**\n * Verifies a signed data with a public key\n * @param args.message a signed message\n * @param args.signature the signature of the message\n */\n verifySignature(args: { message: HexInput; signature: Ed25519Signature }): boolean {\n const { message, signature } = args;\n const rawMessage = Hex.fromHexInput(message).toUint8Array();\n const rawSignature = signature.toUint8Array();\n return nacl.sign.detached.verify(rawMessage, rawSignature, this.key.toUint8Array());\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.key.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PublicKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PublicKey(bytes);\n }\n\n static load(deserializer: Deserializer): Ed25519PublicKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PublicKey(bytes);\n }\n}\n\n/**\n * Represents the private key of an Ed25519 key pair.\n */\nexport class Ed25519PrivateKey extends PrivateKey {\n /**\n * Length of an Ed25519 private key\n */\n static readonly LENGTH: number = 32;\n\n /**\n * The Ed25519 key seed to use for BIP-32 compatibility\n * See more {@link https://github.com/satoshilabs/slips/blob/master/slip-0010.md}\n */\n static readonly SLIP_0010_SEED = \"ed25519 seed\";\n\n /**\n * The Ed25519 signing key\n * @private\n */\n private readonly signingKeyPair: nacl.SignKeyPair;\n\n /**\n * Create a new PrivateKey instance from a Uint8Array or String.\n *\n * @param hexInput HexInput (string or Uint8Array)\n */\n constructor(hexInput: HexInput) {\n super();\n\n const privateKeyHex = Hex.fromHexInput(hexInput);\n if (privateKeyHex.toUint8Array().length !== Ed25519PrivateKey.LENGTH) {\n throw new Error(`PrivateKey length should be ${Ed25519PrivateKey.LENGTH}`);\n }\n\n // Create keyPair from Private key in Uint8Array format\n this.signingKeyPair = nacl.sign.keyPair.fromSeed(privateKeyHex.toUint8Array().slice(0, Ed25519PrivateKey.LENGTH));\n }\n\n /**\n * Get the private key in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the private key\n */\n toUint8Array(): Uint8Array {\n return this.signingKeyPair.secretKey.slice(0, Ed25519PrivateKey.LENGTH);\n }\n\n /**\n * Get the private key as a hex string with the 0x prefix.\n *\n * @returns string representation of the private key\n */\n toString(): string {\n return Hex.fromHexInput(this.toUint8Array()).toString();\n }\n\n /**\n * Sign the given message with the private key.\n *\n * @param message in HexInput format\n * @returns Signature\n */\n sign(message: HexInput): Ed25519Signature {\n const hex = Hex.fromHexInput(message);\n const signature = nacl.sign.detached(hex.toUint8Array(), this.signingKeyPair.secretKey);\n return new Ed25519Signature(signature);\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519PrivateKey {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519PrivateKey(bytes);\n }\n\n /**\n * Generate a new random private key.\n *\n * @returns Ed25519PrivateKey\n */\n static generate(): Ed25519PrivateKey {\n const keyPair = nacl.sign.keyPair();\n return new Ed25519PrivateKey(keyPair.secretKey.slice(0, Ed25519PrivateKey.LENGTH));\n }\n\n /**\n * Derive the Ed25519PublicKey for this private key.\n *\n * @returns Ed25519PublicKey\n */\n publicKey(): Ed25519PublicKey {\n const bytes = this.signingKeyPair.publicKey;\n return new Ed25519PublicKey(bytes);\n }\n\n /**\n * Derives a private key from a mnemonic seed phrase.\n *\n * To derive multiple keys from the same phrase, change the path\n *\n * IMPORTANT: Ed25519 supports hardened derivation only (since it lacks a key homomorphism,\n * so non-hardened derivation cannot work)\n *\n * @param path the BIP44 path\n * @param mnemonics the mnemonic seed phrase\n */\n static fromDerivationPath(path: string, mnemonics: string): Ed25519PrivateKey {\n if (!isValidHardenedPath(path)) {\n throw new Error(`Invalid derivation path ${path}`);\n }\n return Ed25519PrivateKey.fromDerivationPathInner(path, mnemonicToSeed(mnemonics));\n }\n\n /**\n * A private inner function so we can separate from the main fromDerivationPath() method\n * to add tests to verify we create the keys correctly.\n *\n * @param path the BIP44 path\n * @param seed the seed phrase created by the mnemonics\n * @param offset the offset used for key derivation, defaults to 0x80000000\n * @returns\n */\n private static fromDerivationPathInner(path: string, seed: Uint8Array, offset = HARDENED_OFFSET): Ed25519PrivateKey {\n const { key, chainCode } = deriveKey(Ed25519PrivateKey.SLIP_0010_SEED, seed);\n\n const segments = splitPath(path).map((el) => parseInt(el, 10));\n\n // Derive the child key based on the path\n const { key: privateKey } = segments.reduce((parentKeys, segment) => CKDPriv(parentKeys, segment + offset), {\n key,\n chainCode,\n });\n return new Ed25519PrivateKey(privateKey);\n }\n}\n\n/**\n * A signature of a message signed using an Ed25519 private key\n */\nexport class Ed25519Signature extends Signature {\n /**\n * Length of an Ed25519 signature\n */\n static readonly LENGTH = 64;\n\n /**\n * The signature bytes\n * @private\n */\n private readonly data: Hex;\n\n constructor(hexInput: HexInput) {\n super();\n const hex = Hex.fromHexInput(hexInput);\n if (hex.toUint8Array().length !== Ed25519Signature.LENGTH) {\n throw new Error(`Signature length should be ${Ed25519Signature.LENGTH}`);\n }\n\n this.data = hex;\n }\n\n /**\n * Get the signature in bytes (Uint8Array).\n *\n * @returns Uint8Array representation of the signature\n */\n toUint8Array(): Uint8Array {\n return this.data.toUint8Array();\n }\n\n /**\n * Get the signature as a hex string with the 0x prefix.\n *\n * @returns string representation of the signature\n */\n toString(): string {\n return this.data.toString();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeBytes(this.data.toUint8Array());\n }\n\n static deserialize(deserializer: Deserializer): Ed25519Signature {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519Signature(bytes);\n }\n\n static load(deserializer: Deserializer): Ed25519Signature {\n const bytes = deserializer.deserializeBytes();\n return new Ed25519Signature(bytes);\n }\n}\n"],"mappings":"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","names":["nacl","_Ed25519PublicKey","PublicKey","hexInput","hex","Hex","args","message","signature","rawMessage","rawSignature","nacl","serializer","deserializer","bytes","Ed25519PublicKey","_Ed25519PrivateKey","PrivateKey","privateKeyHex","Ed25519Signature","keyPair","path","mnemonics","isValidHardenedPath","mnemonicToSeed","seed","offset","HARDENED_OFFSET","key","chainCode","deriveKey","segments","splitPath","el","privateKey","parentKeys","segment","CKDPriv","Ed25519PrivateKey","_Ed25519Signature","Signature"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as s}from"./chunk-LAXIJRYU.mjs";import{b as n}from"./chunk-HH5RSP2H.mjs";import{a as T}from"./chunk-27P7PELS.mjs";var i=class extends T{static deserialize(e){let r=e.deserializeUleb128AsU32();switch(r){case 0:return o.load(e);case 1:return l.load(e);case 2:return d.load(e);case 3:return g.load(e);case 4:return p.load(e);case 5:return h.load(e);case 6:return U.load(e);case 7:return v.load(e);case 8:return u.load(e);case 9:return c.load(e);case 10:return z.load(e);case 255:return S.load(e);default:throw new Error(`Unknown variant index for TypeTag: ${r}`)}}isBool(){return this instanceof o}isAddress(){return this instanceof p}isGeneric(){return this instanceof S}isSigner(){return this instanceof h}isVector(){return this instanceof U}isStruct(){return this instanceof v}isU8(){return this instanceof l}isU16(){return this instanceof u}isU32(){return this instanceof c}isU64(){return this instanceof d}isU128(){return this instanceof g}isU256(){return this instanceof z}},o=class extends i{toString(){return"bool"}serialize(e){e.serializeU32AsUleb128(0)}static load(e){return new o}},l=class extends i{toString(){return"u8"}serialize(e){e.serializeU32AsUleb128(1)}static load(e){return new l}},u=class extends i{toString(){return"u16"}serialize(e){e.serializeU32AsUleb128(8)}static load(e){return new u}},c=class extends i{toString(){return"u32"}serialize(e){e.serializeU32AsUleb128(9)}static load(e){return new c}},d=class extends i{toString(){return"u64"}serialize(e){e.serializeU32AsUleb128(2)}static load(e){return new d}},g=class extends i{toString(){return"u128"}serialize(e){e.serializeU32AsUleb128(3)}static load(e){return new g}},z=class extends i{toString(){return"u256"}serialize(e){e.serializeU32AsUleb128(10)}static load(e){return new z}},p=class extends i{toString(){return"address"}serialize(e){e.serializeU32AsUleb128(4)}static load(e){return new p}},h=class extends i{toString(){return"signer"}serialize(e){e.serializeU32AsUleb128(5)}static load(e){return new h}},A=class extends i{constructor(r){super();this.value=r}toString(){return`&${this.value.toString()}`}serialize(r){r.serializeU32AsUleb128(254)}static load(r){let t=i.deserialize(r);return new A(t)}},S=class extends i{constructor(r){super();this.value=r}toString(){return`T${this.value}`}serialize(r){r.serializeU32AsUleb128(255),r.serializeU32(this.value)}static load(r){let t=r.deserializeU32();return new S(t)}},U=class extends i{constructor(r){super();this.value=r}toString(){return`vector<${this.value.toString()}>`}serialize(r){r.serializeU32AsUleb128(6),this.value.serialize(r)}static load(r){let t=i.deserialize(r);return new U(t)}},v=class extends i{constructor(r){super();this.value=r}toString(){let r="";return this.value.typeArgs.length>0&&(r=`<${this.value.typeArgs.map(t=>t.toString()).join(", ")}>`),`${this.value.address.toString()}::${this.value.moduleName.identifier}::${this.value.name.identifier}${r}`}serialize(r){r.serializeU32AsUleb128(7),this.value.serialize(r)}static load(r){let t=a.deserialize(r);return new v(t)}isTypeTag(r,t,b){return this.value.moduleName.identifier===t&&this.value.name.identifier===b&&this.value.address.equals(r)}isString(){return this.isTypeTag(n.ONE,"string","String")}isOption(){return this.isTypeTag(n.ONE,"option","Option")}isObject(){return this.isTypeTag(n.ONE,"object","Object")}},a=class extends T{constructor(r,t,b,f){super();this.address=r,this.moduleName=t,this.name=b,this.typeArgs=f}serialize(r){r.serialize(this.address),r.serialize(this.moduleName),r.serialize(this.name),r.serializeVector(this.typeArgs)}static deserialize(r){let t=n.deserialize(r),b=s.deserialize(r),f=s.deserialize(r),m=r.deserializeVector(i);return new a(t,b,f,m)}};function E(){return new a(n.ONE,new s("aptos_coin"),new s("AptosCoin"),[])}function j(){return new a(n.ONE,new s("string"),new s("String"),[])}function V(x){return new a(n.ONE,new s("option"),new s("Option"),[x])}function I(x){return new a(n.ONE,new s("object"),new s("Object"),[x])}export{i as a,o as b,l as c,u as d,c as e,d as f,g,z as h,p as i,h as j,A as k,S as l,U as m,v as n,a as o,E as p,j as q,V as r,I as s};
|
|
2
|
+
//# sourceMappingURL=chunk-BREUBEPM.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/transactions/typeTag/index.ts"],"sourcesContent":["// Copyright © Aptos Foundation\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable class-methods-use-this */\n/* eslint-disable max-classes-per-file */\nimport { Deserializer } from \"../../bcs/deserializer\";\nimport { Serializable, Serializer } from \"../../bcs/serializer\";\nimport { AccountAddress } from \"../../core\";\nimport { Identifier } from \"../instances/identifier\";\nimport { TypeTagVariants } from \"../../types\";\n\nexport abstract class TypeTag extends Serializable {\n abstract serialize(serializer: Serializer): void;\n\n static deserialize(deserializer: Deserializer): TypeTag {\n const index = deserializer.deserializeUleb128AsU32();\n switch (index) {\n case TypeTagVariants.Bool:\n return TypeTagBool.load(deserializer);\n case TypeTagVariants.U8:\n return TypeTagU8.load(deserializer);\n case TypeTagVariants.U64:\n return TypeTagU64.load(deserializer);\n case TypeTagVariants.U128:\n return TypeTagU128.load(deserializer);\n case TypeTagVariants.Address:\n return TypeTagAddress.load(deserializer);\n case TypeTagVariants.Signer:\n return TypeTagSigner.load(deserializer);\n case TypeTagVariants.Vector:\n return TypeTagVector.load(deserializer);\n case TypeTagVariants.Struct:\n return TypeTagStruct.load(deserializer);\n case TypeTagVariants.U16:\n return TypeTagU16.load(deserializer);\n case TypeTagVariants.U32:\n return TypeTagU32.load(deserializer);\n case TypeTagVariants.U256:\n return TypeTagU256.load(deserializer);\n case TypeTagVariants.Generic:\n // This is only used for ABI representation, and cannot actually be used as a type.\n return TypeTagGeneric.load(deserializer);\n default:\n throw new Error(`Unknown variant index for TypeTag: ${index}`);\n }\n }\n\n abstract toString(): string;\n\n isBool(): this is TypeTagBool {\n return this instanceof TypeTagBool;\n }\n\n isAddress(): this is TypeTagAddress {\n return this instanceof TypeTagAddress;\n }\n\n isGeneric(): this is TypeTagGeneric {\n return this instanceof TypeTagGeneric;\n }\n\n isSigner(): this is TypeTagSigner {\n return this instanceof TypeTagSigner;\n }\n\n isVector(): this is TypeTagVector {\n return this instanceof TypeTagVector;\n }\n\n isStruct(): this is TypeTagStruct {\n return this instanceof TypeTagStruct;\n }\n\n isU8(): this is TypeTagU8 {\n return this instanceof TypeTagU8;\n }\n\n isU16(): this is TypeTagU16 {\n return this instanceof TypeTagU16;\n }\n\n isU32(): this is TypeTagU32 {\n return this instanceof TypeTagU32;\n }\n\n isU64(): this is TypeTagU64 {\n return this instanceof TypeTagU64;\n }\n\n isU128(): this is TypeTagU128 {\n return this instanceof TypeTagU128;\n }\n\n isU256(): this is TypeTagU256 {\n return this instanceof TypeTagU256;\n }\n}\n\nexport class TypeTagBool extends TypeTag {\n toString(): string {\n return \"bool\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Bool);\n }\n\n static load(_deserializer: Deserializer): TypeTagBool {\n return new TypeTagBool();\n }\n}\n\nexport class TypeTagU8 extends TypeTag {\n toString(): string {\n return \"u8\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U8);\n }\n\n static load(_deserializer: Deserializer): TypeTagU8 {\n return new TypeTagU8();\n }\n}\n\nexport class TypeTagU16 extends TypeTag {\n toString(): string {\n return \"u16\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U16);\n }\n\n static load(_deserializer: Deserializer): TypeTagU16 {\n return new TypeTagU16();\n }\n}\n\nexport class TypeTagU32 extends TypeTag {\n toString(): string {\n return \"u32\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U32);\n }\n\n static load(_deserializer: Deserializer): TypeTagU32 {\n return new TypeTagU32();\n }\n}\n\nexport class TypeTagU64 extends TypeTag {\n toString(): string {\n return \"u64\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U64);\n }\n\n static load(_deserializer: Deserializer): TypeTagU64 {\n return new TypeTagU64();\n }\n}\n\nexport class TypeTagU128 extends TypeTag {\n toString(): string {\n return \"u128\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U128);\n }\n\n static load(_deserializer: Deserializer): TypeTagU128 {\n return new TypeTagU128();\n }\n}\n\nexport class TypeTagU256 extends TypeTag {\n toString(): string {\n return \"u256\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.U256);\n }\n\n static load(_deserializer: Deserializer): TypeTagU256 {\n return new TypeTagU256();\n }\n}\n\nexport class TypeTagAddress extends TypeTag {\n toString(): string {\n return \"address\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Address);\n }\n\n static load(_deserializer: Deserializer): TypeTagAddress {\n return new TypeTagAddress();\n }\n}\n\nexport class TypeTagSigner extends TypeTag {\n toString(): string {\n return \"signer\";\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Signer);\n }\n\n static load(_deserializer: Deserializer): TypeTagSigner {\n return new TypeTagSigner();\n }\n}\n\nexport class TypeTagReference extends TypeTag {\n toString(): `&${string}` {\n return `&${this.value.toString()}`;\n }\n\n constructor(public readonly value: TypeTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Reference);\n }\n\n static load(deserializer: Deserializer): TypeTagReference {\n const value = TypeTag.deserialize(deserializer);\n return new TypeTagReference(value);\n }\n}\n\n/**\n * Generics are used for type parameters in entry functions. However,\n * they are not actually serialized into a real type, so they cannot be\n * used as a type directly.\n */\nexport class TypeTagGeneric extends TypeTag {\n toString(): `T${number}` {\n return `T${this.value}`;\n }\n\n constructor(public readonly value: number) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Generic);\n serializer.serializeU32(this.value);\n }\n\n static load(deserializer: Deserializer): TypeTagGeneric {\n const value = deserializer.deserializeU32();\n return new TypeTagGeneric(value);\n }\n}\n\nexport class TypeTagVector extends TypeTag {\n toString(): `vector<${string}>` {\n return `vector<${this.value.toString()}>`;\n }\n\n constructor(public readonly value: TypeTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Vector);\n this.value.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TypeTagVector {\n const value = TypeTag.deserialize(deserializer);\n return new TypeTagVector(value);\n }\n}\n\nexport class TypeTagStruct extends TypeTag {\n toString(): `0x${string}::${string}::${string}` {\n // Collect type args and add it if there are any\n let typePredicate = \"\";\n if (this.value.typeArgs.length > 0) {\n typePredicate = `<${this.value.typeArgs.map((typeArg) => typeArg.toString()).join(\", \")}>`;\n }\n\n return `${this.value.address.toString()}::${this.value.moduleName.identifier}::${\n this.value.name.identifier\n }${typePredicate}`;\n }\n\n constructor(public readonly value: StructTag) {\n super();\n }\n\n serialize(serializer: Serializer): void {\n serializer.serializeU32AsUleb128(TypeTagVariants.Struct);\n this.value.serialize(serializer);\n }\n\n static load(deserializer: Deserializer): TypeTagStruct {\n const value = StructTag.deserialize(deserializer);\n return new TypeTagStruct(value);\n }\n\n isTypeTag(address: AccountAddress, moduleName: string, structName: string): boolean {\n return (\n this.value.moduleName.identifier === moduleName &&\n this.value.name.identifier === structName &&\n this.value.address.equals(address)\n );\n }\n\n isString(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"string\", \"String\");\n }\n\n isOption(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"option\", \"Option\");\n }\n\n isObject(): boolean {\n return this.isTypeTag(AccountAddress.ONE, \"object\", \"Object\");\n }\n}\n\nexport class StructTag extends Serializable {\n public readonly address: AccountAddress;\n\n public readonly moduleName: Identifier;\n\n public readonly name: Identifier;\n\n public readonly typeArgs: Array<TypeTag>;\n\n constructor(address: AccountAddress, module_name: Identifier, name: Identifier, type_args: Array<TypeTag>) {\n super();\n this.address = address;\n this.moduleName = module_name;\n this.name = name;\n this.typeArgs = type_args;\n }\n\n serialize(serializer: Serializer): void {\n serializer.serialize(this.address);\n serializer.serialize(this.moduleName);\n serializer.serialize(this.name);\n serializer.serializeVector(this.typeArgs);\n }\n\n static deserialize(deserializer: Deserializer): StructTag {\n const address = AccountAddress.deserialize(deserializer);\n const moduleName = Identifier.deserialize(deserializer);\n const name = Identifier.deserialize(deserializer);\n const typeArgs = deserializer.deserializeVector(TypeTag);\n return new StructTag(address, moduleName, name, typeArgs);\n }\n}\n\nexport function aptosCoinStructTag(): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"aptos_coin\"), new Identifier(\"AptosCoin\"), []);\n}\n\nexport function stringStructTag(): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"string\"), new Identifier(\"String\"), []);\n}\n\nexport function optionStructTag(typeArg: TypeTag): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"option\"), new Identifier(\"Option\"), [typeArg]);\n}\n\nexport function objectStructTag(typeArg: TypeTag): StructTag {\n return new StructTag(AccountAddress.ONE, new Identifier(\"object\"), new Identifier(\"Object\"), [typeArg]);\n}\n"],"mappings":"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","names":["TypeTag","Serializable","deserializer","index","TypeTagBool","TypeTagU8","TypeTagU64","TypeTagU128","TypeTagAddress","TypeTagSigner","TypeTagVector","TypeTagStruct","TypeTagU16","TypeTagU32","TypeTagU256","TypeTagGeneric","serializer","_deserializer","TypeTagReference","value","typePredicate","typeArg","StructTag","address","moduleName","structName","AccountAddress","module_name","name","type_args","Identifier","typeArgs","aptosCoinStructTag","stringStructTag","optionStructTag","objectStructTag"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-BSCOVLWS.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|