@layerzerolabs/lz-initia-sdk-v2 3.0.88 → 3.0.90-aptos-301.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,33 +1,5 @@
1
1
  # @layerzerolabs/lz-initia-sdk-v2
2
2
 
3
- ## 3.0.88
4
-
5
- ### Patch Changes
6
-
7
- - d0cda5e: ton sdk-tools refactored, added rawDispatch action to funC++
8
- - Updated dependencies [d0cda5e]
9
- - @layerzerolabs/lz-corekit-initia@3.0.88
10
- - @layerzerolabs/lz-core@3.0.88
11
- - @layerzerolabs/lz-definitions@3.0.88
12
- - @layerzerolabs/lz-utilities@3.0.88
13
- - @layerzerolabs/lz-movevm-sdk-v2@3.0.88
14
- - @layerzerolabs/lz-v2-utilities@3.0.88
15
- - @layerzerolabs/move-definitions@3.0.88
16
-
17
- ## 3.0.87
18
-
19
- ### Patch Changes
20
-
21
- - e92c65d: Update initia.js version
22
- - Updated dependencies [e92c65d]
23
- - @layerzerolabs/lz-corekit-initia@3.0.87
24
- - @layerzerolabs/lz-core@3.0.87
25
- - @layerzerolabs/lz-definitions@3.0.87
26
- - @layerzerolabs/lz-utilities@3.0.87
27
- - @layerzerolabs/lz-movevm-sdk-v2@3.0.87
28
- - @layerzerolabs/lz-v2-utilities@3.0.87
29
- - @layerzerolabs/move-definitions@3.0.87
30
-
31
3
  ## 3.0.86
32
4
 
33
5
  ### Patch Changes
@@ -8,5 +8,5 @@
8
8
  "v2"
9
9
  ],
10
10
  "bytecodeHash": "809ed28d2fbc631bea2e0f92ed84c1f05ac0e1950c7ed46a18276dfbb3b8275a",
11
- "transactionHash": "EB5BA08C2D97D07B530EAFBB29979C0560FED9314DF2394D89E33C89266A0759"
11
+ "transactionHash": "4977BC72346936B3DBB5959B1D1BBEE013C858FE87797AEF87E1AFF96AB78217"
12
12
  }
package/dist/index.cjs CHANGED
@@ -1,12 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var initia_js = require('@initia/initia.js');
3
+ var initia = require('@initia/initia.js');
4
4
  var lzCorekitInitia = require('@layerzerolabs/lz-corekit-initia');
5
5
  var lzDefinitions = require('@layerzerolabs/lz-definitions');
6
6
  var lzMovevmSdkV2 = require('@layerzerolabs/lz-movevm-sdk-v2');
7
7
  var moveDefinitions = require('@layerzerolabs/move-definitions');
8
8
  var lzCore = require('@layerzerolabs/lz-core');
9
9
 
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var initia__default = /*#__PURE__*/_interopDefault(initia);
13
+
10
14
  // src/index.ts
11
15
  var ENDPOINT_V2_ADDRESS = {
12
16
  [lzDefinitions.Stage.MAINNET]: "0x81d2b534893db8745ab2b0c092ec5f88d554d54825f98fd9e8c83f9b113ee77e",
@@ -84,7 +88,7 @@ var DEPLOY_TO_OBJECT = {
84
88
  [lzDefinitions.Stage.SANDBOX]: "0xd01d8dfbfb8bf0a5f27621895a6c26c8d2b13203"
85
89
  };
86
90
  async function buildTransaction(nativeSigner, buildTxRequest) {
87
- const sender = nativeSigner instanceof initia_js.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString();
91
+ const sender = nativeSigner instanceof initia__default.default.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString();
88
92
  let msg;
89
93
  if (buildTxRequest.payload.function.split("::").length === 3) {
90
94
  msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload);
@@ -112,7 +116,7 @@ async function buildTransaction(nativeSigner, buildTxRequest) {
112
116
  return Promise.resolve(lzCore.TransactionRequest.from(createOptions));
113
117
  }
114
118
  async function buildInitiaMultisigTransaction(nativeSigner, multisigAddress, buildTxRequest) {
115
- const sender = nativeSigner instanceof initia_js.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString();
119
+ const sender = nativeSigner instanceof initia__default.default.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString();
116
120
  let msg;
117
121
  if (buildTxRequest.payload.function.split("::").length === 3) {
118
122
  msg = convertPayloadToMultisigMsgExecute(sender, multisigAddress, buildTxRequest.payload);
@@ -145,7 +149,7 @@ function convertPayloadToMsgExecute(sender, payload) {
145
149
  const moduleName = functionStructs[1];
146
150
  const functionName = functionStructs[2];
147
151
  const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments);
148
- const msg = new initia_js.MsgExecute(
152
+ const msg = new initia__default.default.MsgExecute(
149
153
  sender,
150
154
  // sender address
151
155
  moduleAddress,
@@ -171,7 +175,7 @@ function convertPayloadToMultisigMsgExecute(sender, multisigAddress, payload) {
171
175
  }
172
176
  return value;
173
177
  }
174
- const msgCreateProposal = new initia_js.MsgExecuteJSON(
178
+ const msgCreateProposal = new initia__default.default.MsgExecuteJSON(
175
179
  sender,
176
180
  "0x1",
177
181
  "multisig_v2",
@@ -198,7 +202,7 @@ function convertPayloadToMultisigMsgExecute(sender, multisigAddress, payload) {
198
202
  }
199
203
  function convertPayloadToMsgScript(sender, payload) {
200
204
  const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments);
201
- const msg = new initia_js.MsgScript(
205
+ const msg = new initia__default.default.MsgScript(
202
206
  sender,
203
207
  // sender address
204
208
  Buffer.from(payload.function, "hex").toString("base64"),
@@ -218,27 +222,27 @@ function covertPayloadArgs(functionArgumentTypes, functionArguments) {
218
222
  function convertArg(argsType, arg) {
219
223
  switch (argsType) {
220
224
  case "bool":
221
- return initia_js.bcs.bool().serialize(arg).toBase64();
225
+ return initia__default.default.bcs.bool().serialize(arg).toBase64();
222
226
  case "u256":
223
- return initia_js.bcs.u256().serialize(arg).toBase64();
227
+ return initia__default.default.bcs.u256().serialize(arg).toBase64();
224
228
  case "u128":
225
- return initia_js.bcs.u128().serialize(arg).toBase64();
229
+ return initia__default.default.bcs.u128().serialize(arg).toBase64();
226
230
  case "u64":
227
- return initia_js.bcs.u64().serialize(arg).toBase64();
231
+ return initia__default.default.bcs.u64().serialize(arg).toBase64();
228
232
  case "u32":
229
- return initia_js.bcs.u32().serialize(arg).toBase64();
233
+ return initia__default.default.bcs.u32().serialize(arg).toBase64();
230
234
  case "u16":
231
- return initia_js.bcs.u16().serialize(arg).toBase64();
235
+ return initia__default.default.bcs.u16().serialize(arg).toBase64();
232
236
  case "u8":
233
- return initia_js.bcs.u8().serialize(arg).toBase64();
237
+ return initia__default.default.bcs.u8().serialize(arg).toBase64();
234
238
  case "address":
235
- return initia_js.bcs.address().serialize(arg).toBase64();
239
+ return initia__default.default.bcs.address().serialize(arg).toBase64();
236
240
  case "vector<u8>":
237
- return initia_js.bcs.vector(initia_js.bcs.u8()).serialize(arg).toBase64();
241
+ return initia__default.default.bcs.vector(initia__default.default.bcs.u8()).serialize(arg).toBase64();
238
242
  case "vector<address>":
239
- return initia_js.bcs.vector(initia_js.bcs.address()).serialize(arg).toBase64();
243
+ return initia__default.default.bcs.vector(initia__default.default.bcs.address()).serialize(arg).toBase64();
240
244
  case "vector<vector<u8>>":
241
- return initia_js.bcs.vector(initia_js.bcs.vector(initia_js.bcs.u8())).serialize(arg).toBase64();
245
+ return initia__default.default.bcs.vector(initia__default.default.bcs.vector(initia__default.default.bcs.u8())).serialize(arg).toBase64();
242
246
  default:
243
247
  throw new Error(`Invalid type argsType: ${argsType.toString()}`);
244
248
  }
@@ -283,14 +287,14 @@ var SDK = class {
283
287
  /**
284
288
  * Gets the Initia native client.
285
289
  *
286
- * @returns { LCDClient} The Initia native client.
290
+ * @returns {initia.LCDClient} The Initia native client.
287
291
  */
288
292
  getLCDClient() {
289
293
  return this.provider.native;
290
294
  }
291
295
  /**
292
296
  * Executes a view function.
293
- * @implements {MoveSdkImpl< MnemonicKey>}
297
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
294
298
  *
295
299
  * @param {Object} args - The arguments for the view function.
296
300
  * @param {MoveFunction} args.functionName - The name of the function.
@@ -317,34 +321,34 @@ var SDK = class {
317
321
  }
318
322
  /**
319
323
  * Normalizes the given signer.
320
- * @implements {MoveSdkImpl< MnemonicKey>}
324
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
321
325
  *
322
- * @param { MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.
323
- * @returns { MnemonicKey} The normalized signer.
326
+ * @param {initia.MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.
327
+ * @returns {initia.MnemonicKey} The normalized signer.
324
328
  */
325
329
  normalizeSigner(signer) {
326
- if (signer instanceof initia_js.MnemonicKey) {
330
+ if (signer instanceof initia__default.default.MnemonicKey) {
327
331
  return signer;
328
332
  } else if (moveDefinitions.isMnemonicAndPath(signer)) {
329
333
  const { mnemonic, path } = signer;
330
334
  const [_, coinType, account, __, index] = path.match(/\d+/g)?.map(Number) ?? [];
331
- return new initia_js.MnemonicKey({
335
+ return new initia__default.default.MnemonicKey({
332
336
  mnemonic,
333
337
  coinType,
334
338
  account,
335
339
  index,
336
- eth: coinType === initia_js.INIT_COIN_TYPE
340
+ eth: coinType === initia__default.default.INIT_COIN_TYPE
337
341
  });
338
342
  } else if (moveDefinitions.isPrivateKey(signer)) {
339
- return initia_js.MnemonicKey.fromHex(signer);
343
+ return initia__default.default.MnemonicKey.fromHex(signer);
340
344
  }
341
345
  throw new Error(`Invalid signer`);
342
346
  }
343
347
  /**
344
348
  * Converts the given account to an address.
345
- * @implements {MoveSdkImpl< MnemonicKey>}
349
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
346
350
  *
347
- * @param { MnemonicKey} account - The account to convert.
351
+ * @param {initia.MnemonicKey} account - The account to convert.
348
352
  * @returns {string} The address of the account.
349
353
  */
350
354
  accountToAddress(account) {
@@ -361,10 +365,10 @@ var SDK = class {
361
365
  if (anyAddress instanceof Uint8Array) {
362
366
  anyAddress = Buffer.from(anyAddress).toString("hex");
363
367
  }
364
- if (initia_js.AccAddress.validate(anyAddress)) {
368
+ if (initia__default.default.AccAddress.validate(anyAddress)) {
365
369
  return anyAddress;
366
370
  }
367
- return initia_js.AccAddress.fromHex(anyAddress);
371
+ return initia__default.default.AccAddress.fromHex(anyAddress);
368
372
  }
369
373
  /**
370
374
  * Converts an address to a hexadecimal string.
@@ -376,8 +380,8 @@ var SDK = class {
376
380
  if (anyAddress instanceof Uint8Array) {
377
381
  anyAddress = Buffer.from(anyAddress).toString("hex");
378
382
  }
379
- if (initia_js.AccAddress.validate(anyAddress)) {
380
- return initia_js.AccAddress.toHex(anyAddress);
383
+ if (initia__default.default.AccAddress.validate(anyAddress)) {
384
+ return initia__default.default.AccAddress.toHex(anyAddress);
381
385
  }
382
386
  return anyAddress;
383
387
  }
@@ -406,9 +410,9 @@ var SDK = class {
406
410
  }
407
411
  /**
408
412
  * Sends a transaction and waits for confirmation.
409
- * @implements {MoveSdkImpl< MnemonicKey>}
413
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
410
414
  *
411
- * @param { MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.
415
+ * @param {initia.MnemonicKey | PrivateKey | MnemonicAndPath} sender - The sender of the transaction.
412
416
  * @param {MoveFunction} func - The function to call.
413
417
  * @param {EntryFunctionArgumentTypes[]} args - The arguments for the function.
414
418
  * @param {string[]} [argTypes] - The types of the arguments for the function.
@@ -450,7 +454,7 @@ var SDK = class {
450
454
  }
451
455
  /**
452
456
  * Gets an account resource.
453
- * @implements {MoveSdkImpl< MnemonicKey>}
457
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
454
458
  *
455
459
  * @param {Object} args - The arguments for getting the account resource.
456
460
  * @param {string | Uint8Array} args.accountAddress - The account address.
@@ -473,7 +477,7 @@ var SDK = class {
473
477
  }
474
478
  /**
475
479
  * Gets a table item.
476
- * @implements {MoveSdkImpl< MnemonicKey>}
480
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
477
481
  *
478
482
  * @param {Object} args - The arguments for getting the table item.
479
483
  * @param {string} args.handle - The table handle.
@@ -500,7 +504,7 @@ var SDK = class {
500
504
  }
501
505
  /**
502
506
  * Normalizes the given address.
503
- * @implements {MoveSdkImpl< MnemonicKey>}
507
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
504
508
  *
505
509
  * @param {string} address - The address to normalize.
506
510
  * @returns {string} The normalized address.
@@ -510,7 +514,7 @@ var SDK = class {
510
514
  }
511
515
  /**
512
516
  * Checks if the SDK supports coins.
513
- * @implements {MoveSdkImpl< MnemonicKey>}
517
+ * @implements {MoveSdkImpl<initia.MnemonicKey>}
514
518
  *
515
519
  * @returns {boolean} True if the SDK supports coins, false otherwise.
516
520
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/generated/addresses.ts","../src/utils.ts","../src/index.ts"],"names":["Stage","Wallet","TransactionRequest","MsgExecute","MsgExecuteJSON","MsgScript","bcs","LayerZeroModulesSdk","MnemonicKey","isMnemonicAndPath","INIT_COIN_TYPE","isPrivateKey","AccAddress","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]: '0x81d2b534893db8745ab2b0c092ec5f88d554d54825f98fd9e8c83f9b113ee77e',\n [Stage.TESTNET]: '0xcc4e9fda80712972deb0338d85b84822a42d5155b645ef1b2eeae42cedd41b04',\n [Stage.SANDBOX]: '0x4cfd96a8b3d7bff492fd490568c66a9117fe25f7154f7bdecae9649dd99bf551',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x32cff077e36f28969f01b92e29e643e74289ed86b51d420f1202c1bc736a2a5f',\n [Stage.TESTNET]: '0xd6fb80799f09bcd7784e1c5cd065a84cac826ce4c49f9c6893cbd9c753fada6a',\n [Stage.SANDBOX]: '0x2fc80c0b184ad67e85a30dc4b5e4de5b519c07f2fedb46ab4ca60783c6a095e6',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x5aab6aa28749dd073c26c4703e14eb7e89dd6a25abc2e1f0e98de59f8203a012',\n [Stage.TESTNET]: '0x3e1b182c40965a986133798e1da76302ef327de2c32c58110361587560285e88',\n [Stage.SANDBOX]: '0x59c8706450b668ea055c95eedfd0a9b29ee43d6b6035649ccaac58300d603d02',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x27b7ea8a7a98e48029f0170caf52d8d631ce7433a043a87e5bfc29d8d0a4c240',\n [Stage.TESTNET]: '0xf57ffea0a6dfd7e98a0e5f7e36515f2e8622931c6fb5b690528271707213540',\n [Stage.SANDBOX]: '0xe45e57fa31ac68e748511462beb185ea1fbc544a4833a92f4bd7553e3defcaa0',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x6a54eb11fa99dfe3b0cf219e4b125f72f607f9948d7fe36c32f84af736f96cc9',\n [Stage.TESTNET]: '0x18fcbd1705146f06d901cf65da36bf82367801445e265f3d042ac2d187c9c2f3',\n [Stage.SANDBOX]: '0xffae52435cdf714b1966594b38025bc12de1a18531ce3731ae28179b44498d5c',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x79cc082b54f649d8ac00d372715b951a8a604ee31814c6019110c9b4aebb2c23',\n [Stage.TESTNET]: '0x122ddbfee4da1a173ac45f5672bb1e51626142e68f4adf3ecf03a96546058fdc',\n [Stage.SANDBOX]: '0x39439bfb5a35a2df9fe800572c8f37c4748e6721bf775fa9022d0a14df087eeb',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xaa3f42a2955bec10bb58b7d95aa2e7471499e26b220c92aced179041f152c8b7',\n [Stage.TESTNET]: '0x798c194c8740dde76a0e3f46f444f7ee974765abb2a9db98be03a0ee89ce050c',\n [Stage.SANDBOX]: '0x453fbcf26de58a231366b55431bcaec34bde7803399c486d0591ab2241b2e5ee',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xd8717e05c622a366394bedb326ca10e6a34b25df20ec9b572382b65c8a68461f',\n [Stage.TESTNET]: '0x3f12330ba9e26a604e2149b4b67c0710d32fcbc3de0bea76dd43dbb6b747bc8c',\n [Stage.SANDBOX]: '0x7f890e79ba7c2011afa5dbf63849b7dc7f56c7c2bf82318a0142ac238dab4950',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x64418278adf0c593b9a241e0258590d58966430ca9fc203b03f4cf37209cf6c7',\n [Stage.TESTNET]: '0xb293d24e62db7ceeca5ba2d3f359ce5eb3733975e66707dcd51bc56bc99cce3e',\n [Stage.SANDBOX]: '0x65653b11aa3392f1d33743f43c4498c1ce37996a655ffa8e29797f343dcbc2ab',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x89ea5ebd792f61423b5739449f7c6f394085735560152118019895876dfedc22',\n [Stage.TESTNET]: '0xea6575eb7042529451de4be4d113e4d11b623db2221e613781199e10ff6b041d',\n [Stage.SANDBOX]: '0x6f1e8a995402af6e7806176202927c84fee1a6e07ae6143be9143811cc87d2f',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x47ed8d8ccd2eb258950bbebeca06f18828832422785100fcd458ec14b6ccb73e',\n [Stage.TESTNET]: '0x7081e9d11f24283f18c8cc0cd5add340c36329bd577e1390fdda0426640ebde0',\n [Stage.SANDBOX]: '0xbc2e6b95b83dc18dae9ed54630c6c3075239c3e574bc4520b3f71332b7282013',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x7aa83ccf30a1dfa4637f745ecfe4bfef2a5266cf4423a03e52e2983d4f0dd82a',\n [Stage.TESTNET]: '0x8451402fdd9c7c959246667e1bd3a96109e175ca322242f4ed75eed9e0d35723',\n [Stage.SANDBOX]: '0x3c6d605576f2cbc3a627c5cfce28a30e8c2747e8e1a7f2d6816fdd0dfba8d6c2',\n}\n\nexport const DVN_FEE_LIB: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x753ce30d577abb046f7b1691dbc520281c8a45aed20fe1aacc21f683b7dc0d5c',\n [Stage.TESTNET]: '0x8382276eb833cb4526cfccbbc86348366100ca26d3761086ab868e188b9e08a3',\n [Stage.SANDBOX]: '0x10c41a5ac21901b97211469f46afddcb74b6c26cd925229dd73088aba470fcc5',\n}\n\nexport const EXECUTOR_FEE_LIB: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xb8d9c6a52154738957055420ef16a662cc062811a4b6753854eae95cf9e6f82f',\n [Stage.TESTNET]: '0x50b7a15f8ffa96784769a73e651fa3b1d9e00c372898d260fb4cdb0505cc12cb',\n [Stage.SANDBOX]: '0x165d3bdaa57a3d3622f23514709b11ec6c43c8c2bcab364624bcbc8bf1770fa',\n}\n\nexport const DEPLOY_TO_OBJECT: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x838c8daa1ba8b2e01617d4d50620cb5ea98c61a6',\n [Stage.TESTNET]: '0xd74239090db4dc740c3e5a9bdd7918fb39f4f250',\n [Stage.SANDBOX]: '0xd01d8dfbfb8bf0a5f27621895a6c26c8d2b13203',\n}\n","import { AccAddress, CreateTxOptions, Msg, MsgExecute, MsgExecuteJSON, MsgScript, 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 or the address of the sender.\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 | AccAddress,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender = nativeSigner instanceof Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString()\n let msg: Msg\n if (buildTxRequest.payload.function.split('::').length === 3) {\n // entry function transaction\n msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload)\n } else {\n msg = convertPayloadToMsgScript(sender, buildTxRequest.payload)\n }\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 if (buildTxRequest.options?.sequence !== undefined) {\n createOptions.sequence = buildTxRequest.options.sequence\n }\n return Promise.resolve(TransactionRequest.from(createOptions))\n}\n\n/**\n * Builds a transaction.\n *\n * @param { Wallet} nativeSigner - The nativeSigner or the address of the sender.\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 buildInitiaMultisigTransaction(\n nativeSigner: Wallet | AccAddress,\n multisigAddress: string,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender = nativeSigner instanceof Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString()\n let msg: Msg\n if (buildTxRequest.payload.function.split('::').length === 3) {\n // entry function transaction\n msg = convertPayloadToMultisigMsgExecute(sender, multisigAddress, buildTxRequest.payload)\n } else {\n throw new Error('No support multisig for script payload')\n }\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 if (buildTxRequest.options?.sequence !== undefined) {\n createOptions.sequence = buildTxRequest.options.sequence\n }\n return Promise.resolve(TransactionRequest.from(createOptions))\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\nexport function convertPayloadToMultisigMsgExecute(\n sender: string,\n multisigAddress: string,\n payload: InputEntryFunctionData\n): Msg {\n const functionStructs = payload.function.split('::')\n const moduleAddress = functionStructs[0]\n const moduleName = functionStructs[1]\n const functionName = functionStructs[2]\n\n function PrettierBigNumber(_key: unknown, value: unknown): any {\n if (typeof value === 'bigint') {\n return value.toString()\n }\n return value\n }\n\n const msgCreateProposal = new MsgExecuteJSON(\n sender,\n '0x1',\n 'multisig_v2',\n 'create_proposal_with_json',\n [],\n [\n multisigAddress, // multisig address\n [moduleAddress], // module addresses\n [moduleName], // module names\n [functionName], // function names\n [[]], // function type args\n [payload.functionArguments.map((v) => JSON.stringify(v, PrettierBigNumber))], // function args\n null, // expiry duration //TODO how many time need to expire\n ].map((v) => JSON.stringify(v, PrettierBigNumber))\n )\n\n return msgCreateProposal\n}\n\n/**\n * Converts a payload to a MsgScript 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 MsgScript object.\n */\nexport function convertPayloadToMsgScript(sender: string, payload: InputEntryFunctionData): Msg {\n const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments)\n const msg = new MsgScript(\n sender, // sender address\n Buffer.from(payload.function, 'hex').toString('base64'), // function\n payload.typeArguments,\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 {\n AccAddress,\n INIT_COIN_TYPE,\n LCDClient,\n MnemonicKey,\n TxError,\n WaitTxBroadcastResult,\n Wallet,\n} from '@initia/initia.js'\n\nimport { Provider } 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 {\n EntryFunctionArgumentTypes,\n GasOptions,\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 DEPLOY_TO_OBJECT,\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, 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. {@link InitiaProvider}.\n * @param {Stage} [stage] - The stage of the SDK. {@link Stage}\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider, stage?: Stage): SDK {\n return new SDK({ provider: provider as InitiaProvider, stage })\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 deploy_to_object: this.toHexAddress(DEPLOY_TO_OBJECT[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 * 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 eth: coinType === INIT_COIN_TYPE,\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 /**\n * Checks if the given address is a valid object address.\n * @param address\n */\n async isObjectAddress(address: string): Promise<boolean> {\n try {\n await this.getAccountResource({\n accountAddress: address,\n resourceType: '0x1::object::ObjectCore',\n })\n return true\n } catch (e) {\n return false\n }\n }\n}\n\nexport * from './types'\nexport * from './utils'\n"]}
1
+ {"version":3,"sources":["../src/generated/addresses.ts","../src/utils.ts","../src/index.ts"],"names":["Stage","initia","TransactionRequest","LayerZeroModulesSdk","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]: '0x81d2b534893db8745ab2b0c092ec5f88d554d54825f98fd9e8c83f9b113ee77e',\n [Stage.TESTNET]: '0xcc4e9fda80712972deb0338d85b84822a42d5155b645ef1b2eeae42cedd41b04',\n [Stage.SANDBOX]: '0x4cfd96a8b3d7bff492fd490568c66a9117fe25f7154f7bdecae9649dd99bf551',\n}\n\nexport const SIMPLE_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x32cff077e36f28969f01b92e29e643e74289ed86b51d420f1202c1bc736a2a5f',\n [Stage.TESTNET]: '0xd6fb80799f09bcd7784e1c5cd065a84cac826ce4c49f9c6893cbd9c753fada6a',\n [Stage.SANDBOX]: '0x2fc80c0b184ad67e85a30dc4b5e4de5b519c07f2fedb46ab4ca60783c6a095e6',\n}\n\nexport const ULN_MESSAGE_LIB_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x5aab6aa28749dd073c26c4703e14eb7e89dd6a25abc2e1f0e98de59f8203a012',\n [Stage.TESTNET]: '0x3e1b182c40965a986133798e1da76302ef327de2c32c58110361587560285e88',\n [Stage.SANDBOX]: '0x59c8706450b668ea055c95eedfd0a9b29ee43d6b6035649ccaac58300d603d02',\n}\n\nexport const COUNTER_V2_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x27b7ea8a7a98e48029f0170caf52d8d631ce7433a043a87e5bfc29d8d0a4c240',\n [Stage.TESTNET]: '0xf57ffea0a6dfd7e98a0e5f7e36515f2e8622931c6fb5b690528271707213540',\n [Stage.SANDBOX]: '0xe45e57fa31ac68e748511462beb185ea1fbc544a4833a92f4bd7553e3defcaa0',\n}\n\nexport const OFT_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x6a54eb11fa99dfe3b0cf219e4b125f72f607f9948d7fe36c32f84af736f96cc9',\n [Stage.TESTNET]: '0x18fcbd1705146f06d901cf65da36bf82367801445e265f3d042ac2d187c9c2f3',\n [Stage.SANDBOX]: '0xffae52435cdf714b1966594b38025bc12de1a18531ce3731ae28179b44498d5c',\n}\n\nexport const LAYERZERO_VIEWS_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x79cc082b54f649d8ac00d372715b951a8a604ee31814c6019110c9b4aebb2c23',\n [Stage.TESTNET]: '0x122ddbfee4da1a173ac45f5672bb1e51626142e68f4adf3ecf03a96546058fdc',\n [Stage.SANDBOX]: '0x39439bfb5a35a2df9fe800572c8f37c4748e6721bf775fa9022d0a14df087eeb',\n}\n\nexport const EXECUTOR_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xaa3f42a2955bec10bb58b7d95aa2e7471499e26b220c92aced179041f152c8b7',\n [Stage.TESTNET]: '0x798c194c8740dde76a0e3f46f444f7ee974765abb2a9db98be03a0ee89ce050c',\n [Stage.SANDBOX]: '0x453fbcf26de58a231366b55431bcaec34bde7803399c486d0591ab2241b2e5ee',\n}\n\nexport const DVN_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xd8717e05c622a366394bedb326ca10e6a34b25df20ec9b572382b65c8a68461f',\n [Stage.TESTNET]: '0x3f12330ba9e26a604e2149b4b67c0710d32fcbc3de0bea76dd43dbb6b747bc8c',\n [Stage.SANDBOX]: '0x7f890e79ba7c2011afa5dbf63849b7dc7f56c7c2bf82318a0142ac238dab4950',\n}\n\nexport const WORKER_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x64418278adf0c593b9a241e0258590d58966430ca9fc203b03f4cf37209cf6c7',\n [Stage.TESTNET]: '0xb293d24e62db7ceeca5ba2d3f359ce5eb3733975e66707dcd51bc56bc99cce3e',\n [Stage.SANDBOX]: '0x65653b11aa3392f1d33743f43c4498c1ce37996a655ffa8e29797f343dcbc2ab',\n}\n\nexport const PRICE_FEED: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x89ea5ebd792f61423b5739449f7c6f394085735560152118019895876dfedc22',\n [Stage.TESTNET]: '0xea6575eb7042529451de4be4d113e4d11b623db2221e613781199e10ff6b041d',\n [Stage.SANDBOX]: '0x6f1e8a995402af6e7806176202927c84fee1a6e07ae6143be9143811cc87d2f',\n}\n\nexport const TREASURY_ADDRESS: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x47ed8d8ccd2eb258950bbebeca06f18828832422785100fcd458ec14b6ccb73e',\n [Stage.TESTNET]: '0x7081e9d11f24283f18c8cc0cd5add340c36329bd577e1390fdda0426640ebde0',\n [Stage.SANDBOX]: '0xbc2e6b95b83dc18dae9ed54630c6c3075239c3e574bc4520b3f71332b7282013',\n}\n\nexport const ENDPOINT_V2_COMMON: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x7aa83ccf30a1dfa4637f745ecfe4bfef2a5266cf4423a03e52e2983d4f0dd82a',\n [Stage.TESTNET]: '0x8451402fdd9c7c959246667e1bd3a96109e175ca322242f4ed75eed9e0d35723',\n [Stage.SANDBOX]: '0x3c6d605576f2cbc3a627c5cfce28a30e8c2747e8e1a7f2d6816fdd0dfba8d6c2',\n}\n\nexport const DVN_FEE_LIB: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x753ce30d577abb046f7b1691dbc520281c8a45aed20fe1aacc21f683b7dc0d5c',\n [Stage.TESTNET]: '0x8382276eb833cb4526cfccbbc86348366100ca26d3761086ab868e188b9e08a3',\n [Stage.SANDBOX]: '0x10c41a5ac21901b97211469f46afddcb74b6c26cd925229dd73088aba470fcc5',\n}\n\nexport const EXECUTOR_FEE_LIB: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0xb8d9c6a52154738957055420ef16a662cc062811a4b6753854eae95cf9e6f82f',\n [Stage.TESTNET]: '0x50b7a15f8ffa96784769a73e651fa3b1d9e00c372898d260fb4cdb0505cc12cb',\n [Stage.SANDBOX]: '0x165d3bdaa57a3d3622f23514709b11ec6c43c8c2bcab364624bcbc8bf1770fa',\n}\n\nexport const DEPLOY_TO_OBJECT: { [stage in Stage]?: string } = {\n [Stage.MAINNET]: '0x838c8daa1ba8b2e01617d4d50620cb5ea98c61a6',\n [Stage.TESTNET]: '0xd74239090db4dc740c3e5a9bdd7918fb39f4f250',\n [Stage.SANDBOX]: '0xd01d8dfbfb8bf0a5f27621895a6c26c8d2b13203',\n}\n","// eslint-disable-next-line import/default\nimport initia 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 {initia.Wallet} nativeSigner - The nativeSigner or the address of the sender.\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: initia.Wallet | initia.AccAddress,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender =\n nativeSigner instanceof initia.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString()\n let msg: initia.Msg\n if (buildTxRequest.payload.function.split('::').length === 3) {\n // entry function transaction\n msg = convertPayloadToMsgExecute(sender, buildTxRequest.payload)\n } else {\n msg = convertPayloadToMsgScript(sender, buildTxRequest.payload)\n }\n const createOptions: initia.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 if (buildTxRequest.options?.sequence !== undefined) {\n createOptions.sequence = buildTxRequest.options.sequence\n }\n return Promise.resolve(TransactionRequest.from(createOptions))\n}\n\n/**\n * Builds a transaction.\n *\n * @param {initia.Wallet} nativeSigner - The nativeSigner or the address of the sender.\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 buildInitiaMultisigTransaction(\n nativeSigner: initia.Wallet | initia.AccAddress,\n multisigAddress: string,\n buildTxRequest: InitiaBuildTxRequest\n): Promise<TransactionRequest> {\n const sender =\n nativeSigner instanceof initia.Wallet ? nativeSigner.key.accAddress.toString() : nativeSigner.toString()\n let msg: initia.Msg\n if (buildTxRequest.payload.function.split('::').length === 3) {\n // entry function transaction\n msg = convertPayloadToMultisigMsgExecute(sender, multisigAddress, buildTxRequest.payload)\n } else {\n throw new Error('No support multisig for script payload')\n }\n const createOptions: initia.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 if (buildTxRequest.options?.sequence !== undefined) {\n createOptions.sequence = buildTxRequest.options.sequence\n }\n return Promise.resolve(TransactionRequest.from(createOptions))\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 {initia.Msg} The MsgExecute object.\n */\nexport function convertPayloadToMsgExecute(sender: string, payload: InputEntryFunctionData): initia.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 initia.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\nexport function convertPayloadToMultisigMsgExecute(\n sender: string,\n multisigAddress: string,\n payload: InputEntryFunctionData\n): initia.Msg {\n const functionStructs = payload.function.split('::')\n const moduleAddress = functionStructs[0]\n const moduleName = functionStructs[1]\n const functionName = functionStructs[2]\n\n function PrettierBigNumber(_key: unknown, value: unknown): any {\n if (typeof value === 'bigint') {\n return value.toString()\n }\n return value\n }\n\n const msgCreateProposal = new initia.MsgExecuteJSON(\n sender,\n '0x1',\n 'multisig_v2',\n 'create_proposal_with_json',\n [],\n [\n multisigAddress, // multisig address\n [moduleAddress], // module addresses\n [moduleName], // module names\n [functionName], // function names\n [[]], // function type args\n [payload.functionArguments.map((v) => JSON.stringify(v, PrettierBigNumber))], // function args\n null, // expiry duration //TODO how many time need to expire\n ].map((v) => JSON.stringify(v, PrettierBigNumber))\n )\n\n return msgCreateProposal\n}\n\n/**\n * Converts a payload to a MsgScript 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 {initia.Msg} The MsgScript object.\n */\nexport function convertPayloadToMsgScript(sender: string, payload: InputEntryFunctionData): initia.Msg {\n const args = covertPayloadArgs(payload.functionArgumentTypes ?? [], payload.functionArguments)\n const msg = new initia.MsgScript(\n sender, // sender address\n Buffer.from(payload.function, 'hex').toString('base64'), // function\n payload.typeArguments,\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 initia.bcs\n .bool()\n .serialize(arg as boolean)\n .toBase64()\n case 'u256':\n return initia.bcs\n .u256()\n .serialize(arg as bigint)\n .toBase64()\n case 'u128':\n return initia.bcs\n .u128()\n .serialize(arg as bigint)\n .toBase64()\n case 'u64':\n return initia.bcs\n .u64()\n .serialize(arg as bigint)\n .toBase64()\n case 'u32':\n return initia.bcs\n .u32()\n .serialize(arg as number)\n .toBase64()\n case 'u16':\n return initia.bcs\n .u16()\n .serialize(arg as number)\n .toBase64()\n case 'u8':\n return initia.bcs\n .u8()\n .serialize(arg as number)\n .toBase64()\n case 'address':\n return initia.bcs\n .address()\n .serialize(arg as string)\n .toBase64()\n case 'vector<u8>':\n return initia.bcs\n .vector(initia.bcs.u8())\n .serialize(arg as unknown as Uint8Array)\n .toBase64()\n case 'vector<address>':\n return initia.bcs\n .vector(initia.bcs.address())\n .serialize(arg as unknown as string[])\n .toBase64()\n case 'vector<vector<u8>>':\n return initia.bcs\n .vector(initia.bcs.vector(initia.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","// eslint-disable-next-line import/default\nimport initia from '@initia/initia.js'\n\nimport { Provider } 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 {\n EntryFunctionArgumentTypes,\n GasOptions,\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 DEPLOY_TO_OBJECT,\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, 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. {@link InitiaProvider}.\n * @param {Stage} [stage] - The stage of the SDK. {@link Stage}\n * @returns {SDK} The initialized SDK instance.\n */\nexport function getSDKFromProvider(provider: Provider, stage?: Stage): SDK {\n return new SDK({ provider: provider as InitiaProvider, stage })\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 initia.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<initia.MnemonicKey>}\n */\nexport class SDK implements MoveSdkImpl<initia.MnemonicKey> {\n stage: Stage\n provider: InitiaProvider\n LayerzeroModule: LayerZeroModulesSdk<initia.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 deploy_to_object: this.toHexAddress(DEPLOY_TO_OBJECT[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 {initia.LCDClient} The Initia native client.\n */\n getLCDClient(): initia.LCDClient {\n return this.provider.native\n }\n\n /**\n * Executes a view function.\n * @implements {MoveSdkImpl<initia.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<initia.MnemonicKey>}\n *\n * @param {initia.MnemonicKey | PrivateKey | MnemonicAndPath} signer - The signer to normalize.\n * @returns {initia.MnemonicKey} The normalized signer.\n */\n normalizeSigner(signer: initia.MnemonicKey | PrivateKey | MnemonicAndPath): initia.MnemonicKey {\n if (signer instanceof initia.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 initia.MnemonicKey({\n mnemonic,\n coinType,\n account,\n index,\n eth: coinType === initia.INIT_COIN_TYPE,\n })\n } else if (isPrivateKey(signer)) {\n return initia.MnemonicKey.fromHex(signer) as initia.MnemonicKey\n }\n throw new Error(`Invalid signer`)\n }\n\n /**\n * Converts the given account to an address.\n * @implements {MoveSdkImpl<initia.MnemonicKey>}\n *\n * @param {initia.MnemonicKey} account - The account to convert.\n * @returns {string} The address of the account.\n */\n accountToAddress(account: initia.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 (initia.AccAddress.validate(anyAddress)) {\n return anyAddress\n }\n return initia.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 (initia.AccAddress.validate(anyAddress)) {\n return initia.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<initia.MnemonicKey>}\n *\n * @param {initia.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: initia.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 initia.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 initia.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<initia.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<initia.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<initia.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<initia.MnemonicKey>}\n *\n * @returns {boolean} True if the SDK supports coins, false otherwise.\n */\n supportsCoin(): boolean {\n return false\n }\n\n /**\n * Checks if the given address is a valid object address.\n * @param address\n */\n async isObjectAddress(address: string): Promise<boolean> {\n try {\n await this.getAccountResource({\n accountAddress: address,\n resourceType: '0x1::object::ObjectCore',\n })\n return true\n } catch (e) {\n return false\n }\n }\n}\n\nexport * from './types'\nexport * from './utils'\n"]}