Skip to content

Update arbitrum gas estimator's settings - #487

Merged
cll-gg merged 8 commits into
developfrom
OEV-1478-improve-arbitrum-gas-estimator
Jun 18, 2026
Merged

cll-gg merged 8 commits into
developfrom
OEV-1478-improve-arbitrum-gas-estimator

Conversation

@cll-gg

@cll-gg cll-gg commented Jun 12, 2026 •

Copy link
Copy Markdown
Contributor

What

Update arbitrum gas estimator settings:

  • refresh interval: 10s -> 2s
  • gas bump 1.5x -> 1.9x

Why

Basically, there's no higher bound on arbitrum's block-over-block base fee increases, so to deal with that better we shorten the refresh interval and increase the bump percentage.

@github-actions

github-actions Bot commented Jun 12, 2026 •

Copy link
Copy Markdown
Contributor

⚠️ API Diff Results - github.com/smartcontractkit/chainlink-evm

⚠️ Breaking Changes (1)

pkg/gas (1)
  • NewSuggestedPriceEstimator β€” Type changed:
func(
  github.com/smartcontractkit/chainlink-common/pkg/logger.Logger, 
  FeeEstimatorClient, 
  suggestedPriceConfig, 
  + github.com/smartcontractkit/chainlink-evm/pkg/config/chaintype.ChainType, 
  github.com/smartcontractkit/chainlink-evm/pkg/gas/rollups.L1Oracle
)
EvmEstimator

πŸ“„ View full apidiff report

@cll-gg
cll-gg marked this pull request as ready for review June 12, 2026 16:25
@cll-gg
cll-gg requested a review from a team as a code owner June 12, 2026 16:25
@cll-gg
cll-gg requested review from a team and Copilot June 12, 2026 16:25
@cll-gg
cll-gg requested a review from a team June 12, 2026 16:25

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Arbitrum estimator tuning parameters to better handle fee volatility by increasing the suggested gas price buffer and reducing an internal refresh interval.

Changes:

  • Reduce arbitrumEstimator polling interval from 10s to 2s.
  • Increase Arbitrum gas price buffer from +50% to +75% (1.5x -> 1.75x).
  • Update unit tests to reflect the new buffer behavior.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
pkg/gas/arbitrum_estimator.go Adjusts Arbitrum estimator polling period and increases the gas price buffer percentage.
pkg/gas/arbitrum_estimator_test.go Updates expected values/constants to match the new buffer percentage.

πŸ’‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pkg/gas/arbitrum_estimator.go Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread pkg/gas/suggested_price_estimator.go Resolved
Comment thread pkg/gas/arbitrum_estimator.go Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread pkg/gas/suggested_price_estimator.go Resolved
Comment thread pkg/gas/arbitrum_estimator_test.go Resolved
Comment thread pkg/gas/suggested_price_estimator.go Resolved
@cll-gg
cll-gg requested a review from dimriou June 15, 2026 13:14
Comment thread pkg/gas/suggested_price_estimator.go Resolved
@cll-gg
cll-gg requested a review from dimriou June 15, 2026 13:45
dimriou
dimriou previously approved these changes Jun 15, 2026

@dimriou dimriou left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - It would be great if we can spin it up locally and test the behaviour just to be on the safe side.

@cll-gg

cll-gg commented Jun 15, 2026 •

Copy link
Copy Markdown
Contributor Author

LGTM - It would be great if we can spin it up locally and test the behaviour just to be on the safe side.

@dimriou Done! Below is the output, which shows that the base fee gets refreshed every 2s and is computed correctly:

2026-06-15 17:29:13.937	[INFO]	ArbitrumEstimator	gas/suggested_price_estimator.go:67	Creating SuggestedPriceEstimator	{"pollPeriod": "2s"}
2026-06-15 17:29:15.029	[INFO]	ArbitrumEstimator.SuggestedPriceEstimator	gas/suggested_price_estimator.go:144	refreshPrice	{"GasPrice": "20.016 mwei"}
2026-06-15 17:29:15.609	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:15.853	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:15.876	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20082000, "baseFeePerGasBumpedWith75Percent": 35143500, "blockNumber": 473805541}
2026-06-15 17:29:16.084	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20094000, "baseFeePerGasBumpedWith75Percent": 35164500, "blockNumber": 473805542}
2026-06-15 17:29:16.102	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:16.276	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20094000, "baseFeePerGasBumpedWith75Percent": 35164500, "blockNumber": 473805542}
2026-06-15 17:29:16.353	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:16.465	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20128000, "baseFeePerGasBumpedWith75Percent": 35224000, "blockNumber": 473805543}
2026-06-15 17:29:16.602	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:16.785	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805544}
2026-06-15 17:29:16.852	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:16.994	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20030000, "baseFeePerGasBumpedWith75Percent": 35052500, "blockNumber": 473805546}
2026-06-15 17:29:17.102	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:17.312	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20030000, "baseFeePerGasBumpedWith75Percent": 35052500, "blockNumber": 473805546}
2026-06-15 17:29:17.352	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35028000}
2026-06-15 17:29:17.504	[INFO]	ArbitrumEstimator.SuggestedPriceEstimator	gas/suggested_price_estimator.go:144	refreshPrice	{"GasPrice": "20 mwei"}
2026-06-15 17:29:17.602	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:17.693	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805548}
2026-06-15 17:29:17.853	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:17.917	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805549}
2026-06-15 17:29:18.103	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:18.112	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20054000, "baseFeePerGasBumpedWith75Percent": 35094500, "blockNumber": 473805550}
2026-06-15 17:29:18.298	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20072000, "baseFeePerGasBumpedWith75Percent": 35126000, "blockNumber": 473805551}
2026-06-15 17:29:18.353	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:18.602	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:18.616	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805552}
2026-06-15 17:29:18.852	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:18.987	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805552}
2026-06-15 17:29:19.102	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35000000}
2026-06-15 17:29:19.212	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20106000, "baseFeePerGasBumpedWith75Percent": 35185500, "blockNumber": 473805555}
2026-06-15 17:29:19.242	[INFO]	ArbitrumEstimator.SuggestedPriceEstimator	gas/suggested_price_estimator.go:144	refreshPrice	{"GasPrice": "20.066 mwei"}
2026-06-15 17:29:19.352	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:19.531	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20106000, "baseFeePerGasBumpedWith75Percent": 35185500, "blockNumber": 473805555}
2026-06-15 17:29:19.602	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:19.852	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:19.865	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20002000, "baseFeePerGasBumpedWith75Percent": 35003500, "blockNumber": 473805557}
2026-06-15 17:29:20.103	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:20.185	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20010000, "baseFeePerGasBumpedWith75Percent": 35017500, "blockNumber": 473805558}
2026-06-15 17:29:20.353	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:20.507	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20054000, "baseFeePerGasBumpedWith75Percent": 35094500, "blockNumber": 473805559}
2026-06-15 17:29:20.601	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:20.853	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:20.874	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20000000, "baseFeePerGasBumpedWith75Percent": 35000000, "blockNumber": 473805560}
2026-06-15 17:29:21.102	[INFO]	arbitrum-estimator/main.go:241	estimate	{"gasPrice": 35115500}
2026-06-15 17:29:21.193	[INFO]	arbitrum-estimator/main.go:165	base fee	{"baseFeePerGas": 20034000, "baseFeePerGasBumpedWith75Percent": 35059500, "blockNumber": 473805562}
2026-06-15 17:29:21.334	[INFO]	ArbitrumEstimator.SuggestedPriceEstimator	gas/suggested_price_estimator.go:144	refreshPrice	{"GasPrice": "20.034 mwei"}

finleydecker
finleydecker previously approved these changes Jun 16, 2026
ogtownsend
ogtownsend previously approved these changes Jun 16, 2026
@cll-gg
cll-gg dismissed stale reviews from ogtownsend, finleydecker, and dimriou via c82708e June 17, 2026 16:20
@cll-gg
cll-gg merged commit 105433c into develop Jun 18, 2026
35 of 37 checks passed
@cll-gg
cll-gg deleted the OEV-1478-improve-arbitrum-gas-estimator branch June 18, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants