Skip to content

Commit 5d544f0

Browse files
committed
feat: add extcodesize_setup scenario for deploying EXTCODESIZE benchmark contracts
This scenario deploys initcode contracts, CREATE2 factory contracts, and test contracts of various sizes (0.5, 1, 2, 5, 10, 24 KB) for EXTCODESIZE benchmarks. Features: - Deploys initcode contracts that generate bytecode of specific sizes using keccak256 expansion loops - Deploys CREATE2 factory contracts that use EXTCODECOPY to deploy contracts with unique bytecode - Supports parallel deployment using multiple wallets (default 50) - Dynamic gas calculation based on contract size and block gas limit - Outputs factory addresses in stubs.json format for execution-spec-tests - Supports pre-deployed addresses via YAML config
1 parent 30299b1 commit 5d544f0

2 files changed

Lines changed: 985 additions & 0 deletions

File tree

scenarios/scenarios.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/ethpandaops/spamoor/scenarios/geastx"
1919
"github.com/ethpandaops/spamoor/scenarios/setcodetx"
2020
erc20bloater "github.com/ethpandaops/spamoor/scenarios/statebloat/erc20_bloater"
21+
extcodesizesetup "github.com/ethpandaops/spamoor/scenarios/statebloat/extcodesize_setup"
2122
"github.com/ethpandaops/spamoor/scenarios/storagespam"
2223
"github.com/ethpandaops/spamoor/scenarios/taskrunner"
2324
uniswapswaps "github.com/ethpandaops/spamoor/scenarios/uniswap-swaps"
@@ -40,6 +41,7 @@ var ScenarioDescriptors = []*scenario.Descriptor{
4041
&erc20bloater.ScenarioDescriptor,
4142
&erctx.ScenarioDescriptor,
4243
&evmfuzz.ScenarioDescriptor,
44+
&extcodesizesetup.ScenarioDescriptor,
4345
&factorydeploytx.ScenarioDescriptor,
4446
&gasburnertx.ScenarioDescriptor,
4547
&geastx.ScenarioDescriptor,

0 commit comments

Comments
 (0)