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

Message Batching: Atomically, for messages to EVM #3628

Closed
4 tasks
Tracked by #3570
daniel-savu opened this issue Apr 19, 2024 · 0 comments · Fixed by #3656
Closed
4 tasks
Tracked by #3570

Message Batching: Atomically, for messages to EVM #3628

daniel-savu opened this issue Apr 19, 2024 · 0 comments · Fixed by #3656
Assignees
Labels

Comments

@daniel-savu
Copy link
Contributor

daniel-savu commented Apr 19, 2024

Solution

Use multicall to batch several messages in a single transaction.

Requirements:

  • configure the multicall contract address per-chain. If an address is configured, always use multicall (even for a batch size of 1)
  • integrate with multicall in hyperlane-ethereum
  • manually deploy the multicall contract in E2E, and test batched submissions
  • On batch failure, send all messages back to the prep queue

@yorhodes already opened gakonst/ethers-rs#2684 to ethers-rs which integrates with multicall, including testing. A lot of that looks reusable in the hyperlane-ethereum integration and E2E deployment step.

@daniel-savu daniel-savu self-assigned this Apr 19, 2024
@daniel-savu daniel-savu moved this to In Progress in Hyperlane Tasks Apr 19, 2024
@avious00 avious00 moved this from In Progress to In Review in Hyperlane Tasks Apr 24, 2024
daniel-savu added a commit that referenced this issue May 3, 2024
### Description

Status:
- [x] op-queue scaffolding
- [x] hyperlane-ethereum integration with multicall
- [x] new config items
- [x] actually build batch in the op-queue submit step
- [x] e2e tests with batching configured
- [x] dynamic batch sizes (batch as many messages as the prepare step
has ready)
- [x] parallelize metadata building 
- [ ] proportional IGP deduction


### Drive-by changes

<!--
Are there any minor or drive-by changes also included?
-->

### Related issues

- Fixes #3628
- Fixes #3630 


### Backward compatibility

<!--
Are these changes backward compatible? Are there any infrastructure
implications, e.g. changes that would prohibit deploying older commits
using this infra tooling?

Yes/No
-->

### Testing

<!--
What kind of testing have these changes undergone?

None/Manual/Unit Tests
-->

---------

Co-authored-by: Trevor Porter <[email protected]>
@github-project-automation github-project-automation bot moved this from In Review to Done in Hyperlane Tasks May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant