@layerzerolabs/lz-initia-sdk-v2 3.0.16 → 3.0.17
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 +16 -0
- package/deployments/initia-sandbox-local/counter.json +2 -2
- package/deployments/initia-sandbox-local/endpoint_v2_common.json +2 -2
- package/deployments/initia-sandbox-local/executor.json +2 -2
- package/deployments/initia-sandbox-local/oft-TokenOne.json +2 -2
- package/deployments/initia-sandbox-local/oft-TokenThree.json +2 -2
- package/deployments/initia-sandbox-local/oft-TokenTwo.json +2 -2
- package/deployments/initia-sandbox-local/oft_common.json +2 -2
- package/dist/index.cjs +86 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +70 -4
- package/dist/index.d.ts +70 -4
- package/dist/index.mjs +82 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -11
- package/deployments/initia-sandbox-local/oft-TokenFour.json +0 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @layerzerolabs/lz-initia-sdk-v2
|
|
2
2
|
|
|
3
|
+
## 3.0.17
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 40f2269: islander mainnet
|
|
8
|
+
- 40f2269: testnets
|
|
9
|
+
- Updated dependencies [40f2269]
|
|
10
|
+
- Updated dependencies [40f2269]
|
|
11
|
+
- @layerzerolabs/lz-corekit-initia@3.0.17
|
|
12
|
+
- @layerzerolabs/lz-core@3.0.17
|
|
13
|
+
- @layerzerolabs/lz-definitions@3.0.17
|
|
14
|
+
- @layerzerolabs/lz-utilities@3.0.17
|
|
15
|
+
- @layerzerolabs/lz-movevm-sdk-v2@3.0.17
|
|
16
|
+
- @layerzerolabs/lz-v2-utilities@3.0.17
|
|
17
|
+
- @layerzerolabs/move-definitions@3.0.17
|
|
18
|
+
|
|
3
19
|
## 3.0.16
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "2bc6031162c0c950bfa2e0dcd4e7679e22efe259a6693920b6db0ecb8af24be3",
|
|
10
|
+
"transactionHash": "2C653BF83738277377BDFEEF0AD62D8CEBBEF98537C9A099A398A719E6D6E921"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "c9b3d7d8ab806faf47f4aaa8b68b750c960d822f75daca73d6abbef6ab7b6486",
|
|
10
|
+
"transactionHash": "201B566AD317588FF8F408E082BC56322F4CBAC44916035192DD8AB10794AA1E"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "2c54a77286178a2c03fd035b9b26fed8fb7f55c055b1ab3fd3c8b78a63d89a3f",
|
|
10
|
+
"transactionHash": "B35B3030A58BB1151006834E19949BFD69D0697DCC401BB664D884F64B146BCA"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "75b88b65d3407a7790db4780427051beb337b71a53909b1631443c1bc0e5490d",
|
|
10
|
+
"transactionHash": "DA4466DA55A5DD4F1B9E9BCD2B930BF34FEF361CB85E90D83CE65500ABA64B1E"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "4280e1592db4bba927d273e56c1c5aa4b133a8e58614c120c3e5367db88719c1",
|
|
10
|
+
"transactionHash": "A46C0B96AD78ABDCF9C1940D798D54FB85EF2AE0D4051D5033DF57EB687E3F93"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "07b3c6ef3e8c07adfc3032e65553aeb38ba2241a68b69e8b6b3fa3e2d65ac8f9",
|
|
10
|
+
"transactionHash": "05267836F9100D6F6660375818D1CA072712E340F592C9A6D458FFE06DB072FE"
|
|
11
11
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"compatibleVersions": [
|
|
7
7
|
"v2"
|
|
8
8
|
],
|
|
9
|
-
"bytecodeHash": "
|
|
10
|
-
"transactionHash": "
|
|
9
|
+
"bytecodeHash": "eaf3990c6426744493d9e88ca3559647d5a0054fa27e6ab6472b94e383ca87e9",
|
|
10
|
+
"transactionHash": "D4E639CC0B5FFAA7A68899987A0F9F8DCF8538381E6611A0DEBA3375129AF6B5"
|
|
11
11
|
}
|
package/dist/index.cjs
CHANGED
|
@@ -69,6 +69,83 @@ var ENDPOINT_V2_COMMON = {
|
|
|
69
69
|
[lzDefinitions.Stage.TESTNET]: "0x6da16aabf8d791340730ac512ae2c871f180d67b",
|
|
70
70
|
[lzDefinitions.Stage.SANDBOX]: "0x77160f68f4f1af74ab5875253db51366ca97f91f"
|
|
71
71
|
};
|
|
72
|
+
async function buildTransaction(nativeSigner, buildTxRequest) {
|
|
73
|
+
const sender = nativeSigner.key.accAddress.toString();
|
|
74
|
+
const msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload);
|
|
75
|
+
const createOptions = {
|
|
76
|
+
msgs: [msg]
|
|
77
|
+
};
|
|
78
|
+
if (buildTxRequest.options?.gas !== void 0) {
|
|
79
|
+
createOptions.gas = buildTxRequest.options.gas;
|
|
80
|
+
}
|
|
81
|
+
if (buildTxRequest.options?.gasPrice !== void 0) {
|
|
82
|
+
if (isNaN(Number(buildTxRequest.options.gasPrice)) && buildTxRequest.options.gasPrice.endsWith("uinit")) {
|
|
83
|
+
createOptions.gasPrices = buildTxRequest.options.gasPrice;
|
|
84
|
+
} else if (!isNaN(Number(buildTxRequest.options.gasPrice))) {
|
|
85
|
+
createOptions.gasPrices = `${buildTxRequest.options.gasPrice}uinit`;
|
|
86
|
+
} else {
|
|
87
|
+
throw Error(`Invalid gas price for initia :${buildTxRequest.options.gasPrice}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const tx = await nativeSigner.createTx(createOptions);
|
|
91
|
+
return lzCore.TransactionRequest.from(tx);
|
|
92
|
+
}
|
|
93
|
+
function convertPayloadToMsgExecute(sender, payload) {
|
|
94
|
+
const functionStructs = payload.function.split("::");
|
|
95
|
+
const moduleAddress = functionStructs[0];
|
|
96
|
+
const moduleName = functionStructs[1];
|
|
97
|
+
const functionName = functionStructs[2];
|
|
98
|
+
const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments);
|
|
99
|
+
const msg = new initia_js.MsgExecute(
|
|
100
|
+
sender,
|
|
101
|
+
// sender address
|
|
102
|
+
moduleAddress,
|
|
103
|
+
// module owner address
|
|
104
|
+
moduleName,
|
|
105
|
+
// module name
|
|
106
|
+
functionName,
|
|
107
|
+
// function name
|
|
108
|
+
payload.typeArguments ?? [],
|
|
109
|
+
// type args
|
|
110
|
+
args
|
|
111
|
+
);
|
|
112
|
+
return msg;
|
|
113
|
+
}
|
|
114
|
+
function covertPayloadArgs(functionArgumentTypes, functionArguments) {
|
|
115
|
+
const args = [];
|
|
116
|
+
for (let i = 0; i < functionArguments.length; i++) {
|
|
117
|
+
args.push(convertArg(functionArgumentTypes[i], functionArguments[i]));
|
|
118
|
+
}
|
|
119
|
+
return args;
|
|
120
|
+
}
|
|
121
|
+
function convertArg(argsType, arg) {
|
|
122
|
+
switch (argsType) {
|
|
123
|
+
case "bool":
|
|
124
|
+
return initia_js.bcs.bool().serialize(arg).toBase64();
|
|
125
|
+
case "u256":
|
|
126
|
+
return initia_js.bcs.u256().serialize(arg).toBase64();
|
|
127
|
+
case "u128":
|
|
128
|
+
return initia_js.bcs.u128().serialize(arg).toBase64();
|
|
129
|
+
case "u64":
|
|
130
|
+
return initia_js.bcs.u64().serialize(arg).toBase64();
|
|
131
|
+
case "u32":
|
|
132
|
+
return initia_js.bcs.u32().serialize(arg).toBase64();
|
|
133
|
+
case "u16":
|
|
134
|
+
return initia_js.bcs.u16().serialize(arg).toBase64();
|
|
135
|
+
case "u8":
|
|
136
|
+
return initia_js.bcs.u8().serialize(arg).toBase64();
|
|
137
|
+
case "address":
|
|
138
|
+
return initia_js.bcs.address().serialize(arg).toBase64();
|
|
139
|
+
case "vector<u8>":
|
|
140
|
+
return initia_js.bcs.vector(initia_js.bcs.u8()).serialize(arg).toBase64();
|
|
141
|
+
case "vector<address>":
|
|
142
|
+
return initia_js.bcs.vector(initia_js.bcs.address()).serialize(arg).toBase64();
|
|
143
|
+
case "vector<vector<u8>>":
|
|
144
|
+
return initia_js.bcs.vector(initia_js.bcs.vector(initia_js.bcs.u8())).serialize(arg).toBase64();
|
|
145
|
+
default:
|
|
146
|
+
throw new Error(`Invalid type argsType: ${argsType.toString()}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
72
149
|
|
|
73
150
|
// src/index.ts
|
|
74
151
|
function getSDKFromProvider(provider) {
|
|
@@ -139,7 +216,7 @@ var SDK = class {
|
|
|
139
216
|
functionArgumentTypes: ["vector<u8>", "vector<u8>", "u64", "address", "u64", "vector<u8>"]
|
|
140
217
|
};
|
|
141
218
|
const accAddr = initia_js.AccAddress.fromHex(adminSignerAddress);
|
|
142
|
-
const msg =
|
|
219
|
+
const msg = convertPayloadToMsgExecute(accAddr, payload);
|
|
143
220
|
const tx = await this.getLCDClient().tx.create([{ address: accAddr }], { msgs: [msg] });
|
|
144
221
|
return lzCore.TransactionRequest.from(tx);
|
|
145
222
|
}
|
|
@@ -155,7 +232,7 @@ var SDK = class {
|
|
|
155
232
|
* @returns {Promise<MoveValue[]>} The result of the view function.
|
|
156
233
|
*/
|
|
157
234
|
async viewFunction(args) {
|
|
158
|
-
const argsStrings =
|
|
235
|
+
const argsStrings = covertPayloadArgs(args.functionArgTypes ?? [], args.functionArgs);
|
|
159
236
|
const [moduleAddress, moduleName, functionName] = args.functionName.split("::");
|
|
160
237
|
try {
|
|
161
238
|
const viewFunctionData = await this.provider.native.move.viewFunction(
|
|
@@ -278,7 +355,7 @@ var SDK = class {
|
|
|
278
355
|
gas: gasOptions?.gasLimit,
|
|
279
356
|
gasPrice: gasOptions?.gasPrice !== void 0 ? `${gasOptions.gasPrice}uinit` : void 0
|
|
280
357
|
};
|
|
281
|
-
const txRequest = await coreSigner.
|
|
358
|
+
const txRequest = await buildTransaction(coreSigner.native, {
|
|
282
359
|
payload: {
|
|
283
360
|
function: func,
|
|
284
361
|
functionArguments: args,
|
|
@@ -340,7 +417,7 @@ var SDK = class {
|
|
|
340
417
|
try {
|
|
341
418
|
const res = await this.provider.native.move.tableEntry(
|
|
342
419
|
args.handle,
|
|
343
|
-
|
|
420
|
+
convertArg(args.data.key_type, args.data.key)
|
|
344
421
|
);
|
|
345
422
|
const { value } = res;
|
|
346
423
|
const valueObject = JSON.parse(value);
|
|
@@ -386,6 +463,10 @@ exports.SIMPLE_MESSAGE_LIB_ADDRESS = SIMPLE_MESSAGE_LIB_ADDRESS;
|
|
|
386
463
|
exports.TREASURY_ADDRESS = TREASURY_ADDRESS;
|
|
387
464
|
exports.ULN_MESSAGE_LIB_ADDRESS = ULN_MESSAGE_LIB_ADDRESS;
|
|
388
465
|
exports.WORKER_COMMON = WORKER_COMMON;
|
|
466
|
+
exports.buildTransaction = buildTransaction;
|
|
467
|
+
exports.convertArg = convertArg;
|
|
468
|
+
exports.convertPayloadToMsgExecute = convertPayloadToMsgExecute;
|
|
469
|
+
exports.covertPayloadArgs = covertPayloadArgs;
|
|
389
470
|
exports.getSDKFromProvider = getSDKFromProvider;
|
|
390
|
-
//# sourceMappingURL=
|
|
471
|
+
//# sourceMappingURL=index.cjs.map
|
|
391
472
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import { AccAddress, LCDClient, MnemonicKey, Msg, TxError, WaitTxBroadcastResult } from '@initia/initia.js'\n\nimport { Provider, TransactionRequest } from '@layerzerolabs/lz-core'\nimport {\n InitiaBuildTxRequestOptions,\n InitiaProvider,\n InitiaSigner,\n convertArg,\n convertPayloadToMsgExecute,\n covertPayloadArgs,\n} from '@layerzerolabs/lz-corekit-initia'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport { arrayify } from '@layerzerolabs/lz-utilities'\nimport { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n InputEntryFunctionData,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveStructId,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TableItemRequest,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\n\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: InitiaProvider\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n return new SDK({ provider: provider as InitiaProvider })\n}\n\n/**\n * Interface representing an Axios error, which returned by the chain node.\n */\ninterface AxiosError {\n response: {\n data: {\n code: number\n message: string\n }\n }\n}\n\n/**\n * Checks if the given error is an AxiosError.\n *\n * @param {any} error - The error to check.\n * @returns {error is AxiosError} True if the error is an AxiosError, false otherwise.\n */\nfunction isAxiosError(error: any): error is AxiosError {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return error?.response?.data?.message !== undefined\n}\n\n/**\n * Checks if the given transaction result is a TxError.\n *\n * @param {unknown} tx - The transaction result to check, for initia the result type is {@link WaitTxBroadcastResult}.\n * @returns {tx is TxError} True if the transaction result is a TxError, false otherwise.\n */\nfunction isTxError(tx: unknown): tx is TxError {\n return tx instanceof Object && 'code' in tx && Number(tx.code) !== 0\n}\n\n/**\n * The SDK class provides methods to interact with the Initia.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<MnemonicKey>}\n */\nexport class SDK implements MoveSdkImpl<MnemonicKey> {\n stage: Stage\n provider: InitiaProvider\n LayerzeroModule: LayerZeroModulesSdk<MnemonicKey>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: this.toHexAddress(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0'),\n counter_v2: this.toHexAddress(COUNTER_V2_ADDRESS[this.stage] ?? '0x0'),\n oft: this.toHexAddress(OFT_ADDRESS[this.stage] ?? '0x0'),\n layerzero_views: this.toHexAddress(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0'),\n simple_message_lib: this.toHexAddress(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n uln_message_lib: this.toHexAddress(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n executor: this.toHexAddress(EXECUTOR_ADDRESS[this.stage] ?? '0x0'),\n dvn: this.toHexAddress(DVN_ADDRESS[this.stage] ?? '0x0'),\n worker_common: this.toHexAddress(WORKER_COMMON[this.stage] ?? '0x0'),\n price_feed: this.toHexAddress(PRICE_FEED[this.stage] ?? '0x0'),\n treasury: this.toHexAddress(TREASURY_ADDRESS[this.stage] ?? '0x0'),\n endpoint_v2_common: this.toHexAddress(ENDPOINT_V2_COMMON[this.stage] ?? '0x0'),\n }\n this.provider = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Initia native client.\n *\n * @returns {LCDClient} The Initia native client.\n */\n getLCDClient(): LCDClient {\n return this.provider.native\n }\n\n /**\n * Builds a DVN verify transaction.\n *\n * @param {string} adminSignerAddress - The address of the admin signer.\n * @param {Date} date - The date of the transaction.\n * @param {PacketV1Codec} codec - The codec for the packet.\n * @param {string} receiveMessageLibAddress - The address of the receive message library.\n * @param {number} inboundConfirmation - The number of inbound confirmations.\n * @param {number} expiration - The expiration time.\n * @param {string} signatures - The signatures for the transaction.\n * @returns {Promise<TransactionRequest>} The transaction request.\n */\n async buildDVNVerifyTransaction(\n adminSignerAddress: string,\n date: Date,\n codec: PacketV1Codec,\n receiveMessageLibAddress: string,\n inboundConfirmation: number,\n expiration: number,\n signatures: string\n ): Promise<TransactionRequest> {\n const payload: InputEntryFunctionData = {\n function: `${DVN_ADDRESS[this.stage]}::dvn::verify`,\n functionArguments: [\n arrayify(codec.header()),\n arrayify(codec.payloadHash()),\n BigInt(inboundConfirmation),\n receiveMessageLibAddress,\n BigInt(expiration) + BigInt(date.getTime()),\n arrayify(signatures),\n ] as EntryFunctionArgumentTypes[],\n functionArgumentTypes: ['vector<u8>', 'vector<u8>', 'u64', 'address', 'u64', 'vector<u8>'],\n }\n const accAddr = AccAddress.fromHex(adminSignerAddress)\n const msg: Msg = convertPayloadToMsgExecute(accAddr, payload)\n const tx = await this.getLCDClient().tx.create([{ address: accAddr }], { msgs: [msg] })\n return TransactionRequest.from(tx)\n }\n\n /**\n * Executes a view function.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.functionArgTypes] - The types of the arguments.\n * @param {string[]} [args.typeArgs] - The type arguments.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n functionArgTypes?: string[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const argsStrings = covertPayloadArgs(args.functionArgTypes ?? [], args.functionArgs)\n const [moduleAddress, moduleName, functionName] = args.functionName.split('::')\n try {\n const viewFunctionData = await this.provider.native.move.viewFunction<MoveValue>(\n moduleAddress,\n moduleName,\n functionName,\n args.typeArgs ?? [],\n argsStrings\n )\n return [viewFunctionData]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the given signer.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {MnemonicKey} The normalized signer.\n */\n normalizeSigner(signer: MnemonicKey | PrivateKey | MnemonicAndPath): MnemonicKey {\n if (signer instanceof MnemonicKey) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n const { mnemonic, path } = signer\n const [_, coinType, account, __, index] = path.match(/\\d+/g)?.map(Number) ?? []\n return new MnemonicKey({\n mnemonic,\n coinType,\n account,\n index,\n })\n } else if (isPrivateKey(signer)) {\n return MnemonicKey.fromHex(signer) as MnemonicKey\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts the given account to an address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: MnemonicKey): string {\n return this.toHexAddress(account.accAddress)\n }\n\n /**\n * Converts an address to a Bech32 address.\n * For more details about Bech32 addresses, see https://thebitcoinmanual.com/articles/btc-bech32-address/.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert. It can be a string or a Uint8Array.\n * @returns {string} The Bech32 address.\n */\n toBech32Address(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return anyAddress\n }\n return AccAddress.fromHex(anyAddress)\n }\n\n /**\n * Converts an address to a hexadecimal string.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert.\n * @returns {string} The hexadecimal string representation of the address.\n */\n toHexAddress(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return AccAddress.toHex(anyAddress)\n }\n return anyAddress\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (isAxiosError(e)) {\n const errorString = e.response.data.message\n const codeMatch = errorString.match(/code=(\\d+)/)\n if (errorString.includes('VM aborted') && codeMatch !== null) {\n const code = parseInt(codeMatch[1])\n return new MoveAbortError(code, e.response.data.message)\n } else if (errorString.startsWith('collections: not found')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else if (errorString.includes('MISSING_DATA')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else {\n return new UnclassifiedError(e.response.data.message)\n }\n }\n return e\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [argTypes] - The types of the arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n sender: MnemonicKey | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[],\n argTypes?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n sender = this.normalizeSigner(sender)\n const coreSigner = InitiaSigner.from(sender).connect(this.provider)\n\n const buildTxRequestOption: InitiaBuildTxRequestOptions = {\n gas: gasOptions?.gasLimit,\n gasPrice: gasOptions?.gasPrice !== undefined ? `${gasOptions.gasPrice}uinit` : undefined,\n }\n\n const txRequest = await coreSigner.buildTransaction({\n payload: {\n function: func,\n functionArguments: args,\n functionArgumentTypes: argTypes,\n typeArguments: typeArguments,\n },\n options: buildTxRequestOption,\n })\n const signedTx = await coreSigner.signTransaction(txRequest)\n\n const txReceipt = await coreSigner.sendAndConfirm(signedTx)\n const result = txReceipt.receipt as WaitTxBroadcastResult\n\n if (isTxError(result)) {\n throw Error(result.raw_log)\n }\n return {\n hash: result.txhash,\n sender: sender.accAddress,\n raw: result,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {string | Uint8Array} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {Object} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: string | Uint8Array\n resourceType: MoveStructId\n options?: unknown\n }): Promise<T> {\n try {\n const address = this.toHexAddress(args.accountAddress)\n const { data } = await this.provider.native.move.resource(address, args.resourceType)\n return data as T\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveResourceNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Gets a table item.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {Object} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: unknown }): Promise<T> {\n try {\n const res = await this.provider.native.move.tableEntry(\n args.handle,\n convertArg(args.data.key_type as string, args.data.key as EntryFunctionArgumentTypes)\n )\n const { value } = res\n const valueObject = JSON.parse(value) as { [key: string]: T }\n return Object.values(valueObject)[0]\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveTableItemNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Normalizes the given address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return address\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return false\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x55c9aa355f26e5f311af070ca7da9990d01fb7db',\n [Stage.SANDBOX]: '0x9560458244b6f15bad18fe7f713d09490921aa90',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x71311073935a2b716b9660caa4a704674494d3b9',\n [Stage.SANDBOX]: '0x29b18f0ac4c4e395c017029029eb72029c121a02',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x74886dec58f41ad824e404c1d6d1a17efdfccc56',\n [Stage.SANDBOX]: '0x8f045d5da0ef3615644d02e51e22515d152fb41c',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6c4a494f374093c9bcf0192a59cfc05424b726dd',\n [Stage.SANDBOX]: '0x653aa7b4d2d40bf9a3069ea50c94469bc2457176',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x41aba793e2e42a4f07e586b7ccb83fb599eba301',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x5a4cb364837a9ee5bb23a885710a827d729fb662',\n [Stage.SANDBOX]: '0x3f90b37789daae7f4362bc92fd43cab119b5e683',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xf4851b3e55014c5d03e0f2183af77fd5f71a9eb2',\n [Stage.SANDBOX]: '0xe0694909091d33252c6935ec7de52d85a78c20e7',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x1fdbdab3fec27ece61e37839a079b2f9eda60b64',\n [Stage.SANDBOX]: '0xf0ad1b2b2295c7c80a83de59427dee9627363355',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x0e910f4a046f4c3113438e8c7882cbbff34845aa',\n [Stage.SANDBOX]: '0x881773c1c2abca25f8e6191c4584eaf7a0d15e80',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xff3f509f96578b793999a9ba82651d57b02a832b',\n [Stage.SANDBOX]: '0x4e5a65a1953e1b2f576edc6e1e9f00da02dbd3d5',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x299eb1bababc19a801b97f0cbf728be97cd197c2',\n [Stage.SANDBOX]: '0xc4d96a76466e6bfb44f6ddb5daabdcd76e7ee7b1',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6da16aabf8d791340730ac512ae2c871f180d67b',\n [Stage.SANDBOX]: '0x77160f68f4f1af74ab5875253db51366ca97f91f',\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/addresses.ts","../src/utils.ts","../src/index.ts"],"names":["Stage","TransactionRequest","MsgExecute","bcs","LayerZeroModulesSdk","arrayify","AccAddress","MnemonicKey","isMnemonicAndPath","isPrivateKey","MoveAbortError","MoveResourceNotFoundError","UnclassifiedError","InitiaSigner","MoveTableItemNotFoundError"],"mappings":"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","file":"index.cjs","sourcesContent":["// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x55c9aa355f26e5f311af070ca7da9990d01fb7db',\n [Stage.SANDBOX]: '0x9560458244b6f15bad18fe7f713d09490921aa90',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x71311073935a2b716b9660caa4a704674494d3b9',\n [Stage.SANDBOX]: '0x29b18f0ac4c4e395c017029029eb72029c121a02',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x74886dec58f41ad824e404c1d6d1a17efdfccc56',\n [Stage.SANDBOX]: '0x8f045d5da0ef3615644d02e51e22515d152fb41c',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6c4a494f374093c9bcf0192a59cfc05424b726dd',\n [Stage.SANDBOX]: '0x653aa7b4d2d40bf9a3069ea50c94469bc2457176',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x41aba793e2e42a4f07e586b7ccb83fb599eba301',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x5a4cb364837a9ee5bb23a885710a827d729fb662',\n [Stage.SANDBOX]: '0x3f90b37789daae7f4362bc92fd43cab119b5e683',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xf4851b3e55014c5d03e0f2183af77fd5f71a9eb2',\n [Stage.SANDBOX]: '0xe0694909091d33252c6935ec7de52d85a78c20e7',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x1fdbdab3fec27ece61e37839a079b2f9eda60b64',\n [Stage.SANDBOX]: '0xf0ad1b2b2295c7c80a83de59427dee9627363355',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x0e910f4a046f4c3113438e8c7882cbbff34845aa',\n [Stage.SANDBOX]: '0x881773c1c2abca25f8e6191c4584eaf7a0d15e80',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xff3f509f96578b793999a9ba82651d57b02a832b',\n [Stage.SANDBOX]: '0x4e5a65a1953e1b2f576edc6e1e9f00da02dbd3d5',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x299eb1bababc19a801b97f0cbf728be97cd197c2',\n [Stage.SANDBOX]: '0xc4d96a76466e6bfb44f6ddb5daabdcd76e7ee7b1',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6da16aabf8d791340730ac512ae2c871f180d67b',\n [Stage.SANDBOX]: '0x77160f68f4f1af74ab5875253db51366ca97f91f',\n}\n","import { CreateTxOptions, Msg, MsgExecute, Wallet, bcs } from '@initia/initia.js'\n\nimport { TransactionRequest } from '@layerzerolabs/lz-core'\nimport { EntryFunctionArgumentTypes, InputEntryFunctionData } from '@layerzerolabs/move-definitions'\n\nimport { InitiaBuildTxRequest } from './types'\n\n/**\n * Builds a transaction.\n *\n * @param {Wallet} nativeSigner - The nativeSigner\n * @param {InitiaBuildTxRequest} buildTxRequest - The transaction request to build.\n * @returns {Promise<TransactionRequest>} A promise that resolves to the built transaction request.\n * @throws {Error} If the gas price is invalid.\n */\nexport async function buildTransaction(\n nativeSigner: Wallet,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender = nativeSigner.key.accAddress.toString()\n const msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload)\n const createOptions: CreateTxOptions & {\n sequence?: number\n } = {\n msgs: [msg],\n }\n if (buildTxRequest.options?.gas !== undefined) {\n createOptions.gas = buildTxRequest.options.gas\n }\n if (buildTxRequest.options?.gasPrice !== undefined) {\n if (isNaN(Number(buildTxRequest.options.gasPrice)) && buildTxRequest.options.gasPrice.endsWith('uinit')) {\n createOptions.gasPrices = buildTxRequest.options.gasPrice\n } else if (!isNaN(Number(buildTxRequest.options.gasPrice))) {\n createOptions.gasPrices = `${buildTxRequest.options.gasPrice}uinit`\n } else {\n throw Error(`Invalid gas price for initia :${buildTxRequest.options.gasPrice}`)\n }\n }\n // createOptions.sequence = initial + offset\n const tx = await nativeSigner.createTx(createOptions)\n return TransactionRequest.from(tx)\n}\n\n/**\n * Converts a payload to a MsgExecute object for the Initia blockchain.\n *\n * @param {string} sender - The address of the sender.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Msg} The MsgExecute object.\n */\nexport function convertPayloadToMsgExecute(sender: string, payload: InputEntryFunctionData): Msg {\n const functionStructs = payload.function.split('::')\n const moduleAddress = functionStructs[0]\n const moduleName = functionStructs[1]\n const functionName = functionStructs[2]\n const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments)\n const msg = new MsgExecute(\n sender, // sender address\n moduleAddress, // module owner address\n moduleName, // module name\n functionName, // function name\n payload.typeArguments ?? [], // type args\n args\n )\n return msg\n}\n\n/**\n * Converts payload arguments to a list of strings.\n *\n * @param {string[]} functionArgumentTypes - The types of the function arguments.\n * @param {EntryFunctionArgumentTypes[]} functionArguments - The function arguments.\n * @returns {string[]} The list of converted arguments.\n */\nexport function covertPayloadArgs(\n functionArgumentTypes: string[],\n functionArguments: EntryFunctionArgumentTypes[]\n): string[] {\n const args: string[] = []\n for (let i = 0; i < functionArguments.length; i++) {\n args.push(convertArg(functionArgumentTypes[i], functionArguments[i]))\n }\n return args\n}\n\n/**\n * Converts a single argument to a string based on its type.\n *\n * @param {string} argsType - The type of the argument.\n * @param {EntryFunctionArgumentTypes} arg - The argument to convert.\n * @returns {string} The converted argument as a string.\n * @throws {Error} If the argument type is invalid.\n */\nexport function convertArg(argsType: string, arg: EntryFunctionArgumentTypes): string {\n switch (argsType) {\n case 'bool':\n return bcs\n .bool()\n .serialize(arg as boolean)\n .toBase64()\n case 'u256':\n return bcs\n .u256()\n .serialize(arg as bigint)\n .toBase64()\n case 'u128':\n return bcs\n .u128()\n .serialize(arg as bigint)\n .toBase64()\n case 'u64':\n return bcs\n .u64()\n .serialize(arg as bigint)\n .toBase64()\n case 'u32':\n return bcs\n .u32()\n .serialize(arg as number)\n .toBase64()\n case 'u16':\n return bcs\n .u16()\n .serialize(arg as number)\n .toBase64()\n case 'u8':\n return bcs\n .u8()\n .serialize(arg as number)\n .toBase64()\n case 'address':\n return bcs\n .address()\n .serialize(arg as string)\n .toBase64()\n case 'vector<u8>':\n return bcs\n .vector(bcs.u8())\n .serialize(arg as unknown as Uint8Array)\n .toBase64()\n case 'vector<address>':\n return bcs\n .vector(bcs.address())\n .serialize(arg as unknown as string[])\n .toBase64()\n case 'vector<vector<u8>>':\n return bcs\n .vector(bcs.vector(bcs.u8()))\n .serialize(arg as unknown as Uint8Array[])\n .toBase64()\n default:\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Invalid type argsType: ${argsType.toString()}`)\n }\n}\n","import { AccAddress, LCDClient, MnemonicKey, Msg, TxError, WaitTxBroadcastResult, Wallet } from '@initia/initia.js'\n\nimport { Provider, TransactionRequest } from '@layerzerolabs/lz-core'\nimport { InitiaProvider, InitiaSigner } from '@layerzerolabs/lz-corekit-initia'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport { arrayify } from '@layerzerolabs/lz-utilities'\nimport { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n InputEntryFunctionData,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveStructId,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TableItemRequest,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { InitiaBuildTxRequestOptions } from './types'\nimport { buildTransaction, convertArg, convertPayloadToMsgExecute, covertPayloadArgs } from './utils'\n\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: InitiaProvider\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n return new SDK({ provider: provider as InitiaProvider })\n}\n\n/**\n * Interface representing an Axios error, which returned by the chain node.\n */\ninterface AxiosError {\n response: {\n data: {\n code: number\n message: string\n }\n }\n}\n\n/**\n * Checks if the given error is an AxiosError.\n *\n * @param {any} error - The error to check.\n * @returns {error is AxiosError} True if the error is an AxiosError, false otherwise.\n */\nfunction isAxiosError(error: any): error is AxiosError {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return error?.response?.data?.message !== undefined\n}\n\n/**\n * Checks if the given transaction result is a TxError.\n *\n * @param {unknown} tx - The transaction result to check, for initia the result type is {@link WaitTxBroadcastResult}.\n * @returns {tx is TxError} True if the transaction result is a TxError, false otherwise.\n */\nfunction isTxError(tx: unknown): tx is TxError {\n return tx instanceof Object && 'code' in tx && Number(tx.code) !== 0\n}\n\n/**\n * The SDK class provides methods to interact with the Initia.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<MnemonicKey>}\n */\nexport class SDK implements MoveSdkImpl<MnemonicKey> {\n stage: Stage\n provider: InitiaProvider\n LayerzeroModule: LayerZeroModulesSdk<MnemonicKey>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: this.toHexAddress(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0'),\n counter_v2: this.toHexAddress(COUNTER_V2_ADDRESS[this.stage] ?? '0x0'),\n oft: this.toHexAddress(OFT_ADDRESS[this.stage] ?? '0x0'),\n layerzero_views: this.toHexAddress(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0'),\n simple_message_lib: this.toHexAddress(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n uln_message_lib: this.toHexAddress(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n executor: this.toHexAddress(EXECUTOR_ADDRESS[this.stage] ?? '0x0'),\n dvn: this.toHexAddress(DVN_ADDRESS[this.stage] ?? '0x0'),\n worker_common: this.toHexAddress(WORKER_COMMON[this.stage] ?? '0x0'),\n price_feed: this.toHexAddress(PRICE_FEED[this.stage] ?? '0x0'),\n treasury: this.toHexAddress(TREASURY_ADDRESS[this.stage] ?? '0x0'),\n endpoint_v2_common: this.toHexAddress(ENDPOINT_V2_COMMON[this.stage] ?? '0x0'),\n }\n this.provider = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Initia native client.\n *\n * @returns {LCDClient} The Initia native client.\n */\n getLCDClient(): LCDClient {\n return this.provider.native\n }\n\n /**\n * Builds a DVN verify transaction.\n *\n * @param {string} adminSignerAddress - The address of the admin signer.\n * @param {Date} date - The date of the transaction.\n * @param {PacketV1Codec} codec - The codec for the packet.\n * @param {string} receiveMessageLibAddress - The address of the receive message library.\n * @param {number} inboundConfirmation - The number of inbound confirmations.\n * @param {number} expiration - The expiration time.\n * @param {string} signatures - The signatures for the transaction.\n * @returns {Promise<TransactionRequest>} The transaction request.\n */\n async buildDVNVerifyTransaction(\n adminSignerAddress: string,\n date: Date,\n codec: PacketV1Codec,\n receiveMessageLibAddress: string,\n inboundConfirmation: number,\n expiration: number,\n signatures: string\n ): Promise<TransactionRequest> {\n const payload: InputEntryFunctionData = {\n function: `${DVN_ADDRESS[this.stage]}::dvn::verify`,\n functionArguments: [\n arrayify(codec.header()),\n arrayify(codec.payloadHash()),\n BigInt(inboundConfirmation),\n receiveMessageLibAddress,\n BigInt(expiration) + BigInt(date.getTime()),\n arrayify(signatures),\n ] as EntryFunctionArgumentTypes[],\n functionArgumentTypes: ['vector<u8>', 'vector<u8>', 'u64', 'address', 'u64', 'vector<u8>'],\n }\n const accAddr = AccAddress.fromHex(adminSignerAddress)\n const msg: Msg = convertPayloadToMsgExecute(accAddr, payload)\n const tx = await this.getLCDClient().tx.create([{ address: accAddr }], { msgs: [msg] })\n return TransactionRequest.from(tx)\n }\n\n /**\n * Executes a view function.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.functionArgTypes] - The types of the arguments.\n * @param {string[]} [args.typeArgs] - The type arguments.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n functionArgTypes?: string[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const argsStrings = covertPayloadArgs(args.functionArgTypes ?? [], args.functionArgs)\n const [moduleAddress, moduleName, functionName] = args.functionName.split('::')\n try {\n const viewFunctionData = await this.provider.native.move.viewFunction<MoveValue>(\n moduleAddress,\n moduleName,\n functionName,\n args.typeArgs ?? [],\n argsStrings\n )\n return [viewFunctionData]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the given signer.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {MnemonicKey} The normalized signer.\n */\n normalizeSigner(signer: MnemonicKey | PrivateKey | MnemonicAndPath): MnemonicKey {\n if (signer instanceof MnemonicKey) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n const { mnemonic, path } = signer\n const [_, coinType, account, __, index] = path.match(/\\d+/g)?.map(Number) ?? []\n return new MnemonicKey({\n mnemonic,\n coinType,\n account,\n index,\n })\n } else if (isPrivateKey(signer)) {\n return MnemonicKey.fromHex(signer) as MnemonicKey\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts the given account to an address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: MnemonicKey): string {\n return this.toHexAddress(account.accAddress)\n }\n\n /**\n * Converts an address to a Bech32 address.\n * For more details about Bech32 addresses, see https://thebitcoinmanual.com/articles/btc-bech32-address/.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert. It can be a string or a Uint8Array.\n * @returns {string} The Bech32 address.\n */\n toBech32Address(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return anyAddress\n }\n return AccAddress.fromHex(anyAddress)\n }\n\n /**\n * Converts an address to a hexadecimal string.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert.\n * @returns {string} The hexadecimal string representation of the address.\n */\n toHexAddress(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return AccAddress.toHex(anyAddress)\n }\n return anyAddress\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (isAxiosError(e)) {\n const errorString = e.response.data.message\n const codeMatch = errorString.match(/code=(\\d+)/)\n if (errorString.includes('VM aborted') && codeMatch !== null) {\n const code = parseInt(codeMatch[1])\n return new MoveAbortError(code, e.response.data.message)\n } else if (errorString.startsWith('collections: not found')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else if (errorString.includes('MISSING_DATA')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else {\n return new UnclassifiedError(e.response.data.message)\n }\n }\n return e\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [argTypes] - The types of the arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n sender: MnemonicKey | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[],\n argTypes?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n sender = this.normalizeSigner(sender)\n const coreSigner = InitiaSigner.from(sender).connect(this.provider)\n\n const buildTxRequestOption: InitiaBuildTxRequestOptions = {\n gas: gasOptions?.gasLimit,\n gasPrice: gasOptions?.gasPrice !== undefined ? `${gasOptions.gasPrice}uinit` : undefined,\n }\n\n const txRequest = await buildTransaction(coreSigner.native as Wallet, {\n payload: {\n function: func,\n functionArguments: args,\n functionArgumentTypes: argTypes,\n typeArguments: typeArguments,\n },\n options: buildTxRequestOption,\n })\n const signedTx = await coreSigner.signTransaction(txRequest)\n\n const txReceipt = await coreSigner.sendAndConfirm(signedTx)\n const result = txReceipt.receipt as WaitTxBroadcastResult\n\n if (isTxError(result)) {\n throw Error(result.raw_log)\n }\n return {\n hash: result.txhash,\n sender: sender.accAddress,\n raw: result,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {string | Uint8Array} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {Object} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: string | Uint8Array\n resourceType: MoveStructId\n options?: unknown\n }): Promise<T> {\n try {\n const address = this.toHexAddress(args.accountAddress)\n const { data } = await this.provider.native.move.resource(address, args.resourceType)\n return data as T\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveResourceNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Gets a table item.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {Object} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: unknown }): Promise<T> {\n try {\n const res = await this.provider.native.move.tableEntry(\n args.handle,\n convertArg(args.data.key_type as string, args.data.key as EntryFunctionArgumentTypes)\n )\n const { value } = res\n const valueObject = JSON.parse(value) as { [key: string]: T }\n return Object.values(valueObject)[0]\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveTableItemNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Normalizes the given address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return address\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return false\n }\n}\n\nexport * from './types'\nexport * from './utils'\n"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { MnemonicKey, LCDClient } from '@initia/initia.js';
|
|
2
|
-
import {
|
|
1
|
+
import { Wallet, Msg, MnemonicKey, LCDClient } from '@initia/initia.js';
|
|
2
|
+
import { TransactionRequest, Provider } from '@layerzerolabs/lz-core';
|
|
3
3
|
import { InitiaProvider } from '@layerzerolabs/lz-corekit-initia';
|
|
4
4
|
import { Stage } from '@layerzerolabs/lz-definitions';
|
|
5
5
|
import { AccountsOption, MoveSdkImpl, LayerZeroModulesSdk } from '@layerzerolabs/lz-movevm-sdk-v2';
|
|
6
6
|
import { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities';
|
|
7
|
-
import {
|
|
7
|
+
import { InputEntryFunctionData, EntryFunctionArgumentTypes, MoveFunction, MoveValue, PrivateKey, MnemonicAndPath, GasOptions, TransactionResponse, MoveStructId, TableItemRequest } from '@layerzerolabs/move-definitions';
|
|
8
8
|
|
|
9
9
|
declare const ENDPOINT_V2_ADDRESS: {
|
|
10
10
|
[stage in Stage]?: string;
|
|
@@ -43,6 +43,72 @@ declare const ENDPOINT_V2_COMMON: {
|
|
|
43
43
|
[stage in Stage]?: string;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Represents a request to build a transaction on the Initia blockchain.
|
|
48
|
+
*/
|
|
49
|
+
interface InitiaBuildTxRequest {
|
|
50
|
+
/**
|
|
51
|
+
* The payload of the transaction. {@link InputEntryFunctionData}
|
|
52
|
+
*/
|
|
53
|
+
payload: InputEntryFunctionData;
|
|
54
|
+
/**
|
|
55
|
+
* Optional parameters for building the transaction. {@link InitiaBuildTxRequestOptions}
|
|
56
|
+
*/
|
|
57
|
+
options?: InitiaBuildTxRequestOptions;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Represents optional parameters for building a transaction on the Initia blockchain.
|
|
61
|
+
*/
|
|
62
|
+
interface InitiaBuildTxRequestOptions {
|
|
63
|
+
/**
|
|
64
|
+
* The sequence number of the transaction.
|
|
65
|
+
*/
|
|
66
|
+
sequence?: number;
|
|
67
|
+
/**
|
|
68
|
+
* The gas limit for the transaction.
|
|
69
|
+
*/
|
|
70
|
+
gas?: string;
|
|
71
|
+
/**
|
|
72
|
+
* The gas price for the transaction.
|
|
73
|
+
*/
|
|
74
|
+
gasPrice?: string;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Builds a transaction.
|
|
79
|
+
*
|
|
80
|
+
* @param {Wallet} nativeSigner - The nativeSigner
|
|
81
|
+
* @param {InitiaBuildTxRequest} buildTxRequest - The transaction request to build.
|
|
82
|
+
* @returns {Promise<TransactionRequest>} A promise that resolves to the built transaction request.
|
|
83
|
+
* @throws {Error} If the gas price is invalid.
|
|
84
|
+
*/
|
|
85
|
+
declare function buildTransaction(nativeSigner: Wallet, buildTxRequest: InitiaBuildTxRequest): Promise<TransactionRequest>;
|
|
86
|
+
/**
|
|
87
|
+
* Converts a payload to a MsgExecute object for the Initia blockchain.
|
|
88
|
+
*
|
|
89
|
+
* @param {string} sender - The address of the sender.
|
|
90
|
+
* @param {InputEntryFunctionData} payload - The payload of the transaction.
|
|
91
|
+
* @returns {Msg} The MsgExecute object.
|
|
92
|
+
*/
|
|
93
|
+
declare function convertPayloadToMsgExecute(sender: string, payload: InputEntryFunctionData): Msg;
|
|
94
|
+
/**
|
|
95
|
+
* Converts payload arguments to a list of strings.
|
|
96
|
+
*
|
|
97
|
+
* @param {string[]} functionArgumentTypes - The types of the function arguments.
|
|
98
|
+
* @param {EntryFunctionArgumentTypes[]} functionArguments - The function arguments.
|
|
99
|
+
* @returns {string[]} The list of converted arguments.
|
|
100
|
+
*/
|
|
101
|
+
declare function covertPayloadArgs(functionArgumentTypes: string[], functionArguments: EntryFunctionArgumentTypes[]): string[];
|
|
102
|
+
/**
|
|
103
|
+
* Converts a single argument to a string based on its type.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} argsType - The type of the argument.
|
|
106
|
+
* @param {EntryFunctionArgumentTypes} arg - The argument to convert.
|
|
107
|
+
* @returns {string} The converted argument as a string.
|
|
108
|
+
* @throws {Error} If the argument type is invalid.
|
|
109
|
+
*/
|
|
110
|
+
declare function convertArg(argsType: string, arg: EntryFunctionArgumentTypes): string;
|
|
111
|
+
|
|
46
112
|
/**
|
|
47
113
|
* Options for initializing the SDK.
|
|
48
114
|
*/
|
|
@@ -222,4 +288,4 @@ declare class SDK implements MoveSdkImpl<MnemonicKey> {
|
|
|
222
288
|
supportsCoin(): boolean;
|
|
223
289
|
}
|
|
224
290
|
|
|
225
|
-
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, type SdkOptions, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, getSDKFromProvider };
|
|
291
|
+
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, type InitiaBuildTxRequest, type InitiaBuildTxRequestOptions, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, type SdkOptions, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, buildTransaction, convertArg, convertPayloadToMsgExecute, covertPayloadArgs, getSDKFromProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { MnemonicKey, LCDClient } from '@initia/initia.js';
|
|
2
|
-
import {
|
|
1
|
+
import { Wallet, Msg, MnemonicKey, LCDClient } from '@initia/initia.js';
|
|
2
|
+
import { TransactionRequest, Provider } from '@layerzerolabs/lz-core';
|
|
3
3
|
import { InitiaProvider } from '@layerzerolabs/lz-corekit-initia';
|
|
4
4
|
import { Stage } from '@layerzerolabs/lz-definitions';
|
|
5
5
|
import { AccountsOption, MoveSdkImpl, LayerZeroModulesSdk } from '@layerzerolabs/lz-movevm-sdk-v2';
|
|
6
6
|
import { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities';
|
|
7
|
-
import {
|
|
7
|
+
import { InputEntryFunctionData, EntryFunctionArgumentTypes, MoveFunction, MoveValue, PrivateKey, MnemonicAndPath, GasOptions, TransactionResponse, MoveStructId, TableItemRequest } from '@layerzerolabs/move-definitions';
|
|
8
8
|
|
|
9
9
|
declare const ENDPOINT_V2_ADDRESS: {
|
|
10
10
|
[stage in Stage]?: string;
|
|
@@ -43,6 +43,72 @@ declare const ENDPOINT_V2_COMMON: {
|
|
|
43
43
|
[stage in Stage]?: string;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
+
/**
|
|
47
|
+
* Represents a request to build a transaction on the Initia blockchain.
|
|
48
|
+
*/
|
|
49
|
+
interface InitiaBuildTxRequest {
|
|
50
|
+
/**
|
|
51
|
+
* The payload of the transaction. {@link InputEntryFunctionData}
|
|
52
|
+
*/
|
|
53
|
+
payload: InputEntryFunctionData;
|
|
54
|
+
/**
|
|
55
|
+
* Optional parameters for building the transaction. {@link InitiaBuildTxRequestOptions}
|
|
56
|
+
*/
|
|
57
|
+
options?: InitiaBuildTxRequestOptions;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Represents optional parameters for building a transaction on the Initia blockchain.
|
|
61
|
+
*/
|
|
62
|
+
interface InitiaBuildTxRequestOptions {
|
|
63
|
+
/**
|
|
64
|
+
* The sequence number of the transaction.
|
|
65
|
+
*/
|
|
66
|
+
sequence?: number;
|
|
67
|
+
/**
|
|
68
|
+
* The gas limit for the transaction.
|
|
69
|
+
*/
|
|
70
|
+
gas?: string;
|
|
71
|
+
/**
|
|
72
|
+
* The gas price for the transaction.
|
|
73
|
+
*/
|
|
74
|
+
gasPrice?: string;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Builds a transaction.
|
|
79
|
+
*
|
|
80
|
+
* @param {Wallet} nativeSigner - The nativeSigner
|
|
81
|
+
* @param {InitiaBuildTxRequest} buildTxRequest - The transaction request to build.
|
|
82
|
+
* @returns {Promise<TransactionRequest>} A promise that resolves to the built transaction request.
|
|
83
|
+
* @throws {Error} If the gas price is invalid.
|
|
84
|
+
*/
|
|
85
|
+
declare function buildTransaction(nativeSigner: Wallet, buildTxRequest: InitiaBuildTxRequest): Promise<TransactionRequest>;
|
|
86
|
+
/**
|
|
87
|
+
* Converts a payload to a MsgExecute object for the Initia blockchain.
|
|
88
|
+
*
|
|
89
|
+
* @param {string} sender - The address of the sender.
|
|
90
|
+
* @param {InputEntryFunctionData} payload - The payload of the transaction.
|
|
91
|
+
* @returns {Msg} The MsgExecute object.
|
|
92
|
+
*/
|
|
93
|
+
declare function convertPayloadToMsgExecute(sender: string, payload: InputEntryFunctionData): Msg;
|
|
94
|
+
/**
|
|
95
|
+
* Converts payload arguments to a list of strings.
|
|
96
|
+
*
|
|
97
|
+
* @param {string[]} functionArgumentTypes - The types of the function arguments.
|
|
98
|
+
* @param {EntryFunctionArgumentTypes[]} functionArguments - The function arguments.
|
|
99
|
+
* @returns {string[]} The list of converted arguments.
|
|
100
|
+
*/
|
|
101
|
+
declare function covertPayloadArgs(functionArgumentTypes: string[], functionArguments: EntryFunctionArgumentTypes[]): string[];
|
|
102
|
+
/**
|
|
103
|
+
* Converts a single argument to a string based on its type.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} argsType - The type of the argument.
|
|
106
|
+
* @param {EntryFunctionArgumentTypes} arg - The argument to convert.
|
|
107
|
+
* @returns {string} The converted argument as a string.
|
|
108
|
+
* @throws {Error} If the argument type is invalid.
|
|
109
|
+
*/
|
|
110
|
+
declare function convertArg(argsType: string, arg: EntryFunctionArgumentTypes): string;
|
|
111
|
+
|
|
46
112
|
/**
|
|
47
113
|
* Options for initializing the SDK.
|
|
48
114
|
*/
|
|
@@ -222,4 +288,4 @@ declare class SDK implements MoveSdkImpl<MnemonicKey> {
|
|
|
222
288
|
supportsCoin(): boolean;
|
|
223
289
|
}
|
|
224
290
|
|
|
225
|
-
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, type SdkOptions, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, getSDKFromProvider };
|
|
291
|
+
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, type InitiaBuildTxRequest, type InitiaBuildTxRequestOptions, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, type SdkOptions, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, buildTransaction, convertArg, convertPayloadToMsgExecute, covertPayloadArgs, getSDKFromProvider };
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AccAddress, MnemonicKey } from '@initia/initia.js';
|
|
1
|
+
import { MsgExecute, bcs, AccAddress, MnemonicKey } from '@initia/initia.js';
|
|
2
2
|
import { TransactionRequest } from '@layerzerolabs/lz-core';
|
|
3
|
-
import {
|
|
3
|
+
import { InitiaSigner } from '@layerzerolabs/lz-corekit-initia';
|
|
4
4
|
import { Stage } from '@layerzerolabs/lz-definitions';
|
|
5
5
|
import { LayerZeroModulesSdk } from '@layerzerolabs/lz-movevm-sdk-v2';
|
|
6
6
|
import { arrayify } from '@layerzerolabs/lz-utilities';
|
|
@@ -67,6 +67,83 @@ var ENDPOINT_V2_COMMON = {
|
|
|
67
67
|
[Stage.TESTNET]: "0x6da16aabf8d791340730ac512ae2c871f180d67b",
|
|
68
68
|
[Stage.SANDBOX]: "0x77160f68f4f1af74ab5875253db51366ca97f91f"
|
|
69
69
|
};
|
|
70
|
+
async function buildTransaction(nativeSigner, buildTxRequest) {
|
|
71
|
+
const sender = nativeSigner.key.accAddress.toString();
|
|
72
|
+
const msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload);
|
|
73
|
+
const createOptions = {
|
|
74
|
+
msgs: [msg]
|
|
75
|
+
};
|
|
76
|
+
if (buildTxRequest.options?.gas !== void 0) {
|
|
77
|
+
createOptions.gas = buildTxRequest.options.gas;
|
|
78
|
+
}
|
|
79
|
+
if (buildTxRequest.options?.gasPrice !== void 0) {
|
|
80
|
+
if (isNaN(Number(buildTxRequest.options.gasPrice)) && buildTxRequest.options.gasPrice.endsWith("uinit")) {
|
|
81
|
+
createOptions.gasPrices = buildTxRequest.options.gasPrice;
|
|
82
|
+
} else if (!isNaN(Number(buildTxRequest.options.gasPrice))) {
|
|
83
|
+
createOptions.gasPrices = `${buildTxRequest.options.gasPrice}uinit`;
|
|
84
|
+
} else {
|
|
85
|
+
throw Error(`Invalid gas price for initia :${buildTxRequest.options.gasPrice}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const tx = await nativeSigner.createTx(createOptions);
|
|
89
|
+
return TransactionRequest.from(tx);
|
|
90
|
+
}
|
|
91
|
+
function convertPayloadToMsgExecute(sender, payload) {
|
|
92
|
+
const functionStructs = payload.function.split("::");
|
|
93
|
+
const moduleAddress = functionStructs[0];
|
|
94
|
+
const moduleName = functionStructs[1];
|
|
95
|
+
const functionName = functionStructs[2];
|
|
96
|
+
const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments);
|
|
97
|
+
const msg = new MsgExecute(
|
|
98
|
+
sender,
|
|
99
|
+
// sender address
|
|
100
|
+
moduleAddress,
|
|
101
|
+
// module owner address
|
|
102
|
+
moduleName,
|
|
103
|
+
// module name
|
|
104
|
+
functionName,
|
|
105
|
+
// function name
|
|
106
|
+
payload.typeArguments ?? [],
|
|
107
|
+
// type args
|
|
108
|
+
args
|
|
109
|
+
);
|
|
110
|
+
return msg;
|
|
111
|
+
}
|
|
112
|
+
function covertPayloadArgs(functionArgumentTypes, functionArguments) {
|
|
113
|
+
const args = [];
|
|
114
|
+
for (let i = 0; i < functionArguments.length; i++) {
|
|
115
|
+
args.push(convertArg(functionArgumentTypes[i], functionArguments[i]));
|
|
116
|
+
}
|
|
117
|
+
return args;
|
|
118
|
+
}
|
|
119
|
+
function convertArg(argsType, arg) {
|
|
120
|
+
switch (argsType) {
|
|
121
|
+
case "bool":
|
|
122
|
+
return bcs.bool().serialize(arg).toBase64();
|
|
123
|
+
case "u256":
|
|
124
|
+
return bcs.u256().serialize(arg).toBase64();
|
|
125
|
+
case "u128":
|
|
126
|
+
return bcs.u128().serialize(arg).toBase64();
|
|
127
|
+
case "u64":
|
|
128
|
+
return bcs.u64().serialize(arg).toBase64();
|
|
129
|
+
case "u32":
|
|
130
|
+
return bcs.u32().serialize(arg).toBase64();
|
|
131
|
+
case "u16":
|
|
132
|
+
return bcs.u16().serialize(arg).toBase64();
|
|
133
|
+
case "u8":
|
|
134
|
+
return bcs.u8().serialize(arg).toBase64();
|
|
135
|
+
case "address":
|
|
136
|
+
return bcs.address().serialize(arg).toBase64();
|
|
137
|
+
case "vector<u8>":
|
|
138
|
+
return bcs.vector(bcs.u8()).serialize(arg).toBase64();
|
|
139
|
+
case "vector<address>":
|
|
140
|
+
return bcs.vector(bcs.address()).serialize(arg).toBase64();
|
|
141
|
+
case "vector<vector<u8>>":
|
|
142
|
+
return bcs.vector(bcs.vector(bcs.u8())).serialize(arg).toBase64();
|
|
143
|
+
default:
|
|
144
|
+
throw new Error(`Invalid type argsType: ${argsType.toString()}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
70
147
|
|
|
71
148
|
// src/index.ts
|
|
72
149
|
function getSDKFromProvider(provider) {
|
|
@@ -276,7 +353,7 @@ var SDK = class {
|
|
|
276
353
|
gas: gasOptions?.gasLimit,
|
|
277
354
|
gasPrice: gasOptions?.gasPrice !== void 0 ? `${gasOptions.gasPrice}uinit` : void 0
|
|
278
355
|
};
|
|
279
|
-
const txRequest = await coreSigner.
|
|
356
|
+
const txRequest = await buildTransaction(coreSigner.native, {
|
|
280
357
|
payload: {
|
|
281
358
|
function: func,
|
|
282
359
|
functionArguments: args,
|
|
@@ -371,6 +448,6 @@ var SDK = class {
|
|
|
371
448
|
}
|
|
372
449
|
};
|
|
373
450
|
|
|
374
|
-
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, getSDKFromProvider };
|
|
375
|
-
//# sourceMappingURL=
|
|
451
|
+
export { COUNTER_V2_ADDRESS, DVN_ADDRESS, ENDPOINT_V2_ADDRESS, ENDPOINT_V2_COMMON, EXECUTOR_ADDRESS, LAYERZERO_VIEWS_ADDRESS, OFT_ADDRESS, PRICE_FEED, SDK, SIMPLE_MESSAGE_LIB_ADDRESS, TREASURY_ADDRESS, ULN_MESSAGE_LIB_ADDRESS, WORKER_COMMON, buildTransaction, convertArg, convertPayloadToMsgExecute, covertPayloadArgs, getSDKFromProvider };
|
|
452
|
+
//# sourceMappingURL=index.mjs.map
|
|
376
453
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/generated/addresses.ts"],"names":["Stage"],"mappings":"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","sourcesContent":["import { AccAddress, LCDClient, MnemonicKey, Msg, TxError, WaitTxBroadcastResult } from '@initia/initia.js'\n\nimport { Provider, TransactionRequest } from '@layerzerolabs/lz-core'\nimport {\n InitiaBuildTxRequestOptions,\n InitiaProvider,\n InitiaSigner,\n convertArg,\n convertPayloadToMsgExecute,\n covertPayloadArgs,\n} from '@layerzerolabs/lz-corekit-initia'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport { arrayify } from '@layerzerolabs/lz-utilities'\nimport { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n InputEntryFunctionData,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveStructId,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TableItemRequest,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\n\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: InitiaProvider\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n return new SDK({ provider: provider as InitiaProvider })\n}\n\n/**\n * Interface representing an Axios error, which returned by the chain node.\n */\ninterface AxiosError {\n response: {\n data: {\n code: number\n message: string\n }\n }\n}\n\n/**\n * Checks if the given error is an AxiosError.\n *\n * @param {any} error - The error to check.\n * @returns {error is AxiosError} True if the error is an AxiosError, false otherwise.\n */\nfunction isAxiosError(error: any): error is AxiosError {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return error?.response?.data?.message !== undefined\n}\n\n/**\n * Checks if the given transaction result is a TxError.\n *\n * @param {unknown} tx - The transaction result to check, for initia the result type is {@link WaitTxBroadcastResult}.\n * @returns {tx is TxError} True if the transaction result is a TxError, false otherwise.\n */\nfunction isTxError(tx: unknown): tx is TxError {\n return tx instanceof Object && 'code' in tx && Number(tx.code) !== 0\n}\n\n/**\n * The SDK class provides methods to interact with the Initia.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<MnemonicKey>}\n */\nexport class SDK implements MoveSdkImpl<MnemonicKey> {\n stage: Stage\n provider: InitiaProvider\n LayerzeroModule: LayerZeroModulesSdk<MnemonicKey>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: this.toHexAddress(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0'),\n counter_v2: this.toHexAddress(COUNTER_V2_ADDRESS[this.stage] ?? '0x0'),\n oft: this.toHexAddress(OFT_ADDRESS[this.stage] ?? '0x0'),\n layerzero_views: this.toHexAddress(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0'),\n simple_message_lib: this.toHexAddress(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n uln_message_lib: this.toHexAddress(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n executor: this.toHexAddress(EXECUTOR_ADDRESS[this.stage] ?? '0x0'),\n dvn: this.toHexAddress(DVN_ADDRESS[this.stage] ?? '0x0'),\n worker_common: this.toHexAddress(WORKER_COMMON[this.stage] ?? '0x0'),\n price_feed: this.toHexAddress(PRICE_FEED[this.stage] ?? '0x0'),\n treasury: this.toHexAddress(TREASURY_ADDRESS[this.stage] ?? '0x0'),\n endpoint_v2_common: this.toHexAddress(ENDPOINT_V2_COMMON[this.stage] ?? '0x0'),\n }\n this.provider = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Initia native client.\n *\n * @returns {LCDClient} The Initia native client.\n */\n getLCDClient(): LCDClient {\n return this.provider.native\n }\n\n /**\n * Builds a DVN verify transaction.\n *\n * @param {string} adminSignerAddress - The address of the admin signer.\n * @param {Date} date - The date of the transaction.\n * @param {PacketV1Codec} codec - The codec for the packet.\n * @param {string} receiveMessageLibAddress - The address of the receive message library.\n * @param {number} inboundConfirmation - The number of inbound confirmations.\n * @param {number} expiration - The expiration time.\n * @param {string} signatures - The signatures for the transaction.\n * @returns {Promise<TransactionRequest>} The transaction request.\n */\n async buildDVNVerifyTransaction(\n adminSignerAddress: string,\n date: Date,\n codec: PacketV1Codec,\n receiveMessageLibAddress: string,\n inboundConfirmation: number,\n expiration: number,\n signatures: string\n ): Promise<TransactionRequest> {\n const payload: InputEntryFunctionData = {\n function: `${DVN_ADDRESS[this.stage]}::dvn::verify`,\n functionArguments: [\n arrayify(codec.header()),\n arrayify(codec.payloadHash()),\n BigInt(inboundConfirmation),\n receiveMessageLibAddress,\n BigInt(expiration) + BigInt(date.getTime()),\n arrayify(signatures),\n ] as EntryFunctionArgumentTypes[],\n functionArgumentTypes: ['vector<u8>', 'vector<u8>', 'u64', 'address', 'u64', 'vector<u8>'],\n }\n const accAddr = AccAddress.fromHex(adminSignerAddress)\n const msg: Msg = convertPayloadToMsgExecute(accAddr, payload)\n const tx = await this.getLCDClient().tx.create([{ address: accAddr }], { msgs: [msg] })\n return TransactionRequest.from(tx)\n }\n\n /**\n * Executes a view function.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.functionArgTypes] - The types of the arguments.\n * @param {string[]} [args.typeArgs] - The type arguments.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n functionArgTypes?: string[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const argsStrings = covertPayloadArgs(args.functionArgTypes ?? [], args.functionArgs)\n const [moduleAddress, moduleName, functionName] = args.functionName.split('::')\n try {\n const viewFunctionData = await this.provider.native.move.viewFunction<MoveValue>(\n moduleAddress,\n moduleName,\n functionName,\n args.typeArgs ?? [],\n argsStrings\n )\n return [viewFunctionData]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the given signer.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {MnemonicKey} The normalized signer.\n */\n normalizeSigner(signer: MnemonicKey | PrivateKey | MnemonicAndPath): MnemonicKey {\n if (signer instanceof MnemonicKey) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n const { mnemonic, path } = signer\n const [_, coinType, account, __, index] = path.match(/\\d+/g)?.map(Number) ?? []\n return new MnemonicKey({\n mnemonic,\n coinType,\n account,\n index,\n })\n } else if (isPrivateKey(signer)) {\n return MnemonicKey.fromHex(signer) as MnemonicKey\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts the given account to an address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: MnemonicKey): string {\n return this.toHexAddress(account.accAddress)\n }\n\n /**\n * Converts an address to a Bech32 address.\n * For more details about Bech32 addresses, see https://thebitcoinmanual.com/articles/btc-bech32-address/.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert. It can be a string or a Uint8Array.\n * @returns {string} The Bech32 address.\n */\n toBech32Address(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return anyAddress\n }\n return AccAddress.fromHex(anyAddress)\n }\n\n /**\n * Converts an address to a hexadecimal string.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert.\n * @returns {string} The hexadecimal string representation of the address.\n */\n toHexAddress(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return AccAddress.toHex(anyAddress)\n }\n return anyAddress\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (isAxiosError(e)) {\n const errorString = e.response.data.message\n const codeMatch = errorString.match(/code=(\\d+)/)\n if (errorString.includes('VM aborted') && codeMatch !== null) {\n const code = parseInt(codeMatch[1])\n return new MoveAbortError(code, e.response.data.message)\n } else if (errorString.startsWith('collections: not found')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else if (errorString.includes('MISSING_DATA')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else {\n return new UnclassifiedError(e.response.data.message)\n }\n }\n return e\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [argTypes] - The types of the arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n sender: MnemonicKey | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[],\n argTypes?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n sender = this.normalizeSigner(sender)\n const coreSigner = InitiaSigner.from(sender).connect(this.provider)\n\n const buildTxRequestOption: InitiaBuildTxRequestOptions = {\n gas: gasOptions?.gasLimit,\n gasPrice: gasOptions?.gasPrice !== undefined ? `${gasOptions.gasPrice}uinit` : undefined,\n }\n\n const txRequest = await coreSigner.buildTransaction({\n payload: {\n function: func,\n functionArguments: args,\n functionArgumentTypes: argTypes,\n typeArguments: typeArguments,\n },\n options: buildTxRequestOption,\n })\n const signedTx = await coreSigner.signTransaction(txRequest)\n\n const txReceipt = await coreSigner.sendAndConfirm(signedTx)\n const result = txReceipt.receipt as WaitTxBroadcastResult\n\n if (isTxError(result)) {\n throw Error(result.raw_log)\n }\n return {\n hash: result.txhash,\n sender: sender.accAddress,\n raw: result,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {string | Uint8Array} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {Object} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: string | Uint8Array\n resourceType: MoveStructId\n options?: unknown\n }): Promise<T> {\n try {\n const address = this.toHexAddress(args.accountAddress)\n const { data } = await this.provider.native.move.resource(address, args.resourceType)\n return data as T\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveResourceNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Gets a table item.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {Object} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: unknown }): Promise<T> {\n try {\n const res = await this.provider.native.move.tableEntry(\n args.handle,\n convertArg(args.data.key_type as string, args.data.key as EntryFunctionArgumentTypes)\n )\n const { value } = res\n const valueObject = JSON.parse(value) as { [key: string]: T }\n return Object.values(valueObject)[0]\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveTableItemNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Normalizes the given address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return address\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return false\n }\n}\n","// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x55c9aa355f26e5f311af070ca7da9990d01fb7db',\n [Stage.SANDBOX]: '0x9560458244b6f15bad18fe7f713d09490921aa90',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x71311073935a2b716b9660caa4a704674494d3b9',\n [Stage.SANDBOX]: '0x29b18f0ac4c4e395c017029029eb72029c121a02',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x74886dec58f41ad824e404c1d6d1a17efdfccc56',\n [Stage.SANDBOX]: '0x8f045d5da0ef3615644d02e51e22515d152fb41c',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6c4a494f374093c9bcf0192a59cfc05424b726dd',\n [Stage.SANDBOX]: '0x653aa7b4d2d40bf9a3069ea50c94469bc2457176',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x41aba793e2e42a4f07e586b7ccb83fb599eba301',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x5a4cb364837a9ee5bb23a885710a827d729fb662',\n [Stage.SANDBOX]: '0x3f90b37789daae7f4362bc92fd43cab119b5e683',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xf4851b3e55014c5d03e0f2183af77fd5f71a9eb2',\n [Stage.SANDBOX]: '0xe0694909091d33252c6935ec7de52d85a78c20e7',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x1fdbdab3fec27ece61e37839a079b2f9eda60b64',\n [Stage.SANDBOX]: '0xf0ad1b2b2295c7c80a83de59427dee9627363355',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x0e910f4a046f4c3113438e8c7882cbbff34845aa',\n [Stage.SANDBOX]: '0x881773c1c2abca25f8e6191c4584eaf7a0d15e80',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xff3f509f96578b793999a9ba82651d57b02a832b',\n [Stage.SANDBOX]: '0x4e5a65a1953e1b2f576edc6e1e9f00da02dbd3d5',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x299eb1bababc19a801b97f0cbf728be97cd197c2',\n [Stage.SANDBOX]: '0xc4d96a76466e6bfb44f6ddb5daabdcd76e7ee7b1',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6da16aabf8d791340730ac512ae2c871f180d67b',\n [Stage.SANDBOX]: '0x77160f68f4f1af74ab5875253db51366ca97f91f',\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/generated/addresses.ts","../src/utils.ts","../src/index.ts"],"names":["Stage","TransactionRequest"],"mappings":"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","file":"index.mjs","sourcesContent":["// WARNING: Do not change this code. It is auto generated.\n// If you want some new feature, please update generate-addresses.ts.\nimport {Stage} from '@layerzerolabs/lz-definitions'\nexport const ENDPOINT_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x55c9aa355f26e5f311af070ca7da9990d01fb7db',\n [Stage.SANDBOX]: '0x9560458244b6f15bad18fe7f713d09490921aa90',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x71311073935a2b716b9660caa4a704674494d3b9',\n [Stage.SANDBOX]: '0x29b18f0ac4c4e395c017029029eb72029c121a02',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x74886dec58f41ad824e404c1d6d1a17efdfccc56',\n [Stage.SANDBOX]: '0x8f045d5da0ef3615644d02e51e22515d152fb41c',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6c4a494f374093c9bcf0192a59cfc05424b726dd',\n [Stage.SANDBOX]: '0x653aa7b4d2d40bf9a3069ea50c94469bc2457176',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '',\n [Stage.SANDBOX]: '0x41aba793e2e42a4f07e586b7ccb83fb599eba301',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x5a4cb364837a9ee5bb23a885710a827d729fb662',\n [Stage.SANDBOX]: '0x3f90b37789daae7f4362bc92fd43cab119b5e683',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xf4851b3e55014c5d03e0f2183af77fd5f71a9eb2',\n [Stage.SANDBOX]: '0xe0694909091d33252c6935ec7de52d85a78c20e7',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x1fdbdab3fec27ece61e37839a079b2f9eda60b64',\n [Stage.SANDBOX]: '0xf0ad1b2b2295c7c80a83de59427dee9627363355',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x0e910f4a046f4c3113438e8c7882cbbff34845aa',\n [Stage.SANDBOX]: '0x881773c1c2abca25f8e6191c4584eaf7a0d15e80',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0xff3f509f96578b793999a9ba82651d57b02a832b',\n [Stage.SANDBOX]: '0x4e5a65a1953e1b2f576edc6e1e9f00da02dbd3d5',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x299eb1bababc19a801b97f0cbf728be97cd197c2',\n [Stage.SANDBOX]: '0xc4d96a76466e6bfb44f6ddb5daabdcd76e7ee7b1',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '',\n [Stage.TESTNET]: '0x6da16aabf8d791340730ac512ae2c871f180d67b',\n [Stage.SANDBOX]: '0x77160f68f4f1af74ab5875253db51366ca97f91f',\n}\n","import { CreateTxOptions, Msg, MsgExecute, Wallet, bcs } from '@initia/initia.js'\n\nimport { TransactionRequest } from '@layerzerolabs/lz-core'\nimport { EntryFunctionArgumentTypes, InputEntryFunctionData } from '@layerzerolabs/move-definitions'\n\nimport { InitiaBuildTxRequest } from './types'\n\n/**\n * Builds a transaction.\n *\n * @param {Wallet} nativeSigner - The nativeSigner\n * @param {InitiaBuildTxRequest} buildTxRequest - The transaction request to build.\n * @returns {Promise<TransactionRequest>} A promise that resolves to the built transaction request.\n * @throws {Error} If the gas price is invalid.\n */\nexport async function buildTransaction(\n nativeSigner: Wallet,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender = nativeSigner.key.accAddress.toString()\n const msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload)\n const createOptions: CreateTxOptions & {\n sequence?: number\n } = {\n msgs: [msg],\n }\n if (buildTxRequest.options?.gas !== undefined) {\n createOptions.gas = buildTxRequest.options.gas\n }\n if (buildTxRequest.options?.gasPrice !== undefined) {\n if (isNaN(Number(buildTxRequest.options.gasPrice)) && buildTxRequest.options.gasPrice.endsWith('uinit')) {\n createOptions.gasPrices = buildTxRequest.options.gasPrice\n } else if (!isNaN(Number(buildTxRequest.options.gasPrice))) {\n createOptions.gasPrices = `${buildTxRequest.options.gasPrice}uinit`\n } else {\n throw Error(`Invalid gas price for initia :${buildTxRequest.options.gasPrice}`)\n }\n }\n // createOptions.sequence = initial + offset\n const tx = await nativeSigner.createTx(createOptions)\n return TransactionRequest.from(tx)\n}\n\n/**\n * Converts a payload to a MsgExecute object for the Initia blockchain.\n *\n * @param {string} sender - The address of the sender.\n * @param {InputEntryFunctionData} payload - The payload of the transaction.\n * @returns {Msg} The MsgExecute object.\n */\nexport function convertPayloadToMsgExecute(sender: string, payload: InputEntryFunctionData): Msg {\n const functionStructs = payload.function.split('::')\n const moduleAddress = functionStructs[0]\n const moduleName = functionStructs[1]\n const functionName = functionStructs[2]\n const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments)\n const msg = new MsgExecute(\n sender, // sender address\n moduleAddress, // module owner address\n moduleName, // module name\n functionName, // function name\n payload.typeArguments ?? [], // type args\n args\n )\n return msg\n}\n\n/**\n * Converts payload arguments to a list of strings.\n *\n * @param {string[]} functionArgumentTypes - The types of the function arguments.\n * @param {EntryFunctionArgumentTypes[]} functionArguments - The function arguments.\n * @returns {string[]} The list of converted arguments.\n */\nexport function covertPayloadArgs(\n functionArgumentTypes: string[],\n functionArguments: EntryFunctionArgumentTypes[]\n): string[] {\n const args: string[] = []\n for (let i = 0; i < functionArguments.length; i++) {\n args.push(convertArg(functionArgumentTypes[i], functionArguments[i]))\n }\n return args\n}\n\n/**\n * Converts a single argument to a string based on its type.\n *\n * @param {string} argsType - The type of the argument.\n * @param {EntryFunctionArgumentTypes} arg - The argument to convert.\n * @returns {string} The converted argument as a string.\n * @throws {Error} If the argument type is invalid.\n */\nexport function convertArg(argsType: string, arg: EntryFunctionArgumentTypes): string {\n switch (argsType) {\n case 'bool':\n return bcs\n .bool()\n .serialize(arg as boolean)\n .toBase64()\n case 'u256':\n return bcs\n .u256()\n .serialize(arg as bigint)\n .toBase64()\n case 'u128':\n return bcs\n .u128()\n .serialize(arg as bigint)\n .toBase64()\n case 'u64':\n return bcs\n .u64()\n .serialize(arg as bigint)\n .toBase64()\n case 'u32':\n return bcs\n .u32()\n .serialize(arg as number)\n .toBase64()\n case 'u16':\n return bcs\n .u16()\n .serialize(arg as number)\n .toBase64()\n case 'u8':\n return bcs\n .u8()\n .serialize(arg as number)\n .toBase64()\n case 'address':\n return bcs\n .address()\n .serialize(arg as string)\n .toBase64()\n case 'vector<u8>':\n return bcs\n .vector(bcs.u8())\n .serialize(arg as unknown as Uint8Array)\n .toBase64()\n case 'vector<address>':\n return bcs\n .vector(bcs.address())\n .serialize(arg as unknown as string[])\n .toBase64()\n case 'vector<vector<u8>>':\n return bcs\n .vector(bcs.vector(bcs.u8()))\n .serialize(arg as unknown as Uint8Array[])\n .toBase64()\n default:\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n throw new Error(`Invalid type argsType: ${argsType.toString()}`)\n }\n}\n","import { AccAddress, LCDClient, MnemonicKey, Msg, TxError, WaitTxBroadcastResult, Wallet } from '@initia/initia.js'\n\nimport { Provider, TransactionRequest } from '@layerzerolabs/lz-core'\nimport { InitiaProvider, InitiaSigner } from '@layerzerolabs/lz-corekit-initia'\nimport { Stage } from '@layerzerolabs/lz-definitions'\nimport { AccountsOption, LayerZeroModulesSdk, MoveSdkImpl } from '@layerzerolabs/lz-movevm-sdk-v2'\nimport { arrayify } from '@layerzerolabs/lz-utilities'\nimport { PacketV1Codec } from '@layerzerolabs/lz-v2-utilities'\nimport {\n EntryFunctionArgumentTypes,\n GasOptions,\n InputEntryFunctionData,\n MnemonicAndPath,\n MoveAbortError,\n MoveFunction,\n MoveResourceNotFoundError,\n MoveStructId,\n MoveTableItemNotFoundError,\n MoveValue,\n PrivateKey,\n TableItemRequest,\n TransactionResponse,\n UnclassifiedError,\n isMnemonicAndPath,\n isPrivateKey,\n} from '@layerzerolabs/move-definitions'\n\nimport {\n COUNTER_V2_ADDRESS,\n DVN_ADDRESS,\n ENDPOINT_V2_ADDRESS,\n ENDPOINT_V2_COMMON,\n EXECUTOR_ADDRESS,\n LAYERZERO_VIEWS_ADDRESS,\n OFT_ADDRESS,\n PRICE_FEED,\n SIMPLE_MESSAGE_LIB_ADDRESS,\n TREASURY_ADDRESS,\n ULN_MESSAGE_LIB_ADDRESS,\n WORKER_COMMON,\n} from './generated/addresses'\nimport { InitiaBuildTxRequestOptions } from './types'\nimport { buildTransaction, convertArg, convertPayloadToMsgExecute, covertPayloadArgs } from './utils'\n\nexport * from './generated/addresses'\n\n/**\n * Options for initializing the SDK.\n */\nexport interface SdkOptions {\n /**\n * The provider for the SDK.\n */\n provider: InitiaProvider\n\n /**\n * The stage of the SDK (optional).\n * default value is Stage.SANDBOX\n */\n stage?: Stage\n\n /**\n * The accounts option (optional).\n * default value is read from generated/addresses.ts\n */\n accounts?: AccountsOption\n}\n\n/**\n * Creates an instance of the SDK from the given provider.\n *\n * @param {Provider} provider - The provider of the current chain.\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider): SDK {\n return new SDK({ provider: provider as InitiaProvider })\n}\n\n/**\n * Interface representing an Axios error, which returned by the chain node.\n */\ninterface AxiosError {\n response: {\n data: {\n code: number\n message: string\n }\n }\n}\n\n/**\n * Checks if the given error is an AxiosError.\n *\n * @param {any} error - The error to check.\n * @returns {error is AxiosError} True if the error is an AxiosError, false otherwise.\n */\nfunction isAxiosError(error: any): error is AxiosError {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return error?.response?.data?.message !== undefined\n}\n\n/**\n * Checks if the given transaction result is a TxError.\n *\n * @param {unknown} tx - The transaction result to check, for initia the result type is {@link WaitTxBroadcastResult}.\n * @returns {tx is TxError} True if the transaction result is a TxError, false otherwise.\n */\nfunction isTxError(tx: unknown): tx is TxError {\n return tx instanceof Object && 'code' in tx && Number(tx.code) !== 0\n}\n\n/**\n * The SDK class provides methods to interact with the Initia.\n * For usage, please check [README.md](../README.md).\n *\n * @implements {MoveSdkImpl<MnemonicKey>}\n */\nexport class SDK implements MoveSdkImpl<MnemonicKey> {\n stage: Stage\n provider: InitiaProvider\n LayerzeroModule: LayerZeroModulesSdk<MnemonicKey>\n accounts: AccountsOption\n\n /**\n * Creates an instance of the SDK.\n *\n * @param {SdkOptions} options - The SDK options.\n */\n constructor(options: SdkOptions) {\n this.stage = options.stage ?? Stage.SANDBOX\n this.accounts = options.accounts ?? {\n endpoint_v2: this.toHexAddress(ENDPOINT_V2_ADDRESS[this.stage] ?? '0x0'),\n counter_v2: this.toHexAddress(COUNTER_V2_ADDRESS[this.stage] ?? '0x0'),\n oft: this.toHexAddress(OFT_ADDRESS[this.stage] ?? '0x0'),\n layerzero_views: this.toHexAddress(LAYERZERO_VIEWS_ADDRESS[this.stage] ?? '0x0'),\n simple_message_lib: this.toHexAddress(SIMPLE_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n uln_message_lib: this.toHexAddress(ULN_MESSAGE_LIB_ADDRESS[this.stage] ?? '0x0'),\n executor: this.toHexAddress(EXECUTOR_ADDRESS[this.stage] ?? '0x0'),\n dvn: this.toHexAddress(DVN_ADDRESS[this.stage] ?? '0x0'),\n worker_common: this.toHexAddress(WORKER_COMMON[this.stage] ?? '0x0'),\n price_feed: this.toHexAddress(PRICE_FEED[this.stage] ?? '0x0'),\n treasury: this.toHexAddress(TREASURY_ADDRESS[this.stage] ?? '0x0'),\n endpoint_v2_common: this.toHexAddress(ENDPOINT_V2_COMMON[this.stage] ?? '0x0'),\n }\n this.provider = options.provider\n this.LayerzeroModule = new LayerZeroModulesSdk(this)\n }\n\n /**\n * Gets the Initia native client.\n *\n * @returns {LCDClient} The Initia native client.\n */\n getLCDClient(): LCDClient {\n return this.provider.native\n }\n\n /**\n * Builds a DVN verify transaction.\n *\n * @param {string} adminSignerAddress - The address of the admin signer.\n * @param {Date} date - The date of the transaction.\n * @param {PacketV1Codec} codec - The codec for the packet.\n * @param {string} receiveMessageLibAddress - The address of the receive message library.\n * @param {number} inboundConfirmation - The number of inbound confirmations.\n * @param {number} expiration - The expiration time.\n * @param {string} signatures - The signatures for the transaction.\n * @returns {Promise<TransactionRequest>} The transaction request.\n */\n async buildDVNVerifyTransaction(\n adminSignerAddress: string,\n date: Date,\n codec: PacketV1Codec,\n receiveMessageLibAddress: string,\n inboundConfirmation: number,\n expiration: number,\n signatures: string\n ): Promise<TransactionRequest> {\n const payload: InputEntryFunctionData = {\n function: `${DVN_ADDRESS[this.stage]}::dvn::verify`,\n functionArguments: [\n arrayify(codec.header()),\n arrayify(codec.payloadHash()),\n BigInt(inboundConfirmation),\n receiveMessageLibAddress,\n BigInt(expiration) + BigInt(date.getTime()),\n arrayify(signatures),\n ] as EntryFunctionArgumentTypes[],\n functionArgumentTypes: ['vector<u8>', 'vector<u8>', 'u64', 'address', 'u64', 'vector<u8>'],\n }\n const accAddr = AccAddress.fromHex(adminSignerAddress)\n const msg: Msg = convertPayloadToMsgExecute(accAddr, payload)\n const tx = await this.getLCDClient().tx.create([{ address: accAddr }], { msgs: [msg] })\n return TransactionRequest.from(tx)\n }\n\n /**\n * Executes a view function.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for the view function.\n * @param {MoveFunction} args.functionName - The name of the function.\n * @param {EntryFunctionArgumentTypes[]} args.functionArgs - The arguments for the function.\n * @param {string[]} [args.functionArgTypes] - The types of the arguments.\n * @param {string[]} [args.typeArgs] - The type arguments.\n * @returns {Promise<MoveValue[]>} The result of the view function.\n */\n async viewFunction(args: {\n functionName: MoveFunction\n functionArgs: EntryFunctionArgumentTypes[]\n functionArgTypes?: string[]\n typeArgs?: string[]\n }): Promise<MoveValue[]> {\n const argsStrings = covertPayloadArgs(args.functionArgTypes ?? [], args.functionArgs)\n const [moduleAddress, moduleName, functionName] = args.functionName.split('::')\n try {\n const viewFunctionData = await this.provider.native.move.viewFunction<MoveValue>(\n moduleAddress,\n moduleName,\n functionName,\n args.typeArgs ?? [],\n argsStrings\n )\n return [viewFunctionData]\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Normalizes the given signer.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {MnemonicKey} The normalized signer.\n */\n normalizeSigner(signer: MnemonicKey | PrivateKey | MnemonicAndPath): MnemonicKey {\n if (signer instanceof MnemonicKey) {\n return signer\n } else if (isMnemonicAndPath(signer)) {\n const { mnemonic, path } = signer\n const [_, coinType, account, __, index] = path.match(/\\d+/g)?.map(Number) ?? []\n return new MnemonicKey({\n mnemonic,\n coinType,\n account,\n index,\n })\n } else if (isPrivateKey(signer)) {\n return MnemonicKey.fromHex(signer) as MnemonicKey\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts the given account to an address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: MnemonicKey): string {\n return this.toHexAddress(account.accAddress)\n }\n\n /**\n * Converts an address to a Bech32 address.\n * For more details about Bech32 addresses, see https://thebitcoinmanual.com/articles/btc-bech32-address/.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert. It can be a string or a Uint8Array.\n * @returns {string} The Bech32 address.\n */\n toBech32Address(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return anyAddress\n }\n return AccAddress.fromHex(anyAddress)\n }\n\n /**\n * Converts an address to a hexadecimal string.\n *\n * @param {string | Uint8Array} anyAddress - The address to convert.\n * @returns {string} The hexadecimal string representation of the address.\n */\n toHexAddress(anyAddress: string | Uint8Array): string {\n if (anyAddress instanceof Uint8Array) {\n anyAddress = Buffer.from(anyAddress).toString('hex')\n }\n if (AccAddress.validate(anyAddress)) {\n return AccAddress.toHex(anyAddress)\n }\n return anyAddress\n }\n\n /**\n * Handles errors and returns appropriate error instances based on the error type.\n *\n * @param {unknown} e - The error to handle.\n * @returns {unknown} The handled error, which could be an instance of MoveAbortError, MoveResourceNotFoundError, UnclassifiedError, or the original error.\n */\n handleError(e: unknown): unknown {\n if (isAxiosError(e)) {\n const errorString = e.response.data.message\n const codeMatch = errorString.match(/code=(\\d+)/)\n if (errorString.includes('VM aborted') && codeMatch !== null) {\n const code = parseInt(codeMatch[1])\n return new MoveAbortError(code, e.response.data.message)\n } else if (errorString.startsWith('collections: not found')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else if (errorString.includes('MISSING_DATA')) {\n return new MoveResourceNotFoundError(e.response.data.message)\n } else {\n return new UnclassifiedError(e.response.data.message)\n }\n }\n return e\n }\n\n /**\n * Sends a transaction and waits for confirmation.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.\n * @param {MoveFunction} func - The function to call.\n * @param {EntryFunctionArgumentTypes[]} args - The arguments for the function.\n * @param {string[]} [argTypes] - The types of the arguments for the function.\n * @param {GasOptions} [gasOptions] - The gas options.\n * @param {string[]} [typeArguments] - The type arguments.\n * @returns {Promise<TransactionResponse>} The transaction response.\n */\n async sendAndConfirmTransaction(\n sender: MnemonicKey | PrivateKey | MnemonicAndPath,\n func: MoveFunction,\n args: EntryFunctionArgumentTypes[],\n argTypes?: string[],\n gasOptions?: GasOptions,\n typeArguments?: string[]\n ): Promise<TransactionResponse> {\n try {\n sender = this.normalizeSigner(sender)\n const coreSigner = InitiaSigner.from(sender).connect(this.provider)\n\n const buildTxRequestOption: InitiaBuildTxRequestOptions = {\n gas: gasOptions?.gasLimit,\n gasPrice: gasOptions?.gasPrice !== undefined ? `${gasOptions.gasPrice}uinit` : undefined,\n }\n\n const txRequest = await buildTransaction(coreSigner.native as Wallet, {\n payload: {\n function: func,\n functionArguments: args,\n functionArgumentTypes: argTypes,\n typeArguments: typeArguments,\n },\n options: buildTxRequestOption,\n })\n const signedTx = await coreSigner.signTransaction(txRequest)\n\n const txReceipt = await coreSigner.sendAndConfirm(signedTx)\n const result = txReceipt.receipt as WaitTxBroadcastResult\n\n if (isTxError(result)) {\n throw Error(result.raw_log)\n }\n return {\n hash: result.txhash,\n sender: sender.accAddress,\n raw: result,\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n\n /**\n * Gets an account resource.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the account resource.\n * @param {string | Uint8Array} args.accountAddress - The account address.\n * @param {MoveStructId} args.resourceType - The type of the resource.\n * @param {Object} [args.options] - The options for getting the resource.\n * @returns {Promise<T>} The account resource.\n * @template T - The type of the resource.\n */\n async getAccountResource<T extends NonNullable<unknown> = any>(args: {\n accountAddress: string | Uint8Array\n resourceType: MoveStructId\n options?: unknown\n }): Promise<T> {\n try {\n const address = this.toHexAddress(args.accountAddress)\n const { data } = await this.provider.native.move.resource(address, args.resourceType)\n return data as T\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveResourceNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Gets a table item.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {Object} args - The arguments for getting the table item.\n * @param {string} args.handle - The table handle.\n * @param {TableItemRequest} args.data - The key of the item.\n * @param {Object} [args.options] - The options for getting the item.\n * @returns {Promise<T>} The table item.\n * @template T - The type of the item.\n */\n async getTableItem<T>(args: { handle: string; data: TableItemRequest; options?: unknown }): Promise<T> {\n try {\n const res = await this.provider.native.move.tableEntry(\n args.handle,\n convertArg(args.data.key_type as string, args.data.key as EntryFunctionArgumentTypes)\n )\n const { value } = res\n const valueObject = JSON.parse(value) as { [key: string]: T }\n return Object.values(valueObject)[0]\n } catch (e) {\n if (isAxiosError(e) && e.response.data.message.startsWith('collections: not found')) {\n throw new MoveTableItemNotFoundError(e.response.data.message)\n }\n throw e\n }\n }\n\n /**\n * Normalizes the given address.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @param {string} address - The address to normalize.\n * @returns {string} The normalized address.\n */\n normalizeAddress(address: string): string {\n return address\n }\n\n /**\n * Checks if the SDK supports coins.\n * @implements {MoveSdkImpl<MnemonicKey>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return false\n }\n}\n\nexport * from './types'\nexport * from './utils'\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@layerzerolabs/lz-initia-sdk-v2",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.17",
|
|
4
4
|
"license": "BUSL-1.1",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -26,25 +26,25 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@initia/initia.js": "^0.2.11",
|
|
29
|
-
"@layerzerolabs/lz-core": "^3.0.
|
|
30
|
-
"@layerzerolabs/lz-corekit-initia": "^3.0.
|
|
31
|
-
"@layerzerolabs/lz-definitions": "^3.0.
|
|
32
|
-
"@layerzerolabs/lz-movevm-sdk-v2": "^3.0.
|
|
33
|
-
"@layerzerolabs/lz-utilities": "^3.0.
|
|
34
|
-
"@layerzerolabs/lz-v2-utilities": "^3.0.
|
|
35
|
-
"@layerzerolabs/move-definitions": "^3.0.
|
|
29
|
+
"@layerzerolabs/lz-core": "^3.0.17",
|
|
30
|
+
"@layerzerolabs/lz-corekit-initia": "^3.0.17",
|
|
31
|
+
"@layerzerolabs/lz-definitions": "^3.0.17",
|
|
32
|
+
"@layerzerolabs/lz-movevm-sdk-v2": "^3.0.17",
|
|
33
|
+
"@layerzerolabs/lz-utilities": "^3.0.17",
|
|
34
|
+
"@layerzerolabs/lz-v2-utilities": "^3.0.17",
|
|
35
|
+
"@layerzerolabs/move-definitions": "^3.0.17"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@jest/globals": "^29.7.0",
|
|
39
39
|
"@layerzerolabs/runtime-config": "^0.0.0",
|
|
40
|
-
"@layerzerolabs/tsup-config-next": "^3.0.
|
|
41
|
-
"@layerzerolabs/typescript-config-next": "^3.0.
|
|
40
|
+
"@layerzerolabs/tsup-config-next": "^3.0.17",
|
|
41
|
+
"@layerzerolabs/typescript-config-next": "^3.0.17",
|
|
42
42
|
"@types/node": "^20.10.5",
|
|
43
43
|
"jest": "^29.7.0",
|
|
44
44
|
"rimraf": "^5.0.5",
|
|
45
45
|
"ts-jest": "^29.1.1",
|
|
46
46
|
"ts-node": "^10.9.1",
|
|
47
|
-
"tsup": "^8.
|
|
47
|
+
"tsup": "^8.3.5",
|
|
48
48
|
"typescript": "~5.2.2"
|
|
49
49
|
},
|
|
50
50
|
"publishConfig": {
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"address": "0x76b0f95508222dcd68990fb87203d070a05240e7",
|
|
3
|
-
"name": "oft-TokenFour",
|
|
4
|
-
"moduleName": "oft",
|
|
5
|
-
"network": "initia-sandbox-local",
|
|
6
|
-
"compatibleVersions": [
|
|
7
|
-
"v2"
|
|
8
|
-
],
|
|
9
|
-
"bytecodeHash": "a1b7e5e5e38d88255702b372fb30c8dd131c1bf76ff51b049df689ea986276b3",
|
|
10
|
-
"transactionHash": "70B69E09038CF65DCF67A9B20A8ABC084F1AE34E72616152550F50B511C0A923"
|
|
11
|
-
}
|