flashbots / flashbots/contender

assign agent balances in TestConfig

Open
#305 4 comments 0 reactions 1 assignee Claimed by @Parizval View on GitHub
enhancement good first issue
Dominant language
Rust
Stars
141
Forks
57
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

`--min-balance` forces us to choose one balance for every pool, but different pools may have different needs. That's why they are differentiated in the first place.
Sometimes the contract deployer needs to have a lot of eth to set up the contracts, sometimes the spammers need lots of ETH so they can spam for days straight, etc...

**Describe the solution you'd like**

Modify [PlanConfig](https://github.com/flashbots/contender/blob/main/crates/core/src/generator/trait.rs#L25) and add a directive to [TestConfig](https://github.com/flashbots/contender/blob/main/crates/testfile/src/test_config.rs#L16) that lets you specify starting balance per agent, designated by from_pool names. Call it `fund`.

Example (TOML):

```toml
[fund]
admin = "1 eth"
spammers = "10 eth"

[[spam]]
[spam.tx]
from_pool = "spammers" # the account sending this will start with 10 eth
...
```

👉 Then repurpose --min-balance from the CLI. Instead of using it to fund accounts at the start, use it as a trigger to know when the accounts should be refilled. After every batch of txs is sent, check the balance of a single spammer account (any account, say #0), and if its balance is below min_balance, fund all spammer accounts with the amount specified by their allocation in `fund`.

In the case that a `from_pool` is not given an explicit designation in `fund` (or `fund` is not specified), assume 0.01 ETH to be its fund amount.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.