feat: add contract needed for bridging funds to zkSync rollup #28
+7,208
−483
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This contract belongs to zkSync rollup project. It will allow us to have a single known endpoints for users who want to move their tokens from parachain to rollup. This would allow them to express their intention clearly on chain in a single transaction which moves their specified funds out of their control too. The event emitted from this contract can trigger our off chain oracle to go ahead and mint the requested fund on the rollup. Another benefit of this contract is the check for the validity of the destination address and prevent users from losing funds due to address mistakes. Also if the amount is less than a threshold this contract will fail the request as the fee for transferring could be larger than the amount.