-
Notifications
You must be signed in to change notification settings - Fork 733
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
node: Extend flow cancel by configuring allow-list of chain ID pairs ("pipes") #4229
base: main
Are you sure you want to change the base?
Conversation
4303203
to
35e937b
Compare
) | ||
// Process the next pending transfer | ||
continue | ||
} |
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.
We've lost this continue
skipping logic with this PR if an error occurs...is this deliberate?
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.
No I don't think it was, thanks for the catch. I'm not totally sure if it matters but to make the changes here as minimal as they can be, I'll add a continue
in the if...err
check for tryAddFlowCancelTransfer()
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.
The latest commits should restore this functionality. Previously the behaviour was to continue
if flow cancel is enabled and if the attempt to add the transfer resulted in an error. That should be the same behaviour in the new version, but implemented differently.
- Add a concept of "pipes" which consist of a pair of chains - Add field in the Governer that enables flow cancel only for "pipes" which are explicitly enabled - Set the Eth-Sui pipe as the only flow cancel-enabled pair. Sui is the only chain with frequent governor congestion so it is the only one that really needs the Flow Cancel capabilities. Ethereum is the main chain that Sui is interacting with in terms of volume moving in and out of Sui. - Refactor calling sites for flow cancel transfer functions so that all checks are done in one place. (Should help prevent bugs where only one calling site is updated.)
- Add unit tests to ensure that the flow cancel feature works iff valid pipes are configured - Adds unit tests for the pipe type (validity, equality between two pipes) - Modifies pipe.equals() to always return false for invalid pipes
54d16d7
to
2c1ba16
Compare
No description provided.