-
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
- do test deposit from home to foreign
- do test withdraw from foreign to home
- increase home daily limit, make sure that is able to do deposit more than old value of daily limit
- increase foreign daily limit, make sure that is able to do withdraw more than old value of daily limit
- add validator on home and foreign, make sure that there is no double spend
- stop the bridge operations by changing the limits, make sure that the bridge does not relay transactions
- accidentally send POA20 to foreign address and use claimTokens to withdraw from it
- stop all bridges and make sure monitoring works
- change contract (which one?) addresses and make sure monitoring works
- roll back local dbs on validators and make sure they don't do double spend
- stop 2 validators, do deposit, wait for one validator signatures for deposit, run validators, make sure that deposit relayed sucessfully
- stop 2 validators, do withdraw, wait for one validator signatures for withdraw, run validators, make sure that withdraw relayed sucessfully
- 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
- try to deposit more than max deposit value
- try to deposit less than min deposit value
- try to withdraw more than max withdraw value
- try to withdraw less than min withdraw value
- hit daily limit
- verify it waits for 8 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
- make sure that logs from all validators come to papertrail server.