-
Notifications
You must be signed in to change notification settings - Fork 84
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
Implement MIP-58 - Trusted Relayer #903
Conversation
Create bridge config for DB URL
…ts-missing Exploratory Branch for Addressing Missing Bridge Indexer Events
…ontracts Native Bridge Solidity Contracts
Daily Rate Limiter
Co-authored-by: Andy Golay <[email protected]>
Co-authored-by: Richard Melkonian <[email protected]> Co-authored-by: musitdev <[email protected]>
I saw your note @0xmovses, that you're working on CI in a different PR so I'll leave it as is in this branch since you're already on it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
E2E and client integration tests pass (other than sometimes flaky behavior when running tests together in one command... generally they pass reliably though).
Approving, pending resolution of Liam's change requests.
@andygolay we should ignore the |
vm.warp(1 days - 1); | ||
|
||
uint256 snapshot = vm.snapshot(); | ||
|
||
if (perTransfer >= insuranceBalance / 4) { | ||
// if the sum of the two transfers is below the rate limit, the second transfer should go through, else it fails |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would still do this in a loop.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Primata is out sick so I'll add this, thank you.
} | ||
BridgeContractEvent::Completed(_detail) => { | ||
// Unwrap tested before in validate_state() state can be unwrap | ||
let state = state_opt.unwrap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's hold on merge until Liam's recent remarks are addressed. |
@l-monninger see the issue with links to your review comments: #971 There are unverified commits in the PR so will need you to do the Squash and merge. |
All checks passed. |
Summary
The feature PR contains all the changes in order to implement the Trusted Relayer as specified in MIP-58
Changelog
NativeBridge.sol
(this handles both L1 -> L2 and L2 ->L1 directions on ETH in a single contract)Testing
NB. For tests we prefer to run them by file when running the entire test binary in one command, sometimes a client test fails (flaky). A fix for this is simply to force restart the anvil node (tested this fix locally and it works, will arrive shortly in a follow up PR).
rm -rf .data/ && rm -rf .movement/
Outstanding issues
See two outstanding cases yet to be fixed in the tracking issue #914. These are ignored currently so as not to block deployment and Front End testing, they can be fixed in paralell with this work.