R03 Ethereum Bridge
A bridge between Ethereum compatible chains and the Dreamcatcher Network
Made up of a deployable smart contract and a deployable Dreamcatcher app. The two are bonded together and permit two way asset transfers. A third part may be an ERC1155 contract to allow these items to be tradeable on Opensea.
Requirements​
Must​
- Allow rejection of malformed bridging payments
- Allow transfers to be paused in an emergency
- Securely connect the depositing ETH account with a corresponding Dreamcatcher account
- Be terminateable with reasonable termination conditions
- Support DAI
- Behave well during Ethereum forks
- Pass all costs on to the users
- Allow withdraws without the user owning any ETH
- At most permit developers to pause withdrawals for a fixed period of time until bugs can be addressed
- Must enforce worst case damage of corrupted validators is frozen funds
- Allow automated auditing tool to compare allocation of NVN in Dreamcatcher to ETH allocations
Should​
- Allow depositors to pull back an unclaimed deposit they made on the DAI chain
- Require a signature from the account holder to withdraw their funds
Could​
- Contain within each Ethereum transaction the root hash of the Dreamcatcher
- Allow any ERC20 token to be transferred
- Allow any Ethereum NFT to be transferred
- Allow any kind of ETH function call to be made, and any kind of Dreamcatcher Action to be invoked
Must Not​
- Be controllable by the developers to steal funds
- Allow Dreamcatcher bugs to result in loss of funds
- Allow withdraws by users that have not passed KYC
- Allow the token to be sent to any address other than the gateway contract