-
Notifications
You must be signed in to change notification settings - Fork 228
Preflight check
Alexander Kolotov edited this page May 9, 2018
·
14 revisions
- Prepare Multisig contracts for Home and Foreign
- Choose number of validators (3 for example). Gather ETH public keys.
- Fund with POA and ETH all 3 keys. Try small amounts first. (max 1 eth, 1 poa)
- Choose required signatures threshold (2 for example)
- Fund temporary deployment account from which all contracts will be deployed.
- git clone poa-bridges contracts; npm install; npm run compile
- cd deploy && npm install
- prepare .env file with correct RPC URLs, Validators eth addresses, Max, Min, Daily thresholds
- run node deploy.js
- Update https://medium.com/poa-network/introducing-poa-bridge-and-poa20-55d8b78058ac medium post with official contract address
- deploy all validator's nodes using Mr. X scripts
- deploy bridge UI
- deploy monitoring
- run test tx from home to foreign
- run test tx from foreign to home
- increase home daily limit
- increase foreign daily limit
- add validator on home and foreign
- stop the bridge
- accidentally send POA20 to foreign address and use claimTokens to withdraw from it
- stop all bridges and make sure monitoring works
- change contract addresses and make sure monitoring works
- roll back local dbs on validators and make sure they don't do double spend
- make malicious validator's tx and make sure monitoring works on home
- make malicious validator's tx on foreign and make sure monitoring works
- spend all money on validator account and check monitoring
- stop gasprice oracle and make sure it falls back on static gasPrice
- hit daily limit
- verify it waits for 15 blocks before sending tx
- upgrade bridge contracts to new version and make sure that balances of POA and POA20 was not changed, the bridge can still withdraw and deposit (withdraw first), rollback of dbs will not lead to double spend