set fees to zero for zero base fee chains (e.g. anvil) #963
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We use anvil locally with
--block-base-fee-per-gas 0
, because we often create arbitrary burner accounts and don't want to do all the plumbing to fund new accounts per local instance.However, viem isn't accounting for this in its fee calculation, always sending 1.5 gwei unless you 1) fund the account or 2) manually set each transaction call to
{ maxFeePerGas: 0n, maxPriorityFeePerGas: 0n }
.We'd like to avoid the former, and the latter would leave us with wrapping viem or our own contract abstraction or something, but would be nice to keep to plain ol' viem.
See related issues that were fixed in foundry/anvil:
anvil
): treat 0basefee
as constant foundry-rs/foundry#5163PR-Codex overview
This PR focuses on implementing EIP-1559 fees and handling zero base fee.
Detailed summary: