@thalalabs/surf 1.7.3 → 1.8.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,17 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 1.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 0c730c8: bump aptos ts-sdk
8
+
9
+ ## 1.7.4
10
+
11
+ ### Patch Changes
12
+
13
+ - 598f09f: Remove all leading signer of a entry function
14
+
3
15
  ## 1.7.3
4
16
 
5
17
  ### Patch Changes
@@ -7,9 +7,7 @@ function createEntryPayload(abi, payload) {
7
7
  throw new Error(`Function ${payload.function} not found in ABI`);
8
8
  const typeArguments = payload.typeArguments;
9
9
  const valArguments = payload.functionArguments;
10
- const abiArgs = fnAbi.params[0] === '&signer'
11
- ? fnAbi.params.slice(1)
12
- : fnAbi.params;
10
+ const abiArgs = fnAbi.params.slice(fnAbi.params.findIndex((param) => param !== '&signer'));
13
11
  if (fnAbi === undefined)
14
12
  throw new Error(`Function ${payload.function} not found in ABI`);
15
13
  if (abiArgs.length !== valArguments.length)
@@ -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,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,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,GAAI,KAAK,CAAC,MAAmB,CAAC,KAAK,CAC9C,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACvD,CAAC;IAGF,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;AAtCD,gDAsCC"}
@@ -4,9 +4,7 @@ export function createEntryPayload(abi, payload) {
4
4
  throw new Error(`Function ${payload.function} not found in ABI`);
5
5
  const typeArguments = payload.typeArguments;
6
6
  const valArguments = payload.functionArguments;
7
- const abiArgs = fnAbi.params[0] === '&signer'
8
- ? fnAbi.params.slice(1)
9
- : fnAbi.params;
7
+ const abiArgs = fnAbi.params.slice(fnAbi.params.findIndex((param) => param !== '&signer'));
10
8
  if (fnAbi === undefined)
11
9
  throw new Error(`Function ${payload.function} not found in ABI`);
12
10
  if (abiArgs.length !== valArguments.length)
@@ -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,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;KAChF,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,GAAI,KAAK,CAAC,MAAmB,CAAC,KAAK,CAC9C,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACvD,CAAC;IAGF,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createEntryPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,EACtC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,CAoClE"}
1
+ {"version":3,"file":"createEntryPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,EACtC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,CAmClE"}
@@ -2,7 +2,7 @@ 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',
5
- ...infer Rest
6
- ] ? Rest : T;
5
+ ...infer Rest extends readonly string[]
6
+ ] ? OmitSigner<Rest> : T;
7
7
  export type OmitInner<T extends string> = T extends `${infer TOuter}<${infer _TInner}>` ? `${TOuter}` : T;
8
8
  //# sourceMappingURL=common.d.ts.map
@@ -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,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"}
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,SAAS,SAAS,MAAM,EAAE;CACxC,GACG,UAAU,CAAC,IAAI,CAAC,GAChB,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "1.7.3",
3
+ "version": "1.8.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.26.0",
37
- "@aptos-labs/wallet-adapter-react": "^3.5.9",
36
+ "@aptos-labs/ts-sdk": "^1.35.0",
37
+ "@aptos-labs/wallet-adapter-react": "^3.7.11",
38
38
  "@changesets/cli": "^2.26.1",
39
39
  "@types/jest": "~29.5",
40
40
  "@types/node": "~18",
@@ -56,8 +56,8 @@
56
56
  "typescript": "~5.1"
57
57
  },
58
58
  "peerDependencies": {
59
- "@aptos-labs/ts-sdk": "^1.26.0",
60
- "@aptos-labs/wallet-adapter-react": "^3.5.9",
59
+ "@aptos-labs/ts-sdk": "^1.35.0",
60
+ "@aptos-labs/wallet-adapter-react": "^3.7.11",
61
61
  "react": "^18.2.0"
62
62
  },
63
63
  "peerDependenciesMeta": {
@@ -200,6 +200,20 @@ describe('createEntryPayload', () => {
200
200
  typeArguments: [],
201
201
  });
202
202
  });
203
+
204
+ it('signer', async () => {
205
+ createEntryPayload(TEST_ABI, {
206
+ function: 'signer_as_input',
207
+ functionArguments: [true],
208
+ typeArguments: [],
209
+ });
210
+
211
+ createEntryPayload(TEST_ABI, {
212
+ function: 'two_signer_as_input',
213
+ functionArguments: [true],
214
+ typeArguments: [],
215
+ });
216
+ });
203
217
  });
204
218
 
205
219
  const TEST_ABI = {
@@ -216,6 +230,24 @@ const TEST_ABI = {
216
230
  params: ['address', 'address'],
217
231
  return: [],
218
232
  },
233
+ {
234
+ name: 'signer_as_input',
235
+ visibility: 'public',
236
+ is_entry: true,
237
+ is_view: false,
238
+ generic_type_params: [],
239
+ params: ['&signer', 'bool'],
240
+ return: [],
241
+ },
242
+ {
243
+ name: 'two_signer_as_input',
244
+ visibility: 'public',
245
+ is_entry: true,
246
+ is_view: false,
247
+ generic_type_params: [],
248
+ params: ['&signer', '&signer', 'bool'],
249
+ return: [],
250
+ },
219
251
  {
220
252
  name: 'bool_as_input',
221
253
  visibility: 'public',
@@ -41,10 +41,9 @@ export function createEntryPayload<
41
41
 
42
42
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
43
  const valArguments: any[] = payload.functionArguments as any[];
44
- const abiArgs =
45
- fnAbi.params[0] === '&signer'
46
- ? (fnAbi.params as string[]).slice(1)
47
- : (fnAbi.params as string[]);
44
+ const abiArgs = (fnAbi.params as string[]).slice(
45
+ fnAbi.params.findIndex((param) => param !== '&signer'),
46
+ );
48
47
 
49
48
  // Validations
50
49
  if (fnAbi === undefined)
@@ -6,9 +6,9 @@ export type AnyNumber = number | bigint | string;
6
6
  // need to care about those args. `signer` and `&signer` are required be in the front of the argument list.
7
7
  export type OmitSigner<T extends readonly string[]> = T extends readonly [
8
8
  '&signer' | 'signer',
9
- ...infer Rest,
9
+ ...infer Rest extends readonly string[],
10
10
  ]
11
- ? Rest
11
+ ? OmitSigner<Rest>
12
12
  : T;
13
13
 
14
14
  // Remove the inner type of a string.