Please describe your proposed solution.
The creation of a canonical smart contract where whitelisted assets (and bridges) can exchange their bridged asset by a canonical version that will be used by the Cardano ecosystem.
Requirements
- A multisig smart contract will control the adding of assets and the control of whitelisted bridges.
- Most likely it will be the same as the one from the validators of the Cardano <> Milkomeda bridge
- There will be a delay in the adding of bridges or assets of X amount of time.
- The bridge will create a synthetic asset for every asset that needs a canonical version.
- It may happen that some bridges that are whitelisted for other assets don’t support other assets therefore the list of assets should be flexible in the number of assets that can be bridged
- Asset X using Bridge Y should be able to pausable in any direction (separately)
- An user should be able to move back a canonical asset to a specific bridge derivative version
- If the user is trying to “unwrap” X amount but the canonical bridge only has a partial amount of X, it should fail. It’s expected that the user should be able to calculate the maximum amount and for the remaining asset use the assets bridged by using another bridge.
- Only for ERC20 tokens
- (other requirements may be added during the development in order to improve the solution after QA and testing)
Please describe how your proposed solution will address the Challenge that you have submitted it in.
Cross-chain collaboration can take many forms and one form that's expected is the exchange of assets between different chains. As mentioned in the problem statement one of the main issues of cross-chain collaboration when moving assets is the fractionalization of assets which generates liquidity problems and negatively impacts the UX of protocols that use these assets. This proposal fixes that.
What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
There are always risk in every project but in terms of complexity and the requirement of externals there isn't a particular risky module or task. In general these type of solutions require a high degree of quality in their development to mitigate security problems. Besides working with experience people in the team we will work with a high quality auditor to double check the work.