@thalalabs/surf 0.0.4 → 0.0.5

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,11 @@
1
1
  # @thalalabs/surf
2
2
 
3
+ ## 0.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - ab1d8a5: fix a problem when decode vector\<u64\>, vector\<u128\>, vector\<u256\>
8
+
3
9
  ## 0.0.4
4
10
 
5
11
  ### Patch Changes
@@ -32,6 +32,9 @@ function createViewPayload(abi, payload) {
32
32
  if (['u64', 'u128', 'u256'].includes(type)) {
33
33
  return decodeBigint;
34
34
  }
35
+ else if (type.includes("vector")) {
36
+ return (value) => decodeVector(type, value);
37
+ }
35
38
  else {
36
39
  return null;
37
40
  }
@@ -49,6 +52,23 @@ exports.createViewPayload = createViewPayload;
49
52
  function decodeBigint(value) {
50
53
  return BigInt(value);
51
54
  }
55
+ function decodeVector(type, value) {
56
+ const regex = /vector<([^]+)>/;
57
+ const match = type.match(regex);
58
+ if (!match) {
59
+ throw new Error(`Unsupported type: ${type}`);
60
+ }
61
+ const innerType = match[1];
62
+ if (["address", "bool", "u8", "u16", "u32"].includes(innerType)) {
63
+ return value;
64
+ }
65
+ else if (["u64", "u128", "u256"].includes(innerType)) {
66
+ return value.map((v) => BigInt(v));
67
+ }
68
+ else {
69
+ return value;
70
+ }
71
+ }
52
72
  function encodeVector(type, value) {
53
73
  const regex = /vector<([^]+)>/;
54
74
  const match = type.match(regex);
@@ -64,15 +84,12 @@ function encodeVector(type, value) {
64
84
  return result;
65
85
  }))).hexString;
66
86
  }
67
- else if (["u16", "u32"].includes(innerType)) {
87
+ else if (["bool", "u16", "u32"].includes(innerType)) {
68
88
  return value;
69
89
  }
70
90
  else if (["u64", "u128", "u256"].includes(innerType)) {
71
91
  return value.map((v) => v.toString());
72
92
  }
73
- else if (innerType === "bool") {
74
- return value;
75
- }
76
93
  else {
77
94
  return value;
78
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,9 @@ export function createViewPayload(abi, payload) {
29
29
  if (['u64', 'u128', 'u256'].includes(type)) {
30
30
  return decodeBigint;
31
31
  }
32
+ else if (type.includes("vector")) {
33
+ return (value) => decodeVector(type, value);
34
+ }
32
35
  else {
33
36
  return null;
34
37
  }
@@ -45,6 +48,23 @@ export function createViewPayload(abi, payload) {
45
48
  function decodeBigint(value) {
46
49
  return BigInt(value);
47
50
  }
51
+ function decodeVector(type, value) {
52
+ const regex = /vector<([^]+)>/;
53
+ const match = type.match(regex);
54
+ if (!match) {
55
+ throw new Error(`Unsupported type: ${type}`);
56
+ }
57
+ const innerType = match[1];
58
+ if (["address", "bool", "u8", "u16", "u32"].includes(innerType)) {
59
+ return value;
60
+ }
61
+ else if (["u64", "u128", "u256"].includes(innerType)) {
62
+ return value.map((v) => BigInt(v));
63
+ }
64
+ else {
65
+ return value;
66
+ }
67
+ }
48
68
  function encodeVector(type, value) {
49
69
  const regex = /vector<([^]+)>/;
50
70
  const match = type.match(regex);
@@ -60,15 +80,12 @@ function encodeVector(type, value) {
60
80
  return result;
61
81
  }))).hexString;
62
82
  }
63
- else if (["u16", "u32"].includes(innerType)) {
83
+ else if (["bool", "u16", "u32"].includes(innerType)) {
64
84
  return value;
65
85
  }
66
86
  else if (["u64", "u128", "u256"].includes(innerType)) {
67
87
  return value.map((v) => v.toString());
68
88
  }
69
- else if (innerType === "bool") {
70
- return value;
71
- }
72
89
  else {
73
90
  return value;
74
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD,MAAM,UAAU,iBAAiB,CAI7B,GAAM,EACN,OAAyC;IAGzC,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,cAAc,GAAa,OAAO,CAAC,cAAuB,CAAC;IACjE,MAAM,aAAa,GAAU,OAAO,CAAC,SAAkB,CAAC;IAGxD,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,CAAC,SAAS,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC1L,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,YAAY,KAAK,CAAC,mBAAmB,CAAC,MAAM,wBAAwB,OAAO,CAAC,cAAc,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAG/N,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,YAAY,CAAC,GAAa,CAAC,CAAC;SACtC;aACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC7C,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACzB;aACI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC9B,OAAO,YAAY,CAAC,IAAI,EAAE,GAAY,CAAC,CAAC;SAC3C;aACI;YACD,OAAO,GAAG,CAAC;SACd;IACL,CAAC,CAAC,CAAC;IAGH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,YAAY,CAAC;SACvB;aACI;YACD,OAAO,IAAI,CAAC;SACf;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,WAAW,EAAE;YACT,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;YAC5D,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,OAAO,CAAC,cAA0B;SACrD;QACD,QAAQ;KACX,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAY;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE;QAER,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;KAChD;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IAC5B,IAAI,SAAS,KAAK,IAAI,EAAE;QACpB,OACI,SAAS,CAAC,cAAc,CACpB,IAAI,UAAU,CACV,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG;gBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CACL,CAER,CAAC,SAAS,CAAC;KACf;SAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAE3C,OAAO,KAAK,CAAC;KAChB;SAAM,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAEpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;KACjD;SAAM,IAAI,SAAS,KAAK,MAAM,EAAE;QAE7B,OAAO,KAAK,CAAC;KAChB;SAAM;QAIH,OAAO,KAAK,CAAC;KAChB;AACL,CAAC"}
1
+ {"version":3,"file":"createViewPayload.js","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKlG,wBAAgB,iBAAiB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GAEzC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CA6C/C"}
1
+ {"version":3,"file":"createViewPayload.d.ts","sourceRoot":"","sources":["../../../src/core/createViewPayload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKlG,wBAAgB,iBAAiB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,EAErC,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,GAEzC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAgD/C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
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",
@@ -47,20 +47,6 @@ describe('call view functions', () => {
47
47
  `);
48
48
  }, 60000);
49
49
 
50
- it('vector', async () => {
51
- const viewPayload = createViewPayload(TEST_ABI, {
52
- function: 'test_view_function',
53
- arguments: [[1, 2, 3, 10, 50]],
54
- type_arguments: [],
55
- });
56
- const result = await client.view(viewPayload);
57
- expect(result).toMatchInlineSnapshot(`
58
- [
59
- 66,
60
- ]
61
- `);
62
- }, 60000);
63
-
64
50
  it('struct', async () => {
65
51
  const viewPayload = createViewPayload(TIERED_ORACLE_ABI, {
66
52
  function: 'get_last_price',
@@ -73,73 +59,32 @@ describe('call view functions', () => {
73
59
  const result = await clientMain.view(viewPayload);
74
60
  expect(result.length).toBe(1);
75
61
  expect((result[0] as any).v).toBeDefined();
76
- expect(typeof (result[0] as any).v).toEqual("string");
62
+ expect(typeof (result[0] as any).v).toEqual('string');
77
63
  }, 60000);
78
64
  });
79
65
 
80
- const TEST_ABI = {
81
- address: '0x3d097bb505c9e5d8a96e367f371168240025877f6be8d4a88eacaafb709fe5c9',
82
- name: 'test',
83
- friends: [],
66
+ const TIERED_ORACLE_ABI = {
67
+ address: '0x92e95ed77b5ac815d3fbc2227e76db238339e9ca43ace45031ec2589bea5b8c',
68
+ name: 'tiered_oracle',
69
+ friends: [
70
+ '0x92e95ed77b5ac815d3fbc2227e76db238339e9ca43ace45031ec2589bea5b8c::oracle',
71
+ ],
84
72
  exposed_functions: [
85
73
  {
86
- name: 'test_run_function',
87
- visibility: 'public',
88
- is_entry: true,
89
- is_view: false,
90
- generic_type_params: [],
91
- params: ['&signer', 'vector<u8>'],
92
- return: [],
93
- },
94
- {
95
- name: 'test_view_function',
74
+ name: 'get_last_price',
96
75
  visibility: 'public',
97
76
  is_entry: false,
98
77
  is_view: true,
99
- generic_type_params: [],
100
- params: ['vector<u8>'],
101
- return: ['u8'],
102
- },
103
- ],
104
- structs: [
105
- {
106
- name: 'RunFunctionStruct',
107
- is_native: false,
108
- abilities: ['key'],
109
- generic_type_params: [],
110
- fields: [
78
+ generic_type_params: [
111
79
  {
112
- name: 'sum',
113
- type: 'u8',
80
+ constraints: [],
114
81
  },
115
82
  ],
116
- },
117
- ],
118
- } as const;
119
-
120
- const TIERED_ORACLE_ABI = {
121
- "address": "0x92e95ed77b5ac815d3fbc2227e76db238339e9ca43ace45031ec2589bea5b8c",
122
- "name": "tiered_oracle",
123
- "friends": [
124
- "0x92e95ed77b5ac815d3fbc2227e76db238339e9ca43ace45031ec2589bea5b8c::oracle"
125
- ],
126
- "exposed_functions": [
127
- {
128
- "name": "get_last_price",
129
- "visibility": "public",
130
- "is_entry": false,
131
- "is_view": true,
132
- "generic_type_params": [
133
- {
134
- "constraints": []
135
- }
83
+ params: [],
84
+ return: [
85
+ '0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64',
136
86
  ],
137
- "params": [],
138
- "return": [
139
- "0x4dcae85fc5559071906cd5c76b7420fcbb4b0a92f00ab40ffc394aadbbff5ee9::fixed_point64::FixedPoint64"
140
- ]
141
87
  },
142
-
143
88
  ],
144
- "structs": []
145
- } as const;
89
+ structs: [],
90
+ } as const;
@@ -0,0 +1,223 @@
1
+ /**
2
+ * These test cases depends on network, it call the real contract.
3
+ */
4
+
5
+ import { createClient } from '../Client';
6
+ import { createViewPayload } from '../createViewPayload';
7
+
8
+ // TODO: add vector<address>, vector<struct>
9
+ describe('call view functions for vector type', () => {
10
+ const client = createClient({
11
+ nodeUrl: 'https://fullnode.testnet.aptoslabs.com/v1',
12
+ });
13
+
14
+ // Act before assertions
15
+ beforeAll(async () => {});
16
+
17
+ // Teardown (cleanup) after assertions
18
+ afterAll(() => {});
19
+
20
+ it('vector_bool', async () => {
21
+ const viewPayload = createViewPayload(TEST_ABI, {
22
+ function: 'test_view_function_bool',
23
+ arguments: [[true, false, false, true, true]],
24
+ type_arguments: [],
25
+ });
26
+ const result = await client.view(viewPayload);
27
+ expect(result).toMatchInlineSnapshot(`
28
+ [
29
+ 3,
30
+ ]
31
+ `);
32
+ }, 60000);
33
+
34
+ it('vector_u8', async () => {
35
+ const viewPayload = createViewPayload(TEST_ABI, {
36
+ function: 'test_view_function_u8',
37
+ arguments: [[1, 2, 3, 10, 50]],
38
+ type_arguments: [],
39
+ });
40
+ const result = await client.view(viewPayload);
41
+ expect(result).toMatchInlineSnapshot(`
42
+ [
43
+ 66,
44
+ ]
45
+ `);
46
+ }, 60000);
47
+
48
+ it('vector_u16', async () => {
49
+ const viewPayload = createViewPayload(TEST_ABI, {
50
+ function: 'test_view_function_u16',
51
+ arguments: [[256, 100]],
52
+ type_arguments: [],
53
+ });
54
+ const result = await client.view(viewPayload);
55
+ expect(result).toMatchInlineSnapshot(`
56
+ [
57
+ 356,
58
+ ]
59
+ `);
60
+ }, 60000);
61
+
62
+ it('vector_u32', async () => {
63
+ const viewPayload = createViewPayload(TEST_ABI, {
64
+ function: 'test_view_function_u32',
65
+ arguments: [[70000, 100]],
66
+ type_arguments: [],
67
+ });
68
+ const result = await client.view(viewPayload);
69
+ expect(result).toMatchInlineSnapshot(`
70
+ [
71
+ 70100,
72
+ ]
73
+ `);
74
+ }, 60000);
75
+
76
+ it('vector_u64', async () => {
77
+ const viewPayload = createViewPayload(TEST_ABI, {
78
+ function: 'test_view_function_u64',
79
+ arguments: [[BigInt('4294967296'), 100]],
80
+ type_arguments: [],
81
+ });
82
+ const result = await client.view(viewPayload);
83
+ expect(result).toMatchInlineSnapshot(`
84
+ [
85
+ 4294967396n,
86
+ ]
87
+ `);
88
+ }, 60000);
89
+
90
+ it('vector_u256', async () => {
91
+ const viewPayload = createViewPayload(TEST_ABI, {
92
+ function: 'test_view_function_u256',
93
+ arguments: [[BigInt('4294967296'), 100]],
94
+ type_arguments: [],
95
+ });
96
+ const result = await client.view(viewPayload);
97
+ expect(result).toMatchInlineSnapshot(`
98
+ [
99
+ 4294967396n,
100
+ ]
101
+ `);
102
+ }, 60000);
103
+
104
+ it('return vector', async () => {
105
+ const viewPayload = createViewPayload(TEST_ABI, {
106
+ function: 'test_view_function_u64_return_vector',
107
+ arguments: [[BigInt('4294967296'), 100]],
108
+ type_arguments: [],
109
+ });
110
+ const result = await client.view(viewPayload);
111
+ expect(result).toMatchInlineSnapshot(`
112
+ [
113
+ [
114
+ 4294967296n,
115
+ 100n,
116
+ ],
117
+ ]
118
+ `);
119
+ }, 60000);
120
+ });
121
+
122
+ const TEST_ABI = {
123
+ address: '0xf1ab5cd814ef1480b8c36466310d9c21d7758b54f6121872d1fb43887a40e7d8',
124
+ name: 'test',
125
+ friends: [],
126
+ exposed_functions: [
127
+ {
128
+ name: 'test_run_function',
129
+ visibility: 'public',
130
+ is_entry: true,
131
+ is_view: false,
132
+ generic_type_params: [],
133
+ params: ['&signer', 'vector<u8>'],
134
+ return: [],
135
+ },
136
+ {
137
+ name: 'test_view_function_bool',
138
+ visibility: 'public',
139
+ is_entry: false,
140
+ is_view: true,
141
+ generic_type_params: [],
142
+ params: ['vector<bool>'],
143
+ return: ['u32'],
144
+ },
145
+ {
146
+ name: 'test_view_function_u128',
147
+ visibility: 'public',
148
+ is_entry: false,
149
+ is_view: true,
150
+ generic_type_params: [],
151
+ params: ['vector<u128>'],
152
+ return: ['u128'],
153
+ },
154
+ {
155
+ name: 'test_view_function_u16',
156
+ visibility: 'public',
157
+ is_entry: false,
158
+ is_view: true,
159
+ generic_type_params: [],
160
+ params: ['vector<u16>'],
161
+ return: ['u16'],
162
+ },
163
+ {
164
+ name: 'test_view_function_u256',
165
+ visibility: 'public',
166
+ is_entry: false,
167
+ is_view: true,
168
+ generic_type_params: [],
169
+ params: ['vector<u256>'],
170
+ return: ['u256'],
171
+ },
172
+ {
173
+ name: 'test_view_function_u32',
174
+ visibility: 'public',
175
+ is_entry: false,
176
+ is_view: true,
177
+ generic_type_params: [],
178
+ params: ['vector<u32>'],
179
+ return: ['u32'],
180
+ },
181
+ {
182
+ name: 'test_view_function_u64',
183
+ visibility: 'public',
184
+ is_entry: false,
185
+ is_view: true,
186
+ generic_type_params: [],
187
+ params: ['vector<u64>'],
188
+ return: ['u64'],
189
+ },
190
+ {
191
+ name: 'test_view_function_u64_return_vector',
192
+ visibility: 'public',
193
+ is_entry: false,
194
+ is_view: true,
195
+ generic_type_params: [],
196
+ params: ['vector<u64>'],
197
+ return: ['vector<u64>'],
198
+ },
199
+ {
200
+ name: 'test_view_function_u8',
201
+ visibility: 'public',
202
+ is_entry: false,
203
+ is_view: true,
204
+ generic_type_params: [],
205
+ params: ['vector<u8>'],
206
+ return: ['u8'],
207
+ },
208
+ ],
209
+ structs: [
210
+ {
211
+ name: 'RunFunctionStruct',
212
+ is_native: false,
213
+ abilities: ['key'],
214
+ generic_type_params: [],
215
+ fields: [
216
+ {
217
+ name: 'sum',
218
+ type: 'u8',
219
+ },
220
+ ],
221
+ },
222
+ ],
223
+ } as const;
@@ -44,6 +44,9 @@ export function createViewPayload<
44
44
  if (['u64', 'u128', 'u256'].includes(type)) {
45
45
  return decodeBigint;
46
46
  }
47
+ else if (type.includes("vector")) {
48
+ return (value: any[]) => decodeVector(type, value)
49
+ }
47
50
  else {
48
51
  return null;
49
52
  }
@@ -63,6 +66,27 @@ function decodeBigint(value: string): bigint {
63
66
  return BigInt(value);
64
67
  }
65
68
 
69
+ function decodeVector(type: string, value: any[]) {
70
+ const regex = /vector<([^]+)>/;
71
+ const match = type.match(regex);
72
+ if (!match) {
73
+ // Should never happen
74
+ throw new Error(`Unsupported type: ${type}`);
75
+ }
76
+ const innerType = match[1]!;
77
+
78
+ if(["address", "bool", "u8", "u16", "u32"].includes(innerType)) {
79
+ return value;
80
+ }
81
+ else if (["u64", "u128", "u256"].includes(innerType)) {
82
+ return value.map((v: string) => BigInt(v));
83
+ } else {
84
+ // 1. TODO: Figure out how to decode Struct type
85
+ // 2. TODO: Figure out how to decode Vector of vector, vector of struct
86
+ return value;
87
+ }
88
+ }
89
+
66
90
  function encodeVector(type: string, value: any[]) {
67
91
  const regex = /vector<([^]+)>/;
68
92
  const match = type.match(regex);
@@ -84,15 +108,10 @@ function encodeVector(type: string, value: any[]) {
84
108
  ),
85
109
  ) as any
86
110
  ).hexString;
87
- } else if (["u16", "u32"].includes(innerType)) {
88
- // TODO: Figure out how to encode
111
+ } else if (["bool", "u16", "u32"].includes(innerType)) {
89
112
  return value;
90
113
  } else if (["u64", "u128", "u256"].includes(innerType)) {
91
- // TODO: Figure out how to encode
92
114
  return value.map((v: bigint) => v.toString());
93
- } else if (innerType === "bool") {
94
- // TODO: Figure out how to encode
95
- return value;
96
115
  } else {
97
116
  // 1. Address type no need to encode
98
117
  // 2. TODO: Figure out how to encode Struct type