Skip to content
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

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

johnsaigle
Copy link
Contributor

No description provided.

@johnsaigle johnsaigle changed the title node: Extend flow cancel by configuring allow-liss of chain ID pairs ("pipes") node: Extend flow cancel by configuring allow-list of chain ID pairs ("pipes") Jan 21, 2025
@johnsaigle johnsaigle marked this pull request as ready for review January 22, 2025 18:46
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add a test for the flow_cancel_pipes.go file? Would be good to validate the mainnet list of pipes before deployment ideally, even though we have the runtime checks

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding! I was also thinking that it would be good to check every entry to make sure it's a valid pipe and that there are no duplicate pipes

- 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
gov.logger.Warn("Error when attempting to add a flow cancel transfer",
zap.Error(err),
)
return false, err
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question for this early return, do we want this? And should the newTransferFromDbTransfer come before the StoreTransfer call?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants