From e3ca2df8f60275749f9d4dc2e42c29b3cb954cea Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Tue, 5 Nov 2024 11:54:23 -0300
Subject: [PATCH 01/17] Adding TOML configs for B^2, BoB, Berachain, Unichain,
Worldchain and needed error mappings
---
core/chains/evm/client/errors.go | 6 +++-
core/chains/evm/client/errors_test.go | 2 ++
.../evm/config/toml/defaults/BOB_Mainnet.toml | 22 ++++++++++++
.../evm/config/toml/defaults/BOB_Testnet.toml | 32 +++++++++++++++++
.../toml/defaults/Berachain_Testnet.toml | 22 ++++++++++++
.../toml/defaults/Bsquared_Mainnet.toml | 23 ++++++++++++
.../toml/defaults/Bsquared_Testnet.toml | 23 ++++++++++++
.../toml/defaults/Unichain_Testnet.toml | 33 +++++++++++++++++
.../toml/defaults/Worldchain_Mainnet.toml | 22 ++++++++++++
.../toml/defaults/Worldchain_Testnet.toml | 35 +++++++++++++++++++
10 files changed, 219 insertions(+), 1 deletion(-)
create mode 100644 core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/BOB_Testnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
create mode 100644 core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
diff --git a/core/chains/evm/client/errors.go b/core/chains/evm/client/errors.go
index d47d97660b1..bfe6485c211 100644
--- a/core/chains/evm/client/errors.go
+++ b/core/chains/evm/client/errors.go
@@ -268,6 +268,10 @@ var mantle = ClientErrors{
NonceTooLow: regexp.MustCompile(`(: |^)'*nonce too low`),
}
+var berachain = ClientErrors{
+ Fatal: regexp.MustCompile(`(: |^)'*invalid chain ID`),
+}
+
var hederaFatal = regexp.MustCompile(`(: |^)(execution reverted)(:|$) | ^Transaction gas limit '(\d+)' exceeds block gas limit '(\d+)' | ^Transaction gas limit provided '(\d+)' is insufficient of intrinsic gas required '(\d+)' | ^Oversized data:|status INVALID_SIGNATURE`)
var hedera = ClientErrors{
NonceTooLow: regexp.MustCompile(`Nonce too low`),
@@ -289,7 +293,7 @@ var internal = ClientErrors{
TerminallyStuck: regexp.MustCompile(TerminallyStuckMsg),
}
-var clients = []ClientErrors{parity, geth, arbitrum, metis, substrate, avalanche, nethermind, harmony, besu, erigon, klaytn, celo, zkSync, zkEvm, treasure, mantle, aStar, hedera, gnosis, internal}
+var clients = []ClientErrors{parity, geth, arbitrum, metis, substrate, avalanche, nethermind, harmony, besu, erigon, klaytn, celo, zkSync, zkEvm, treasure, mantle, berachain, aStar, hedera, gnosis, internal}
// ClientErrorRegexes returns a map of compiled regexes for each error type
func ClientErrorRegexes(errsRegex config.ClientErrors) *ClientErrors {
diff --git a/core/chains/evm/client/errors_test.go b/core/chains/evm/client/errors_test.go
index 226f4cef7c9..aaefb6fd7a6 100644
--- a/core/chains/evm/client/errors_test.go
+++ b/core/chains/evm/client/errors_test.go
@@ -422,6 +422,8 @@ func Test_Eth_Errors_Fatal(t *testing.T) {
{"failed to forward tx to sequencer, please try again. Error message: 'invalid sender'", true, "Mantle"},
+ {"invalid chain ID", true, "Berachain"},
+
{"client error fatal", true, "tomlConfig"},
{"[Request ID: d9711488-4c1e-4af2-bc1f-7969913d7b60] Error invoking RPC: transaction 0.0.4425573@1718213476.914320044 failed precheck with status INVALID_SIGNATURE", true, "hedera"},
{"invalid chain id for signer", true, "Treasure"},
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
new file mode 100644
index 00000000000..df84dcd5f1f
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -0,0 +1,22 @@
+ChainID = '60808'
+# OP stack https://docs.gobob.xyz/learn/introduction/op-stack
+ChainType = 'optimismBedrock'
+# finality_depth was: ~850
+FinalityDepth = 900
+# block_time was: 2s
+LogPollInterval = '5s'
+
+NoNewFinalizedHeadsThreshold = '10m'
+
+FinalityTagEnabled = true
+
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
+
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
new file mode 100644
index 00000000000..5d479ed4fe1
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -0,0 +1,32 @@
+ChainID = '808813'
+# copied entirely from Optimism_Sepolia.toml
+ChainType = 'optimismBedrock'
+FinalityDepth = 1
+FinalityTagEnabled = false
+LogPollInterval = '2s'
+NoNewHeadsThreshold = '40s'
+MinIncomingConfirmations = 1
+NoNewFinalizedHeadsThreshold = '15m'
+
+[GasEstimator]
+EIP1559DynamicFees = true
+PriceMin = '1 wei'
+BumpMin = '100 wei'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 60
+
+[Transactions]
+ResendAfterThreshold = '30s'
+
+[HeadTracker]
+HistoryDepth = 300
+
+[NodePool]
+SyncThreshold = 10
+
+[OCR]
+ContractConfirmations = 1
+
+[OCR2.Automation]
+GasLimit = 6500000
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
new file mode 100644
index 00000000000..c6d3aff0ec2
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -0,0 +1,22 @@
+ChainID = '80084'
+FinalityDepth = 1
+LogPollInterval = '1s'
+NoNewHeadsThreshold = '30s'
+RPCBlockQueryDelay = 10
+RPCDefaultBatchSize = 100
+NoNewFinalizedHeadsThreshold = '12m'
+
+[Transactions]
+MaxQueued = 5000
+
+[GasEstimator]
+Mode = 'FeeHistory'
+# The FeeHistory estimator does not enforce PriceMin, setting it to 0 to not place any limits on the price
+PriceMin = '0'
+BumpPercent = 40
+
+[HeadTracker]
+HistoryDepth = 2000
+
+[NodePool]
+SyncThreshold = 10
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
new file mode 100644
index 00000000000..b70a569d27f
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
@@ -0,0 +1,23 @@
+ChainID = '223'
+# OP stack from questionnaire https://docs.google.com/spreadsheets/d/1l8dx1GzxEnjgwH5x3vB60FUr5iFALzPcs6W_wOAiuDs/edit?gid=625078687#gid=625078687
+ChainType = 'optimismBedrock'
+# finality_depth was: ~1900
+FinalityDepth = 2000
+# block_time: ~2s
+LogPollInterval = '5s'
+
+# finality_depth * block_time / 60 secs = ~66 min (finality time)
+NoNewFinalizedHeadsThreshold = '70m'
+
+FinalityTagEnabled = true
+
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
+
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
new file mode 100644
index 00000000000..6a00ac9467a
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
@@ -0,0 +1,23 @@
+ChainID = '1123'
+# OP stack from questionnaire https://docs.google.com/spreadsheets/d/1l8dx1GzxEnjgwH5x3vB60FUr5iFALzPcs6W_wOAiuDs/edit?gid=625078687#gid=625078687
+ChainType = 'optimismBedrock'
+# finality_depth was: ~1900
+FinalityDepth = 2000
+# block_time: ~2s
+LogPollInterval = '5s'
+
+# finality_depth * block_time / 60 secs = ~66 min (finality time)
+NoNewFinalizedHeadsThreshold = '70m'
+
+FinalityTagEnabled = true
+
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
+
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
new file mode 100644
index 00000000000..7495e28ca15
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
@@ -0,0 +1,33 @@
+ChainID = '1301'
+# copied entirely from Optimism_Sepolia.toml
+
+ChainType = 'optimismBedrock'
+FinalityDepth = 1
+FinalityTagEnabled = false
+LogPollInterval = '2s'
+NoNewHeadsThreshold = '40s'
+MinIncomingConfirmations = 1
+NoNewFinalizedHeadsThreshold = '15m'
+
+[GasEstimator]
+EIP1559DynamicFees = true
+PriceMin = '1 wei'
+BumpMin = '100 wei'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 60
+
+[Transactions]
+ResendAfterThreshold = '30s'
+
+[HeadTracker]
+HistoryDepth = 300
+
+[NodePool]
+SyncThreshold = 10
+
+[OCR]
+ContractConfirmations = 1
+
+[OCR2.Automation]
+GasLimit = 6500000
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
new file mode 100644
index 00000000000..e54d17934be
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
@@ -0,0 +1,22 @@
+ChainID = '480'
+# OP stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
+ChainType = 'optimismBedrock'
+# finality_depth was: ~2400
+FinalityDepth = 2500
+# block_time was: 2s
+LogPollInterval = '5s'
+
+NoNewFinalizedHeadsThreshold = '10m'
+
+FinalityTagEnabled = true
+
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
+
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
new file mode 100644
index 00000000000..b7cdfb225e6
--- /dev/null
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
@@ -0,0 +1,35 @@
+ChainID = "4801"
+# copied entirely from Optimism_Sepolia.toml
+# OP Stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
+
+ChainType = "optimismBedrock"
+FinalityDepth = 1
+FinalityTagEnabled = false
+LogPollInterval = "2s"
+NoNewHeadsThreshold = "40s"
+MinIncomingConfirmations = 1
+NoNewFinalizedHeadsThreshold = "15m"
+
+[GasEstimator]
+EIP1559DynamicFees = true
+PriceMin = "1 wei"
+BumpMin = "100 wei"
+
+[GasEstimator.BlockHistory]
+BlockHistorySize = 60
+
+[Transactions]
+ResendAfterThreshold = "30s"
+
+[HeadTracker]
+HistoryDepth = 300
+
+[NodePool]
+SyncThreshold = 10
+
+[OCR]
+ContractConfirmations = 1
+
+
+[OCR2.Automation]
+GasLimit = 6500000
From fc7c81f8cf1968018efebb4c62b7df9fc29b0228 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Tue, 5 Nov 2024 12:29:18 -0300
Subject: [PATCH 02/17] bumping NoNewFinalizedHeadsThreshold to some chains
---
.../evm/config/toml/defaults/BOB_Mainnet.toml | 3 +-
.../evm/config/toml/defaults/BOB_Testnet.toml | 41 +++++++----------
.../toml/defaults/Berachain_Testnet.toml | 26 +++++------
.../toml/defaults/Unichain_Testnet.toml | 42 +++++++----------
.../toml/defaults/Worldchain_Mainnet.toml | 3 +-
.../toml/defaults/Worldchain_Testnet.toml | 46 +++++++------------
6 files changed, 64 insertions(+), 97 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
index df84dcd5f1f..9940d0f6c91 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -6,7 +6,8 @@ FinalityDepth = 900
# block_time was: 2s
LogPollInterval = '5s'
-NoNewFinalizedHeadsThreshold = '10m'
+# finality_depth * block_time / 60 secs = ~30 min (finality time)
+NoNewFinalizedHeadsThreshold = '35m'
FinalityTagEnabled = true
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
index 5d479ed4fe1..35c4c99837b 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -1,32 +1,23 @@
ChainID = '808813'
-# copied entirely from Optimism_Sepolia.toml
+# OP stack https://docs.gobob.xyz/learn/introduction/op-stack
ChainType = 'optimismBedrock'
-FinalityDepth = 1
-FinalityTagEnabled = false
-LogPollInterval = '2s'
-NoNewHeadsThreshold = '40s'
-MinIncomingConfirmations = 1
-NoNewFinalizedHeadsThreshold = '15m'
+# finality_depth was: ~850
+FinalityDepth = 900
+# block_time was: 2s
+LogPollInterval = '5s'
-[GasEstimator]
-EIP1559DynamicFees = true
-PriceMin = '1 wei'
-BumpMin = '100 wei'
-
-[GasEstimator.BlockHistory]
-BlockHistorySize = 60
+# finality_depth * block_time / 60 secs = ~30 min (finality time)
+NoNewFinalizedHeadsThreshold = '35m'
-[Transactions]
-ResendAfterThreshold = '30s'
+FinalityTagEnabled = true
-[HeadTracker]
-HistoryDepth = 300
-
-[NodePool]
-SyncThreshold = 10
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
-[OCR]
-ContractConfirmations = 1
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
-[OCR2.Automation]
-GasLimit = 6500000
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
index c6d3aff0ec2..d86cf99bb30 100644
--- a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -1,22 +1,18 @@
ChainID = '80084'
-FinalityDepth = 1
-LogPollInterval = '1s'
-NoNewHeadsThreshold = '30s'
-RPCBlockQueryDelay = 10
-RPCDefaultBatchSize = 100
-NoNewFinalizedHeadsThreshold = '12m'
+# finality_depth: instant
+FinalityDepth = 10
+# block_time: 5s
+LogPollInterval = '10s'
-[Transactions]
-MaxQueued = 5000
+FinalityTagEnabled = true
[GasEstimator]
+EIP1559DynamicFees = true
Mode = 'FeeHistory'
-# The FeeHistory estimator does not enforce PriceMin, setting it to 0 to not place any limits on the price
-PriceMin = '0'
-BumpPercent = 40
-[HeadTracker]
-HistoryDepth = 2000
+[GasEstimator.FeeHistory]
+# block_time was: 5s
+CacheTimeout = '5s'
-[NodePool]
-SyncThreshold = 10
\ No newline at end of file
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
index 7495e28ca15..798b1ef23da 100644
--- a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
@@ -1,33 +1,23 @@
ChainID = '1301'
-# copied entirely from Optimism_Sepolia.toml
-
+# OP stack: https://docs.unichain.org/docs/getting-started/set-up-a-node#overview
ChainType = 'optimismBedrock'
-FinalityDepth = 1
-FinalityTagEnabled = false
-LogPollInterval = '2s'
-NoNewHeadsThreshold = '40s'
-MinIncomingConfirmations = 1
-NoNewFinalizedHeadsThreshold = '15m'
+# finality_depth was: ~1900
+FinalityDepth = 2000
+# block_time was: ~1s
+LogPollInterval = '5s'
-[GasEstimator]
-EIP1559DynamicFees = true
-PriceMin = '1 wei'
-BumpMin = '100 wei'
-
-[GasEstimator.BlockHistory]
-BlockHistorySize = 60
+# finality_depth * block_time / 60 secs = ~33 min (finality time)
+NoNewFinalizedHeadsThreshold = '35m'
-[Transactions]
-ResendAfterThreshold = '30s'
+FinalityTagEnabled = true
-[HeadTracker]
-HistoryDepth = 300
-
-[NodePool]
-SyncThreshold = 10
+[GasEstimator]
+EIP1559DynamicFees = true
+Mode = 'FeeHistory'
-[OCR]
-ContractConfirmations = 1
+[GasEstimator.FeeHistory]
+# block_time was: 1s
+CacheTimeout = '1s'
-[OCR2.Automation]
-GasLimit = 6500000
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
index e54d17934be..e8dbc5d5fce 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
@@ -6,7 +6,8 @@ FinalityDepth = 2500
# block_time was: 2s
LogPollInterval = '5s'
-NoNewFinalizedHeadsThreshold = '10m'
+# finality_depth * block_time / 60 secs = ~83 min (finality time)
+NoNewFinalizedHeadsThreshold = '90m'
FinalityTagEnabled = true
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
index b7cdfb225e6..4bceb5fe8c5 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
@@ -1,35 +1,23 @@
-ChainID = "4801"
-# copied entirely from Optimism_Sepolia.toml
-# OP Stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
+ChainID = '4801'
+# OP stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
+ChainType = 'optimismBedrock'
+# finality_depth was: ~2400
+FinalityDepth = 2500
+# block_time was: 2s
+LogPollInterval = '5s'
-ChainType = "optimismBedrock"
-FinalityDepth = 1
-FinalityTagEnabled = false
-LogPollInterval = "2s"
-NoNewHeadsThreshold = "40s"
-MinIncomingConfirmations = 1
-NoNewFinalizedHeadsThreshold = "15m"
+# finality_depth * block_time / 60 secs = ~83 min (finality time)
+NoNewFinalizedHeadsThreshold = '90m'
+
+FinalityTagEnabled = true
[GasEstimator]
EIP1559DynamicFees = true
-PriceMin = "1 wei"
-BumpMin = "100 wei"
-
-[GasEstimator.BlockHistory]
-BlockHistorySize = 60
-
-[Transactions]
-ResendAfterThreshold = "30s"
+Mode = 'FeeHistory'
-[HeadTracker]
-HistoryDepth = 300
+[GasEstimator.FeeHistory]
+# block_time was: 2s
+CacheTimeout = '2s'
-[NodePool]
-SyncThreshold = 10
-
-[OCR]
-ContractConfirmations = 1
-
-
-[OCR2.Automation]
-GasLimit = 6500000
+[GasEstimator.BlockHistory]
+BlockHistorySize = 100
\ No newline at end of file
From 273ffd68629dd926cf35037496a0e2c2f6ff6abe Mon Sep 17 00:00:00 2001
From: davidcauchi
Date: Tue, 5 Nov 2024 18:42:08 +0100
Subject: [PATCH 03/17] Add oracle config
---
.../chains/evm/config/toml/defaults/BOB_Mainnet.toml | 6 +++++-
.../chains/evm/config/toml/defaults/BOB_Testnet.toml | 4 ++++
.../evm/config/toml/defaults/Bsquared_Mainnet.toml | 6 +++++-
.../evm/config/toml/defaults/Bsquared_Testnet.toml | 12 ++++++++----
.../evm/config/toml/defaults/Unichain_Testnet.toml | 8 ++++++--
.../evm/config/toml/defaults/Worldchain_Mainnet.toml | 12 ++++++++----
.../evm/config/toml/defaults/Worldchain_Testnet.toml | 12 ++++++++----
7 files changed, 44 insertions(+), 16 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
index 9940d0f6c91..c5f4ab44498 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -4,7 +4,7 @@ ChainType = 'optimismBedrock'
# finality_depth was: ~850
FinalityDepth = 900
# block_time was: 2s
-LogPollInterval = '5s'
+LogPollInterval = '5s'
# finality_depth * block_time / 60 secs = ~30 min (finality time)
NoNewFinalizedHeadsThreshold = '35m'
@@ -21,3 +21,7 @@ CacheTimeout = '2s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
index 35c4c99837b..8edd8805024 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -21,3 +21,7 @@ CacheTimeout = '2s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
index b70a569d27f..32965f3b150 100644
--- a/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
@@ -20,4 +20,8 @@ Mode = 'FeeHistory'
CacheTimeout = '2s'
[GasEstimator.BlockHistory]
-BlockHistorySize = 100
\ No newline at end of file
+BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
\ No newline at end of file
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
index 6a00ac9467a..24aa934bb0d 100644
--- a/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
@@ -4,12 +4,12 @@ ChainType = 'optimismBedrock'
# finality_depth was: ~1900
FinalityDepth = 2000
# block_time: ~2s
-LogPollInterval = '5s'
+LogPollInterval = '5s'
# finality_depth * block_time / 60 secs = ~66 min (finality time)
-NoNewFinalizedHeadsThreshold = '70m'
+NoNewFinalizedHeadsThreshold = '70m'
-FinalityTagEnabled = true
+FinalityTagEnabled = true
[GasEstimator]
EIP1559DynamicFees = true
@@ -20,4 +20,8 @@ Mode = 'FeeHistory'
CacheTimeout = '2s'
[GasEstimator.BlockHistory]
-BlockHistorySize = 100
\ No newline at end of file
+BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
diff --git a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
index 798b1ef23da..c993a987ca3 100644
--- a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
@@ -4,7 +4,7 @@ ChainType = 'optimismBedrock'
# finality_depth was: ~1900
FinalityDepth = 2000
# block_time was: ~1s
-LogPollInterval = '5s'
+LogPollInterval = '5s'
# finality_depth * block_time / 60 secs = ~33 min (finality time)
NoNewFinalizedHeadsThreshold = '35m'
@@ -20,4 +20,8 @@ Mode = 'FeeHistory'
CacheTimeout = '1s'
[GasEstimator.BlockHistory]
-BlockHistorySize = 100
\ No newline at end of file
+BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
index e8dbc5d5fce..9170eab4ec0 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
@@ -2,14 +2,14 @@ ChainID = '480'
# OP stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
ChainType = 'optimismBedrock'
# finality_depth was: ~2400
-FinalityDepth = 2500
+FinalityDepth = 2500
# block_time was: 2s
-LogPollInterval = '5s'
+LogPollInterval = '5s'
# finality_depth * block_time / 60 secs = ~83 min (finality time)
NoNewFinalizedHeadsThreshold = '90m'
-FinalityTagEnabled = true
+FinalityTagEnabled = true
[GasEstimator]
EIP1559DynamicFees = true
@@ -20,4 +20,8 @@ Mode = 'FeeHistory'
CacheTimeout = '2s'
[GasEstimator.BlockHistory]
-BlockHistorySize = 100
\ No newline at end of file
+BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
index 4bceb5fe8c5..f125022a6c6 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
@@ -2,14 +2,14 @@ ChainID = '4801'
# OP stack: https://worldcoin.notion.site/World-Chain-Developer-Preview-Guide-23c94a67683f4e71986e5303ab88c9f3
ChainType = 'optimismBedrock'
# finality_depth was: ~2400
-FinalityDepth = 2500
+FinalityDepth = 2500
# block_time was: 2s
-LogPollInterval = '5s'
+LogPollInterval = '5s'
# finality_depth * block_time / 60 secs = ~83 min (finality time)
NoNewFinalizedHeadsThreshold = '90m'
-FinalityTagEnabled = true
+FinalityTagEnabled = true
[GasEstimator]
EIP1559DynamicFees = true
@@ -20,4 +20,8 @@ Mode = 'FeeHistory'
CacheTimeout = '2s'
[GasEstimator.BlockHistory]
-BlockHistorySize = 100
\ No newline at end of file
+BlockHistorySize = 100
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
From 13f606e73050afaafc01c28f9e855af912975c80 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Wed, 6 Nov 2024 11:06:47 -0300
Subject: [PATCH 04/17] adding changes from Friedemann and Simson
---
core/chains/evm/config/toml/defaults/Berachain_Testnet.toml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
index d86cf99bb30..5f37e8e5034 100644
--- a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -4,6 +4,10 @@ FinalityDepth = 10
# block_time: 5s
LogPollInterval = '10s'
+# finality_depth * block_time / 60 secs = ~0.8 min (finality time)
+NoNewFinalizedHeadsThreshold = '5m'
+
+
FinalityTagEnabled = true
[GasEstimator]
From e45bc204c7d242e9b85f6a028e0b968e2c76161c Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Wed, 6 Nov 2024 12:14:34 -0300
Subject: [PATCH 05/17] adding new 'math'/algorithm to calculate
NoNewFinalizedHeadsThreshold for Unichain as it has discrepancies with the
data obtained from the compat tests and current testnet values
---
core/chains/evm/config/toml/defaults/Unichain_Testnet.toml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
index c993a987ca3..a1d7602bc3a 100644
--- a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
@@ -6,8 +6,9 @@ FinalityDepth = 2000
# block_time was: ~1s
LogPollInterval = '5s'
-# finality_depth * block_time / 60 secs = ~33 min (finality time)
-NoNewFinalizedHeadsThreshold = '35m'
+# batching_size_finalization_percentage = 30% according to the explorer batching view
+# ( batching_size_finalization_percentage * finality_depth) * block_time / 60 secs = ~33 min (finality time)
+NoNewFinalizedHeadsThreshold = '10m'
FinalityTagEnabled = true
From aadad4f1b548af59a67bf53b28d8057aff7aa4a1 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Wed, 6 Nov 2024 12:23:15 -0300
Subject: [PATCH 06/17] adding changeset
---
.changeset/eight-tigers-march.md | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 .changeset/eight-tigers-march.md
diff --git a/.changeset/eight-tigers-march.md b/.changeset/eight-tigers-march.md
new file mode 100644
index 00000000000..b7fd3eba7dc
--- /dev/null
+++ b/.changeset/eight-tigers-march.md
@@ -0,0 +1,5 @@
+---
+"chainlink": patch
+---
+
+Adding 5 chains (B^2, BoB, Berachain, Unichain, Worldchain configs and error mapping for berachain)
From 24f85323222a4cc1cd5de7f5357845824f810634 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Wed, 6 Nov 2024 15:06:41 -0300
Subject: [PATCH 07/17] removing error mappings to berachain
---
core/chains/evm/client/errors.go | 6 +-----
core/chains/evm/client/errors_test.go | 2 --
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/core/chains/evm/client/errors.go b/core/chains/evm/client/errors.go
index bfe6485c211..d47d97660b1 100644
--- a/core/chains/evm/client/errors.go
+++ b/core/chains/evm/client/errors.go
@@ -268,10 +268,6 @@ var mantle = ClientErrors{
NonceTooLow: regexp.MustCompile(`(: |^)'*nonce too low`),
}
-var berachain = ClientErrors{
- Fatal: regexp.MustCompile(`(: |^)'*invalid chain ID`),
-}
-
var hederaFatal = regexp.MustCompile(`(: |^)(execution reverted)(:|$) | ^Transaction gas limit '(\d+)' exceeds block gas limit '(\d+)' | ^Transaction gas limit provided '(\d+)' is insufficient of intrinsic gas required '(\d+)' | ^Oversized data:|status INVALID_SIGNATURE`)
var hedera = ClientErrors{
NonceTooLow: regexp.MustCompile(`Nonce too low`),
@@ -293,7 +289,7 @@ var internal = ClientErrors{
TerminallyStuck: regexp.MustCompile(TerminallyStuckMsg),
}
-var clients = []ClientErrors{parity, geth, arbitrum, metis, substrate, avalanche, nethermind, harmony, besu, erigon, klaytn, celo, zkSync, zkEvm, treasure, mantle, berachain, aStar, hedera, gnosis, internal}
+var clients = []ClientErrors{parity, geth, arbitrum, metis, substrate, avalanche, nethermind, harmony, besu, erigon, klaytn, celo, zkSync, zkEvm, treasure, mantle, aStar, hedera, gnosis, internal}
// ClientErrorRegexes returns a map of compiled regexes for each error type
func ClientErrorRegexes(errsRegex config.ClientErrors) *ClientErrors {
diff --git a/core/chains/evm/client/errors_test.go b/core/chains/evm/client/errors_test.go
index aaefb6fd7a6..226f4cef7c9 100644
--- a/core/chains/evm/client/errors_test.go
+++ b/core/chains/evm/client/errors_test.go
@@ -422,8 +422,6 @@ func Test_Eth_Errors_Fatal(t *testing.T) {
{"failed to forward tx to sequencer, please try again. Error message: 'invalid sender'", true, "Mantle"},
- {"invalid chain ID", true, "Berachain"},
-
{"client error fatal", true, "tomlConfig"},
{"[Request ID: d9711488-4c1e-4af2-bc1f-7969913d7b60] Error invoking RPC: transaction 0.0.4425573@1718213476.914320044 failed precheck with status INVALID_SIGNATURE", true, "hedera"},
{"invalid chain id for signer", true, "Treasure"},
From 773fc93b2d76275344429b8344da5e788f000f77 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 7 Nov 2024 12:52:21 -0300
Subject: [PATCH 08/17] changeset missing tag
---
.changeset/eight-tigers-march.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.changeset/eight-tigers-march.md b/.changeset/eight-tigers-march.md
index b7fd3eba7dc..611628f2ef6 100644
--- a/.changeset/eight-tigers-march.md
+++ b/.changeset/eight-tigers-march.md
@@ -2,4 +2,4 @@
"chainlink": patch
---
-Adding 5 chains (B^2, BoB, Berachain, Unichain, Worldchain configs and error mapping for berachain)
+#added Adding 5 chains (B^2, BoB, Berachain, Unichain, Worldchain configs)
From 3adb84fa3682c3d7d0d5d78279626011be50917f Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 7 Nov 2024 13:33:40 -0300
Subject: [PATCH 09/17] dead link, update
---
core/chains/evm/config/toml/defaults/BOB_Mainnet.toml | 2 +-
core/chains/evm/config/toml/defaults/BOB_Testnet.toml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
index c5f4ab44498..0e148f19bec 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -1,5 +1,5 @@
ChainID = '60808'
-# OP stack https://docs.gobob.xyz/learn/introduction/op-stack
+# OP stack https://docs.gobob.xyz/learn/introduction/stack-overview#rollup-layer
ChainType = 'optimismBedrock'
# finality_depth was: ~850
FinalityDepth = 900
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
index 8edd8805024..f407c6fa28d 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -1,5 +1,5 @@
ChainID = '808813'
-# OP stack https://docs.gobob.xyz/learn/introduction/op-stack
+# OP stack https://docs.gobob.xyz/learn/introduction/stack-overview#rollup-layer
ChainType = 'optimismBedrock'
# finality_depth was: ~850
FinalityDepth = 900
From dc0b95d80a096cbf2a0b433511dd19cd5c48619d Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 7 Nov 2024 14:47:58 -0300
Subject: [PATCH 10/17] adding config docs
---
docs/CONFIG.md | 1119 ++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 989 insertions(+), 130 deletions(-)
diff --git a/docs/CONFIG.md b/docs/CONFIG.md
index ae22482951b..54330236526 100644
--- a/docs/CONFIG.md
+++ b/docs/CONFIG.md
@@ -3732,6 +3732,114 @@ GasLimitDefault = 400000
+Bsquared Mainnet (223)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 2000
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '5s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '3m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '1h10m0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 100
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
Fantom Mainnet (250)
```toml
@@ -4582,6 +4690,114 @@ GasLimitDefault = 400000
+Worldchain Mainnet (480)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 2500
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '5s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '3m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '1h30m0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 100
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
Metis Rinkeby (588)
```toml
@@ -5205,36 +5421,37 @@ GasLimitDefault = 400000
-Simulated (1337)
+Bsquared Testnet (1123)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 10
-FinalityTagEnabled = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 2000
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '15s'
+LogPollInterval = '5s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 1
-MinContractPayment = '100'
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '0s'
+NoNewFinalizedHeadsThreshold = '1h10m0s'
[Transactions]
ForwardersEnabled = false
MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
-ReaperThreshold = '0s'
-ResendAfterThreshold = '0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
Enabled = false
@@ -5243,10 +5460,10 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'FixedPrice'
+Mode = 'FeeHistory'
PriceDefault = '20 gwei'
-PriceMax = '100 micro'
-PriceMin = '0'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
@@ -5254,26 +5471,30 @@ LimitTransfer = 21000
EstimateLimit = false
BumpMin = '5 gwei'
BumpPercent = 20
-BumpThreshold = 0
-EIP1559DynamicFees = false
-FeeCapDefault = '100 micro'
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 100
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '10s'
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
[HeadTracker]
-HistoryDepth = 10
-MaxBufferSize = 100
-SamplingInterval = '0s'
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
FinalityTagBypass = true
PersistenceEnabled = true
@@ -5291,7 +5512,7 @@ DeathDeclarationDelay = '10s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -5308,22 +5529,233 @@ GasLimitDefault = 400000
-Soneium Sepolia (1946)
+Unichain Testnet (1301)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'optimismBedrock'
-FinalityDepth = 200
+FinalityDepth = 2000
FinalityTagEnabled = true
-LinkContractAddress = '0x7ea13478Ea3961A0e8b538cb05a9DF0477c79Cd2'
LogBackfillBatchSize = 1000
-LogPollInterval = '2s'
+LogPollInterval = '5s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 1
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '3m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '10m0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 100
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '1s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+Simulated (1337)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+FinalityDepth = 10
+FinalityTagEnabled = false
+LogBackfillBatchSize = 1000
+LogPollInterval = '15s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
+MinContractPayment = '100'
+NonceAutoSync = true
+NoNewHeadsThreshold = '0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '0s'
+ResendAfterThreshold = '0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FixedPrice'
+PriceDefault = '20 gwei'
+PriceMax = '100 micro'
+PriceMin = '0'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 0
+EIP1559DynamicFees = false
+FeeCapDefault = '100 micro'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 8
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[HeadTracker]
+HistoryDepth = 10
+MaxBufferSize = 100
+SamplingInterval = '0s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+Soneium Sepolia (1946)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 200
+FinalityTagEnabled = true
+LinkContractAddress = '0x7ea13478Ea3961A0e8b538cb05a9DF0477c79Cd2'
+LogBackfillBatchSize = 1000
+LogPollInterval = '2s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
NoNewHeadsThreshold = '40s'
@@ -5542,10 +5974,114 @@ BackupLogPollerBlockDelay = 100
MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '12m0s'
+NoNewHeadsThreshold = '12m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 100
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '3m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '0'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 40
+BumpThreshold = 3
+EIP1559DynamicFees = false
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 8
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '4s'
+
+[HeadTracker]
+HistoryDepth = 2000
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+Fantom Testnet (4002)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+FinalityDepth = 50
+FinalityTagEnabled = false
+LinkContractAddress = '0xfaFedb041c0DD4fA2Dc0d87a6B0979Ee6FA7af5F'
+LogBackfillBatchSize = 1000
+LogPollInterval = '1s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '0s'
LogBroadcasterEnabled = true
-RPCDefaultBatchSize = 100
-RPCBlockQueryDelay = 1
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 2
FinalizedBlockOffset = 0
NoNewFinalizedHeadsThreshold = '0s'
@@ -5555,7 +6091,7 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
Enabled = false
@@ -5564,17 +6100,17 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'FeeHistory'
+Mode = 'SuggestedPrice'
PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '0'
+PriceMin = '1 gwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
BumpMin = '5 gwei'
-BumpPercent = 40
+BumpPercent = 20
BumpThreshold = 3
EIP1559DynamicFees = false
FeeCapDefault = '100 gwei'
@@ -5589,10 +6125,10 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '4s'
+CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 2000
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -5612,7 +6148,7 @@ DeathDeclarationDelay = '10s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -5621,7 +6157,7 @@ ObservationGracePeriod = '1s'
[OCR2]
[OCR2.Automation]
-GasLimit = 5400000
+GasLimit = 3800000
[Workflow]
GasLimitDefault = 400000
@@ -5629,29 +6165,29 @@ GasLimitDefault = 400000
-Fantom Testnet (4002)
+Worldchain Testnet (4801)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 50
-FinalityTagEnabled = false
-LinkContractAddress = '0xfaFedb041c0DD4fA2Dc0d87a6B0979Ee6FA7af5F'
+ChainType = 'optimismBedrock'
+FinalityDepth = 2500
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '1s'
+LogPollInterval = '5s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
-RPCBlockQueryDelay = 2
+RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '0s'
+NoNewFinalizedHeadsThreshold = '1h30m0s'
[Transactions]
ForwardersEnabled = false
@@ -5668,7 +6204,7 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'SuggestedPrice'
+Mode = 'FeeHistory'
PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
PriceMin = '1 gwei'
@@ -5680,20 +6216,24 @@ EstimateLimit = false
BumpMin = '5 gwei'
BumpPercent = 20
BumpThreshold = 3
-EIP1559DynamicFees = false
+EIP1559DynamicFees = true
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 100
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '10s'
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
[HeadTracker]
HistoryDepth = 100
@@ -5725,7 +6265,7 @@ ObservationGracePeriod = '1s'
[OCR2]
[OCR2.Automation]
-GasLimit = 3800000
+GasLimit = 5400000
[Workflow]
GasLimitDefault = 400000
@@ -6968,12 +7508,218 @@ TransactionPercentile = 60
[GasEstimator.FeeHistory]
CacheTimeout = '10s'
-[GasEstimator.DAOracle]
-OracleType = 'opstack'
-OracleAddress = '0x420000000000000000000000000000000000000F'
-
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
+
+[HeadTracker]
+HistoryDepth = 2000
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 10
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 6500000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+Linea Goerli (59140)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+FinalityDepth = 15
+FinalityTagEnabled = false
+LogBackfillBatchSize = 1000
+LogPollInterval = '15s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '3m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 40
+BumpThreshold = 3
+EIP1559DynamicFees = false
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 8
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+Linea Sepolia (59141)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+FinalityDepth = 900
+FinalityTagEnabled = false
+LogBackfillBatchSize = 1000
+LogPollInterval = '15s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '3m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 wei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 8
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
[HeadTracker]
-HistoryDepth = 2000
+HistoryDepth = 1000
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -6984,7 +7730,7 @@ PersistenceEnabled = true
PollFailureThreshold = 5
PollInterval = '10s'
SelectionMode = 'HighestHead'
-SyncThreshold = 10
+SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -6993,7 +7739,7 @@ DeathDeclarationDelay = '10s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7002,7 +7748,7 @@ ObservationGracePeriod = '1s'
[OCR2]
[OCR2.Automation]
-GasLimit = 6500000
+GasLimit = 5400000
[Workflow]
GasLimitDefault = 400000
@@ -7010,13 +7756,13 @@ GasLimitDefault = 400000
-Linea Goerli (59140)
+Linea Mainnet (59144)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 15
+FinalityDepth = 300
FinalityTagEnabled = false
LogBackfillBatchSize = 1000
LogPollInterval = '15s'
@@ -7051,7 +7797,7 @@ Enabled = true
Mode = 'BlockHistory'
PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '1 gwei'
+PriceMin = '400 mwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
@@ -7076,7 +7822,7 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 100
+HistoryDepth = 350
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7113,20 +7859,21 @@ GasLimitDefault = 400000
-Linea Sepolia (59141)
+Metis Sepolia (59902)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 900
-FinalityTagEnabled = false
+ChainType = 'metis'
+FinalityDepth = 10
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '15s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 3
+MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
NoNewHeadsThreshold = '0s'
@@ -7142,7 +7889,7 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
Enabled = false
@@ -7151,10 +7898,10 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'BlockHistory'
+Mode = 'SuggestedPrice'
PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '1 wei'
+PriceMin = '0'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
@@ -7163,14 +7910,14 @@ EstimateLimit = false
BumpMin = '5 gwei'
BumpPercent = 20
BumpThreshold = 3
-EIP1559DynamicFees = true
+EIP1559DynamicFees = false
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 0
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
@@ -7179,7 +7926,7 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 1000
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7190,7 +7937,7 @@ PersistenceEnabled = true
PollFailureThreshold = 5
PollInterval = '10s'
SelectionMode = 'HighestHead'
-SyncThreshold = 5
+SyncThreshold = 10
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -7199,7 +7946,7 @@ DeathDeclarationDelay = '10s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 4
+ContractConfirmations = 1
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7216,28 +7963,29 @@ GasLimitDefault = 400000
-Linea Mainnet (59144)
+BOB Mainnet (60808)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 300
-FinalityTagEnabled = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 900
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '15s'
+LogPollInterval = '5s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '0s'
+NoNewFinalizedHeadsThreshold = '35m0s'
[Transactions]
ForwardersEnabled = false
@@ -7245,7 +7993,7 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
Enabled = false
@@ -7254,35 +8002,39 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'BlockHistory'
+Mode = 'FeeHistory'
PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '400 mwei'
+PriceMin = '1 gwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
BumpMin = '5 gwei'
-BumpPercent = 40
+BumpPercent = 20
BumpThreshold = 3
-EIP1559DynamicFees = false
+EIP1559DynamicFees = true
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 100
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '10s'
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
[HeadTracker]
-HistoryDepth = 350
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7319,34 +8071,34 @@ GasLimitDefault = 400000
-Metis Sepolia (59902)
+Polygon Mumbai (80001)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-ChainType = 'metis'
-FinalityDepth = 10
-FinalityTagEnabled = true
+FinalityDepth = 500
+FinalityTagEnabled = false
+LinkContractAddress = '0x326C977E6efc84E512bB9C30f76E30c160eD06FB'
LogBackfillBatchSize = 1000
-LogPollInterval = '15s'
+LogPollInterval = '1s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 1
+MinIncomingConfirmations = 5
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '30s'
LogBroadcasterEnabled = true
-RPCDefaultBatchSize = 250
-RPCBlockQueryDelay = 1
+RPCDefaultBatchSize = 100
+RPCBlockQueryDelay = 10
FinalizedBlockOffset = 0
NoNewFinalizedHeadsThreshold = '0s'
[Transactions]
ForwardersEnabled = false
MaxInFlight = 16
-MaxQueued = 250
+MaxQueued = 5000
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
ResendAfterThreshold = '1m0s'
@@ -7358,18 +8110,18 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'SuggestedPrice'
-PriceDefault = '20 gwei'
+Mode = 'BlockHistory'
+PriceDefault = '25 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '0'
+PriceMin = '25 gwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
-BumpMin = '5 gwei'
+BumpMin = '20 gwei'
BumpPercent = 20
-BumpThreshold = 3
+BumpThreshold = 5
EIP1559DynamicFees = false
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
@@ -7377,7 +8129,7 @@ TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 0
+BlockHistorySize = 24
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
@@ -7386,7 +8138,7 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 100
+HistoryDepth = 2000
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7406,7 +8158,7 @@ DeathDeclarationDelay = '10s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7423,7 +8175,7 @@ GasLimitDefault = 400000
-Polygon Mumbai (80001)
+Polygon Amoy (80002)
```toml
AutoCreateKey = true
@@ -7431,7 +8183,6 @@ BlockBackfillDepth = 10
BlockBackfillSkip = false
FinalityDepth = 500
FinalityTagEnabled = false
-LinkContractAddress = '0x326C977E6efc84E512bB9C30f76E30c160eD06FB'
LogBackfillBatchSize = 1000
LogPollInterval = '1s'
LogKeepBlocksDepth = 100000
@@ -7445,7 +8196,7 @@ LogBroadcasterEnabled = true
RPCDefaultBatchSize = 100
RPCBlockQueryDelay = 10
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '0s'
+NoNewFinalizedHeadsThreshold = '12m0s'
[Transactions]
ForwardersEnabled = false
@@ -7474,7 +8225,7 @@ EstimateLimit = false
BumpMin = '20 gwei'
BumpPercent = 20
BumpThreshold = 5
-EIP1559DynamicFees = false
+EIP1559DynamicFees = true
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
@@ -7527,33 +8278,33 @@ GasLimitDefault = 400000
-Polygon Amoy (80002)
+Berachain Testnet (80084)
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 500
-FinalityTagEnabled = false
+FinalityDepth = 10
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '1s'
+LogPollInterval = '10s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 5
+MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '30s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
-RPCDefaultBatchSize = 100
-RPCBlockQueryDelay = 10
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '12m0s'
+NoNewFinalizedHeadsThreshold = '5m0s'
[Transactions]
ForwardersEnabled = false
MaxInFlight = 16
-MaxQueued = 5000
+MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
ResendAfterThreshold = '1m0s'
@@ -7565,18 +8316,18 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'BlockHistory'
-PriceDefault = '25 gwei'
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '25 gwei'
+PriceMin = '1 gwei'
LimitDefault = 500000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
-BumpMin = '20 gwei'
+BumpMin = '5 gwei'
BumpPercent = 20
-BumpThreshold = 5
+BumpThreshold = 3
EIP1559DynamicFees = true
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
@@ -7584,16 +8335,16 @@ TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 24
+BlockHistorySize = 100
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '10s'
+CacheTimeout = '5s'
[HeadTracker]
-HistoryDepth = 2000
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7604,7 +8355,7 @@ PersistenceEnabled = true
PollFailureThreshold = 5
PollInterval = '10s'
SelectionMode = 'HighestHead'
-SyncThreshold = 10
+SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -8385,6 +9136,114 @@ GasLimitDefault = 400000
+BOB Testnet (808813)
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 900
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '5s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 3
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '3m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '35m0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'FeeHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '1 gwei'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = true
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 100
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '2s'
+
+[GasEstimator.DAOracle]
+OracleType = 'opstack'
+OracleAddress = '0x420000000000000000000000000000000000000F'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = true
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = false
+DeathDeclarationDelay = '10s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
Ethereum Sepolia (11155111)
```toml
From fe952c0ae76ed0a8cb2c463f181211be59e5a2cd Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 7 Nov 2024 22:43:03 -0300
Subject: [PATCH 11/17] changing berachain to not honor the finality tag due to
possible re-orgs at depth 1
---
core/chains/evm/config/toml/defaults/Berachain_Testnet.toml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
index 5f37e8e5034..1014b7b8bfc 100644
--- a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -7,9 +7,6 @@ LogPollInterval = '10s'
# finality_depth * block_time / 60 secs = ~0.8 min (finality time)
NoNewFinalizedHeadsThreshold = '5m'
-
-FinalityTagEnabled = true
-
[GasEstimator]
EIP1559DynamicFees = true
Mode = 'FeeHistory'
From 845a5ca616ad9f974316819cc29102da783307d9 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 7 Nov 2024 22:48:32 -0300
Subject: [PATCH 12/17] forgot make config-docs command
---
docs/CONFIG.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/CONFIG.md b/docs/CONFIG.md
index 54330236526..907c34de4c5 100644
--- a/docs/CONFIG.md
+++ b/docs/CONFIG.md
@@ -8285,7 +8285,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
FinalityDepth = 10
-FinalityTagEnabled = true
+FinalityTagEnabled = false
LogBackfillBatchSize = 1000
LogPollInterval = '10s'
LogKeepBlocksDepth = 100000
From 0b943401d6efa975e13ae9dc84e1ba3f0b4b2ab5 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Tue, 12 Nov 2024 13:50:49 -0300
Subject: [PATCH 13/17] SHIP-3990: improving working configs
---
.../evm/config/toml/defaults/BOB_Mainnet.toml | 8 ++++----
.../evm/config/toml/defaults/BOB_Testnet.toml | 8 ++++----
.../config/toml/defaults/Berachain_Testnet.toml | 8 ++++----
.../evm/config/toml/defaults/Bsquared_Mainnet.toml | 8 ++++----
.../evm/config/toml/defaults/Bsquared_Testnet.toml | 8 ++++----
.../evm/config/toml/defaults/Unichain_Testnet.toml | 14 ++++++++------
.../config/toml/defaults/Worldchain_Mainnet.toml | 8 ++++----
.../config/toml/defaults/Worldchain_Testnet.toml | 8 ++++----
8 files changed, 36 insertions(+), 34 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
index 0e148f19bec..f6a14df5b9b 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -3,8 +3,8 @@ ChainID = '60808'
ChainType = 'optimismBedrock'
# finality_depth was: ~850
FinalityDepth = 900
-# block_time was: 2s
-LogPollInterval = '5s'
+# block_time was: 2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~30 min (finality time)
NoNewFinalizedHeadsThreshold = '35m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
index f407c6fa28d..0ba35cee0a4 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -3,8 +3,8 @@ ChainID = '808813'
ChainType = 'optimismBedrock'
# finality_depth was: ~850
FinalityDepth = 900
-# block_time was: 2s
-LogPollInterval = '5s'
+# block_time was: 2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~30 min (finality time)
NoNewFinalizedHeadsThreshold = '35m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
index 1014b7b8bfc..fbb13d926d7 100644
--- a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -1,8 +1,8 @@
ChainID = '80084'
# finality_depth: instant
FinalityDepth = 10
-# block_time: 5s
-LogPollInterval = '10s'
+# block_time: 5s, adding 1 second buffer
+LogPollInterval = '1s'
# finality_depth * block_time / 60 secs = ~0.8 min (finality time)
NoNewFinalizedHeadsThreshold = '5m'
@@ -12,8 +12,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 5s
-CacheTimeout = '5s'
+# block_time was: 5s, per recommendation skip 1-2 blocks
+CacheTimeout = '10s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
index 32965f3b150..82fb4567771 100644
--- a/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Mainnet.toml
@@ -3,8 +3,8 @@ ChainID = '223'
ChainType = 'optimismBedrock'
# finality_depth was: ~1900
FinalityDepth = 2000
-# block_time: ~2s
-LogPollInterval = '5s'
+# block_time: ~2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~66 min (finality time)
NoNewFinalizedHeadsThreshold = '70m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
index 24aa934bb0d..925ef6bea89 100644
--- a/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Bsquared_Testnet.toml
@@ -3,8 +3,8 @@ ChainID = '1123'
ChainType = 'optimismBedrock'
# finality_depth was: ~1900
FinalityDepth = 2000
-# block_time: ~2s
-LogPollInterval = '5s'
+# block_time: ~2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~66 min (finality time)
NoNewFinalizedHeadsThreshold = '70m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
index a1d7602bc3a..6754f49a569 100644
--- a/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Unichain_Testnet.toml
@@ -3,12 +3,13 @@ ChainID = '1301'
ChainType = 'optimismBedrock'
# finality_depth was: ~1900
FinalityDepth = 2000
-# block_time was: ~1s
-LogPollInterval = '5s'
+# block_time was: ~1s, adding 1 second buffer
+LogPollInterval = '2s'
# batching_size_finalization_percentage = 30% according to the explorer batching view
-# ( batching_size_finalization_percentage * finality_depth) * block_time / 60 secs = ~33 min (finality time)
-NoNewFinalizedHeadsThreshold = '10m'
+# ( batching_size_finalization_percentage * finality_depth) * block_time / 60 secs = ~10 min (finality time)
+# After running soak tests using 10m threw issues as there are batchs that take 35m, so we are bumping it to 45m to be sure
+NoNewFinalizedHeadsThreshold = '45m'
FinalityTagEnabled = true
@@ -17,10 +18,11 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 1s
-CacheTimeout = '1s'
+# block_time was: 1s, per recommendation skip 1-2 blocks
+CacheTimeout = '2s'
[GasEstimator.BlockHistory]
+# As we see blocks containing between ~[8-12]tx, to get about ~1000 tx to check we would need to rougly go 100 tx back
BlockHistorySize = 100
[GasEstimator.DAOracle]
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
index 9170eab4ec0..24647e19fd6 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Mainnet.toml
@@ -3,8 +3,8 @@ ChainID = '480'
ChainType = 'optimismBedrock'
# finality_depth was: ~2400
FinalityDepth = 2500
-# block_time was: 2s
-LogPollInterval = '5s'
+# block_time was: 2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~83 min (finality time)
NoNewFinalizedHeadsThreshold = '90m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
diff --git a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
index f125022a6c6..293584bb6ca 100644
--- a/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Worldchain_Testnet.toml
@@ -3,8 +3,8 @@ ChainID = '4801'
ChainType = 'optimismBedrock'
# finality_depth was: ~2400
FinalityDepth = 2500
-# block_time was: 2s
-LogPollInterval = '5s'
+# block_time was: 2s, adding 1 second buffer
+LogPollInterval = '3s'
# finality_depth * block_time / 60 secs = ~83 min (finality time)
NoNewFinalizedHeadsThreshold = '90m'
@@ -16,8 +16,8 @@ EIP1559DynamicFees = true
Mode = 'FeeHistory'
[GasEstimator.FeeHistory]
-# block_time was: 2s
-CacheTimeout = '2s'
+# block_time was: 2s, per recommendation skip 1-2 blocks
+CacheTimeout = '4s'
[GasEstimator.BlockHistory]
BlockHistorySize = 100
From b28bfb45ceadde12898217e385b94e5942edbd70 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Tue, 12 Nov 2024 18:05:13 -0300
Subject: [PATCH 14/17] error in logPollInterval
---
core/chains/evm/config/toml/defaults/Berachain_Testnet.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
index fbb13d926d7..7024d12a99f 100644
--- a/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/Berachain_Testnet.toml
@@ -2,7 +2,7 @@ ChainID = '80084'
# finality_depth: instant
FinalityDepth = 10
# block_time: 5s, adding 1 second buffer
-LogPollInterval = '1s'
+LogPollInterval = '6s'
# finality_depth * block_time / 60 secs = ~0.8 min (finality time)
NoNewFinalizedHeadsThreshold = '5m'
From 54ad9bfb9e59adfb0dddbb4305e9e30704db3163 Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 14 Nov 2024 14:29:07 -0300
Subject: [PATCH 15/17] forgot make config-docs
---
docs/CONFIG.md | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/docs/CONFIG.md b/docs/CONFIG.md
index 907c34de4c5..bb295c819b1 100644
--- a/docs/CONFIG.md
+++ b/docs/CONFIG.md
@@ -3742,7 +3742,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 2000
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -3796,7 +3796,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -4700,7 +4700,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 2500
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -4754,7 +4754,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -5431,7 +5431,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 2000
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -5485,7 +5485,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -5539,7 +5539,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 2000
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '2s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -5551,7 +5551,7 @@ LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '10m0s'
+NoNewFinalizedHeadsThreshold = '45m0s'
[Transactions]
ForwardersEnabled = false
@@ -5593,7 +5593,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '1s'
+CacheTimeout = '2s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -6175,7 +6175,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 2500
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -6229,7 +6229,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -7973,7 +7973,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 900
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -8027,7 +8027,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
@@ -8287,7 +8287,7 @@ BlockBackfillSkip = false
FinalityDepth = 10
FinalityTagEnabled = false
LogBackfillBatchSize = 1000
-LogPollInterval = '10s'
+LogPollInterval = '6s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -8341,7 +8341,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '5s'
+CacheTimeout = '10s'
[HeadTracker]
HistoryDepth = 100
@@ -9146,7 +9146,7 @@ ChainType = 'optimismBedrock'
FinalityDepth = 900
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '5s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
@@ -9200,7 +9200,7 @@ CheckInclusionPercentile = 90
TransactionPercentile = 60
[GasEstimator.FeeHistory]
-CacheTimeout = '2s'
+CacheTimeout = '4s'
[GasEstimator.DAOracle]
OracleType = 'opstack'
From d3c72257b2d9ed9826ff5b6594ce22fe733947fd Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Wed, 20 Nov 2024 16:26:41 -0300
Subject: [PATCH 16/17] BOB fixing finality depth in mainnet
---
core/chains/evm/config/toml/defaults/BOB_Mainnet.toml | 8 ++++----
core/chains/evm/config/toml/defaults/BOB_Testnet.toml | 8 ++++----
docs/CONFIG.md | 8 ++++----
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
index f6a14df5b9b..3211ee9caa7 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Mainnet.toml
@@ -1,13 +1,13 @@
ChainID = '60808'
# OP stack https://docs.gobob.xyz/learn/introduction/stack-overview#rollup-layer
ChainType = 'optimismBedrock'
-# finality_depth was: ~850
-FinalityDepth = 900
+# FinalityDepth in mainnet showed more than 3k
+FinalityDepth = 3150
# block_time was: 2s, adding 1 second buffer
LogPollInterval = '3s'
-# finality_depth * block_time / 60 secs = ~30 min (finality time)
-NoNewFinalizedHeadsThreshold = '35m'
+# finality_depth * block_time / 60 secs = ~105 min (finality time)
+NoNewFinalizedHeadsThreshold = '110m'
FinalityTagEnabled = true
diff --git a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
index 0ba35cee0a4..064137f97c7 100644
--- a/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
+++ b/core/chains/evm/config/toml/defaults/BOB_Testnet.toml
@@ -1,13 +1,13 @@
ChainID = '808813'
# OP stack https://docs.gobob.xyz/learn/introduction/stack-overview#rollup-layer
ChainType = 'optimismBedrock'
-# finality_depth was: ~850
-FinalityDepth = 900
+# FinalityDepth in mainnet showed more than 3k
+FinalityDepth = 3150
# block_time was: 2s, adding 1 second buffer
LogPollInterval = '3s'
-# finality_depth * block_time / 60 secs = ~30 min (finality time)
-NoNewFinalizedHeadsThreshold = '35m'
+# finality_depth * block_time / 60 secs = ~105 min (finality time)
+NoNewFinalizedHeadsThreshold = '110m'
FinalityTagEnabled = true
diff --git a/docs/CONFIG.md b/docs/CONFIG.md
index bb295c819b1..b6af5ed40d5 100644
--- a/docs/CONFIG.md
+++ b/docs/CONFIG.md
@@ -7970,7 +7970,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'optimismBedrock'
-FinalityDepth = 900
+FinalityDepth = 3150
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '3s'
@@ -7985,7 +7985,7 @@ LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '35m0s'
+NoNewFinalizedHeadsThreshold = '1h50m0s'
[Transactions]
ForwardersEnabled = false
@@ -9143,7 +9143,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'optimismBedrock'
-FinalityDepth = 900
+FinalityDepth = 3150
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '3s'
@@ -9158,7 +9158,7 @@ LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '35m0s'
+NoNewFinalizedHeadsThreshold = '1h50m0s'
[Transactions]
ForwardersEnabled = false
From 77991e10a3587655aa38db1a78cce5f75db6aa9c Mon Sep 17 00:00:00 2001
From: Lautaro Fernandez
Date: Thu, 21 Nov 2024 10:10:28 -0300
Subject: [PATCH 17/17] running make config-docs
---
docs/CONFIG.md | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/docs/CONFIG.md b/docs/CONFIG.md
index 8ebb95c1479..30ada2455ca 100644
--- a/docs/CONFIG.md
+++ b/docs/CONFIG.md
@@ -3870,8 +3870,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -4828,8 +4828,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -5560,8 +5560,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -5668,8 +5668,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -6305,8 +6305,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -8107,8 +8107,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -8417,8 +8417,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
@@ -9282,8 +9282,8 @@ SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
-EnforceRepeatableRead = false
-DeathDeclarationDelay = '10s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]