@thalalabs/surf 1.4.1 → 1.5.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 (37) hide show
  1. package/.github/workflows/publish.yml +1 -1
  2. package/.husky/pre-commit +5 -0
  3. package/CHANGELOG.md +18 -0
  4. package/README.md +11 -4
  5. package/build/cjs/core/Client.js +6 -1
  6. package/build/cjs/core/Client.js.map +1 -1
  7. package/build/cjs/core/createEntryPayload.js +1 -1
  8. package/build/cjs/core/createEntryPayload.js.map +1 -1
  9. package/build/cjs/core/createViewPayload.js +1 -1
  10. package/build/cjs/core/createViewPayload.js.map +1 -1
  11. package/build/esm/core/Client.js +6 -1
  12. package/build/esm/core/Client.js.map +1 -1
  13. package/build/esm/core/createEntryPayload.js +1 -1
  14. package/build/esm/core/createEntryPayload.js.map +1 -1
  15. package/build/esm/core/createViewPayload.js +1 -1
  16. package/build/esm/core/createViewPayload.js.map +1 -1
  17. package/build/types/core/Client.d.ts +12 -1
  18. package/build/types/core/Client.d.ts.map +1 -1
  19. package/build/types/core/createViewPayload.d.ts.map +1 -1
  20. package/build/types/types/client/client.d.ts +2 -0
  21. package/build/types/types/client/client.d.ts.map +1 -1
  22. package/build/types/types/common.d.ts +1 -1
  23. package/build/types/types/common.d.ts.map +1 -1
  24. package/build/types/types/convertor/structConvertor.d.ts +7 -1
  25. package/build/types/types/convertor/structConvertor.d.ts.map +1 -1
  26. package/build/types/types/defaultABITable.d.ts +9 -11
  27. package/build/types/types/defaultABITable.d.ts.map +1 -1
  28. package/package.json +15 -6
  29. package/src/core/Client.ts +20 -2
  30. package/src/core/__tests__/accountResource.test.ts +6 -14
  31. package/src/core/createEntryPayload.ts +1 -1
  32. package/src/core/createViewPayload.ts +7 -7
  33. package/src/hooks/index.ts +1 -1
  34. package/src/types/client/client.ts +2 -0
  35. package/src/types/common.ts +1 -1
  36. package/src/types/convertor/structConvertor.ts +35 -31
  37. package/src/types/defaultABITable.ts +9 -11
@@ -18,7 +18,7 @@ jobs:
18
18
  - uses: actions/checkout@v2
19
19
  - uses: actions/setup-node@v3
20
20
  with:
21
- node-version: 16.x
21
+ node-version: 20.x
22
22
  - run: yarn install --frozen-lockfile
23
23
  - run: yarn test
24
24
  - name: Create Release Pull Request or Publish
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+ echo "Running pre-commit hook"
3
+ . "$(dirname "$0")/_/husky.sh"
4
+
5
+ yarn run lint-staged
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d7b62ed: Change ABITable to an array type instead of a map
8
+
9
+ ## 1.5.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 09f70fb: upgrade dependencies
14
+
15
+ ## 1.5.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 0a16c3f: Support override address of the contract in ABI
20
+
3
21
  ## 1.4.1
4
22
 
5
23
  ### Patch Changes
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@^2.0.0` additionally. Those React Hooks will be moved to a separate package in near future.
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 = DefaultABITable & {
197
- '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI,
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
  ```
@@ -44,13 +44,17 @@ class Client {
44
44
  transaction,
45
45
  }))[0];
46
46
  }
47
- useABI(abi) {
47
+ async fetchABI(address, moduleName) {
48
+ return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
49
+ }
50
+ useABI(abi, address) {
48
51
  return {
49
52
  view: new Proxy({}, {
50
53
  get: (_, prop) => {
51
54
  const functionName = prop.toString();
52
55
  return (...args) => {
53
56
  const payload = (0, createViewPayload_js_1.createViewPayload)(abi, {
57
+ address: (address ?? abi.address),
54
58
  function: functionName,
55
59
  typeArguments: args[0].typeArguments,
56
60
  functionArguments: args[0].functionArguments,
@@ -69,6 +73,7 @@ class Client {
69
73
  const functionName = prop.toString();
70
74
  return (...args) => {
71
75
  const payload = (0, createEntryPayload_js_1.createEntryPayload)(abi, {
76
+ address: (address ?? abi.address),
72
77
  function: functionName,
73
78
  typeArguments: args[0].typeArguments,
74
79
  functionArguments: args[0].functionArguments,
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ function createEntryPayload(abi, payload) {
19
19
  return {
20
20
  typeArguments: payload.typeArguments,
21
21
  functionArguments: payload.functionArguments,
22
- function: `${abi.address}::${abi.name}::${payload.function}`,
22
+ function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
23
23
  };
24
24
  }
25
25
  exports.createEntryPayload = createEntryPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;AA2BA,SAAgB,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAC7D,CAAC;AACJ,CAAC;AAvCD,gDAuCC"}
1
+ {"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;AA2BA,SAAgB,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,CAAC;AACJ,CAAC;AAvCD,gDAuCC"}
@@ -32,7 +32,7 @@ function createViewPayload(abi, payload) {
32
32
  }
33
33
  });
34
34
  return {
35
- function: `${abi.address}::${abi.name}::${payload.function}`,
35
+ function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
36
36
  functionArguments: args,
37
37
  typeArguments: payload.typeArguments,
38
38
  abi: constructViewAbiObj(fnAbi),
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
@@ -40,13 +40,17 @@ export class Client {
40
40
  transaction,
41
41
  }))[0];
42
42
  }
43
- useABI(abi) {
43
+ async fetchABI(address, moduleName) {
44
+ return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
45
+ }
46
+ useABI(abi, address) {
44
47
  return {
45
48
  view: new Proxy({}, {
46
49
  get: (_, prop) => {
47
50
  const functionName = prop.toString();
48
51
  return (...args) => {
49
52
  const payload = createViewPayload(abi, {
53
+ address: (address ?? abi.address),
50
54
  function: functionName,
51
55
  typeArguments: args[0].typeArguments,
52
56
  functionArguments: args[0].functionArguments,
@@ -65,6 +69,7 @@ export class Client {
65
69
  const functionName = prop.toString();
66
70
  return (...args) => {
67
71
  const payload = createEntryPayload(abi, {
72
+ address: (address ?? abi.address),
68
73
  function: functionName,
69
74
  typeArguments: args[0].typeArguments,
70
75
  functionArguments: args[0].functionArguments,
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export function createEntryPayload(abi, payload) {
16
16
  return {
17
17
  typeArguments: payload.typeArguments,
18
18
  functionArguments: payload.functionArguments,
19
- function: `${abi.address}::${abi.name}::${payload.function}`,
19
+ function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
20
20
  };
21
21
  }
22
22
  //# sourceMappingURL=createEntryPayload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAC7D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AA2BA,MAAM,UAAU,kBAAkB,CAGhC,GAAM,EAAE,OAA0C;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CACnC,CAAC,CAAC,CAAC,CAAC;IAEL,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAGnE,MAAM,aAAa,GAAa,OAAO,CAAC,aAAsB,CAAC;IAG/D,MAAM,YAAY,GAAU,OAAO,CAAC,iBAA0B,CAAC;IAC/D,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QAC3B,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC;IAGjC,IAAI,KAAK,KAAK,SAAS;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QACxC,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,iBAAiB,CAAC,MAAM,gBAAgB,CAC/H,CAAC;IACJ,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAC3D,MAAM,IAAI,KAAK,CACb,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,aAAa,CAAC,MAAM,gBAAgB,CAC7I,CAAC;IAEJ,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAwB;QACnD,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,CAAC;AACJ,CAAC"}
@@ -29,7 +29,7 @@ export function createViewPayload(abi, payload) {
29
29
  }
30
30
  });
31
31
  return {
32
- function: `${abi.address}::${abi.name}::${payload.function}`,
32
+ function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
33
33
  functionArguments: args,
34
34
  typeArguments: payload.typeArguments,
35
35
  abi: constructViewAbiObj(fnAbi),
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
@@ -80,10 +80,21 @@ export declare class Client<TABITable extends ABITable> {
80
80
  sender: AccountAddressInput;
81
81
  payload: EntryPayload;
82
82
  }): Promise<UserTransactionResponse>;
83
+ /**
84
+ * Builds ABI from a provided address and module name for given client. ABI name can be taken from abi.name
85
+ *
86
+ * @param address The module address
87
+ * @param moduleName The module name
88
+ * @returns The constructed ABI
89
+ * @example
90
+ * const abi = await client.fetchABI(address = '0x1', moduleName = 'AptosCoin');
91
+ */
92
+ fetchABI<T extends ABIRoot>(address: string, moduleName: string): Promise<T>;
83
93
  /**
84
94
  * Create a client associated with a specific ABI.
85
95
  *
86
96
  * @param abi The ABI JSON.
97
+ * @param address The address of the module. If not provided, ABI address will be used.
87
98
  * @returns A client can call view/entry functions or get account resource.
88
99
  * @example
89
100
  * const [balance] = await client.useABI(COIN_ABI).view.balance({
@@ -91,7 +102,7 @@ export declare class Client<TABITable extends ABITable> {
91
102
  * typeArguments: ['0x1::aptos_coin::AptosCoin'],
92
103
  * });
93
104
  */
94
- useABI<T extends ABIRoot>(abi: T): {
105
+ useABI<T extends ABIRoot>(abi: T, address?: string): {
95
106
  /**
96
107
  * Queries for a Move view function
97
108
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEnM;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC5C,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAEvC;AACD,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,KAAK;IAIzB;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,iBAAiB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoBzC;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYpC;;;;;;;;;;OAUG;IACI,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC;QAEnC;;;;;;;;WAQG;;QAoBH;;;;;;;;;WASG;;QA0BH;;;;;;;;WAQG;;;CAwBR"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,SAAS,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEnM;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC5C,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAEvC;AACD,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAQ;gBAEV,MAAM,EAAE,KAAK;IAIzB;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,iBAAiB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAoBzC;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYpC;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAMzF;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;QAErD;;;;;;;;WAQG;;QAqBH;;;;;;;;;WASG;;QA2BH;;;;;;;;WAQG;;;CAwBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GACxC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CA6C9C"}
1
+ {"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAW3B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GACxC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CA+C9C"}
@@ -19,6 +19,7 @@ export type EntryPayload = {
19
19
  * The input payload type of `createEntryPayload`
20
20
  */
21
21
  export type EntryRequestPayload<T extends ABIRoot, TFuncName extends EntryFunctionName<T>> = {
22
+ address?: `0x${string}`;
22
23
  function: TFuncName;
23
24
  functionArguments: ExtractArgsTypeOmitSigner<T, TFuncName>;
24
25
  typeArguments: ExtractGenericArgsType<T, TFuncName>;
@@ -27,6 +28,7 @@ export type EntryRequestPayload<T extends ABIRoot, TFuncName extends EntryFuncti
27
28
  * The input payload type of `createViewPayload`
28
29
  */
29
30
  export type ViewRequestPayload<T extends ABIRoot, TFuncName extends ViewFunctionName<T>> = {
31
+ address?: `0x${string}`;
30
32
  function: TFuncName;
31
33
  functionArguments: ExtractArgsType<T, TFuncName>;
32
34
  typeArguments: ExtractGenericArgsType<T, TFuncName>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,gCAAgC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5I,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;CACzF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,IACpC;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,IACnC;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAC,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;IACxF,GAAG,CAAC,EAAE,eAAe,CAAA;CACtB,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,cAAc,EAAE,gCAAgC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE5I,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;CACzF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,IACpC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,IACnC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAC,KAAK,CAAC,0BAA0B,GAAG,gCAAgC,CAAC,CAAC;IACxF,GAAG,CAAC,EAAE,eAAe,CAAA;CACtB,CAAC"}
@@ -1,4 +1,4 @@
1
- export type UnknownStruct<_T extends string> = object;
1
+ export type UnknownStruct<_T extends string> = unknown;
2
2
  export type AnyNumber = number | bigint | string;
3
3
  export type OmitSigner<T extends readonly string[]> = T extends readonly [
4
4
  '&signer' | 'signer',
@@ -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,MAAM,CAAC;AAEtD,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"}
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}>`}` ? `${TAccountAddress}::${TModuleName}` extends keyof TABITable ? OmitInner<TStructName> extends ResourceStructName<TABITable[`${TAccountAddress}::${TModuleName}`]> ? ExtractStructType<TABITable, TABITable[`${TAccountAddress}::${TModuleName}`], OmitInner<TStructName>> : UnknownStruct<TMoveType> : UnknownStruct<TMoveType> : UnknownStruct<TMoveType>;
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,GACd,MAAM,GACN,CAAC,SAAS,KAAK,GACf,MAAM,GACN,CAAC,SAAS,KAAK,GACf,MAAM,GACN,CAAC,SAAS,KAAK,GACf,MAAM,GACN,CAAC,SAAS,MAAM,GAChB,MAAM,GACN,CAAC,SAAS,MAAM,GAChB,MAAM,GACN,CAAC,SAAS,SAAS,GACnB,KAAK,MAAM,EAAE,GACb,CAAC,SAAS,qBAAqB,GAC/B,MAAM,GACN,KAAK,CAAC;AAGV,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,GAC3C,sBAAsB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,GAC3C,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACxD,4BAA4B,CAAC,SAAS,EAAE,MAAM,CAAC,GAC/C,aAAa,CAAC,SAAS,CAAC,CAAC;AAE7B,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,GAAG,eAAe,KAAK,WAAW,EAAE,SAAS,MAAM,SAAS,GAC1D,SAAS,CAAC,WAAW,CAAC,SAAS,kBAAkB,CAC/C,SAAS,CAAC,GAAG,eAAe,KAAK,WAAW,EAAE,CAAC,CAChD,GACC,iBAAiB,CACf,SAAS,EACT,SAAS,CAAC,GAAG,eAAe,KAAK,WAAW,EAAE,CAAC,EAC/C,SAAS,CAAC,WAAW,CAAC,CACvB,GAED,aAAa,CAAC,SAAS,CAAC,GAC1B,aAAa,CAAC,SAAS,CAAC,GAC1B,aAAa,CAAC,SAAS,CAAC,CAAC"}
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
- [TAddress in string]: ABIRoot;
10
- };
11
- export type DefaultABITable = {
12
- '0x1::coin': typeof COIN_ABI;
13
- '0x1::event': typeof EVENT_ABI;
14
- '0x1::guid': typeof GUID_ABI;
15
- '0x1::table': typeof TABLE_ABI;
16
- '0x1::optional_aggregator': typeof OPTIONAL_AGGREGATOR_ABI;
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;KACpB,QAAQ,IAAI,MAAM,GAAG,OAAO;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,OAAO,QAAQ,CAAC;IAC7B,YAAY,EAAE,OAAO,SAAS,CAAC;IAC/B,WAAW,EAAE,OAAO,QAAQ,CAAC;IAC7B,YAAY,EAAE,OAAO,SAAS,CAAC;IAC/B,0BAA0B,EAAE,OAAO,uBAAuB,CAAC;IAC3D,iBAAiB,EAAE,OAAO,cAAc,CAAC;CAC1C,CAAC"}
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.4.1",
3
+ "version": "1.5.1",
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",
@@ -40,22 +41,23 @@
40
41
  "@types/react": "^18.2.8",
41
42
  "@typescript-eslint/eslint-plugin": "~5.62",
42
43
  "@typescript-eslint/parser": "~5.62",
43
- "eslint": "~8.47",
44
- "eslint-config-prettier": "~8.8",
44
+ "eslint": "~8.57",
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",
@@ -7,7 +7,7 @@ import {
7
7
  EntryPayload,
8
8
  ViewPayload,
9
9
  DefaultABITable,
10
- ABIResourceClient,
10
+ ABIResourceClient
11
11
  } from '../types/index.js';
12
12
  import { ABITable } from '../types/defaultABITable.js';
13
13
  import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionResponse, PublicKey, AccountAddressInput, UserTransactionResponse, WaitForTransactionOptions } from "@aptos-labs/ts-sdk";
@@ -132,10 +132,26 @@ export class Client<TABITable extends ABITable> {
132
132
  }))[0]!;
133
133
  }
134
134
 
135
+ /**
136
+ * Builds ABI from a provided address and module name for given client. ABI name can be taken from abi.name
137
+ *
138
+ * @param address The module address
139
+ * @param moduleName The module name
140
+ * @returns The constructed ABI
141
+ * @example
142
+ * const abi = await client.fetchABI(address = '0x1', moduleName = 'AptosCoin');
143
+ */
144
+ public async fetchABI<T extends ABIRoot>(address: string, moduleName: string): Promise<T> {
145
+ // Fetches ABI fom address and module name for given client
146
+ // throws if inexistent module name in address for given client
147
+ return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi as unknown as T;
148
+ }
149
+
135
150
  /**
136
151
  * Create a client associated with a specific ABI.
137
152
  *
138
153
  * @param abi The ABI JSON.
154
+ * @param address The address of the module. If not provided, ABI address will be used.
139
155
  * @returns A client can call view/entry functions or get account resource.
140
156
  * @example
141
157
  * const [balance] = await client.useABI(COIN_ABI).view.balance({
@@ -143,7 +159,7 @@ export class Client<TABITable extends ABITable> {
143
159
  * typeArguments: ['0x1::aptos_coin::AptosCoin'],
144
160
  * });
145
161
  */
146
- public useABI<T extends ABIRoot>(abi: T) {
162
+ public useABI<T extends ABIRoot>(abi: T, address?: string) {
147
163
  return {
148
164
  /**
149
165
  * Queries for a Move view function
@@ -159,6 +175,7 @@ export class Client<TABITable extends ABITable> {
159
175
  const functionName = prop.toString();
160
176
  return (...args) => {
161
177
  const payload = createViewPayload(abi, {
178
+ address: (address ?? abi.address) as `0x${string}`,
162
179
  function: functionName,
163
180
  typeArguments: args[0].typeArguments,
164
181
  functionArguments: args[0].functionArguments,
@@ -188,6 +205,7 @@ export class Client<TABITable extends ABITable> {
188
205
  const functionName = prop.toString();
189
206
  return (...args) => {
190
207
  const payload = createEntryPayload(abi, {
208
+ address: (address ?? abi.address) as `0x${string}`,
191
209
  function: functionName,
192
210
  typeArguments: args[0].typeArguments,
193
211
  functionArguments: args[0].functionArguments,
@@ -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({
@@ -62,6 +62,6 @@ export function createEntryPayload<
62
62
  typeArguments: payload.typeArguments,
63
63
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
64
  functionArguments: payload.functionArguments as any,
65
- function: `${abi.address}::${abi.name}::${payload.function}`,
65
+ function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
66
66
  };
67
67
  }
@@ -77,7 +77,9 @@ export function createViewPayload<
77
77
  });
78
78
 
79
79
  return {
80
- function: `${abi.address}::${abi.name}::${payload.function}`,
80
+ function: `${payload.address ?? abi.address}::${abi.name}::${
81
+ payload.function
82
+ }`,
81
83
  functionArguments: args,
82
84
  typeArguments: payload.typeArguments as Array<MoveStructId>,
83
85
  abi: constructViewAbiObj(fnAbi),
@@ -119,19 +121,17 @@ function encodeVector(type: string, value: any) {
119
121
  throw new Error(`Unsupported type: ${type}`);
120
122
  }
121
123
  const innerType = match[1];
122
- if(!innerType) {
124
+ if (!innerType) {
123
125
  throw new Error(`Unsupported type: ${type}`);
124
126
  }
125
127
 
126
128
  if (innerType === 'u8') {
127
- if (typeof value === 'string' || value instanceof Uint8Array)
128
- return value;
129
+ if (typeof value === 'string' || value instanceof Uint8Array) return value;
129
130
  if (Array.isArray(value)) {
130
- return value
131
+ return value;
131
132
  }
132
133
 
133
- throw new Error(`Invalid u8 value: ${value}`)
134
-
134
+ throw new Error(`Invalid u8 value: ${value}`);
135
135
  } else if (['bool', 'u16', 'u32'].includes(innerType)) {
136
136
  return value;
137
137
  } else if (['u64', 'u128', 'u256'].includes(innerType)) {
@@ -1,4 +1,4 @@
1
1
  export {
2
2
  useSubmitTransaction,
3
3
  } from './useSubmitTransaction.js';
4
- export { useWalletClient } from './useWalletClient.js';
4
+ export { useWalletClient } from './useWalletClient.js';
@@ -32,6 +32,7 @@ export type EntryRequestPayload<
32
32
  T extends ABIRoot,
33
33
  TFuncName extends EntryFunctionName<T>,
34
34
  > = {
35
+ address?: `0x${string}`;
35
36
  function: TFuncName;
36
37
  functionArguments: ExtractArgsTypeOmitSigner<T, TFuncName>;
37
38
  typeArguments: ExtractGenericArgsType<T, TFuncName>;
@@ -44,6 +45,7 @@ export type ViewRequestPayload<
44
45
  T extends ABIRoot,
45
46
  TFuncName extends ViewFunctionName<T>,
46
47
  > = {
48
+ address?: `0x${string}`;
47
49
  function: TFuncName;
48
50
  functionArguments: ExtractArgsType<T, TFuncName>;
49
51
  typeArguments: ExtractGenericArgsType<T, TFuncName>;
@@ -1,4 +1,4 @@
1
- export type UnknownStruct<_T extends string> = object;
1
+ export type UnknownStruct<_T extends string> = unknown;
2
2
 
3
3
  export type AnyNumber = number | bigint | string;
4
4
 
@@ -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
- ? 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;
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
- ? ConvertStructFieldType<TABITable, TInner>[]
53
- : TMoveType extends `0x1::option::Option<${infer TInner}>`
54
- ? ConvertStructFieldOptionType<TABITable, TInner>
55
- : UnknownStruct<TMoveType>;
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
- ? `${TAccountAddress}::${TModuleName}` extends keyof TABITable
72
- ? OmitInner<TStructName> extends ResourceStructName<
73
- TABITable[`${TAccountAddress}::${TModuleName}`]
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
- ? ExtractStructType<
76
- TABITable,
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
- '0x1::coin': typeof COIN_ABI;
15
- '0x1::event': typeof EVENT_ABI;
16
- '0x1::guid': typeof GUID_ABI;
17
- '0x1::table': typeof TABLE_ABI;
18
- '0x1::optional_aggregator': typeof OPTIONAL_AGGREGATOR_ABI;
19
- '0x1::aggregator': typeof AGGREGATOR_ABI;
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
+ ];