@aptos-labs/ts-sdk 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/browser/index.d.ts +133 -9
  2. package/dist/browser/index.global.js +32 -30
  3. package/dist/browser/index.global.js.map +1 -1
  4. package/dist/common/index.d.ts +133 -9
  5. package/dist/common/index.js +28 -26
  6. package/dist/common/index.js.map +1 -1
  7. package/dist/esm/api/account.mjs +1 -1
  8. package/dist/esm/api/ans.mjs +1 -1
  9. package/dist/esm/api/aptos.mjs +1 -1
  10. package/dist/esm/api/coin.mjs +1 -1
  11. package/dist/esm/api/digitalAsset.mjs +1 -1
  12. package/dist/esm/api/event.d.mts +14 -1
  13. package/dist/esm/api/event.mjs +1 -1
  14. package/dist/esm/api/faucet.mjs +1 -1
  15. package/dist/esm/api/fungibleAsset.mjs +1 -1
  16. package/dist/esm/api/general.mjs +1 -1
  17. package/dist/esm/api/index.mjs +1 -1
  18. package/dist/esm/api/staking.mjs +1 -1
  19. package/dist/esm/api/transaction.mjs +1 -1
  20. package/dist/esm/api/transactionSubmission/build.mjs +1 -1
  21. package/dist/esm/api/transactionSubmission/management.mjs +1 -1
  22. package/dist/esm/api/transactionSubmission/sign.mjs +1 -1
  23. package/dist/esm/api/transactionSubmission/sign.mjs.map +1 -1
  24. package/dist/esm/api/transactionSubmission/simulate.mjs +1 -1
  25. package/dist/esm/api/transactionSubmission/submit.mjs +1 -1
  26. package/dist/esm/api/utils.mjs +1 -1
  27. package/dist/esm/bcs/index.mjs +1 -1
  28. package/dist/esm/bcs/serializable/movePrimitives.mjs +1 -1
  29. package/dist/esm/bcs/serializable/moveStructs.mjs +1 -1
  30. package/dist/esm/chunk-2DNPRIS5.mjs +2 -0
  31. package/dist/esm/chunk-2DNPRIS5.mjs.map +1 -0
  32. package/dist/esm/{chunk-SIV47YF6.mjs → chunk-2H5Z5EHH.mjs} +2 -2
  33. package/dist/esm/{chunk-SIV47YF6.mjs.map → chunk-2H5Z5EHH.mjs.map} +1 -1
  34. package/dist/esm/{chunk-CR2ZNHVS.mjs → chunk-2WFMD6C6.mjs} +2 -2
  35. package/dist/esm/{chunk-4HULEADT.mjs → chunk-4M46AWXX.mjs} +2 -2
  36. package/dist/esm/{chunk-I7MXWMCV.mjs → chunk-6SRENFWH.mjs} +2 -2
  37. package/dist/esm/{chunk-3KTTMSMK.mjs → chunk-AFPJ2XXN.mjs} +2 -2
  38. package/dist/esm/chunk-CVEJHRAU.mjs +2 -0
  39. package/dist/esm/chunk-CVEJHRAU.mjs.map +1 -0
  40. package/dist/esm/chunk-ENDUXRTK.mjs +2 -0
  41. package/dist/esm/chunk-ENDUXRTK.mjs.map +1 -0
  42. package/dist/esm/{chunk-SFAHLWOK.mjs → chunk-ENKMOALS.mjs} +2 -2
  43. package/dist/esm/{chunk-T5JEOKV6.mjs → chunk-EUHPML5E.mjs} +2 -2
  44. package/dist/esm/{chunk-YJAE5RPX.mjs → chunk-FRLPX47J.mjs} +2 -2
  45. package/dist/esm/{chunk-TEKLKVZK.mjs → chunk-GD4ULEBC.mjs} +2 -2
  46. package/dist/esm/{chunk-3DM36HLF.mjs → chunk-GD5TZLBF.mjs} +2 -2
  47. package/dist/esm/{chunk-IKCBGNRD.mjs → chunk-JJ6Y35DF.mjs} +2 -2
  48. package/dist/esm/{chunk-MHWDJSMB.mjs → chunk-JQVT2K7G.mjs} +2 -2
  49. package/dist/esm/{chunk-7XJZHT63.mjs → chunk-KJGQ4ILY.mjs} +2 -2
  50. package/dist/esm/{chunk-W4PVDONT.mjs → chunk-LATJGGVX.mjs} +2 -2
  51. package/dist/esm/chunk-LHJSG5NE.mjs +2 -0
  52. package/dist/esm/chunk-LHJSG5NE.mjs.map +1 -0
  53. package/dist/esm/{chunk-XFMRYLII.mjs → chunk-M3WNE7MU.mjs} +2 -2
  54. package/dist/esm/chunk-MEPX7Z2Z.mjs +2 -0
  55. package/dist/esm/{chunk-3UYBNX3P.mjs.map → chunk-MEPX7Z2Z.mjs.map} +1 -1
  56. package/dist/esm/{chunk-FG6RKPA7.mjs → chunk-PIXE7MN5.mjs} +2 -2
  57. package/dist/esm/chunk-PJNPLRPR.mjs +2 -0
  58. package/dist/esm/chunk-PJNPLRPR.mjs.map +1 -0
  59. package/dist/esm/{chunk-QN3TJQIU.mjs → chunk-PMWH5IGI.mjs} +2 -2
  60. package/dist/esm/chunk-Q3HAJVCM.mjs +2 -0
  61. package/dist/esm/chunk-Q3HAJVCM.mjs.map +1 -0
  62. package/dist/esm/{chunk-X47DR2C3.mjs → chunk-Q5HK3U64.mjs} +2 -2
  63. package/dist/esm/{chunk-T5IFXLOP.mjs → chunk-QGIJNA37.mjs} +2 -2
  64. package/dist/esm/{chunk-TJJSQSO3.mjs → chunk-QRQAR6XO.mjs} +2 -2
  65. package/dist/esm/{chunk-QW5W2DWF.mjs → chunk-R56OJ4XC.mjs} +2 -2
  66. package/dist/esm/chunk-S3FBGS3W.mjs +2 -0
  67. package/dist/esm/chunk-S3FBGS3W.mjs.map +1 -0
  68. package/dist/esm/{chunk-BQSE5HHW.mjs → chunk-S4SEFF4K.mjs} +3 -1
  69. package/dist/esm/chunk-S4SEFF4K.mjs.map +1 -0
  70. package/dist/esm/chunk-S64WKSMI.mjs +2 -0
  71. package/dist/esm/chunk-S64WKSMI.mjs.map +1 -0
  72. package/dist/esm/{chunk-2RZSI3B6.mjs → chunk-SPOHAEHR.mjs} +2 -2
  73. package/dist/esm/{chunk-T7U4YWE7.mjs → chunk-SRZTA6QH.mjs} +2 -2
  74. package/dist/esm/{chunk-S4QKXXBT.mjs → chunk-SXIFL5DQ.mjs} +2 -2
  75. package/dist/esm/{chunk-S4QKXXBT.mjs.map → chunk-SXIFL5DQ.mjs.map} +1 -1
  76. package/dist/esm/{chunk-4HSVC56Q.mjs → chunk-V2FPYAK7.mjs} +2 -2
  77. package/dist/esm/{chunk-LOEBNFNC.mjs → chunk-VKZCIGKY.mjs} +2 -2
  78. package/dist/esm/{chunk-YE3DZD6T.mjs → chunk-VPQ46CAO.mjs} +2 -2
  79. package/dist/esm/{chunk-U53N6WW2.mjs → chunk-W4UDMBMU.mjs} +2 -2
  80. package/dist/esm/chunk-XBVORX5O.mjs +2 -0
  81. package/dist/esm/chunk-XBVORX5O.mjs.map +1 -0
  82. package/dist/esm/{chunk-PD5I66D6.mjs → chunk-XZYPAQCU.mjs} +2 -2
  83. package/dist/esm/{chunk-F7H662U6.mjs → chunk-Y4AKS4CY.mjs} +2 -2
  84. package/dist/esm/{chunk-WKSKGVBV.mjs → chunk-YL2EDK5M.mjs} +2 -2
  85. package/dist/esm/chunk-YL2EDK5M.mjs.map +1 -0
  86. package/dist/esm/client/core.mjs +1 -1
  87. package/dist/esm/client/get.mjs +1 -1
  88. package/dist/esm/client/index.mjs +1 -1
  89. package/dist/esm/client/post.mjs +1 -1
  90. package/dist/esm/core/account.mjs +1 -1
  91. package/dist/esm/core/accountAddress.mjs +1 -1
  92. package/dist/esm/core/authenticationKey.mjs +1 -1
  93. package/dist/esm/core/crypto/anyPublicKey.mjs +1 -1
  94. package/dist/esm/core/crypto/anySignature.mjs +1 -1
  95. package/dist/esm/core/crypto/asymmetricCrypto.mjs +1 -1
  96. package/dist/esm/core/crypto/ed25519.mjs +1 -1
  97. package/dist/esm/core/crypto/index.mjs +1 -1
  98. package/dist/esm/core/crypto/multiEd25519.mjs +1 -1
  99. package/dist/esm/core/crypto/multiKey.mjs +1 -1
  100. package/dist/esm/core/crypto/secp256k1.mjs +1 -1
  101. package/dist/esm/core/index.mjs +1 -1
  102. package/dist/esm/index.d.mts +2 -2
  103. package/dist/esm/index.mjs +1 -1
  104. package/dist/esm/internal/account.d.mts +1 -1
  105. package/dist/esm/internal/account.mjs +1 -1
  106. package/dist/esm/internal/ans.d.mts +1 -1
  107. package/dist/esm/internal/ans.mjs +1 -1
  108. package/dist/esm/internal/coin.d.mts +3 -3
  109. package/dist/esm/internal/coin.mjs +1 -1
  110. package/dist/esm/internal/digitalAsset.d.mts +6 -6
  111. package/dist/esm/internal/digitalAsset.mjs +1 -1
  112. package/dist/esm/internal/event.d.mts +8 -3
  113. package/dist/esm/internal/event.mjs +1 -1
  114. package/dist/esm/internal/faucet.d.mts +3 -3
  115. package/dist/esm/internal/faucet.mjs +1 -1
  116. package/dist/esm/internal/fungibleAsset.d.mts +1 -1
  117. package/dist/esm/internal/fungibleAsset.mjs +1 -1
  118. package/dist/esm/internal/general.mjs +1 -1
  119. package/dist/esm/internal/staking.d.mts +2 -2
  120. package/dist/esm/internal/staking.mjs +1 -1
  121. package/dist/esm/internal/transaction.mjs +1 -1
  122. package/dist/esm/internal/transactionSubmission.d.mts +3 -3
  123. package/dist/esm/internal/transactionSubmission.mjs +1 -1
  124. package/dist/esm/transactions/authenticator/account.mjs +1 -1
  125. package/dist/esm/transactions/authenticator/index.mjs +1 -1
  126. package/dist/esm/transactions/authenticator/transaction.mjs +1 -1
  127. package/dist/esm/transactions/index.d.mts +1 -1
  128. package/dist/esm/transactions/index.mjs +1 -1
  129. package/dist/esm/transactions/instances/index.mjs +1 -1
  130. package/dist/esm/transactions/instances/moduleId.mjs +1 -1
  131. package/dist/esm/transactions/instances/rawTransaction.mjs +1 -1
  132. package/dist/esm/transactions/instances/rotationProofChallenge.mjs +1 -1
  133. package/dist/esm/transactions/instances/signedTransaction.mjs +1 -1
  134. package/dist/esm/transactions/instances/transactionPayload.mjs +1 -1
  135. package/dist/esm/transactions/management/accountSequenceNumber.mjs +1 -1
  136. package/dist/esm/transactions/management/index.mjs +1 -1
  137. package/dist/esm/transactions/management/transactionWorker.d.mts +7 -1
  138. package/dist/esm/transactions/management/transactionWorker.mjs +1 -1
  139. package/dist/esm/transactions/transactionBuilder/helpers.mjs +1 -1
  140. package/dist/esm/transactions/transactionBuilder/index.mjs +1 -1
  141. package/dist/esm/transactions/transactionBuilder/remoteAbi.mjs +1 -1
  142. package/dist/esm/transactions/transactionBuilder/transactionBuilder.d.mts +3 -3
  143. package/dist/esm/transactions/transactionBuilder/transactionBuilder.mjs +1 -1
  144. package/dist/esm/transactions/typeTag/index.d.mts +1 -0
  145. package/dist/esm/transactions/typeTag/index.mjs +1 -1
  146. package/dist/esm/transactions/typeTag/parser.mjs +1 -1
  147. package/dist/esm/transactions/types.d.mts +9 -1
  148. package/dist/esm/types/generated/operations.d.mts +6 -0
  149. package/dist/esm/types/generated/queries.d.mts +6 -6
  150. package/dist/esm/types/generated/queries.mjs +1 -1
  151. package/dist/esm/types/generated/types.d.mts +594 -56
  152. package/dist/esm/types/generated/types.mjs +1 -1
  153. package/dist/esm/types/generated/types.mjs.map +1 -1
  154. package/dist/esm/types/index.d.mts +35 -6
  155. package/dist/esm/types/index.mjs +1 -1
  156. package/dist/esm/version.d.mts +1 -1
  157. package/dist/esm/version.mjs +1 -1
  158. package/package.json +1 -1
  159. package/src/api/digitalAsset.ts +4 -4
  160. package/src/api/event.ts +27 -1
  161. package/src/internal/coin.ts +9 -4
  162. package/src/internal/digitalAsset.ts +197 -60
  163. package/src/internal/event.ts +33 -1
  164. package/src/internal/fungibleAsset.ts +15 -3
  165. package/src/internal/queries/currentTokenOwnershipFieldsFragment.graphql +1 -0
  166. package/src/internal/queries/getTokenData.graphql +1 -0
  167. package/src/internal/transactionSubmission.ts +40 -14
  168. package/src/transactions/management/transactionWorker.ts +9 -5
  169. package/src/transactions/transactionBuilder/transactionBuilder.ts +9 -19
  170. package/src/transactions/typeTag/index.ts +4 -0
  171. package/src/transactions/typeTag/parser.ts +1 -1
  172. package/src/transactions/types.ts +11 -0
  173. package/src/types/generated/operations.ts +6 -0
  174. package/src/types/generated/queries.ts +2 -0
  175. package/src/types/generated/types.ts +662 -55
  176. package/src/types/index.ts +40 -4
  177. package/src/version.ts +1 -1
  178. package/dist/esm/chunk-223IHRAD.mjs +0 -2
  179. package/dist/esm/chunk-223IHRAD.mjs.map +0 -1
  180. package/dist/esm/chunk-3UYBNX3P.mjs +0 -2
  181. package/dist/esm/chunk-5FERAW7D.mjs +0 -2
  182. package/dist/esm/chunk-5FERAW7D.mjs.map +0 -1
  183. package/dist/esm/chunk-6GL6X2IR.mjs +0 -2
  184. package/dist/esm/chunk-6GL6X2IR.mjs.map +0 -1
  185. package/dist/esm/chunk-ALFESCPU.mjs +0 -2
  186. package/dist/esm/chunk-ALFESCPU.mjs.map +0 -1
  187. package/dist/esm/chunk-BQSE5HHW.mjs.map +0 -1
  188. package/dist/esm/chunk-CBLQTKVM.mjs +0 -2
  189. package/dist/esm/chunk-CBLQTKVM.mjs.map +0 -1
  190. package/dist/esm/chunk-HI6QP2FB.mjs +0 -2
  191. package/dist/esm/chunk-HI6QP2FB.mjs.map +0 -1
  192. package/dist/esm/chunk-KXLDXZWI.mjs +0 -2
  193. package/dist/esm/chunk-KXLDXZWI.mjs.map +0 -1
  194. package/dist/esm/chunk-SUIDAC5B.mjs +0 -2
  195. package/dist/esm/chunk-SUIDAC5B.mjs.map +0 -1
  196. package/dist/esm/chunk-WKSKGVBV.mjs.map +0 -1
  197. package/dist/esm/chunk-Z67MKEK7.mjs +0 -2
  198. package/dist/esm/chunk-Z67MKEK7.mjs.map +0 -1
  199. /package/dist/esm/{chunk-CR2ZNHVS.mjs.map → chunk-2WFMD6C6.mjs.map} +0 -0
  200. /package/dist/esm/{chunk-4HULEADT.mjs.map → chunk-4M46AWXX.mjs.map} +0 -0
  201. /package/dist/esm/{chunk-I7MXWMCV.mjs.map → chunk-6SRENFWH.mjs.map} +0 -0
  202. /package/dist/esm/{chunk-3KTTMSMK.mjs.map → chunk-AFPJ2XXN.mjs.map} +0 -0
  203. /package/dist/esm/{chunk-SFAHLWOK.mjs.map → chunk-ENKMOALS.mjs.map} +0 -0
  204. /package/dist/esm/{chunk-T5JEOKV6.mjs.map → chunk-EUHPML5E.mjs.map} +0 -0
  205. /package/dist/esm/{chunk-YJAE5RPX.mjs.map → chunk-FRLPX47J.mjs.map} +0 -0
  206. /package/dist/esm/{chunk-TEKLKVZK.mjs.map → chunk-GD4ULEBC.mjs.map} +0 -0
  207. /package/dist/esm/{chunk-3DM36HLF.mjs.map → chunk-GD5TZLBF.mjs.map} +0 -0
  208. /package/dist/esm/{chunk-IKCBGNRD.mjs.map → chunk-JJ6Y35DF.mjs.map} +0 -0
  209. /package/dist/esm/{chunk-MHWDJSMB.mjs.map → chunk-JQVT2K7G.mjs.map} +0 -0
  210. /package/dist/esm/{chunk-7XJZHT63.mjs.map → chunk-KJGQ4ILY.mjs.map} +0 -0
  211. /package/dist/esm/{chunk-W4PVDONT.mjs.map → chunk-LATJGGVX.mjs.map} +0 -0
  212. /package/dist/esm/{chunk-XFMRYLII.mjs.map → chunk-M3WNE7MU.mjs.map} +0 -0
  213. /package/dist/esm/{chunk-FG6RKPA7.mjs.map → chunk-PIXE7MN5.mjs.map} +0 -0
  214. /package/dist/esm/{chunk-QN3TJQIU.mjs.map → chunk-PMWH5IGI.mjs.map} +0 -0
  215. /package/dist/esm/{chunk-X47DR2C3.mjs.map → chunk-Q5HK3U64.mjs.map} +0 -0
  216. /package/dist/esm/{chunk-T5IFXLOP.mjs.map → chunk-QGIJNA37.mjs.map} +0 -0
  217. /package/dist/esm/{chunk-TJJSQSO3.mjs.map → chunk-QRQAR6XO.mjs.map} +0 -0
  218. /package/dist/esm/{chunk-QW5W2DWF.mjs.map → chunk-R56OJ4XC.mjs.map} +0 -0
  219. /package/dist/esm/{chunk-2RZSI3B6.mjs.map → chunk-SPOHAEHR.mjs.map} +0 -0
  220. /package/dist/esm/{chunk-T7U4YWE7.mjs.map → chunk-SRZTA6QH.mjs.map} +0 -0
  221. /package/dist/esm/{chunk-4HSVC56Q.mjs.map → chunk-V2FPYAK7.mjs.map} +0 -0
  222. /package/dist/esm/{chunk-LOEBNFNC.mjs.map → chunk-VKZCIGKY.mjs.map} +0 -0
  223. /package/dist/esm/{chunk-YE3DZD6T.mjs.map → chunk-VPQ46CAO.mjs.map} +0 -0
  224. /package/dist/esm/{chunk-U53N6WW2.mjs.map → chunk-W4UDMBMU.mjs.map} +0 -0
  225. /package/dist/esm/{chunk-PD5I66D6.mjs.map → chunk-XZYPAQCU.mjs.map} +0 -0
  226. /package/dist/esm/{chunk-F7H662U6.mjs.map → chunk-Y4AKS4CY.mjs.map} +0 -0
@@ -20,6 +20,7 @@ import {
20
20
  generateSignedTransaction,
21
21
  sign,
22
22
  generateSigningMessage,
23
+ generateTransactionPayloadWithABI,
23
24
  } from "../transactions/transactionBuilder/transactionBuilder";
24
25
  import {
25
26
  InputGenerateTransactionData,
@@ -33,9 +34,11 @@ import {
33
34
  InputGenerateSingleSignerRawTransactionData,
34
35
  MultiAgentTransaction,
35
36
  AnyTransactionPayloadInstance,
37
+ EntryFunctionABI,
36
38
  } from "../transactions/types";
37
39
  import { getInfo } from "./account";
38
40
  import { UserTransactionResponse, PendingTransactionResponse, MimeType, HexInput, TransactionResponse } from "../types";
41
+ import { TypeTagU8, TypeTagVector } from "../transactions";
39
42
 
40
43
  /**
41
44
  * We are defining function signatures, each with its specific input and output.
@@ -105,17 +108,23 @@ export async function buildTransactionPayload(
105
108
  let generateTransactionPayloadData: InputGenerateTransactionPayloadDataWithRemoteABI;
106
109
  let payload: AnyTransactionPayloadInstance;
107
110
  if ("bytecode" in data) {
108
- generateTransactionPayloadData = data;
109
- payload = await generateTransactionPayload(generateTransactionPayloadData);
111
+ // TODO: Add ABI checking later
112
+ payload = await generateTransactionPayload(data);
110
113
  } else if ("multisigAddress" in data) {
111
- generateTransactionPayloadData = {
112
- aptosConfig,
113
- multisigAddress: data.multisigAddress,
114
- function: data.function,
115
- functionArguments: data.functionArguments,
116
- typeArguments: data.typeArguments,
117
- };
118
- payload = await generateTransactionPayload(generateTransactionPayloadData);
114
+ if (data.abi) {
115
+ payload = generateTransactionPayloadWithABI({ abi: data.abi, ...data });
116
+ } else {
117
+ generateTransactionPayloadData = {
118
+ aptosConfig,
119
+ multisigAddress: data.multisigAddress,
120
+ function: data.function,
121
+ functionArguments: data.functionArguments,
122
+ typeArguments: data.typeArguments,
123
+ };
124
+ payload = await generateTransactionPayload(generateTransactionPayloadData);
125
+ }
126
+ } else if (data.abi) {
127
+ payload = generateTransactionPayloadWithABI({ abi: data.abi, ...data });
119
128
  } else {
120
129
  generateTransactionPayloadData = {
121
130
  aptosConfig,
@@ -281,6 +290,11 @@ export async function signAndSubmitTransaction(args: {
281
290
  });
282
291
  }
283
292
 
293
+ const packagePublishAbi: EntryFunctionABI = {
294
+ typeParameters: [],
295
+ parameters: [TypeTagVector.u8(), new TypeTagVector(TypeTagVector.u8())],
296
+ };
297
+
284
298
  export async function publicPackageTransaction(args: {
285
299
  aptosConfig: AptosConfig;
286
300
  account: AccountAddressInput;
@@ -292,18 +306,30 @@ export async function publicPackageTransaction(args: {
292
306
 
293
307
  const totalByteCode = moduleBytecode.map((bytecode) => MoveVector.U8(bytecode));
294
308
 
295
- const transaction = await generateTransaction({
309
+ return generateTransaction({
296
310
  aptosConfig,
297
311
  sender: AccountAddress.from(account),
298
312
  data: {
299
313
  function: "0x1::code::publish_package_txn",
300
314
  functionArguments: [MoveVector.U8(metadataBytes), new MoveVector(totalByteCode)],
315
+ abi: packagePublishAbi,
301
316
  },
302
317
  options,
303
318
  });
304
- return transaction;
305
319
  }
306
320
 
321
+ const rotateAuthKeyAbi: EntryFunctionABI = {
322
+ typeParameters: [],
323
+ parameters: [
324
+ new TypeTagU8(),
325
+ TypeTagVector.u8(),
326
+ new TypeTagU8(),
327
+ TypeTagVector.u8(),
328
+ TypeTagVector.u8(),
329
+ TypeTagVector.u8(),
330
+ ],
331
+ };
332
+
307
333
  /**
308
334
  * TODO: Need to refactor and move this function out of transactionSubmission
309
335
  */
@@ -346,12 +372,12 @@ export async function rotateAuthKey(args: {
346
372
  MoveVector.U8(proofSignedByCurrentPrivateKey.toUint8Array()),
347
373
  MoveVector.U8(proofSignedByNewPrivateKey.toUint8Array()),
348
374
  ],
375
+ abi: rotateAuthKeyAbi,
349
376
  },
350
377
  });
351
- const pendingTxn = await signAndSubmitTransaction({
378
+ return signAndSubmitTransaction({
352
379
  aptosConfig,
353
380
  signer: fromAccount,
354
381
  transaction: rawTxn,
355
382
  });
356
- return pendingTxn;
357
383
  }
@@ -260,13 +260,19 @@ export class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {
260
260
 
261
261
  /**
262
262
  * Push transaction to the transactions queue
263
- * @param payload Transaction payload
263
+ *
264
+ * @param transactionData Transaction payload
265
+ * @param transactionData.abi For all entry function payloads, the ABI to skip remote ABI lookups
266
+ * @param options.maxGasAmount Maximum gas amount for the transaction
267
+ * @param options.gasUnitPrice Gas unit price for the transaction
268
+ * @param options.expireTimestamp expiration timestamp on the transaction
269
+ * @param options.accountSequenceNumber the sequence number for the transaction
264
270
  */
265
271
  async push(
266
272
  transactionData: InputGenerateTransactionPayloadData,
267
273
  options?: InputGenerateTransactionOptions,
268
274
  ): Promise<void> {
269
- await this.transactionsQueue.enqueue([transactionData, options]);
275
+ this.transactionsQueue.enqueue([transactionData, options]);
270
276
  }
271
277
 
272
278
  /**
@@ -278,14 +284,12 @@ export class TransactionWorker extends EventEmitter<TransactionWorkerEvents> {
278
284
  async generateNextTransaction(account: Account, sequenceNumber: bigint): Promise<SimpleTransaction | undefined> {
279
285
  if (this.transactionsQueue.isEmpty()) return undefined;
280
286
  const [transactionData, options] = await this.transactionsQueue.dequeue();
281
- const transaction = await generateTransaction({
287
+ return generateTransaction({
282
288
  aptosConfig: this.aptosConfig,
283
289
  sender: account.accountAddress,
284
290
  data: transactionData,
285
291
  options: { ...options, accountSequenceNumber: sequenceNumber },
286
292
  });
287
-
288
- return transaction;
289
293
  }
290
294
 
291
295
  /**
@@ -55,7 +55,6 @@ import {
55
55
  AnyTransactionPayloadInstance,
56
56
  AnyRawTransactionInstance,
57
57
  EntryFunctionArgumentTypes,
58
- EntryFunctionABI,
59
58
  InputGenerateMultiAgentRawTransactionArgs,
60
59
  InputGenerateRawTransactionArgs,
61
60
  InputGenerateSingleSignerRawTransactionArgs,
@@ -64,13 +63,13 @@ import {
64
63
  MultiAgentTransaction,
65
64
  InputScriptData,
66
65
  InputSimulateTransactionData,
67
- InputGenerateTransactionPayloadData,
68
- InputEntryFunctionData,
69
- InputMultiSigData,
70
66
  InputMultiSigDataWithRemoteABI,
71
67
  InputEntryFunctionDataWithRemoteABI,
72
68
  InputGenerateTransactionPayloadDataWithRemoteABI,
73
69
  InputSubmitTransactionData,
70
+ InputGenerateTransactionPayloadDataWithABI,
71
+ InputEntryFunctionDataWithABI,
72
+ InputMultiSigDataWithABI,
74
73
  } from "../types";
75
74
  import { convertArgument, fetchEntryFunctionAbi, standardizeTypeTags } from "./remoteAbi";
76
75
  import { memoizeAsync } from "../../utils/memoize";
@@ -117,25 +116,16 @@ export async function generateTransactionPayload(
117
116
  1000 * 60 * 5, // 5 minutes
118
117
  )();
119
118
 
120
- return generateTransactionPayloadWithABI(args, functionAbi);
119
+ // Fill in the ABI
120
+ return generateTransactionPayloadWithABI({ abi: functionAbi, ...args });
121
121
  }
122
122
 
123
+ export function generateTransactionPayloadWithABI(args: InputEntryFunctionDataWithABI): TransactionPayloadEntryFunction;
124
+ export function generateTransactionPayloadWithABI(args: InputMultiSigDataWithABI): TransactionPayloadMultiSig;
123
125
  export function generateTransactionPayloadWithABI(
124
- args: InputEntryFunctionData,
125
- functionAbi: EntryFunctionABI,
126
- ): TransactionPayloadEntryFunction;
127
- export function generateTransactionPayloadWithABI(
128
- args: InputMultiSigData,
129
- functionAbi: EntryFunctionABI,
130
- ): TransactionPayloadMultiSig;
131
- export function generateTransactionPayloadWithABI(
132
- args: InputGenerateTransactionPayloadData,
133
- functionAbi: EntryFunctionABI,
126
+ args: InputGenerateTransactionPayloadDataWithABI,
134
127
  ): AnyTransactionPayloadInstance {
135
- if (isScriptDataInput(args)) {
136
- return generateTransactionPayloadScript(args);
137
- }
138
-
128
+ const functionAbi = args.abi;
139
129
  const { moduleAddress, moduleName, functionName } = getFunctionParts(args.function);
140
130
 
141
131
  // Ensure that all type arguments are typed properly
@@ -277,6 +277,10 @@ export class TypeTagVector extends TypeTag {
277
277
  super();
278
278
  }
279
279
 
280
+ static u8(): TypeTagVector {
281
+ return new TypeTagVector(new TypeTagU8());
282
+ }
283
+
280
284
  serialize(serializer: Serializer): void {
281
285
  serializer.serializeU32AsUleb128(TypeTagVariants.Vector);
282
286
  this.value.serialize(serializer);
@@ -275,7 +275,7 @@ function parseTypeTagInner(str: string, types: Array<TypeTag>, allowGenerics: bo
275
275
  }
276
276
 
277
277
  // If the value doesn't contain a colon, then we'll assume it isn't trying to be a struct
278
- if (!str.match(/.*:.*/)) {
278
+ if (!str.match(/:/)) {
279
279
  throw new TypeTagParserError(str, TypeTagParserErrorType.InvalidTypeTag);
280
280
  }
281
281
 
@@ -109,8 +109,19 @@ export type InputEntryFunctionData = {
109
109
  function: MoveFunctionId;
110
110
  typeArguments?: Array<TypeTag | string>;
111
111
  functionArguments: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
112
+ abi?: EntryFunctionABI;
112
113
  };
113
114
 
115
+ export type InputGenerateTransactionPayloadDataWithABI = InputEntryFunctionDataWithABI | InputMultiSigDataWithABI;
116
+
117
+ export type InputEntryFunctionDataWithABI = Omit<InputEntryFunctionData, "abi"> & {
118
+ abi: EntryFunctionABI;
119
+ };
120
+
121
+ export type InputMultiSigDataWithABI = {
122
+ multisigAddress: AccountAddressInput;
123
+ } & InputEntryFunctionDataWithABI;
124
+
114
125
  export type InputEntryFunctionDataWithRemoteABI = InputEntryFunctionData & { aptosConfig: AptosConfig };
115
126
  /**
116
127
  * The data needed to generate a Multi Sig payload
@@ -55,6 +55,7 @@ export type CurrentTokenOwnershipFieldsFragment = {
55
55
  token_properties: any;
56
56
  token_standard: string;
57
57
  token_uri: string;
58
+ decimals: any;
58
59
  current_collection?: {
59
60
  collection_id: string;
60
61
  collection_name: string;
@@ -211,6 +212,7 @@ export type GetAccountOwnedTokensQuery = {
211
212
  token_properties: any;
212
213
  token_standard: string;
213
214
  token_uri: string;
215
+ decimals: any;
214
216
  current_collection?: {
215
217
  collection_id: string;
216
218
  collection_name: string;
@@ -266,6 +268,7 @@ export type GetAccountOwnedTokensByTokenDataQuery = {
266
268
  token_properties: any;
267
269
  token_standard: string;
268
270
  token_uri: string;
271
+ decimals: any;
269
272
  current_collection?: {
270
273
  collection_id: string;
271
274
  collection_name: string;
@@ -321,6 +324,7 @@ export type GetAccountOwnedTokensFromCollectionQuery = {
321
324
  token_properties: any;
322
325
  token_standard: string;
323
326
  token_uri: string;
327
+ decimals: any;
324
328
  current_collection?: {
325
329
  collection_id: string;
326
330
  collection_name: string;
@@ -593,6 +597,7 @@ export type GetCurrentTokenOwnershipQuery = {
593
597
  token_properties: any;
594
598
  token_standard: string;
595
599
  token_uri: string;
600
+ decimals: any;
596
601
  current_collection?: {
597
602
  collection_id: string;
598
603
  collection_name: string;
@@ -635,6 +640,7 @@ export type GetTokenDataQuery = {
635
640
  token_properties: any;
636
641
  token_standard: string;
637
642
  token_uri: string;
643
+ decimals: any;
638
644
  current_collection?: {
639
645
  collection_id: string;
640
646
  collection_name: string;
@@ -60,6 +60,7 @@ export const CurrentTokenOwnershipFieldsFragmentDoc = `
60
60
  token_properties
61
61
  token_standard
62
62
  token_uri
63
+ decimals
63
64
  current_collection {
64
65
  collection_id
65
66
  collection_name
@@ -433,6 +434,7 @@ export const GetTokenData = `
433
434
  token_properties
434
435
  token_standard
435
436
  token_uri
437
+ decimals
436
438
  current_collection {
437
439
  collection_id
438
440
  collection_name