@typemove/aptos 1.2.9 → 1.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/cjs/account-resource-client.d.ts +8 -15
  2. package/dist/cjs/account-resource-client.d.ts.map +1 -1
  3. package/dist/cjs/account-resource-client.js +17 -10
  4. package/dist/cjs/account-resource-client.js.map +1 -1
  5. package/dist/cjs/account-resource-client.test.js.map +1 -1
  6. package/dist/cjs/aptos-chain-adapter.d.ts +3 -4
  7. package/dist/cjs/aptos-chain-adapter.d.ts.map +1 -1
  8. package/dist/cjs/aptos-chain-adapter.js +7 -2
  9. package/dist/cjs/aptos-chain-adapter.js.map +1 -1
  10. package/dist/cjs/builtin/0x1.d.ts +1039 -961
  11. package/dist/cjs/builtin/0x1.d.ts.map +1 -1
  12. package/dist/cjs/builtin/0x1.js +2675 -1458
  13. package/dist/cjs/builtin/0x1.js.map +1 -1
  14. package/dist/cjs/builtin/0x3.d.ts +126 -83
  15. package/dist/cjs/builtin/0x3.d.ts.map +1 -1
  16. package/dist/cjs/builtin/0x3.js +203 -117
  17. package/dist/cjs/builtin/0x3.js.map +1 -1
  18. package/dist/cjs/builtin/0x4.d.ts +139 -135
  19. package/dist/cjs/builtin/0x4.d.ts.map +1 -1
  20. package/dist/cjs/builtin/0x4.js +365 -210
  21. package/dist/cjs/builtin/0x4.js.map +1 -1
  22. package/dist/cjs/client.test.js.map +1 -1
  23. package/dist/cjs/codegen/codegen.d.ts +1 -1
  24. package/dist/cjs/codegen/codegen.d.ts.map +1 -1
  25. package/dist/cjs/codegen/codegen.js +29 -23
  26. package/dist/cjs/codegen/codegen.js.map +1 -1
  27. package/dist/cjs/codegen/types.test.js.map +1 -1
  28. package/dist/cjs/models.d.ts +2 -2
  29. package/dist/cjs/models.d.ts.map +1 -1
  30. package/dist/cjs/move-coder.d.ts +4 -5
  31. package/dist/cjs/move-coder.d.ts.map +1 -1
  32. package/dist/cjs/move-coder.js +6 -3
  33. package/dist/cjs/move-coder.js.map +1 -1
  34. package/dist/cjs/move-types.d.ts +1 -11
  35. package/dist/cjs/move-types.d.ts.map +1 -1
  36. package/dist/cjs/move-types.js +11 -0
  37. package/dist/cjs/move-types.js.map +1 -1
  38. package/dist/cjs/to-internal.d.ts +1 -1
  39. package/dist/cjs/to-internal.d.ts.map +1 -1
  40. package/dist/cjs/to-internal.js +8 -8
  41. package/dist/cjs/to-internal.js.map +1 -1
  42. package/dist/esm/account-resource-client.d.ts +8 -15
  43. package/dist/esm/account-resource-client.d.ts.map +1 -1
  44. package/dist/esm/account-resource-client.js +17 -10
  45. package/dist/esm/account-resource-client.js.map +1 -1
  46. package/dist/esm/account-resource-client.test.js.map +1 -1
  47. package/dist/esm/aptos-chain-adapter.d.ts +3 -4
  48. package/dist/esm/aptos-chain-adapter.d.ts.map +1 -1
  49. package/dist/esm/aptos-chain-adapter.js +7 -2
  50. package/dist/esm/aptos-chain-adapter.js.map +1 -1
  51. package/dist/esm/builtin/0x1.d.ts +1039 -961
  52. package/dist/esm/builtin/0x1.d.ts.map +1 -1
  53. package/dist/esm/builtin/0x1.js +2675 -1458
  54. package/dist/esm/builtin/0x1.js.map +1 -1
  55. package/dist/esm/builtin/0x3.d.ts +126 -83
  56. package/dist/esm/builtin/0x3.d.ts.map +1 -1
  57. package/dist/esm/builtin/0x3.js +203 -117
  58. package/dist/esm/builtin/0x3.js.map +1 -1
  59. package/dist/esm/builtin/0x4.d.ts +139 -135
  60. package/dist/esm/builtin/0x4.d.ts.map +1 -1
  61. package/dist/esm/builtin/0x4.js +365 -210
  62. package/dist/esm/builtin/0x4.js.map +1 -1
  63. package/dist/esm/client.test.js.map +1 -1
  64. package/dist/esm/codegen/codegen.d.ts +1 -1
  65. package/dist/esm/codegen/codegen.d.ts.map +1 -1
  66. package/dist/esm/codegen/codegen.js +29 -23
  67. package/dist/esm/codegen/codegen.js.map +1 -1
  68. package/dist/esm/codegen/run.js +5 -5
  69. package/dist/esm/codegen/run.js.map +1 -1
  70. package/dist/esm/codegen/types.test.js.map +1 -1
  71. package/dist/esm/models.d.ts +2 -2
  72. package/dist/esm/models.d.ts.map +1 -1
  73. package/dist/esm/move-coder.d.ts +4 -5
  74. package/dist/esm/move-coder.d.ts.map +1 -1
  75. package/dist/esm/move-coder.js +6 -3
  76. package/dist/esm/move-coder.js.map +1 -1
  77. package/dist/esm/move-types.d.ts +1 -11
  78. package/dist/esm/move-types.d.ts.map +1 -1
  79. package/dist/esm/move-types.js +11 -0
  80. package/dist/esm/move-types.js.map +1 -1
  81. package/dist/esm/to-internal.d.ts +1 -1
  82. package/dist/esm/to-internal.d.ts.map +1 -1
  83. package/dist/esm/to-internal.js +9 -9
  84. package/dist/esm/to-internal.js.map +1 -1
  85. package/package.json +3 -3
  86. package/src/abis/0x1.json +193 -4
  87. package/src/abis/0x4.json +20 -1
  88. package/src/account-resource-client.ts +30 -19
  89. package/src/aptos-chain-adapter.ts +10 -6
  90. package/src/builtin/0x1.ts +3994 -3160
  91. package/src/builtin/0x3.ts +337 -263
  92. package/src/builtin/0x4.ts +529 -437
  93. package/src/codegen/codegen.ts +29 -26
  94. package/src/codegen/run.ts +5 -5
  95. package/src/models.ts +7 -12
  96. package/src/move-coder.ts +18 -9
  97. package/src/move-types.ts +13 -12
  98. package/src/tests/types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.ts +829 -684
  99. package/src/tests/types/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.ts +8 -9
  100. package/src/tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.ts +803 -687
  101. package/src/to-internal.ts +15 -10
@@ -1,10 +1,9 @@
1
1
  import * as fs from 'fs'
2
- import { Event, MoveModuleBytecode, MoveResource } from '../move-types.js'
3
2
  import chalk from 'chalk'
4
3
  import { join } from 'path'
5
4
  import { AptosChainAdapter } from '../aptos-chain-adapter.js'
6
5
  import { AbstractCodegen, camel, InternalMoveFunction, InternalMoveModule, normalizeToJSName } from '@typemove/move'
7
- import { AptosClient } from 'aptos'
6
+ import { Aptos, AptosConfig, Event, MoveModuleBytecode, MoveResource } from '@aptos-labs/ts-sdk'
8
7
 
9
8
  export async function codegen(
10
9
  abisDir: string,
@@ -34,18 +33,18 @@ export async function codegen(
34
33
  }
35
34
 
36
35
  export class AptosCodegen extends AbstractCodegen<MoveModuleBytecode, Event | MoveResource> {
37
- ADDRESS_TYPE = 'Address'
36
+ ADDRESS_TYPE = 'MoveAddressType'
38
37
  PREFIX = 'Aptos'
39
38
  SYSTEM_PACKAGE = '@typemove/aptos'
40
39
 
41
40
  constructor(endpoint: string) {
42
- super(new AptosChainAdapter(new AptosClient(endpoint)))
41
+ super(new AptosChainAdapter(new Aptos(new AptosConfig({ fullnode: endpoint }))))
43
42
  }
44
43
 
45
44
  generateImports(): string {
46
45
  return `
47
46
  ${super.generateImports()}
48
- import { AptosClient, AptosAccount, TransactionBuilderRemoteABI, Types, TxnBuilderTypes, OptionalTransactionArgs } from 'aptos'
47
+ import { Aptos, Account as AptosAccount, MoveAddressType, PendingTransactionResponse, InputGenerateTransactionOptions, MoveStructId, InputViewRequestData } from '@aptos-labs/ts-sdk'
49
48
  `
50
49
  }
51
50
  protected generateExtra(module: InternalMoveModule) {
@@ -87,20 +86,20 @@ export class AptosCodegen extends AbstractCodegen<MoveModuleBytecode, Event | Mo
87
86
  const requestArg = allEmpty
88
87
  ? ''
89
88
  : `request: {
90
- ${func.typeParams.length > 0 ? `type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}],` : ''}
91
- ${func.params.length > 0 ? `arguments: [${fields.join(',')}]` : ''}},`
89
+ ${func.typeParams.length > 0 ? `typeArguments: [${func.typeParams.map((_) => 'MoveStructId').join(', ')}],` : ''}
90
+ ${func.params.length > 0 ? `functionArguments: [${fields.join(',')}]` : ''}},`
92
91
 
93
92
  return `export async function ${camel(normalizeToJSName(func.name))}${genericString}(
94
- client: AptosClient,
93
+ client: Aptos,
95
94
  ${requestArg}
96
95
  version?: bigint): Promise<[${returns.join(',')}]> {
97
- const coder = defaultMoveCoder(client.nodeUrl)
98
- const data = {
99
- type_arguments: ${func.typeParams.length > 0 ? 'request.type_arguments' : '[]'},
100
- arguments: ${func.params.length > 0 ? 'coder.encodeArray(request.arguments)' : '[]'},
101
- function: "${module.address}::${module.name}::${func.name}"
96
+ const coder = defaultMoveCoder(client.config.fullnode)
97
+ const data: InputViewRequestData = {
98
+ function: "${module.address}::${module.name}::${func.name}",
99
+ functionArguments: ${func.params.length > 0 ? 'coder.encodeArray(request.functionArguments)' : '[]'},
100
+ typeArguments: ${func.typeParams.length > 0 ? 'request.typeArguments' : '[]'},
102
101
  }
103
- const res = await client.view(data, version?.toString())
102
+ const res = await client.view({payload: data, options: { ledgerVersion: version } });
104
103
  const type = await coder.getMoveFunction("${module.address}::${module.name}::${func.name}")
105
104
  return await coder.decodeArray(res, type.return) as any
106
105
  }`
@@ -124,21 +123,25 @@ export class AptosCodegen extends AbstractCodegen<MoveModuleBytecode, Event | Mo
124
123
  // const args = this.generateArgs(module, func)
125
124
 
126
125
  return `export async function ${camel(normalizeToJSName(func.name))}${genericString}(
127
- client: AptosClient,
126
+ client: Aptos,
128
127
  account: AptosAccount,
129
128
  request: {
130
- type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}],
131
- arguments: [${fields.join(',')}]
129
+ typeArguments: [${func.typeParams.map((_) => 'MoveStructId').join(', ')}],
130
+ functionArguments: [${fields.join(',')}]
132
131
  },
133
- extraArgs?: OptionalTransactionArgs
134
- ): Promise<Types.PendingTransaction> {
135
- const coder = defaultMoveCoder(client.nodeUrl)
136
- const builder = new TransactionBuilderRemoteABI(client, { sender: account.address(), ...extraArgs });
137
- const txn = await builder.build("${module.address}::${module.name}::${
138
- func.name
139
- }", request.type_arguments, coder.encodeArray(request.arguments))
140
- const bcsTxn = AptosClient.generateBCSTransaction(account, txn)
141
- return await client.submitSignedBCSTransaction(bcsTxn)
132
+ options?: InputGenerateTransactionOptions
133
+ ): Promise<PendingTransactionResponse> {
134
+ const coder = defaultMoveCoder(client.config.fullnode)
135
+ const transaction = await client.build.simple({
136
+ sender: account.accountAddress,
137
+ data: {
138
+ function: "${module.address}::${module.name}::${func.name}",
139
+ functionArguments: ${func.params.length > 0 ? 'coder.encodeArray(request.functionArguments)' : '[]'},
140
+ typeArguments: ${func.typeParams.length > 0 ? 'request.typeArguments' : '[]'},
141
+ },
142
+ options
143
+ })
144
+ return await client.signAndSubmitTransaction({ signer: account, transaction });
142
145
  }`
143
146
  }
144
147
  }
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { codegen } from './codegen.js'
4
- import { AptosClient } from 'aptos'
4
+ import { Aptos, AptosConfig } from '@aptos-labs/ts-sdk'
5
5
  import * as path from 'path'
6
6
  import * as fs from 'fs'
7
7
  import { Command } from 'commander'
@@ -32,17 +32,17 @@ program
32
32
  .action(async (location, options) => {
33
33
  let endpoint = options.network
34
34
  if (endpoint == 'mainnet') {
35
- endpoint = 'https://mainnet.aptoslabs.com/'
35
+ endpoint = 'https://mainnet.aptoslabs.com/v1'
36
36
  }
37
37
  if (endpoint == 'testnet') {
38
- endpoint = 'https://testnet.aptoslabs.com/'
38
+ endpoint = 'https://testnet.aptoslabs.com/v1'
39
39
  }
40
- const aptosClient = new AptosClient(endpoint)
40
+ const aptosClient = new Aptos(new AptosConfig({ fullnode: endpoint }))
41
41
 
42
42
  let abisDir = location
43
43
  if (location.startsWith('0x')) {
44
44
  const abiAddress = abisDir
45
- const abi = await aptosClient.getAccountModules(abiAddress)
45
+ const abi = await aptosClient.getAccountModules({ accountAddress: abiAddress })
46
46
  abisDir = options.abiDir
47
47
  if (!fs.existsSync(abisDir)) {
48
48
  fs.mkdirSync(abisDir, { recursive: true })
package/src/models.ts CHANGED
@@ -1,18 +1,13 @@
1
- import {
2
- Event,
3
- MoveResource,
4
- TransactionPayload_EntryFunctionPayload,
5
- } from './move-types.js'
6
1
  import { DecodedStruct } from '@typemove/move'
2
+ import { EntryFunctionPayloadResponse, MoveResource, Event } from '@aptos-labs/ts-sdk'
7
3
 
8
4
  export type TypedEventInstance<T> = DecodedStruct<Event, T>
9
5
  export type TypedMoveResource<T> = DecodedStruct<MoveResource, T>
10
6
 
11
7
  // Don't use intermediate type to make IDE happier
12
- export type TypedFunctionPayload<T extends Array<any>> =
13
- TransactionPayload_EntryFunctionPayload & {
14
- /**
15
- * decoded argument data using ABI, undefined if there is decoding error, usually because the ABI/data mismatch
16
- */
17
- arguments_decoded: T
18
- }
8
+ export type TypedFunctionPayload<T extends Array<any>> = EntryFunctionPayloadResponse & {
9
+ /**
10
+ * decoded argument data using ABI, undefined if there is decoding error, usually because the ABI/data mismatch
11
+ */
12
+ arguments_decoded: T
13
+ }
package/src/move-coder.ts CHANGED
@@ -1,12 +1,18 @@
1
1
  import { AbstractMoveCoder, InternalMoveModule, parseMoveType, TypeDescriptor } from '@typemove/move'
2
- import { Event, MoveModuleBytecode, MoveResource, TransactionPayload_EntryFunctionPayload } from './move-types.js'
3
2
  import { TypedEventInstance, TypedFunctionPayload, TypedMoveResource } from './models.js'
4
3
  import { AptosChainAdapter } from './aptos-chain-adapter.js'
5
4
  import { toInternalModule } from './to-internal.js'
6
- import { AptosClient } from 'aptos'
5
+ import {
6
+ Aptos,
7
+ AptosConfig,
8
+ EntryFunctionPayloadResponse,
9
+ Event,
10
+ MoveModuleBytecode,
11
+ MoveResource
12
+ } from '@aptos-labs/ts-sdk'
7
13
 
8
14
  export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | MoveResource> {
9
- constructor(client: AptosClient) {
15
+ constructor(client: Aptos) {
10
16
  super(new AptosChainAdapter(client))
11
17
  }
12
18
 
@@ -27,12 +33,14 @@ export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | Mov
27
33
  }
28
34
 
29
35
  decodeEvent<T>(event: Event): Promise<TypedEventInstance<T> | undefined> {
36
+ // TODO fix type
30
37
  return this.decodedStruct(event)
31
38
  }
32
39
  filterAndDecodeEvents<T>(type: string | TypeDescriptor<T>, resources: Event[]): Promise<TypedEventInstance<T>[]> {
33
40
  if (typeof type === 'string') {
34
41
  type = parseMoveType(type)
35
42
  }
43
+ // TODO fix type
36
44
  return this.filterAndDecodeStruct(type, resources)
37
45
  }
38
46
  decodeResource<T>(res: MoveResource): Promise<TypedMoveResource<T> | undefined> {
@@ -48,9 +56,9 @@ export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | Mov
48
56
  return this.filterAndDecodeStruct(type, resources)
49
57
  }
50
58
 
51
- async decodeFunctionPayload(
52
- payload: TransactionPayload_EntryFunctionPayload
53
- ): Promise<TransactionPayload_EntryFunctionPayload> {
59
+ async decodeFunctionPayload<T extends Array<any>>(
60
+ payload: EntryFunctionPayloadResponse
61
+ ): Promise<TypedFunctionPayload<T>> {
54
62
  const func = await this.getMoveFunction(payload.function)
55
63
  const params = this.adapter.getMeaningfulFunctionParams(func.params)
56
64
  const argumentsDecoded = await this.decodeArray(payload.arguments, params)
@@ -58,7 +66,7 @@ export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | Mov
58
66
  return {
59
67
  ...payload,
60
68
  arguments_decoded: argumentsDecoded
61
- } as TypedFunctionPayload<any>
69
+ } as TypedFunctionPayload<T>
62
70
  }
63
71
  }
64
72
 
@@ -72,13 +80,14 @@ export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | Mov
72
80
  // return TESTNET_MOVE_CODER
73
81
  // }
74
82
 
75
- const DEFAULT_ENDPOINT = 'https://mainnet.aptoslabs.com/'
83
+ const DEFAULT_ENDPOINT = 'https://mainnet.aptoslabs.com/v1'
76
84
  const CODER_MAP = new Map<string, MoveCoder>()
77
85
 
78
86
  export function defaultMoveCoder(endpoint: string = DEFAULT_ENDPOINT): MoveCoder {
79
87
  let coder = CODER_MAP.get(endpoint)
80
88
  if (!coder) {
81
- coder = new MoveCoder(new AptosClient(endpoint))
89
+ const config = new AptosConfig({ fullnode: endpoint })
90
+ coder = new MoveCoder(new Aptos(config))
82
91
  CODER_MAP.set(endpoint, coder)
83
92
  }
84
93
  return coder
package/src/move-types.ts CHANGED
@@ -1,13 +1,14 @@
1
- import { Types } from 'aptos'
1
+ // import { MoveModule } from '@aptos-labs/ts-sdk'
2
2
 
3
- export type Address = Types.Address
4
- export type Event = Types.Event
5
- export type MoveFunction = Types.MoveFunction
6
- export type MoveModule = Types.MoveModule
7
- export type MoveResource = Types.MoveResource
8
- export type MoveStruct = Types.MoveStruct
9
- export type MoveStructField = Types.MoveStructField
10
- export type MoveModuleBytecode = Types.MoveModuleBytecode
11
- export type TransactionPayload_EntryFunctionPayload =
12
- Types.TransactionPayload_EntryFunctionPayload
13
- export type Transaction_UserTransaction = Types.Transaction_UserTransaction
3
+ export type Address = string
4
+
5
+ // export type {
6
+ // MoveAddressType,
7
+ // Event,
8
+ // MoveFunction,
9
+ // MoveModule,
10
+ // MoveResource,
11
+ // MoveStruct,
12
+ // MoveStructField,
13
+ // MoveModuleBytecode
14
+ // } from '@aptos-labs/ts-sdk'