Skip to content

Rundler v0.8.0-rc0

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 24 Apr 17:38
· 59 commits to main since this release
7018240

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