The gas price oracle uses a oracle.ignorePrice to filter out transactions below a certain price/tip. By default it is set to DefaultIgnorePrice=2 wei.
This is problematic as we return a gas price of 1 wei if there's no congestion. This means that other nodes that did not configure with --gpo.ignoreprice=1 nor gpo.congestionthreshold will always ignore these low prices and never adjust their price prediction down.
By using 2 wei as the default price if there's no congestion, other nodes that did not explicitly configure the GPO accordingly will also adjust their prices down without needing to upgrade to this version.
Additionally, we set DefaultIgnorePrice=1 wei so that in the future we can reduce to 1 wei as the default price with no congestion.
2. PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:
[ ] build: Changes that affect the build system or external dependencies (example scopes: yarn, eslint, typescript)
[ ] ci: Changes to our CI configuration files and scripts (example scopes: vercel, github, cypress)
[ ] docs: Documentation-only changes
[ ] feat: A new feature
[x] fix: A bug fix
[ ] perf: A code change that improves performance
[ ] refactor: A code change that doesn't fix a bug, or add a feature, or improves performance
[ ] style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] test: Adding missing tests or correcting existing tests
3. Deployment tag versioning
Has the version in params/version.go been updated?
[] This PR doesn't involve a new deployment, git tag, docker image tag, and it doesn't affect traces
1. Purpose or design rationale of this PR
The gas price oracle uses a
oracle.ignorePrice
to filter out transactions below a certain price/tip. By default it is set toDefaultIgnorePrice=2 wei
.This is problematic as we return a gas price of
1 wei
if there's no congestion. This means that other nodes that did not configure with--gpo.ignoreprice=1
norgpo.congestionthreshold
will always ignore these low prices and never adjust their price prediction down.By using
2 wei
as the default price if there's no congestion, other nodes that did not explicitly configure the GPO accordingly will also adjust their prices down without needing to upgrade to this version.Additionally, we set
DefaultIgnorePrice=1 wei
so that in the future we can reduce to1 wei
as the default price with no congestion.2. PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:
3. Deployment tag versioning
Has the version in
params/version.go
been updated?4. Breaking change label
Does this PR have the
breaking-change
label?