Skip to content

Add 16 single-contract benchmarks from purplebench#11

Open
msooseth wants to merge 1 commit into
mainfrom
purplebench-contracts
Open

Add 16 single-contract benchmarks from purplebench#11
msooseth wants to merge 1 commit into
mainfrom
purplebench-contracts

Conversation

@msooseth

Copy link
Copy Markdown
Contributor

Summary

  • Adds 16 flattened, on-chain mainnet contracts to benchmark_data/ (WETH9, UniswapV3Pool, Morpho, BoredApeYachtClub, FiatTokenV2_2, Vault, PoolManager, TetherToken, EulerSwap, OETH, EtherfiLiquidityPool, RocketDepositPool, AaveV4HubInstance, ENSRegistryWithFallback, Poap, OCRConfigurationStoreEVMSimple).
  • Sources from DanielVF/purplebench at commit ad8035580b71937282d2a760c71a14b07dcfb483. Once that repo has a tag, we'll swap the SHA for the tag.
  • Each contract has zero imports / zero NPM deps — they're pre-flattened on-chain verified source. Pragmas relaxed to >=0.8.24 where present so any newer solc compiles them (only Vault had an active pragma).
  • Each entry records its mainnet_address and is tagged purplebench, mainnet, single-contract.

Big thanks to @DanielVF for curating and flattening these contracts in purplebench.

Test plan

  • All 16 standard-jsons compile cleanly with solc 0.8.36-develop under both evmasm and ir pipelines (32 builds, 0 errors).
  • solc-bench list --benchmark-dir ./benchmark_data lists all 24 entries (8 existing + 16 new).
  • solc-bench run --tags purplebench --iterations 1 completes for all 16 contracts with bytecode produced.
  • Reviewer: confirm the SHA-as-version convention is acceptable as a placeholder until purplebench tags a release.

🤖 Generated with Claude Code

Flattened on-chain mainnet contracts (WETH9, UniswapV3Pool, Morpho,
BoredApeYachtClub, ...) pulled from DanielVF/purplebench at commit
ad8035580. Pragmas relaxed to >=0.8.24 where present so any newer solc
compiles them. Each entry records its mainnet_address and is tagged
purplebench, mainnet, single-contract.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@DanielVF

DanielVF commented May 21, 2026

Copy link
Copy Markdown

You could probably rename Vault to SimpleVaultExample, or remove it - it was intended to be an extremely minimal test for human bytecode reading.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants