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]