@thalalabs/surf 2.0.1 → 2.0.3

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
+ ## 2.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Support BCS encoding Initia Move string arguments.
8
+
9
+ ## 2.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 87ea343: use hex address for initia network, instead of init address
14
+
3
15
  ## 2.0.1
4
16
 
5
17
  ### Patch Changes
@@ -6,7 +6,7 @@ const interwovenkit_react_1 = require("@initia/interwovenkit-react");
6
6
  const initia_js_1 = require("@initia/initia.js");
7
7
  const bcs_js_1 = require("../utils/bcs.js");
8
8
  const useInitiaSubmitTransaction = () => {
9
- const { address, requestTxBlock } = (0, interwovenkit_react_1.useInterwovenKit)();
9
+ const { hexAddress: address, requestTxBlock } = (0, interwovenkit_react_1.useInterwovenKit)();
10
10
  const [isIdle, setIsIdle] = (0, react_1.useState)(true);
11
11
  const [isLoading, setIsLoading] = (0, react_1.useState)(false);
12
12
  const [data, setResult] = (0, react_1.useState)();
@@ -1 +1 @@
1
- {"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bcsEncoding = void 0;
4
4
  const initia_js_1 = require("@initia/initia.js");
5
+ function isStringType(typeStr) {
6
+ return typeStr === '0x1::string::String' || typeStr === 'string';
7
+ }
5
8
  function bcsEncoding(arg, typeStr, target = 'base64') {
6
9
  const serializer = target === 'base64' ? 'toBase64' : 'toBytes';
7
10
  if (typeStr === 'address' || typeStr.startsWith('0x1::object::Object')) {
@@ -44,6 +47,11 @@ function bcsEncoding(arg, typeStr, target = 'base64') {
44
47
  .u256()
45
48
  .serialize(arg)[serializer]();
46
49
  }
50
+ else if (isStringType(typeStr)) {
51
+ return initia_js_1.bcs
52
+ .string()
53
+ .serialize(arg)[serializer]();
54
+ }
47
55
  else if (typeStr.startsWith('vector<u8>')) {
48
56
  return initia_js_1.bcs
49
57
  .vector(initia_js_1.bcs.u8())
@@ -51,15 +59,20 @@ function bcsEncoding(arg, typeStr, target = 'base64') {
51
59
  }
52
60
  else if (typeStr.startsWith('vector<')) {
53
61
  const innerTypeMatch = typeStr.match(/vector<([^>]+)>/);
54
- if (!innerTypeMatch) {
62
+ const innerType = innerTypeMatch?.[1];
63
+ if (!innerType) {
55
64
  throw new Error(`Unsupported vector type: ${typeStr}`);
56
65
  }
57
- const innerType = innerTypeMatch[1];
58
66
  if (innerType === 'address') {
59
67
  return initia_js_1.bcs
60
68
  .vector(initia_js_1.bcs.address())
61
69
  .serialize(arg)[serializer]();
62
70
  }
71
+ else if (isStringType(innerType)) {
72
+ return initia_js_1.bcs
73
+ .vector(initia_js_1.bcs.string())
74
+ .serialize(arg)[serializer]();
75
+ }
63
76
  else if (innerType === 'bool') {
64
77
  return initia_js_1.bcs
65
78
  .vector(initia_js_1.bcs.bool())
@@ -1 +1 @@
1
- {"version":3,"file":"bcs.js","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bcs.js","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useInterwovenKit } from '@initia/interwovenkit-react';
3
3
  import { MsgExecute } from '@initia/initia.js';
4
4
  import { bcsEncoding } from '../utils/bcs.js';
5
5
  export const useInitiaSubmitTransaction = () => {
6
- const { address, requestTxBlock } = useInterwovenKit();
6
+ const { hexAddress: address, requestTxBlock } = useInterwovenKit();
7
7
  const [isIdle, setIsIdle] = useState(true);
8
8
  const [isLoading, setIsLoading] = useState(false);
9
9
  const [data, setResult] = useState();
@@ -1 +1 @@
1
- {"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { bcs } from '@initia/initia.js';
2
+ function isStringType(typeStr) {
3
+ return typeStr === '0x1::string::String' || typeStr === 'string';
4
+ }
2
5
  export function bcsEncoding(arg, typeStr, target = 'base64') {
3
6
  const serializer = target === 'base64' ? 'toBase64' : 'toBytes';
4
7
  if (typeStr === 'address' || typeStr.startsWith('0x1::object::Object')) {
@@ -41,6 +44,11 @@ export function bcsEncoding(arg, typeStr, target = 'base64') {
41
44
  .u256()
42
45
  .serialize(arg)[serializer]();
43
46
  }
47
+ else if (isStringType(typeStr)) {
48
+ return bcs
49
+ .string()
50
+ .serialize(arg)[serializer]();
51
+ }
44
52
  else if (typeStr.startsWith('vector<u8>')) {
45
53
  return bcs
46
54
  .vector(bcs.u8())
@@ -48,15 +56,20 @@ export function bcsEncoding(arg, typeStr, target = 'base64') {
48
56
  }
49
57
  else if (typeStr.startsWith('vector<')) {
50
58
  const innerTypeMatch = typeStr.match(/vector<([^>]+)>/);
51
- if (!innerTypeMatch) {
59
+ const innerType = innerTypeMatch?.[1];
60
+ if (!innerType) {
52
61
  throw new Error(`Unsupported vector type: ${typeStr}`);
53
62
  }
54
- const innerType = innerTypeMatch[1];
55
63
  if (innerType === 'address') {
56
64
  return bcs
57
65
  .vector(bcs.address())
58
66
  .serialize(arg)[serializer]();
59
67
  }
68
+ else if (isStringType(innerType)) {
69
+ return bcs
70
+ .vector(bcs.string())
71
+ .serialize(arg)[serializer]();
72
+ }
60
73
  else if (innerType === 'bool') {
61
74
  return bcs
62
75
  .vector(bcs.bool())
@@ -1 +1 @@
1
- {"version":3,"file":"bcs.js","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bcs.js","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@
5
5
  * @param typeStr The type of the argument as a string
6
6
  * @returns Base64 encoded BCS serialized value
7
7
  */
8
- export declare function bcsEncoding(arg: any, typeStr: string, target?: 'base64' | 'bytes'): string;
8
+ export declare function bcsEncoding(arg: unknown, typeStr: string, target?: 'base64' | 'bytes'): string;
9
9
  //# sourceMappingURL=bcs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bcs.d.ts","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,QAAQ,GAAG,OAAkB,GACpC,MAAM,CA0FR"}
1
+ {"version":3,"file":"bcs.d.ts","sourceRoot":"","sources":["../../../src/utils/bcs.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,QAAQ,GAAG,OAAkB,GACpC,MAAM,CAoGR"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thalalabs/surf",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
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",
@@ -5,7 +5,7 @@ import { MsgExecute } from '@initia/initia.js';
5
5
  import { bcsEncoding } from '../utils/bcs.js';
6
6
 
7
7
  export const useInitiaSubmitTransaction = () => {
8
- const { address, requestTxBlock } = useInterwovenKit();
8
+ const { hexAddress: address, requestTxBlock } = useInterwovenKit();
9
9
 
10
10
  const [isIdle, setIsIdle] = useState(true);
11
11
  const [isLoading, setIsLoading] = useState(false);
@@ -0,0 +1,21 @@
1
+ import { bcs } from '@initia/initia.js';
2
+
3
+ import { bcsEncoding } from '../bcs.js';
4
+
5
+ describe('bcsEncoding', () => {
6
+ it('encodes Move string arguments', () => {
7
+ expect(bcsEncoding('Initia USD', '0x1::string::String')).toEqual(
8
+ bcs.string().serialize('Initia USD').toBase64(),
9
+ );
10
+ });
11
+
12
+ it('encodes vector<0x1::string::String> arguments', () => {
13
+ const farmingIds = [
14
+ '@0x83a760b720dfe9008015ed2c9cf664f353f441a3fe7b20141876721115faf934201',
15
+ ];
16
+
17
+ expect(bcsEncoding(farmingIds, 'vector<0x1::string::String>')).toEqual(
18
+ bcs.vector(bcs.string()).serialize(farmingIds).toBase64(),
19
+ );
20
+ });
21
+ });
package/src/utils/bcs.ts CHANGED
@@ -1,5 +1,9 @@
1
1
  import { bcs } from '@initia/initia.js';
2
2
 
3
+ function isStringType(typeStr: string): boolean {
4
+ return typeStr === '0x1::string::String' || typeStr === 'string';
5
+ }
6
+
3
7
  /**
4
8
  * Helper function to encode arguments using BCS based on their type
5
9
  *
@@ -8,7 +12,7 @@ import { bcs } from '@initia/initia.js';
8
12
  * @returns Base64 encoded BCS serialized value
9
13
  */
10
14
  export function bcsEncoding(
11
- arg: any,
15
+ arg: unknown,
12
16
  typeStr: string,
13
17
  target: 'base64' | 'bytes' = 'base64',
14
18
  ): string {
@@ -53,6 +57,11 @@ export function bcsEncoding(
53
57
  .u256()
54
58
  .serialize(arg as string | number | bigint)
55
59
  [serializer]();
60
+ } else if (isStringType(typeStr)) {
61
+ return bcs
62
+ .string()
63
+ .serialize(arg as string)
64
+ [serializer]();
56
65
  } else if (typeStr.startsWith('vector<u8>')) {
57
66
  return bcs
58
67
  .vector(bcs.u8())
@@ -60,16 +69,21 @@ export function bcsEncoding(
60
69
  [serializer]();
61
70
  } else if (typeStr.startsWith('vector<')) {
62
71
  const innerTypeMatch = typeStr.match(/vector<([^>]+)>/);
63
- if (!innerTypeMatch) {
72
+ const innerType = innerTypeMatch?.[1];
73
+ if (!innerType) {
64
74
  throw new Error(`Unsupported vector type: ${typeStr}`);
65
75
  }
66
76
 
67
- const innerType = innerTypeMatch[1];
68
77
  if (innerType === 'address') {
69
78
  return bcs
70
79
  .vector(bcs.address())
71
80
  .serialize(arg as string[])
72
81
  [serializer]();
82
+ } else if (isStringType(innerType)) {
83
+ return bcs
84
+ .vector(bcs.string())
85
+ .serialize(arg as string[])
86
+ [serializer]();
73
87
  } else if (innerType === 'bool') {
74
88
  return bcs
75
89
  .vector(bcs.bool())