Rundler v0.8.0-rc0
Pre-release
Pre-release
·
59 commits
to main
since this release
Summary
Major Features
Remove mempool shards
- Removes mempool shards and replaces them with a builder-to-sender assigner.
- The assigner class is responsible for retrieving UOs from the pool, managing builder locks, and assigning UOs to builders.
- This is built to avoid two builders trying to bundle a UO for the same sender at the same time as this can cause onchain reverts.
Minor Features
- Global fee estimator with cache to reduce RPC calls
- More latency metrics for gas estimation
- Skip bundle simulation or only run the validation portion under certain conditions
Bug Fixes
- Fix sender balance tracking
- Fix UO receipt extra logs
- Reset chain tracker after max retries
- Use max bundle gas for max call gas during estimation
- Fix underpriced bundle transaction handling
BREAKING CHANGES
- Mempool shard support has been removed. This means that builder servers and mempool servers can only be deployed 1:1 as there is no way to share the assigner class across builder servers. If anyone has a use case for multiple builder servers they can look into building a distributed locking mechanism for the assigner.
All Changes
- fix(builder): fix underpriced handling in transaction tracker (#1119)
- fix(sim): use max bundle gas for max call gas during estimation (#1118)
- fix(pool): reset chain tracker after max retry attempts (#1117)
- fix(rpc): fix uo receipt log indexing (#1113)
- feat(builder): for v0.7+ only run the validation portion during bundle sim (#1111)
- feat: add more latency metrics (#1110)
- feat: move fee estimator to providers and add global cache (#1109)
- fix(builder): fix sender balance tracking to capture funding events (#1106)
- feat: remove mempool shards and add builder sender assigner (#1105)
- chore(ci): update spec tests, add docker caching and log archive (#1115)
Binaries
The binaries are signed with the PGP key: 85C5 DEF0 37D3 FDE4 FC17 94B1 475B 35EA 9352 EB2
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | rundler-v0.8.0-rc0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | rundler-v0.8.0-rc0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | rundler-v0.8.0-rc0-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | rundler-v0.8.0-rc0-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | v0.8.0-rc0 |
What's Changed
- chore(ci): update spec tests, add docker caching and log archive by @dancoombs in #1115
- feat: remove mempool shards and add builder sender assigner by @dancoombs in #1105
- fix(builder): fix sender balance tracking to capture funding events by @dancoombs in #1106
- feat: move fee estimator to providers and add global cache by @dancoombs in #1109
- feat: add more latency metrics by @dancoombs in #1110
- feat(builder): for v0.7+ only run the validation portion during bundle sim by @dancoombs in #1111
- fix(rpc): fix uo receipt log indexing by @dancoombs in #1113
- fix(pool): reset chain tracker after max retry attempts by @dancoombs in #1117
- fix(sim): use max bundle gas for max call gas during estimation by @dancoombs in #1118
- fix(builder): fix underpriced handling in transaction tracker by @dancoombs in #1119
Full Changelog: v0.7.2...v0.8.0-rc0