@thalalabs/surf 1.5.0 → 1.6.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.
- package/.github/workflows/publish.yml +1 -1
- package/.husky/pre-commit +5 -0
- package/CHANGELOG.md +12 -0
- package/README.md +11 -4
- package/build/types/types/common.d.ts +1 -1
- package/build/types/types/common.d.ts.map +1 -1
- package/build/types/types/convertor/structConvertor.d.ts +7 -1
- package/build/types/types/convertor/structConvertor.d.ts.map +1 -1
- package/build/types/types/defaultABITable.d.ts +9 -11
- package/build/types/types/defaultABITable.d.ts.map +1 -1
- package/package.json +13 -4
- package/src/core/__tests__/accountResource.test.ts +6 -14
- package/src/types/common.ts +1 -1
- package/src/types/convertor/structConvertor.ts +35 -31
- package/src/types/defaultABITable.ts +9 -11
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ When you input `client.useABI(COIN_ABI).view.` into your IDE, the auto-completio
|
|
|
59
59
|
npm i @thalalabs/surf @aptos-labs/ts-sdk
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
If you want to use the React Hooks, install the `@aptos-labs/wallet-adapter-react
|
|
62
|
+
If you want to use the React Hooks, install the `@aptos-labs/wallet-adapter-react` additionally. Those React Hooks will be moved to a separate package in near future.
|
|
63
63
|
|
|
64
64
|
### Start
|
|
65
65
|
|
|
@@ -100,6 +100,8 @@ const payload = createViewPayload(COIN_ABI, {
|
|
|
100
100
|
function: 'balance',
|
|
101
101
|
functionArguments: ['0x1'],
|
|
102
102
|
typeArguments: ['0x1::aptos_coin::AptosCoin'],
|
|
103
|
+
// (optional) you can also override the address in ABI
|
|
104
|
+
// address: "0x123"
|
|
103
105
|
});
|
|
104
106
|
const [balance] = await client.view({
|
|
105
107
|
payload,
|
|
@@ -132,6 +134,8 @@ const payload = createEntryPayload(COIN_ABI, {
|
|
|
132
134
|
function: 'transfer',
|
|
133
135
|
functionArguments: ['0x1', 1],
|
|
134
136
|
typeArguments: ['0x1::aptos_coin::AptosCoin'],
|
|
137
|
+
// (optional) you can also override the address in ABI
|
|
138
|
+
// address: "0x123"
|
|
135
139
|
});
|
|
136
140
|
const result = await client.submitTransaction({
|
|
137
141
|
payload,
|
|
@@ -193,9 +197,12 @@ import { DefaultABITable } from "@thalalabs/surf";
|
|
|
193
197
|
import { createSurfClient } from '@thalalabs/surf';
|
|
194
198
|
import { Aptos } from '@aptos-labs/ts-sdk';
|
|
195
199
|
|
|
196
|
-
type ABITAble =
|
|
197
|
-
|
|
198
|
-
|
|
200
|
+
type ABITAble = [
|
|
201
|
+
...DefaultABITable,
|
|
202
|
+
...[
|
|
203
|
+
typeof FIXED_POINT64_ABI
|
|
204
|
+
]
|
|
205
|
+
];
|
|
199
206
|
|
|
200
207
|
const client = createSurfClient<ABITAble>(new Aptos());
|
|
201
208
|
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,MAAM,IAAI,OAAO,CAAC;AAEvD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAIjD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,SAAS;IACvE,SAAS,GAAG,QAAQ;IACpB,GAAG,MAAM,IAAI;CACd,GACG,IAAI,GACJ,CAAC,CAAC;AAIN,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IACpC,CAAC,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,OAAO,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC"}
|
|
@@ -14,6 +14,12 @@ type ConvertStructFieldNonStructType<TABITable extends ABITable, TMoveType exten
|
|
|
14
14
|
type ConvertStructFieldOptionType<TABITable extends ABITable, TMoveType extends string> = {
|
|
15
15
|
vec: [ConvertStructFieldType<TABITable, TMoveType>] | [];
|
|
16
16
|
};
|
|
17
|
-
type ConvertStructFieldStructType<TABITable extends ABITable, TMoveType extends string> = TMoveType extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${'' | `<${infer _TInnerType}>`}` ?
|
|
17
|
+
type ConvertStructFieldStructType<TABITable extends ABITable, TMoveType extends string> = TMoveType extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${'' | `<${infer _TInnerType}>`}` ? OmitInner<TStructName> extends ResourceStructName<Extract<TABITable[number], {
|
|
18
|
+
address: TAccountAddress;
|
|
19
|
+
name: TModuleName;
|
|
20
|
+
}>> ? ExtractStructType<TABITable, Extract<TABITable[number], {
|
|
21
|
+
address: TAccountAddress;
|
|
22
|
+
name: TModuleName;
|
|
23
|
+
}>, OmitInner<TStructName>> : UnknownStruct<TMoveType> : UnknownStruct<TMoveType>;
|
|
18
24
|
export {};
|
|
19
25
|
//# sourceMappingURL=structConvertor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/structConvertor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpE,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,QAAQ,EAC1B,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,kBAAkB,GAEpC,+BAA+B,CAAC,SAAS,EAAE,SAAS,CAAC,GAErD,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEvD;;GAEG;AACH,KAAK,2BAA2B,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,MAAM,GACxE,OAAO,GACP,CAAC,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"structConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/structConvertor.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGpE,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,QAAQ,EAC1B,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,kBAAkB,GAEpC,+BAA+B,CAAC,SAAS,EAAE,SAAS,CAAC,GAErD,4BAA4B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEvD;;GAEG;AACH,KAAK,2BAA2B,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,SAAS,MAAM,GACxE,OAAO,GACP,CAAC,SAAS,IAAI,GACZ,MAAM,GACN,CAAC,SAAS,KAAK,GACb,MAAM,GACN,CAAC,SAAS,KAAK,GACb,MAAM,GACN,CAAC,SAAS,KAAK,GACb,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,MAAM,GACd,MAAM,GACN,CAAC,SAAS,SAAS,GACjB,KAAK,MAAM,EAAE,GACb,CAAC,SAAS,qBAAqB,GAC7B,MAAM,GACN,KAAK,CAAC;AAG1B,KAAK,+BAA+B,CAClC,SAAS,SAAS,QAAQ,EAC1B,SAAS,SAAS,kBAAkB,IAClC,SAAS,SAAS,aAAa,GAC/B,2BAA2B,CAAC,SAAS,CAAC,GACtC,SAAS,SAAS,UAAU,MAAM,MAAM,GAAG,GACzC,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAC3C,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACtD,4BAA4B,CAAC,SAAS,EAAE,MAAM,CAAC,GAC/C,aAAa,CAAC,SAAS,CAAC,CAAC;AAEjC,KAAK,4BAA4B,CAC/B,SAAS,SAAS,QAAQ,EAC1B,SAAS,SAAS,MAAM,IACtB;IACF,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;CAC1D,CAAC;AAGF,KAAK,4BAA4B,CAC/B,SAAS,SAAS,QAAQ,EAC1B,SAAS,SAAS,MAAM,IACtB,SAAS,SAAS,GAAG,MAAM,eAAe,KAAK,MAAM,WAAW,KAAK,MAAM,WAAW,GACtF,EAAE,GACF,IAAI,MAAM,WAAW,GAAG,EAAE,GAC1B,SAAS,CAAC,WAAW,CAAC,SAAS,kBAAkB,CAC/C,OAAO,CACL,SAAS,CAAC,MAAM,CAAC,EACjB;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAChD,CACF,GACC,iBAAiB,CACf,SAAS,EACT,OAAO,CACL,SAAS,CAAC,MAAM,CAAC,EACjB;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,CAChD,EACD,SAAS,CAAC,WAAW,CAAC,CACvB,GAED,aAAa,CAAC,SAAS,CAAC,GAC1B,aAAa,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -5,15 +5,13 @@ import type { GUID_ABI } from '../abi/guid.js';
|
|
|
5
5
|
import { OPTIONAL_AGGREGATOR_ABI } from '../abi/optional_aggregator.js';
|
|
6
6
|
import { TABLE_ABI } from '../abi/table.js';
|
|
7
7
|
import { ABIRoot } from './abi.js';
|
|
8
|
-
export type ABITable =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'0x1::aggregator': typeof AGGREGATOR_ABI;
|
|
18
|
-
};
|
|
8
|
+
export type ABITable = ABIRoot[];
|
|
9
|
+
export type DefaultABITable = [
|
|
10
|
+
typeof COIN_ABI,
|
|
11
|
+
typeof EVENT_ABI,
|
|
12
|
+
typeof GUID_ABI,
|
|
13
|
+
typeof TABLE_ABI,
|
|
14
|
+
typeof OPTIONAL_AGGREGATOR_ABI,
|
|
15
|
+
typeof AGGREGATOR_ABI
|
|
16
|
+
];
|
|
19
17
|
//# sourceMappingURL=defaultABITable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultABITable.d.ts","sourceRoot":"","sources":["../../../src/types/defaultABITable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"defaultABITable.d.ts","sourceRoot":"","sources":["../../../src/types/defaultABITable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,QAAQ;IACf,OAAO,SAAS;IAChB,OAAO,QAAQ;IACf,OAAO,SAAS;IAChB,OAAO,uBAAuB;IAC9B,OAAO,cAAc;CACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thalalabs/surf",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "TypeScript Interfaces & React Hooks for interacting with Aptos Smart Contracts with type safety.",
|
|
5
5
|
"main": "./build/cjs/index.js",
|
|
6
6
|
"module": "./build/esm/index.js",
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
+
"@aptos-labs/ts-sdk": "^1.16.0",
|
|
36
37
|
"@aptos-labs/wallet-adapter-react": "^2.2.0",
|
|
37
38
|
"@changesets/cli": "^2.26.1",
|
|
38
39
|
"@types/jest": "~29.5",
|
|
@@ -43,19 +44,20 @@
|
|
|
43
44
|
"eslint": "~8.57",
|
|
44
45
|
"eslint-config-prettier": "~9.1",
|
|
45
46
|
"eslint-plugin-jest": "~27.6",
|
|
47
|
+
"husky": "^9.0.11",
|
|
46
48
|
"jest": "~29.7",
|
|
49
|
+
"lint-staged": "^15.2.5",
|
|
47
50
|
"prettier": "~3.1",
|
|
48
51
|
"react": "^18.2.0",
|
|
49
52
|
"rimraf": "~5.0",
|
|
50
53
|
"ts-api-utils": "~0.0.44",
|
|
51
54
|
"ts-jest": "~29.1",
|
|
52
55
|
"tslib": "~2.6",
|
|
53
|
-
"typescript": "~5.1"
|
|
54
|
-
"@aptos-labs/ts-sdk": "^1.2.0"
|
|
56
|
+
"typescript": "~5.1"
|
|
55
57
|
},
|
|
56
58
|
"peerDependencies": {
|
|
59
|
+
"@aptos-labs/ts-sdk": "^1.16.0",
|
|
57
60
|
"@aptos-labs/wallet-adapter-react": "^2.2.0",
|
|
58
|
-
"@aptos-labs/ts-sdk": "^1.14.0",
|
|
59
61
|
"react": "^18.2.0"
|
|
60
62
|
},
|
|
61
63
|
"peerDependenciesMeta": {
|
|
@@ -81,6 +83,13 @@
|
|
|
81
83
|
"test:watch": "jest --watch",
|
|
82
84
|
"release": "yarn build && changeset publish"
|
|
83
85
|
},
|
|
86
|
+
"lint-staged": {
|
|
87
|
+
"*.{js,jsx,ts,tsx}": [
|
|
88
|
+
"eslint --fix",
|
|
89
|
+
"prettier --write"
|
|
90
|
+
],
|
|
91
|
+
"*.json": "prettier --write"
|
|
92
|
+
},
|
|
84
93
|
"keywords": [
|
|
85
94
|
"move",
|
|
86
95
|
"blockchain",
|
|
@@ -10,16 +10,14 @@ import { createSurfClient } from '../Client.js';
|
|
|
10
10
|
|
|
11
11
|
describe('get account resource', () => {
|
|
12
12
|
const client = createSurfClient(
|
|
13
|
-
new Aptos(
|
|
14
|
-
new AptosConfig({ network: Network.TESTNET })
|
|
15
|
-
)
|
|
13
|
+
new Aptos(new AptosConfig({ network: Network.TESTNET })),
|
|
16
14
|
);
|
|
17
15
|
|
|
18
16
|
// Act before assertions
|
|
19
|
-
beforeAll(async () => {
|
|
17
|
+
beforeAll(async () => {});
|
|
20
18
|
|
|
21
19
|
// Teardown (cleanup) after assertions
|
|
22
|
-
afterAll(() => {
|
|
20
|
+
afterAll(() => {});
|
|
23
21
|
|
|
24
22
|
it('get CoinStore', async () => {
|
|
25
23
|
const result = await client.useABI(COIN_ABI).resource.CoinStore({
|
|
@@ -33,9 +31,7 @@ describe('get account resource', () => {
|
|
|
33
31
|
expect(result.withdraw_events).toBeDefined();
|
|
34
32
|
|
|
35
33
|
// can inference nested struct
|
|
36
|
-
expect(
|
|
37
|
-
result.deposit_events.guid.id.creation_num.startsWith,
|
|
38
|
-
).toBeDefined();
|
|
34
|
+
expect(result.deposit_events.guid.id.creation_num.startsWith).toBeDefined();
|
|
39
35
|
|
|
40
36
|
// @ts-expect-error field not exist
|
|
41
37
|
expect(result.deposit_events.guid.id.abc).toBeUndefined();
|
|
@@ -81,14 +77,10 @@ describe('get account resource', () => {
|
|
|
81
77
|
|
|
82
78
|
it('use customized ABITable', async () => {
|
|
83
79
|
async () => {
|
|
84
|
-
type ABITAble = DefaultABITable
|
|
85
|
-
'0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI;
|
|
86
|
-
};
|
|
80
|
+
type ABITAble = [...DefaultABITable, ...[typeof FIXED_POINT64_ABI]];
|
|
87
81
|
|
|
88
82
|
const client = createSurfClient<ABITAble>(
|
|
89
|
-
new Aptos(
|
|
90
|
-
new AptosConfig({ network: Network.TESTNET })
|
|
91
|
-
)
|
|
83
|
+
new Aptos(new AptosConfig({ network: Network.TESTNET })),
|
|
92
84
|
);
|
|
93
85
|
|
|
94
86
|
const result = await client.useABI(TEST_ABI).resource.TestStruct({
|
package/src/types/common.ts
CHANGED
|
@@ -25,22 +25,22 @@ export type ConvertStructFieldType<
|
|
|
25
25
|
type ConvertPrimitiveStructField<T extends MovePrimitive> = T extends 'bool'
|
|
26
26
|
? boolean
|
|
27
27
|
: T extends 'u8'
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
28
|
+
? number
|
|
29
|
+
: T extends 'u16'
|
|
30
|
+
? number
|
|
31
|
+
: T extends 'u32'
|
|
32
|
+
? number
|
|
33
|
+
: T extends 'u64'
|
|
34
|
+
? string
|
|
35
|
+
: T extends 'u128'
|
|
36
|
+
? string
|
|
37
|
+
: T extends 'u256'
|
|
38
|
+
? string
|
|
39
|
+
: T extends 'address'
|
|
40
|
+
? `0x${string}`
|
|
41
|
+
: T extends '0x1::string::String'
|
|
42
|
+
? string
|
|
43
|
+
: never;
|
|
44
44
|
|
|
45
45
|
// Convert a struct field non-struct Move type to a TypeScript type
|
|
46
46
|
type ConvertStructFieldNonStructType<
|
|
@@ -49,10 +49,10 @@ type ConvertStructFieldNonStructType<
|
|
|
49
49
|
> = TMoveType extends MovePrimitive
|
|
50
50
|
? ConvertPrimitiveStructField<TMoveType>
|
|
51
51
|
: TMoveType extends `vector<${infer TInner}>`
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
? ConvertStructFieldType<TABITable, TInner>[]
|
|
53
|
+
: TMoveType extends `0x1::option::Option<${infer TInner}>`
|
|
54
|
+
? ConvertStructFieldOptionType<TABITable, TInner>
|
|
55
|
+
: UnknownStruct<TMoveType>;
|
|
56
56
|
|
|
57
57
|
type ConvertStructFieldOptionType<
|
|
58
58
|
TABITable extends ABITable,
|
|
@@ -68,16 +68,20 @@ type ConvertStructFieldStructType<
|
|
|
68
68
|
> = TMoveType extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${
|
|
69
69
|
| ''
|
|
70
70
|
| `<${infer _TInnerType}>`}`
|
|
71
|
-
?
|
|
72
|
-
|
|
73
|
-
TABITable[
|
|
71
|
+
? OmitInner<TStructName> extends ResourceStructName<
|
|
72
|
+
Extract<
|
|
73
|
+
TABITable[number],
|
|
74
|
+
{ address: TAccountAddress; name: TModuleName }
|
|
75
|
+
>
|
|
76
|
+
>
|
|
77
|
+
? ExtractStructType<
|
|
78
|
+
TABITable,
|
|
79
|
+
Extract<
|
|
80
|
+
TABITable[number],
|
|
81
|
+
{ address: TAccountAddress; name: TModuleName }
|
|
82
|
+
>,
|
|
83
|
+
OmitInner<TStructName>
|
|
74
84
|
>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
TABITable[`${TAccountAddress}::${TModuleName}`],
|
|
78
|
-
OmitInner<TStructName>
|
|
79
|
-
>
|
|
80
|
-
: // Unknown struct, use the default struct type
|
|
81
|
-
UnknownStruct<TMoveType>
|
|
82
|
-
: UnknownStruct<TMoveType>
|
|
85
|
+
: // Unknown struct, use the default struct type
|
|
86
|
+
UnknownStruct<TMoveType>
|
|
83
87
|
: UnknownStruct<TMoveType>;
|
|
@@ -6,15 +6,13 @@ import { OPTIONAL_AGGREGATOR_ABI } from '../abi/optional_aggregator.js';
|
|
|
6
6
|
import { TABLE_ABI } from '../abi/table.js';
|
|
7
7
|
import { ABIRoot } from './abi.js';
|
|
8
8
|
|
|
9
|
-
export type ABITable =
|
|
10
|
-
[TAddress in string]: ABIRoot;
|
|
11
|
-
};
|
|
9
|
+
export type ABITable = ABIRoot[];
|
|
12
10
|
|
|
13
|
-
export type DefaultABITable =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
export type DefaultABITable = [
|
|
12
|
+
typeof COIN_ABI,
|
|
13
|
+
typeof EVENT_ABI,
|
|
14
|
+
typeof GUID_ABI,
|
|
15
|
+
typeof TABLE_ABI,
|
|
16
|
+
typeof OPTIONAL_AGGREGATOR_ABI,
|
|
17
|
+
typeof AGGREGATOR_ABI,
|
|
18
|
+
];
|