wative 1.0.14 → 1.0.16

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/src/tools.ts CHANGED
@@ -90,31 +90,38 @@ const sendEvmRawTransaction = async (chain_id: string, chain_rpc_url: string, ch
90
90
  }
91
91
  let account_balance = new BigNumber(account_balance_result.output);
92
92
  let tx_gas_price = new BigNumber(gasPrice);
93
- let max_vaule = account_balance.minus(tx_gas_price.multipliedBy(21000)).toFixed(0, BigNumber.ROUND_FLOOR);
94
- let total_balance = (new BigNumber(max_vaule)).dividedBy(1e18).toFixed(4, BigNumber.ROUND_FLOOR);
93
+ let max_value = account_balance.minus(tx_gas_price.multipliedBy(21000)).toFixed(0, BigNumber.ROUND_FLOOR);
94
+ let total_balance = (new BigNumber(max_value)).dividedBy(1e18).toFixed(4, BigNumber.ROUND_FLOOR);
95
95
 
96
96
  if (new BigNumber(total_balance) < new BigNumber(0)) {
97
97
  console.log(chalk.red("Not enough balance"));
98
98
  return
99
99
  }
100
100
 
101
- let option_select_vaule_list: any = [
102
- '> Input value',
103
- `> Total Balance (${total_balance} ${chain_symbols})`
104
- ]
105
- let selected_vaule = await selectSomething(option_select_vaule_list);
106
- let vaule_id = option_select_vaule_list.indexOf(selected_vaule);
107
- if (vaule_id === 0) {
108
- let input_value = await inputSomething("value", numberValidator);
109
- value = new BigNumber(input_value).multipliedBy(1e18).toFixed(0, BigNumber.ROUND_FLOOR);
110
- } else if (vaule_id === 1) {
111
- value = max_vaule;
112
- }
101
+ value = await getTransferValue(
102
+ total_balance,
103
+ max_value,
104
+ chain_symbols,
105
+ 18
106
+ );
113
107
 
114
- if ((new BigNumber(value)).isGreaterThan(new BigNumber(max_vaule))) {
115
- console.log(chalk.red("Not enough balance"));
116
- return;
117
- }
108
+ // let option_select_value_list: any = [
109
+ // '> Input value',
110
+ // `> Total Balance (${total_balance} ${chain_symbols})`
111
+ // ]
112
+ // let selected_value = await selectSomething(option_select_value_list);
113
+ // let value_id = option_select_value_list.indexOf(selected_value);
114
+ // if (value_id === 0) {
115
+ // let input_value = await inputSomething("value", numberValidator);
116
+ // value = new BigNumber(input_value).multipliedBy(1e18).toFixed(0, BigNumber.ROUND_FLOOR);
117
+ // } else if (value_id === 1) {
118
+ // value = max_value;
119
+ // }
120
+
121
+ // if ((new BigNumber(value)).isGreaterThan(new BigNumber(max_value))) {
122
+ // console.log(chalk.red("Not enough balance"));
123
+ // return;
124
+ // }
118
125
  } else {
119
126
  data = await editorSomething("data", hexValidator);
120
127
  value = await inputSomething("value", numberValidator);
@@ -159,12 +166,10 @@ const sendEvmRawTransaction = async (chain_id: string, chain_rpc_url: string, ch
159
166
  console.log(chalk.red(signed_message_result.output));
160
167
  return;
161
168
  }
162
- let transaction_receipt_result = await wative_core.account.sendSignedTransaction(account_address, signed_message_result.output.rawTransaction, chain_rpc_url);
163
- if (!transaction_receipt_result.status) {
164
- console.log(chalk.red(transaction_receipt_result.output));
165
- return;
166
- }
167
169
 
170
+ console.log(chalk.green(`Transaction hash: ${signed_message_result.output.transactionHash}`));
171
+
172
+ wative_core.account.sendSignedTransaction(account_address, signed_message_result.output.rawTransaction, chain_rpc_url);
168
173
  deleteTokenBalance(
169
174
  chain_id,
170
175
  [
@@ -175,7 +180,6 @@ const sendEvmRawTransaction = async (chain_id: string, chain_rpc_url: string, ch
175
180
  "0"
176
181
  ]
177
182
  );
178
- console.log(chalk.green(`Transaction hash: ${transaction_receipt_result.output.transactionHash}`));
179
183
  }
180
184
 
181
185
  export const sendSolanaRawTransaction = async (chain_id: string, chain_rpc_url: string, chain_symbols: string, account_address: string, wative_core: typeof WativeCore) => {
@@ -230,30 +234,36 @@ export const sendSolanaRawTransaction = async (chain_id: string, chain_rpc_url:
230
234
  }
231
235
 
232
236
  const account_balance = new BigNumber(account_balance_result.output);
233
- const max_vaule = account_balance.minus(5000).minus(used_prioritization_fee);
234
- let total_balance = (new BigNumber(max_vaule)).dividedBy(1e9).toFixed(4, BigNumber.ROUND_FLOOR);
237
+ const max_value = account_balance.minus(5000).minus(used_prioritization_fee);
238
+ let total_balance = (new BigNumber(max_value)).dividedBy(1e9).toFixed(4, BigNumber.ROUND_FLOOR);
235
239
  if (new BigNumber(total_balance) < new BigNumber(0)) {
236
240
  console.log(chalk.red("Not enough balance"));
237
241
  return
238
242
  }
239
243
 
240
- let option_select_vaule_list: any = [
241
- '> Input value',
242
- `> Total Balance (${total_balance} ${chain_symbols})`
243
- ]
244
- let selected_vaule = await selectSomething(option_select_vaule_list);
245
- let vaule_id = option_select_vaule_list.indexOf(selected_vaule);
246
- let transfer_amount: string = "0";
247
- if (vaule_id === 0) {
248
- let input_value = await inputSomething("value", numberValidator);
249
- transfer_amount = new BigNumber(input_value).multipliedBy(1e9).toFixed(0, BigNumber.ROUND_FLOOR);
250
- if ((new BigNumber(transfer_amount)).isGreaterThan(new BigNumber(max_vaule))) {
251
- console.log(chalk.red("Not enough balance"));
252
- return;
253
- }
254
- } else if (vaule_id === 1) {
255
- transfer_amount = max_vaule.toString();
256
- }
244
+ let transfer_amount = await getTransferValue(
245
+ total_balance,
246
+ max_value.toString(),
247
+ chain_symbols,
248
+ 9
249
+ );
250
+ // let option_select_value_list: any = [
251
+ // '> Input value',
252
+ // `> Total Balance (${total_balance} ${chain_symbols})`
253
+ // ]
254
+ // let selected_value = await selectSomething(option_select_value_list);
255
+ // let value_id = option_select_value_list.indexOf(selected_value);
256
+ // let transfer_amount: string = "0";
257
+ // if (value_id === 0) {
258
+ // let input_value = await inputSomething("value", numberValidator);
259
+ // transfer_amount = new BigNumber(input_value).multipliedBy(1e9).toFixed(0, BigNumber.ROUND_FLOOR);
260
+ // if ((new BigNumber(transfer_amount)).isGreaterThan(new BigNumber(max_value))) {
261
+ // console.log(chalk.red("Not enough balance"));
262
+ // return;
263
+ // }
264
+ // } else if (value_id === 1) {
265
+ // transfer_amount = max_value.toString();
266
+ // }
257
267
 
258
268
  let transactions = new Transaction();
259
269
  transactions.add(
@@ -301,6 +311,30 @@ export const sendSolanaRawTransaction = async (chain_id: string, chain_rpc_url:
301
311
  console.log(chalk.green(`Transaction hash: ${transaction_receipt_result.output}`));
302
312
  }
303
313
 
314
+
315
+ const getTransferValue = async (total_balance: string, max_value: string, chain_symbols: string, decimals: number): Promise<string> => {
316
+ let option_select_value_list: any = [
317
+ '> Input value',
318
+ `> Total Balance (${total_balance} ${chain_symbols})`
319
+ ]
320
+ let selected_value = await selectSomething(option_select_value_list);
321
+ let value_id = option_select_value_list.indexOf(selected_value);
322
+ let value = "0";
323
+ if (value_id === 0) {
324
+ let input_value = await inputSomething("value", numberValidator);
325
+ value = new BigNumber(input_value).multipliedBy(10 ** decimals).toFixed(0, BigNumber.ROUND_FLOOR);
326
+ } else if (value_id === 1) {
327
+ value = max_value;
328
+ }
329
+
330
+ if ((new BigNumber(value)).isLessThanOrEqualTo(new BigNumber(max_value))) {
331
+ return value;
332
+ }
333
+
334
+ console.log(chalk.red("Not enough balance"));
335
+ return getTransferValue(total_balance, max_value, chain_symbols, decimals);
336
+ }
337
+
304
338
  const sendEvmTokenTransaction = async (keystore_path: string, chain_rpc_url: string, chain_id: string, account_address: string, wative_core: typeof WativeCore) => {
305
339
  const option_token_address_list = [
306
340
  '> Input token ticker',
@@ -413,11 +447,9 @@ const sendEvmTokenTransaction = async (keystore_path: string, chain_rpc_url: str
413
447
  console.log(chalk.red(signed_message_result.output));
414
448
  return;
415
449
  }
416
- let transaction_receipt_result = await wative_core.account.sendSignedTransaction(account_address, signed_message_result.output.rawTransaction, chain_rpc_url);
417
- if (!transaction_receipt_result.status) {
418
- console.log(chalk.red(transaction_receipt_result.output));
419
- return;
420
- }
450
+
451
+ console.log(chalk.green(`Transaction hash: ${signed_message_result.output.transactionHash}`));
452
+ wative_core.account.sendSignedTransaction(account_address, signed_message_result.output.rawTransaction, chain_rpc_url);
421
453
 
422
454
  deleteTokenBalance(
423
455
  chain_id,
@@ -430,7 +462,6 @@ const sendEvmTokenTransaction = async (keystore_path: string, chain_rpc_url: str
430
462
  token_address
431
463
  ]
432
464
  );
433
- console.log(chalk.green(`Transaction hash: ${transaction_receipt_result.output.transactionHash}`));
434
465
  }
435
466
 
436
467
  const sendSolanaTokenTransaction = async (keystore_path: string, chain_rpc_url: string, chain_id: string, account_address: string, wative_core: typeof WativeCore) => {
package/src/utils.ts CHANGED
@@ -653,6 +653,16 @@ export const updateStorage = (keystore_path: string) => {
653
653
  }
654
654
  }
655
655
 
656
+ let account_list_len = networks.accounts.length;
657
+ for (let i = 0; i < account_list_len; i++) {
658
+ let account_label = networks.accounts[account_list_len - 1 - i];
659
+ let account_label_path = path.resolve(keystore_path, `accounts/${account_label}.json`);
660
+
661
+ if (!fs.existsSync(account_label_path)) {
662
+ networks.accounts.splice(account_list_len - 1 - i, 1);
663
+ }
664
+ }
665
+
656
666
  fs.writeFileSync(network_path, JSON.stringify(networks, null, 4));
657
667
  let account_label_list = networks.accounts;
658
668