diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index d8be8f8af..2172e37b2 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,194 +1,194 @@ steps: - - command: | - source ~/.cargo/env - rustup default stable - ci/test_verify_eth_headers.sh - - label: "verify eth headers" - agents: - - "queue=medium" - - - command: | - source ~/.cargo/env - rustup default stable - ci/test_verify_eth_proofs.sh - - label: "verify eth proofs" - agents: - - "queue=medium" - - - command: | - source ~/.cargo/env - rustup default stable - cd libs-rs - eth-client/test.sh - - label: "eth-client tests" - agents: - - "queue=medium" - - - command: | - source ~/.cargo/env - rustup default stable - cd libs-rs - eth-prover/test.sh - - label: "eth-prover tests" - agents: - - "queue=medium" - - - command: | - cd libs-rs - ./build_all.sh - changed_files=$$(git status --porcelain --untracked-files=no | wc -l) - if [ $$changed_files -gt 0 ]; then - echo 'contract changed, please rebuild contract' - exit 1 - fi - - label: "build all rust contracts" - agents: - - "queue=medium" - - - command: | - source ~/.cargo/env - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd libs-sol - ./build_all.sh - - label: "build all solidity contracts" - agents: - - "queue=medium" - - - label: "lint" - command: | - source ~/.cargo/env - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd environment - yarn - yarn run lint - cd ../libs-sol/nearbridge - yarn - yarn lint - agents: - - "queue=medium" - soft_fail: + - command: | + source ~/.cargo/env + rustup default stable + ci/test_verify_eth_headers.sh + + label: 'verify eth headers' + agents: + - 'queue=medium' + + - command: | + source ~/.cargo/env + rustup default stable + ci/test_verify_eth_proofs.sh + + label: 'verify eth proofs' + agents: + - 'queue=medium' + + - command: | + source ~/.cargo/env + rustup default stable + cd libs-rs + eth-client/test.sh + + label: 'eth-client tests' + agents: + - 'queue=medium' + + - command: | + source ~/.cargo/env + rustup default stable + cd libs-rs + eth-prover/test.sh + + label: 'eth-prover tests' + agents: + - 'queue=medium' + + - command: | + cd libs-rs + ./build_all.sh + changed_files=$$(git status --porcelain --untracked-files=no | wc -l) + if [ $$changed_files -gt 0 ]; then + echo 'contract changed, please rebuild contract' + exit 1 + fi + + label: 'build all rust contracts' + agents: + - 'queue=medium' + + - command: | + source ~/.cargo/env + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd libs-sol + ./build_all.sh + + label: 'build all solidity contracts' + agents: + - 'queue=medium' + + - label: 'lint' + command: | + source ~/.cargo/env + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd environment + yarn + yarn run lint + cd ../libs-sol/nearbridge + yarn + yarn lint + agents: + - 'queue=medium' + soft_fail: - exit_status: 1 - exit_status: 2 - - - command: | - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd environment - yarn - cd .. - cd libs-sol/nearbridge - yarn - yarn test - node test/ed25519-test.js - - label: "nearbridge test" - agents: - - "queue=medium" - - - command: | - source ~/.cargo/env - cd libs-rs - cargo test - - label: "rust contracts test" - agents: - - "queue=medium" - - - command: | - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd environment - yarn - cd ../libs-sol/nearprover - yarn - yarn test - - label: "nearprover test" - agents: - - "queue=medium" - - - label: "e2e test" - command: | - source ci/e2e_ci_prepare_env.sh - source ci/e2e_ci_prepare_log.sh - ci/e2e.sh - - artifact_paths: - - "logs/**/*.log" - timeout: 40 - - agents: - - "queue=default" - - - label: "test challenge with near watchdog" - command: | - source ci/e2e_ci_prepare_env.sh - source ci/e2e_ci_prepare_log.sh - ci/test_challenge.sh - - artifact_paths: - - "logs/**/*.log" - timeout: 40 - - agents: - - "queue=default" - - - label: "test ethrelay catchup" - command: | - source ci/e2e_ci_prepare_env.sh - source ci/e2e_ci_prepare_log.sh - ci/test_ethrelay_catchup.sh - - artifact_paths: - - "logs/**/*.log" - timeout: 40 - - agents: - - "queue=default" - - - label: "test command as installed from npm" - command: | - source ci/e2e_ci_prepare_env.sh - source ci/e2e_ci_prepare_log.sh - ci/test_npm_package.sh - - artifact_paths: - - "logs/**/*.log" - timeout: 40 - - agents: - - "queue=default" - - - command: | - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd environment - yarn - cd .. - ci/test_verify_near_headers.sh - - label: "verify near headers" - agents: - - "queue=medium" - - - command: | - source ~/.nvm/nvm.sh - source ~/.yarn/yarn.sh - cd environment - yarn - cd ../libs-sol/nearprover - yarn - cd ../.. - ci/test_verify_near_proofs.sh - - label: "verify near proofs" - agents: - - "queue=medium" + + - command: | + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd environment + yarn + cd .. + cd libs-sol/nearbridge + yarn + yarn test + node test/ed25519-test.js + + label: 'nearbridge test' + agents: + - 'queue=medium' + + - command: | + source ~/.cargo/env + cd libs-rs + cargo test + + label: 'rust contracts test' + agents: + - 'queue=medium' + + - command: | + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd environment + yarn + cd ../libs-sol/nearprover + yarn + yarn test + + label: 'nearprover test' + agents: + - 'queue=medium' + + - label: 'e2e test' + command: | + source ci/e2e_ci_prepare_env.sh + source ci/e2e_ci_prepare_log.sh + ci/e2e.sh + + artifact_paths: + - 'logs/**/*.log' + timeout: 40 + + agents: + - 'queue=default' + + - label: 'test challenge with Rainbow Bridge Watchdog' + command: | + source ci/e2e_ci_prepare_env.sh + source ci/e2e_ci_prepare_log.sh + ci/test_challenge.sh + + artifact_paths: + - 'logs/**/*.log' + timeout: 40 + + agents: + - 'queue=default' + + - label: 'test ethrelay catchup' + command: | + source ci/e2e_ci_prepare_env.sh + source ci/e2e_ci_prepare_log.sh + ci/test_ethrelay_catchup.sh + + artifact_paths: + - 'logs/**/*.log' + timeout: 40 + + agents: + - 'queue=default' + + - label: 'test command as installed from npm' + command: | + source ci/e2e_ci_prepare_env.sh + source ci/e2e_ci_prepare_log.sh + ci/test_npm_package.sh + + artifact_paths: + - 'logs/**/*.log' + timeout: 40 + + agents: + - 'queue=default' + + - command: | + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd environment + yarn + cd .. + ci/test_verify_near_headers.sh + + label: 'verify near headers' + agents: + - 'queue=medium' + + - command: | + source ~/.nvm/nvm.sh + source ~/.yarn/yarn.sh + cd environment + yarn + cd ../libs-sol/nearprover + yarn + cd ../.. + ci/test_verify_near_proofs.sh + + label: 'verify near proofs' + agents: + - 'queue=medium' diff --git a/README.md b/README.md index 77bb72be3..5779b026c 100644 --- a/README.md +++ b/README.md @@ -273,9 +273,9 @@ node index.js init-near-fun-token Now start the services that will relay the information between the chains: ```bash -node index.js start eth-relay -node index.js start near-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 -node index.js start near-watchdog --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501202 +node index.js start eth2near-relay +node index.js start near2eth-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 +node index.js start bridge-watchdog --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501202 ``` Note, you can observe the logs of the relays by running: @@ -314,9 +314,9 @@ You should observe the change of the ERC20 balance as reported by the CLI. 2. A development docker compose setup (docker-compose-dev.yml) - ganache - local near node - - eth-relay + - eth2near-relay 3. A production docker compose setup (docker-compose-prod.yml) - - eth-relay + - eth2near-relay ## Running the docker setup: diff --git a/ci/e2e.sh b/ci/e2e.sh index 83684105f..5d2ed38b1 100755 --- a/ci/e2e.sh +++ b/ci/e2e.sh @@ -39,10 +39,10 @@ node index.js init-near-fun-token yarn run pm2 ping sleep 5 yarn run pm2 list -node index.js start near-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 +node index.js start near2eth-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 sleep 5 yarn run pm2 list -node index.js start eth-relay +node index.js start eth2near-relay sleep 5 yarn run pm2 list node index.js transfer-eth-erc20-to-near --amount 1000 \ diff --git a/ci/test_challenge.sh b/ci/test_challenge.sh index 448bffd81..8e4f06bf3 100755 --- a/ci/test_challenge.sh +++ b/ci/test_challenge.sh @@ -38,21 +38,21 @@ node index.js init-near-fun-token sleep 5 yarn run pm2 list -node index.js start near-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 +node index.js start near2eth-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 sleep 5 yarn run pm2 list -node index.js start eth-relay +node index.js start eth2near-relay sleep 5 yarn run pm2 list -node index.js start near-watchdog +node index.js start bridge-watchdog sleep 5 yarn run pm2 list sleep 30 -node index.js stop near-relay +node index.js stop near2eth-relay node index.js DANGER submit_invalid_near_block sleep 30 -node index.js start near-relay +node index.js start near2eth-relay node index.js transfer-eth-erc20-to-near --amount 1000 \ --eth-sender-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501200 \ diff --git a/ci/test_ethrelay_catchup.sh b/ci/test_ethrelay_catchup.sh index 41b7e4907..bebdcf3cc 100755 --- a/ci/test_ethrelay_catchup.sh +++ b/ci/test_ethrelay_catchup.sh @@ -1,5 +1,5 @@ #!/bin/bash -# This test launch all commands, but postpone start eth-relay late to test it catch fast +# This test launch all commands, but postpone start eth2near-relay late to test it catch fast set -exuo pipefail @@ -38,11 +38,11 @@ node index.js init-near-fun-token yarn run pm2 ping sleep 5 yarn run pm2 list -node index.js start near-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 +node index.js start near2eth-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 sleep 5 yarn run pm2 list sleep 100 -node index.js start eth-relay +node index.js start eth2near-relay sleep 5 yarn run pm2 list node index.js transfer-eth-erc20-to-near --amount 1000 \ diff --git a/ci/test_npm_package.sh b/ci/test_npm_package.sh index 97f190cce..6f6f4253b 100755 --- a/ci/test_npm_package.sh +++ b/ci/test_npm_package.sh @@ -18,14 +18,14 @@ npm i pm2 export PATH=${ROOT_DIR}/testenv/node_modules/.bin:$PATH cd .. -rbbr clean +rainbow clean if [ -n "${LOCAL_CORE_SRC+x}" ]; then - rbbr prepare --core-src "$LOCAL_CORE_SRC" + rainbow prepare --core-src "$LOCAL_CORE_SRC" else - rbbr prepare + rainbow prepare fi -rbbr start near-node -rbbr start ganache +rainbow start near-node +rainbow start ganache # Wait for the local node to start while ! curl localhost:3030; do sleep 1 @@ -35,31 +35,31 @@ while ! curl localhost:9545; do sleep 1 done -rbbr init-near-contracts -rbbr init-eth-ed25519 +rainbow init-near-contracts +rainbow init-eth-ed25519 # Use short lockup time for tests -rbbr init-eth-client --eth-client-lock-eth-amount 1e18 --eth-client-lock-duration 30 -rbbr init-eth-prover -rbbr init-eth-erc20 -rbbr init-eth-locker -rbbr init-near-fun-token +rainbow init-eth-client --eth-client-lock-eth-amount 1e18 --eth-client-lock-duration 30 +rainbow init-eth-prover +rainbow init-eth-erc20 +rainbow init-eth-locker +rainbow init-near-fun-token # First start pm2 daemon cd ${ROOT_DIR}/testenv/ pm2 ping sleep 5 pm2 list -rbbr start near-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 +rainbow start near2eth-relay --eth-master-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501201 sleep 5 pm2 list -rbbr start eth-relay +rainbow start eth2near-relay sleep 5 pm2 list -rbbr transfer-eth-erc20-to-near --amount 1000 \ +rainbow transfer-eth-erc20-to-near --amount 1000 \ --eth-sender-sk 0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501200 \ --near-receiver-account rainbow_bridge_eth_on_near_prover --near-master-account rainbow_bridge_eth_on_near_prover \ 2>&1 | tee -a /tmp/eth2neartransfer.out grep "Balance of rainbow_bridge_eth_on_near_prover after the transfer is 1000" /tmp/eth2neartransfer.out -rbbr transfer-eth-erc20-from-near --amount 1 --near-sender-account rainbow_bridge_eth_on_near_prover \ +rainbow transfer-eth-erc20-from-near --amount 1 --near-sender-account rainbow_bridge_eth_on_near_prover \ --near-sender-sk ed25519:3D4YudUQRE39Lc4JHghuB5WM8kbgDDa34mnrEP5DdTApVH81af7e2dWgNPEaiQfdJnZq1CNPp5im4Rg5b733oiMP \ --eth-receiver-address 0xEC8bE1A5630364292E56D01129E8ee8A9578d7D8 \ 2>&1 | tee -a /tmp/near2ethtransfer.out diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index 80803fa90..2cb2d1eb1 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -12,7 +12,7 @@ services: command: bash -c "node index.js start ganache --daemon false" ports: - 9545:9545 - eth-relay: + eth2near-relay: image: rainbow-image network_mode: host - command: bash -c "node index.js start eth-relay --daemon false" + command: bash -c "node index.js start eth2near-relay --daemon false" diff --git a/docker-compose-prod.yml b/docker-compose-prod.yml index ebda21bdd..a9e7930d8 100644 --- a/docker-compose-prod.yml +++ b/docker-compose-prod.yml @@ -3,4 +3,4 @@ services: near-node: build: . network_mode: host - command: bash -c "node index.js start eth-relay --daemon false" + command: bash -c "node index.js start eth2near-relay --daemon false" diff --git a/docker-compose.yml b/docker-compose.yml index 7cd02ee0f..e2b01ed03 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,7 +14,7 @@ services: done ganache-cli --port 9545 --blockTime 12 --gasLimit 10000000 --account='0x2bdd21761a483f71054e14f5b827213567971c676928d9a1808cbfa4b7501200,10000000000000000000000000000' " - eth-relay: + eth2near-relay: build: . network_mode: host depends_on: @@ -25,5 +25,5 @@ services: sleep 1 done node index.js init-near-contracts && - node index.js start eth-relay --daemon false + node index.js start eth2near-relay --daemon false " diff --git a/environment/commands/init-near-contracts.js b/environment/commands/init-near-contracts.js index 880d71e1c..44a8ccc86 100644 --- a/environment/commands/init-near-contracts.js +++ b/environment/commands/init-near-contracts.js @@ -1,8 +1,8 @@ const Web3 = require('web3') const nearlib = require('near-api-js') const { maybeCreateAccount, verifyAccount } = require('../lib/near-helpers') -const { NearClientContract } = require('../lib/near-client-contract') -const { EthProverContract } = require('../lib/eth-prover-contract') +const { EthOnNearClientContract } = require('../lib/eth-on-near-client') +const { EthOnNearProverContract } = require('../lib/eth-on-near-prover') const { RobustWeb3 } = require('../lib/robust') const { RainbowConfig } = require('../lib/config') @@ -92,13 +92,13 @@ class InitNearContracts { await verifyAccount(near, proverAccount) console.log('Initializing client and prover contracts.') - const clientContract = new NearClientContract( + const clientContract = new EthOnNearClientContract( new nearlib.Account(near.connection, clientAccount), clientAccount ) const robustWeb3 = new RobustWeb3(RainbowConfig.getParam('eth-node-url')) await clientContract.maybeInitialize(validateEthash === 'true', robustWeb3) - const proverContract = new EthProverContract( + const proverContract = new EthOnNearProverContract( new nearlib.Account(near.connection, proverAccount), proverAccount ) diff --git a/environment/commands/start/eth-relay.js b/environment/commands/start/eth2near-relay.js similarity index 74% rename from environment/commands/start/eth-relay.js rename to environment/commands/start/eth2near-relay.js index 04d5c433a..17eb2944e 100644 --- a/environment/commands/start/eth-relay.js +++ b/environment/commands/start/eth2near-relay.js @@ -2,12 +2,12 @@ const ProcessManager = require('pm2') const nearlib = require('near-api-js') const { spawnProcess } = require('./helpers') const { Eth2NearRelay } = require('../../lib/eth2near-relay') -const { NearClientContract } = require('../../lib/near-client-contract') +const { EthOnNearClientContract } = require('../../lib/eth-on-near-client') const { RainbowConfig } = require('../../lib/config') const path = require('path') const os = require('os') -class StartEthRelayCommand { +class StartEth2NearRelayCommand { static async execute() { if (RainbowConfig.getParam('daemon') === 'true') { ProcessManager.connect(err => { @@ -17,13 +17,13 @@ class StartEthRelayCommand { ) return } - spawnProcess('eth-relay', { - name: 'eth-relay', + spawnProcess('eth2near-relay', { + name: 'eth2near-relay', script: path.join(__dirname, '../../index.js'), interpreter: 'node', - error_file: '~/.rainbow/logs/eth-relay/err.log', - out_file: '~/.rainbow/logs/eth-relay/out.log', - args: ['start', 'eth-relay', ...RainbowConfig.getArgsNoDaemon()], + error_file: '~/.rainbow/logs/eth2near-relay/err.log', + out_file: '~/.rainbow/logs/eth2near-relay/out.log', + args: ['start', 'eth2near-relay', ...RainbowConfig.getArgsNoDaemon()], wait_ready: true, kill_timeout: 60000, logDateFormat: 'YYYY-MM-DD HH:mm:ss.SSS', @@ -48,17 +48,17 @@ class StartEthRelayCommand { }) const relay = new Eth2NearRelay() - const clientContract = new NearClientContract( + const clientContract = new EthOnNearClientContract( new nearlib.Account(near.connection, masterAccount), RainbowConfig.getParam('near-client-account') ) await clientContract.accessKeyInit() - console.log('Initializing Eth-Relay...') + console.log('Initializing eth2near-relay...') relay.initialize(clientContract, RainbowConfig.getParam('eth-node-url')) - console.log('Starting Eth-Relay...') + console.log('Starting eth2near-relay...') await relay.run() } } } -exports.StartEthRelayCommand = StartEthRelayCommand +exports.StartEth2NearRelayCommand = StartEth2NearRelayCommand diff --git a/environment/commands/start/near-relay.js b/environment/commands/start/near2eth-relay.js similarity index 69% rename from environment/commands/start/near-relay.js rename to environment/commands/start/near2eth-relay.js index 325b148ed..92b5a2a50 100644 --- a/environment/commands/start/near-relay.js +++ b/environment/commands/start/near2eth-relay.js @@ -5,7 +5,7 @@ const { RainbowConfig } = require('../../lib/config') const path = require('path') const os = require('os') -class StartNearRelayCommand { +class StartNear2EthRelayCommand { static async execute() { if (RainbowConfig.getParam('daemon') === 'true') { ProcessManager.connect(err => { @@ -15,13 +15,13 @@ class StartNearRelayCommand { ) return } - spawnProcess('near-relay', { - name: 'near-relay', + spawnProcess('near2eth-relay', { + name: 'near2eth-relay', script: path.join(__dirname, '../../index.js'), interpreter: 'node', - error_file: '~/.rainbow/logs/near-relay/err.log', - out_file: '~/.rainbow/logs/near-relay/out.log', - args: ['start', 'near-relay', ...RainbowConfig.getArgsNoDaemon()], + error_file: '~/.rainbow/logs/near2eth-relay/err.log', + out_file: '~/.rainbow/logs/near2eth-relay/out.log', + args: ['start', 'near2eth-relay', ...RainbowConfig.getArgsNoDaemon()], wait_ready: true, kill_timeout: 60000, logDateFormat: 'YYYY-MM-DD HH:mm:ss.SSS', @@ -35,4 +35,4 @@ class StartNearRelayCommand { } } -exports.StartNearRelayCommand = StartNearRelayCommand +exports.StartNear2EthRelayCommand = StartNear2EthRelayCommand diff --git a/environment/commands/start/near-watchdog.js b/environment/commands/start/watchdog.js similarity index 58% rename from environment/commands/start/near-watchdog.js rename to environment/commands/start/watchdog.js index 8c565ad04..b836c5e29 100644 --- a/environment/commands/start/near-watchdog.js +++ b/environment/commands/start/watchdog.js @@ -1,11 +1,11 @@ const ProcessManager = require('pm2') const { spawnProcess } = require('./helpers') -const { Near2EthWatchdog } = require('../../lib/near2eth-watchdog') +const { Watchdog } = require('../../lib/watchdog') const { RainbowConfig } = require('../../lib/config') const path = require('path') const os = require('os') -class StartNearWatchdogCommand { +class StartWatchdogCommand { static async execute() { if (RainbowConfig.getParam('daemon') === 'true') { ProcessManager.connect(err => { @@ -15,22 +15,26 @@ class StartNearWatchdogCommand { ) return } - spawnProcess('near-watchdog', { - name: 'near-watchdog', + spawnProcess('bridge-watchdog', { + name: 'bridge-watchdog', script: path.join(__dirname, '../../index.js'), interpreter: 'node', - error_file: '~/.rainbow/logs/near-watchdog/err.log', - out_file: '~/.rainbow/logs/near-watchdog/out.log', - args: ['start', 'near-watchdog', ...RainbowConfig.getArgsNoDaemon()], + error_file: '~/.rainbow/logs/bridge-watchdog/err.log', + out_file: '~/.rainbow/logs/bridge-watchdog/out.log', + args: [ + 'start', + 'bridge-watchdog', + ...RainbowConfig.getArgsNoDaemon(), + ], logDateFormat: 'YYYY-MM-DD HH:mm:ss.SSS', }) }) } else { - const watchdog = new Near2EthWatchdog() + const watchdog = new Watchdog() await watchdog.initialize() await watchdog.run() } } } -exports.StartNearWatchdogCommand = StartNearWatchdogCommand +exports.StartWatchdogCommand = StartWatchdogCommand diff --git a/environment/commands/status.js b/environment/commands/status.js index b1a7ec0c8..03d3d06b4 100644 --- a/environment/commands/status.js +++ b/environment/commands/status.js @@ -2,6 +2,7 @@ const Web3 = require('web3') const nearlib = require('near-api-js') const fetch = require('node-fetch') const fs = require('fs') +const ProcessManager = require('pm2-promise') const { verifyAccountGently } = require('../lib/near-helpers') const { RainbowConfig } = require('../lib/config') @@ -13,6 +14,7 @@ const Info = 'info' const Warn = 'warn' const Error = 'error' +const Running = 'running' const Valid = 'valid' const Deployed = 'deployed' const Unknown = 'unknown' @@ -79,10 +81,25 @@ class NearContracts { return new Status(Unknown, Error, ContractNotFound) } try { - const contract = new nearlib.Contract(masterAccount, contractAccount, {}) - // TODO #257 check contract validity here - //console.log(contract); - return new Status(Unknown, Info, NotVerified) + const nearAccount = new nearlib.Account(near.connection, masterAccount) + const contract = new nearlib.Contract(nearAccount, contractAccount, { + changeMethods: ['boo'], + viewMethods: [], + }) + // TODO #270 implement `initialized` method to NEAR contracts + // TODO #257 check the code deployed if possible + try { + await contract.boo() + } catch (err) { + if ( + err.message && + err.message.indexOf('Contract method is not found') >= 0 + ) { + return new Status(contract.contractId, Ok, Deployed) + } else { + return new Status(Unknown, Info, NotVerified) + } + } } catch (err) { return new Status(Unknown, Error, InternalError) } @@ -312,6 +329,43 @@ class EthStatus { } } +class ServicesStatus { + async init() { + this.eth2nearRelay = await this.running('eth2near-relay') + this.near2ethRelay = await this.running('near2eth-relay') + this.watchdog = await this.running('bridge-watchdog') + } + + processArgs(args) { + var res = [] + for (var i = 0; i + 1 < args.length; i++) { + if (args[i].startsWith('--')) { + res.push(args[i].substring(2, args[i].length) + '=' + args[i + 1]) + } + } + return res.join(', ') + } + + async running(serviceName) { + let status + try { + const process = await ProcessManager.describe(serviceName) + if (process.length) { + status = new Status( + Running, + Ok, + this.processArgs(process[0].pm2_env.args) + ) + } else { + status = new Status(Unknown, Error, Unreachable) + } + } catch (err) { + status = new Status(Unknown, Error, InternalError) + } + return status + } +} + // TODO put it into StatusCommand class if possible function printHeader(text) { console.log('\x1B[33m' + text + NoColor) @@ -360,6 +414,9 @@ class StatusCommand { const ethStatus = new EthStatus() await ethStatus.init() + const servicesStatus = new ServicesStatus() + await servicesStatus.init() + // Return console.error back console.error = consoleError @@ -409,6 +466,14 @@ class StatusCommand { } else { printLine('Contracts') } + printFooter() + + printHeader('Services') + printLine('ETH-2-NEAR relay', servicesStatus.eth2nearRelay) + printLine('NEAR-2-ETH relay', servicesStatus.near2ethRelay) + printLine('Bridge Watchdog', servicesStatus.watchdog) + + ProcessManager.disconnect() } } diff --git a/environment/commands/stop/all.js b/environment/commands/stop/all.js deleted file mode 100644 index 2005aaecd..000000000 --- a/environment/commands/stop/all.js +++ /dev/null @@ -1,37 +0,0 @@ -const ProcessManager = require('pm2-promise') - -const { StopLocalNearNodeCommand } = require('./near.js') - -async function stop(serviceName) { - try { - await ProcessManager.delete(serviceName) - console.log(serviceName, 'successfully stopped...') - } catch (err) { - if (!err.message.includes('process or namespace not found')) { - console.log(serviceName, 'error stopping the process due to:', err) - } else { - console.log(serviceName, 'already stopped') - } - } -} - -class StopAllCommands { - static async execute() { - console.log('Stopping all processes...') - - StopLocalNearNodeCommand.execute() - for (const serviceName of [ - 'ganache', - 'eth-relay', - 'near-relay', - 'near-watchdog', - ]) { - await stop(serviceName) - } - - console.log('Stopping all processes done') - await ProcessManager.disconnect() - } -} - -exports.StopAllCommands = StopAllCommands diff --git a/environment/commands/stop/near.js b/environment/commands/stop/near.js deleted file mode 100644 index 26ba9463c..000000000 --- a/environment/commands/stop/near.js +++ /dev/null @@ -1,15 +0,0 @@ -const { execSync } = require('child_process') - -class StopLocalNearNodeCommand { - static execute() { - console.log('Stopping local near node...') - const command = 'python3 ~/.rainbow/nearup/main.py stop' - try { - execSync(command) - } catch (err) { - console.log('Error stopping local near node', err) - } - } -} - -exports.StopLocalNearNodeCommand = StopLocalNearNodeCommand diff --git a/environment/commands/stop/process.js b/environment/commands/stop/process.js index d975d5f5c..b555d6a95 100644 --- a/environment/commands/stop/process.js +++ b/environment/commands/stop/process.js @@ -1,23 +1,66 @@ -const ProcessManager = require('pm2') +const ProcessManager = require('pm2-promise') +const { execSync } = require('child_process') + +async function stopLocalNearNode() { + console.log('Stopping near node') + const command = 'python3 ~/.rainbow/nearup/main.py stop' + try { + execSync(command) + console.log('near node successfully stopped') + } catch (err) { + console.log('Error stopping local near node', err) + } +} + +async function stop(serviceName) { + try { + console.log('Stopping', serviceName) + await ProcessManager.delete(serviceName) + console.log(serviceName, 'successfully stopped') + } catch (err) { + if ( + err.message && + err.message.indexOf('process or namespace not found') >= 0 + ) { + console.log(serviceName, 'already stopped') + } else { + console.log( + serviceName, + 'error stopping the process due to:', + err.message + ) + } + } +} class StopManagedProcessCommand { - static execute(command) { + static async execute(command) { const serviceName = command._name - console.log('Stopping process:', serviceName) - ProcessManager.delete(serviceName, err => { - if (err) { - if (!err.message.includes('process or namespace not found')) { - console.log('Error stopping the process due to:', err) - process.exit(1) - } else { - console.log(serviceName, 'already stopped') - } - } else { - console.log(serviceName, 'successfully stopped...') + + const consoleError = console.error + // A cool hack to avoid annoying pm2 printing to stderr + console.error = function() {} + + if (serviceName === 'near-node') { + await stopLocalNearNode() + } else if (serviceName === 'all') { + await stopLocalNearNode() + for (const serviceName of [ + 'ganache', + 'eth2near-relay', + 'near2eth-relay', + 'bridge-watchdog', + ]) { + await stop(serviceName) + await ProcessManager.disconnect() } - // @ts-ignore - ProcessManager.disconnect() - }) + } else { + await stop(serviceName) + await ProcessManager.disconnect() + } + + // Return console.error back + console.error = consoleError } } diff --git a/environment/commands/transfer-eth-erc20-from-near.js b/environment/commands/transfer-eth-erc20-from-near.js index 159eef4a5..d6c6aa338 100644 --- a/environment/commands/transfer-eth-erc20-from-near.js +++ b/environment/commands/transfer-eth-erc20-from-near.js @@ -1,4 +1,3 @@ -const Web3 = require('web3') const nearlib = require('near-api-js') const BN = require('bn.js') const fs = require('fs') diff --git a/environment/commands/transfer-eth-erc20-to-near.js b/environment/commands/transfer-eth-erc20-to-near.js index 742ddd894..6d585ac9b 100644 --- a/environment/commands/transfer-eth-erc20-to-near.js +++ b/environment/commands/transfer-eth-erc20-to-near.js @@ -1,6 +1,5 @@ const utils = require('ethereumjs-util') const BN = require('bn.js') -const Web3 = require('web3') const fs = require('fs') const nearlib = require('near-api-js') const { @@ -11,7 +10,7 @@ const { const { verifyAccount } = require('../lib/near-helpers') const { NearMintableToken } = require('../lib/near-mintable-token') const { RainbowConfig } = require('../lib/config') -const { NearClientContract } = require('../lib/near-client-contract') +const { EthOnNearClientContract } = require('../lib/eth-on-near-client') const { sleep, RobustWeb3 } = require('../lib/robust') const { normalizeEthKey } = require('../lib/robust') @@ -130,7 +129,7 @@ class TransferETHERC20ToNear { txLogIndex, lockedEvent, block, - ethClientContract, + ethOnNearClientContract, }) { const log_entry_data = logFromWeb3(log).serialize() const receipt_index = proof.txIndex @@ -161,9 +160,9 @@ class TransferETHERC20ToNear { while (true) { // @ts-ignore const last_block_number = ( - await ethClientContract.last_block_number() + await ethOnNearClientContract.last_block_number() ).toNumber() - const is_safe = await ethClientContract.block_hash_safe(blockNumber) + const is_safe = await ethOnNearClientContract.block_hash_safe(blockNumber) if (!is_safe) { const delay = 10 console.log( @@ -326,7 +325,7 @@ class TransferETHERC20ToNear { ) const clientAccount = RainbowConfig.getParam('near-client-account') - const ethClientContract = new NearClientContract( + const ethOnNearClientContract = new EthOnNearClientContract( nearMasterAccount, clientAccount ) @@ -360,7 +359,7 @@ class TransferETHERC20ToNear { } if (transferLog.finished === 'find-proof') { await TransferETHERC20ToNear.waitBlockSafe({ - ethClientContract, + ethOnNearClientContract, ...transferLog, }) transferLog = TransferETHERC20ToNear.loadTransferLog() diff --git a/environment/index.js b/environment/index.js index a29e0f0c3..925d23596 100755 --- a/environment/index.js +++ b/environment/index.js @@ -6,15 +6,15 @@ const { program } = require('commander') const { CleanCommand } = require('./commands/clean') const { PrepareCommand } = require('./commands/prepare') const { StatusCommand } = require('./commands/status') -const { StartEthRelayCommand } = require('./commands/start/eth-relay.js') -const { StartNearRelayCommand } = require('./commands/start/near-relay.js') const { - StartNearWatchdogCommand, -} = require('./commands/start/near-watchdog.js') + StartEth2NearRelayCommand, +} = require('./commands/start/eth2near-relay.js') +const { + StartNear2EthRelayCommand, +} = require('./commands/start/near2eth-relay.js') +const { StartWatchdogCommand } = require('./commands/start/watchdog.js') const { StartGanacheNodeCommand } = require('./commands/start/ganache.js') const { StartLocalNearNodeCommand } = require('./commands/start/near.js') -const { StopLocalNearNodeCommand } = require('./commands/stop/near.js') -const { StopAllCommands } = require('./commands/stop/all.js') const { StopManagedProcessCommand } = require('./commands/stop/process.js') const { DangerSubmitInvalidNearBlock, @@ -271,7 +271,9 @@ RainbowConfig.addOptions( ) RainbowConfig.addOptions( - startCommand.command('eth-relay').action(StartEthRelayCommand.execute), + startCommand + .command('eth2near-relay') + .action(StartEth2NearRelayCommand.execute), [ 'near-master-account', 'near-master-sk', @@ -283,7 +285,9 @@ RainbowConfig.addOptions( ) RainbowConfig.addOptions( - startCommand.command('near-relay').action(StartNearRelayCommand.execute), + startCommand + .command('near2eth-relay') + .action(StartNear2EthRelayCommand.execute), [ 'eth-node-url', 'eth-master-sk', @@ -298,25 +302,23 @@ RainbowConfig.addOptions( ) RainbowConfig.addOptions( - startCommand - .command('near-watchdog') - .action(StartNearWatchdogCommand.execute), + startCommand.command('bridge-watchdog').action(StartWatchdogCommand.execute), ['eth-node-url', 'eth-master-sk', 'eth-client-abi-path', 'daemon'] ) const stopCommand = program.command('stop') -stopCommand.command('all').action(StopAllCommands.execute) +stopCommand.command('all').action(StopManagedProcessCommand.execute) -stopCommand.command('near-node').action(StopLocalNearNodeCommand.execute) +stopCommand.command('near-node').action(StopManagedProcessCommand.execute) stopCommand.command('ganache').action(StopManagedProcessCommand.execute) -stopCommand.command('eth-relay').action(StopManagedProcessCommand.execute) +stopCommand.command('eth2near-relay').action(StopManagedProcessCommand.execute) -stopCommand.command('near-relay').action(StopManagedProcessCommand.execute) +stopCommand.command('near2eth-relay').action(StopManagedProcessCommand.execute) -stopCommand.command('near-watchdog').action(StopManagedProcessCommand.execute) +stopCommand.command('bridge-watchdog').action(StopManagedProcessCommand.execute) RainbowConfig.addOptions( program diff --git a/environment/lib/borsh/index.js b/environment/lib/borsh/index.js index 6d63d22ae..0d3cf761c 100644 --- a/environment/lib/borsh/index.js +++ b/environment/lib/borsh/index.js @@ -4,7 +4,7 @@ const bs58 = require('bs58') const BN = require('bn.js') const { TextDecoder } = require('util') -const { borshifyOutcomeProof } = require('./nearProof') +const { borshifyOutcomeProof } = require('./near-proof') const { sleep, backoff, signAndSendTransaction } = require('../robust') class BorshError extends Error { diff --git a/environment/lib/borsh/nearProof.js b/environment/lib/borsh/near-proof.js similarity index 100% rename from environment/lib/borsh/nearProof.js rename to environment/lib/borsh/near-proof.js diff --git a/environment/lib/eth-on-near-client/dag_merkle_roots.json b/environment/lib/eth-on-near-client/dag_merkle_roots.json new file mode 100644 index 000000000..042c1a88d --- /dev/null +++ b/environment/lib/eth-on-near-client/dag_merkle_roots.json @@ -0,0 +1,516 @@ +{ + "dag_merkle_roots": [ + "0x55b891e842e58f58956a847cbbf67821", + "0xfba03a3d1902b9256ebe9177d03242fe", + "0x2b186dc65b93be71780e5194fd44fc70", + "0x94c0532d49523cd9309057a847ef0dbd", + "0xf61d6da773315bdd4c79418186ebaa4a", + "0x28e89dd2e1e5e09ee3e4cf412af58a0e", + "0x54a0171c74e7336634f5b6b61f2b302c", + "0x3be685b693d9ddfc342406fcc8d98512", + "0x1887acc39d0818a7c6d47e33904a150a", + "0xe1434e68f6a9f30252e2f31be8db9658", + "0xa5e981ffaa1f770de8a1d21550f49755", + "0xf4a55238db60864330a300e1d05dba16", + "0xf4b2032ab23f95f9c9516db6d43372ce", + "0x5fa11b8f22bd56e5bbb4cb0f843b6730", + "0xad4e75d7abf04b5798d8d0c832bf6833", + "0x7df3208dec48fb446e0f89da95843d8a", + "0x250e4cae8e10486589190b68608af301", + "0xa55b182e12b1433a4935514bb729d2b2", + "0x99456d6b4f8886afbbafa6a758830a92", + "0xcfd122fe8a0b3c8984e1a603e97bae53", + "0x0d05ebdd6eae46efa4b0c7694e6db158", + "0x7e59bb58278cbd8f9470fe8636c4edee", + "0xc48e2800c2442220eb1d0a9d9d08b437", + "0x185f8beff965e31b7859b9b63fc79f97", + "0x6e6c22abdb238266d3fa0f2902f85d7c", + "0x7345950e2b649e10596ae6be11782110", + "0x0cc51bae63bfb29add017e4a0f89f97a", + "0x0a5a13ee1aea57228395fc64b8a1852e", + "0xecb847d99f761b457747886f4e0c81d7", + "0x9eaf4241ffab9b2d693b96420dbd0356", + "0x93f46416f3ef2d5ea57fe1a25c89cfea", + "0xec1ba1810cafc7c0fe76e7bf50809bb2", + "0x5ce691721774a58d63e53da2b80f0dbc", + "0xf570455f0bfca4359608d92ba076c0cc", + "0x1cdc79438ea2129bc739fc9497f53c14", + "0x52bfc78f0fc5839e04f1c729c73a1469", + "0xd711787384841b856ff7f4d53e5e42df", + "0x63dd408ecfdd6e71d45cddfd45aff23b", + "0xb0b09781e2c5249c9c248e0062a681ea", + "0x0d9d5d09f198c9637b510bbac6f33f34", + "0xb572f9b06f63d012d848174bd1191588", + "0xd7ab790f4a80e62b38d3a8ae4d170832", + "0x9184028922c8de7accdd9d72106aed6b", + "0x9d52e83fb1ccb288a8bbd7094ea25221", + "0xcb56adf452205662e1f83e51c0c496b5", + "0x761eb4593abc7603cf0b5ea95d3661bd", + "0x35ca47a1892c4524442a83fdc5231d3d", + "0x289f4c7339489b0d07c8716fbf169c74", + "0x75ec671be4712c1ce838fff26ef1122d", + "0xab650e5529ec2ce4147efe135a061eb1", + "0xe0e637747620e8c1c0ef440b99eb9ce7", + "0x94c0e63214f027f2ddd3ea463e44beb8", + "0x8548626524a60410aee37ee400d237fc", + "0xd80eb32a857a1f84b23801f6e4242459", + "0x4853cb0907651c681f1dfbab0646a828", + "0xecd1edccd4844736d8a8e01d4ab21e59", + "0xfb58a3ad252f9d576dcd1cfb23d32b89", + "0x583b5070f416adbbf796976b2ca27066", + "0x259d6fdcd7c3e46dd1a57ae64abda536", + "0xd0c6caf2ce368aa85881e8c3bca18192", + "0x7d54a3c9d517fba4ffb88cace0276c43", + "0x630201121608bdec230db5d012bacfb4", + "0x0da36e18ac524cab0cbd44ed0e70bf0e", + "0x864cf4a44dfa1f5419a85613e03340b3", + "0xd0369950eb82302e887caaca083d31b7", + "0x2993e04f04c9b8476e92871886d88d7a", + "0xdd49abb10a5bfaff4503b3a31874ac65", + "0x96f5bb80bb703cd6b940b0fab926195a", + "0x10e2c9baae90477c9be2f10365c29130", + "0x696469c514035c0cdf657865a76c8b05", + "0xe988c9b6348ae392d81e9d224c608247", + "0x81a816b9971534a48e6ec21994b78c81", + "0x5498cb9019ba94f896e2c04140cd036a", + "0x17fa73eaa092e4bce97e3ba4b770a0b8", + "0xe8c7b08816fc5215dfbe44cd46b47dec", + "0xc30789092db881251b0c5f7373e0c6f0", + "0xf397a1ac039c5e8bc374d1fd03568042", + "0x33ec1f25215eae69085a3fbf7a6b27fa", + "0xf6fdd17ce7427518d0631e269924f45b", + "0x036c902bf005559ba3082e5f2201e614", + "0x1fc45e655afc624fb90a7e0795b20b86", + "0xbc94ffd5e4f606a12f0c0425d7bf1013", + "0x21abfc7ec366c0b93e047d0d9d9df4bf", + "0xb8a9f1c0b2d0601e00bb6fa35f3970e2", + "0xd67fcb43ff2287a0cf8cf1f0a78ebc85", + "0xade2d8bdd4c48bd437b41d2a36424ef1", + "0xd5550bdc493b35a3480c7a5f5d93e939", + "0xb069c39e1059a068f9aa767b5a2c39d1", + "0xe151a181c34b360acc4ae8f41f0eb923", + "0xfa407454a0690b03f714c08ec72b3247", + "0x10ffffcebaf525fbadcbe4aa46104680", + "0x25569aef3173e2e81bd94a5e7904fc1b", + "0x28681502310381ebc0ae31947c3cb188", + "0x5db958abc1654596872a50938a0c9b24", + "0x7c744e082a52a74767b70a72ec4489a9", + "0x5b18ccdaa7efd9b3aff6bad60d547c81", + "0x86322eab36c65090a3b7fdb5d7bc091c", + "0x8423baac6908031fd9d08157f686b2dc", + "0x08a1ade53581b4c029e1c002e51ceaf3", + "0xf1ed7d196dff54c3421321acf939e08e", + "0x2752d9c907207388e62373ed510c4e88", + "0xc3c06fa841383ac60ccb91e4e05580d5", + "0xa4c95f5a9ed58116110e43e663425608", + "0x2c5bd140dff9063bba7ec0a206a3a4a0", + "0xa5848a52ea19a2e85afeb598ce50eb47", + "0xff6279dc1306e5169f95f0b060e34b39", + "0xda33c34ef46e9dd360b8dbe6531901b4", + "0x83b7e0dbe63ffc49ffc59bae4b7b683e", + "0x5c051f94fa62a73c11cfee276461fdb0", + "0x798e3ba76c500e8177f392003ed1872b", + "0x583d7265ee7126131854bbcb0de1f310", + "0x90e4980b35640a8b3bb682ef2606e476", + "0x6d431024b5bffd1270c0d041a05b815f", + "0x496322b442254a79d1dd0dfdd6f51def", + "0x92182683f38300b23bc0412e4138ac05", + "0x212df134572585d10dd251f536025085", + "0x63e2dbdb3937238a5d08cdf2b578b4e1", + "0x96b819206e1d15573307e27b6ad290db", + "0x0c54a577923b77c5a4ee726412c43be2", + "0x155b53faed668b73ad702c93296a3e01", + "0x896d7317a2f611e7363d93db93bcb72a", + "0xa39c09d3a4ba25f3ce6691b85b390f3d", + "0x7148171957df73a82553216488e35859", + "0xca049d60e60b7b69047e42f0b436ff67", + "0x6f402a4a8208e9e49d4bf06f6ce7e11e", + "0x95773e0c271ded0e10d2b47221c91e0e", + "0x80fd5388433e89d3e74da2637216e3d8", + "0xe35fe60581edd06fe880059a63952380", + "0x24a5b87aba928ac920362a8bb3a853c1", + "0x5a82f1cd0c0c58f0fbebb02c062dd029", + "0xd8a989f4d05f65c07cd4f78d4c83d6de", + "0x7e100ed69fa83cb97318cf268e063802", + "0x5f7d7cb3363d1c4b41736787c8fa3a36", + "0x03292bdeef76208a33368b1dd89c5f4f", + "0x6b619e4bfd91e47efc4c6a18d6d2ddd4", + "0x49e98cfac5039df5711f7bc82ca704fc", + "0xbd17f87c484f37449d0cb26bee85352d", + "0xb29204f91eeec3a61cf80f78d341e981", + "0x0e2806dac2236f555aa1b60d44e6bb94", + "0x84762739d031e5c2809951560a9aeaa2", + "0xdf1404d9feadf66ce9b6106bd730323f", + "0xbf36c772e3f353b177dd77ff0af7f658", + "0xc01a75724444ea62092d205d4f1faff8", + "0x0eb6c4edf01055c26f19606f80660a82", + "0xc5475e77e5b769f6e97f0aee53bb2927", + "0x3a2a5f7f0ca0c8270800aa61bf75a256", + "0xe2fbc1e07d14ac6e3a96cc9055750013", + "0x226e5bbb1137417f87d4d0a638739739", + "0x745c89d0db4461d9cf03e483f9ed2d66", + "0x70ab39feaf98c852e8fac994ca8cc297", + "0xcd9d7ebd5e7484375ec35bda9ebfad9b", + "0x080de890fd9263b983b58e52f6dee214", + "0xf67c8e857d379a60f7bf47b13ec08dc8", + "0xb0b8ce46fdfa7f8b0091182cd9e52c19", + "0x3fe2d70b44670254ddeaed4e46ba2d6a", + "0x1e0f257e0107db4a3be7208c3490f3e8", + "0xd0eb4a9ff0dc08a9149b275e3a64e93d", + "0xeeab095cfa3a4dc8de4daf9c3e5affbe", + "0xbee906bac51d709fa6c8d852834506fb", + "0x85cd74d6633623e3e09d3b2ea0e8eebd", + "0xf296dfe85523c5ab10cda4edaa513a52", + "0x7d8ced87ed7fd15b2e4bbc0264e76f99", + "0xae69988dd1df0ff853e6ee66a5fe3210", + "0x4469c4d95255369c6461be2862b915b4", + "0x5709b43c1560bff7d265cfd850627680", + "0xdeb4f8617f931348359a3811076a30eb", + "0xf881b9bdedd6f655e33220d24e1cc2eb", + "0xad903ea64fc18d570cd9a50e86bf033c", + "0x4b3ac2630be5f8aab921697d1d1404bd", + "0x07d5dd8bb48e7a72880b329cff744c4a", + "0x84567d5b5e74e94c2373574d42ade1be", + "0x63cf6b1ebbb29334730d8b9321cd264d", + "0x83094b1464a6bbf92363619af081e20e", + "0x7a93ae31b228b723301bf96ab9b0a09f", + "0x16873ac9aead7c99286cce23dd91b4ee", + "0xbf293be8af1eb38d7080957c7e1f8aeb", + "0x967668d49545810fcf18632a5a3431e9", + "0x475d5bbd6272a2695f66d2056da42bd9", + "0xafc7e6ef08b5b8dc7a2bb1027160cd9c", + "0xaa694f10ce796540ed77418cd9b35c86", + "0x8be1f7a470d0c1edbbec6728fb0ff366", + "0x7444078510fe6d9b3cf94188059a1366", + "0x3739215eb46221b4040eea02c7757573", + "0xa71b11286fff39e65eb3c8b3ac9a7219", + "0x4b48bc59af9ddec38279e60178263779", + "0x6076a0b6743690958cf040bfaefac391", + "0xbead81dbb9227ba51a02f827f8dee2c5", + "0x89508f9f01576f81853e8b92ba917838", + "0xd075a5b5dcf20971f2e70e816bbcbb7e", + "0x009554c550589a814909c9805279c743", + "0xb470cf622846d536ad7b288b9074d667", + "0xb87704373978613853240a3ec9368e8b", + "0x7127b8d0e757abd6830b787afd829201", + "0xf0cab8ea67e0a38ad606ab83ba6bc67e", + "0xa408633718e44f4817c329af0395aabb", + "0x4607a3ecef00a24da74521f22a6f8bee", + "0x917cb60d42ccc40442e48be457f51dea", + "0x90222d408a76f7f55fbb18282bef90da", + "0x481d56afbd0ba6978e0ab2ada7b3506c", + "0x604d874175bd36f8a02ce56b31ca827c", + "0x6dc7717dfba128a330ea277dca94141d", + "0x86226285351eba0c6e818826b1c562fb", + "0xae7280a5b84931846adff138820f221c", + "0xbe628492637e26e6489375f3a2938180", + "0x7559678bfebb6f78e5c8026b17eadca3", + "0xf38e7a19c004dd22688cf0079680bb1c", + "0xc3b0e6a2b106f925aa2f92aac6213f8c", + "0xeec733087a807a87a0c346de11513e12", + "0x4c6d1ee77b414dc3bc448ecc0769a376", + "0x303db177352ecf1920f09ba9fc8c6514", + "0x8e38c47ebaf4ce8dc05178f3c5a9e86b", + "0x104570237e9cbf0f4836ec8c4ff42f65", + "0x4776ebe704f27086bcb98059906e8e3a", + "0xc5aa722b23a6deef1d15a95f32dc4797", + "0xc6188b4ee8720e1efa99aebeb02c7a67", + "0x32701ac4e10f922048e0a7368e1f0452", + "0xe5988223410c1d4f4260994faaf952b3", + "0x2a92d9428c88e74bf47e545ea2025857", + "0x04ca250a42e1f227955846abb768a035", + "0x05b4a77d503468b71c0e730753fc1a56", + "0xd7caf66b03181401cda1369c123d19f6", + "0x6d3e29cb829b58d3fe90129c20dc9abb", + "0x41b4f0817f11f8016023d74dea3eec97", + "0xaeaa60d08ac92150b54908f7f8a92857", + "0xc9453b8e185fb93ea0e1282e8803eff0", + "0xe87f027df74563c88e700dfe057432ee", + "0xaf377ff39afc683033823eeb3ed0f10b", + "0xf56a0b076a6bfc3eea7b1804b946d947", + "0x69ba2470b6623fa3b9d68124e329513e", + "0x575aee5f222f5ae9cca0973be3ad572f", + "0xda97a6cd52c728a6f3bca987ebfa8cad", + "0x4b5536ec8aad2250a2e38f6bfcdf58f4", + "0x8fd3b4c5ad2c5743a6aae9f8219a60c6", + "0x145b1a9812d684da23e74fead96c8552", + "0x7617defe6ad9c021bc9bd7c809675624", + "0xd9a2e97eaf84cce6294581acce315ed7", + "0x3199b22620f39d534cd96fa8a032998b", + "0xb1ca9b7eb944ea1f16364a1222b9afcd", + "0xecd0e506f3792f650fe5a00694afc356", + "0x3b96f1eb7ad3124a51372cbe56f5c5e4", + "0x962a5ed01d20d1202172cae5c4b1c7ed", + "0xb5e9dc0e5c554931dba835dc88102421", + "0x4596b31e8bf6c1f24b122de58efc7e1b", + "0x224536fd41573a41daf7e131be8bdb09", + "0xef9661b2ac61737aa4bbba6fcad9f860", + "0x26c9661a65164390de94c2d38c1f568a", + "0xcc0b4699871953942cea3d167e8c9956", + "0x575617f32549dc68ceb014b2f69d3b80", + "0x932544c41c0e2d7af28189e513fb7ec5", + "0x4b8e46de3ce76638280b9a699dfdb620", + "0x53406aff68e56538b48fb98364e1a5a5", + "0x928ae8d7116355d36b946a8182fc9923", + "0xe30282bce7cdf44def0f840b6321e335", + "0xbeed3d40f310c0c6d0e18443f3304a60", + "0xe2725bfdbac45fa18dabf0eb892f03d9", + "0x07b43c42513772bc09aac4e471d67b16", + "0x8609ba6e215f939caae8770e47d25f8a", + "0x4287aec47a1da79aa2351f31cbd4ed0c", + "0xb033cc4424fc38cbf7992491211c84c5", + "0xcce1d898301da9cddb02d7f36181f8c2", + "0x79e12de9d9e677ac2322705cc8a922b1", + "0xc448a85e856037d8e88f672979a551eb", + "0x467403ae25f597deb3c1094a2d33d413", + "0xd7e03948dfccb6abb773409bd4a3c930", + "0x674a8c75924d08965e7039c2e41f7940", + "0x9220bbcb1742381fd5936662dee7210f", + "0x505e4a4e5a49243957ee68bcf2ddb9e4", + "0x85952e0b3c1032f7cad908bbd3a2b8a3", + "0xf6e25da02626214f2dca471706a057d0", + "0xdc7efbb16d990fb6db9e68efbc7fe740", + "0xa3231a207b1daf19693a1a5ad18c6ac4", + "0x90c5a0bbbc65a3fe44f2be3f860c5f0e", + "0x3d8f53b6024c3b33b9097cc678de9a28", + "0x1ad8cb3b8d1d4e04bb25330acd10b3e7", + "0xc4830b15a969f30d1592527eda63bf82", + "0x9d51b6f0c5be845ef775b6b900f0c993", + "0xabdb6ff729edfa1fdf81725236fe166c", + "0xf92a2b3fb5ebe93ee6fdac51e55f58d0", + "0xbad463d68b2067ee099b35bc976d4262", + "0x8a326abf1bf139fd19a9931aad716e2b", + "0x21a32ae99babd87319e21b115291fa93", + "0xaed51baf66ff4910f3b84c6dddd277d0", + "0x65c3bbb3015925ae57d939a67bb3e1a2", + "0x97bc9538e14c7d221d3fba271fe1a9a3", + "0x6394e2557149a2acf674610e834f02a7", + "0x280dcfe6935188046eefb81a77e043db", + "0x313d0d27a7b82f6e85b32037b3458025", + "0xaf7416b95834809dc8619c24d9f70575", + "0x9e14b1882ac75f1b7ac8735e89bd1dcf", + "0xf770f4047a86f36727fcde69c0cb8b68", + "0x004610125634efd77979c429a95f16e9", + "0x9fb78c563cc2617353fb943c5c6029d9", + "0xaddc6c96bafb15254e0e2c2a21f6eca0", + "0xb2e1d71c4419cf35d2ccb202727e9006", + "0x22c2cf6192e5f767d518ba32d2628f27", + "0xd4a9a8dedeaa916c20451f72d868e54c", + "0xe15c7e3a6935f188aab577be046518f8", + "0xd00f06b2b19fb192d885586001624318", + "0x3c1133d7e7085944fa800c1365d4b4f3", + "0x3963a16de74721a202e7f10d66278fe4", + "0x2f886a0a39058911d72b46e15bc34672", + "0xbf8c454a96a689eb71c30d9639aaecee", + "0x761b3e46118bc24bc62987107f3d12c6", + "0x891583dc69ff4a5e64070d942aaa435f", + "0xd8b34532a52763f1afd495aa3e36b2ef", + "0x2f9e4d03913cd937e09c451b3ed20dcb", + "0x93d22323cd8c06ec945733ee811d8ac8", + "0x2a9d9c385dc260a178c9dd5902499f7e", + "0x45e79066792ee537ae6106b3c897d44c", + "0x4e00df4f849deba8f05284dba1a8daf6", + "0x9ed2f8a53f69dee1e9b2d4a332ac80d5", + "0xb0cb763b4c0e4bddbdeab130195681bb", + "0xc25c64f479521ed7a68cb75637498e67", + "0xa66e88f5a0279ebbfc9063d5d7fc9681", + "0x97f23e83e5a2c1e6209a1e0baa4c9048", + "0x08efb5ef7d86b52c486f88ea92865e2e", + "0x750b98718c4d7f9b63a0fe4135a00143", + "0xbd71d4d32938661a8e4e8e198f6e3c71", + "0xdac6dce2e49f253706ee5ea4549abb67", + "0x1dfa7fc8cff2108f4de96a6f6404321b", + "0x58fa94796612dacc2f2a60fbac5f85d6", + "0xaf4a599a7afc59244662fb56a32f38cb", + "0x7b2920aac8c076c5fccfdf3325fc8455", + "0xb3328f0b1057958da28bab59330133a7", + "0xad4e0add9ad103421f47d88eeb5c711f", + "0x4825b9d42589e834f61e6ef705641713", + "0x3da44d4f1d8bb790537ec42ba2af168c", + "0x87db7dab6b1aa2857fcf861273b9a58d", + "0xc32c902e1389ebda24a09ae882575370", + "0xcf17c3f198e852d5123942c402918656", + "0x9f1cf97072ee00922c301340a19c91b7", + "0xb3e163f4cbeac4437a962c84a85a1e5b", + "0xa70314ea9655ebf03ee78a4a320d1ecc", + "0x2ab485395195fd37e0fd5b2336f0a00a", + "0x9f77060b503e1fbccf8b682215821b07", + "0xa4fd17b615f2794b3fbb98ac81e0c5e7", + "0x3e7faa44b3e919bf089ce8962a41596b", + "0xf1cb06f527cfdb2bfb3e3341c878101d", + "0xfe8cedf87702d7b090a0f07571607d86", + "0xf569a8f30771d73544ad99fb1610b174", + "0x1e332a7f9b33fc91369ba33503353023", + "0xe04c52de8e81749474a0a3ef746c4c9d", + "0xe961634b1721573ccbaf4c195ece7bd4", + "0xc50b42bd793d49f0505df93353c4acde", + "0xf8a9ea7fd860ad32e03ed50aebeb92f2", + "0xf6a622025cb1659a5bce3c4cc7ed0680", + "0xb6a78250c0253c2a8a985beb3ed16309", + "0xd2ba47f421049058107969e08458e7bc", + "0x66809b4880f156c8f539441829d11b90", + "0x980b88f3b17ad1bf46ddc89356df550c", + "0x083177d975088d3b3acb85c5e767948f", + "0x07a3e31da3988ccc22a48cb61890ed83", + "0x12c4f7a7402ada8fac7c2ddc784ca2cb", + "0xa7bd8cdd867b4b3812f3066b3db3c006", + "0xaa098d01c41cc948c138f864a8a62481", + "0x18457233e28062083f7d23b2e481189d", + "0x1702cda0b76772ba09cea0edc5e5746e", + "0xdb200270afe9e05cba79d94ff6d2da8c", + "0xb93ce415bb6beb51157141149e34bd0e", + "0x6266741ef0b85a2fd5ac4a1fb816835b", + "0x8dba28245cf055574881b05fef9953a6", + "0xe4af90f7979c2c631633131d642dd8bd", + "0x97f98f4275be120a445cd0275e2cd73a", + "0x150a9c0526b11752453a23d8b18a8f3b", + "0x010bbf6895ade2375c8478a0c3151ce5", + "0x355796530fdacf6d87bcc370f17fc71e", + "0x9a404317c26f415ed025f32dfabe8598", + "0x15d2eb783afced72c733f6ce90bf7349", + "0xfb9f445a7acf24b91e6cbe8f9489a7c2", + "0x6f03e5d4ef52a7c05a5a5fd28b159b5b", + "0x2466fb6d4eb8aa1c700e728fded218df", + "0x676cfafe2fbcffd070ddb236d2bb0021", + "0x91e33a111622283750412eea13c83f35", + "0x88b1f25057c3bac8ee1eeca2ff2209a3", + "0xc10d6e9c953ebdc8ece36c5cd6223387", + "0x1fb01164b818aa63387a0ec14be5e3e7", + "0xaca8367a8bfd04541cc836e293255b77", + "0x8b74b13c0d49da16c37a8de608c18e7e", + "0x79e4197b401889e0756cedda74f46812", + "0xfdfc1643dbd6ad08bd6a4eba37a0e3c3", + "0x3c4b6a74dd034b4e72bc84652a09a3ff", + "0x2f31fab52ef05919d280c2abcf422fab", + "0x4a2f98048e8605e4d439ff8554ab6e63", + "0x3b7e760d63c75a4c368dd53425084427", + "0xdbd55facc2eed4edae760a2ba92b4f39", + "0xf0e079daee7e4fae706c60345eaed7c6", + "0x00cd47758ac9dfe055865748f9f15b3a", + "0x5bb13e4d95fd1a1d551a0a8bbb724fbb", + "0x2ab38207d22885d80753f77eb8f11188", + "0x77af57a3e73852729f602770889d41f6", + "0x4e76a9575455c544259f6fa4dc28ec73", + "0xdced4535167e2f1ff0075e1fbca1f32b", + "0x94ac1540daf6ee75412dfedf521ac26b", + "0xa5f4edb22058795428c0e3f0984c4e42", + "0xc21b458e1b2973ad8d1a42865476e420", + "0xb8edf8bfd4fa0dcd9d68ca62de7f8163", + "0x8ca26ec2b20aaa2a003f4732b133d55e", + "0x518a1c489f3d366a6175a6c27caedb6d", + "0x11aa2bd74ac3e01a7ee5d413d3607681", + "0x3f2e4621aff23efdbe33e8c828c4d45a", + "0xff373231626f5dbcb6f1e0216aaec0ba", + "0xd400fa2884977ede9fb3667d23d984db", + "0x3ec403699e9f2e18d23f8e777cafa676", + "0xb6d0a777a0ce6e68f7bdeb79f37ae378", + "0x9e20d21eaa17f971543fe70ac15df078", + "0x8566b7226d025a7fcd4d61a7cb76edef", + "0x86d6b187f841cb3fcc92a27060e8f9ea", + "0xbf8d2e422a91c28cc445cb08a87bc401", + "0x0d64d2fbbad9c1b0530052ea47d4539b", + "0x0d5279a8100c0a044cf13882942f3c5e", + "0x4d914c7455896b6aeafbfaf5bbb7c69f", + "0x34859258bb4bac5923fb3c73c8e95fbb", + "0xcb2409f400cef34f88c7f29b731d7d59", + "0x7e9bc66a6bc2a5c5692306db1b6c474f", + "0x9b125466b31b3e4275b9c3f477ad9bb4", + "0x0682605f164269183277a0bfa1a7aa86", + "0xfdf029dca743acf24f4cbebbc846e990", + "0x4e5fa1902e699e059e6ac657585525f3", + "0xc70fced2684c45f39a227f1b0e6a2639", + "0x2e8ca3caf417021d3209da66f0d125b8", + "0x18a51613c5ae13e32c5bcf4965b78583", + "0x402ece445768d17f2790dc0cdbf7f9fa", + "0x7ef9cfe23a9f2d9b5fa10cc91e601f1c", + "0xba2dd4d240fbd92f1d46cd90a63cb301", + "0x29cff10b881311ce6292a765b9086853", + "0x9a016ffcb23883d0328d0183e035ed18", + "0xffcbd9d2ef2912e64d811c45700fcaec", + "0x0ce6dccd903d0e4809ad3e300da7a455", + "0x846bc24d47b884f73346f81788688374", + "0xbb5094794e59876aa8301adb7126a2c3", + "0xb8f55aa699f64d44a2c944246686298a", + "0xb824a33ef385a5293d2570326a7227c3", + "0xa9d724a77e1f87aaec95df4050649b1b", + "0xc0a76950b77ced186bdd52e1dc3ba8b7", + "0x38c28c14bfa88693bf306588e08ae09f", + "0x04f9280b95c9812a51299359c770b913", + "0x94f78ea30bbbc5024bc05c06fc80a3a3", + "0x57e2ff4bcecff754849ea5c15684df75", + "0x9064b534593c012115617b850814974e", + "0x96b84b73c9bd4fe4686b9c5e47057279", + "0x79422e6008157852225f4960b952ce94", + "0x16e6b48564c7f62bb0d6a5d8562f71e1", + "0x9ba574947f637db0922b5a3411b39073", + "0x9c0ea3342b493673eb6ba7c0f3e33001", + "0x13219cddbc960a443b68f73348bdabb7", + "0x9612e953f80bcec6fd9c11e80642e07c", + "0x7e1a63fe5d68d66440f69212f0d06a7d", + "0x29388bc27f370d522dc179cfddcefcf0", + "0x22d098169c99d823adbc0279467cdd55", + "0x8cb0763f7a0ec5aa0761bfbb049fe2c1", + "0xccd344c4e3b6b028253a724d7014b831", + "0x8a409beab35999899ae65a0b4519e081", + "0x472da5358a5c51cbe55d4beadfa8d2ef", + "0xaf3eb432bc504607d20dd9b93fdf0382", + "0x15652ee8ba674184c53238346e7c2818", + "0x1038ca6c9eca2e2240ae40dcee168d7f", + "0x8f99e10b2925562e1061f7ad3a7f591e", + "0xec7875f6e017ec743ce364f257c79a70", + "0xdf953a9008d4f96c63da1993439a81c6", + "0xc44353ffa531580a5bbbbb8faa0855cd", + "0x4d2020a9a71a5351f415552099e2760a", + "0x39c14bb1c059f585fd4ba723dc1c66ca", + "0x4fbbf8b5795d2a8b7a83b3768869b5e1", + "0x8210215bfb4ace609e0fb0973ac511de", + "0x16fba09f0e8ecd584d0524a4c5723a8b", + "0x8619f37f7511cec0777ab7efe07ae451", + "0xa4ff22443285056f6e6be1bba3a886e8", + "0xa13fb0480ab2fb0cdb3a1373694323f9", + "0xc9b9c6a82b04c72d8970ec3e015c2607", + "0x064449044bd883c413684d6d29eef904", + "0xb1896f87a9ae66ec233de69dd5b5fc50", + "0x4d39896b61686334603e8accbb0288ff", + "0xe0687ca2fc99a162a61e83da0f54dfea", + "0xe12c1c535fc6f6498de80b0da9094c80", + "0x4731d5e4b9421510c3ddf73d87a9c4a3", + "0x247a38f6f0fcc658fc35057787bd9054", + "0x8974ef985b8dc87bbf14f16657f3bd30", + "0x89073a016fd5c618095291915c5912e1", + "0x86f16e07d569b7570af0031fb6c36af4", + "0x12d5be9063d155f9df791be6c35f1865", + "0x8962f4ccba3d7cb61f0a501d474f9906", + "0xefee4030b687d7ae3eb2d27673f65343", + "0x2464c007ea23451f778ed2bf0c017b7b", + "0x6dbe36b12f350e01689f6295d686b8b9", + "0x025cafd23d97228050066bf4128a4fa3", + "0xde0bb757deba77755678381d08a12bf1", + "0x1c542ed68bb6f818c4bee47703298d08", + "0x8178b368306f2ae1abd7e68583d67dad", + "0xcb4d956080d6f8bb617a2d51e5ac1296", + "0x06dc4c3c0f4d7c5f4784f3e865433730", + "0x7134fde96ed353c8d6ac24ec7efccaf9", + "0x1466a522411631d6c9c5c706558985c1", + "0x95e26e89a1c7b9df6a7c2c56223292b5", + "0x6555486abac007b7fadaf6e04f896239", + "0x472a1d76a9734964c42b92b36993ed49", + "0xcea176b441e44750555739f29e045e74", + "0xfeb06e244cdbf8e8cb1d5fab49c6e583", + "0x499c5a7fc475c7ab9e888a9f8aeb5765", + "0xd3b05f45181c0b1b4a0354ffe3d95c9a", + "0xb768bcc1492f03e1819620dfa2e130d5", + "0xa38c13579500a7c7a90c80153ab22f4f", + "0xadb73d387c59a6ba8eff18a6b0320ca4", + "0x09c8e0bdd1ba73602063d89d11ff5210", + "0xecab8f890f1f3d6ff564eebab034ebb3", + "0x9823e2e8911c5a0fb2ff6feb52be2c0f", + "0x4fa03dbaabcf99e71903f3177444bfaa", + "0xa4c9667d00998d262c47f6d2c79f43c2", + "0xb3e65ee26384d25bc7750b3f37e72883", + "0x7dea46d1a183f3070760eee0bf5fce3c", + "0xecb2963c22a757569fe659635f4b0243", + "0x9ed968203144981e6e697db052910c27", + "0x4aa6ca6ebef942d8766065b2e590fd32" + ] +} diff --git a/environment/lib/near-client-contract/index.js b/environment/lib/eth-on-near-client/index.js similarity index 90% rename from environment/lib/near-client-contract/index.js rename to environment/lib/eth-on-near-client/index.js index 4b597b053..4cab0ac09 100644 --- a/environment/lib/near-client-contract/index.js +++ b/environment/lib/eth-on-near-client/index.js @@ -3,8 +3,6 @@ const { web3BlockToRlp } = require('../eth2near-relay') const Web3 = require('web3') const BN = require('bn.js') const { BorshContract, hexToBuffer, readerToHex } = require('../borsh') -const { RobustWeb3 } = require('../robust') -// @ts-ignore const roots = require('./dag_merkle_roots.json') const borshSchema = { @@ -65,7 +63,7 @@ const borshSchema = { }, } -class NearClientContract extends BorshContract { +class EthOnNearClientContract extends BorshContract { constructor(account, contractId) { super(borshSchema, account, contractId, { viewMethods: [ @@ -126,7 +124,7 @@ class NearClientContract extends BorshContract { initialized = await this.initialized() } catch (e) {} if (!initialized) { - console.log('EthClient is not initialized, initializing...') + console.log('EthOnNearClient is not initialized, initializing...') const last_block_number = await robustWeb3.getBlockNumber() const blockRlp = web3BlockToRlp( await robustWeb3.getBlock(last_block_number) @@ -144,10 +142,10 @@ class NearClientContract extends BorshContract { }, new BN('300000000000000') ) - console.log('EthClient initialized') + console.log('EthOnNearClient initialized') } - console.log('Checking EthClient initialization.') + console.log('Checking EthOnNearClient initialization.') // @ts-ignore const first_root = await this.dag_merkle_root({ epoch: 0, @@ -163,11 +161,11 @@ class NearClientContract extends BorshContract { ) ) { console.log( - `EthClient initialization error! The first and last roots are ${first_root} and ${last_root}` + `EthOnNearClient initialization error! The first and last roots are ${first_root} and ${last_root}` ) process.exit(1) } } } -exports.NearClientContract = NearClientContract +exports.EthOnNearClientContract = EthOnNearClientContract diff --git a/environment/lib/eth-prover-contract/index.js b/environment/lib/eth-on-near-prover/index.js similarity index 94% rename from environment/lib/eth-prover-contract/index.js rename to environment/lib/eth-on-near-prover/index.js index abe6daee1..8aa9148eb 100644 --- a/environment/lib/eth-prover-contract/index.js +++ b/environment/lib/eth-on-near-prover/index.js @@ -31,7 +31,7 @@ const borshSchema = { }, } -class EthProverContract extends BorshContract { +class EthOnNearProverContract extends BorshContract { constructor(account, contractId) { super(borshSchema, account, contractId, { viewMethods: [], @@ -77,6 +77,6 @@ class EthProverContract extends BorshContract { } } -exports.EthProverContract = EthProverContract +exports.EthOnNearProverContract = EthOnNearProverContract // For debugging; exports.borshSchema = borshSchema diff --git a/environment/lib/eth-proof-extractor/index.js b/environment/lib/eth-proof-extractor/index.js index 18740cb23..9bac3d779 100644 --- a/environment/lib/eth-proof-extractor/index.js +++ b/environment/lib/eth-proof-extractor/index.js @@ -1,8 +1,6 @@ -const Web3 = require('web3') const Tree = require('merkle-patricia-tree') -const utils = require('ethereumjs-util') const { Header, Proof, Receipt, Log } = require('eth-object') -const { encode, toBuffer } = require('eth-util-lite') +const { encode } = require('eth-util-lite') const { promisfy } = require('promisfy') const { RobustWeb3 } = require('../robust') diff --git a/environment/lib/eth2near-relay.js b/environment/lib/eth2near-relay.js index 3505f7996..0fc909e57 100644 --- a/environment/lib/eth2near-relay.js +++ b/environment/lib/eth2near-relay.js @@ -1,6 +1,5 @@ const path = require('path') const os = require('os') -const Web3 = require('web3') const exec = require('child_process').exec const utils = require('ethereumjs-util') const BN = require('bn.js') @@ -48,7 +47,7 @@ class Eth2NearRelay { let chainBlockNumber try { // Even retry 10 times ethClientContract.last_block_number could still fail - // Return back to loop to avoid crash eth-relay. + // Return back to loop to avoid crash eth2near-relay. clientBlockNumber = ( await this.ethClientContract.last_block_number() ).toNumber() diff --git a/environment/lib/near-client-contract/dag_merkle_roots.json b/environment/lib/near-client-contract/dag_merkle_roots.json deleted file mode 100644 index 1bf0af332..000000000 --- a/environment/lib/near-client-contract/dag_merkle_roots.json +++ /dev/null @@ -1,516 +0,0 @@ -{ - "dag_merkle_roots": [ - "0x55b891e842e58f58956a847cbbf67821", - "0xfba03a3d1902b9256ebe9177d03242fe", - "0x2b186dc65b93be71780e5194fd44fc70", - "0x94c0532d49523cd9309057a847ef0dbd", - "0xf61d6da773315bdd4c79418186ebaa4a", - "0x28e89dd2e1e5e09ee3e4cf412af58a0e", - "0x54a0171c74e7336634f5b6b61f2b302c", - "0x3be685b693d9ddfc342406fcc8d98512", - "0x1887acc39d0818a7c6d47e33904a150a", - "0xe1434e68f6a9f30252e2f31be8db9658", - "0xa5e981ffaa1f770de8a1d21550f49755", - "0xf4a55238db60864330a300e1d05dba16", - "0xf4b2032ab23f95f9c9516db6d43372ce", - "0x5fa11b8f22bd56e5bbb4cb0f843b6730", - "0xad4e75d7abf04b5798d8d0c832bf6833", - "0x7df3208dec48fb446e0f89da95843d8a", - "0x250e4cae8e10486589190b68608af301", - "0xa55b182e12b1433a4935514bb729d2b2", - "0x99456d6b4f8886afbbafa6a758830a92", - "0xcfd122fe8a0b3c8984e1a603e97bae53", - "0x0d05ebdd6eae46efa4b0c7694e6db158", - "0x7e59bb58278cbd8f9470fe8636c4edee", - "0xc48e2800c2442220eb1d0a9d9d08b437", - "0x185f8beff965e31b7859b9b63fc79f97", - "0x6e6c22abdb238266d3fa0f2902f85d7c", - "0x7345950e2b649e10596ae6be11782110", - "0x0cc51bae63bfb29add017e4a0f89f97a", - "0x0a5a13ee1aea57228395fc64b8a1852e", - "0xecb847d99f761b457747886f4e0c81d7", - "0x9eaf4241ffab9b2d693b96420dbd0356", - "0x93f46416f3ef2d5ea57fe1a25c89cfea", - "0xec1ba1810cafc7c0fe76e7bf50809bb2", - "0x5ce691721774a58d63e53da2b80f0dbc", - "0xf570455f0bfca4359608d92ba076c0cc", - "0x1cdc79438ea2129bc739fc9497f53c14", - "0x52bfc78f0fc5839e04f1c729c73a1469", - "0xd711787384841b856ff7f4d53e5e42df", - "0x63dd408ecfdd6e71d45cddfd45aff23b", - "0xb0b09781e2c5249c9c248e0062a681ea", - "0x0d9d5d09f198c9637b510bbac6f33f34", - "0xb572f9b06f63d012d848174bd1191588", - "0xd7ab790f4a80e62b38d3a8ae4d170832", - "0x9184028922c8de7accdd9d72106aed6b", - "0x9d52e83fb1ccb288a8bbd7094ea25221", - "0xcb56adf452205662e1f83e51c0c496b5", - "0x761eb4593abc7603cf0b5ea95d3661bd", - "0x35ca47a1892c4524442a83fdc5231d3d", - "0x289f4c7339489b0d07c8716fbf169c74", - "0x75ec671be4712c1ce838fff26ef1122d", - "0xab650e5529ec2ce4147efe135a061eb1", - "0xe0e637747620e8c1c0ef440b99eb9ce7", - "0x94c0e63214f027f2ddd3ea463e44beb8", - "0x8548626524a60410aee37ee400d237fc", - "0xd80eb32a857a1f84b23801f6e4242459", - "0x4853cb0907651c681f1dfbab0646a828", - "0xecd1edccd4844736d8a8e01d4ab21e59", - "0xfb58a3ad252f9d576dcd1cfb23d32b89", - "0x583b5070f416adbbf796976b2ca27066", - "0x259d6fdcd7c3e46dd1a57ae64abda536", - "0xd0c6caf2ce368aa85881e8c3bca18192", - "0x7d54a3c9d517fba4ffb88cace0276c43", - "0x630201121608bdec230db5d012bacfb4", - "0x0da36e18ac524cab0cbd44ed0e70bf0e", - "0x864cf4a44dfa1f5419a85613e03340b3", - "0xd0369950eb82302e887caaca083d31b7", - "0x2993e04f04c9b8476e92871886d88d7a", - "0xdd49abb10a5bfaff4503b3a31874ac65", - "0x96f5bb80bb703cd6b940b0fab926195a", - "0x10e2c9baae90477c9be2f10365c29130", - "0x696469c514035c0cdf657865a76c8b05", - "0xe988c9b6348ae392d81e9d224c608247", - "0x81a816b9971534a48e6ec21994b78c81", - "0x5498cb9019ba94f896e2c04140cd036a", - "0x17fa73eaa092e4bce97e3ba4b770a0b8", - "0xe8c7b08816fc5215dfbe44cd46b47dec", - "0xc30789092db881251b0c5f7373e0c6f0", - "0xf397a1ac039c5e8bc374d1fd03568042", - "0x33ec1f25215eae69085a3fbf7a6b27fa", - "0xf6fdd17ce7427518d0631e269924f45b", - "0x036c902bf005559ba3082e5f2201e614", - "0x1fc45e655afc624fb90a7e0795b20b86", - "0xbc94ffd5e4f606a12f0c0425d7bf1013", - "0x21abfc7ec366c0b93e047d0d9d9df4bf", - "0xb8a9f1c0b2d0601e00bb6fa35f3970e2", - "0xd67fcb43ff2287a0cf8cf1f0a78ebc85", - "0xade2d8bdd4c48bd437b41d2a36424ef1", - "0xd5550bdc493b35a3480c7a5f5d93e939", - "0xb069c39e1059a068f9aa767b5a2c39d1", - "0xe151a181c34b360acc4ae8f41f0eb923", - "0xfa407454a0690b03f714c08ec72b3247", - "0x10ffffcebaf525fbadcbe4aa46104680", - "0x25569aef3173e2e81bd94a5e7904fc1b", - "0x28681502310381ebc0ae31947c3cb188", - "0x5db958abc1654596872a50938a0c9b24", - "0x7c744e082a52a74767b70a72ec4489a9", - "0x5b18ccdaa7efd9b3aff6bad60d547c81", - "0x86322eab36c65090a3b7fdb5d7bc091c", - "0x8423baac6908031fd9d08157f686b2dc", - "0x08a1ade53581b4c029e1c002e51ceaf3", - "0xf1ed7d196dff54c3421321acf939e08e", - "0x2752d9c907207388e62373ed510c4e88", - "0xc3c06fa841383ac60ccb91e4e05580d5", - "0xa4c95f5a9ed58116110e43e663425608", - "0x2c5bd140dff9063bba7ec0a206a3a4a0", - "0xa5848a52ea19a2e85afeb598ce50eb47", - "0xff6279dc1306e5169f95f0b060e34b39", - "0xda33c34ef46e9dd360b8dbe6531901b4", - "0x83b7e0dbe63ffc49ffc59bae4b7b683e", - "0x5c051f94fa62a73c11cfee276461fdb0", - "0x798e3ba76c500e8177f392003ed1872b", - "0x583d7265ee7126131854bbcb0de1f310", - "0x90e4980b35640a8b3bb682ef2606e476", - "0x6d431024b5bffd1270c0d041a05b815f", - "0x496322b442254a79d1dd0dfdd6f51def", - "0x92182683f38300b23bc0412e4138ac05", - "0x212df134572585d10dd251f536025085", - "0x63e2dbdb3937238a5d08cdf2b578b4e1", - "0x96b819206e1d15573307e27b6ad290db", - "0x0c54a577923b77c5a4ee726412c43be2", - "0x155b53faed668b73ad702c93296a3e01", - "0x896d7317a2f611e7363d93db93bcb72a", - "0xa39c09d3a4ba25f3ce6691b85b390f3d", - "0x7148171957df73a82553216488e35859", - "0xca049d60e60b7b69047e42f0b436ff67", - "0x6f402a4a8208e9e49d4bf06f6ce7e11e", - "0x95773e0c271ded0e10d2b47221c91e0e", - "0x80fd5388433e89d3e74da2637216e3d8", - "0xe35fe60581edd06fe880059a63952380", - "0x24a5b87aba928ac920362a8bb3a853c1", - "0x5a82f1cd0c0c58f0fbebb02c062dd029", - "0xd8a989f4d05f65c07cd4f78d4c83d6de", - "0x7e100ed69fa83cb97318cf268e063802", - "0x5f7d7cb3363d1c4b41736787c8fa3a36", - "0x03292bdeef76208a33368b1dd89c5f4f", - "0x6b619e4bfd91e47efc4c6a18d6d2ddd4", - "0x49e98cfac5039df5711f7bc82ca704fc", - "0xbd17f87c484f37449d0cb26bee85352d", - "0xb29204f91eeec3a61cf80f78d341e981", - "0x0e2806dac2236f555aa1b60d44e6bb94", - "0x84762739d031e5c2809951560a9aeaa2", - "0xdf1404d9feadf66ce9b6106bd730323f", - "0xbf36c772e3f353b177dd77ff0af7f658", - "0xc01a75724444ea62092d205d4f1faff8", - "0x0eb6c4edf01055c26f19606f80660a82", - "0xc5475e77e5b769f6e97f0aee53bb2927", - "0x3a2a5f7f0ca0c8270800aa61bf75a256", - "0xe2fbc1e07d14ac6e3a96cc9055750013", - "0x226e5bbb1137417f87d4d0a638739739", - "0x745c89d0db4461d9cf03e483f9ed2d66", - "0x70ab39feaf98c852e8fac994ca8cc297", - "0xcd9d7ebd5e7484375ec35bda9ebfad9b", - "0x080de890fd9263b983b58e52f6dee214", - "0xf67c8e857d379a60f7bf47b13ec08dc8", - "0xb0b8ce46fdfa7f8b0091182cd9e52c19", - "0x3fe2d70b44670254ddeaed4e46ba2d6a", - "0x1e0f257e0107db4a3be7208c3490f3e8", - "0xd0eb4a9ff0dc08a9149b275e3a64e93d", - "0xeeab095cfa3a4dc8de4daf9c3e5affbe", - "0xbee906bac51d709fa6c8d852834506fb", - "0x85cd74d6633623e3e09d3b2ea0e8eebd", - "0xf296dfe85523c5ab10cda4edaa513a52", - "0x7d8ced87ed7fd15b2e4bbc0264e76f99", - "0xae69988dd1df0ff853e6ee66a5fe3210", - "0x4469c4d95255369c6461be2862b915b4", - "0x5709b43c1560bff7d265cfd850627680", - "0xdeb4f8617f931348359a3811076a30eb", - "0xf881b9bdedd6f655e33220d24e1cc2eb", - "0xad903ea64fc18d570cd9a50e86bf033c", - "0x4b3ac2630be5f8aab921697d1d1404bd", - "0x07d5dd8bb48e7a72880b329cff744c4a", - "0x84567d5b5e74e94c2373574d42ade1be", - "0x63cf6b1ebbb29334730d8b9321cd264d", - "0x83094b1464a6bbf92363619af081e20e", - "0x7a93ae31b228b723301bf96ab9b0a09f", - "0x16873ac9aead7c99286cce23dd91b4ee", - "0xbf293be8af1eb38d7080957c7e1f8aeb", - "0x967668d49545810fcf18632a5a3431e9", - "0x475d5bbd6272a2695f66d2056da42bd9", - "0xafc7e6ef08b5b8dc7a2bb1027160cd9c", - "0xaa694f10ce796540ed77418cd9b35c86", - "0x8be1f7a470d0c1edbbec6728fb0ff366", - "0x7444078510fe6d9b3cf94188059a1366", - "0x3739215eb46221b4040eea02c7757573", - "0xa71b11286fff39e65eb3c8b3ac9a7219", - "0x4b48bc59af9ddec38279e60178263779", - "0x6076a0b6743690958cf040bfaefac391", - "0xbead81dbb9227ba51a02f827f8dee2c5", - "0x89508f9f01576f81853e8b92ba917838", - "0xd075a5b5dcf20971f2e70e816bbcbb7e", - "0x009554c550589a814909c9805279c743", - "0xb470cf622846d536ad7b288b9074d667", - "0xb87704373978613853240a3ec9368e8b", - "0x7127b8d0e757abd6830b787afd829201", - "0xf0cab8ea67e0a38ad606ab83ba6bc67e", - "0xa408633718e44f4817c329af0395aabb", - "0x4607a3ecef00a24da74521f22a6f8bee", - "0x917cb60d42ccc40442e48be457f51dea", - "0x90222d408a76f7f55fbb18282bef90da", - "0x481d56afbd0ba6978e0ab2ada7b3506c", - "0x604d874175bd36f8a02ce56b31ca827c", - "0x6dc7717dfba128a330ea277dca94141d", - "0x86226285351eba0c6e818826b1c562fb", - "0xae7280a5b84931846adff138820f221c", - "0xbe628492637e26e6489375f3a2938180", - "0x7559678bfebb6f78e5c8026b17eadca3", - "0xf38e7a19c004dd22688cf0079680bb1c", - "0xc3b0e6a2b106f925aa2f92aac6213f8c", - "0xeec733087a807a87a0c346de11513e12", - "0x4c6d1ee77b414dc3bc448ecc0769a376", - "0x303db177352ecf1920f09ba9fc8c6514", - "0x8e38c47ebaf4ce8dc05178f3c5a9e86b", - "0x104570237e9cbf0f4836ec8c4ff42f65", - "0x4776ebe704f27086bcb98059906e8e3a", - "0xc5aa722b23a6deef1d15a95f32dc4797", - "0xc6188b4ee8720e1efa99aebeb02c7a67", - "0x32701ac4e10f922048e0a7368e1f0452", - "0xe5988223410c1d4f4260994faaf952b3", - "0x2a92d9428c88e74bf47e545ea2025857", - "0x04ca250a42e1f227955846abb768a035", - "0x05b4a77d503468b71c0e730753fc1a56", - "0xd7caf66b03181401cda1369c123d19f6", - "0x6d3e29cb829b58d3fe90129c20dc9abb", - "0x41b4f0817f11f8016023d74dea3eec97", - "0xaeaa60d08ac92150b54908f7f8a92857", - "0xc9453b8e185fb93ea0e1282e8803eff0", - "0xe87f027df74563c88e700dfe057432ee", - "0xaf377ff39afc683033823eeb3ed0f10b", - "0xf56a0b076a6bfc3eea7b1804b946d947", - "0x69ba2470b6623fa3b9d68124e329513e", - "0x575aee5f222f5ae9cca0973be3ad572f", - "0xda97a6cd52c728a6f3bca987ebfa8cad", - "0x4b5536ec8aad2250a2e38f6bfcdf58f4", - "0x8fd3b4c5ad2c5743a6aae9f8219a60c6", - "0x145b1a9812d684da23e74fead96c8552", - "0x7617defe6ad9c021bc9bd7c809675624", - "0xd9a2e97eaf84cce6294581acce315ed7", - "0x3199b22620f39d534cd96fa8a032998b", - "0xb1ca9b7eb944ea1f16364a1222b9afcd", - "0xecd0e506f3792f650fe5a00694afc356", - "0x3b96f1eb7ad3124a51372cbe56f5c5e4", - "0x962a5ed01d20d1202172cae5c4b1c7ed", - "0xb5e9dc0e5c554931dba835dc88102421", - "0x4596b31e8bf6c1f24b122de58efc7e1b", - "0x224536fd41573a41daf7e131be8bdb09", - "0xef9661b2ac61737aa4bbba6fcad9f860", - "0x26c9661a65164390de94c2d38c1f568a", - "0xcc0b4699871953942cea3d167e8c9956", - "0x575617f32549dc68ceb014b2f69d3b80", - "0x932544c41c0e2d7af28189e513fb7ec5", - "0x4b8e46de3ce76638280b9a699dfdb620", - "0x53406aff68e56538b48fb98364e1a5a5", - "0x928ae8d7116355d36b946a8182fc9923", - "0xe30282bce7cdf44def0f840b6321e335", - "0xbeed3d40f310c0c6d0e18443f3304a60", - "0xe2725bfdbac45fa18dabf0eb892f03d9", - "0x07b43c42513772bc09aac4e471d67b16", - "0x8609ba6e215f939caae8770e47d25f8a", - "0x4287aec47a1da79aa2351f31cbd4ed0c", - "0xb033cc4424fc38cbf7992491211c84c5", - "0xcce1d898301da9cddb02d7f36181f8c2", - "0x79e12de9d9e677ac2322705cc8a922b1", - "0xc448a85e856037d8e88f672979a551eb", - "0x467403ae25f597deb3c1094a2d33d413", - "0xd7e03948dfccb6abb773409bd4a3c930", - "0x674a8c75924d08965e7039c2e41f7940", - "0x9220bbcb1742381fd5936662dee7210f", - "0x505e4a4e5a49243957ee68bcf2ddb9e4", - "0x85952e0b3c1032f7cad908bbd3a2b8a3", - "0xf6e25da02626214f2dca471706a057d0", - "0xdc7efbb16d990fb6db9e68efbc7fe740", - "0xa3231a207b1daf19693a1a5ad18c6ac4", - "0x90c5a0bbbc65a3fe44f2be3f860c5f0e", - "0x3d8f53b6024c3b33b9097cc678de9a28", - "0x1ad8cb3b8d1d4e04bb25330acd10b3e7", - "0xc4830b15a969f30d1592527eda63bf82", - "0x9d51b6f0c5be845ef775b6b900f0c993", - "0xabdb6ff729edfa1fdf81725236fe166c", - "0xf92a2b3fb5ebe93ee6fdac51e55f58d0", - "0xbad463d68b2067ee099b35bc976d4262", - "0x8a326abf1bf139fd19a9931aad716e2b", - "0x21a32ae99babd87319e21b115291fa93", - "0xaed51baf66ff4910f3b84c6dddd277d0", - "0x65c3bbb3015925ae57d939a67bb3e1a2", - "0x97bc9538e14c7d221d3fba271fe1a9a3", - "0x6394e2557149a2acf674610e834f02a7", - "0x280dcfe6935188046eefb81a77e043db", - "0x313d0d27a7b82f6e85b32037b3458025", - "0xaf7416b95834809dc8619c24d9f70575", - "0x9e14b1882ac75f1b7ac8735e89bd1dcf", - "0xf770f4047a86f36727fcde69c0cb8b68", - "0x004610125634efd77979c429a95f16e9", - "0x9fb78c563cc2617353fb943c5c6029d9", - "0xaddc6c96bafb15254e0e2c2a21f6eca0", - "0xb2e1d71c4419cf35d2ccb202727e9006", - "0x22c2cf6192e5f767d518ba32d2628f27", - "0xd4a9a8dedeaa916c20451f72d868e54c", - "0xe15c7e3a6935f188aab577be046518f8", - "0xd00f06b2b19fb192d885586001624318", - "0x3c1133d7e7085944fa800c1365d4b4f3", - "0x3963a16de74721a202e7f10d66278fe4", - "0x2f886a0a39058911d72b46e15bc34672", - "0xbf8c454a96a689eb71c30d9639aaecee", - "0x761b3e46118bc24bc62987107f3d12c6", - "0x891583dc69ff4a5e64070d942aaa435f", - "0xd8b34532a52763f1afd495aa3e36b2ef", - "0x2f9e4d03913cd937e09c451b3ed20dcb", - "0x93d22323cd8c06ec945733ee811d8ac8", - "0x2a9d9c385dc260a178c9dd5902499f7e", - "0x45e79066792ee537ae6106b3c897d44c", - "0x4e00df4f849deba8f05284dba1a8daf6", - "0x9ed2f8a53f69dee1e9b2d4a332ac80d5", - "0xb0cb763b4c0e4bddbdeab130195681bb", - "0xc25c64f479521ed7a68cb75637498e67", - "0xa66e88f5a0279ebbfc9063d5d7fc9681", - "0x97f23e83e5a2c1e6209a1e0baa4c9048", - "0x08efb5ef7d86b52c486f88ea92865e2e", - "0x750b98718c4d7f9b63a0fe4135a00143", - "0xbd71d4d32938661a8e4e8e198f6e3c71", - "0xdac6dce2e49f253706ee5ea4549abb67", - "0x1dfa7fc8cff2108f4de96a6f6404321b", - "0x58fa94796612dacc2f2a60fbac5f85d6", - "0xaf4a599a7afc59244662fb56a32f38cb", - "0x7b2920aac8c076c5fccfdf3325fc8455", - "0xb3328f0b1057958da28bab59330133a7", - "0xad4e0add9ad103421f47d88eeb5c711f", - "0x4825b9d42589e834f61e6ef705641713", - "0x3da44d4f1d8bb790537ec42ba2af168c", - "0x87db7dab6b1aa2857fcf861273b9a58d", - "0xc32c902e1389ebda24a09ae882575370", - "0xcf17c3f198e852d5123942c402918656", - "0x9f1cf97072ee00922c301340a19c91b7", - "0xb3e163f4cbeac4437a962c84a85a1e5b", - "0xa70314ea9655ebf03ee78a4a320d1ecc", - "0x2ab485395195fd37e0fd5b2336f0a00a", - "0x9f77060b503e1fbccf8b682215821b07", - "0xa4fd17b615f2794b3fbb98ac81e0c5e7", - "0x3e7faa44b3e919bf089ce8962a41596b", - "0xf1cb06f527cfdb2bfb3e3341c878101d", - "0xfe8cedf87702d7b090a0f07571607d86", - "0xf569a8f30771d73544ad99fb1610b174", - "0x1e332a7f9b33fc91369ba33503353023", - "0xe04c52de8e81749474a0a3ef746c4c9d", - "0xe961634b1721573ccbaf4c195ece7bd4", - "0xc50b42bd793d49f0505df93353c4acde", - "0xf8a9ea7fd860ad32e03ed50aebeb92f2", - "0xf6a622025cb1659a5bce3c4cc7ed0680", - "0xb6a78250c0253c2a8a985beb3ed16309", - "0xd2ba47f421049058107969e08458e7bc", - "0x66809b4880f156c8f539441829d11b90", - "0x980b88f3b17ad1bf46ddc89356df550c", - "0x083177d975088d3b3acb85c5e767948f", - "0x07a3e31da3988ccc22a48cb61890ed83", - "0x12c4f7a7402ada8fac7c2ddc784ca2cb", - "0xa7bd8cdd867b4b3812f3066b3db3c006", - "0xaa098d01c41cc948c138f864a8a62481", - "0x18457233e28062083f7d23b2e481189d", - "0x1702cda0b76772ba09cea0edc5e5746e", - "0xdb200270afe9e05cba79d94ff6d2da8c", - "0xb93ce415bb6beb51157141149e34bd0e", - "0x6266741ef0b85a2fd5ac4a1fb816835b", - "0x8dba28245cf055574881b05fef9953a6", - "0xe4af90f7979c2c631633131d642dd8bd", - "0x97f98f4275be120a445cd0275e2cd73a", - "0x150a9c0526b11752453a23d8b18a8f3b", - "0x010bbf6895ade2375c8478a0c3151ce5", - "0x355796530fdacf6d87bcc370f17fc71e", - "0x9a404317c26f415ed025f32dfabe8598", - "0x15d2eb783afced72c733f6ce90bf7349", - "0xfb9f445a7acf24b91e6cbe8f9489a7c2", - "0x6f03e5d4ef52a7c05a5a5fd28b159b5b", - "0x2466fb6d4eb8aa1c700e728fded218df", - "0x676cfafe2fbcffd070ddb236d2bb0021", - "0x91e33a111622283750412eea13c83f35", - "0x88b1f25057c3bac8ee1eeca2ff2209a3", - "0xc10d6e9c953ebdc8ece36c5cd6223387", - "0x1fb01164b818aa63387a0ec14be5e3e7", - "0xaca8367a8bfd04541cc836e293255b77", - "0x8b74b13c0d49da16c37a8de608c18e7e", - "0x79e4197b401889e0756cedda74f46812", - "0xfdfc1643dbd6ad08bd6a4eba37a0e3c3", - "0x3c4b6a74dd034b4e72bc84652a09a3ff", - "0x2f31fab52ef05919d280c2abcf422fab", - "0x4a2f98048e8605e4d439ff8554ab6e63", - "0x3b7e760d63c75a4c368dd53425084427", - "0xdbd55facc2eed4edae760a2ba92b4f39", - "0xf0e079daee7e4fae706c60345eaed7c6", - "0x00cd47758ac9dfe055865748f9f15b3a", - "0x5bb13e4d95fd1a1d551a0a8bbb724fbb", - "0x2ab38207d22885d80753f77eb8f11188", - "0x77af57a3e73852729f602770889d41f6", - "0x4e76a9575455c544259f6fa4dc28ec73", - "0xdced4535167e2f1ff0075e1fbca1f32b", - "0x94ac1540daf6ee75412dfedf521ac26b", - "0xa5f4edb22058795428c0e3f0984c4e42", - "0xc21b458e1b2973ad8d1a42865476e420", - "0xb8edf8bfd4fa0dcd9d68ca62de7f8163", - "0x8ca26ec2b20aaa2a003f4732b133d55e", - "0x518a1c489f3d366a6175a6c27caedb6d", - "0x11aa2bd74ac3e01a7ee5d413d3607681", - "0x3f2e4621aff23efdbe33e8c828c4d45a", - "0xff373231626f5dbcb6f1e0216aaec0ba", - "0xd400fa2884977ede9fb3667d23d984db", - "0x3ec403699e9f2e18d23f8e777cafa676", - "0xb6d0a777a0ce6e68f7bdeb79f37ae378", - "0x9e20d21eaa17f971543fe70ac15df078", - "0x8566b7226d025a7fcd4d61a7cb76edef", - "0x86d6b187f841cb3fcc92a27060e8f9ea", - "0xbf8d2e422a91c28cc445cb08a87bc401", - "0x0d64d2fbbad9c1b0530052ea47d4539b", - "0x0d5279a8100c0a044cf13882942f3c5e", - "0x4d914c7455896b6aeafbfaf5bbb7c69f", - "0x34859258bb4bac5923fb3c73c8e95fbb", - "0xcb2409f400cef34f88c7f29b731d7d59", - "0x7e9bc66a6bc2a5c5692306db1b6c474f", - "0x9b125466b31b3e4275b9c3f477ad9bb4", - "0x0682605f164269183277a0bfa1a7aa86", - "0xfdf029dca743acf24f4cbebbc846e990", - "0x4e5fa1902e699e059e6ac657585525f3", - "0xc70fced2684c45f39a227f1b0e6a2639", - "0x2e8ca3caf417021d3209da66f0d125b8", - "0x18a51613c5ae13e32c5bcf4965b78583", - "0x402ece445768d17f2790dc0cdbf7f9fa", - "0x7ef9cfe23a9f2d9b5fa10cc91e601f1c", - "0xba2dd4d240fbd92f1d46cd90a63cb301", - "0x29cff10b881311ce6292a765b9086853", - "0x9a016ffcb23883d0328d0183e035ed18", - "0xffcbd9d2ef2912e64d811c45700fcaec", - "0x0ce6dccd903d0e4809ad3e300da7a455", - "0x846bc24d47b884f73346f81788688374", - "0xbb5094794e59876aa8301adb7126a2c3", - "0xb8f55aa699f64d44a2c944246686298a", - "0xb824a33ef385a5293d2570326a7227c3", - "0xa9d724a77e1f87aaec95df4050649b1b", - "0xc0a76950b77ced186bdd52e1dc3ba8b7", - "0x38c28c14bfa88693bf306588e08ae09f", - "0x04f9280b95c9812a51299359c770b913", - "0x94f78ea30bbbc5024bc05c06fc80a3a3", - "0x57e2ff4bcecff754849ea5c15684df75", - "0x9064b534593c012115617b850814974e", - "0x96b84b73c9bd4fe4686b9c5e47057279", - "0x79422e6008157852225f4960b952ce94", - "0x16e6b48564c7f62bb0d6a5d8562f71e1", - "0x9ba574947f637db0922b5a3411b39073", - "0x9c0ea3342b493673eb6ba7c0f3e33001", - "0x13219cddbc960a443b68f73348bdabb7", - "0x9612e953f80bcec6fd9c11e80642e07c", - "0x7e1a63fe5d68d66440f69212f0d06a7d", - "0x29388bc27f370d522dc179cfddcefcf0", - "0x22d098169c99d823adbc0279467cdd55", - "0x8cb0763f7a0ec5aa0761bfbb049fe2c1", - "0xccd344c4e3b6b028253a724d7014b831", - "0x8a409beab35999899ae65a0b4519e081", - "0x472da5358a5c51cbe55d4beadfa8d2ef", - "0xaf3eb432bc504607d20dd9b93fdf0382", - "0x15652ee8ba674184c53238346e7c2818", - "0x1038ca6c9eca2e2240ae40dcee168d7f", - "0x8f99e10b2925562e1061f7ad3a7f591e", - "0xec7875f6e017ec743ce364f257c79a70", - "0xdf953a9008d4f96c63da1993439a81c6", - "0xc44353ffa531580a5bbbbb8faa0855cd", - "0x4d2020a9a71a5351f415552099e2760a", - "0x39c14bb1c059f585fd4ba723dc1c66ca", - "0x4fbbf8b5795d2a8b7a83b3768869b5e1", - "0x8210215bfb4ace609e0fb0973ac511de", - "0x16fba09f0e8ecd584d0524a4c5723a8b", - "0x8619f37f7511cec0777ab7efe07ae451", - "0xa4ff22443285056f6e6be1bba3a886e8", - "0xa13fb0480ab2fb0cdb3a1373694323f9", - "0xc9b9c6a82b04c72d8970ec3e015c2607", - "0x064449044bd883c413684d6d29eef904", - "0xb1896f87a9ae66ec233de69dd5b5fc50", - "0x4d39896b61686334603e8accbb0288ff", - "0xe0687ca2fc99a162a61e83da0f54dfea", - "0xe12c1c535fc6f6498de80b0da9094c80", - "0x4731d5e4b9421510c3ddf73d87a9c4a3", - "0x247a38f6f0fcc658fc35057787bd9054", - "0x8974ef985b8dc87bbf14f16657f3bd30", - "0x89073a016fd5c618095291915c5912e1", - "0x86f16e07d569b7570af0031fb6c36af4", - "0x12d5be9063d155f9df791be6c35f1865", - "0x8962f4ccba3d7cb61f0a501d474f9906", - "0xefee4030b687d7ae3eb2d27673f65343", - "0x2464c007ea23451f778ed2bf0c017b7b", - "0x6dbe36b12f350e01689f6295d686b8b9", - "0x025cafd23d97228050066bf4128a4fa3", - "0xde0bb757deba77755678381d08a12bf1", - "0x1c542ed68bb6f818c4bee47703298d08", - "0x8178b368306f2ae1abd7e68583d67dad", - "0xcb4d956080d6f8bb617a2d51e5ac1296", - "0x06dc4c3c0f4d7c5f4784f3e865433730", - "0x7134fde96ed353c8d6ac24ec7efccaf9", - "0x1466a522411631d6c9c5c706558985c1", - "0x95e26e89a1c7b9df6a7c2c56223292b5", - "0x6555486abac007b7fadaf6e04f896239", - "0x472a1d76a9734964c42b92b36993ed49", - "0xcea176b441e44750555739f29e045e74", - "0xfeb06e244cdbf8e8cb1d5fab49c6e583", - "0x499c5a7fc475c7ab9e888a9f8aeb5765", - "0xd3b05f45181c0b1b4a0354ffe3d95c9a", - "0xb768bcc1492f03e1819620dfa2e130d5", - "0xa38c13579500a7c7a90c80153ab22f4f", - "0xadb73d387c59a6ba8eff18a6b0320ca4", - "0x09c8e0bdd1ba73602063d89d11ff5210", - "0xecab8f890f1f3d6ff564eebab034ebb3", - "0x9823e2e8911c5a0fb2ff6feb52be2c0f", - "0x4fa03dbaabcf99e71903f3177444bfaa", - "0xa4c9667d00998d262c47f6d2c79f43c2", - "0xb3e65ee26384d25bc7750b3f37e72883", - "0x7dea46d1a183f3070760eee0bf5fce3c", - "0xecb2963c22a757569fe659635f4b0243", - "0x9ed968203144981e6e697db052910c27", - "0x4aa6ca6ebef942d8766065b2e590fd32" - ] -} \ No newline at end of file diff --git a/environment/lib/near2eth-watchdog.js b/environment/lib/watchdog.js similarity index 97% rename from environment/lib/near2eth-watchdog.js rename to environment/lib/watchdog.js index a5e685c90..707bb4e19 100644 --- a/environment/lib/near2eth-watchdog.js +++ b/environment/lib/watchdog.js @@ -1,5 +1,4 @@ const Web3 = require('web3') -const BN = require('bn.js') const fs = require('fs') const { RainbowConfig } = require('./config') const { @@ -12,7 +11,7 @@ const Tx = require('ethereumjs-tx').Transaction const SLOW_TX_ERROR_MSG = 'transaction not executed within 5 minutes' -class Near2EthWatchdog { +class Watchdog { async initialize() { // @ts-ignore this.robustWeb3 = new RobustWeb3(RainbowConfig.getParam('eth-node-url')) @@ -121,4 +120,4 @@ class Near2EthWatchdog { } } -exports.Near2EthWatchdog = Near2EthWatchdog +exports.Watchdog = Watchdog diff --git a/environment/package.json b/environment/package.json index 99622efd2..431245061 100644 --- a/environment/package.json +++ b/environment/package.json @@ -5,7 +5,7 @@ "main": "index.js", "bin": { "rainbow-bridge": "./index.js", - "rbbr": "./index.js" + "rainbow": "./index.js" }, "author": "Near Inc.", "repository": { @@ -33,7 +33,7 @@ "merkle-patricia-tree": "^3.0.0", "near-api-js": "^0.26.0", "pm2": "^4.4.0", - "pm2-promise": "near/pm2-promise#13e6e691d8069392981439ad0d19d222c010b010", + "pm2-promise": "^2.0.1", "promisfy": "^1.2.0", "web3": "=1.2.6" }, diff --git a/environment/scripts/prepare.sh b/environment/scripts/prepare.sh index 720a48ef6..5a0668237 100644 --- a/environment/scripts/prepare.sh +++ b/environment/scripts/prepare.sh @@ -14,17 +14,17 @@ eval NEARUP_LOGS=~/.nearup/localnet-logs mkdir -p $RAINBOW_DIR mkdir -p $RAINBOW_DIR/logs/ganache -mkdir -p $RAINBOW_DIR/logs/near-relay -mkdir -p $RAINBOW_DIR/logs/eth-relay -mkdir -p $RAINBOW_DIR/logs/near-watchdog +mkdir -p $RAINBOW_DIR/logs/near2eth-relay +mkdir -p $RAINBOW_DIR/logs/eth2near-relay +mkdir -p $RAINBOW_DIR/logs/watchdog touch $RAINBOW_DIR/logs/ganache/out.log touch $RAINBOW_DIR/logs/ganache/err.log -touch $RAINBOW_DIR/logs/near-relay/out.log -touch $RAINBOW_DIR/logs/near-relay/err.log -touch $RAINBOW_DIR/logs/eth-relay/out.log -touch $RAINBOW_DIR/logs/eth-relay/err.log -touch $RAINBOW_DIR/logs/near-watchdog/out.log -touch $RAINBOW_DIR/logs/near-watchdog/err.log +touch $RAINBOW_DIR/logs/near2eth-relay/out.log +touch $RAINBOW_DIR/logs/near2eth-relay/err.log +touch $RAINBOW_DIR/logs/eth2near-relay/out.log +touch $RAINBOW_DIR/logs/eth2near-relay/err.log +touch $RAINBOW_DIR/logs/watchdog/out.log +touch $RAINBOW_DIR/logs/watchdog/err.log if test -z "$LOCAL_CORE_SRC" then diff --git a/environment/yarn.lock b/environment/yarn.lock index 0a665003a..ca71ebc80 100644 --- a/environment/yarn.lock +++ b/environment/yarn.lock @@ -4926,9 +4926,10 @@ pm2-multimeter@^0.1.2: dependencies: charm "~0.1.1" -pm2-promise@near/pm2-promise#13e6e691d8069392981439ad0d19d222c010b010: +pm2-promise@^2.0.1: version "2.0.1" - resolved "https://codeload.github.com/near/pm2-promise/tar.gz/13e6e691d8069392981439ad0d19d222c010b010" + resolved "https://registry.yarnpkg.com/pm2-promise/-/pm2-promise-2.0.1.tgz#582b7faad84babe311e46c3130b61a6a0695ed5f" + integrity sha512-7QWgJFeB9JsTy78ZonqnhdtJ3W9QjVTDZ7G0EC99WXv/fEfmywKxjboN8F9VL+OqB70Dm3DQ0riUqTMhPgiMIw== dependencies: pm2 "^4.4.0" diff --git a/libs-sol/build_all.sh b/libs-sol/build_all.sh index 190a92716..567d64bb8 100755 --- a/libs-sol/build_all.sh +++ b/libs-sol/build_all.sh @@ -3,14 +3,14 @@ # Exit script as soon as a command fails. set -e -# Build Near2EthClient contract -echo "Building Near2EthClient and ED25519 contracts" +# Build NearOnEthClient contract +echo "Building NearOnEthClient and ED25519 contracts" pushd "nearbridge" yarn ./dist.sh popd -echo "Building Near2EthProver contract" +echo "Building NearOnEthProver contract" pushd "nearprover" yarn ./dist.sh