@thalalabs/surf 0.0.7 → 0.0.9

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 (35) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +34 -0
  3. package/build/cjs/core/Client.js.map +1 -1
  4. package/build/cjs/types/{globalABI.js → defaultABITable.js} +1 -1
  5. package/build/cjs/types/defaultABITable.js.map +1 -0
  6. package/build/esm/core/Client.js.map +1 -1
  7. package/build/esm/types/defaultABITable.js +2 -0
  8. package/build/esm/types/defaultABITable.js.map +1 -0
  9. package/build/types/core/Client.d.ts +6 -5
  10. package/build/types/core/Client.d.ts.map +1 -1
  11. package/build/types/index.d.ts +1 -1
  12. package/build/types/index.d.ts.map +1 -1
  13. package/build/types/types/abiClient.d.ts +3 -3
  14. package/build/types/types/abiClient.d.ts.map +1 -1
  15. package/build/types/types/common.d.ts +2 -2
  16. package/build/types/types/common.d.ts.map +1 -1
  17. package/build/types/types/{globalABI.d.ts → defaultABITable.d.ts} +2 -4
  18. package/build/types/types/defaultABITable.d.ts.map +1 -0
  19. package/build/types/types/index.d.ts +1 -0
  20. package/build/types/types/index.d.ts.map +1 -1
  21. package/build/types/types/struct.d.ts +9 -7
  22. package/build/types/types/struct.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/core/Client.ts +8 -6
  25. package/src/core/__tests__/accountResource.test.ts +77 -3
  26. package/src/index.ts +1 -0
  27. package/src/types/abiClient.ts +3 -3
  28. package/src/types/common.ts +2 -2
  29. package/src/types/{globalABI.ts → defaultABITable.ts} +1 -3
  30. package/src/types/index.ts +2 -1
  31. package/src/types/struct.ts +33 -31
  32. package/build/cjs/types/globalABI.js.map +0 -1
  33. package/build/esm/types/globalABI.js +0 -2
  34. package/build/esm/types/globalABI.js.map +0 -1
  35. package/build/types/types/globalABI.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 0.0.9
4
+
5
+ ### Patch Changes
6
+
7
+ - 030d907: Support vector of struct in get account resource
8
+
9
+ ## 0.0.8
10
+
11
+ ### Patch Changes
12
+
13
+ - b15264f: Support customize ABITable
14
+
3
15
  ## 0.0.7
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -165,6 +165,40 @@ const { hash } = await client.simulateTransaction(
165
165
  );
166
166
  ```
167
167
 
168
+ ### Get account resource
169
+
170
+ To get account resource with type safety:
171
+
172
+ ```typescript
173
+ const { data } = await client.useABI(COIN_ABI).resource.CoinStore({
174
+ type_arguments: ['0x1::aptos_coin::AptosCoin'],
175
+ account: '0x1',
176
+ });
177
+
178
+ // Get property in the struct with type safety
179
+ console.log(data.frozen);
180
+
181
+ // It also works for nested struct type.
182
+ // The `coin` property's type is 0x1::coin::Coin<T0>
183
+ console.log(data.coin.value);
184
+ ```
185
+
186
+ Some fields of a stuct may reference external modules.To inference the type of a nested struct, it needs the ABI of the external module. Surf currently only built-in some of the ABIs from 0x1, so that it can inference types like "0x1::coin::Coin". The type of an unidentifiable field would be `object`. Developer can provide additional modules to Surf like this:
187
+ ```TypeScript
188
+ import { DefaultABITable } from "@thalalabs/surf";
189
+ type ABITAble = DefaultABITable & {
190
+ '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI,
191
+ };
192
+
193
+ const client = createClient<ABITAble>({
194
+ nodeUrl: 'https://fullnode.mainnet.aptoslabs.com/v1',
195
+ });
196
+ ```
197
+
198
+ With this customized `ABITAble`, Surf can inference the struct from `0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64`.
199
+
200
+ Considering the `ABITable` is only been used as a type, it would be stripped out after compiling. So it won't increase the bundle size. You can put the `ABITable` in a separate file and `import type { ABITable } from "./ABITable.ts"` to ensure that.
201
+
168
202
  ### React Hooks
169
203
 
170
204
  Surf currently offers two React Hooks: `useWalletClient` and `useSubmitTransaction`. Both require the `@aptos-labs/wallet-adapter-react`. Check out the [example NextJS package](https://github.com/ThalaLabs/surf/blob/main/example/app/page.tsx) for more information.
@@ -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,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=globalABI.js.map
3
+ //# sourceMappingURL=defaultABITable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultABITable.js","sourceRoot":"","sources":["../../../src/types/defaultABITable.ts"],"names":[],"mappings":""}
@@ -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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=defaultABITable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultABITable.js","sourceRoot":"","sources":["../../../src/types/defaultABITable.ts"],"names":[],"mappings":""}
@@ -1,11 +1,12 @@
1
1
  import { AptosClient } from "aptos";
2
- import type { ABIEntryClient, ABIViewClient, ABIRoot, EntryOptions, EntryPayload, ViewOptions, ViewPayload } from "../types/index.js";
2
+ import type { ABIEntryClient, ABIViewClient, ABIRoot, EntryOptions, EntryPayload, ViewOptions, ViewPayload, DefaultABITable } from "../types/index.js";
3
3
  import type { TransactionResponse } from "../types/common.js";
4
4
  import { ABIResourceClient } from "../types/abiClient.js";
5
- export declare function createClient(options: {
5
+ import { ABITable } from "../types/struct.js";
6
+ export declare function createClient<TABITable extends ABITable = DefaultABITable>(options: {
6
7
  nodeUrl: string;
7
- }): Client;
8
- export declare class Client {
8
+ }): Client<TABITable>;
9
+ export declare class Client<TABITable extends ABITable> {
9
10
  private client;
10
11
  constructor(client: AptosClient);
11
12
  view<TReturn>(payload: ViewPayload<TReturn>, options?: ViewOptions): Promise<TReturn>;
@@ -14,7 +15,7 @@ export declare class Client {
14
15
  useABI<T extends ABIRoot>(abi: T): {
15
16
  view: ABIViewClient<T>;
16
17
  entry: ABIEntryClient<T>;
17
- resource: ABIResourceClient<T>;
18
+ resource: ABIResourceClient<TABITable, T>;
18
19
  };
19
20
  private generateRawTxn;
20
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtI,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,wBAAgB,YAAY,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIjE;AAED,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAIlB,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,OAAO,CAAC;IAeN,iBAAiB,CAC1B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAoBlB,mBAAmB,CAC5B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAWxB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC;;;;;YAiDzB,cAAc;CAW/B"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAmB,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvJ,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,wBAAgB,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,eAAe,EACpE,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAIpD;AAED,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC1C,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAIlB,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,GACtB,OAAO,CAAC,OAAO,CAAC;IAeN,iBAAiB,CAC1B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAoBlB,mBAAmB,CAC5B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAWxB,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC;;;;;YAiDzB,cAAc;CAW/B"}
@@ -1,3 +1,3 @@
1
1
  export { createViewPayload, createEntryPayload, createClient } from "./core/index.js";
2
- export type { EntryPayload, ViewPayload, } from "./types/index.js";
2
+ export type { EntryPayload, ViewPayload, DefaultABITable } from "./types/index.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACR,YAAY,EACZ,WAAW,GACd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACf,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACR,YAAY,EACZ,WAAW,EACX,eAAe,EAClB,MAAM,kBAAkB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { AptosAccount } from "aptos";
2
2
  import type { ABIRoot } from "./abi.js";
3
3
  import type { EntryFunctionName, ExtractGenericParamsType, ExtractParamsType, ExtractParamsTypeOmitSigner, ExtractReturnType, TransactionResponse, ViewFunctionName } from "./common.js";
4
- import { ExtractStructGenericParamsType, ExtractStructType, ResourceStructName } from "./struct.js";
4
+ import { ABITable, ExtractStructGenericParamsType, ExtractStructType, ResourceStructName } from "./struct.js";
5
5
  export type ABIViewClient<T extends ABIRoot> = {
6
6
  [TFuncName in ViewFunctionName<T>]: (payload: {
7
7
  type_arguments: ExtractGenericParamsType<T, TFuncName>;
@@ -16,12 +16,12 @@ export type ABIEntryClient<T extends ABIRoot> = {
16
16
  isSimulation?: boolean;
17
17
  }) => Promise<TransactionResponse>;
18
18
  };
19
- export type ABIResourceClient<T extends ABIRoot> = {
19
+ export type ABIResourceClient<TABITable extends ABITable, T extends ABIRoot> = {
20
20
  [TStructName in ResourceStructName<T>]: (payload: {
21
21
  type_arguments: ExtractStructGenericParamsType<T, TStructName>;
22
22
  account: `0x${string}`;
23
23
  }) => Promise<{
24
- data: ExtractStructType<T, TStructName>;
24
+ data: ExtractStructType<TABITable, T, TStructName>;
25
25
  type: string;
26
26
  }>;
27
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"abiClient.d.ts","sourceRoot":"","sources":["../../../src/types/abiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EACR,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEpG,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI;KAC1C,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC1C,cAAc,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtD,SAAS,EAAE,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC9C,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI;KAC3C,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC3C,cAAc,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACvD,SAAS,EAAE,2BAA2B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,EAAE,YAAY,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAA;KACzB,KAAK,OAAO,CAAC,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,IAAI;KAC9C,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC9C,cAAc,EAAE,8BAA8B,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;KAC1B,KAAK,OAAO,CAAC;QACV,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,CAAA;KACf,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"abiClient.d.ts","sourceRoot":"","sources":["../../../src/types/abiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EACR,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE9G,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI;KAC1C,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC1C,cAAc,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QACtD,SAAS,EAAE,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAC9C,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,IAAI;KAC3C,SAAS,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC3C,cAAc,EAAE,wBAAwB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACvD,SAAS,EAAE,2BAA2B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,EAAE,YAAY,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAA;KACzB,KAAK,OAAO,CAAC,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,IAAI;KAC1E,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;QAC9C,cAAc,EAAE,8BAA8B,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/D,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;KAC1B,KAAK,OAAO,CAAC;QACV,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,EAAE,MAAM,CAAA;KACf,CAAC;CACL,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { ABIRoot } from "./abi.js";
2
2
  export type Primitive = 'bool' | 'u8' | 'u16' | 'u32' | 'u64' | 'u128' | 'u256' | 'address' | '0x1::string::String';
3
- type Vector = `vector<${Primitive}>`;
4
- type VectorOfVector = `vector<vector<${Primitive}>>`;
3
+ type Vector = `vector<${string}>`;
4
+ type VectorOfVector = `vector<vector<${string}>>`;
5
5
  export type AllTypes = Primitive | Vector | VectorOfVector;
6
6
  type ConvertPrimitiveArgsType<T extends Primitive> = T extends 'bool' ? boolean : T extends 'u8' ? number : T extends 'u16' ? number : T extends 'u32' ? number : T extends 'u64' ? AnyNumber : T extends 'u128' ? AnyNumber : T extends 'u256' ? AnyNumber : T extends 'address' ? `0x${string}` : T extends '0x1::string::String' ? string : never;
7
7
  type ConvertVectorArgsType<TInner> = TInner extends Primitive ? ConvertPrimitiveArgsType<TInner>[] : (TInner extends `vector<${infer TInnerInner}>` ? (TInnerInner extends Primitive ? ConvertPrimitiveArgsType<TInnerInner>[][] : any[][]) : (object[]));
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,11 @@
1
1
  import type { COIN_ABI } from "../abi/coin.js";
2
2
  import type { EVENT_ABI } from "../abi/event.js";
3
- import { FIXED_POINT64_ABI } from "../abi/fixed_point64.js";
4
3
  import type { GUID_ABI } from "../abi/guid.js";
5
4
  import { TABLE_ABI } from "../abi/table.js";
6
- export type GlobalABITable = {
5
+ export type DefaultABITable = {
7
6
  '0x1::coin': typeof COIN_ABI;
8
7
  '0x1::event': typeof EVENT_ABI;
9
8
  '0x1::guid': typeof GUID_ABI;
10
9
  '0x1::table': typeof TABLE_ABI;
11
- '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI;
12
10
  };
13
- //# sourceMappingURL=globalABI.d.ts.map
11
+ //# sourceMappingURL=defaultABITable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultABITable.d.ts","sourceRoot":"","sources":["../../../src/types/defaultABITable.ts"],"names":[],"mappings":"AAAA,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,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG;IAC1B,WAAW,EAAE,OAAO,QAAQ,CAAC;IAC7B,YAAY,EAAE,OAAO,SAAS,CAAC;IAC/B,WAAW,EAAE,OAAO,QAAQ,CAAC;IAC7B,YAAY,EAAE,OAAO,SAAS,CAAC;CAClC,CAAC"}
@@ -2,4 +2,5 @@ export type { ABIWalletClient } from "./walletClient.js";
2
2
  export type { ABIViewClient, ABIEntryClient } from "./abiClient.js";
3
3
  export type { ViewPayload, EntryPayload, ViewOptions, EntryOptions, } from "./client.js";
4
4
  export type { ABIRoot } from "./abi.js";
5
+ export type { DefaultABITable } from "./defaultABITable.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,YAAY,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,25 +1,27 @@
1
1
  import { ABIRoot } from "./abi.js";
2
2
  import { AllTypes, ConvertTypeParams, Primitive } from "./common.js";
3
- import { GlobalABITable } from "./globalABI.js";
4
3
  type Struct<_T extends string> = object;
5
4
  export type ConvertPrimitiveStructField<T extends Primitive> = 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;
6
- type ConvertVectorStructField<TInner> = TInner extends Primitive ? ConvertPrimitiveStructField<TInner>[] : (TInner extends `vector<${infer TInnerInner}>` ? (TInnerInner extends Primitive ? ConvertPrimitiveStructField<TInnerInner>[][] : any[][]) : (object[]));
7
5
  type MoveStruct<T extends ABIRoot> = T['structs'][number];
8
6
  export type ResourceStructName<T extends ABIRoot> = MoveStruct<T>['name'];
9
7
  type ExtractStructFieldsName<T extends ABIRoot, TStructName extends ResourceStructName<T>> = ExtractStruct<T, TStructName>['fields'][number]['name'];
10
8
  type ExtractStruct<T extends ABIRoot, TResourceName extends ResourceStructName<T>> = Extract<MoveStruct<T>, {
11
9
  name: TResourceName;
12
10
  }>;
13
- type ExtractStructFieldType<T extends ABIRoot, TStructName extends ResourceStructName<T>, TFieldName extends string> = Extract<ExtractStruct<T, TStructName>['fields'][number], {
11
+ type ExtractStructFieldMoveType<T extends ABIRoot, TStructName extends ResourceStructName<T>, TFieldName extends string> = Extract<ExtractStruct<T, TStructName>['fields'][number], {
14
12
  name: TFieldName;
15
13
  }>['type'];
16
- export type ConvertStructField<T extends AllTypes> = T extends Primitive ? ConvertPrimitiveStructField<T> : T extends `vector<${infer TInner}>` ? ConvertVectorStructField<TInner> : Struct<T>;
17
- export type ExtractStructType<T extends ABIRoot, TStructName extends ResourceStructName<T>> = {
18
- [TField in ExtractStructFieldsName<T, TStructName>]: ExtractStructFieldType<T, TStructName, TField> extends AllTypes ? ConvertStructField<ExtractStructFieldType<T, TStructName, TField>> : ExtractStructTypeGlobal<ExtractStructFieldType<T, TStructName, TField>>;
14
+ type ConvertStructFieldType<TABITable extends ABITable, TMoveType extends string> = TMoveType extends AllTypes ? ConvertStructFieldNonStructType<TABITable, TMoveType> : ConvertStructFieldStructType<TABITable, TMoveType>;
15
+ export type ConvertStructFieldNonStructType<TABITable extends ABITable, TMoveType extends AllTypes> = TMoveType extends Primitive ? ConvertPrimitiveStructField<TMoveType> : TMoveType extends `vector<${infer TInner}>` ? ConvertStructFieldType<TABITable, TInner>[] : Struct<TMoveType>;
16
+ 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>> : Struct<TMoveType> : Struct<TMoveType> : Struct<TMoveType>;
17
+ export type ExtractStructType<TABITable extends ABITable, TABI extends ABIRoot, TStructName extends ResourceStructName<TABI>> = {
18
+ [TField in ExtractStructFieldsName<TABI, TStructName>]: ConvertStructFieldType<TABITable, ExtractStructFieldMoveType<TABI, TStructName, TField>>;
19
19
  };
20
20
  export type ExtractStructRawGenericParamsType<T extends ABIRoot, TStructName extends ResourceStructName<T>> = ExtractStruct<T, TStructName>['generic_type_params'];
21
21
  export type ExtractStructGenericParamsType<T extends ABIRoot, TStructName extends ResourceStructName<T>> = ConvertTypeParams<ExtractStructRawGenericParamsType<T, TStructName>>;
22
- type ExtractStructTypeGlobal<TAddress extends string> = TAddress extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${'' | `<${infer _TInnerType}>`}` ? `${TAccountAddress}::${TModuleName}` extends keyof GlobalABITable ? OmitInner<TStructName> extends ResourceStructName<GlobalABITable[`${TAccountAddress}::${TModuleName}`]> ? ExtractStructType<GlobalABITable[`${TAccountAddress}::${TModuleName}`], OmitInner<TStructName>> : Struct<TAddress> : Struct<TAddress> : Struct<TAddress>;
23
22
  type OmitInner<T extends string> = T extends `${infer TOuter}<${infer _TInner}>` ? `${TOuter}` : T;
23
+ export type ABITable = {
24
+ [TAddress in string]: ABIRoot;
25
+ };
24
26
  export {};
25
27
  //# sourceMappingURL=struct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/types/struct.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../../src/types/struct.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
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",
@@ -1,17 +1,19 @@
1
1
  import { AptosClient, TxnBuilderTypes } from "aptos";
2
2
  import { createViewPayload } from "./createViewPayload.js";
3
3
  import { createEntryPayload } from "./createEntryPayload.js";
4
- import type { ABIEntryClient, ABIViewClient, ABIRoot, EntryOptions, EntryPayload, ViewOptions, ViewPayload } from "../types/index.js";
4
+ import type { ABIEntryClient, ABIViewClient, ABIRoot, EntryOptions, EntryPayload, ViewOptions, ViewPayload, DefaultABITable } from "../types/index.js";
5
5
  import type { TransactionResponse } from "../types/common.js";
6
6
  import { ABIResourceClient } from "../types/abiClient.js";
7
+ import { ABITable } from "../types/struct.js";
7
8
 
8
- export function createClient(options: { nodeUrl: string }): Client {
9
- return new Client(
9
+ export function createClient<TABITable extends ABITable = DefaultABITable>
10
+ (options: { nodeUrl: string }): Client<TABITable> {
11
+ return new Client<TABITable>(
10
12
  new AptosClient(options.nodeUrl)
11
13
  );
12
14
  }
13
15
 
14
- export class Client {
16
+ export class Client<TABITable extends ABITable> {
15
17
  private client: AptosClient;
16
18
 
17
19
  constructor(client: AptosClient) {
@@ -103,11 +105,11 @@ export class Client {
103
105
  };
104
106
  }
105
107
  }),
106
- resource: new Proxy({} as ABIResourceClient<T>, {
108
+ resource: new Proxy({} as ABIResourceClient<TABITable, T>, {
107
109
  get: (_, prop) => {
108
110
  let structName = prop.toString();
109
111
  return (...args) => {
110
- if(args[0].type_arguments.length !== 0) {
112
+ if (args[0].type_arguments.length !== 0) {
111
113
  structName += `<${args[0].type_arguments.join(",")}>`;
112
114
  }
113
115
  return this.client.getAccountResource(
@@ -3,6 +3,8 @@
3
3
  */
4
4
 
5
5
  import { COIN_ABI } from '../../abi/coin';
6
+ import { FIXED_POINT64_ABI } from '../../abi/fixed_point64';
7
+ import { DefaultABITable } from '../../types';
6
8
  import { createClient } from '../Client';
7
9
 
8
10
  describe('get account resource', () => {
@@ -11,10 +13,10 @@ describe('get account resource', () => {
11
13
  });
12
14
 
13
15
  // Act before assertions
14
- beforeAll(async () => {});
16
+ beforeAll(async () => { });
15
17
 
16
18
  // Teardown (cleanup) after assertions
17
- afterAll(() => {});
19
+ afterAll(() => { });
18
20
 
19
21
  it('get CoinStore', async () => {
20
22
  const result = await client.useABI(COIN_ABI).resource.CoinStore({
@@ -23,7 +25,7 @@ describe('get account resource', () => {
23
25
  });
24
26
 
25
27
  expect(result.data.frozen).toBeFalsy();
26
- expect(result.data.coin).toBeDefined();
28
+ expect(result.data.coin.value).toBeDefined();
27
29
  expect(result.data.deposit_events).toBeDefined();
28
30
  expect(result.data.withdraw_events).toBeDefined();
29
31
 
@@ -36,4 +38,76 @@ describe('get account resource', () => {
36
38
  // @ts-expect-error field not exist
37
39
  expect(result.abc).toBeUndefined();
38
40
  }, 60000);
41
+
42
+ it('use customized ABITable', async () => {
43
+ async () => {
44
+ type ABITAble = DefaultABITable & {
45
+ '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI,
46
+ };
47
+
48
+ const client = createClient<ABITAble>({
49
+ nodeUrl: 'https://fullnode.testnet.aptoslabs.com/v1',
50
+ });
51
+
52
+ const result = await client.useABI(TEST_ABI).resource.TestStruct({
53
+ type_arguments: [],
54
+ account: '0x1',
55
+ });
56
+
57
+ // `value` and `v` are string type
58
+ result.data.coin.value.startsWith;
59
+ result.data.ratio.v.startsWith;
60
+
61
+ // @ts-expect-error field not exist
62
+ result.data.ratio.abc;
63
+ }
64
+ }, 60000);
65
+
66
+ it('vector struct type', async () => {
67
+ async () => {
68
+ const result = await client.useABI(TEST_ABI).resource.TestVectorStruct({
69
+ type_arguments: [],
70
+ account: '0x1',
71
+ });
72
+
73
+ result.data.coins[0]?.value.startsWith;
74
+ }
75
+ }, 60000);
39
76
  });
77
+
78
+ const TEST_ABI = {
79
+ address: '0xf1ab5cd814ef1480b8c36466310d9c21d7758b54f6121872d1fb43887a40e7d8',
80
+ name: 'test',
81
+ friends: [],
82
+ exposed_functions: [],
83
+ structs: [
84
+ {
85
+ name: 'TestStruct',
86
+ is_native: false,
87
+ abilities: ['key'],
88
+ generic_type_params: [],
89
+ fields: [
90
+ {
91
+ "name": "ratio",
92
+ "type": "0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"
93
+ },
94
+ {
95
+ "name": "coin",
96
+ "type": "0x1::coin::Coin<T0>"
97
+ },
98
+ ],
99
+ },
100
+ {
101
+ name: 'TestVectorStruct',
102
+ is_native: false,
103
+ abilities: ['key'],
104
+ generic_type_params: [],
105
+ fields: [
106
+ {
107
+ "name": "coins",
108
+ "type": "vector<0x1::coin::Coin<T0>>"
109
+ },
110
+ ],
111
+ },
112
+ ],
113
+ } as const;
package/src/index.ts CHANGED
@@ -7,4 +7,5 @@ export {
7
7
  export type {
8
8
  EntryPayload,
9
9
  ViewPayload,
10
+ DefaultABITable
10
11
  } from "./types/index.js";
@@ -9,7 +9,7 @@ import type {
9
9
  TransactionResponse,
10
10
  ViewFunctionName
11
11
  } from "./common.js";
12
- import { ExtractStructGenericParamsType, ExtractStructType, ResourceStructName } from "./struct.js";
12
+ import { ABITable, ExtractStructGenericParamsType, ExtractStructType, ResourceStructName } from "./struct.js";
13
13
 
14
14
  export type ABIViewClient<T extends ABIRoot> = {
15
15
  [TFuncName in ViewFunctionName<T>]: (payload: {
@@ -27,12 +27,12 @@ export type ABIEntryClient<T extends ABIRoot> = {
27
27
  }) => Promise<TransactionResponse>
28
28
  };
29
29
 
30
- export type ABIResourceClient<T extends ABIRoot> = {
30
+ export type ABIResourceClient<TABITable extends ABITable, T extends ABIRoot> = {
31
31
  [TStructName in ResourceStructName<T>]: (payload: {
32
32
  type_arguments: ExtractStructGenericParamsType<T, TStructName>,
33
33
  account: `0x${string}`,
34
34
  }) => Promise<{
35
- data: ExtractStructType<T, TStructName>,
35
+ data: ExtractStructType<TABITable, T, TStructName>,
36
36
  type: string
37
37
  }>
38
38
  };
@@ -6,8 +6,8 @@ export type Primitive =
6
6
  'u64' | 'u128' | 'u256' | 'address' |
7
7
  '0x1::string::String';
8
8
 
9
- type Vector = `vector<${Primitive}>`;
10
- type VectorOfVector = `vector<vector<${Primitive}>>`;
9
+ type Vector = `vector<${string}>`;
10
+ type VectorOfVector = `vector<vector<${string}>>`;
11
11
 
12
12
  // TODO: support vector<vector<vector>>
13
13
  export type AllTypes = Primitive | Vector | VectorOfVector;
@@ -1,13 +1,11 @@
1
1
  import type { COIN_ABI } from "../abi/coin.js";
2
2
  import type { EVENT_ABI } from "../abi/event.js";
3
- import { FIXED_POINT64_ABI } from "../abi/fixed_point64.js";
4
3
  import type { GUID_ABI } from "../abi/guid.js";
5
4
  import { TABLE_ABI } from "../abi/table.js";
6
5
 
7
- export type GlobalABITable = {
6
+ export type DefaultABITable = {
8
7
  '0x1::coin': typeof COIN_ABI,
9
8
  '0x1::event': typeof EVENT_ABI,
10
9
  '0x1::guid': typeof GUID_ABI,
11
10
  '0x1::table': typeof TABLE_ABI,
12
- '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64': typeof FIXED_POINT64_ABI,
13
11
  };
@@ -6,4 +6,5 @@ export type {
6
6
  ViewOptions,
7
7
  EntryOptions,
8
8
  } from "./client.js";
9
- export type { ABIRoot } from "./abi.js";
9
+ export type { ABIRoot } from "./abi.js";
10
+ export type { DefaultABITable } from "./defaultABITable.js";
@@ -1,6 +1,5 @@
1
1
  import { ABIRoot } from "./abi.js";
2
2
  import { AllTypes, ConvertTypeParams, Primitive } from "./common.js";
3
- import { GlobalABITable } from "./globalABI.js";
4
3
 
5
4
  type Struct<_T extends string> = object;
6
5
 
@@ -16,15 +15,6 @@ export type ConvertPrimitiveStructField<T extends Primitive> =
16
15
  T extends '0x1::string::String' ? string :
17
16
  never;
18
17
 
19
- type ConvertVectorStructField<TInner> = TInner extends Primitive ? ConvertPrimitiveStructField<TInner>[] :
20
- (
21
- TInner extends `vector<${infer TInnerInner}>` ? (
22
- TInnerInner extends Primitive ? ConvertPrimitiveStructField<TInnerInner>[][] :
23
- any[][]) : (
24
- object[]
25
- )
26
- );
27
-
28
18
  type MoveStruct<T extends ABIRoot> = T['structs'][number];
29
19
 
30
20
  export type ResourceStructName<T extends ABIRoot> = MoveStruct<T>['name'];
@@ -36,25 +26,41 @@ type ExtractStructFieldsName<
36
26
  type ExtractStruct<T extends ABIRoot, TResourceName extends ResourceStructName<T>> =
37
27
  Extract<MoveStruct<T>, { name: TResourceName }>;
38
28
 
39
- type ExtractStructFieldType<
29
+ type ExtractStructFieldMoveType<
40
30
  T extends ABIRoot,
41
31
  TStructName extends ResourceStructName<T>,
42
32
  TFieldName extends string> = Extract<ExtractStruct<T, TStructName>['fields'][number], { name: TFieldName }>['type'];
43
33
 
44
- export type ConvertStructField<T extends AllTypes> =
45
- T extends Primitive ? ConvertPrimitiveStructField<T> :
46
- T extends `vector<${infer TInner}>` ? ConvertVectorStructField<TInner> :
47
- Struct<T>;
34
+ // Convert a struct field Move type to a TypeScript type
35
+ type ConvertStructFieldType<TABITable extends ABITable, TMoveType extends string> =
36
+ TMoveType extends AllTypes ?
37
+ // it's a non-struct type
38
+ ConvertStructFieldNonStructType<TABITable, TMoveType> :
39
+ // it's a struct type
40
+ ConvertStructFieldStructType<TABITable, TMoveType>;
41
+
42
+ // Convert a struct field non-struct Move type to a TypeScript type
43
+ export type ConvertStructFieldNonStructType<TABITable extends ABITable, TMoveType extends AllTypes> =
44
+ TMoveType extends Primitive ? ConvertPrimitiveStructField<TMoveType> :
45
+ TMoveType extends `vector<${infer TInner}>` ? ConvertStructFieldType<TABITable, TInner>[] :
46
+ Struct<TMoveType>;
47
+
48
+ // Convert a struct field struct Move type to a TypeScript type
49
+ type ConvertStructFieldStructType<TABITable extends ABITable, TMoveType extends string> =
50
+ TMoveType extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${'' | `<${infer _TInnerType}>`}`
51
+ ? `${TAccountAddress}::${TModuleName}` extends keyof TABITable ?
52
+ OmitInner<TStructName> extends ResourceStructName<TABITable[`${TAccountAddress}::${TModuleName}`]> ?
53
+ ExtractStructType<TABITable, TABITable[`${TAccountAddress}::${TModuleName}`], OmitInner<TStructName>>
54
+ // Unknown struct, use the default struct type
55
+ : Struct<TMoveType> : Struct<TMoveType> : Struct<TMoveType>;
48
56
 
57
+ // Get the struct type with the name of `TStructName` in `TABI`, with the help of `TABITable`
49
58
  export type ExtractStructType<
50
- T extends ABIRoot,
51
- TStructName extends ResourceStructName<T>> = {
52
- [TField in ExtractStructFieldsName<T, TStructName>]:
53
- ExtractStructFieldType<T, TStructName, TField> extends AllTypes ?
54
- // it's a non-struct type
55
- ConvertStructField<ExtractStructFieldType<T, TStructName, TField>> :
56
- // it's a struct type
57
- ExtractStructTypeGlobal<ExtractStructFieldType<T, TStructName, TField>>;
59
+ TABITable extends ABITable,
60
+ TABI extends ABIRoot,
61
+ TStructName extends ResourceStructName<TABI>> = {
62
+ [TField in ExtractStructFieldsName<TABI, TStructName>]:
63
+ ConvertStructFieldType<TABITable, ExtractStructFieldMoveType<TABI, TStructName, TField>>
58
64
  };
59
65
 
60
66
  export type ExtractStructRawGenericParamsType<
@@ -67,12 +73,8 @@ export type ExtractStructGenericParamsType<
67
73
  TStructName extends ResourceStructName<T>> =
68
74
  ConvertTypeParams<ExtractStructRawGenericParamsType<T, TStructName>>;
69
75
 
70
- type ExtractStructTypeGlobal<TAddress extends string> =
71
- TAddress extends `${infer TAccountAddress}::${infer TModuleName}::${infer TStructName}${'' | `<${infer _TInnerType}>`}`
72
- ? `${TAccountAddress}::${TModuleName}` extends keyof GlobalABITable ?
73
- OmitInner<TStructName> extends ResourceStructName<GlobalABITable[`${TAccountAddress}::${TModuleName}`]> ?
74
- ExtractStructType<GlobalABITable[`${TAccountAddress}::${TModuleName}`], OmitInner<TStructName>>
75
- // Unknown struct, use the default struct type
76
- : Struct<TAddress> : Struct<TAddress> : Struct<TAddress>;
77
-
78
76
  type OmitInner<T extends string> = T extends `${infer TOuter}<${infer _TInner}>` ? `${TOuter}` : T;
77
+
78
+ export type ABITable = {
79
+ [TAddress in string]: ABIRoot;
80
+ };
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalABI.js","sourceRoot":"","sources":["../../../src/types/globalABI.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=globalABI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalABI.js","sourceRoot":"","sources":["../../../src/types/globalABI.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"globalABI.d.ts","sourceRoot":"","sources":["../../../src/types/globalABI.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG;IACzB,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,mFAAmF,EAAE,OAAO,iBAAiB,CAAC;CACjH,CAAC"}