@thalalabs/surf 0.0.10 → 0.0.11
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 +6 -0
- package/build/cjs/core/createEntryPayload.js +10 -4
- package/build/cjs/core/createEntryPayload.js.map +1 -1
- package/build/esm/core/createEntryPayload.js +10 -4
- package/build/esm/core/createEntryPayload.js.map +1 -1
- package/build/types/types/common.d.ts +3 -2
- package/build/types/types/common.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/core/__tests__/createEntryPayload.test.ts +19 -0
- package/src/core/createEntryPayload.ts +11 -4
- package/src/types/common.ts +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -35,10 +35,10 @@ function createEntryPayload(abi, payload) {
|
|
|
35
35
|
}
|
|
36
36
|
exports.createEntryPayload = createEntryPayload;
|
|
37
37
|
function argToBCS(type, arg, serializer) {
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
if (
|
|
41
|
-
const innerType =
|
|
38
|
+
const vectorRegex = /vector<([^]+)>/;
|
|
39
|
+
const vectorMatch = type.match(vectorRegex);
|
|
40
|
+
if (vectorMatch) {
|
|
41
|
+
const innerType = vectorMatch[1];
|
|
42
42
|
if (innerType === 'u8') {
|
|
43
43
|
if (arg instanceof Uint8Array) {
|
|
44
44
|
serializer.serializeBytes(arg);
|
|
@@ -56,6 +56,12 @@ function argToBCS(type, arg, serializer) {
|
|
|
56
56
|
arg.forEach((arg) => argToBCS(innerType, arg, serializer));
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
+
const objectRegex = /0x1::object::Object<([^]+)>/;
|
|
60
|
+
const objectMatch = type.match(objectRegex);
|
|
61
|
+
if (objectMatch) {
|
|
62
|
+
aptos_1.TxnBuilderTypes.AccountAddress.fromHex(arg).serialize(serializer);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
59
65
|
switch (type) {
|
|
60
66
|
case 'bool':
|
|
61
67
|
serializer.serializeBool((0, ensureTypes_js_1.ensureBoolean)(arg));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;AAAA,iCAA4D;AAC5D,sDAA8E;AAwB9E,SAAgB,kBAAkB,CAI9B,GAAM,EACN,OAA0C;IAG1C,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;IACjF,MAAM,aAAa,GAAa,OAAO,CAAC,cAAuB,CAAC;IAChE,MAAM,YAAY,GAAU,OAAO,CAAC,SAAkB,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QACzC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,MAAkB,CAAC;IAG/B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,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;IACpL,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,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;IAG9N,OAAO;QACH,UAAU,EAAE;YACR,GAAG,OAAO;YACV,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;SACxD;QACR,YAAY,EAAE,uBAAe,CAAC,aAAa,CAAC,OAAO,CAC/C,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,EAAE,EAC7B,OAAO,CAAC,QAAQ,EAChB,aAAa;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAQT,MAAM,aAAa,GAAG,IAAI,qBAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAmC,CAAC;YAG7F,OAAO,IAAI,uBAAe,CAAC,aAAa,CAAC,IAAI,uBAAe,CAAC,SAAS,CAClE,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,aAAa,CAAC,KAAK,CAAC,WAAW,EAC/B,aAAa,CAAC,KAAK,CAAC,IAAI,EACxB,aAAa,CAAC,KAAK,CAAC,SAAS,CAChC,CAAC,CAAC;QACP,CAAC,CAAC,EACN,YAAY,CAAC,GAAG,CACZ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,WAAG,CAAC,UAAU,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YAChC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CACJ,CACJ;KACJ,CAAC;AACN,CAAC;AA1DD,gDA0DC;AAGD,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAQ,EAAE,UAA0B;IAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,10 +31,10 @@ export function createEntryPayload(abi, payload) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
function argToBCS(type, arg, serializer) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
const innerType =
|
|
34
|
+
const vectorRegex = /vector<([^]+)>/;
|
|
35
|
+
const vectorMatch = type.match(vectorRegex);
|
|
36
|
+
if (vectorMatch) {
|
|
37
|
+
const innerType = vectorMatch[1];
|
|
38
38
|
if (innerType === 'u8') {
|
|
39
39
|
if (arg instanceof Uint8Array) {
|
|
40
40
|
serializer.serializeBytes(arg);
|
|
@@ -52,6 +52,12 @@ function argToBCS(type, arg, serializer) {
|
|
|
52
52
|
arg.forEach((arg) => argToBCS(innerType, arg, serializer));
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
+
const objectRegex = /0x1::object::Object<([^]+)>/;
|
|
56
|
+
const objectMatch = type.match(objectRegex);
|
|
57
|
+
if (objectMatch) {
|
|
58
|
+
TxnBuilderTypes.AccountAddress.fromHex(arg).serialize(serializer);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
55
61
|
switch (type) {
|
|
56
62
|
case 'bool':
|
|
57
63
|
serializer.serializeBool(ensureBoolean(arg));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwB9E,MAAM,UAAU,kBAAkB,CAI9B,GAAM,EACN,OAA0C;IAG1C,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC;IACjF,MAAM,aAAa,GAAa,OAAO,CAAC,cAAuB,CAAC;IAChE,MAAM,YAAY,GAAU,OAAO,CAAC,SAAkB,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS;QACzC,CAAC,CAAE,KAAK,CAAC,MAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,MAAkB,CAAC;IAG/B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,QAAQ,mBAAmB,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,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;IACpL,IAAI,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,aAAa,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;IAG9N,OAAO;QACH,UAAU,EAAE;YACR,GAAG,OAAO;YACV,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,EAAE;SACxD;QACR,YAAY,EAAE,eAAe,CAAC,aAAa,CAAC,OAAO,CAC/C,GAAG,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,IAAI,EAAE,EAC7B,OAAO,CAAC,QAAQ,EAChB,aAAa;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAQT,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAmC,CAAC;YAG7F,OAAO,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,SAAS,CAClE,aAAa,CAAC,KAAK,CAAC,OAAO,EAC3B,aAAa,CAAC,KAAK,CAAC,WAAW,EAC/B,aAAa,CAAC,KAAK,CAAC,IAAI,EACxB,aAAa,CAAC,KAAK,CAAC,SAAS,CAChC,CAAC,CAAC;QACP,CAAC,CAAC,EACN,YAAY,CAAC,GAAG,CACZ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACP,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YAChC,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CACJ,CACJ;KACJ,CAAC;AACN,CAAC;AAGD,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAQ,EAAE,UAA0B;IAEhE,MAAM,
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@ import type { ABIRoot } from "./abi.js";
|
|
|
2
2
|
export type Primitive = 'bool' | 'u8' | 'u16' | 'u32' | 'u64' | 'u128' | 'u256' | 'address' | '0x1::string::String';
|
|
3
3
|
type Vector = `vector<${string}>`;
|
|
4
4
|
type VectorOfVector = `vector<vector<${string}>>`;
|
|
5
|
-
|
|
5
|
+
type MoveObject = `0x1::object::Object<${string}>`;
|
|
6
|
+
export type AllTypes = Primitive | Vector | VectorOfVector | MoveObject;
|
|
6
7
|
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
8
|
type ConvertVectorArgsType<TInner> = TInner extends Primitive ? ConvertPrimitiveArgsType<TInner>[] : (TInner extends `vector<${infer TInnerInner}>` ? (TInnerInner extends Primitive ? ConvertPrimitiveArgsType<TInnerInner>[][] : any[][]) : (object[]));
|
|
8
|
-
export type ConvertArgsType<T extends AllTypes> = T extends Primitive ? ConvertPrimitiveArgsType<T> : T extends `vector<${infer TInner}>` ? ConvertVectorArgsType<TInner> : Struct<T>;
|
|
9
|
+
export type ConvertArgsType<T extends AllTypes> = T extends Primitive ? ConvertPrimitiveArgsType<T> : T extends `vector<${infer TInner}>` ? ConvertVectorArgsType<TInner> : T extends `0x1::object::Object<${string}>` ? `0x${string}` : Struct<T>;
|
|
9
10
|
type Struct<T extends string> = object;
|
|
10
11
|
type AnyNumber = number | bigint | string;
|
|
11
12
|
export type ConvertPrimitiveReturnType<T extends Primitive> = T extends 'bool' ? boolean : T extends 'u8' ? number : T extends 'u16' ? number : T extends 'u32' ? number : T extends 'u64' ? bigint : T extends 'u128' ? bigint : T extends 'u256' ? bigint : T extends 'address' ? `0x${string}` : T extends '0x1::string::String' ? string : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,MAAM,SAAS,GACjB,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAC7B,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GACnC,qBAAqB,CAAC;AAE1B,KAAK,MAAM,GAAG,UAAU,MAAM,GAAG,CAAC;AAClC,KAAK,cAAc,GAAG,iBAAiB,MAAM,IAAI,CAAC;AAGlD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/types/common.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.
|
|
3
|
+
"version": "0.0.11",
|
|
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",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"@types/jest": "~29.5",
|
|
38
38
|
"@types/node": "~18",
|
|
39
39
|
"@types/react": "^18.2.8",
|
|
40
|
-
"@typescript-eslint/eslint-plugin": "~5.
|
|
41
|
-
"@typescript-eslint/parser": "~5.
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "~5.61",
|
|
41
|
+
"@typescript-eslint/parser": "~5.61",
|
|
42
42
|
"aptos": "^1.9.0",
|
|
43
43
|
"eslint": "~8.44",
|
|
44
44
|
"eslint-config-prettier": "~8.8",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"ts-api-utils": "~0.0.44",
|
|
51
51
|
"ts-jest": "~29.1",
|
|
52
52
|
"tslib": "~2.5",
|
|
53
|
-
"typescript": "~5.
|
|
53
|
+
"typescript": "~5.1"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"@aptos-labs/wallet-adapter-react": "^1.0.0",
|
|
@@ -182,6 +182,14 @@ describe('createEntryPayload', () => {
|
|
|
182
182
|
});
|
|
183
183
|
}
|
|
184
184
|
});
|
|
185
|
+
|
|
186
|
+
it('0x1::object::Object', async () => {
|
|
187
|
+
createEntryPayload(TEST_ABI, {
|
|
188
|
+
function: 'object_as_input',
|
|
189
|
+
arguments: ["0x123456"],
|
|
190
|
+
type_arguments: [],
|
|
191
|
+
});
|
|
192
|
+
});
|
|
185
193
|
});
|
|
186
194
|
|
|
187
195
|
const TEST_ABI = {
|
|
@@ -256,6 +264,17 @@ const TEST_ABI = {
|
|
|
256
264
|
],
|
|
257
265
|
"return": []
|
|
258
266
|
},
|
|
267
|
+
{
|
|
268
|
+
"name": "object_as_input",
|
|
269
|
+
"visibility": "public",
|
|
270
|
+
"is_entry": true,
|
|
271
|
+
"is_view": false,
|
|
272
|
+
"generic_type_params": [],
|
|
273
|
+
"params": [
|
|
274
|
+
"0x1::object::Object<0xb8a4015d231899eaf1de8eb6dc6547f296f215b7ca46ea01b22b3d1ba24b6eb1::overflow::Overflow<T0, T1>>",
|
|
275
|
+
],
|
|
276
|
+
"return": []
|
|
277
|
+
},
|
|
259
278
|
],
|
|
260
279
|
|
|
261
280
|
"structs": []
|
|
@@ -86,10 +86,10 @@ export function createEntryPayload<
|
|
|
86
86
|
|
|
87
87
|
function argToBCS(type: string, arg: any, serializer: BCS.Serializer) {
|
|
88
88
|
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
if (
|
|
92
|
-
const innerType =
|
|
89
|
+
const vectorRegex = /vector<([^]+)>/;
|
|
90
|
+
const vectorMatch = type.match(vectorRegex);
|
|
91
|
+
if (vectorMatch) { // It's vector
|
|
92
|
+
const innerType = vectorMatch[1]!;
|
|
93
93
|
if (innerType === 'u8') {
|
|
94
94
|
if (arg instanceof Uint8Array) { // TODO: add type support for Uint8Array
|
|
95
95
|
serializer.serializeBytes(arg);
|
|
@@ -112,6 +112,13 @@ function argToBCS(type: string, arg: any, serializer: BCS.Serializer) {
|
|
|
112
112
|
return;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
const objectRegex = /0x1::object::Object<([^]+)>/;
|
|
116
|
+
const objectMatch = type.match(objectRegex);
|
|
117
|
+
if (objectMatch) { // It's 0x1::object::Object
|
|
118
|
+
TxnBuilderTypes.AccountAddress.fromHex(arg as string).serialize(serializer);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
|
|
115
122
|
switch (type) { // It's primitive
|
|
116
123
|
case 'bool':
|
|
117
124
|
serializer.serializeBool(ensureBoolean(arg));
|
package/src/types/common.ts
CHANGED
|
@@ -8,9 +8,10 @@ export type Primitive =
|
|
|
8
8
|
|
|
9
9
|
type Vector = `vector<${string}>`;
|
|
10
10
|
type VectorOfVector = `vector<vector<${string}>>`;
|
|
11
|
+
type MoveObject = `0x1::object::Object<${string}>`
|
|
11
12
|
|
|
12
13
|
// TODO: support vector<vector<vector>>
|
|
13
|
-
export type AllTypes = Primitive | Vector | VectorOfVector;
|
|
14
|
+
export type AllTypes = Primitive | Vector | VectorOfVector | MoveObject;
|
|
14
15
|
type ConvertPrimitiveArgsType<T extends Primitive> =
|
|
15
16
|
T extends 'bool' ? boolean :
|
|
16
17
|
T extends 'u8' ? number :
|
|
@@ -35,6 +36,7 @@ type ConvertVectorArgsType<TInner> = TInner extends Primitive ? ConvertPrimitive
|
|
|
35
36
|
export type ConvertArgsType<T extends AllTypes> =
|
|
36
37
|
T extends Primitive ? ConvertPrimitiveArgsType<T> :
|
|
37
38
|
T extends `vector<${infer TInner}>` ? ConvertVectorArgsType<TInner> :
|
|
39
|
+
T extends `0x1::object::Object<${string}>` ? `0x${string}` :
|
|
38
40
|
Struct<T>;
|
|
39
41
|
|
|
40
42
|
//@ts-ignore TODO: remove this ignore
|