@typemove/aptos 1.2.9 → 1.3.0-rc.2
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/account-resource-client.d.ts +8 -15
- package/dist/cjs/account-resource-client.d.ts.map +1 -1
- package/dist/cjs/account-resource-client.js +17 -10
- package/dist/cjs/account-resource-client.js.map +1 -1
- package/dist/cjs/account-resource-client.test.js.map +1 -1
- package/dist/cjs/aptos-chain-adapter.d.ts +3 -4
- package/dist/cjs/aptos-chain-adapter.d.ts.map +1 -1
- package/dist/cjs/aptos-chain-adapter.js +7 -2
- package/dist/cjs/aptos-chain-adapter.js.map +1 -1
- package/dist/cjs/builtin/0x1.d.ts +1039 -961
- package/dist/cjs/builtin/0x1.d.ts.map +1 -1
- package/dist/cjs/builtin/0x1.js +2675 -1458
- package/dist/cjs/builtin/0x1.js.map +1 -1
- package/dist/cjs/builtin/0x3.d.ts +126 -83
- package/dist/cjs/builtin/0x3.d.ts.map +1 -1
- package/dist/cjs/builtin/0x3.js +203 -117
- package/dist/cjs/builtin/0x3.js.map +1 -1
- package/dist/cjs/builtin/0x4.d.ts +139 -135
- package/dist/cjs/builtin/0x4.d.ts.map +1 -1
- package/dist/cjs/builtin/0x4.js +365 -210
- package/dist/cjs/builtin/0x4.js.map +1 -1
- package/dist/cjs/client.test.js.map +1 -1
- package/dist/cjs/codegen/codegen.d.ts +1 -1
- package/dist/cjs/codegen/codegen.d.ts.map +1 -1
- package/dist/cjs/codegen/codegen.js +29 -23
- package/dist/cjs/codegen/codegen.js.map +1 -1
- package/dist/cjs/codegen/types.test.js.map +1 -1
- package/dist/cjs/models.d.ts +2 -2
- package/dist/cjs/models.d.ts.map +1 -1
- package/dist/cjs/move-coder.d.ts +4 -5
- package/dist/cjs/move-coder.d.ts.map +1 -1
- package/dist/cjs/move-coder.js +6 -3
- package/dist/cjs/move-coder.js.map +1 -1
- package/dist/cjs/move-types.d.ts +1 -11
- package/dist/cjs/move-types.d.ts.map +1 -1
- package/dist/cjs/move-types.js +11 -0
- package/dist/cjs/move-types.js.map +1 -1
- package/dist/cjs/to-internal.d.ts +1 -1
- package/dist/cjs/to-internal.d.ts.map +1 -1
- package/dist/cjs/to-internal.js +8 -8
- package/dist/cjs/to-internal.js.map +1 -1
- package/dist/esm/account-resource-client.d.ts +8 -15
- package/dist/esm/account-resource-client.d.ts.map +1 -1
- package/dist/esm/account-resource-client.js +17 -10
- package/dist/esm/account-resource-client.js.map +1 -1
- package/dist/esm/account-resource-client.test.js.map +1 -1
- package/dist/esm/aptos-chain-adapter.d.ts +3 -4
- package/dist/esm/aptos-chain-adapter.d.ts.map +1 -1
- package/dist/esm/aptos-chain-adapter.js +7 -2
- package/dist/esm/aptos-chain-adapter.js.map +1 -1
- package/dist/esm/builtin/0x1.d.ts +1039 -961
- package/dist/esm/builtin/0x1.d.ts.map +1 -1
- package/dist/esm/builtin/0x1.js +2675 -1458
- package/dist/esm/builtin/0x1.js.map +1 -1
- package/dist/esm/builtin/0x3.d.ts +126 -83
- package/dist/esm/builtin/0x3.d.ts.map +1 -1
- package/dist/esm/builtin/0x3.js +203 -117
- package/dist/esm/builtin/0x3.js.map +1 -1
- package/dist/esm/builtin/0x4.d.ts +139 -135
- package/dist/esm/builtin/0x4.d.ts.map +1 -1
- package/dist/esm/builtin/0x4.js +365 -210
- package/dist/esm/builtin/0x4.js.map +1 -1
- package/dist/esm/client.test.js.map +1 -1
- package/dist/esm/codegen/codegen.d.ts +1 -1
- package/dist/esm/codegen/codegen.d.ts.map +1 -1
- package/dist/esm/codegen/codegen.js +29 -23
- package/dist/esm/codegen/codegen.js.map +1 -1
- package/dist/esm/codegen/run.js +5 -5
- package/dist/esm/codegen/run.js.map +1 -1
- package/dist/esm/codegen/types.test.js.map +1 -1
- package/dist/esm/models.d.ts +2 -2
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/move-coder.d.ts +4 -5
- package/dist/esm/move-coder.d.ts.map +1 -1
- package/dist/esm/move-coder.js +6 -3
- package/dist/esm/move-coder.js.map +1 -1
- package/dist/esm/move-types.d.ts +1 -11
- package/dist/esm/move-types.d.ts.map +1 -1
- package/dist/esm/move-types.js +11 -0
- package/dist/esm/move-types.js.map +1 -1
- package/dist/esm/to-internal.d.ts +1 -1
- package/dist/esm/to-internal.d.ts.map +1 -1
- package/dist/esm/to-internal.js +9 -9
- package/dist/esm/to-internal.js.map +1 -1
- package/package.json +3 -3
- package/src/abis/0x1.json +193 -4
- package/src/abis/0x4.json +20 -1
- package/src/account-resource-client.ts +30 -19
- package/src/aptos-chain-adapter.ts +10 -6
- package/src/builtin/0x1.ts +3994 -3160
- package/src/builtin/0x3.ts +337 -263
- package/src/builtin/0x4.ts +529 -437
- package/src/codegen/codegen.ts +29 -26
- package/src/codegen/run.ts +5 -5
- package/src/models.ts +7 -12
- package/src/move-coder.ts +18 -9
- package/src/move-types.ts +13 -12
- package/src/tests/types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.ts +829 -684
- package/src/tests/types/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.ts +8 -9
- package/src/tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.ts +803 -687
- package/src/to-internal.ts +15 -10
package/src/codegen/codegen.ts
CHANGED
|
@@ -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 {
|
|
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 = '
|
|
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
|
|
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 {
|
|
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 ? `
|
|
91
|
-
${func.params.length > 0 ? `
|
|
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:
|
|
93
|
+
client: Aptos,
|
|
95
94
|
${requestArg}
|
|
96
95
|
version?: bigint): Promise<[${returns.join(',')}]> {
|
|
97
|
-
const coder = defaultMoveCoder(client.
|
|
98
|
-
const data = {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
|
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:
|
|
126
|
+
client: Aptos,
|
|
128
127
|
account: AptosAccount,
|
|
129
128
|
request: {
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
typeArguments: [${func.typeParams.map((_) => 'MoveStructId').join(', ')}],
|
|
130
|
+
functionArguments: [${fields.join(',')}]
|
|
132
131
|
},
|
|
133
|
-
|
|
134
|
-
): Promise<
|
|
135
|
-
const coder = defaultMoveCoder(client.
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
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
|
}
|
package/src/codegen/run.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { codegen } from './codegen.js'
|
|
4
|
-
import {
|
|
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
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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 {
|
|
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:
|
|
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:
|
|
53
|
-
): Promise<
|
|
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<
|
|
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
|
-
|
|
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 {
|
|
1
|
+
// import { MoveModule } from '@aptos-labs/ts-sdk'
|
|
2
2
|
|
|
3
|
-
export type Address =
|
|
4
|
-
|
|
5
|
-
export type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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'
|