@typemove/aptos 1.2.4 → 1.2.5-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.
- package/dist/cjs/account-resource-client.d.ts +35 -0
- package/dist/cjs/account-resource-client.d.ts.map +1 -0
- package/dist/cjs/account-resource-client.js +44 -0
- package/dist/cjs/account-resource-client.js.map +1 -0
- package/dist/cjs/account-resource-client.test.d.ts +2 -0
- package/dist/cjs/account-resource-client.test.d.ts.map +1 -0
- package/dist/cjs/account-resource-client.test.js.map +1 -0
- package/dist/cjs/aptos-chain-adapter.d.ts +16 -0
- package/dist/cjs/aptos-chain-adapter.d.ts.map +1 -0
- package/dist/cjs/aptos-chain-adapter.js +82 -0
- package/dist/cjs/aptos-chain-adapter.js.map +1 -0
- package/dist/cjs/builtin/0x1.d.ts +3796 -0
- package/dist/cjs/builtin/0x1.d.ts.map +1 -0
- package/dist/cjs/builtin/0x1.js +5019 -0
- package/dist/cjs/builtin/0x1.js.map +1 -0
- package/dist/cjs/builtin/0x3.d.ts +652 -0
- package/dist/cjs/builtin/0x3.d.ts.map +1 -0
- package/dist/cjs/builtin/0x3.js +584 -0
- package/dist/cjs/builtin/0x3.js.map +1 -0
- package/dist/cjs/builtin/index.d.ts +3 -0
- package/dist/cjs/builtin/index.d.ts.map +1 -0
- package/dist/cjs/builtin/index.js +10 -0
- package/dist/cjs/builtin/index.js.map +1 -0
- package/dist/cjs/client.test.d.ts +2 -0
- package/dist/cjs/client.test.d.ts.map +1 -0
- package/dist/cjs/client.test.js.map +1 -0
- package/dist/cjs/codegen/codegen.d.ts +14 -0
- package/dist/cjs/codegen/codegen.d.ts.map +1 -0
- package/dist/cjs/codegen/codegen.js +116 -0
- package/dist/cjs/codegen/codegen.js.map +1 -0
- package/dist/cjs/codegen/index.d.ts +2 -0
- package/dist/cjs/codegen/index.d.ts.map +1 -0
- package/dist/cjs/codegen/index.js +5 -0
- package/dist/cjs/codegen/index.js.map +1 -0
- package/dist/cjs/codegen/types.test.d.ts +2 -0
- package/dist/cjs/codegen/types.test.d.ts.map +1 -0
- package/dist/cjs/codegen/types.test.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/models.d.ts +11 -0
- package/dist/cjs/models.d.ts.map +1 -0
- package/dist/cjs/models.js +3 -0
- package/dist/cjs/models.js.map +1 -0
- package/dist/cjs/move-coder.d.ts +15 -0
- package/dist/cjs/move-coder.d.ts.map +1 -0
- package/dist/cjs/move-coder.js +76 -0
- package/dist/cjs/move-coder.js.map +1 -0
- package/dist/cjs/move-types.d.ts +12 -0
- package/dist/cjs/move-types.d.ts.map +1 -0
- package/dist/cjs/move-types.js +3 -0
- package/dist/cjs/move-types.js.map +1 -0
- package/dist/cjs/to-internal.d.ts +7 -0
- package/dist/cjs/to-internal.d.ts.map +1 -0
- package/dist/cjs/to-internal.js +60 -0
- package/dist/cjs/to-internal.js.map +1 -0
- package/dist/esm/account-resource-client.d.ts +35 -0
- package/dist/esm/account-resource-client.d.ts.map +1 -0
- package/dist/esm/account-resource-client.js +40 -0
- package/dist/esm/account-resource-client.js.map +1 -0
- package/dist/esm/account-resource-client.test.d.ts +2 -0
- package/dist/esm/account-resource-client.test.d.ts.map +1 -0
- package/dist/esm/account-resource-client.test.js.map +1 -0
- package/dist/esm/aptos-chain-adapter.d.ts +16 -0
- package/dist/esm/aptos-chain-adapter.d.ts.map +1 -0
- package/dist/esm/aptos-chain-adapter.js +78 -0
- package/dist/esm/aptos-chain-adapter.js.map +1 -0
- package/dist/esm/builtin/0x1.d.ts +3796 -0
- package/dist/esm/builtin/0x1.d.ts.map +1 -0
- package/dist/esm/builtin/0x1.js +5014 -0
- package/dist/esm/builtin/0x1.js.map +1 -0
- package/dist/esm/builtin/0x3.d.ts +652 -0
- package/dist/esm/builtin/0x3.d.ts.map +1 -0
- package/dist/esm/builtin/0x3.js +579 -0
- package/dist/esm/builtin/0x3.js.map +1 -0
- package/dist/esm/builtin/index.d.ts +3 -0
- package/dist/esm/builtin/index.d.ts.map +1 -0
- package/dist/esm/builtin/index.js +6 -0
- package/dist/esm/builtin/index.js.map +1 -0
- package/dist/esm/client.test.d.ts +2 -0
- package/dist/esm/client.test.d.ts.map +1 -0
- package/dist/esm/client.test.js.map +1 -0
- package/dist/esm/codegen/codegen.d.ts +14 -0
- package/dist/esm/codegen/codegen.d.ts.map +1 -0
- package/dist/esm/codegen/codegen.js +110 -0
- package/dist/esm/codegen/codegen.js.map +1 -0
- package/dist/esm/codegen/index.d.ts +2 -0
- package/dist/esm/codegen/index.d.ts.map +1 -0
- package/dist/esm/codegen/index.js +2 -0
- package/dist/esm/codegen/index.js.map +1 -0
- package/dist/esm/codegen/run.d.ts +2 -0
- package/dist/esm/codegen/run.d.ts.map +1 -0
- package/dist/esm/codegen/run.js.map +1 -0
- package/dist/esm/codegen/types.test.d.ts +2 -0
- package/dist/esm/codegen/types.test.d.ts.map +1 -0
- package/dist/esm/codegen/types.test.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/models.d.ts +11 -0
- package/dist/esm/models.d.ts.map +1 -0
- package/dist/esm/models.js +2 -0
- package/dist/esm/models.js.map +1 -0
- package/dist/esm/move-coder.d.ts +15 -0
- package/dist/esm/move-coder.d.ts.map +1 -0
- package/dist/esm/move-coder.js +71 -0
- package/dist/esm/move-coder.js.map +1 -0
- package/dist/esm/move-types.d.ts +12 -0
- package/dist/esm/move-types.d.ts.map +1 -0
- package/dist/esm/move-types.js +2 -0
- package/dist/esm/move-types.js.map +1 -0
- package/dist/esm/to-internal.d.ts +7 -0
- package/dist/esm/to-internal.d.ts.map +1 -0
- package/dist/esm/to-internal.js +53 -0
- package/dist/esm/to-internal.js.map +1 -0
- package/package.json +2 -2
- package/src/abis/0x1.json +15625 -0
- package/src/abis/0x3.json +2262 -0
- package/src/account-resource-client.ts +58 -0
- package/src/aptos-chain-adapter.ts +102 -0
- package/src/builtin/0x1.ts +9847 -0
- package/src/builtin/0x3.ts +1366 -0
- package/src/builtin/index.ts +5 -0
- package/src/codegen/codegen.ts +132 -0
- package/src/codegen/index.ts +1 -0
- package/src/codegen/run.ts +33 -0
- package/src/index.ts +4 -0
- package/src/models.ts +18 -0
- package/src/move-coder.ts +85 -0
- package/src/move-types.ts +13 -0
- package/src/tests/abis/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.json +3265 -0
- package/src/tests/abis/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.json +637 -0
- package/src/tests/abis/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.json +3717 -0
- package/src/tests/types/0x48271d39d0b05bd6efca2278f22277d6fcc375504f9839fd73f74ace240861af.ts +2668 -0
- package/src/tests/types/0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9.ts +89 -0
- package/src/tests/types/0xbd35135844473187163ca197ca93b2ab014370587bb0ed3befff9e902d6bb541.ts +2093 -0
- package/src/tests/types/index.ts +6 -0
- package/src/to-internal.ts +64 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import * as fs from 'fs'
|
|
2
|
+
import { Event, MoveModuleBytecode, MoveResource } from '../move-types.js'
|
|
3
|
+
import chalk from 'chalk'
|
|
4
|
+
import { join } from 'path'
|
|
5
|
+
import { AptosChainAdapter } from '../aptos-chain-adapter.js'
|
|
6
|
+
import { AbstractCodegen, camel, InternalMoveFunction, InternalMoveModule, normalizeToJSName } from '@typemove/move'
|
|
7
|
+
import { AptosClient } from 'aptos'
|
|
8
|
+
|
|
9
|
+
export async function codegen(
|
|
10
|
+
abisDir: string,
|
|
11
|
+
outDir = join('src', 'types', 'aptos'),
|
|
12
|
+
endpoint: string,
|
|
13
|
+
genExample = false,
|
|
14
|
+
builtin = false
|
|
15
|
+
) {
|
|
16
|
+
if (!fs.existsSync(abisDir)) {
|
|
17
|
+
return
|
|
18
|
+
}
|
|
19
|
+
const gen = new AptosCodegen(endpoint)
|
|
20
|
+
const numFiles = await gen.generate(abisDir, outDir, builtin)
|
|
21
|
+
console.log(chalk.green(`Generated ${numFiles} for Aptos`))
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class AptosCodegen extends AbstractCodegen<MoveModuleBytecode, Event | MoveResource> {
|
|
25
|
+
ADDRESS_TYPE = 'Address'
|
|
26
|
+
PREFIX = 'Aptos'
|
|
27
|
+
SYSTEM_PACKAGE = '@typemove/aptos'
|
|
28
|
+
|
|
29
|
+
constructor(endpoint: string) {
|
|
30
|
+
super(new AptosChainAdapter(new AptosClient(endpoint)))
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
generateImports(): string {
|
|
34
|
+
return `
|
|
35
|
+
${super.generateImports()}
|
|
36
|
+
import { AptosClient, AptosAccount, TransactionBuilderRemoteABI, Types, TxnBuilderTypes, OptionalTransactionArgs } from 'aptos'
|
|
37
|
+
`
|
|
38
|
+
}
|
|
39
|
+
protected generateExtra(module: InternalMoveModule) {
|
|
40
|
+
const funcs = module.exposedFunctions.map((f) => this.generateEntryForFunction(module, f))
|
|
41
|
+
|
|
42
|
+
const viewFuncs = module.exposedFunctions.map((f) => this.generateViewFunction(module, f))
|
|
43
|
+
|
|
44
|
+
return `
|
|
45
|
+
export namespace entry {
|
|
46
|
+
${funcs.join('\n')}
|
|
47
|
+
}
|
|
48
|
+
export namespace view {
|
|
49
|
+
${viewFuncs.join('\n')}
|
|
50
|
+
}
|
|
51
|
+
`
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected generateViewFunction(module: InternalMoveModule, func: InternalMoveFunction): string {
|
|
55
|
+
if (!func.isView) {
|
|
56
|
+
return ''
|
|
57
|
+
}
|
|
58
|
+
const genericString = this.generateFunctionTypeParameters(func)
|
|
59
|
+
const fields = this.chainAdapter.getMeaningfulFunctionParams(func.params).map((param) => {
|
|
60
|
+
return this.generateTypeForDescriptor(param, module.address)
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
const returns = func.return.map((param) => {
|
|
64
|
+
return this.generateTypeForDescriptor(param, module.address)
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
const typeParamArg = func.typeParams
|
|
68
|
+
.map((v, idx) => {
|
|
69
|
+
return `TypeDescriptor<T${idx}> | string`
|
|
70
|
+
})
|
|
71
|
+
.join(',')
|
|
72
|
+
|
|
73
|
+
// const args = this.generateArgs(module, func)
|
|
74
|
+
const allEmpty = func.typeParams.length === 0 && func.params.length === 0
|
|
75
|
+
const requestArg = allEmpty
|
|
76
|
+
? ''
|
|
77
|
+
: `request: {
|
|
78
|
+
${func.typeParams.length > 0 ? `type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}],` : ''}
|
|
79
|
+
${func.params.length > 0 ? `arguments: [${fields.join(',')}]` : ''}},`
|
|
80
|
+
|
|
81
|
+
return `export async function ${camel(normalizeToJSName(func.name))}${genericString}(
|
|
82
|
+
client: AptosClient,
|
|
83
|
+
${requestArg}
|
|
84
|
+
version?: bigint): Promise<[${returns.join(',')}]> {
|
|
85
|
+
const coder = defaultMoveCoder(client.nodeUrl)
|
|
86
|
+
const data = {
|
|
87
|
+
type_arguments: ${func.typeParams.length > 0 ? 'request.type_arguments' : '[]'},
|
|
88
|
+
arguments: ${func.params.length > 0 ? 'coder.encodeArray(request.arguments)' : '[]'},
|
|
89
|
+
function: "${module.address}::${module.name}::${func.name}"
|
|
90
|
+
}
|
|
91
|
+
const res = await client.view(data, version?.toString())
|
|
92
|
+
const type = await coder.getMoveFunction("${module.address}::${module.name}::${func.name}")
|
|
93
|
+
return await coder.decodeArray(res, type.return) as any
|
|
94
|
+
}`
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
protected generateEntryForFunction(module: InternalMoveModule, func: InternalMoveFunction): string {
|
|
98
|
+
if (!func.isEntry) {
|
|
99
|
+
return ''
|
|
100
|
+
}
|
|
101
|
+
const genericString = this.generateFunctionTypeParameters(func)
|
|
102
|
+
const fields = this.chainAdapter.getMeaningfulFunctionParams(func.params).map((param) => {
|
|
103
|
+
return this.generateTypeForDescriptor(param, module.address)
|
|
104
|
+
})
|
|
105
|
+
|
|
106
|
+
// const typeParamArg = func.typeParams
|
|
107
|
+
// .map((v, idx) => {
|
|
108
|
+
// return `TypeDescriptor<T${idx}> | string`
|
|
109
|
+
// })
|
|
110
|
+
// .join(',')
|
|
111
|
+
//
|
|
112
|
+
// const args = this.generateArgs(module, func)
|
|
113
|
+
|
|
114
|
+
return `export async function ${camel(normalizeToJSName(func.name))}${genericString}(
|
|
115
|
+
client: AptosClient,
|
|
116
|
+
account: AptosAccount,
|
|
117
|
+
request: {
|
|
118
|
+
type_arguments: [${func.typeParams.map((_) => 'string').join(', ')}],
|
|
119
|
+
arguments: [${fields.join(',')}]
|
|
120
|
+
},
|
|
121
|
+
extraArgs?: OptionalTransactionArgs
|
|
122
|
+
): Promise<Types.PendingTransaction> {
|
|
123
|
+
const coder = defaultMoveCoder(client.nodeUrl)
|
|
124
|
+
const builder = new TransactionBuilderRemoteABI(client, { sender: account.address(), ...extraArgs });
|
|
125
|
+
const txn = await builder.build("${module.address}::${module.name}::${
|
|
126
|
+
func.name
|
|
127
|
+
}", request.type_arguments, coder.encodeArray(request.arguments))
|
|
128
|
+
const bcsTxn = AptosClient.generateBCSTransaction(account, txn)
|
|
129
|
+
return await client.submitSignedBCSTransaction(bcsTxn)
|
|
130
|
+
}`
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './codegen.js'
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// #!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { codegen } from './codegen.js'
|
|
4
|
+
import { AptosClient } from 'aptos'
|
|
5
|
+
import * as path from 'path'
|
|
6
|
+
import * as fs from 'fs'
|
|
7
|
+
|
|
8
|
+
if (process.argv.length > 3) {
|
|
9
|
+
let abisDir = process.argv[2]
|
|
10
|
+
const targetDir = process.argv[3]
|
|
11
|
+
let endpoint: string | undefined = process.argv[4]
|
|
12
|
+
if (!endpoint || endpoint == 'mainnet') {
|
|
13
|
+
endpoint = 'https://mainnet.aptoslabs.com/'
|
|
14
|
+
}
|
|
15
|
+
if (endpoint == 'testnet') {
|
|
16
|
+
endpoint = 'https://testnet.aptoslabs.com/'
|
|
17
|
+
}
|
|
18
|
+
const aptosClient = new AptosClient(endpoint)
|
|
19
|
+
if (abisDir.startsWith('0x')) {
|
|
20
|
+
const abiAddress = abisDir
|
|
21
|
+
const abi = await aptosClient.getAccountModules(abiAddress)
|
|
22
|
+
abisDir = path.join(targetDir, '..', 'abis')
|
|
23
|
+
if (!fs.existsSync(abisDir)) {
|
|
24
|
+
fs.mkdirSync(abisDir, { recursive: true })
|
|
25
|
+
}
|
|
26
|
+
fs.writeFileSync(path.join(abisDir, abiAddress + '.json'), JSON.stringify(abi, null, 2))
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
await codegen(abisDir, targetDir, endpoint, true)
|
|
30
|
+
} else {
|
|
31
|
+
console.error('Not enough argument')
|
|
32
|
+
process.exit(1)
|
|
33
|
+
}
|
package/src/index.ts
ADDED
package/src/models.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Event,
|
|
3
|
+
MoveResource,
|
|
4
|
+
TransactionPayload_EntryFunctionPayload,
|
|
5
|
+
} from './move-types.js'
|
|
6
|
+
import { DecodedStruct } from '@typemove/move'
|
|
7
|
+
|
|
8
|
+
export type TypedEventInstance<T> = DecodedStruct<Event, T>
|
|
9
|
+
export type TypedMoveResource<T> = DecodedStruct<MoveResource, T>
|
|
10
|
+
|
|
11
|
+
// 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
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { AbstractMoveCoder, InternalMoveModule, parseMoveType, TypeDescriptor } from '@typemove/move'
|
|
2
|
+
import { Event, MoveModuleBytecode, MoveResource, TransactionPayload_EntryFunctionPayload } from './move-types.js'
|
|
3
|
+
import { TypedEventInstance, TypedFunctionPayload, TypedMoveResource } from './models.js'
|
|
4
|
+
import { AptosChainAdapter } from './aptos-chain-adapter.js'
|
|
5
|
+
import { toInternalModule } from './to-internal.js'
|
|
6
|
+
import { AptosClient } from 'aptos'
|
|
7
|
+
|
|
8
|
+
export class MoveCoder extends AbstractMoveCoder<MoveModuleBytecode, Event | MoveResource> {
|
|
9
|
+
constructor(client: AptosClient) {
|
|
10
|
+
super(new AptosChainAdapter(client))
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
load(module: MoveModuleBytecode): InternalMoveModule {
|
|
14
|
+
if (!module.abi) {
|
|
15
|
+
throw Error('Module without abi')
|
|
16
|
+
}
|
|
17
|
+
let m = this.moduleMapping.get(module.abi.address + '::' + module.abi.name)
|
|
18
|
+
// if (this.contains(module.abi.address, module.abi.name)) {
|
|
19
|
+
// return
|
|
20
|
+
// }
|
|
21
|
+
if (m) {
|
|
22
|
+
return m
|
|
23
|
+
}
|
|
24
|
+
m = toInternalModule(module)
|
|
25
|
+
this.loadInternal(m)
|
|
26
|
+
return m
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
decodeEvent<T>(event: Event): Promise<TypedEventInstance<T> | undefined> {
|
|
30
|
+
return this.decodedStruct(event)
|
|
31
|
+
}
|
|
32
|
+
filterAndDecodeEvents<T>(type: string | TypeDescriptor<T>, resources: Event[]): Promise<TypedEventInstance<T>[]> {
|
|
33
|
+
if (typeof type === 'string') {
|
|
34
|
+
type = parseMoveType(type)
|
|
35
|
+
}
|
|
36
|
+
return this.filterAndDecodeStruct(type, resources)
|
|
37
|
+
}
|
|
38
|
+
decodeResource<T>(res: MoveResource): Promise<TypedMoveResource<T> | undefined> {
|
|
39
|
+
return this.decodedStruct(res)
|
|
40
|
+
}
|
|
41
|
+
filterAndDecodeResources<T>(
|
|
42
|
+
type: string | TypeDescriptor<T>,
|
|
43
|
+
resources: MoveResource[]
|
|
44
|
+
): Promise<TypedMoveResource<T>[]> {
|
|
45
|
+
if (typeof type === 'string') {
|
|
46
|
+
type = parseMoveType(type)
|
|
47
|
+
}
|
|
48
|
+
return this.filterAndDecodeStruct(type, resources)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async decodeFunctionPayload(
|
|
52
|
+
payload: TransactionPayload_EntryFunctionPayload
|
|
53
|
+
): Promise<TransactionPayload_EntryFunctionPayload> {
|
|
54
|
+
const func = await this.getMoveFunction(payload.function)
|
|
55
|
+
const params = this.adapter.getMeaningfulFunctionParams(func.params)
|
|
56
|
+
const argumentsDecoded = await this.decodeArray(payload.arguments, params)
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
...payload,
|
|
60
|
+
arguments_decoded: argumentsDecoded
|
|
61
|
+
} as TypedFunctionPayload<any>
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// const MOVE_CODER = new MoveCoder(AptosNetwork.MAIN_NET)
|
|
66
|
+
// const TESTNET_MOVE_CODER = new MoveCoder(AptosNetwork.TEST_NET)
|
|
67
|
+
//
|
|
68
|
+
// export function defaultMoveCoder(network: AptosNetwork = AptosNetwork.MAIN_NET): MoveCoder {
|
|
69
|
+
// if (network == AptosNetwork.MAIN_NET) {
|
|
70
|
+
// return MOVE_CODER
|
|
71
|
+
// }
|
|
72
|
+
// return TESTNET_MOVE_CODER
|
|
73
|
+
// }
|
|
74
|
+
|
|
75
|
+
const DEFAULT_ENDPOINT = 'https://mainnet.aptoslabs.com/'
|
|
76
|
+
const CODER_MAP = new Map<string, MoveCoder>()
|
|
77
|
+
|
|
78
|
+
export function defaultMoveCoder(endpoint: string = DEFAULT_ENDPOINT): MoveCoder {
|
|
79
|
+
let coder = CODER_MAP.get(endpoint)
|
|
80
|
+
if (!coder) {
|
|
81
|
+
coder = new MoveCoder(new AptosClient(endpoint))
|
|
82
|
+
CODER_MAP.set(endpoint, coder)
|
|
83
|
+
}
|
|
84
|
+
return coder
|
|
85
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Types } from 'aptos'
|
|
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
|