Skip to content

Rundler v0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 May 14:58
· 44 commits to main since this release
d143fd5

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
  • EIP-7623 handling
  • Remove paymaster during call gas estimation

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
  • Ensure multicall3 is deployed before sending value

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.

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-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 rundler-v0.8.0-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 rundler-v0.8.0-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 rundler-v0.8.0-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker v0.8.0

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
  • fix(builder): abandon tracker and release all when no ops by @dancoombs in #1120
  • chore: remove spammy warn, default bundle interval to 1s by @dancoombs in #1121
  • chore(builder): add logs about bundle gas limit reasons by @dancoombs in #1122
  • fix(types): fix v0.7 required uo overhead calc by @dancoombs in #1123
  • feat(cli): make signer count optional in admin cli by @dancoombs in #1124
  • feat(pool): add a metric for block discovery delay time by @dancoombs in #1125
  • fix(signer): ensure multicall3 is deployed before sending value by @dancoombs in #1127
  • feat: add more metrics for chain sync times by @dancoombs in #1129
  • feat: add handling for eip-7623 in builder and pvg calc by @dancoombs in #1126
  • feat: remove paymaster during call gas estimation by @dancoombs in #1130
  • fix(sim): fix sim fallback to only happen when there is an unknown error by @dancoombs in #1133
  • fix(pool): fix check and error for verification gas limit eff by @dancoombs in #1131
  • chore(ci): fix libxml2-utils install by @dancoombs in #1135
  • chore(deps): bump ring from 0.17.8 to 0.17.14 by @dependabot in #1132
  • chore: release v0.8 by @dancoombs in #1136

Full Changelog: v0.7.3...v0.8.0