Simplify generateTransaction function
This commit is contained in:
parent
9ec34aa423
commit
9e1eeae948
23
cli.js
23
cli.js
@ -59,7 +59,7 @@ async function printERC20Balance({ address, name, tokenAddress }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function submitTransaction(signedTX) {
|
async function submitTransaction(signedTX) {
|
||||||
console.log("Submitting raw transaction to the node");
|
console.log("Submitting transaction to the remote node");
|
||||||
await web3.eth.sendSignedTransaction(signedTX)
|
await web3.eth.sendSignedTransaction(signedTX)
|
||||||
.on('transactionHash', function (txHash) {
|
.on('transactionHash', function (txHash) {
|
||||||
console.log(`View transaction on block explorer https://${getExplorerLink()}/tx/${txHash}`)
|
console.log(`View transaction on block explorer https://${getExplorerLink()}/tx/${txHash}`)
|
||||||
@ -73,7 +73,6 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
const nonce = await web3.eth.getTransactionCount(senderAccount)
|
const nonce = await web3.eth.getTransactionCount(senderAccount)
|
||||||
const gasPrice = await fetchGasPrice()
|
const gasPrice = await fetchGasPrice()
|
||||||
let gasLimit;
|
let gasLimit;
|
||||||
let tx = {}
|
|
||||||
|
|
||||||
async function estimateGas() {
|
async function estimateGas() {
|
||||||
const fetchedGas = await web3.eth.estimateGas({
|
const fetchedGas = await web3.eth.estimateGas({
|
||||||
@ -84,10 +83,10 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
data : encodedData
|
data : encodedData
|
||||||
})
|
})
|
||||||
const bumped = Math.floor(fetchedGas * 1.3)
|
const bumped = Math.floor(fetchedGas * 1.3)
|
||||||
gasLimit = web3.utils.toHex(bumped)
|
return web3.utils.toHex(bumped)
|
||||||
}
|
}
|
||||||
if (encodedData) {
|
if (encodedData) {
|
||||||
await estimateGas();
|
gasLimit = await estimateGas();
|
||||||
} else {
|
} else {
|
||||||
gasLimit = web3.utils.toHex(21000);
|
gasLimit = web3.utils.toHex(21000);
|
||||||
}
|
}
|
||||||
@ -95,7 +94,7 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
async function txoptions() {
|
async function txoptions() {
|
||||||
// Generate EIP-1559 transaction
|
// Generate EIP-1559 transaction
|
||||||
if (netId == 1) {
|
if (netId == 1) {
|
||||||
tx = {
|
return {
|
||||||
to : to,
|
to : to,
|
||||||
value : value,
|
value : value,
|
||||||
nonce : nonce,
|
nonce : nonce,
|
||||||
@ -105,7 +104,7 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
data : encodedData
|
data : encodedData
|
||||||
}
|
}
|
||||||
} else if (netId == 5 || netId == 137 || netId == 43114) {
|
} else if (netId == 5 || netId == 137 || netId == 43114) {
|
||||||
tx = {
|
return {
|
||||||
to : to,
|
to : to,
|
||||||
value : value,
|
value : value,
|
||||||
nonce : nonce,
|
nonce : nonce,
|
||||||
@ -115,7 +114,7 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
data : encodedData
|
data : encodedData
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tx = {
|
return {
|
||||||
to : to,
|
to : to,
|
||||||
value : value,
|
value : value,
|
||||||
nonce : nonce,
|
nonce : nonce,
|
||||||
@ -125,16 +124,10 @@ async function generateTransaction(to, encodedData, value = 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await txoptions();
|
const tx = await txoptions();
|
||||||
const signed = await web3.eth.accounts.signTransaction(tx, PRIVATE_KEY);
|
const signed = await web3.eth.accounts.signTransaction(tx, PRIVATE_KEY);
|
||||||
if (!isLocalNode) {
|
if (!isLocalNode) {
|
||||||
await web3.eth.sendSignedTransaction(signed.rawTransaction)
|
await submitTransaction(signed.rawTransaction);
|
||||||
.on('transactionHash', function (txHash) {
|
|
||||||
console.log(`View transaction on block explorer https://${getExplorerLink()}/tx/${txHash}`)
|
|
||||||
})
|
|
||||||
.on('error', function (e) {
|
|
||||||
console.error('on transactionHash error', e.message)
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
console.log('\n=============Raw TX=================','\n')
|
console.log('\n=============Raw TX=================','\n')
|
||||||
console.log(`Please submit this raw tx to https://${getExplorerLink()}/pushTx, or otherwise broadcast with node cli.js broadcast command.`,`\n`)
|
console.log(`Please submit this raw tx to https://${getExplorerLink()}/pushTx, or otherwise broadcast with node cli.js broadcast command.`,`\n`)
|
||||||
|
Loading…
Reference in New Issue
Block a user