Fixed extra votes processing. Added delay before getting binance balance.
This commit is contained in:
parent
5359ac8b3c
commit
e44b3915d1
|
@ -222,7 +222,8 @@ function parseError (message) {
|
||||||
|
|
||||||
async function sendVote (query, req, res, waitFlag = false) {
|
async function sendVote (query, req, res, waitFlag = false) {
|
||||||
try {
|
try {
|
||||||
let { txHash, gasLimit } = await homeSendQuery(query)
|
const sentQuery = await homeSendQuery(query)
|
||||||
|
let { txHash, gasLimit } = sentQuery
|
||||||
if (txHash) {
|
if (txHash) {
|
||||||
while (waitFlag) {
|
while (waitFlag) {
|
||||||
const { status, gasUsed } = await waitForReceipt(HOME_RPC_URL, txHash)
|
const { status, gasUsed } = await waitForReceipt(HOME_RPC_URL, txHash)
|
||||||
|
@ -232,14 +233,16 @@ async function sendVote (query, req, res, waitFlag = false) {
|
||||||
}
|
}
|
||||||
if (gasLimit === gasUsed) {
|
if (gasLimit === gasUsed) {
|
||||||
logger.info('Sending vote failed due to out of gas revert, retrying with more gas')
|
logger.info('Sending vote failed due to out of gas revert, retrying with more gas')
|
||||||
const nexTx = await homeSendQuery(query)
|
const nextTx = await homeSendQuery(query)
|
||||||
txHash = nexTx.txHash
|
txHash = nextTx.txHash
|
||||||
gasLimit = nexTx.gasLimit
|
gasLimit = nextTx.gasLimit
|
||||||
} else {
|
} else {
|
||||||
logger.warn(`Vote tx was reverted, txHash ${txHash}`)
|
logger.warn(`Vote tx was reverted, txHash ${txHash}`)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (sentQuery) {
|
||||||
res.send('Voted\n')
|
res.send('Voted\n')
|
||||||
logger.info('Voted successfully')
|
logger.info('Voted successfully')
|
||||||
} else {
|
} else {
|
||||||
|
@ -300,8 +303,7 @@ function decodeStatus (status) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function boundX (x) {
|
||||||
function boundX(x) {
|
|
||||||
try {
|
try {
|
||||||
return x.toNumber()
|
return x.toNumber()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
@ -50,7 +50,7 @@ async function createSender (url, privateKey) {
|
||||||
|
|
||||||
if (estimate.error) {
|
if (estimate.error) {
|
||||||
logger.debug('Gas estimate failed %o', estimate.error)
|
logger.debug('Gas estimate failed %o', estimate.error)
|
||||||
return false
|
return true
|
||||||
}
|
}
|
||||||
const gasLimit = BN.min(new BN(estimate.result, 16).multipliedBy(GAS_LIMIT_FACTOR), MAX_GAS_LIMIT)
|
const gasLimit = BN.min(new BN(estimate.result, 16).multipliedBy(GAS_LIMIT_FACTOR), MAX_GAS_LIMIT)
|
||||||
tx.gasLimit = `0x${new BN(gasLimit).toString(16)}`
|
tx.gasLimit = `0x${new BN(gasLimit).toString(16)}`
|
||||||
|
|
|
@ -47,7 +47,8 @@ describe('bridge tests', function () {
|
||||||
testBncToEth(() => users, () => info.foreignBridgeAddress)
|
testBncToEth(() => users, () => info.foreignBridgeAddress)
|
||||||
|
|
||||||
describe('remove validator', function () {
|
describe('remove validator', function () {
|
||||||
before(function () {
|
before(async function () {
|
||||||
|
info = await controller1.getInfo()
|
||||||
prevForeignBridgeBalance = info.foreignBalanceTokens
|
prevForeignBridgeBalance = info.foreignBalanceTokens
|
||||||
prevForeignBridgeAddress = info.foreignBridgeAddress
|
prevForeignBridgeAddress = info.foreignBridgeAddress
|
||||||
})
|
})
|
||||||
|
@ -126,6 +127,7 @@ describe('bridge tests', function () {
|
||||||
assert.deepStrictEqual(info.validators, [ validatorsConfig[0], validatorsConfig[2] ], 'Incorrect set of validators in epoch 2')
|
assert.deepStrictEqual(info.validators, [ validatorsConfig[0], validatorsConfig[2] ], 'Incorrect set of validators in epoch 2')
|
||||||
assert.strictEqual(info.nextEpoch, 2, 'Incorrect next epoch')
|
assert.strictEqual(info.nextEpoch, 2, 'Incorrect next epoch')
|
||||||
assert.strictEqual(info.bridgeStatus, 'ready', 'Incorrect bridge state in new epoch')
|
assert.strictEqual(info.bridgeStatus, 'ready', 'Incorrect bridge state in new epoch')
|
||||||
|
await delay(5000)
|
||||||
const prevBalance = await getBalance(prevForeignBridgeAddress)
|
const prevBalance = await getBalance(prevForeignBridgeAddress)
|
||||||
const newBalance = await getBalance(info.foreignBridgeAddress)
|
const newBalance = await getBalance(info.foreignBridgeAddress)
|
||||||
assert.strictEqual(prevBalance, 0, "Did not transfer all funds")
|
assert.strictEqual(prevBalance, 0, "Did not transfer all funds")
|
||||||
|
|
Loading…
Reference in New Issue