tokenbridge/oracle/scripts/resetLastBlock.js

64 lines
1.5 KiB
JavaScript
Raw Normal View History

require('../env')
const Redis = require('ioredis')
const { id } = require('../config/base.config')
const { EXIT_CODES } = require('../src/utils/constants')
Consistent variable naming (#198) * Add console.table * First steps in validate script * env rename * Added parameter names * Descriptions * Print and configuration * Added more parameters * Rename gas oracle to gas supplier * More changes * Removed env examples for now * RPC rename * Bridge address rename * More changes * jobs * Renames * Typo * jobs * Changes * jobs * Changes * Monitor changes * jovs * Typo * Changes * REACT_APP_ env prefix * Typo * Rollback changes * Oracle deployment * Defaults * Monitor * Naming * Typo * Typo * Envs * ui deployment * ALl jobs * Vars in ultimate * Lint * Lint * Lint * Another way to add REACT_APP prefixing * Unnecessary mapping * No output timeout * No output timeout * Got rid of ERC20_TOKEN_ADDRESS * Configuration readme * Configuration * Prefixes * timeout * Docs * Docs * docs * docs * docs * Roll back ERC20_TOKEN_ADDRESS for erc-to-erc * Typo * lint * Rollback * ROllback validator * Rollback yarn.lock * dai and wetc update * Rollback ERC20_TOKEN_ADDRESS * erc to native * examples * all jobs * roll back * roll back ERC20_TOKEN_ADDRESS: "0xdbeE25CbE97e4A5CC6c499875774dc7067E9426B" * ui env example * typo * Allow rpc for ultimate * Test * ERC20_TOKEN_ADDRESS rollback * Specify port * React port * All jobs * cosmetics * Values * Restore erc20 token * Rearrange example for easier comparision * Rearrange ultimate for easier comparision * Rearrange for easier comparision * Refactor * Conditional app styles * Loading environment variables in react app * Add missing vars for UI in wetc and dai * Bring back test parameters readme * Readme for monitor vars * Reading environment variables in e2e-commons (#207)
2019-09-13 10:11:38 +03:00
const redis = new Redis(process.env.ORACLE_REDIS_URL)
redis.on('error', () => {
logError('Error: Cannot connect to redis')
})
if (process.argv.length < 4) {
logError(
'Please provide process key and new block value. Example:' +
'\n signature-request 12345 ' +
'\n collected-signatures 12345 ' +
'\n affirmation-request 12345'
)
}
function logError(message) {
console.log(message)
process.exit(EXIT_CODES.GENERAL_ERROR)
}
function getRedisKey(name) {
return `${id}-${name}:lastProcessedBlock`
}
async function main() {
try {
const processName = process.argv[2]
const rawBlockValue = process.argv[3]
const newBlockValue = Number(rawBlockValue)
if (!Number.isInteger(newBlockValue)) {
logError('Expecting new block value to be an integer!')
}
const lastBlockRedisKey = getRedisKey(processName)
const value = await redis.get(lastBlockRedisKey)
if (!value) {
logError(
'Error: Process key not found on redis. Please provide one of the following:' +
'\n signature-request' +
'\n collected-signatures' +
'\n affirmation-request'
)
}
await redis.set(lastBlockRedisKey, newBlockValue)
console.log(`${processName} last block updated to ${newBlockValue}`)
redis.disconnect()
} catch (e) {
console.log(e)
}
}
main()