Releases: flashbots/contender
Releases · flashbots/contender
contender_testfile-v0.1.6
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
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
contender_core-v0.1.6
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
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
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
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
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
contender_core-v0.1.5
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