wative 1.0.15 → 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/lib/index.esm.js +1 -1
- package/lib/index.umd.js +1 -1
- package/package.json +1 -1
- package/src/account.ts +1 -1
- package/src/tools.ts +80 -49
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
|
|
94
|
-
let total_balance = (new BigNumber(
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
|
234
|
-
let total_balance = (new BigNumber(
|
|
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
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
let
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
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
|
-
|
|
417
|
-
|
|
418
|
-
|
|
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) => {
|