fix: incorrect calculation of rpc requests chunks count

This commit is contained in:
Pasha8914 2022-06-14 21:57:41 +10:00 committed by Danil Kovtonyuk
parent 9896506583
commit dea8043806
2 changed files with 15 additions and 6 deletions

View File

@ -54,7 +54,12 @@ async function getEventsFromBlockPart({ echoContract, address, currentBlockNumbe
address
})
if (partOfEvents) {
events = events.concat(partOfEvents)
events = events.concat(
partOfEvents.map((event) => ({
address: event.returnValues.who,
encryptedAccount: event.returnValues.data
}))
)
}
fromBlock = toBlock
toBlock += part

View File

@ -488,23 +488,27 @@ const actions = {
deployedBlock = lastSyncBlock
}
let NUMBER_PARTS = hasCache ? 2 : 10
const blockDifference = Math.ceil(currentBlockNumber - deployedBlock)
const divisor = hasCache ? 2 : 10
let blockRange = blockDifference > divisor ? blockDifference / divisor : blockDifference
if (Number(netId) === 56) {
NUMBER_PARTS = parseInt((currentBlockNumber - deployedBlock) / 4950) || 1
blockRange = 4950
}
const part = parseInt((currentBlockNumber - deployedBlock) / NUMBER_PARTS)
let numberParts = blockDifference === 0 ? 1 : Math.ceil(blockDifference / blockRange)
const part = Math.ceil(blockDifference / numberParts)
let fromBlock = deployedBlock
let toBlock = deployedBlock + part
if (toBlock >= currentBlockNumber || toBlock === deployedBlock) {
toBlock = 'latest'
NUMBER_PARTS = 1
numberParts = 1
}
for (let i = 0; i < NUMBER_PARTS; i++) {
for (let i = 0; i < numberParts; i++) {
const partOfEvents = await contractInstance.getPastEvents('EncryptedNote', {
toBlock,
fromBlock