@thalalabs/surf 1.7.0 → 1.7.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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 1.7.2
4
+
5
+ ### Patch Changes
6
+
7
+ - fa03792: support 0x1::object::Object and 0x1::option::Option for view function returns
8
+ - 6113067: support 0x1::object::Object type in struct
9
+
10
+ ## 1.7.1
11
+
12
+ ### Patch Changes
13
+
14
+ - df5280a: Fix failed to override resource abi address
15
+
3
16
  ## 1.7.0
4
17
 
5
18
  ### Minor Changes
@@ -45,7 +45,10 @@ class Client {
45
45
  }))[0];
46
46
  }
47
47
  async fetchABI(address, moduleName) {
48
- return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
48
+ return (await this.client.getAccountModule({
49
+ accountAddress: address,
50
+ moduleName: moduleName,
51
+ })).abi;
49
52
  }
50
53
  useABI(abi, address) {
51
54
  return {
@@ -63,7 +66,7 @@ class Client {
63
66
  payload,
64
67
  options: {
65
68
  ledgerVersion: args[0].ledgerVersion,
66
- }
69
+ },
67
70
  });
68
71
  };
69
72
  },
@@ -102,10 +105,10 @@ class Client {
102
105
  const account = args[0].account;
103
106
  return this.client.getAccountResource({
104
107
  accountAddress: account,
105
- resourceType: `${abi.address}::${abi.name}::${structName}`,
108
+ resourceType: `${address ?? abi.address}::${abi.name}::${structName}`,
106
109
  options: {
107
110
  ledgerVersion: args[0].ledgerVersion,
108
- }
111
+ },
109
112
  });
110
113
  };
111
114
  },
@@ -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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"}
@@ -41,7 +41,10 @@ export class Client {
41
41
  }))[0];
42
42
  }
43
43
  async fetchABI(address, moduleName) {
44
- return (await this.client.getAccountModule({ accountAddress: address, moduleName: moduleName })).abi;
44
+ return (await this.client.getAccountModule({
45
+ accountAddress: address,
46
+ moduleName: moduleName,
47
+ })).abi;
45
48
  }
46
49
  useABI(abi, address) {
47
50
  return {
@@ -59,7 +62,7 @@ export class Client {
59
62
  payload,
60
63
  options: {
61
64
  ledgerVersion: args[0].ledgerVersion,
62
- }
65
+ },
63
66
  });
64
67
  };
65
68
  },
@@ -98,10 +101,10 @@ export class Client {
98
101
  const account = args[0].account;
99
102
  return this.client.getAccountResource({
100
103
  accountAddress: account,
101
- resourceType: `${abi.address}::${abi.name}::${structName}`,
104
+ resourceType: `${address ?? abi.address}::${abi.name}::${structName}`,
102
105
  options: {
103
106
  ledgerVersion: args[0].ledgerVersion,
104
- }
107
+ },
105
108
  });
106
109
  };
107
110
  },
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { ABIEntryClient, ABIViewClient, ABIRoot, EntryPayload, ViewPayload, DefaultABITable, ABIResourceClient } from '../types/index.js';
2
2
  import { ABITable } from '../types/defaultABITable.js';
3
- import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionResponse, PublicKey, AccountAddressInput, UserTransactionResponse, WaitForTransactionOptions } from "@aptos-labs/ts-sdk";
3
+ import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionResponse, PublicKey, AccountAddressInput, UserTransactionResponse, WaitForTransactionOptions } from '@aptos-labs/ts-sdk';
4
4
  /**
5
5
  * Create a client to interact with Aptos smart contract.
6
6
  *
@@ -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;;;;;;;;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
+ {"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,EACL,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,4BAA4B,EAC5B,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC3E,WAAW,EAAE,KAAK,GACjB,MAAM,CAAC,SAAS,CAAC,CAEnB;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,CAAC;KACrC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAqBzC;;;;;;;;;;;;;;;;;;;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;IAcpC;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,OAAO,EACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IAWb;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;QAErD;;;;;;;;WAQG;;QAqBH;;;;;;;;;WASG;;QA2BH;;;;;;;;WAQG;;;CAsBR"}
@@ -3,7 +3,9 @@
3
3
  * for return value of view functions.
4
4
  */
5
5
  import { UnknownStruct } from '../common.js';
6
+ import { DefaultABITable } from '../defaultABITable.js';
6
7
  import { MoveNonStructTypes, MovePrimitive } from '../moveTypes.js';
8
+ import { ConvertStructFieldOptionType } from './structConvertor.js';
7
9
  /**
8
10
  * Convert an array of return types.
9
11
  */
@@ -16,6 +18,8 @@ export type ConvertReturns<T extends readonly string[]> = T extends readonly [
16
18
  */
17
19
  type ConvertReturnType<TMoveType extends string> = TMoveType extends MoveNonStructTypes ? ConvertNonStructReturnType<TMoveType> : UnknownStruct<TMoveType>;
18
20
  type ConvertPrimitiveReturnType<TMoveType extends MovePrimitive> = TMoveType extends 'bool' ? boolean : TMoveType extends 'u8' ? number : TMoveType extends 'u16' ? number : TMoveType extends 'u32' ? number : TMoveType extends 'u64' ? string : TMoveType extends 'u128' ? string : TMoveType extends 'u256' ? string : TMoveType extends 'address' ? `0x${string}` : TMoveType extends '0x1::string::String' ? string : never;
19
- type ConvertNonStructReturnType<TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveReturnType<TMoveType> : TMoveType extends `vector<${infer TInner}>` ? ConvertReturnType<TInner>[] : UnknownStruct<TMoveType>;
21
+ type ConvertNonStructReturnType<TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveReturnType<TMoveType> : TMoveType extends `vector<${infer TInner}>` ? ConvertReturnType<TInner>[] : TMoveType extends `0x1::object::Object<${string}>` ? {
22
+ inner: `0x${string}`;
23
+ } : TMoveType extends `0x1::option::Option<${infer TInner}>` ? ConvertStructFieldOptionType<DefaultABITable, TInner> : UnknownStruct<TMoveType>;
20
24
  export {};
21
25
  //# sourceMappingURL=returnConvertor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"returnConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/returnConvertor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,SAAS;IAC3E,MAAM,IAAI,SAAS,MAAM;IACzB,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE;CAChC,GACG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GACnD,EAAE,CAAC;AAEP;;GAEG;AACH,KAAK,iBAAiB,CAAC,SAAS,SAAS,MAAM,IAC7C,SAAS,SAAS,kBAAkB,GAEhC,0BAA0B,CAAC,SAAS,CAAC,GAErC,aAAa,CAAC,SAAS,CAAC,CAAC;AAE/B,KAAK,0BAA0B,CAAC,SAAS,SAAS,aAAa,IAC7D,SAAS,SAAS,MAAM,GACpB,OAAO,GACP,SAAS,SAAS,IAAI,GACtB,MAAM,GACN,SAAS,SAAS,KAAK,GACvB,MAAM,GACN,SAAS,SAAS,KAAK,GACvB,MAAM,GACN,SAAS,SAAS,KAAK,GACvB,MAAM,GACN,SAAS,SAAS,MAAM,GACxB,MAAM,GACN,SAAS,SAAS,MAAM,GACxB,MAAM,GACN,SAAS,SAAS,SAAS,GAC3B,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,qBAAqB,GACvC,MAAM,GACN,KAAK,CAAC;AAEZ,KAAK,0BAA0B,CAAC,SAAS,SAAS,kBAAkB,IAClE,SAAS,SAAS,aAAa,GAC3B,0BAA0B,CAAC,SAAS,CAAC,GACrC,SAAS,SAAS,UAAU,MAAM,MAAM,GAAG,GAC3C,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAC3B,aAAa,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"returnConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/returnConvertor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,SAAS;IAC3E,MAAM,IAAI,SAAS,MAAM;IACzB,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE;CAChC,GACG,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,GACnD,EAAE,CAAC;AAEP;;GAEG;AACH,KAAK,iBAAiB,CAAC,SAAS,SAAS,MAAM,IAC7C,SAAS,SAAS,kBAAkB,GAEhC,0BAA0B,CAAC,SAAS,CAAC,GAErC,aAAa,CAAC,SAAS,CAAC,CAAC;AAE/B,KAAK,0BAA0B,CAAC,SAAS,SAAS,aAAa,IAC7D,SAAS,SAAS,MAAM,GACpB,OAAO,GACP,SAAS,SAAS,IAAI,GACpB,MAAM,GACN,SAAS,SAAS,KAAK,GACrB,MAAM,GACN,SAAS,SAAS,KAAK,GACrB,MAAM,GACN,SAAS,SAAS,KAAK,GACrB,MAAM,GACN,SAAS,SAAS,MAAM,GACtB,MAAM,GACN,SAAS,SAAS,MAAM,GACtB,MAAM,GACN,SAAS,SAAS,SAAS,GACzB,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,qBAAqB,GACrC,MAAM,GACN,KAAK,CAAC;AAE5B,KAAK,0BAA0B,CAAC,SAAS,SAAS,kBAAkB,IAClE,SAAS,SAAS,aAAa,GAC3B,0BAA0B,CAAC,SAAS,CAAC,GACrC,SAAS,SAAS,UAAU,MAAM,MAAM,GAAG,GACzC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAC3B,SAAS,SAAS,uBAAuB,MAAM,GAAG,GAChD;IAAE,KAAK,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,GACxB,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACtD,4BAA4B,CAAC,eAAe,EAAE,MAAM,CAAC,GACrD,aAAa,CAAC,SAAS,CAAC,CAAC"}
@@ -10,8 +10,10 @@ export type ConvertStructFieldType<TABITable extends ABITable, TMoveType extends
10
10
  * Internal
11
11
  */
12
12
  type ConvertPrimitiveStructField<T extends MovePrimitive> = T extends 'bool' ? boolean : T extends 'u8' ? number : T extends 'u16' ? number : T extends 'u32' ? number : T extends 'u64' ? string : T extends 'u128' ? string : T extends 'u256' ? string : T extends 'address' ? `0x${string}` : T extends '0x1::string::String' ? string : never;
13
- type ConvertStructFieldNonStructType<TABITable extends ABITable, TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveStructField<TMoveType> : TMoveType extends `vector<${infer TInner}>` ? ConvertStructFieldType<TABITable, TInner>[] : TMoveType extends `0x1::option::Option<${infer TInner}>` ? ConvertStructFieldOptionType<TABITable, TInner> : UnknownStruct<TMoveType>;
14
- type ConvertStructFieldOptionType<TABITable extends ABITable, TMoveType extends string> = {
13
+ type ConvertStructFieldNonStructType<TABITable extends ABITable, TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveStructField<TMoveType> : TMoveType extends `vector<${infer TInner}>` ? ConvertStructFieldType<TABITable, TInner>[] : TMoveType extends `0x1::object::Object<${string}>` ? {
14
+ inner: `0x${string}`;
15
+ } : TMoveType extends `0x1::option::Option<${infer TInner}>` ? ConvertStructFieldOptionType<TABITable, TInner> : UnknownStruct<TMoveType>;
16
+ export type ConvertStructFieldOptionType<TABITable extends ABITable, TMoveType extends string> = {
15
17
  vec: [ConvertStructFieldType<TABITable, TMoveType>] | [];
16
18
  };
17
19
  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], {
@@ -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,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"}
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,GAAG,GAChD;IAAE,KAAK,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,GACxB,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACtD,4BAA4B,CAAC,SAAS,EAAE,MAAM,CAAC,GAC/C,aAAa,CAAC,SAAS,CAAC,CAAC;AAEnC,MAAM,MAAM,4BAA4B,CACtC,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
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",
@@ -7,10 +7,20 @@ 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
- import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionResponse, PublicKey, AccountAddressInput, UserTransactionResponse, WaitForTransactionOptions } from "@aptos-labs/ts-sdk";
13
+ import {
14
+ Aptos,
15
+ LedgerVersionArg,
16
+ MoveValue,
17
+ Account,
18
+ CommittedTransactionResponse,
19
+ PublicKey,
20
+ AccountAddressInput,
21
+ UserTransactionResponse,
22
+ WaitForTransactionOptions,
23
+ } from '@aptos-labs/ts-sdk';
14
24
 
15
25
  /**
16
26
  * Create a client to interact with Aptos smart contract.
@@ -20,9 +30,9 @@ import { Aptos, LedgerVersionArg, MoveValue, Account, CommittedTransactionRespon
20
30
  * @example
21
31
  * const client = createSurfClient(new Aptos());
22
32
  */
23
- export function createSurfClient<
24
- TABITable extends ABITable = DefaultABITable,
25
- >(aptosClient: Aptos): Client<TABITable> {
33
+ export function createSurfClient<TABITable extends ABITable = DefaultABITable>(
34
+ aptosClient: Aptos,
35
+ ): Client<TABITable> {
26
36
  return new Client<TABITable>(aptosClient);
27
37
  }
28
38
  export class Client<TABITable extends ABITable> {
@@ -47,7 +57,7 @@ export class Client<TABITable extends ABITable> {
47
57
  * const [balance] = await client.view({ payload });
48
58
  */
49
59
  public async view<TReturn extends MoveValue[]>(args: {
50
- payload: ViewPayload<TReturn>,
60
+ payload: ViewPayload<TReturn>;
51
61
  options?: LedgerVersionArg;
52
62
  }): Promise<TReturn> {
53
63
  return await this.client.view(args);
@@ -73,9 +83,9 @@ export class Client<TABITable extends ABITable> {
73
83
  * });
74
84
  */
75
85
  public async submitTransaction(args: {
76
- signer: Account,
77
- payload: EntryPayload,
78
- options?: WaitForTransactionOptions
86
+ signer: Account;
87
+ payload: EntryPayload;
88
+ options?: WaitForTransactionOptions;
79
89
  }): Promise<CommittedTransactionResponse> {
80
90
  const transaction = await this.client.transaction.build.simple({
81
91
  sender: args.signer.accountAddress.toString(),
@@ -83,10 +93,11 @@ export class Client<TABITable extends ABITable> {
83
93
  });
84
94
 
85
95
  // Submit the transaction
86
- const transactionRes = await this.client.transaction.signAndSubmitTransaction({
87
- signer: args.signer,
88
- transaction,
89
- });
96
+ const transactionRes =
97
+ await this.client.transaction.signAndSubmitTransaction({
98
+ signer: args.signer,
99
+ transaction,
100
+ });
90
101
 
91
102
  // Wait for the transaction to finish
92
103
  // throws an error if the tx fails or not confirmed after timeout
@@ -117,34 +128,44 @@ export class Client<TABITable extends ABITable> {
117
128
  * });
118
129
  */
119
130
  public async simulateTransaction(args: {
120
- publicKey: PublicKey,
121
- sender: AccountAddressInput,
122
- payload: EntryPayload,
131
+ publicKey: PublicKey;
132
+ sender: AccountAddressInput;
133
+ payload: EntryPayload;
123
134
  }): Promise<UserTransactionResponse> {
124
135
  const transaction = await this.client.transaction.build.simple({
125
136
  sender: args.sender,
126
137
  data: args.payload,
127
138
  });
128
139
 
129
- return (await this.client.transaction.simulate.simple({
130
- signerPublicKey: args.publicKey,
131
- transaction,
132
- }))[0]!;
140
+ return (
141
+ await this.client.transaction.simulate.simple({
142
+ signerPublicKey: args.publicKey,
143
+ transaction,
144
+ })
145
+ )[0]!;
133
146
  }
134
147
 
135
148
  /**
136
149
  * Builds ABI from a provided address and module name for given client. ABI name can be taken from abi.name
137
- *
150
+ *
138
151
  * @param address The module address
139
152
  * @param moduleName The module name
140
153
  * @returns The constructed ABI
141
154
  * @example
142
155
  * const abi = await client.fetchABI(address = '0x1', moduleName = 'AptosCoin');
143
156
  */
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;
157
+ public async fetchABI<T extends ABIRoot>(
158
+ address: string,
159
+ moduleName: string,
160
+ ): Promise<T> {
161
+ // Fetches ABI fom address and module name for given client
162
+ // throws if inexistent module name in address for given client
163
+ return (
164
+ await this.client.getAccountModule({
165
+ accountAddress: address,
166
+ moduleName: moduleName,
167
+ })
168
+ ).abi as unknown as T;
148
169
  }
149
170
 
150
171
  /**
@@ -184,7 +205,7 @@ export class Client<TABITable extends ABITable> {
184
205
  payload,
185
206
  options: {
186
207
  ledgerVersion: args[0].ledgerVersion,
187
- }
208
+ },
188
209
  });
189
210
  };
190
211
  },
@@ -214,14 +235,14 @@ export class Client<TABITable extends ABITable> {
214
235
  const account: Account = args[0].account;
215
236
  return args[0].isSimulation
216
237
  ? this.simulateTransaction({
217
- publicKey: account.publicKey,
218
- sender: account.accountAddress.toString(),
219
- payload,
220
- })
238
+ publicKey: account.publicKey,
239
+ sender: account.accountAddress.toString(),
240
+ payload,
241
+ })
221
242
  : this.submitTransaction({
222
- signer: args[0].account,
223
- payload,
224
- });
243
+ signer: args[0].account,
244
+ payload,
245
+ });
225
246
  };
226
247
  },
227
248
  }),
@@ -244,15 +265,13 @@ export class Client<TABITable extends ABITable> {
244
265
  }
245
266
 
246
267
  const account: AccountAddressInput = args[0].account;
247
- return this.client.getAccountResource(
248
- {
249
- accountAddress: account,
250
- resourceType: `${abi.address}::${abi.name}::${structName}`,
251
- options: {
252
- ledgerVersion: args[0].ledgerVersion,
253
- }
254
- }
255
- );
268
+ return this.client.getAccountResource({
269
+ accountAddress: account,
270
+ resourceType: `${address ?? abi.address}::${abi.name}::${structName}`,
271
+ options: {
272
+ ledgerVersion: args[0].ledgerVersion,
273
+ },
274
+ });
256
275
  };
257
276
  },
258
277
  }),
@@ -120,6 +120,17 @@ describe('get account resource', () => {
120
120
  // @ts-expect-error out of index, option only has 0 or 1 item
121
121
  expect(data.supply.vec[1]).toBeUndefined();
122
122
  }, 60000);
123
+
124
+ it('object type', async () => {
125
+ async () => {
126
+ const data = await client.useABI(TEST_ABI).resource.TestObjectStruct({
127
+ typeArguments: [],
128
+ account: '0x1',
129
+ });
130
+
131
+ expect(data.objects[0]!.inner).toBeDefined();
132
+ };
133
+ }, 60000);
123
134
  });
124
135
 
125
136
  const TEST_ABI = {
@@ -156,5 +167,17 @@ const TEST_ABI = {
156
167
  },
157
168
  ],
158
169
  },
170
+ {
171
+ name: 'TestObjectStruct',
172
+ is_native: false,
173
+ abilities: ['key'],
174
+ generic_type_params: [],
175
+ fields: [
176
+ {
177
+ name: 'objects',
178
+ type: 'vector<0x1::object::Object<0x123::abc::Abc>>',
179
+ },
180
+ ],
181
+ },
159
182
  ],
160
183
  } as const;
@@ -9,21 +9,17 @@ import { createViewPayload } from '../createViewPayload.js';
9
9
 
10
10
  describe('call view functions', () => {
11
11
  const client = createSurfClient(
12
- new Aptos(
13
- new AptosConfig({ network: Network.TESTNET })
14
- )
12
+ new Aptos(new AptosConfig({ network: Network.TESTNET })),
15
13
  );
16
-
14
+
17
15
  const clientMain = createSurfClient(
18
- new Aptos(
19
- new AptosConfig({ network: Network.MAINNET })
20
- )
16
+ new Aptos(new AptosConfig({ network: Network.MAINNET })),
21
17
  );
22
18
  // Act before assertions
23
- beforeAll(async () => { });
19
+ beforeAll(async () => {});
24
20
 
25
21
  // Teardown (cleanup) after assertions
26
- afterAll(() => { });
22
+ afterAll(() => {});
27
23
 
28
24
  it('basic', async () => {
29
25
  const viewPayload = createViewPayload(COIN_ABI, {
@@ -58,9 +54,10 @@ describe('call view functions', () => {
58
54
  typeArguments: ['0x1::aptos_coin::AptosCoin'],
59
55
  });
60
56
  const result = await client.view({
61
- payload: viewPayload, options: {
57
+ payload: viewPayload,
58
+ options: {
62
59
  ledgerVersion: 562606728,
63
- }
60
+ },
64
61
  });
65
62
  expect(result).toMatchInlineSnapshot(`
66
63
  [
@@ -83,6 +80,49 @@ describe('call view functions', () => {
83
80
  expect((result[0] as any).v).toBeDefined();
84
81
  expect(typeof (result[0] as any).v).toEqual('string');
85
82
  }, 60000);
83
+
84
+ it('return objects', async () => {
85
+ // no need to run, type check only.
86
+ async () => {
87
+ const viewPayload = createViewPayload(TIERED_ORACLE_ABI, {
88
+ function: 'get_objects',
89
+ functionArguments: [],
90
+ typeArguments: ['0x1::aptos_coin::AptosCoin'],
91
+ });
92
+
93
+ // The declaration in Move:
94
+ // struct FixedPoint64 has copy, drop, store { value: u128 }
95
+ const result = await clientMain.view({ payload: viewPayload });
96
+
97
+ result[0][0]!.inner;
98
+
99
+ // @ts-expect-error
100
+ result[0][0].abc;
101
+ };
102
+ }, 60000);
103
+
104
+ it('return options', async () => {
105
+ // no need to run, type check only.
106
+ async () => {
107
+ const viewPayload = createViewPayload(TIERED_ORACLE_ABI, {
108
+ function: 'get_options',
109
+ functionArguments: [],
110
+ typeArguments: ['0x1::aptos_coin::AptosCoin'],
111
+ });
112
+
113
+ // The declaration in Move:
114
+ // struct FixedPoint64 has copy, drop, store { value: u128 }
115
+ const result = await clientMain.view({ payload: viewPayload });
116
+
117
+ result[0][0]!.vec[0];
118
+
119
+ // @ts-expect-error out of range, option only has 0 or 1 item
120
+ result[0][0]!.vec[1];
121
+
122
+ // @ts-expect-error
123
+ result[0][0].abc;
124
+ };
125
+ }, 60000);
86
126
  });
87
127
 
88
128
  const TIERED_ORACLE_ABI = {
@@ -107,6 +147,32 @@ const TIERED_ORACLE_ABI = {
107
147
  '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64',
108
148
  ],
109
149
  },
150
+ {
151
+ name: 'get_objects',
152
+ visibility: 'public',
153
+ is_entry: false,
154
+ is_view: true,
155
+ generic_type_params: [
156
+ {
157
+ constraints: [],
158
+ },
159
+ ],
160
+ params: [],
161
+ return: ['vector<0x1::object::Object<0x123::abc::Abc>>'],
162
+ },
163
+ {
164
+ name: 'get_options',
165
+ visibility: 'public',
166
+ is_entry: false,
167
+ is_view: true,
168
+ generic_type_params: [
169
+ {
170
+ constraints: [],
171
+ },
172
+ ],
173
+ params: [],
174
+ return: ['vector<0x1::option::Option<0x123::abc::Abc>>'],
175
+ },
110
176
  ],
111
177
  structs: [],
112
178
  } as const;
@@ -4,7 +4,9 @@
4
4
  */
5
5
 
6
6
  import { UnknownStruct } from '../common.js';
7
+ import { DefaultABITable } from '../defaultABITable.js';
7
8
  import { MoveNonStructTypes, MovePrimitive } from '../moveTypes.js';
9
+ import { ConvertStructFieldOptionType } from './structConvertor.js';
8
10
 
9
11
  /**
10
12
  * Convert an array of return types.
@@ -30,26 +32,30 @@ type ConvertPrimitiveReturnType<TMoveType extends MovePrimitive> =
30
32
  TMoveType extends 'bool'
31
33
  ? boolean
32
34
  : TMoveType extends 'u8'
33
- ? number
34
- : TMoveType extends 'u16'
35
- ? number
36
- : TMoveType extends 'u32'
37
- ? number
38
- : TMoveType extends 'u64'
39
- ? string
40
- : TMoveType extends 'u128'
41
- ? string
42
- : TMoveType extends 'u256'
43
- ? string
44
- : TMoveType extends 'address'
45
- ? `0x${string}`
46
- : TMoveType extends '0x1::string::String'
47
- ? string
48
- : never;
35
+ ? number
36
+ : TMoveType extends 'u16'
37
+ ? number
38
+ : TMoveType extends 'u32'
39
+ ? number
40
+ : TMoveType extends 'u64'
41
+ ? string
42
+ : TMoveType extends 'u128'
43
+ ? string
44
+ : TMoveType extends 'u256'
45
+ ? string
46
+ : TMoveType extends 'address'
47
+ ? `0x${string}`
48
+ : TMoveType extends '0x1::string::String'
49
+ ? string
50
+ : never;
49
51
 
50
52
  type ConvertNonStructReturnType<TMoveType extends MoveNonStructTypes> =
51
53
  TMoveType extends MovePrimitive
52
54
  ? ConvertPrimitiveReturnType<TMoveType>
53
55
  : TMoveType extends `vector<${infer TInner}>`
54
- ? ConvertReturnType<TInner>[]
55
- : UnknownStruct<TMoveType>;
56
+ ? ConvertReturnType<TInner>[]
57
+ : TMoveType extends `0x1::object::Object<${string}>`
58
+ ? { inner: `0x${string}` }
59
+ : TMoveType extends `0x1::option::Option<${infer TInner}>`
60
+ ? ConvertStructFieldOptionType<DefaultABITable, TInner>
61
+ : UnknownStruct<TMoveType>;
@@ -50,11 +50,13 @@ type ConvertStructFieldNonStructType<
50
50
  ? ConvertPrimitiveStructField<TMoveType>
51
51
  : TMoveType extends `vector<${infer TInner}>`
52
52
  ? ConvertStructFieldType<TABITable, TInner>[]
53
- : TMoveType extends `0x1::option::Option<${infer TInner}>`
54
- ? ConvertStructFieldOptionType<TABITable, TInner>
55
- : UnknownStruct<TMoveType>;
53
+ : TMoveType extends `0x1::object::Object<${string}>`
54
+ ? { inner: `0x${string}` }
55
+ : TMoveType extends `0x1::option::Option<${infer TInner}>`
56
+ ? ConvertStructFieldOptionType<TABITable, TInner>
57
+ : UnknownStruct<TMoveType>;
56
58
 
57
- type ConvertStructFieldOptionType<
59
+ export type ConvertStructFieldOptionType<
58
60
  TABITable extends ABITable,
59
61
  TMoveType extends string,
60
62
  > = {