-
Notifications
You must be signed in to change notification settings - Fork 49
Feat/challenge path 4 with merkle root #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
+4,313
−667
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
✅ Deploy Preview for kleros-v2 ready!
To edit notification comments on pull requests, go to your Netlify site settings. |
…-4-with-merkle-root
…-4-with-merkle-root
Moved to a dedicated "canonical" subfolder. The previous folder "interfaces" was inacurrate as there were abstracts and libraries as well.
Made the receiver verify function names more explicit: - verify() ➝ verifyBatch() - verifySafe() ➝ verifyBatchSafe() - verifyAndRelay() ➝ verifyAndRelayMessage() Added new events in FB receiver: BatchVerified and BatchNotVerified. Added claim.verificationAttempted to prevent multiple executions of verifyBatch() Added guards in FB receiver withdraw() against potential ETH leaks (undiscovered corner cases). Renamed the FB sender event SendBatch ➝ BatchOutgoing for consistency. Introduced a SafeBridgeRouter abstraction. Moved 3rd party bridge code to a dedicated "canonical" folder. Consolidated the polygon-specific 3rd party dependencies. Moved Merkle*Exposed to bridge/test/merkle and flipped the "_" function prefix. Made it explicit that FastBridgeReceiverOnPolygon is WIP. Updated the @authors pragma where needed.
…sts, found some testing issues Also disabled gas reporter by default.
380f59f
to
81e6621
Compare
Code Climate has analyzed commit 81e6621 and detected 3 issues on this pull request. Here's the issue category breakdown:
View more on Code Climate. |
…leros-specific gateways
jaybuidl
approved these changes
Jul 27, 2022
Kudos, SonarCloud Quality Gate passed!
|
Params10
pushed a commit
that referenced
this pull request
Feb 3, 2023
…root Feat/challenge path 4 with merkle root
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Implements unhappy path of fast bridge with batching via merkle roots. Batching is divided across epochs which are defined by an epoch period.
Each chain requires a FastBridgeSender, FastBridgeReceiver pair. Chains which require intermediation for bridging require a SafeBridgeRouter contract deployment. The safe routers are unique to each connecting pair of chains and the
verifySafe
,_sendSafe
, andisSentBySafeBridge
funcitons should be rewritten for each chain's canonical bridge. The same FastBridgeSender contract can be deployed for different receiving chains by passing the appropriatesafeBridgeReceiver
argument in the constructor.All governance is removed from the FastBridge-Sender/Receiver pair contracts. Governance is pushed into the gateways. The Gateways must validate the msg.sender of calls from the fast bridge. The msg.sender on the sending chain is encoded as the first argument of any call from the fastBridgeReceiver on the receiving chain.
Tests are updated from the pre-alpha-2 single message passing bridge milestone.
TODO: Gnosis chain deployment scripts and test scripts