@thalalabs/surf 1.9.0 → 1.9.2
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 +12 -0
- package/build/cjs/core/Client.js +3 -1
- package/build/cjs/core/Client.js.map +1 -1
- package/build/cjs/core/createEntryPayload.js +19 -1
- package/build/cjs/core/createEntryPayload.js.map +1 -1
- package/build/cjs/hooks/useInitiaSubmitTransaction.js +71 -0
- package/build/cjs/hooks/useInitiaSubmitTransaction.js.map +1 -0
- package/build/cjs/hooks/useSubmitTransaction.js +2 -26
- package/build/cjs/hooks/useSubmitTransaction.js.map +1 -1
- package/build/esm/core/Client.js +3 -1
- package/build/esm/core/Client.js.map +1 -1
- package/build/esm/core/createEntryPayload.js +19 -1
- package/build/esm/core/createEntryPayload.js.map +1 -1
- package/build/esm/hooks/useInitiaSubmitTransaction.js +67 -0
- package/build/esm/hooks/useInitiaSubmitTransaction.js.map +1 -0
- package/build/esm/hooks/useSubmitTransaction.js +2 -26
- package/build/esm/hooks/useSubmitTransaction.js.map +1 -1
- package/build/types/core/Client.d.ts.map +1 -1
- package/build/types/core/createEntryPayload.d.ts.map +1 -1
- package/build/types/hooks/useInitiaSubmitTransaction.d.ts +10 -0
- package/build/types/hooks/useInitiaSubmitTransaction.d.ts.map +1 -0
- package/build/types/hooks/useSubmitTransaction.d.ts.map +1 -1
- package/build/types/types/client/client.d.ts +3 -3
- package/build/types/types/client/client.d.ts.map +1 -1
- package/package.json +7 -2
- package/src/core/Client.ts +3 -1
- package/src/core/createEntryPayload.ts +33 -1
- package/src/hooks/useInitiaSubmitTransaction.ts +94 -0
- package/src/hooks/useSubmitTransaction.ts +3 -41
- package/src/types/client/client.ts +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @thalalabs/surf
|
|
2
2
|
|
|
3
|
+
## 1.9.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 119f0ed: fix entry function abi type
|
|
8
|
+
|
|
9
|
+
## 1.9.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- e6dfbfd: Fix the inconsistency in the return type of the Initia view function.
|
|
14
|
+
|
|
3
15
|
## 1.9.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/build/cjs/core/Client.js
CHANGED
|
@@ -59,7 +59,9 @@ class Client {
|
|
|
59
59
|
bcsArgs.push((0, bcs_js_1.bcsEncoding)(arg, typeStr));
|
|
60
60
|
}
|
|
61
61
|
const result = await this.initiaClient.move.viewFunction(moduleAddress, moduleName, functionName, args.payload.typeArguments.map((tag) => tag.toString()), bcsArgs);
|
|
62
|
-
return
|
|
62
|
+
return args.payload.abi.returnTypes.length === 1
|
|
63
|
+
? [result]
|
|
64
|
+
: result;
|
|
63
65
|
}
|
|
64
66
|
else {
|
|
65
67
|
throw new Error('No client available');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":";;;AAAA,iEAA2D;AAC3D,mEAA6D;AAuB7D,4CAA8C;AAU9C,SAAgB,gBAAgB,CAC9B,WAA+B;IAE/B,OAAO,IAAI,MAAM,CAAY,WAAW,CAAC,CAAC;AAC5C,CAAC;AAJD,4CAIC;AAED,MAAa,MAAM;IAIjB,YAAY,MAA0B;QAH9B;;;;;WAAe;QACf;;;;;WAA0B;QAGhC,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE;YACvC,IAAI,CAAC,YAAY,GAAG,MAAoB,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAe,CAAC;SAC/B;IACH,CAAC;IAgBM,KAAK,CAAC,IAAI,CAA8B,IAG9C;QACC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE;YAG5B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACrE;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YAED,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC;YAChE,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAGD,MAAM,OAAO,GAAa,EAAE,CAAC;YAG7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC7C;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAErC,OAAO,CAAC,IAAI,CAAC,IAAA,oBAAW,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;aACzC;YAGD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CACtD,aAAa,EACb,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACvD,OAAO,CACR,CAAC;YAEF,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createEntryPayload = void 0;
|
|
4
|
+
const ts_sdk_1 = require("@aptos-labs/ts-sdk");
|
|
4
5
|
function createEntryPayload(abi, payload) {
|
|
5
6
|
const fnAbi = abi.exposed_functions.filter((f) => f.name === payload.function)[0];
|
|
6
7
|
if (fnAbi === undefined)
|
|
@@ -19,8 +20,25 @@ function createEntryPayload(abi, payload) {
|
|
|
19
20
|
typeArguments: payload.typeArguments,
|
|
20
21
|
functionArguments: payload.functionArguments,
|
|
21
22
|
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
22
|
-
abi: fnAbi,
|
|
23
|
+
abi: constructEntryAbiObj(fnAbi),
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
26
|
exports.createEntryPayload = createEntryPayload;
|
|
27
|
+
function constructEntryAbiObj(abi) {
|
|
28
|
+
if (!abi.is_entry) {
|
|
29
|
+
throw new Error(`not an entry function`);
|
|
30
|
+
}
|
|
31
|
+
const params = [];
|
|
32
|
+
for (let i = 0; i < abi.params.length; i += 1) {
|
|
33
|
+
params.push((0, ts_sdk_1.parseTypeTag)(abi.params[i], { allowGenerics: true }));
|
|
34
|
+
}
|
|
35
|
+
const returnTypes = [];
|
|
36
|
+
for (let i = 0; i < abi.return.length; i += 1) {
|
|
37
|
+
returnTypes.push((0, ts_sdk_1.parseTypeTag)(abi.return[i], { allowGenerics: true }));
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
typeParameters: abi.generic_type_params,
|
|
41
|
+
parameters: params,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
26
44
|
//# sourceMappingURL=createEntryPayload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useInitiaSubmitTransaction = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const react_wallet_widget_1 = require("@initia/react-wallet-widget");
|
|
6
|
+
const initia_js_1 = require("@initia/initia.js");
|
|
7
|
+
const bcs_js_1 = require("../utils/bcs.js");
|
|
8
|
+
const useInitiaSubmitTransaction = () => {
|
|
9
|
+
const { address: initiaAddress, requestInitiaTx: initiaSign } = (0, react_wallet_widget_1.useWallet)();
|
|
10
|
+
const [isIdle, setIsIdle] = (0, react_1.useState)(true);
|
|
11
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
12
|
+
const [data, setResult] = (0, react_1.useState)();
|
|
13
|
+
const [error, setError] = (0, react_1.useState)();
|
|
14
|
+
const idRef = (0, react_1.useRef)(0);
|
|
15
|
+
function reset() {
|
|
16
|
+
setIsIdle(true);
|
|
17
|
+
setIsLoading(false);
|
|
18
|
+
setResult(undefined);
|
|
19
|
+
setError(undefined);
|
|
20
|
+
idRef.current = idRef.current + 1;
|
|
21
|
+
}
|
|
22
|
+
async function submitTransaction(payload) {
|
|
23
|
+
const id = idRef.current;
|
|
24
|
+
if (!isIdle) {
|
|
25
|
+
throw new Error('Transaction is already in progress');
|
|
26
|
+
}
|
|
27
|
+
setIsLoading(true);
|
|
28
|
+
setIsIdle(false);
|
|
29
|
+
let result;
|
|
30
|
+
try {
|
|
31
|
+
if (initiaAddress && initiaSign) {
|
|
32
|
+
if (!payload.abi) {
|
|
33
|
+
throw new Error('abi is required for initia transactions');
|
|
34
|
+
}
|
|
35
|
+
const [moduleAddress, moduleName, functionName] = payload.function.split('::');
|
|
36
|
+
const fnAbi = payload.abi;
|
|
37
|
+
const nonSignerIndex = fnAbi.parameters.findIndex((param) => !param.isSigner());
|
|
38
|
+
const bcsArgs = [];
|
|
39
|
+
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
40
|
+
const arg = payload.functionArguments[i];
|
|
41
|
+
const paramType = fnAbi.parameters[i + nonSignerIndex];
|
|
42
|
+
if (!paramType) {
|
|
43
|
+
throw new Error('payload and abi mismatch');
|
|
44
|
+
}
|
|
45
|
+
bcsArgs.push((0, bcs_js_1.bcsEncoding)(arg, paramType.toString()));
|
|
46
|
+
}
|
|
47
|
+
result = await initiaSign({
|
|
48
|
+
msgs: [
|
|
49
|
+
new initia_js_1.MsgExecute(initiaAddress, moduleAddress, moduleName, functionName, payload.typeArguments, bcsArgs),
|
|
50
|
+
],
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
throw new Error('Wallet is not connected');
|
|
55
|
+
}
|
|
56
|
+
if (id === idRef.current) {
|
|
57
|
+
setResult(result);
|
|
58
|
+
setIsLoading(false);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
setError(error);
|
|
63
|
+
setIsLoading(false);
|
|
64
|
+
throw e;
|
|
65
|
+
}
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
return { submitTransaction, reset, isLoading, isIdle, data, error };
|
|
69
|
+
};
|
|
70
|
+
exports.useInitiaSubmitTransaction = useInitiaSubmitTransaction;
|
|
71
|
+
//# sourceMappingURL=useInitiaSubmitTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useSubmitTransaction = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const wallet_adapter_react_1 = require("@aptos-labs/wallet-adapter-react");
|
|
6
|
-
const react_wallet_widget_1 = require("@initia/react-wallet-widget");
|
|
7
|
-
const initia_js_1 = require("@initia/initia.js");
|
|
8
|
-
const bcs_js_1 = require("../utils/bcs.js");
|
|
9
|
-
initia_js_1.MsgExecute.fromData;
|
|
10
6
|
const useSubmitTransaction = () => {
|
|
11
7
|
const { connected, signAndSubmitTransaction } = (0, wallet_adapter_react_1.useWallet)();
|
|
12
|
-
const { address: initiaAddress, requestInitiaTx: initiaSign } = (0, react_wallet_widget_1.useWallet)();
|
|
13
8
|
const [isIdle, setIsIdle] = (0, react_1.useState)(true);
|
|
14
9
|
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
15
10
|
const [data, setResult] = (0, react_1.useState)();
|
|
@@ -51,27 +46,8 @@ const useSubmitTransaction = () => {
|
|
|
51
46
|
options: options,
|
|
52
47
|
});
|
|
53
48
|
}
|
|
54
|
-
else
|
|
55
|
-
|
|
56
|
-
throw new Error('abi is required for initia transactions');
|
|
57
|
-
}
|
|
58
|
-
const [moduleAddress, moduleName, functionName] = payload.function.split('::');
|
|
59
|
-
const fnAbi = payload.abi;
|
|
60
|
-
const nonSignerIndex = fnAbi.params.findIndex((param) => param !== '&signer');
|
|
61
|
-
const bcsArgs = [];
|
|
62
|
-
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
63
|
-
const arg = payload.functionArguments[i];
|
|
64
|
-
const paramType = fnAbi.params[i + nonSignerIndex];
|
|
65
|
-
if (!paramType) {
|
|
66
|
-
throw new Error('payload and abi mismatch');
|
|
67
|
-
}
|
|
68
|
-
bcsArgs.push((0, bcs_js_1.bcsEncoding)(arg, paramType));
|
|
69
|
-
}
|
|
70
|
-
result = await initiaSign({
|
|
71
|
-
msgs: [
|
|
72
|
-
new initia_js_1.MsgExecute(initiaAddress, moduleAddress, moduleName, functionName, payload.typeArguments, bcsArgs),
|
|
73
|
-
],
|
|
74
|
-
});
|
|
49
|
+
else {
|
|
50
|
+
throw new Error('Wallet is not connected');
|
|
75
51
|
}
|
|
76
52
|
if (id === idRef.current) {
|
|
77
53
|
setResult(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AACzC,2EAA6D;
|
|
1
|
+
{"version":3,"file":"useSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":";;;AAAA,iCAAyC;AACzC,2EAA6D;AAItD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE,GAAG,IAAA,gCAAS,GAAE,CAAC;IAE5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAO,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAA,cAAM,EAAS,CAAC,CAAC,CAAC;IAEhC,SAAS,KAAK;QACZ,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,OAAqB,EACrB,OAAyC;QAGzC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,CAAC,KAAK,CAAC,CAAC;QAEjB,IAAI,MAAM,CAAC;QACX,IAAI;YACF,IAAI,SAAS,IAAI,wBAAwB,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,MAAM,wBAAwB,CAAC;oBACtC,IAAI,EAAE;wBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;wBAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;4BAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCAEtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;6BACrC;iCAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gCAClC,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,mBAAmB,CAClD,CAAC;6BACH;iCAAM;gCACL,OAAO,GAAG,CAAC;6BACZ;wBACH,CAAC,CAAC;qBACH;oBACD,OAAO,EAAE,OAAQ;iBAClB,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAGD,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;gBACxB,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,CAAC;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC,CAAC;AAzEW,QAAA,oBAAoB,wBAyE/B"}
|
package/build/esm/core/Client.js
CHANGED
|
@@ -55,7 +55,9 @@ export class Client {
|
|
|
55
55
|
bcsArgs.push(bcsEncoding(arg, typeStr));
|
|
56
56
|
}
|
|
57
57
|
const result = await this.initiaClient.move.viewFunction(moduleAddress, moduleName, functionName, args.payload.typeArguments.map((tag) => tag.toString()), bcsArgs);
|
|
58
|
-
return
|
|
58
|
+
return args.payload.abi.returnTypes.length === 1
|
|
59
|
+
? [result]
|
|
60
|
+
: result;
|
|
59
61
|
}
|
|
60
62
|
else {
|
|
61
63
|
throw new Error('No client available');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAuB7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAU9C,MAAM,UAAU,gBAAgB,CAC9B,WAA+B;IAE/B,OAAO,IAAI,MAAM,CAAY,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,OAAO,MAAM;IAIjB,YAAY,MAA0B;QAH9B;;;;;WAAe;QACf;;;;;WAA0B;QAGhC,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE;YACvC,IAAI,CAAC,YAAY,GAAG,MAAoB,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAe,CAAC;SAC/B;IACH,CAAC;IAgBM,KAAK,CAAC,IAAI,CAA8B,IAG9C;QACC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,YAAY,EAAE;YAG5B,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBAClE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;aACrE;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;YAED,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,aAAa,CAAC;YAChE,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;gBAClD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAGD,MAAM,OAAO,GAAa,EAAE,CAAC;YAG7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;iBAC7C;gBACD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAErC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;aACzC;YAGD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CACtD,aAAa,EACb,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACvD,OAAO,CACR,CAAC;YAEF,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { parseTypeTag, } from '@aptos-labs/ts-sdk';
|
|
1
2
|
export function createEntryPayload(abi, payload) {
|
|
2
3
|
const fnAbi = abi.exposed_functions.filter((f) => f.name === payload.function)[0];
|
|
3
4
|
if (fnAbi === undefined)
|
|
@@ -16,7 +17,24 @@ export function createEntryPayload(abi, payload) {
|
|
|
16
17
|
typeArguments: payload.typeArguments,
|
|
17
18
|
functionArguments: payload.functionArguments,
|
|
18
19
|
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
19
|
-
abi: fnAbi,
|
|
20
|
+
abi: constructEntryAbiObj(fnAbi),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
function constructEntryAbiObj(abi) {
|
|
24
|
+
if (!abi.is_entry) {
|
|
25
|
+
throw new Error(`not an entry function`);
|
|
26
|
+
}
|
|
27
|
+
const params = [];
|
|
28
|
+
for (let i = 0; i < abi.params.length; i += 1) {
|
|
29
|
+
params.push(parseTypeTag(abi.params[i], { allowGenerics: true }));
|
|
30
|
+
}
|
|
31
|
+
const returnTypes = [];
|
|
32
|
+
for (let i = 0; i < abi.return.length; i += 1) {
|
|
33
|
+
returnTypes.push(parseTypeTag(abi.return[i], { allowGenerics: true }));
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
typeParameters: abi.generic_type_params,
|
|
37
|
+
parameters: params,
|
|
20
38
|
};
|
|
21
39
|
}
|
|
22
40
|
//# sourceMappingURL=createEntryPayload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createEntryPayload.js","sourceRoot":"","sources":["../../../src/core/createEntryPayload.ts"],"names":[],"mappings":"AAOA,OAAO,EAIL,YAAY,GACb,MAAM,oBAAoB,CAAC;AAsB5B,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,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAI,KAAK,CAAC,MAAmB,CAAC,KAAK,CAC9C,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAC7D,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;QAC/E,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAgB;IAE5C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;QACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IAGD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACpE;IAGD,MAAM,WAAW,GAAc,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC7C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;KACzE;IAED,OAAO;QACL,cAAc,EACZ,GAAG,CAAC,mBAA0D;QAChE,UAAU,EAAE,MAAM;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { useState, useRef } from 'react';
|
|
2
|
+
import { useWallet as useInitiaWallet } from '@initia/react-wallet-widget';
|
|
3
|
+
import { MsgExecute } from '@initia/initia.js';
|
|
4
|
+
import { bcsEncoding } from '../utils/bcs.js';
|
|
5
|
+
export const useInitiaSubmitTransaction = () => {
|
|
6
|
+
const { address: initiaAddress, requestInitiaTx: initiaSign } = useInitiaWallet();
|
|
7
|
+
const [isIdle, setIsIdle] = useState(true);
|
|
8
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
9
|
+
const [data, setResult] = useState();
|
|
10
|
+
const [error, setError] = useState();
|
|
11
|
+
const idRef = useRef(0);
|
|
12
|
+
function reset() {
|
|
13
|
+
setIsIdle(true);
|
|
14
|
+
setIsLoading(false);
|
|
15
|
+
setResult(undefined);
|
|
16
|
+
setError(undefined);
|
|
17
|
+
idRef.current = idRef.current + 1;
|
|
18
|
+
}
|
|
19
|
+
async function submitTransaction(payload) {
|
|
20
|
+
const id = idRef.current;
|
|
21
|
+
if (!isIdle) {
|
|
22
|
+
throw new Error('Transaction is already in progress');
|
|
23
|
+
}
|
|
24
|
+
setIsLoading(true);
|
|
25
|
+
setIsIdle(false);
|
|
26
|
+
let result;
|
|
27
|
+
try {
|
|
28
|
+
if (initiaAddress && initiaSign) {
|
|
29
|
+
if (!payload.abi) {
|
|
30
|
+
throw new Error('abi is required for initia transactions');
|
|
31
|
+
}
|
|
32
|
+
const [moduleAddress, moduleName, functionName] = payload.function.split('::');
|
|
33
|
+
const fnAbi = payload.abi;
|
|
34
|
+
const nonSignerIndex = fnAbi.parameters.findIndex((param) => !param.isSigner());
|
|
35
|
+
const bcsArgs = [];
|
|
36
|
+
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
37
|
+
const arg = payload.functionArguments[i];
|
|
38
|
+
const paramType = fnAbi.parameters[i + nonSignerIndex];
|
|
39
|
+
if (!paramType) {
|
|
40
|
+
throw new Error('payload and abi mismatch');
|
|
41
|
+
}
|
|
42
|
+
bcsArgs.push(bcsEncoding(arg, paramType.toString()));
|
|
43
|
+
}
|
|
44
|
+
result = await initiaSign({
|
|
45
|
+
msgs: [
|
|
46
|
+
new MsgExecute(initiaAddress, moduleAddress, moduleName, functionName, payload.typeArguments, bcsArgs),
|
|
47
|
+
],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
throw new Error('Wallet is not connected');
|
|
52
|
+
}
|
|
53
|
+
if (id === idRef.current) {
|
|
54
|
+
setResult(result);
|
|
55
|
+
setIsLoading(false);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
setError(error);
|
|
60
|
+
setIsLoading(false);
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
return { submitTransaction, reset, isLoading, isIdle, data, error };
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=useInitiaSubmitTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitiaSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { useState, useRef } from 'react';
|
|
2
2
|
import { useWallet } from '@aptos-labs/wallet-adapter-react';
|
|
3
|
-
import { useWallet as useInitiaWallet } from '@initia/react-wallet-widget';
|
|
4
|
-
import { MsgExecute } from '@initia/initia.js';
|
|
5
|
-
import { bcsEncoding } from '../utils/bcs.js';
|
|
6
|
-
MsgExecute.fromData;
|
|
7
3
|
export const useSubmitTransaction = () => {
|
|
8
4
|
const { connected, signAndSubmitTransaction } = useWallet();
|
|
9
|
-
const { address: initiaAddress, requestInitiaTx: initiaSign } = useInitiaWallet();
|
|
10
5
|
const [isIdle, setIsIdle] = useState(true);
|
|
11
6
|
const [isLoading, setIsLoading] = useState(false);
|
|
12
7
|
const [data, setResult] = useState();
|
|
@@ -48,27 +43,8 @@ export const useSubmitTransaction = () => {
|
|
|
48
43
|
options: options,
|
|
49
44
|
});
|
|
50
45
|
}
|
|
51
|
-
else
|
|
52
|
-
|
|
53
|
-
throw new Error('abi is required for initia transactions');
|
|
54
|
-
}
|
|
55
|
-
const [moduleAddress, moduleName, functionName] = payload.function.split('::');
|
|
56
|
-
const fnAbi = payload.abi;
|
|
57
|
-
const nonSignerIndex = fnAbi.params.findIndex((param) => param !== '&signer');
|
|
58
|
-
const bcsArgs = [];
|
|
59
|
-
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
60
|
-
const arg = payload.functionArguments[i];
|
|
61
|
-
const paramType = fnAbi.params[i + nonSignerIndex];
|
|
62
|
-
if (!paramType) {
|
|
63
|
-
throw new Error('payload and abi mismatch');
|
|
64
|
-
}
|
|
65
|
-
bcsArgs.push(bcsEncoding(arg, paramType));
|
|
66
|
-
}
|
|
67
|
-
result = await initiaSign({
|
|
68
|
-
msgs: [
|
|
69
|
-
new MsgExecute(initiaAddress, moduleAddress, moduleName, functionName, payload.typeArguments, bcsArgs),
|
|
70
|
-
],
|
|
71
|
-
});
|
|
46
|
+
else {
|
|
47
|
+
throw new Error('Wallet is not connected');
|
|
72
48
|
}
|
|
73
49
|
if (id === idRef.current) {
|
|
74
50
|
setResult(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAI7D,
|
|
1
|
+
{"version":3,"file":"useSubmitTransaction.js","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAI7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,SAAS,EAAE,wBAAwB,EAAE,GAAG,SAAS,EAAE,CAAC;IAE5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAO,CAAC;IAC1C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAEhC,SAAS,KAAK;QACZ,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,UAAU,iBAAiB,CAC9B,OAAqB,EACrB,OAAyC;QAGzC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QACD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,CAAC,KAAK,CAAC,CAAC;QAEjB,IAAI,MAAM,CAAC;QACX,IAAI;YACF,IAAI,SAAS,IAAI,wBAAwB,KAAK,SAAS,EAAE;gBACvD,MAAM,GAAG,MAAM,wBAAwB,CAAC;oBACtC,IAAI,EAAE;wBACJ,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;wBAEpC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE;4BAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gCAEtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;6BACrC;iCAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gCAClC,MAAM,IAAI,KAAK,CACb,2BAA2B,GAAG,mBAAmB,CAClD,CAAC;6BACH;iCAAM;gCACL,OAAO,GAAG,CAAC;6BACZ;wBACH,CAAC,CAAC;qBACH;oBACD,OAAO,EAAE,OAAQ;iBAClB,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;aAC5C;YAGD,IAAI,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;gBACxB,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,YAAY,CAAC,KAAK,CAAC,CAAC;aACrB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,CAAC;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,4BAA4B,EAC5B,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC3E,WAAW,EAAE,KAAK,GAAG,UAAU,GAC9B,MAAM,CAAC,SAAS,CAAC,CAEnB;AAED,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAC,CAAa;gBAEtB,MAAM,EAAE,KAAK,GAAG,UAAU;IAQtC;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../../../src/core/Client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,YAAY,EACZ,WAAW,EACX,eAAe,EACf,iBAAiB,EAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,4BAA4B,EAC5B,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,SAAS,QAAQ,GAAG,eAAe,EAC3E,WAAW,EAAE,KAAK,GAAG,UAAU,GAC9B,MAAM,CAAC,SAAS,CAAC,CAEnB;AAED,qBAAa,MAAM,CAAC,SAAS,SAAS,QAAQ;IAC5C,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,OAAO,CAAC,YAAY,CAAC,CAAa;gBAEtB,MAAM,EAAE,KAAK,GAAG,UAAU;IAQtC;;;;;;;;;;;;;OAaG;IACU,IAAI,CAAC,OAAO,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE;QACnD,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,OAAO,CAAC;IAuDpB;;;;;;;;;;;;;;;;;;OAkBG;IACU,iBAAiB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,YAAY,CAAC;QACtB,OAAO,CAAC,EAAE,yBAAyB,CAAC;KACrC,GAAG,OAAO,CAAC,4BAA4B,CAAC;IA6BzC;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mBAAmB,CAAC,IAAI,EAAE;QACrC,SAAS,EAAE,SAAS,CAAC;QACrB,MAAM,EAAE,mBAAmB,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC;KACvB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAsBpC;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,OAAO,EACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IAeb;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;QAErD;;;;;;;;WAQG;;QAqBH;;;;;;;;;WASG;;QA2BH;;;;;;;;WAQG;;;CAkCR"}
|
|
@@ -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;
|
|
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;AAS5E;;;;;;;;;;;;;;;;;;;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,CAqClE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { EntryPayload } from '../types/index.js';
|
|
2
|
+
export declare const useInitiaSubmitTransaction: () => {
|
|
3
|
+
submitTransaction: (payload: EntryPayload) => Promise<any>;
|
|
4
|
+
reset: () => void;
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
isIdle: boolean;
|
|
7
|
+
data: any;
|
|
8
|
+
error: Error | undefined;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=useInitiaSubmitTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInitiaSubmitTransaction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useInitiaSubmitTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMtD,eAAO,MAAM,0BAA0B;iCAoB1B,YAAY,KAGpB,QAAQ,GAAG,CAAC;;;;;;CA+DhB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubmitTransaction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSubmitTransaction.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSubmitTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAErE,eAAO,MAAM,oBAAoB;iCAmBpB,YAAY,YACX,+BAA+B,KAExC,QAAQ,GAAG,CAAC;;;;;;CAmDhB,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The types for the `Client` class.
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { ABIRoot } from '../abi.js';
|
|
5
5
|
import { EntryFunctionName, ExtractArgsTypeOmitSigner, ExtractGenericArgsType, ViewFunctionName, ExtractArgsType } from '../extractor/functionExtractor.js';
|
|
6
|
-
import { EntryFunctionArgumentTypes, MoveFunctionId, SimpleEntryFunctionArgumentTypes, TypeTag, ViewFunctionABI } from '@aptos-labs/ts-sdk';
|
|
6
|
+
import { EntryFunctionABI, EntryFunctionArgumentTypes, MoveFunctionId, SimpleEntryFunctionArgumentTypes, TypeTag, ViewFunctionABI } from '@aptos-labs/ts-sdk';
|
|
7
7
|
export type TransactionResponse = {
|
|
8
8
|
hash: string;
|
|
9
9
|
};
|
|
@@ -14,7 +14,7 @@ export type EntryPayload = {
|
|
|
14
14
|
function: MoveFunctionId;
|
|
15
15
|
typeArguments: Array<string>;
|
|
16
16
|
functionArguments: Array<EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes>;
|
|
17
|
-
abi?:
|
|
17
|
+
abi?: EntryFunctionABI;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* The input payload type of `createEntryPayload`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/types/client/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,cAAc,EACd,gCAAgC,EAChC,OAAO,EACP,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,EAAE,KAAK,CACtB,0BAA0B,GAAG,gCAAgC,CAC9D,CAAC;IACF,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,iBAAiB,CAAC,CAAC,CAAC,IACpC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3D,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,OAAO,EACjB,SAAS,SAAS,gBAAgB,CAAC,CAAC,CAAC,IACnC;IACF,OAAO,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACjD,aAAa,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,QAAQ,IAAI;IAClC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IACxC,iBAAiB,CAAC,EAAE,KAAK,CACvB,0BAA0B,GAAG,gCAAgC,CAC9D,CAAC;IACF,GAAG,CAAC,EAAE,eAAe,CAAC;CACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thalalabs/surf",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.2",
|
|
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",
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
"types": "./build/types/hooks/index.d.ts",
|
|
24
24
|
"import": "./build/esm/hooks/index.js",
|
|
25
25
|
"default": "./build/cjs/hooks/index.js"
|
|
26
|
+
},
|
|
27
|
+
"./hooks/useInitiaSubmitTransaction": {
|
|
28
|
+
"types": "./build/types/hooks/useInitiaSubmitTransaction.d.ts",
|
|
29
|
+
"import": "./build/esm/hooks/useInitiaSubmitTransaction.js",
|
|
30
|
+
"default": "./build/cjs/hooks/useInitiaSubmitTransaction.js"
|
|
26
31
|
}
|
|
27
32
|
},
|
|
28
33
|
"typesVersions": {
|
|
@@ -106,6 +111,6 @@
|
|
|
106
111
|
},
|
|
107
112
|
"license": "MIT",
|
|
108
113
|
"dependencies": {
|
|
109
|
-
"@initia/initia.js": "^1.0.
|
|
114
|
+
"@initia/initia.js": "^1.0.4"
|
|
110
115
|
}
|
|
111
116
|
}
|
package/src/core/Client.ts
CHANGED
|
@@ -114,7 +114,9 @@ export class Client<TABITable extends ABITable> {
|
|
|
114
114
|
bcsArgs,
|
|
115
115
|
);
|
|
116
116
|
|
|
117
|
-
return
|
|
117
|
+
return args.payload.abi.returnTypes.length === 1
|
|
118
|
+
? ([result] as TReturn)
|
|
119
|
+
: (result as TReturn);
|
|
118
120
|
} else {
|
|
119
121
|
throw new Error('No client available');
|
|
120
122
|
}
|
|
@@ -4,6 +4,13 @@ import type {
|
|
|
4
4
|
EntryRequestPayload,
|
|
5
5
|
} from '../types/index.js';
|
|
6
6
|
import { EntryFunctionName } from '../types/extractor/functionExtractor.js';
|
|
7
|
+
import { ABIFunction } from '../types/abi.js';
|
|
8
|
+
import {
|
|
9
|
+
EntryFunctionABI,
|
|
10
|
+
MoveFunctionGenericTypeParam,
|
|
11
|
+
TypeTag,
|
|
12
|
+
parseTypeTag,
|
|
13
|
+
} from '@aptos-labs/ts-sdk';
|
|
7
14
|
|
|
8
15
|
/**
|
|
9
16
|
* Create a payload for calling a entry function.
|
|
@@ -63,6 +70,31 @@ export function createEntryPayload<
|
|
|
63
70
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
64
71
|
functionArguments: payload.functionArguments as any,
|
|
65
72
|
function: `${payload.address ?? abi.address}::${abi.name}::${payload.function}`,
|
|
66
|
-
abi: fnAbi,
|
|
73
|
+
abi: constructEntryAbiObj(fnAbi),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function constructEntryAbiObj(abi: ABIFunction): EntryFunctionABI {
|
|
78
|
+
// Non-view functions can't be used
|
|
79
|
+
if (!abi.is_entry) {
|
|
80
|
+
throw new Error(`not an entry function`);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Type tag parameters for the function
|
|
84
|
+
const params: TypeTag[] = [];
|
|
85
|
+
for (let i = 0; i < abi.params.length; i += 1) {
|
|
86
|
+
params.push(parseTypeTag(abi.params[i]!, { allowGenerics: true }));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// The return types of the view function
|
|
90
|
+
const returnTypes: TypeTag[] = [];
|
|
91
|
+
for (let i = 0; i < abi.return.length; i += 1) {
|
|
92
|
+
returnTypes.push(parseTypeTag(abi.return[i]!, { allowGenerics: true }));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
typeParameters:
|
|
97
|
+
abi.generic_type_params as Array<MoveFunctionGenericTypeParam>,
|
|
98
|
+
parameters: params,
|
|
67
99
|
};
|
|
68
100
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { useState, useRef } from 'react';
|
|
2
|
+
import type { EntryPayload } from '../types/index.js';
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
import { useWallet as useInitiaWallet } from '@initia/react-wallet-widget';
|
|
5
|
+
import { MsgExecute } from '@initia/initia.js';
|
|
6
|
+
import { bcsEncoding } from '../utils/bcs.js';
|
|
7
|
+
|
|
8
|
+
export const useInitiaSubmitTransaction = () => {
|
|
9
|
+
const { address: initiaAddress, requestInitiaTx: initiaSign } =
|
|
10
|
+
useInitiaWallet();
|
|
11
|
+
|
|
12
|
+
const [isIdle, setIsIdle] = useState(true);
|
|
13
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
const [data, setResult] = useState<any>();
|
|
16
|
+
const [error, setError] = useState<Error>();
|
|
17
|
+
const idRef = useRef<number>(0);
|
|
18
|
+
|
|
19
|
+
function reset() {
|
|
20
|
+
setIsIdle(true);
|
|
21
|
+
setIsLoading(false);
|
|
22
|
+
setResult(undefined);
|
|
23
|
+
setError(undefined);
|
|
24
|
+
idRef.current = idRef.current + 1;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async function submitTransaction(
|
|
28
|
+
payload: EntryPayload,
|
|
29
|
+
// options?: InputGenerateTransactionOptions,
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
+
): Promise<any> {
|
|
32
|
+
const id = idRef.current;
|
|
33
|
+
|
|
34
|
+
if (!isIdle) {
|
|
35
|
+
throw new Error('Transaction is already in progress');
|
|
36
|
+
}
|
|
37
|
+
setIsLoading(true);
|
|
38
|
+
setIsIdle(false);
|
|
39
|
+
|
|
40
|
+
let result;
|
|
41
|
+
try {
|
|
42
|
+
if (initiaAddress && initiaSign) {
|
|
43
|
+
if (!payload.abi) {
|
|
44
|
+
throw new Error('abi is required for initia transactions');
|
|
45
|
+
}
|
|
46
|
+
const [moduleAddress, moduleName, functionName] =
|
|
47
|
+
payload.function.split('::');
|
|
48
|
+
const fnAbi = payload.abi;
|
|
49
|
+
const nonSignerIndex = fnAbi.parameters.findIndex(
|
|
50
|
+
(param) => !param.isSigner(),
|
|
51
|
+
);
|
|
52
|
+
const bcsArgs: string[] = [];
|
|
53
|
+
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
54
|
+
const arg = payload.functionArguments[i];
|
|
55
|
+
const paramType = fnAbi.parameters[i + nonSignerIndex];
|
|
56
|
+
if (!paramType) {
|
|
57
|
+
throw new Error('payload and abi mismatch');
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
bcsArgs.push(bcsEncoding(arg, paramType.toString()));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
result = await initiaSign({
|
|
64
|
+
msgs: [
|
|
65
|
+
new MsgExecute(
|
|
66
|
+
initiaAddress,
|
|
67
|
+
moduleAddress as string,
|
|
68
|
+
moduleName as string,
|
|
69
|
+
functionName as string,
|
|
70
|
+
payload.typeArguments,
|
|
71
|
+
bcsArgs,
|
|
72
|
+
),
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
throw new Error('Wallet is not connected');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Only update the status if the request is not stale.
|
|
80
|
+
if (id === idRef.current) {
|
|
81
|
+
setResult(result);
|
|
82
|
+
setIsLoading(false);
|
|
83
|
+
}
|
|
84
|
+
} catch (e) {
|
|
85
|
+
setError(error);
|
|
86
|
+
setIsLoading(false);
|
|
87
|
+
throw e;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return result;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return { submitTransaction, reset, isLoading, isIdle, data, error };
|
|
94
|
+
};
|
|
@@ -2,16 +2,9 @@ import { useState, useRef } from 'react';
|
|
|
2
2
|
import { useWallet } from '@aptos-labs/wallet-adapter-react';
|
|
3
3
|
import type { EntryPayload } from '../types/index.js';
|
|
4
4
|
import { InputGenerateTransactionOptions } from '@aptos-labs/ts-sdk';
|
|
5
|
-
|
|
6
|
-
import { useWallet as useInitiaWallet } from '@initia/react-wallet-widget';
|
|
7
|
-
import { MsgExecute } from '@initia/initia.js';
|
|
8
|
-
import { bcsEncoding } from '../utils/bcs.js';
|
|
9
|
-
MsgExecute.fromData;
|
|
10
|
-
// TODO: add test for this
|
|
5
|
+
|
|
11
6
|
export const useSubmitTransaction = () => {
|
|
12
7
|
const { connected, signAndSubmitTransaction } = useWallet();
|
|
13
|
-
const { address: initiaAddress, requestInitiaTx: initiaSign } =
|
|
14
|
-
useInitiaWallet();
|
|
15
8
|
|
|
16
9
|
const [isIdle, setIsIdle] = useState(true);
|
|
17
10
|
const [isLoading, setIsLoading] = useState(false);
|
|
@@ -64,39 +57,8 @@ export const useSubmitTransaction = () => {
|
|
|
64
57
|
},
|
|
65
58
|
options: options!,
|
|
66
59
|
});
|
|
67
|
-
} else
|
|
68
|
-
|
|
69
|
-
throw new Error('abi is required for initia transactions');
|
|
70
|
-
}
|
|
71
|
-
const [moduleAddress, moduleName, functionName] =
|
|
72
|
-
payload.function.split('::');
|
|
73
|
-
const fnAbi = payload.abi;
|
|
74
|
-
const nonSignerIndex = fnAbi.params.findIndex(
|
|
75
|
-
(param) => param !== '&signer',
|
|
76
|
-
);
|
|
77
|
-
const bcsArgs: string[] = [];
|
|
78
|
-
for (let i = 0; i < payload.functionArguments.length; i++) {
|
|
79
|
-
const arg = payload.functionArguments[i];
|
|
80
|
-
const paramType = fnAbi.params[i + nonSignerIndex];
|
|
81
|
-
if (!paramType) {
|
|
82
|
-
throw new Error('payload and abi mismatch');
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
bcsArgs.push(bcsEncoding(arg, paramType));
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
result = await initiaSign({
|
|
89
|
-
msgs: [
|
|
90
|
-
new MsgExecute(
|
|
91
|
-
initiaAddress,
|
|
92
|
-
moduleAddress as string,
|
|
93
|
-
moduleName as string,
|
|
94
|
-
functionName as string,
|
|
95
|
-
payload.typeArguments,
|
|
96
|
-
bcsArgs,
|
|
97
|
-
),
|
|
98
|
-
],
|
|
99
|
-
});
|
|
60
|
+
} else {
|
|
61
|
+
throw new Error('Wallet is not connected');
|
|
100
62
|
}
|
|
101
63
|
|
|
102
64
|
// Only update the status if the request is not stale.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* The types for the `Client` class.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { ABIRoot } from '../abi.js';
|
|
6
6
|
import {
|
|
7
7
|
EntryFunctionName,
|
|
8
8
|
ExtractArgsTypeOmitSigner,
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ExtractArgsType,
|
|
12
12
|
} from '../extractor/functionExtractor.js';
|
|
13
13
|
import {
|
|
14
|
+
EntryFunctionABI,
|
|
14
15
|
EntryFunctionArgumentTypes,
|
|
15
16
|
MoveFunctionId,
|
|
16
17
|
SimpleEntryFunctionArgumentTypes,
|
|
@@ -31,7 +32,7 @@ export type EntryPayload = {
|
|
|
31
32
|
functionArguments: Array<
|
|
32
33
|
EntryFunctionArgumentTypes | SimpleEntryFunctionArgumentTypes
|
|
33
34
|
>;
|
|
34
|
-
abi?:
|
|
35
|
+
abi?: EntryFunctionABI;
|
|
35
36
|
};
|
|
36
37
|
|
|
37
38
|
/**
|