Skip to content

Releases: flashbots/contender

contender_testfile-v0.1.6

27 May 22:21
69adfed
Compare
Choose a tag to compare

Fixed

  • placeholder logic for > 2 placeholders

Other

  • ci publish (#215)
  • Adding remote scenarios (#202)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • drop stalled txs (#175)
  • op interop scenario (#136)
  • bugfixes & code organization (#173)
  • simple scenario + code touchups (#164)
  • de-duplicate from_pools in TestConfig util fns
  • move AgentStore & TestConfig utils into respective impls, fix broken test
  • clippy
  • various refactors
  • add TxType for scenario txs
  • implement gas_limit override in generator & testfile
  • remove println from unit test
  • fmt
  • associate RPC_URL with named txs for chain-specific deployments
  • support from_pool in create steps
  • Merge branch 'main' into add-fmt-clippy-workflows
  • make clippy happy
  • inject pool signers with generator (TODO: fund them)
  • allow tx 'value' field to be fuzzed
  • move testfiles into scenarios/
  • idiomatic workspace structure

contender_sqlite-v0.1.6

27 May 22:21
69adfed
Compare
Choose a tag to compare

Other

  • ci publish (#215)
  • Feat/reports w runtime params (#213)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • quality-of-life fixes (#178)
  • tx observability, DB upgrades (#167)
  • add scenario_name to runs table, use in report
  • remove redundant &
  • add test assertion for wrong named_tx url
  • associate RPC_URL with named txs for chain-specific deployments
  • organize db, modify templater return types, prompt user to redeploy on fill-blocks
  • make clippy happy
  • idiomatic workspace structure

contender_engine_provider-v0.1.6

27 May 22:20
69adfed
Compare
Choose a tag to compare

Other

  • ci publish (#215)
  • engine_ calls to advance chain manually (#165)

contender_core-v0.1.6

27 May 22:21
69adfed
Compare
Choose a tag to compare

Added

  • feat/revert toggle (#177)

Fixed

  • fix ugly casts
  • fix warnings
  • fix
  • fix providers in tests
  • fix merge bug in test_scenario
  • fix arg replacement index bug in templater
  • fix early-to-address parse bug, re-enable bundles in spamBundles scenario
  • fix templater '{_sender} not in DB' bug
  • fix ms-sec logging in report
  • fix broken tests & faulty logic
  • fix erroneous log
  • fix agent-less generator behavior
  • fix account index bug properly
  • fix invalid index bug

Other

  • ci publish (#215)
  • Feat/reports w runtime params (#213)
  • Feat/runtime param help (#204)
  • consolidate spamd (#211)
  • add debug log for failed provider calls (#200)
  • Feature/174 admin command (#180)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • quality-of-life fixes (#178)
  • gas price adder & priority fee bugfix (#176)
  • drop stalled txs (#175)
  • bugfixes & code organization (#173)
  • upgrade alloy (#172)
  • simplify util functions (#171)
  • spamd (#170)
  • tx observability, DB upgrades (#167)
  • simple scenario + code touchups (#164)
  • log request id w/ hash when calling sendRawTransaction (#161)
  • update slot-conflict scenario's fn params, more verbose logs
  • remove redundant param names
  • move AgentStore & TestConfig utils into respective impls, fix broken test
  • use destructure syntax on TestScenarioParams, fix log verbiage
  • accept pre-set gas_limit in setup steps
  • use 1 for prio fee
  • tighten up setup_cost test
  • add estimate test & general cleanup
  • improve logs, prevent u256 underflow
  • estimate setup cost using anvil
  • improve log copypastability
  • clippy
  • prevent priority-fee error (never higher than gasprice)
  • various refactors
  • add TxType for scenario txs
  • show run_id after terminated spam runs
  • Merge branch 'main' into bugfix/ctrl-c-handling
  • clippy + cleanup
  • add test for gas override
  • implement gas_limit override in generator & testfile
  • update alloy
  • remove unused dep from core
  • Merge branch 'main' into dan/add-eth-sendbundle-from-alloy
  • Merge branch 'main' into bugfix/spam-funding
  • cleanup nits
  • prevent divide-by-zero errors before they happen in spammer
  • add scenario_name to runs table, use in report
  • improve ContenderError::with_err, handle trace failure
  • clippy
  • remove erroneous parenthesis-removal, replace bad error types in generator::util
  • remove erroneous parenthesis-removal, replace bad error types in generator::util
  • better debug errors
  • better setup failure logs
  • flatten struct (tuple) args in fn sig to parse correctly
  • before spamming, error if acct balance l.t. total spam cost
  • support {_sender} in 'to' address, rename scenarios, use from_pool in spamBundles (prev. spamMe)
  • fmt
  • Update rand_seed.rs
  • fund accounts in blockwise spam test
  • remove unnecessary casts
  • add test to check number of agent accounts used by spammer
  • better error message for missing contract deployments
  • associate RPC_URL with named txs for chain-specific deployments
  • inject {_sender} with/without 0x prefix depending on whether it's the whole word
  • inject {_sender} placeholder with from address
  • improve logs from common errors in spam & setup
  • add test for agent usage in create steps
  • group spam txs by spam step, not account
  • support from_pool in create steps
  • use eip1559 txs to fund test scenario in tests
  • add test for agent signers in setup step
  • remove debug log
  • use scaled from_pool accounts in setup generator
  • (WIP) support from_pool in setup steps; TODO: scale requests by #accts
  • clippy
  • make CTRL-C handling extra-graceful (2-stage spam termination)
  • remove redundant data in gas_limits map key
  • clippy
  • accurately account gas usage
  • make clippy happy
  • log gas_used & block_num for each landed tx
  • log failed tx hashes
  • log gas limit
  • intercept CTRL-C to exit gracefully
  • don't crash on failed task
  • add stress.toml, tweak mempool.toml, remove # from blocknum log
  • remove timeout, add env var to fill blocks up to a percent
  • organize db, modify templater return types, prompt user to redeploy on fill-blocks
  • spam many txs in fill-block
  • add 'run' command; runs builtin scenarios
  • comment out unused dep (will use soon)
  • add default impl for blockwise spammer
  • Merge branch 'main' into add-fmt-clippy-workflows
  • remove unnecessary struct member; more dry
  • remove unused varc
  • extend timeout to num_reqs
  • scale EOAs for timed spammer as well
  • DRY off
  • relax timeout, don't crash on error when waiting for callbacks to finish
  • cleanup
  • drop the '2' suffix from new spammers; old ones deleted
  • delete old spammers
  • add new timedSpammer using Spammer trait
  • add new Spammer trait, replace blockwise spammer
  • improve spamMe scenario & blockwise spammer UX
  • differentiate seed using pool name, fix account index bug
  • cleanup comments & clones
  • cleanup logs
  • use RandSeed to generate agent signer keys
  • fund pool accounts w/ user account at spam startup
  • inject pool signers with generator (TODO: fund them)
  • db/mod.rs => db.rs
  • move bundle_provider to its own crate (should be replaced entirely, anyhow)
  • syntax cleanups
  • add simple wallet store (unimplemented)
  • remove errant panic, improve logs for bad config
  • remove unused import
  • cleanup, remove unneeded field in example config
  • allow tx 'value' field to be fuzzed
  • idiomatic workspace structure

contender_cli-v0.1.6

27 May 22:21
69adfed
Compare
Choose a tag to compare

Added

  • add timer warning on contract deployment (#179)

Fixed

  • fix spam cost estimate bug (#188)
  • fix ugly casts
  • fix warnings
  • fix
  • fix providers in tests
  • fix erroneous clone
  • fix subtraction underflow in heatmap
  • fix broken test
  • fix util test
  • fix slot index bug in heatmap
  • fix erroneous panic, improve funding error logs

Other

  • ci publish (#215)
  • Feat/reports w runtime params (#213)
  • Build other charts even w (#214)
  • Feat/runtime param help (#204)
  • consolidate spamd (#211)
  • Adding remote scenarios (#202)
  • add debug log for failed provider calls (#200)
  • Feat/env vars as cli args (#189)
  • Feature/174 admin command (#180)
  • Added default RPC value as http://localhost:8545 (#196)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • refactor faulty conditional preventing percentages > 100 (#186)
  • build example report in CI (#185)
  • engine_ calls to advance chain manually (#165)
  • quality-of-life fixes (#178)
  • gas price adder & priority fee bugfix (#176)
  • drop stalled txs (#175)
  • bugfixes & code organization (#173)
  • upgrade alloy (#172)
  • simplify util functions (#171)
  • spamd (#170)
  • tx observability, DB upgrades (#167)
  • simple scenario + code touchups (#164)
  • log request id w/ hash when calling sendRawTransaction (#161)
  • update slot-conflict scenario's fn params, more verbose logs
  • clippy
  • parallelize block retrieval in report
  • parallelize trace retrieval in report command
  • switch block type in report to Any
  • improve log for funding txs
  • add estimate test & general cleanup
  • estimate setup cost using anvil
  • nitpicking verbiage
  • clippy
  • various refactors
  • add TxType for scenario txs
  • clippy + cleanup
  • clippy
  • add flag to skip deploy prompt in 'run' command
  • implement gas_limit override in generator & testfile
  • remove unnecessary typecasts
  • fetch report fonts from CDN, delete font files
  • update header styles
  • add fonts
  • Change background color
  • make charts white
  • add deadpine styles to html template
  • cleanup nits
  • prevent divide-by-zero errors before they happen in spammer
  • fund accounts before creating scenario
  • add scenario_name to runs table, use in report
  • add metadata to report command args
  • limit # axis labels to prevent crowded text
  • remove default trace decoder (unnecessary & not always supported), add page breaks in report template
  • clippy
  • make tests parallelizable, take db path as args in db functions
  • Merge branch 'main' into feat/db-cli
  • error before returning from heatmap.build if no trace data collected
  • improve ContenderError::with_err, handle trace failure
  • reorganize report module into submodules
  • clippy
  • update heatmap title
  • update template title
  • clean up chart styling
  • open repot in web browser when it's finished
  • generate simple HTML report
  • update chart bg colors
  • add tx-gas-used chart, cleanup logs
  • add time-to-inclusion chart
  • put charts in chart module, add gasUsedPerBlock chart
  • DRY filenames for charts in report
  • simplify & improve cache file handling in report
  • save heatmap to reports dir
  • DRY data file paths
  • cleanup heatmap margins
  • add axis labels
  • properly label axes
  • add legend title to heatmap
  • add color legend to heatmap
  • cleanup logs, improve heatmap color
  • draw simple heatmap (WIP; needs appropriate labels)
  • convert heatmap data into matrix (for plotting later)
  • cleanup
  • add heatmap builder (WIP; collects data but doesn't render)
  • simplify args
  • add tx tracing to report
  • support multiple run_ids in report command
  • simplify report further (remove filename option)
  • simplify 'report' command
  • factor out duration from get_max_spam_cost
  • before spamming, error if acct balance l.t. total spam cost
  • add post-setup log
  • remove unnecessary vec
  • add test for fund_accounts: disallows funding early if sender has insufficient balance
  • check funder balance is sufficient to fund all accounts before funding any
  • clippy
  • remove "signers per pool" from setup
  • num_accounts = txs_per_period / agents.len()
  • associate RPC_URL with named txs for chain-specific deployments
  • improve logs from common errors in spam & setup
  • add -r flag to spam; runs report and saves to filename passed by -r
  • create, save, and load user seed: ~/.contender/seed
  • clippy
  • save DB to ~/.contender/
  • save report to ~/.contender/
  • export report to report.csv by default
  • cleanup
  • cleanup
  • support from_pool in create steps
  • remove debug log
  • clean up logs
  • use same default seed for both setup & spam
  • (WIP) support from_pool in setup steps; TODO: scale requests by #accts
  • cleanup db invocations
  • clippy
  • move subcommand definitions out of main.rs, into individual mods
  • remove timeout, add env var to fill blocks up to a percent
  • make clippy happy
  • replace Into impl with From
  • cleanup doc comments, fix num_txs bug in run db
  • add --num-txs to run command
  • add termcolor to cli, make prompt orange
  • organize db, modify templater return types, prompt user to redeploy on fill-blocks
  • read block gas limit from rpc
  • spam many txs in fill-block
  • rename file
  • add 'run' command; runs builtin scenarios
  • Merge branch 'main' into add-fmt-clippy-workflows
  • remove unnecessary struct member; more dry
  • scale EOAs for timed spammer as well
  • DRY off
  • drop the '2' suffix from new spammers; old ones deleted
  • add new timedSpammer using Spammer trait
  • add new Spammer trait, replace blockwise spammer
  • differentiate seed using pool name, fix account index bug
  • cleanup comments & clones
  • use RandSeed to generate agent signer keys
  • fund pool accounts w/ user account at spam startup
  • inject pool signers with generator (TODO: fund them)
  • idiomatic workspace structure

contender_bundle_provider-v0.1.6

27 May 22:20
69adfed
Compare
Choose a tag to compare

Other

  • ci publish (#215)
  • bugfix/tokio task panics (#187)
  • Merge branch 'main' into update-alloy
  • update alloy
  • remove unused deps
  • (bundle_provider) rewrite BundleClient to use alloy
  • before spamming, error if acct balance l.t. total spam cost
  • add new Spammer trait, replace blockwise spammer
  • move bundle_provider to its own crate (should be replaced entirely, anyhow)

contender_testfile-v0.1.5

23 May 00:18
52fd260
Compare
Choose a tag to compare

Fixed

  • placeholder logic for > 2 placeholders

Other

  • ci publish (#215)
  • Adding remote scenarios (#202)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • drop stalled txs (#175)
  • op interop scenario (#136)
  • bugfixes & code organization (#173)
  • simple scenario + code touchups (#164)
  • de-duplicate from_pools in TestConfig util fns
  • move AgentStore & TestConfig utils into respective impls, fix broken test
  • clippy
  • various refactors
  • add TxType for scenario txs
  • implement gas_limit override in generator & testfile
  • remove println from unit test
  • fmt
  • associate RPC_URL with named txs for chain-specific deployments
  • support from_pool in create steps
  • Merge branch 'main' into add-fmt-clippy-workflows
  • make clippy happy
  • inject pool signers with generator (TODO: fund them)
  • allow tx 'value' field to be fuzzed
  • move testfiles into scenarios/
  • idiomatic workspace structure

contender_sqlite-v0.1.5

23 May 00:18
52fd260
Compare
Choose a tag to compare

Other

  • ci publish (#215)
  • Feat/reports w runtime params (#213)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • quality-of-life fixes (#178)
  • tx observability, DB upgrades (#167)
  • add scenario_name to runs table, use in report
  • remove redundant &
  • add test assertion for wrong named_tx url
  • associate RPC_URL with named txs for chain-specific deployments
  • organize db, modify templater return types, prompt user to redeploy on fill-blocks
  • make clippy happy
  • idiomatic workspace structure

contender_engine_provider-v0.1.5

23 May 00:18
52fd260
Compare
Choose a tag to compare

Other

  • ci publish (#215)
  • engine_ calls to advance chain manually (#165)

contender_core-v0.1.5

23 May 00:18
52fd260
Compare
Choose a tag to compare

Added

  • feat/revert toggle (#177)

Fixed

  • fix ugly casts
  • fix warnings
  • fix
  • fix providers in tests
  • fix merge bug in test_scenario
  • fix arg replacement index bug in templater
  • fix early-to-address parse bug, re-enable bundles in spamBundles scenario
  • fix templater '{_sender} not in DB' bug
  • fix ms-sec logging in report
  • fix broken tests & faulty logic
  • fix erroneous log
  • fix agent-less generator behavior
  • fix account index bug properly
  • fix invalid index bug

Other

  • ci publish (#215)
  • Feat/reports w runtime params (#213)
  • Feat/runtime param help (#204)
  • consolidate spamd (#211)
  • add debug log for failed provider calls (#200)
  • Feature/174 admin command (#180)
  • bugfix/tokio task panics (#187)
  • Feat/more metrics (#181)
  • engine_ calls to advance chain manually (#165)
  • quality-of-life fixes (#178)
  • gas price adder & priority fee bugfix (#176)
  • drop stalled txs (#175)
  • bugfixes & code organization (#173)
  • upgrade alloy (#172)
  • simplify util functions (#171)
  • spamd (#170)
  • tx observability, DB upgrades (#167)
  • simple scenario + code touchups (#164)
  • log request id w/ hash when calling sendRawTransaction (#161)
  • update slot-conflict scenario's fn params, more verbose logs
  • remove redundant param names
  • move AgentStore & TestConfig utils into respective impls, fix broken test
  • use destructure syntax on TestScenarioParams, fix log verbiage
  • accept pre-set gas_limit in setup steps
  • use 1 for prio fee
  • tighten up setup_cost test
  • add estimate test & general cleanup
  • improve logs, prevent u256 underflow
  • estimate setup cost using anvil
  • improve log copypastability
  • clippy
  • prevent priority-fee error (never higher than gasprice)
  • various refactors
  • add TxType for scenario txs
  • show run_id after terminated spam runs
  • Merge branch 'main' into bugfix/ctrl-c-handling
  • clippy + cleanup
  • add test for gas override
  • implement gas_limit override in generator & testfile
  • update alloy
  • remove unused dep from core
  • Merge branch 'main' into dan/add-eth-sendbundle-from-alloy
  • Merge branch 'main' into bugfix/spam-funding
  • cleanup nits
  • prevent divide-by-zero errors before they happen in spammer
  • add scenario_name to runs table, use in report
  • improve ContenderError::with_err, handle trace failure
  • clippy
  • remove erroneous parenthesis-removal, replace bad error types in generator::util
  • remove erroneous parenthesis-removal, replace bad error types in generator::util
  • better debug errors
  • better setup failure logs
  • flatten struct (tuple) args in fn sig to parse correctly
  • before spamming, error if acct balance l.t. total spam cost
  • support {_sender} in 'to' address, rename scenarios, use from_pool in spamBundles (prev. spamMe)
  • fmt
  • Update rand_seed.rs
  • fund accounts in blockwise spam test
  • remove unnecessary casts
  • add test to check number of agent accounts used by spammer
  • better error message for missing contract deployments
  • associate RPC_URL with named txs for chain-specific deployments
  • inject {_sender} with/without 0x prefix depending on whether it's the whole word
  • inject {_sender} placeholder with from address
  • improve logs from common errors in spam & setup
  • add test for agent usage in create steps
  • group spam txs by spam step, not account
  • support from_pool in create steps
  • use eip1559 txs to fund test scenario in tests
  • add test for agent signers in setup step
  • remove debug log
  • use scaled from_pool accounts in setup generator
  • (WIP) support from_pool in setup steps; TODO: scale requests by #accts
  • clippy
  • make CTRL-C handling extra-graceful (2-stage spam termination)
  • remove redundant data in gas_limits map key
  • clippy
  • accurately account gas usage
  • make clippy happy
  • log gas_used & block_num for each landed tx
  • log failed tx hashes
  • log gas limit
  • intercept CTRL-C to exit gracefully
  • don't crash on failed task
  • add stress.toml, tweak mempool.toml, remove # from blocknum log
  • remove timeout, add env var to fill blocks up to a percent
  • organize db, modify templater return types, prompt user to redeploy on fill-blocks
  • spam many txs in fill-block
  • add 'run' command; runs builtin scenarios
  • comment out unused dep (will use soon)
  • add default impl for blockwise spammer
  • Merge branch 'main' into add-fmt-clippy-workflows
  • remove unnecessary struct member; more dry
  • remove unused varc
  • extend timeout to num_reqs
  • scale EOAs for timed spammer as well
  • DRY off
  • relax timeout, don't crash on error when waiting for callbacks to finish
  • cleanup
  • drop the '2' suffix from new spammers; old ones deleted
  • delete old spammers
  • add new timedSpammer using Spammer trait
  • add new Spammer trait, replace blockwise spammer
  • improve spamMe scenario & blockwise spammer UX
  • differentiate seed using pool name, fix account index bug
  • cleanup comments & clones
  • cleanup logs
  • use RandSeed to generate agent signer keys
  • fund pool accounts w/ user account at spam startup
  • inject pool signers with generator (TODO: fund them)
  • db/mod.rs => db.rs
  • move bundle_provider to its own crate (should be replaced entirely, anyhow)
  • syntax cleanups
  • add simple wallet store (unimplemented)
  • remove errant panic, improve logs for bad config
  • remove unused import
  • cleanup, remove unneeded field in example config
  • allow tx 'value' field to be fuzzed
  • idiomatic workspace structure