@thalalabs/surf 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 1.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8fad9b9: add "private" in ABI visibility field
8
+ - 8fad9b9: Fix Aptos Move optional type
9
+
10
+ ## 1.6.1
11
+
12
+ ### Patch Changes
13
+
14
+ - a6e1081: upgrade Aptos libraries
15
+
3
16
  ## 1.6.0
4
17
 
5
18
  ### Minor Changes
@@ -10,7 +10,7 @@ export interface ABIRoot {
10
10
  }
11
11
  export interface ABIFunction {
12
12
  name: string;
13
- visibility: 'friend' | 'public';
13
+ visibility: 'friend' | 'public' | 'private';
14
14
  is_entry: boolean;
15
15
  is_view: boolean;
16
16
  generic_type_params: readonly ABIFunctionGenericTypeParam[];
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../src/types/abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC5D,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAE1C,WAAW,EAAE,SAAS,GAAG,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC5D,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../../src/types/abi.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC5D,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAE1C,WAAW,EAAE,SAAS,GAAG,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,mBAAmB,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC5D,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -16,6 +16,6 @@ export type ConvertArgs<T extends readonly string[]> = T extends readonly [
16
16
  */
17
17
  type ConvertArgType<TMoveType extends string> = TMoveType extends MoveNonStructTypes ? ConvertNonStructArgType<TMoveType> : UnknownStruct<TMoveType>;
18
18
  type ConvertPrimitiveArgType<TMoveType extends MovePrimitive> = TMoveType extends 'bool' ? boolean : TMoveType extends 'u8' ? number : TMoveType extends 'u16' ? number : TMoveType extends 'u32' ? number : TMoveType extends 'u64' ? AnyNumber : TMoveType extends 'u128' ? AnyNumber : TMoveType extends 'u256' ? AnyNumber : TMoveType extends 'address' ? `0x${string}` : TMoveType extends '0x1::string::String' ? string : never;
19
- type ConvertNonStructArgType<TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveArgType<TMoveType> : TMoveType extends `vector<u8>` ? string | number[] | Uint8Array : TMoveType extends `vector<${infer TInner}>` ? ConvertArgType<TInner>[] : TMoveType extends `0x1::object::Object<${string}>` ? `0x${string}` : TMoveType extends `0x1::option::Option<${infer TInner}>` ? ConvertArgType<TInner> | null : UnknownStruct<TMoveType>;
19
+ type ConvertNonStructArgType<TMoveType extends MoveNonStructTypes> = TMoveType extends MovePrimitive ? ConvertPrimitiveArgType<TMoveType> : TMoveType extends `vector<u8>` ? string | number[] | Uint8Array : TMoveType extends `vector<${infer TInner}>` ? ConvertArgType<TInner>[] : TMoveType extends `0x1::object::Object<${string}>` ? `0x${string}` : TMoveType extends `0x1::option::Option<${infer TInner}>` ? ConvertArgType<TInner> | undefined : UnknownStruct<TMoveType>;
20
20
  export {};
21
21
  //# sourceMappingURL=argsConvertor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"argsConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/argsConvertor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,SAAS;IACxE,MAAM,IAAI,SAAS,MAAM;IACzB,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE;CAChC,GACG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GAC7C,EAAE,CAAC;AAEP;;GAEG;AACH,KAAK,cAAc,CAAC,SAAS,SAAS,MAAM,IAC1C,SAAS,SAAS,kBAAkB,GAEhC,uBAAuB,CAAC,SAAS,CAAC,GAElC,aAAa,CAAC,SAAS,CAAC,CAAC;AAE/B,KAAK,uBAAuB,CAAC,SAAS,SAAS,aAAa,IAC1D,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,SAAS,GACT,SAAS,SAAS,MAAM,GACxB,SAAS,GACT,SAAS,SAAS,MAAM,GACxB,SAAS,GACT,SAAS,SAAS,SAAS,GAC3B,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,qBAAqB,GACvC,MAAM,GACN,KAAK,CAAC;AAEZ,KAAK,uBAAuB,CAAC,SAAS,SAAS,kBAAkB,IAC/D,SAAS,SAAS,aAAa,GAC3B,uBAAuB,CAAC,SAAS,CAAC,GAClC,SAAS,SAAS,YAAY,GAC9B,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAC9B,SAAS,SAAS,UAAU,MAAM,MAAM,GAAG,GAC3C,cAAc,CAAC,MAAM,CAAC,EAAE,GACxB,SAAS,SAAS,uBAAuB,MAAM,GAAG,GAClD,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACxD,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,GAC7B,aAAa,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"argsConvertor.d.ts","sourceRoot":"","sources":["../../../../src/types/convertor/argsConvertor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI,CAAC,SAAS,SAAS;IACxE,MAAM,IAAI,SAAS,MAAM;IACzB,GAAG,MAAM,KAAK,SAAS,MAAM,EAAE;CAChC,GACG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,GAC7C,EAAE,CAAC;AAEP;;GAEG;AACH,KAAK,cAAc,CAAC,SAAS,SAAS,MAAM,IAC1C,SAAS,SAAS,kBAAkB,GAEhC,uBAAuB,CAAC,SAAS,CAAC,GAElC,aAAa,CAAC,SAAS,CAAC,CAAC;AAE/B,KAAK,uBAAuB,CAAC,SAAS,SAAS,aAAa,IAC1D,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,SAAS,GACT,SAAS,SAAS,MAAM,GACtB,SAAS,GACT,SAAS,SAAS,MAAM,GACtB,SAAS,GACT,SAAS,SAAS,SAAS,GACzB,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,qBAAqB,GACrC,MAAM,GACN,KAAK,CAAC;AAE5B,KAAK,uBAAuB,CAAC,SAAS,SAAS,kBAAkB,IAC/D,SAAS,SAAS,aAAa,GAC3B,uBAAuB,CAAC,SAAS,CAAC,GAClC,SAAS,SAAS,YAAY,GAC5B,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,GAC9B,SAAS,SAAS,UAAU,MAAM,MAAM,GAAG,GACzC,cAAc,CAAC,MAAM,CAAC,EAAE,GACxB,SAAS,SAAS,uBAAuB,MAAM,GAAG,GAChD,KAAK,MAAM,EAAE,GACb,SAAS,SAAS,uBAAuB,MAAM,MAAM,GAAG,GACtD,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,GAClC,aAAa,CAAC,SAAS,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "TypeScript Interfaces & React Hooks for interacting with Aptos Smart Contracts with type safety.",
5
5
  "main": "./build/cjs/index.js",
6
6
  "module": "./build/esm/index.js",
@@ -33,8 +33,8 @@
33
33
  }
34
34
  },
35
35
  "devDependencies": {
36
- "@aptos-labs/ts-sdk": "^1.16.0",
37
- "@aptos-labs/wallet-adapter-react": "^2.2.0",
36
+ "@aptos-labs/ts-sdk": "^1.22.0",
37
+ "@aptos-labs/wallet-adapter-react": "^3.4.2",
38
38
  "@changesets/cli": "^2.26.1",
39
39
  "@types/jest": "~29.5",
40
40
  "@types/node": "~18",
@@ -43,11 +43,11 @@
43
43
  "@typescript-eslint/parser": "~5.62",
44
44
  "eslint": "~8.57",
45
45
  "eslint-config-prettier": "~9.1",
46
- "eslint-plugin-jest": "~27.6",
46
+ "eslint-plugin-jest": "~28.6",
47
47
  "husky": "^9.0.11",
48
48
  "jest": "~29.7",
49
49
  "lint-staged": "^15.2.5",
50
- "prettier": "~3.1",
50
+ "prettier": "~3.3",
51
51
  "react": "^18.2.0",
52
52
  "rimraf": "~5.0",
53
53
  "ts-api-utils": "~0.0.44",
@@ -56,8 +56,8 @@
56
56
  "typescript": "~5.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@aptos-labs/ts-sdk": "^1.16.0",
60
- "@aptos-labs/wallet-adapter-react": "^2.2.0",
59
+ "@aptos-labs/ts-sdk": "^1.22.0",
60
+ "@aptos-labs/wallet-adapter-react": "^3.4.2",
61
61
  "react": "^18.2.0"
62
62
  },
63
63
  "peerDependenciesMeta": {
@@ -4,50 +4,58 @@
4
4
 
5
5
  import { createSurfClient } from '../Client';
6
6
  import { createEntryPayload } from '../createEntryPayload';
7
- import { Account, Aptos, AptosConfig, Ed25519PrivateKey, Network } from '@aptos-labs/ts-sdk';
7
+ import {
8
+ Account,
9
+ Aptos,
10
+ AptosConfig,
11
+ Ed25519PrivateKey,
12
+ Network,
13
+ } from '@aptos-labs/ts-sdk';
8
14
 
9
15
  describe('option type', () => {
10
16
  const client = createSurfClient(
11
- new Aptos(
12
- new AptosConfig({ network: Network.TESTNET })
13
- )
17
+ new Aptos(new AptosConfig({ network: Network.TESTNET })),
14
18
  );
15
19
 
16
- const account = Account.fromPrivateKey({ privateKey: new Ed25519PrivateKey("0x4b0a52d0b047b6868d9650fdb9b61720e361ba74f40571635fec0694a838eb98") });
20
+ const account = Account.fromPrivateKey({
21
+ privateKey: new Ed25519PrivateKey(
22
+ '0x4b0a52d0b047b6868d9650fdb9b61720e361ba74f40571635fec0694a838eb98',
23
+ ),
24
+ });
17
25
 
18
26
  // TODO: correctly encode option type for view function
19
- // it('view function some value', async () => {
20
- // const payload = createViewPayload(OPTION_ABI, {
21
- // function: 'test_option_view',
22
- // functionArguments: [{ vec: ['50'] } as any],
23
- // typeArguments: [],
24
- // });
25
- // const result = await client.view({ payload });
26
- // expect(result).toMatchInlineSnapshot(`
27
- // [
28
- // "50",
29
- // ]
30
- // `);
31
- // }, 60000);
27
+ // it('view function some value', async () => {
28
+ // const payload = createViewPayload(OPTION_ABI, {
29
+ // function: 'test_option_view',
30
+ // functionArguments: [{ vec: ['50'] } as any],
31
+ // typeArguments: [],
32
+ // });
33
+ // const result = await client.view({ payload });
34
+ // expect(result).toMatchInlineSnapshot(`
35
+ // [
36
+ // "50",
37
+ // ]
38
+ // `);
39
+ // }, 60000);
32
40
 
33
- // it('view function none value', async () => {
34
- // const payload = createViewPayload(OPTION_ABI, {
35
- // function: 'test_option_view',
36
- // functionArguments: [{ vec: [] } as any],
37
- // typeArguments: [],
38
- // });
39
- // const result = await client.view({ payload });
40
- // expect(result).toMatchInlineSnapshot(`
41
- // [
42
- // "0",
43
- // ]
44
- // `);
45
- // }, 60000);
41
+ // it('view function none value', async () => {
42
+ // const payload = createViewPayload(OPTION_ABI, {
43
+ // function: 'test_option_view',
44
+ // functionArguments: [{ vec: [] } as any],
45
+ // typeArguments: [],
46
+ // });
47
+ // const result = await client.view({ payload });
48
+ // expect(result).toMatchInlineSnapshot(`
49
+ // [
50
+ // "0",
51
+ // ]
52
+ // `);
53
+ // }, 60000);
46
54
 
47
55
  it('entry function none value', async () => {
48
56
  const payload = createEntryPayload(OPTION_ABI, {
49
57
  function: 'test_option_entry',
50
- functionArguments: [null],
58
+ functionArguments: [undefined],
51
59
  typeArguments: [],
52
60
  });
53
61
 
@@ -55,7 +63,7 @@ describe('option type', () => {
55
63
  publicKey: account.publicKey,
56
64
  sender: account.accountAddress.toString(),
57
65
  payload,
58
- })
66
+ });
59
67
 
60
68
  expect(result?.hash).toBeDefined();
61
69
  expect((result as any).payload).toMatchInlineSnapshot(`
@@ -83,7 +91,7 @@ describe('option type', () => {
83
91
  publicKey: account.publicKey,
84
92
  sender: account.accountAddress.toString(),
85
93
  payload,
86
- })
94
+ });
87
95
 
88
96
  expect(result?.hash).toBeDefined();
89
97
  expect((result as any).payload).toMatchInlineSnapshot(`
@@ -111,7 +111,7 @@ describe('useABI', () => {
111
111
  account,
112
112
  isSimulation: true,
113
113
  });
114
-
114
+
115
115
  expect(result?.hash).toBeDefined();
116
116
  expect((result as any).payload).toMatchInlineSnapshot(`
117
117
  {
@@ -143,6 +143,15 @@ const TEST_ABI = {
143
143
  params: ['address', 'address'],
144
144
  return: [],
145
145
  },
146
+ {
147
+ name: 'pick_a_random_number',
148
+ visibility: 'private',
149
+ is_entry: true,
150
+ is_view: false,
151
+ generic_type_params: [],
152
+ params: [],
153
+ return: [],
154
+ }
146
155
  ],
147
156
  structs: [],
148
157
  } as const;
package/src/types/abi.ts CHANGED
@@ -12,7 +12,7 @@ export interface ABIRoot {
12
12
 
13
13
  export interface ABIFunction {
14
14
  name: string;
15
- visibility: 'friend' | 'public';
15
+ visibility: 'friend' | 'public' | 'private';
16
16
  is_entry: boolean;
17
17
  is_view: boolean;
18
18
  generic_type_params: readonly ABIFunctionGenericTypeParam[];
@@ -30,32 +30,32 @@ type ConvertPrimitiveArgType<TMoveType extends MovePrimitive> =
30
30
  TMoveType extends 'bool'
31
31
  ? boolean
32
32
  : TMoveType extends 'u8'
33
- ? number
34
- : TMoveType extends 'u16'
35
- ? number
36
- : TMoveType extends 'u32'
37
- ? number
38
- : TMoveType extends 'u64'
39
- ? AnyNumber
40
- : TMoveType extends 'u128'
41
- ? AnyNumber
42
- : TMoveType extends 'u256'
43
- ? AnyNumber
44
- : TMoveType extends 'address'
45
- ? `0x${string}`
46
- : TMoveType extends '0x1::string::String'
47
- ? string
48
- : never;
33
+ ? number
34
+ : TMoveType extends 'u16'
35
+ ? number
36
+ : TMoveType extends 'u32'
37
+ ? number
38
+ : TMoveType extends 'u64'
39
+ ? AnyNumber
40
+ : TMoveType extends 'u128'
41
+ ? AnyNumber
42
+ : TMoveType extends 'u256'
43
+ ? AnyNumber
44
+ : TMoveType extends 'address'
45
+ ? `0x${string}`
46
+ : TMoveType extends '0x1::string::String'
47
+ ? string
48
+ : never;
49
49
 
50
50
  type ConvertNonStructArgType<TMoveType extends MoveNonStructTypes> =
51
51
  TMoveType extends MovePrimitive
52
52
  ? ConvertPrimitiveArgType<TMoveType>
53
53
  : TMoveType extends `vector<u8>`
54
- ? string | number[] | Uint8Array
55
- : TMoveType extends `vector<${infer TInner}>`
56
- ? ConvertArgType<TInner>[]
57
- : TMoveType extends `0x1::object::Object<${string}>`
58
- ? `0x${string}`
59
- : TMoveType extends `0x1::option::Option<${infer TInner}>`
60
- ? ConvertArgType<TInner> | null
61
- : UnknownStruct<TMoveType>;
54
+ ? string | number[] | Uint8Array
55
+ : TMoveType extends `vector<${infer TInner}>`
56
+ ? ConvertArgType<TInner>[]
57
+ : TMoveType extends `0x1::object::Object<${string}>`
58
+ ? `0x${string}`
59
+ : TMoveType extends `0x1::option::Option<${infer TInner}>`
60
+ ? ConvertArgType<TInner> | undefined
61
+ : UnknownStruct<TMoveType>;