tokenbridge/oracle/scripts/initialChecks.js
Przemyslaw Rzad f5ff33d21f
Oracle & Monitor - Compiled ABI's (#71)
* Oracle abi taken from compilation.
Moved project setup from dockerfile to package.json scripts

* Use compile:contracts script instead of repeated command

* Update imports to root contracts instead of copying

* Rule for importing unpublished. Lint fix

* Remove prepare:contracts and import:contracts

* Disabled ModuleScopePlugin in order to be able to import contracts outside src dir

* Fix for rm removing . and .. on linux
2019-05-27 09:22:08 +02:00

34 lines
1.1 KiB
JavaScript

const path = require('path')
require('dotenv').config({
path: path.join(__dirname, '../.env')
})
const Web3 = require('web3')
const ERC677BridgeTokenABI = require('../../contracts/build/contracts/ERC677BridgeToken').abi
const { ERC_TYPES } = require('../src/utils/constants')
async function initialChecks() {
const { ERC20_TOKEN_ADDRESS, BRIDGE_MODE, FOREIGN_RPC_URL, FOREIGN_BRIDGE_ADDRESS } = process.env
const result = {}
if (BRIDGE_MODE === 'ERC_TO_ERC') {
const foreignWeb3 = new Web3(new Web3.providers.HttpProvider(FOREIGN_RPC_URL))
const tokenContract = new foreignWeb3.eth.Contract(ERC677BridgeTokenABI, ERC20_TOKEN_ADDRESS)
try {
const bridgeContract = await tokenContract.methods.bridgeContract().call()
if (bridgeContract === FOREIGN_BRIDGE_ADDRESS) {
result.foreignERC = ERC_TYPES.ERC677
} else {
result.foreignERC = ERC_TYPES.ERC20
}
} catch (e) {
result.foreignERC = ERC_TYPES.ERC20
}
}
console.log(JSON.stringify(result))
return result
}
initialChecks()
module.exports = initialChecks