diff --git a/.changeset/wild-ducks-bake.md b/.changeset/wild-ducks-bake.md new file mode 100644 index 00000000000..cf34db81420 --- /dev/null +++ b/.changeset/wild-ducks-bake.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +#internal Added FinalityDepth config where it was missing diff --git a/ccip/config/evm/Astar_Mainnet.toml b/ccip/config/evm/Astar_Mainnet.toml index 87808001eb7..ee2df8c1549 100644 --- a/ccip/config/evm/Astar_Mainnet.toml +++ b/ccip/config/evm/Astar_Mainnet.toml @@ -6,4 +6,9 @@ LogPollInterval = '6s' [GasEstimator] EIP1559DynamicFees = false PriceMax = '100000 gwei' -LimitDefault = 8000000 \ No newline at end of file +LimitDefault = 8000000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Astar_Shibuya.toml b/ccip/config/evm/Astar_Shibuya.toml index 5a5df06f6f0..4a6299f50b2 100644 --- a/ccip/config/evm/Astar_Shibuya.toml +++ b/ccip/config/evm/Astar_Shibuya.toml @@ -6,4 +6,9 @@ LogPollInterval = '6s' [GasEstimator] EIP1559DynamicFees = false PriceMax = '100000 gwei' -LimitDefault = 8000000 \ No newline at end of file +LimitDefault = 8000000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Avalanche_ANZ_testnet.toml b/ccip/config/evm/Avalanche_ANZ_testnet.toml index 1242e1ec06e..471584b6d2d 100644 --- a/ccip/config/evm/Avalanche_ANZ_testnet.toml +++ b/ccip/config/evm/Avalanche_ANZ_testnet.toml @@ -20,3 +20,6 @@ BlockHistorySize = 24 [HeadTracker] PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Avalanche_Fuji.toml b/ccip/config/evm/Avalanche_Fuji.toml index 91b8bf6bab8..b12b2ae6b86 100644 --- a/ccip/config/evm/Avalanche_Fuji.toml +++ b/ccip/config/evm/Avalanche_Fuji.toml @@ -18,5 +18,7 @@ PriceMin = '25 gwei' BlockHistorySize = 24 [HeadTracker] -FinalityTagBypass = false PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Avalanche_Mainnet.toml b/ccip/config/evm/Avalanche_Mainnet.toml index f51af60098d..54a0e42af79 100644 --- a/ccip/config/evm/Avalanche_Mainnet.toml +++ b/ccip/config/evm/Avalanche_Mainnet.toml @@ -20,3 +20,6 @@ BlockHistorySize = 24 [HeadTracker] PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/BSC_Mainnet.toml b/ccip/config/evm/BSC_Mainnet.toml index 10f4c570bef..5d71b8d3fb4 100644 --- a/ccip/config/evm/BSC_Mainnet.toml +++ b/ccip/config/evm/BSC_Mainnet.toml @@ -26,3 +26,8 @@ ObservationGracePeriod = '500ms' [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/BSC_Testnet.toml b/ccip/config/evm/BSC_Testnet.toml index bb13501f1a2..a445617895a 100644 --- a/ccip/config/evm/BSC_Testnet.toml +++ b/ccip/config/evm/BSC_Testnet.toml @@ -22,6 +22,8 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 100 SamplingInterval = '1s' +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = false PersistenceEnabled = false diff --git a/ccip/config/evm/Base_Mainnet.toml b/ccip/config/evm/Base_Mainnet.toml index da38182b194..cc7239de9ca 100644 --- a/ccip/config/evm/Base_Mainnet.toml +++ b/ccip/config/evm/Base_Mainnet.toml @@ -20,6 +20,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Base_Sepolia.toml b/ccip/config/evm/Base_Sepolia.toml index 92f7717b27d..2f0534902ab 100644 --- a/ccip/config/evm/Base_Sepolia.toml +++ b/ccip/config/evm/Base_Sepolia.toml @@ -21,6 +21,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Blast_Mainnet.toml b/ccip/config/evm/Blast_Mainnet.toml index f8b501723ff..a8af11810f6 100644 --- a/ccip/config/evm/Blast_Mainnet.toml +++ b/ccip/config/evm/Blast_Mainnet.toml @@ -26,6 +26,9 @@ EIP1559FeeCapBufferBlocks = 0 [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] # 4 block sync time between nodes to ensure they aren't labelled unreachable too soon diff --git a/ccip/config/evm/Blast_Sepolia.toml b/ccip/config/evm/Blast_Sepolia.toml index 96dc5c67871..2d731631bbe 100644 --- a/ccip/config/evm/Blast_Sepolia.toml +++ b/ccip/config/evm/Blast_Sepolia.toml @@ -26,6 +26,9 @@ EIP1559FeeCapBufferBlocks = 0 [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] # 4 block sync time between nodes to ensure they aren't labelled unreachable too soon diff --git a/ccip/config/evm/Celo_Mainnet.toml b/ccip/config/evm/Celo_Mainnet.toml index 0ed08986d32..0cc35a00196 100644 --- a/ccip/config/evm/Celo_Mainnet.toml +++ b/ccip/config/evm/Celo_Mainnet.toml @@ -19,3 +19,6 @@ BlockHistorySize = 12 [HeadTracker] HistoryDepth = 50 PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Gnosis_Chiado.toml b/ccip/config/evm/Gnosis_Chiado.toml index 379377a2266..f6a68a5dbc6 100644 --- a/ccip/config/evm/Gnosis_Chiado.toml +++ b/ccip/config/evm/Gnosis_Chiado.toml @@ -8,3 +8,8 @@ NoNewFinalizedHeadsThreshold = '2m' [GasEstimator] EIP1559DynamicFees = true PriceMax = '500 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Kroma_Mainnet.toml b/ccip/config/evm/Kroma_Mainnet.toml index 3a48aa8ae1b..93687e407c3 100644 --- a/ccip/config/evm/Kroma_Mainnet.toml +++ b/ccip/config/evm/Kroma_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '255' ChainType = 'kroma' # Kroma is based on the Optimism Bedrock architechture -FinalityDepth = 400 +FinalityDepth = 700 FinalityTagEnabled = true LogPollInterval = '2s' NoNewHeadsThreshold = '40s' @@ -19,6 +19,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 400 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Kroma_Sepolia.toml b/ccip/config/evm/Kroma_Sepolia.toml index 9609a09e076..68f03be93d9 100644 --- a/ccip/config/evm/Kroma_Sepolia.toml +++ b/ccip/config/evm/Kroma_Sepolia.toml @@ -1,6 +1,6 @@ ChainID = '2358' ChainType = 'kroma' # Kroma is based on the Optimism Bedrock architechture -FinalityDepth = 400 +FinalityDepth = 700 FinalityTagEnabled = true LogPollInterval = '2s' NoNewHeadsThreshold = '40s' @@ -19,6 +19,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 400 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/L3X_Mainnet.toml b/ccip/config/evm/L3X_Mainnet.toml index 9dd33c9e15d..373c5517288 100644 --- a/ccip/config/evm/L3X_Mainnet.toml +++ b/ccip/config/evm/L3X_Mainnet.toml @@ -19,3 +19,8 @@ BumpThreshold = 5 [GasEstimator.DAOracle] OracleType = 'arbitrum' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/L3X_Sepolia.toml b/ccip/config/evm/L3X_Sepolia.toml index c0f6a60e943..ecbb78e50e2 100644 --- a/ccip/config/evm/L3X_Sepolia.toml +++ b/ccip/config/evm/L3X_Sepolia.toml @@ -19,3 +19,8 @@ BumpThreshold = 5 [GasEstimator.DAOracle] OracleType = 'arbitrum' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Linea_Mainnet.toml b/ccip/config/evm/Linea_Mainnet.toml index 5a89873acae..9591f917ee2 100644 --- a/ccip/config/evm/Linea_Mainnet.toml +++ b/ccip/config/evm/Linea_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '59144' # Block time 12s, finality < 60m -FinalityDepth = 300 +FinalityDepth = 600 # Blocks are only emitted when a transaction happens / no empty blocks NoNewHeadsThreshold = '0' @@ -15,6 +15,9 @@ ResendAfterThreshold = '3m' # set greater than finality depth [HeadTracker] HistoryDepth = 350 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/ccip/config/evm/Linea_Sepolia.toml b/ccip/config/evm/Linea_Sepolia.toml index 8f168ee93a6..f9a52635575 100644 --- a/ccip/config/evm/Linea_Sepolia.toml +++ b/ccip/config/evm/Linea_Sepolia.toml @@ -1,5 +1,5 @@ ChainID = '59141' -FinalityDepth = 900 +FinalityDepth = 200 NoNewHeadsThreshold = '0' [GasEstimator] @@ -11,6 +11,9 @@ ResendAfterThreshold = '3m' [HeadTracker] HistoryDepth = 1000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/ccip/config/evm/Mantle_Sepolia.toml b/ccip/config/evm/Mantle_Sepolia.toml index ee994a71826..9d416ff4a26 100644 --- a/ccip/config/evm/Mantle_Sepolia.toml +++ b/ccip/config/evm/Mantle_Sepolia.toml @@ -1,6 +1,6 @@ ChainID = '5003' ChainType = 'optimismBedrock' -FinalityDepth = 500 +FinalityDepth = 1200 LogPollInterval = '2s' NoNewHeadsThreshold = '0' MinIncomingConfirmations = 1 @@ -8,7 +8,7 @@ MinIncomingConfirmations = 1 [HeadTracker] HistoryDepth = 600 -[GasEstimator] +[GasEstimator] Mode = 'L2Suggested' PriceMax = '200 gwei' LimitDefault = 100000000 diff --git a/ccip/config/evm/Metis_Mainnet.toml b/ccip/config/evm/Metis_Mainnet.toml index f057400d014..7094478a291 100644 --- a/ccip/config/evm/Metis_Mainnet.toml +++ b/ccip/config/evm/Metis_Mainnet.toml @@ -19,3 +19,8 @@ BlockHistorySize = 0 [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Metis_Sepolia.toml b/ccip/config/evm/Metis_Sepolia.toml index 4ff4056c75d..90c83635543 100644 --- a/ccip/config/evm/Metis_Sepolia.toml +++ b/ccip/config/evm/Metis_Sepolia.toml @@ -15,3 +15,8 @@ BlockHistorySize = 0 [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/Mode_Mainnet.toml b/ccip/config/evm/Mode_Mainnet.toml index 69a8e93fecd..b4ad88c479d 100644 --- a/ccip/config/evm/Mode_Mainnet.toml +++ b/ccip/config/evm/Mode_Mainnet.toml @@ -24,6 +24,9 @@ EIP1559FeeCapBufferBlocks = 0 [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] PollFailureThreshold = 2 diff --git a/ccip/config/evm/Mode_Sepolia.toml b/ccip/config/evm/Mode_Sepolia.toml index f7398869beb..fbdd894f28d 100644 --- a/ccip/config/evm/Mode_Sepolia.toml +++ b/ccip/config/evm/Mode_Sepolia.toml @@ -24,6 +24,9 @@ EIP1559FeeCapBufferBlocks = 0 [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] PollFailureThreshold = 2 diff --git a/ccip/config/evm/Optimism_Mainnet.toml b/ccip/config/evm/Optimism_Mainnet.toml index b0f56a49d90..8f0d759a4e8 100644 --- a/ccip/config/evm/Optimism_Mainnet.toml +++ b/ccip/config/evm/Optimism_Mainnet.toml @@ -21,6 +21,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Optimism_Sepolia.toml b/ccip/config/evm/Optimism_Sepolia.toml index 1c71aa5dd83..d63925ad1fb 100644 --- a/ccip/config/evm/Optimism_Sepolia.toml +++ b/ccip/config/evm/Optimism_Sepolia.toml @@ -20,6 +20,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Polygon_Amoy.toml b/ccip/config/evm/Polygon_Amoy.toml index b05b3053a8e..195dda2ad6a 100644 --- a/ccip/config/evm/Polygon_Amoy.toml +++ b/ccip/config/evm/Polygon_Amoy.toml @@ -23,6 +23,9 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Polygon_Mainnet.toml b/ccip/config/evm/Polygon_Mainnet.toml index bf605cab3c6..523ae3f8e52 100644 --- a/ccip/config/evm/Polygon_Mainnet.toml +++ b/ccip/config/evm/Polygon_Mainnet.toml @@ -33,6 +33,9 @@ BlockHistorySize = 24 [HeadTracker] # Polygon suffers from a tremendous number of re-orgs, we need to set this to something very large to be conservative enough HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/ccip/config/evm/Polygon_Zkevm_Cardona.toml b/ccip/config/evm/Polygon_Zkevm_Cardona.toml index 5e4861f9d44..facb2dde638 100644 --- a/ccip/config/evm/Polygon_Zkevm_Cardona.toml +++ b/ccip/config/evm/Polygon_Zkevm_Cardona.toml @@ -22,6 +22,9 @@ BlockHistorySize = 12 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/ccip/config/evm/Polygon_Zkevm_Mainnet.toml b/ccip/config/evm/Polygon_Zkevm_Mainnet.toml index b38a483ff35..65a9503d994 100644 --- a/ccip/config/evm/Polygon_Zkevm_Mainnet.toml +++ b/ccip/config/evm/Polygon_Zkevm_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '1101' ChainType = 'zkevm' -FinalityDepth = 500 +FinalityDepth = 1000 NoNewHeadsThreshold = '6m' MinIncomingConfirmations = 1 LogPollInterval = '30s' diff --git a/ccip/config/evm/Scroll_Mainnet.toml b/ccip/config/evm/Scroll_Mainnet.toml index b8e7bd09e80..311becf3480 100644 --- a/ccip/config/evm/Scroll_Mainnet.toml +++ b/ccip/config/evm/Scroll_Mainnet.toml @@ -17,6 +17,9 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [OCR] ContractConfirmations = 1 diff --git a/ccip/config/evm/Scroll_Sepolia.toml b/ccip/config/evm/Scroll_Sepolia.toml index baee2080d96..882e72ad303 100644 --- a/ccip/config/evm/Scroll_Sepolia.toml +++ b/ccip/config/evm/Scroll_Sepolia.toml @@ -17,6 +17,9 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [OCR] ContractConfirmations = 1 diff --git a/ccip/config/evm/Simulated.toml b/ccip/config/evm/Simulated.toml index e21dc0990f0..9bbef1d021d 100644 --- a/ccip/config/evm/Simulated.toml +++ b/ccip/config/evm/Simulated.toml @@ -20,6 +20,9 @@ HistoryDepth = 10 MaxBufferSize = 100 SamplingInterval = '0s' PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [OCR] ContractConfirmations = 1 diff --git a/ccip/config/evm/WeMix_Mainnet.toml b/ccip/config/evm/WeMix_Mainnet.toml index be7c278f692..bee4d696f29 100644 --- a/ccip/config/evm/WeMix_Mainnet.toml +++ b/ccip/config/evm/WeMix_Mainnet.toml @@ -17,3 +17,6 @@ TipCapDefault = '100 gwei' [HeadTracker] PersistenceEnabled = false +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/ccip/config/evm/WeMix_Testnet.toml b/ccip/config/evm/WeMix_Testnet.toml index 4591fc4c572..17b87272252 100644 --- a/ccip/config/evm/WeMix_Testnet.toml +++ b/ccip/config/evm/WeMix_Testnet.toml @@ -16,5 +16,7 @@ EIP1559DynamicFees = true TipCapDefault = '100 gwei' [HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = false PersistenceEnabled = false diff --git a/ccip/config/evm/XLayer_Mainnet.toml b/ccip/config/evm/XLayer_Mainnet.toml index a39a9231ae2..28f7819276c 100644 --- a/ccip/config/evm/XLayer_Mainnet.toml +++ b/ccip/config/evm/XLayer_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '196' ChainType = 'xlayer' -FinalityDepth = 500 +FinalityDepth = 1000 NoNewHeadsThreshold = '6m' MinIncomingConfirmations = 1 LogPollInterval = '30s' diff --git a/ccip/config/evm/XLayer_Sepolia.toml b/ccip/config/evm/XLayer_Sepolia.toml index 2aa6e58469b..23d078f8456 100644 --- a/ccip/config/evm/XLayer_Sepolia.toml +++ b/ccip/config/evm/XLayer_Sepolia.toml @@ -23,6 +23,9 @@ BlockHistorySize = 12 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/core/chains/evm/config/toml/defaults/Arbitrum_Goerli.toml b/core/chains/evm/config/toml/defaults/Arbitrum_Goerli.toml index 3d4b71347c4..1106d123ce3 100644 --- a/core/chains/evm/config/toml/defaults/Arbitrum_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/Arbitrum_Goerli.toml @@ -1,5 +1,6 @@ ChainID = '421613' ChainType = 'arbitrum' +FinalityTagEnabled = true NoNewHeadsThreshold = '0' OCR.ContractConfirmations = 1 LinkContractAddress = '0xd14838A68E8AFBAdE5efb411d5871ea0011AFd28' diff --git a/core/chains/evm/config/toml/defaults/Arbitrum_Sepolia.toml b/core/chains/evm/config/toml/defaults/Arbitrum_Sepolia.toml index ab5351b9a74..2599456c6c0 100644 --- a/core/chains/evm/config/toml/defaults/Arbitrum_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Arbitrum_Sepolia.toml @@ -1,6 +1,7 @@ ChainID = '421614' ChainType = 'arbitrum' FinalityTagEnabled = true +LinkContractAddress = '0xE4aB69C077896252FAFBD49EFD26B5D171A32410' NoNewHeadsThreshold = '0' OCR.ContractConfirmations = 1 LogPollInterval = '1s' diff --git a/core/chains/evm/config/toml/defaults/Astar_Mainnet.toml b/core/chains/evm/config/toml/defaults/Astar_Mainnet.toml new file mode 100644 index 00000000000..3507da5f59d --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Astar_Mainnet.toml @@ -0,0 +1,15 @@ +ChainID = '592' +ChainType = 'astar' +FinalityTagEnabled = true +FinalityDepth = 100 +LogPollInterval = '6s' + +[GasEstimator] +EIP1559DynamicFees = false +PriceMax = '100000 gwei' +LimitDefault = 8000000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Astar_Shibuya.toml b/core/chains/evm/config/toml/defaults/Astar_Shibuya.toml new file mode 100644 index 00000000000..4a6299f50b2 --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Astar_Shibuya.toml @@ -0,0 +1,14 @@ +ChainID = '81' +FinalityTagEnabled = true +FinalityDepth = 100 +LogPollInterval = '6s' + +[GasEstimator] +EIP1559DynamicFees = false +PriceMax = '100000 gwei' +LimitDefault = 8000000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Avalanche_ANZ_testnet.toml b/core/chains/evm/config/toml/defaults/Avalanche_ANZ_testnet.toml new file mode 100644 index 00000000000..9f61d1a07a5 --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Avalanche_ANZ_testnet.toml @@ -0,0 +1,24 @@ +ChainID = '76578' +FinalityDepth = 1 +FinalityTagEnabled = false +LinkContractAddress = '0x779877A7B0D9E8603169DdbD7836e478b4624789' +LogPollInterval = '3s' +MinIncomingConfirmations = 1 +# Avax subnet only emits blocks when a new tx is received, so this method of liveness detection is not useful. +NoNewHeadsThreshold = '0' +OCR.ContractConfirmations = 1 +RPCBlockQueryDelay = 2 + +[GasEstimator] +Mode = 'BlockHistory' +PriceDefault = '25 gwei' +PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether' +PriceMin = '25 gwei' + +[GasEstimator.BlockHistory] +BlockHistorySize = 24 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Avalanche_Fuji.toml b/core/chains/evm/config/toml/defaults/Avalanche_Fuji.toml index fbcc8e6f058..f8e02efc0f0 100644 --- a/core/chains/evm/config/toml/defaults/Avalanche_Fuji.toml +++ b/core/chains/evm/config/toml/defaults/Avalanche_Fuji.toml @@ -19,4 +19,6 @@ PriceMin = '25 gwei' BlockHistorySize = 24 [HeadTracker] -FinalityTagBypass = false \ No newline at end of file +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Avalanche_Mainnet.toml b/core/chains/evm/config/toml/defaults/Avalanche_Mainnet.toml index 309fdab1db9..02f58df1dbd 100644 --- a/core/chains/evm/config/toml/defaults/Avalanche_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Avalanche_Mainnet.toml @@ -18,3 +18,8 @@ PriceMin = '25 gwei' [GasEstimator.BlockHistory] # Average block time of 2s BlockHistorySize = 24 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/BSC_Mainnet.toml b/core/chains/evm/config/toml/defaults/BSC_Mainnet.toml index 710ef34d309..bc6e1fa5a7d 100644 --- a/core/chains/evm/config/toml/defaults/BSC_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/BSC_Mainnet.toml @@ -2,6 +2,8 @@ # Clique offers finality within (N/2)+1 blocks where N is number of signers # There are 21 BSC validators so theoretically finality should occur after 21/2+1 = 11 blocks ChainID = '56' +# Keeping this >> 11 because it's not expensive and gives us a safety margin +FinalityDepth = 50 FinalityTagEnabled = true LinkContractAddress = '0x404460C6A5EdE2D891e8297795264fDe62ADBB75' LogPollInterval = '3s' @@ -27,3 +29,8 @@ ObservationGracePeriod = '500ms' [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/BSC_Testnet.toml b/core/chains/evm/config/toml/defaults/BSC_Testnet.toml index 95eef689d00..8161ef3ad9f 100644 --- a/core/chains/evm/config/toml/defaults/BSC_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/BSC_Testnet.toml @@ -2,6 +2,8 @@ # Clique offers finality within (N/2)+1 blocks where N is number of signers # There are 21 BSC validators so theoretically finality should occur after 21/2+1 = 11 blocks ChainID = '97' +# Keeping this >> 11 because it's not expensive and gives us a safety margin +FinalityDepth = 50 FinalityTagEnabled = true LinkContractAddress = '0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06' LogPollInterval = '3s' @@ -21,6 +23,8 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 100 SamplingInterval = '1s' +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = false [OCR] diff --git a/core/chains/evm/config/toml/defaults/Base_Goerli.toml b/core/chains/evm/config/toml/defaults/Base_Goerli.toml index 2dd4f4033c6..931ba5b24a3 100644 --- a/core/chains/evm/config/toml/defaults/Base_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/Base_Goerli.toml @@ -1,6 +1,7 @@ ChainID = '84531' ChainType = 'optimismBedrock' FinalityDepth = 200 +FinalityTagEnabled = true LogPollInterval = '2s' NoNewHeadsThreshold = '40s' MinIncomingConfirmations = 1 @@ -22,6 +23,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Base_Mainnet.toml b/core/chains/evm/config/toml/defaults/Base_Mainnet.toml index b683aff9840..fcdb5b56877 100644 --- a/core/chains/evm/config/toml/defaults/Base_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Base_Mainnet.toml @@ -24,6 +24,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Base_Sepolia.toml b/core/chains/evm/config/toml/defaults/Base_Sepolia.toml index 3e6aee20e29..1f4a9a6f7bf 100644 --- a/core/chains/evm/config/toml/defaults/Base_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Base_Sepolia.toml @@ -2,6 +2,8 @@ ChainID = '84532' ChainType = 'optimismBedrock' FinalityDepth = 200 FinalityTagEnabled = true +# TODO: Check! Not sure if necessary +LinkContractAddress = '0xE4aB69C077896252FAFBD49EFD26B5D171A32410' LogPollInterval = '2s' NoNewHeadsThreshold = '40s' MinIncomingConfirmations = 1 @@ -24,6 +26,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Blast_Mainnet.toml b/core/chains/evm/config/toml/defaults/Blast_Mainnet.toml new file mode 100644 index 00000000000..a8af11810f6 --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Blast_Mainnet.toml @@ -0,0 +1,37 @@ +ChainID = '81457' +FinalityDepth = 200 +FinalityTagEnabled = true +ChainType = 'optimismBedrock' +# block rate is ~2sec, so this ensures blocks are polled correctly +LogPollInterval = '2s' + +[GasEstimator] +EIP1559DynamicFees = true +BumpThreshold = 60 +BumpPercent = 20 +BumpMin = '100 wei' +PriceMax = '120 gwei' +LimitDefault = 8000000 +FeeCapDefault = '120 gwei' + +[GasEstimator.BlockHistory] +# Default is 24, which leads to bumpy gas prices. In CCIP +# we want to smooth out the gas prices, so we increase the sample size. +BlockHistorySize = 200 +# The formula for FeeCap is (current block base fee * (1.125 ^ EIP1559FeeCapBufferBlocks) + tipcap) +# where tipcap is managed by the block history estimators. In the context of CCIP, +# the gas price is relayed to other changes for quotes so we want accurate/avg not pessimistic values. +# So we set this to zero so FeeCap = baseFee + tipcap. +EIP1559FeeCapBufferBlocks = 0 + +[HeadTracker] +HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false + +[NodePool] +# 4 block sync time between nodes to ensure they aren't labelled unreachable too soon +PollFailureThreshold = 4 +# polls every 4sec to check if there is a block produced, since blockRate is ~3sec +PollInterval = '4s' \ No newline at end of file diff --git a/core/chains/evm/config/toml/defaults/Blast_Sepolia.toml b/core/chains/evm/config/toml/defaults/Blast_Sepolia.toml new file mode 100644 index 00000000000..2d731631bbe --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Blast_Sepolia.toml @@ -0,0 +1,37 @@ +ChainID = '168587773' +FinalityDepth = 200 +FinalityTagEnabled = true +ChainType = 'optimismBedrock' +# block rate is ~2sec, so this ensures blocks are polled correctly +LogPollInterval = '2s' + +[GasEstimator] +EIP1559DynamicFees = true +BumpThreshold = 60 +BumpPercent = 20 +BumpMin = '100 wei' +PriceMax = '120 gwei' +LimitDefault = 8000000 +FeeCapDefault = '120 gwei' + +[GasEstimator.BlockHistory] +# Default is 24, which leads to bumpy gas prices. In CCIP +# we want to smooth out the gas prices, so we increase the sample size. +BlockHistorySize = 200 +# The formula for FeeCap is (current block base fee * (1.125 ^ EIP1559FeeCapBufferBlocks) + tipcap) +# where tipcap is managed by the block history estimators. In the context of CCIP, +# the gas price is relayed to other changes for quotes so we want accurate/avg not pessimistic values. +# So we set this to zero so FeeCap = baseFee + tipcap. +EIP1559FeeCapBufferBlocks = 0 + +[HeadTracker] +HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false + +[NodePool] +# 4 block sync time between nodes to ensure they aren't labelled unreachable too soon +PollFailureThreshold = 4 +# polls every 4sec to check if there is a block produced, since blockRate is ~3sec +PollInterval = '4s' \ No newline at end of file diff --git a/core/chains/evm/config/toml/defaults/Celo_Mainnet.toml b/core/chains/evm/config/toml/defaults/Celo_Mainnet.toml index b773f2d19f5..6941e0f0855 100644 --- a/core/chains/evm/config/toml/defaults/Celo_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Celo_Mainnet.toml @@ -1,6 +1,10 @@ ChainID = '42220' ChainType = 'celo' +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N FinalityDepth = 10 +FinalityTagEnabled = true LogPollInterval = '5s' MinIncomingConfirmations = 1 NoNewHeadsThreshold = '1m' @@ -19,3 +23,6 @@ BlockHistorySize = 12 [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Celo_Testnet.toml b/core/chains/evm/config/toml/defaults/Celo_Testnet.toml index 0e4594150dd..c03d855acf6 100644 --- a/core/chains/evm/config/toml/defaults/Celo_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/Celo_Testnet.toml @@ -1,5 +1,8 @@ ChainID = '44787' ChainType = 'celo' +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N FinalityTagEnabled = true FinalityDepth = 2750 # mean finality time of ~37 minutes + 500 block buffer LogPollInterval = '1s' # 1 sec block rate diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Goerli.toml b/core/chains/evm/config/toml/defaults/Ethereum_Goerli.toml index 66e0bba8ca0..be13b7642ca 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Goerli.toml @@ -1,4 +1,5 @@ ChainID = '5' +FinalityDepth = 50 LinkContractAddress = '0x326C977E6efc84E512bB9C30f76E30c160eD06FB' MinContractPayment = '0.1 link' @@ -8,3 +9,8 @@ EIP1559DynamicFees = true [GasEstimator.BlockHistory] BlockHistorySize = 4 TransactionPercentile = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Kovan.toml b/core/chains/evm/config/toml/defaults/Ethereum_Kovan.toml index 0a4a351ade9..11f60809891 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Kovan.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Kovan.toml @@ -1,4 +1,5 @@ ChainID = '42' +FinalityDepth = 50 LinkContractAddress = '0xa36085F69e2889c224210F603D836748e7dC0088' MinContractPayment = '0.1 link' OperatorFactoryAddress = '0x8007e24251b1D2Fc518Eb843A701d9cD21fe0aA3' @@ -10,4 +11,9 @@ EIP1559DynamicFees = false [GasEstimator.BlockHistory] BlockHistorySize = 4 -TransactionPercentile = 50 \ No newline at end of file +TransactionPercentile = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Mainnet.toml b/core/chains/evm/config/toml/defaults/Ethereum_Mainnet.toml index 984150c694d..396cd5cc692 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Mainnet.toml @@ -1,6 +1,7 @@ ChainID = '1' FinalityTagEnabled = true LinkContractAddress = '0x514910771AF9Ca656af840dff83E8264EcF986CA' +FinalityDepth = 50 MinContractPayment = '0.1 link' OperatorFactoryAddress = '0x3E64Cd889482443324F91bFA9c84fE72A511f48A' NoNewFinalizedHeadsThreshold = '9m' @@ -15,3 +16,8 @@ TransactionPercentile = 50 [OCR2.Automation] GasLimit = 10500000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Rinkeby.toml b/core/chains/evm/config/toml/defaults/Ethereum_Rinkeby.toml index 06dc2cb0f58..0c65f0b4df2 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Rinkeby.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Rinkeby.toml @@ -1,4 +1,5 @@ ChainID = '4' +FinalityDepth = 50 LinkContractAddress = '0x01BE23585060835E02B77ef475b0Cc51aA1e0709' MinContractPayment = '0.1 link' @@ -10,3 +11,8 @@ EIP1559DynamicFees = false [GasEstimator.BlockHistory] BlockHistorySize = 4 TransactionPercentile = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Ropsten.toml b/core/chains/evm/config/toml/defaults/Ethereum_Ropsten.toml index 7ce9b3e8273..fb83e0d1cd2 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Ropsten.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Ropsten.toml @@ -1,4 +1,5 @@ ChainID = '3' +FinalityDepth = 50 LinkContractAddress = '0x20fE562d797A42Dcb3399062AE9546cd06f63280' MinContractPayment = '0.1 link' @@ -8,3 +9,8 @@ EIP1559DynamicFees = true [GasEstimator.BlockHistory] BlockHistorySize = 4 TransactionPercentile = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Ethereum_Sepolia.toml b/core/chains/evm/config/toml/defaults/Ethereum_Sepolia.toml index 403ecd7c4b1..60bfc0c25dd 100644 --- a/core/chains/evm/config/toml/defaults/Ethereum_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Ethereum_Sepolia.toml @@ -1,4 +1,5 @@ ChainID = '11155111' +FinalityDepth = 50 FinalityTagEnabled = true LinkContractAddress = '0x779877A7B0D9E8603169DdbD7836e478b4624789' MinContractPayment = '0.1 link' @@ -14,4 +15,6 @@ TransactionPercentile = 50 GasLimit = 10500000 [HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Fantom_Mainnet.toml b/core/chains/evm/config/toml/defaults/Fantom_Mainnet.toml index 7e76d94278d..1a52b6c2a88 100644 --- a/core/chains/evm/config/toml/defaults/Fantom_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Fantom_Mainnet.toml @@ -1,4 +1,5 @@ ChainID = '250' +FinalityDepth = 50 LinkContractAddress = '0x6F43FF82CCA38001B6699a8AC47A2d0E66939407' LogPollInterval = '1s' NoNewHeadsThreshold = '30s' @@ -9,4 +10,9 @@ RPCBlockQueryDelay = 2 Mode = 'SuggestedPrice' [OCR2.Automation] -GasLimit = 3800000 \ No newline at end of file +GasLimit = 3800000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Fantom_Testnet.toml b/core/chains/evm/config/toml/defaults/Fantom_Testnet.toml index 5f24a76c2e7..e6002291cc4 100644 --- a/core/chains/evm/config/toml/defaults/Fantom_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/Fantom_Testnet.toml @@ -1,4 +1,5 @@ ChainID = '4002' +FinalityDepth = 50 LinkContractAddress = '0xfaFedb041c0DD4fA2Dc0d87a6B0979Ee6FA7af5F' LogPollInterval = '1s' # Fantom testnet only emits blocks when a new tx is received, so this method of liveness detection is not useful @@ -9,4 +10,9 @@ RPCBlockQueryDelay = 2 Mode = 'SuggestedPrice' [OCR2.Automation] -GasLimit = 3800000 \ No newline at end of file +GasLimit = 3800000 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Gnosis_Chiado.toml b/core/chains/evm/config/toml/defaults/Gnosis_Chiado.toml index 4e54210455f..9d66cc2d6ed 100644 --- a/core/chains/evm/config/toml/defaults/Gnosis_Chiado.toml +++ b/core/chains/evm/config/toml/defaults/Gnosis_Chiado.toml @@ -9,3 +9,8 @@ NoNewFinalizedHeadsThreshold = '2m' [GasEstimator] EIP1559DynamicFees = true PriceMax = '500 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Gnosis_Mainnet.toml b/core/chains/evm/config/toml/defaults/Gnosis_Mainnet.toml index 862485b4d30..24097ab7a57 100644 --- a/core/chains/evm/config/toml/defaults/Gnosis_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Gnosis_Mainnet.toml @@ -6,6 +6,7 @@ # With xDai's current maximum of 19 validators then 40 blocks is the maximum possible re-org) # The mainnet default of 50 blocks is ok here ChainID = '100' +FinalityDepth = 50 ChainType = 'gnosis' LinkContractAddress = '0xE2e73A1c69ecF83F464EFCE6A5be353a37cA09b2' LogPollInterval = '5s' @@ -17,3 +18,8 @@ PriceDefault = '1 gwei' PriceMax = '500 gwei' # 1 Gwei is the minimum accepted by the validators (unless whitelisted) PriceMin = '1 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Harmony_Mainnet.toml b/core/chains/evm/config/toml/defaults/Harmony_Mainnet.toml index e90d2ff7b4f..cbc36449f61 100644 --- a/core/chains/evm/config/toml/defaults/Harmony_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Harmony_Mainnet.toml @@ -1,4 +1,5 @@ ChainID = '1666600000' +FinalityDepth = 50 LinkContractAddress = '0x218532a12a389a4a92fC0C5Fb22901D1c19198aA' LogPollInterval = '2s' MinIncomingConfirmations = 1 @@ -6,3 +7,8 @@ NoNewHeadsThreshold = '30s' [GasEstimator] PriceDefault = '5 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Harmony_Testnet.toml b/core/chains/evm/config/toml/defaults/Harmony_Testnet.toml index 382e3b215d9..2687f4114aa 100644 --- a/core/chains/evm/config/toml/defaults/Harmony_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/Harmony_Testnet.toml @@ -1,4 +1,5 @@ ChainID = '1666700000' +FinalityDepth = 50 LinkContractAddress = '0x8b12Ac23BFe11cAb03a634C1F117D64a7f2cFD3e' LogPollInterval = '2s' MinIncomingConfirmations = 1 @@ -6,3 +7,8 @@ NoNewHeadsThreshold = '30s' [GasEstimator] PriceDefault = '5 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Heco_Mainnet.toml b/core/chains/evm/config/toml/defaults/Heco_Mainnet.toml index b3d4074dba4..c191070ba7e 100644 --- a/core/chains/evm/config/toml/defaults/Heco_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Heco_Mainnet.toml @@ -1,5 +1,6 @@ # Heco uses BSC's settings. ChainID = '128' +FinalityDepth = 50 LinkContractAddress = '0x404460C6A5EdE2D891e8297795264fDe62ADBB75' LogPollInterval = '3s' NoNewHeadsThreshold = '30s' @@ -19,3 +20,8 @@ ObservationGracePeriod = '500ms' [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Hedera_Mainnet.toml b/core/chains/evm/config/toml/defaults/Hedera_Mainnet.toml index 591e486a8ec..3de7343c764 100644 --- a/core/chains/evm/config/toml/defaults/Hedera_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Hedera_Mainnet.toml @@ -3,7 +3,7 @@ ChainType = 'hedera' # Considering the 3-5 (6 including a buffer) seconds of finality and 2 seconds block production # We set the depth to 6/2 = 3 blocks, setting to 10 for safety FinalityDepth = 10 -# Hedera has high TPS, so polling less often +# Hedera has high TPS, so polling less often LogPollInterval = '10s' MinIncomingConfirmations = 1 FinalizedBlockOffset = 2 @@ -29,6 +29,10 @@ EstimateLimit = true # Accounting for Node syncs & avoid re-sending txns before fetching the receipt, setting to 2m ResendAfterThreshold = '2m' - [NodePool] -SyncThreshold = 10 \ No newline at end of file +SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Hedera_Testnet.toml b/core/chains/evm/config/toml/defaults/Hedera_Testnet.toml index 0e2f2c7cd2c..18f2b8b6abe 100644 --- a/core/chains/evm/config/toml/defaults/Hedera_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/Hedera_Testnet.toml @@ -3,7 +3,7 @@ ChainType = 'hedera' # Considering the 3-5 (6 including a buffer) seconds of finality and 2 seconds block production # We set the depth to 6/2 = 3 blocks, setting to 10 for safety FinalityDepth = 10 -# Hedera has high TPS, so polling less often +# Hedera has high TPS, so polling less often LogPollInterval = '10s' MinIncomingConfirmations = 1 FinalizedBlockOffset = 2 @@ -29,6 +29,10 @@ EstimateLimit = true # Accounting for Node syncs & avoid re-sending txns before fetching the receipt, setting to 2m ResendAfterThreshold = '2m' - [NodePool] -SyncThreshold = 10 \ No newline at end of file +SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Klaytn_Mainnet.toml b/core/chains/evm/config/toml/defaults/Klaytn_Mainnet.toml index 7cf7c2d62e3..357561422ca 100644 --- a/core/chains/evm/config/toml/defaults/Klaytn_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Klaytn_Mainnet.toml @@ -8,3 +8,8 @@ OCR.ContractConfirmations = 1 Mode = 'SuggestedPrice' PriceDefault = '750 gwei' # gwei = ston BumpThreshold = 5 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Klaytn_Testnet.toml b/core/chains/evm/config/toml/defaults/Klaytn_Testnet.toml index a938d46c5cd..693ac4f79d4 100644 --- a/core/chains/evm/config/toml/defaults/Klaytn_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/Klaytn_Testnet.toml @@ -8,3 +8,8 @@ OCR.ContractConfirmations = 1 Mode = 'SuggestedPrice' PriceDefault = '750 gwei' # gwei = ston BumpThreshold = 5 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Kroma_Mainnet.toml b/core/chains/evm/config/toml/defaults/Kroma_Mainnet.toml index c832d666aa6..1945ddd17fa 100644 --- a/core/chains/evm/config/toml/defaults/Kroma_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Kroma_Mainnet.toml @@ -1,6 +1,9 @@ ChainID = '255' ChainType = 'kroma' # Kroma is based on the Optimism Bedrock architechture -FinalityDepth = 400 +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N +FinalityDepth = 700 FinalityTagEnabled = true LogPollInterval = '2s' NoNewHeadsThreshold = '40s' @@ -24,6 +27,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 400 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Kroma_Sepolia.toml b/core/chains/evm/config/toml/defaults/Kroma_Sepolia.toml index b0864d86c90..f593d75da88 100644 --- a/core/chains/evm/config/toml/defaults/Kroma_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Kroma_Sepolia.toml @@ -1,6 +1,9 @@ ChainID = '2358' ChainType = 'kroma' # Kroma is based on the Optimism Bedrock architechture -FinalityDepth = 400 +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N +FinalityDepth = 700 FinalityTagEnabled = true LogPollInterval = '2s' NoNewHeadsThreshold = '40s' @@ -24,6 +27,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 400 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/L3X_Mainnet.toml b/core/chains/evm/config/toml/defaults/L3X_Mainnet.toml index 9dd33c9e15d..373c5517288 100644 --- a/core/chains/evm/config/toml/defaults/L3X_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/L3X_Mainnet.toml @@ -19,3 +19,8 @@ BumpThreshold = 5 [GasEstimator.DAOracle] OracleType = 'arbitrum' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/L3X_Sepolia.toml b/core/chains/evm/config/toml/defaults/L3X_Sepolia.toml index c0f6a60e943..ecbb78e50e2 100644 --- a/core/chains/evm/config/toml/defaults/L3X_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/L3X_Sepolia.toml @@ -19,3 +19,8 @@ BumpThreshold = 5 [GasEstimator.DAOracle] OracleType = 'arbitrum' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Linea_Goerli.toml b/core/chains/evm/config/toml/defaults/Linea_Goerli.toml index 915727267d2..68893b6acc5 100644 --- a/core/chains/evm/config/toml/defaults/Linea_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/Linea_Goerli.toml @@ -10,3 +10,8 @@ BumpPercent = 40 [Transactions] # increase resend time to align with finality ResendAfterThreshold = '3m' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Linea_Mainnet.toml b/core/chains/evm/config/toml/defaults/Linea_Mainnet.toml index 5a89873acae..569554beed7 100644 --- a/core/chains/evm/config/toml/defaults/Linea_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Linea_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '59144' -# Block time 12s, finality < 60m -FinalityDepth = 300 +#3s block time ~ 20m finality based on committee decision +FinalityDepth = 600 # Blocks are only emitted when a transaction happens / no empty blocks NoNewHeadsThreshold = '0' @@ -15,6 +15,9 @@ ResendAfterThreshold = '3m' # set greater than finality depth [HeadTracker] HistoryDepth = 350 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/core/chains/evm/config/toml/defaults/Linea_Sepolia.toml b/core/chains/evm/config/toml/defaults/Linea_Sepolia.toml index 8f168ee93a6..f9a52635575 100644 --- a/core/chains/evm/config/toml/defaults/Linea_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Linea_Sepolia.toml @@ -1,5 +1,5 @@ ChainID = '59141' -FinalityDepth = 900 +FinalityDepth = 200 NoNewHeadsThreshold = '0' [GasEstimator] @@ -11,6 +11,9 @@ ResendAfterThreshold = '3m' [HeadTracker] HistoryDepth = 1000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/core/chains/evm/config/toml/defaults/Mantle_Sepolia.toml b/core/chains/evm/config/toml/defaults/Mantle_Sepolia.toml new file mode 100644 index 00000000000..45fbfc5e0d4 --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Mantle_Sepolia.toml @@ -0,0 +1,23 @@ +ChainID = '5003' +ChainType = 'optimismBedrock' +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N +FinalityDepth = 1200 +FinalityTagEnabled = true +LogPollInterval = '2s' +NoNewHeadsThreshold = '0' +MinIncomingConfirmations = 1 + +[HeadTracker] +HistoryDepth = 600 + +[GasEstimator] +Mode = 'L2Suggested' +PriceMax = '200 gwei' +LimitDefault = 100000000 +FeeCapDefault = '200 gwei' + +[GasEstimator.BlockHistory] +BlockHistorySize = 200 +EIP1559FeeCapBufferBlocks = 0 \ No newline at end of file diff --git a/core/chains/evm/config/toml/defaults/Metis_Mainnet.toml b/core/chains/evm/config/toml/defaults/Metis_Mainnet.toml index f057400d014..4e89483111f 100644 --- a/core/chains/evm/config/toml/defaults/Metis_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Metis_Mainnet.toml @@ -1,8 +1,15 @@ # Metis is an L2 chain based on Optimism. ChainID = '1088' +# TODO: Check type against https://github.com/smartcontractkit/ccip/pull/1485 ChainType = 'metis' # Sequencer offers absolute finality -FinalityDepth = 10 +# High variation on finality depth triggered a commitee to investigate +# and set 500 as a secure finality depth. +# https://chainlink-core.slack.com/archives/C0725LNLJLA/p1717118469587219 +FinalityDepth = 500 +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N FinalityTagEnabled = true MinIncomingConfirmations = 1 NoNewHeadsThreshold = '0' @@ -19,3 +26,8 @@ BlockHistorySize = 0 [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Metis_Rinkeby.toml b/core/chains/evm/config/toml/defaults/Metis_Rinkeby.toml index e481282abf1..07de383320b 100644 --- a/core/chains/evm/config/toml/defaults/Metis_Rinkeby.toml +++ b/core/chains/evm/config/toml/defaults/Metis_Rinkeby.toml @@ -14,3 +14,8 @@ BlockHistorySize = 0 [NodePool] SyncThreshold = 10 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Metis_Sepolia.toml b/core/chains/evm/config/toml/defaults/Metis_Sepolia.toml index 286b888e1a8..ea7ce7abf8e 100644 --- a/core/chains/evm/config/toml/defaults/Metis_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Metis_Sepolia.toml @@ -1,6 +1,10 @@ ChainID = '59902' +# TODO: Check type against https://github.com/smartcontractkit/ccip/pull/1485 ChainType = 'metis' -FinalityDepth = 10 +# FT and FD are both present here because the dev effort rely only on FinalityTagEnabled are still in progress. +# We expect to be able to rely only on FinalityTagEnabled=true in the short future. +# https://chainlink-core.slack.com/archives/C05CS33N08N/p1715102940763339?thread_ts=1715102478.537529&cid=C05CS33N08N +FinalityDepth = 3000 FinalityTagEnabled = true MinIncomingConfirmations = 1 NoNewHeadsThreshold = '0' diff --git a/core/chains/evm/config/toml/defaults/Mode_Mainnet.toml b/core/chains/evm/config/toml/defaults/Mode_Mainnet.toml new file mode 100644 index 00000000000..b4ad88c479d --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Mode_Mainnet.toml @@ -0,0 +1,33 @@ +ChainID = '34443' +FinalityDepth = 200 +FinalityTagEnabled = true +ChainType = 'optimismBedrock' + +[GasEstimator] +EIP1559DynamicFees = true +BumpThreshold = 60 +BumpPercent = 20 +BumpMin = '100 wei' +PriceMax = '120 gwei' +LimitDefault = 8000000 +FeeCapDefault = '120 gwei' + +[GasEstimator.BlockHistory] +# Default is 24, which leads to bumpy gas prices. In CCIP +# we want to smooth out the gas prices, so we increase the sample size. +BlockHistorySize = 200 +# The formula for FeeCap is (current block base fee * (1.125 ^ EIP1559FeeCapBufferBlocks) + tipcap) +# where tipcap is managed by the block history estimators. In the context of CCIP, +# the gas price is relayed to other changes for quotes so we want accurate/avg not pessimistic values. +# So we set this to zero so FeeCap = baseFee + tipcap. +EIP1559FeeCapBufferBlocks = 0 + +[HeadTracker] +HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false + +[NodePool] +PollFailureThreshold = 2 +PollInterval = '3s' diff --git a/core/chains/evm/config/toml/defaults/Mode_Sepolia.toml b/core/chains/evm/config/toml/defaults/Mode_Sepolia.toml new file mode 100644 index 00000000000..fbdd894f28d --- /dev/null +++ b/core/chains/evm/config/toml/defaults/Mode_Sepolia.toml @@ -0,0 +1,33 @@ +ChainID = '919' +FinalityDepth = 200 +FinalityTagEnabled = true +ChainType = 'optimismBedrock' + +[GasEstimator] +EIP1559DynamicFees = true +BumpThreshold = 60 +BumpPercent = 20 +BumpMin = '100 wei' +PriceMax = '120 gwei' +LimitDefault = 8000000 +FeeCapDefault = '120 gwei' + +[GasEstimator.BlockHistory] +# Default is 24, which leads to bumpy gas prices. In CCIP +# we want to smooth out the gas prices, so we increase the sample size. +BlockHistorySize = 200 +# The formula for FeeCap is (current block base fee * (1.125 ^ EIP1559FeeCapBufferBlocks) + tipcap) +# where tipcap is managed by the block history estimators. In the context of CCIP, +# the gas price is relayed to other changes for quotes so we want accurate/avg not pessimistic values. +# So we set this to zero so FeeCap = baseFee + tipcap. +EIP1559FeeCapBufferBlocks = 0 + +[HeadTracker] +HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false + +[NodePool] +PollFailureThreshold = 2 +PollInterval = '3s' diff --git a/core/chains/evm/config/toml/defaults/OKX_Mainnet.toml b/core/chains/evm/config/toml/defaults/OKX_Mainnet.toml index d0b26ede2e3..ef22fc04e12 100644 --- a/core/chains/evm/config/toml/defaults/OKX_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/OKX_Mainnet.toml @@ -1 +1,7 @@ ChainID = '66' +FinalityDepth = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/OKX_Testnet.toml b/core/chains/evm/config/toml/defaults/OKX_Testnet.toml index 2587f010b18..494cafffc80 100644 --- a/core/chains/evm/config/toml/defaults/OKX_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/OKX_Testnet.toml @@ -1 +1,7 @@ ChainID = '65' +FinalityDepth = 50 + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Optimism_Goerli.toml b/core/chains/evm/config/toml/defaults/Optimism_Goerli.toml index 76c976a9114..c403421758c 100644 --- a/core/chains/evm/config/toml/defaults/Optimism_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/Optimism_Goerli.toml @@ -1,6 +1,7 @@ ChainID = '420' ChainType = 'optimismBedrock' FinalityDepth = 200 +FinalityTagEnabled = true LinkContractAddress = '0xdc2CC710e42857672E7907CF474a69B63B93089f' LogPollInterval = '2s' NoNewHeadsThreshold = '40s' @@ -23,6 +24,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Optimism_Mainnet.toml b/core/chains/evm/config/toml/defaults/Optimism_Mainnet.toml index cd09ad4a60f..d1576203100 100644 --- a/core/chains/evm/config/toml/defaults/Optimism_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Optimism_Mainnet.toml @@ -25,6 +25,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Optimism_Sepolia.toml b/core/chains/evm/config/toml/defaults/Optimism_Sepolia.toml index ff367df0feb..b2fd2e1a578 100644 --- a/core/chains/evm/config/toml/defaults/Optimism_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Optimism_Sepolia.toml @@ -24,6 +24,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Polygon_Amoy.toml b/core/chains/evm/config/toml/defaults/Polygon_Amoy.toml index bca42d9b403..5cec7f84a42 100644 --- a/core/chains/evm/config/toml/defaults/Polygon_Amoy.toml +++ b/core/chains/evm/config/toml/defaults/Polygon_Amoy.toml @@ -23,6 +23,9 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Polygon_Mainnet.toml b/core/chains/evm/config/toml/defaults/Polygon_Mainnet.toml index bf605cab3c6..523ae3f8e52 100644 --- a/core/chains/evm/config/toml/defaults/Polygon_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Polygon_Mainnet.toml @@ -33,6 +33,9 @@ BlockHistorySize = 24 [HeadTracker] # Polygon suffers from a tremendous number of re-orgs, we need to set this to something very large to be conservative enough HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Polygon_Mumbai.toml b/core/chains/evm/config/toml/defaults/Polygon_Mumbai.toml index b9c993c6b23..111dd9f1ae0 100644 --- a/core/chains/evm/config/toml/defaults/Polygon_Mumbai.toml +++ b/core/chains/evm/config/toml/defaults/Polygon_Mumbai.toml @@ -1,5 +1,6 @@ ChainID = '80001' FinalityDepth = 500 +FinalityTagEnabled = true LinkContractAddress = '0x326C977E6efc84E512bB9C30f76E30c160eD06FB' LogPollInterval = '1s' MinIncomingConfirmations = 5 @@ -22,6 +23,9 @@ BlockHistorySize = 24 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Cardona.toml b/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Cardona.toml index 5e5bc573706..46ffbb45bff 100644 --- a/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Cardona.toml +++ b/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Cardona.toml @@ -24,6 +24,9 @@ CacheTimeout = '4s' [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Mainnet.toml b/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Mainnet.toml index 1952c40d590..d42ef9b057e 100644 --- a/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Polygon_Zkevm_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '1101' ChainType = 'zkevm' -FinalityDepth = 500 +FinalityDepth = 1000 NoNewHeadsThreshold = '6m' MinIncomingConfirmations = 1 LogPollInterval = '30s' diff --git a/core/chains/evm/config/toml/defaults/RSK_Mainnet.toml b/core/chains/evm/config/toml/defaults/RSK_Mainnet.toml index 8290481a331..2f846077d4c 100644 --- a/core/chains/evm/config/toml/defaults/RSK_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/RSK_Mainnet.toml @@ -1,5 +1,6 @@ # RSK prices its txes in sats not wei ChainID = '30' +FinalityDepth = 50 LinkContractAddress = '0x14AdaE34beF7ca957Ce2dDe5ADD97ea050123827' LogPollInterval = '30s' MinContractPayment = '0.001 link' @@ -11,3 +12,8 @@ PriceMax = '50 gwei' PriceMin = '0' # rsk does not yet support EIP-1559 but this allows validation to pass FeeCapDefault = '100 mwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/RSK_Testnet.toml b/core/chains/evm/config/toml/defaults/RSK_Testnet.toml index 2fde16aa7cc..3ea70822fea 100644 --- a/core/chains/evm/config/toml/defaults/RSK_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/RSK_Testnet.toml @@ -1,4 +1,5 @@ ChainID = '31' +FinalityDepth = 50 LinkContractAddress = '0x8bBbd80981FE76d44854D8DF305e8985c19f0e78' MinContractPayment = '0.001 link' LogPollInterval = '30s' @@ -8,3 +9,8 @@ PriceDefault = '50 mwei' PriceMax = '50 gwei' PriceMin = '0' FeeCapDefault = '100 mwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/Scroll_Mainnet.toml b/core/chains/evm/config/toml/defaults/Scroll_Mainnet.toml index 6a7441201ae..23dfa155773 100644 --- a/core/chains/evm/config/toml/defaults/Scroll_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/Scroll_Mainnet.toml @@ -21,6 +21,9 @@ OracleAddress = '0x5300000000000000000000000000000000000002' [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [OCR] ContractConfirmations = 1 diff --git a/core/chains/evm/config/toml/defaults/Scroll_Sepolia.toml b/core/chains/evm/config/toml/defaults/Scroll_Sepolia.toml index 1351bf73ded..e0e1c2cf46d 100644 --- a/core/chains/evm/config/toml/defaults/Scroll_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Scroll_Sepolia.toml @@ -21,6 +21,9 @@ OracleAddress = '0x5300000000000000000000000000000000000002' [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [OCR] ContractConfirmations = 1 diff --git a/core/chains/evm/config/toml/defaults/Simulated.toml b/core/chains/evm/config/toml/defaults/Simulated.toml index 65e627a7abd..d320e315fb2 100644 --- a/core/chains/evm/config/toml/defaults/Simulated.toml +++ b/core/chains/evm/config/toml/defaults/Simulated.toml @@ -19,6 +19,9 @@ PriceMax = '100 micro' HistoryDepth = 10 MaxBufferSize = 100 SamplingInterval = '0s' +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] EnforceRepeatableRead = false # disable for simulation to prevent failure of tests with manual commit and reorgs diff --git a/core/chains/evm/config/toml/defaults/Soneium_Sepolia.toml b/core/chains/evm/config/toml/defaults/Soneium_Sepolia.toml index 7ab92f04e5b..214e3f2895b 100755 --- a/core/chains/evm/config/toml/defaults/Soneium_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/Soneium_Sepolia.toml @@ -25,6 +25,9 @@ ResendAfterThreshold = '30s' [HeadTracker] HistoryDepth = 300 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [NodePool] SyncThreshold = 10 diff --git a/core/chains/evm/config/toml/defaults/WeMix_Mainnet.toml b/core/chains/evm/config/toml/defaults/WeMix_Mainnet.toml index 8af3f1bb9e5..e618263c36f 100644 --- a/core/chains/evm/config/toml/defaults/WeMix_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/WeMix_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '1111' ChainType = 'wemix' -FinalityDepth = 10 +FinalityDepth = 1 FinalityTagEnabled = true MinIncomingConfirmations = 1 # WeMix emits a block every 1 second, regardless of transactions @@ -15,3 +15,8 @@ ContractConfirmations = 1 [GasEstimator] EIP1559DynamicFees = true TipCapDefault = '100 gwei' + +[HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/WeMix_Testnet.toml b/core/chains/evm/config/toml/defaults/WeMix_Testnet.toml index 451d22a1557..6ea694e8cb1 100644 --- a/core/chains/evm/config/toml/defaults/WeMix_Testnet.toml +++ b/core/chains/evm/config/toml/defaults/WeMix_Testnet.toml @@ -1,6 +1,6 @@ ChainID = '1112' ChainType = 'wemix' -FinalityDepth = 10 +FinalityDepth = 1 FinalityTagEnabled = true MinIncomingConfirmations = 1 # WeMix emits a block every 1 second, regardless of transactions @@ -17,4 +17,6 @@ EIP1559DynamicFees = true TipCapDefault = '100 gwei' [HeadTracker] +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/XLayer_Mainnet.toml b/core/chains/evm/config/toml/defaults/XLayer_Mainnet.toml index 1d96e95e10d..b9b45e186ff 100644 --- a/core/chains/evm/config/toml/defaults/XLayer_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/XLayer_Mainnet.toml @@ -1,6 +1,6 @@ ChainID = '196' ChainType = 'xlayer' -FinalityDepth = 500 +FinalityDepth = 1000 NoNewHeadsThreshold = '6m' MinIncomingConfirmations = 1 LogPollInterval = '30s' diff --git a/core/chains/evm/config/toml/defaults/XLayer_Sepolia.toml b/core/chains/evm/config/toml/defaults/XLayer_Sepolia.toml index 3f4a5debde5..be35ef58555 100644 --- a/core/chains/evm/config/toml/defaults/XLayer_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/XLayer_Sepolia.toml @@ -24,6 +24,9 @@ BlockHistorySize = 12 [HeadTracker] HistoryDepth = 2000 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false [Transactions.AutoPurge] Enabled = true diff --git a/core/chains/evm/config/toml/defaults/fallback.toml b/core/chains/evm/config/toml/defaults/fallback.toml index ab349ee4688..15690420cd9 100644 --- a/core/chains/evm/config/toml/defaults/fallback.toml +++ b/core/chains/evm/config/toml/defaults/fallback.toml @@ -1,7 +1,7 @@ AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false -FinalityDepth = 50 +FinalityDepth = 10 FinalityTagEnabled = false LogBackfillBatchSize = 1000 LogPollInterval = '15s' @@ -64,6 +64,8 @@ CacheTimeout = '10s' HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC FinalityTagBypass = true MaxAllowedFinalityDepth = 10000 PersistenceEnabled = true diff --git a/core/chains/evm/config/toml/defaults/zkSync_Goerli.toml b/core/chains/evm/config/toml/defaults/zkSync_Goerli.toml index 035eec62d49..1f06789740f 100644 --- a/core/chains/evm/config/toml/defaults/zkSync_Goerli.toml +++ b/core/chains/evm/config/toml/defaults/zkSync_Goerli.toml @@ -15,3 +15,6 @@ OracleType = 'zksync' [HeadTracker] HistoryDepth = 50 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/core/chains/evm/config/toml/defaults/zkSync_Mainnet.toml b/core/chains/evm/config/toml/defaults/zkSync_Mainnet.toml index 85282ea81b3..edcdb45ac14 100644 --- a/core/chains/evm/config/toml/defaults/zkSync_Mainnet.toml +++ b/core/chains/evm/config/toml/defaults/zkSync_Mainnet.toml @@ -1,18 +1,32 @@ ChainID = '324' ChainType = 'zksync' -FinalityDepth = 10 +# 1200block ~ 20min concurrent with the l1_committed tag +FinalityDepth = 1200 +# block rate is ~2-5sec, so this ensures blocks are polled correctly LogPollInterval = '5s' -MinIncomingConfirmations = 1 +# sufficient time for RPC to be labelled out of sync, since blockRate is pretty fast NoNewHeadsThreshold = '1m' FinalizedBlockOffset = 2 [GasEstimator] -LimitDefault = 100_000_000 -PriceMax = 18446744073709551615 -PriceMin = 0 +# no EIP1559 to ensure our estimator doesnot estimate gas with MaxPriorityFee which will break minFunding requirement +EIP1559DynamicFees = false +# high LimitDefault for worst case pubdata bytes with BatchGasLimit reduced to 4M in OCR2Config +LimitDefault = 2_500_000_000 +FeeCapDefault = '500 mwei' +PriceDefault = '25 mwei' +# p999 value for gasPrice based on historical data +PriceMax = '500 mwei' +# avg gasPrices are at 0.025 gwei +PriceMin = '25 mwei' + +[GasEstimator.BlockHistory] +# increasing this to smooth out gas estimation +BlockHistorySize = 200 [GasEstimator.DAOracle] OracleType = 'zksync' [HeadTracker] -HistoryDepth = 50 +# tracks top N blocks to keep in heads database table. Should store atleast the same # of blocks as finalityDepth +HistoryDepth = 1500 \ No newline at end of file diff --git a/core/chains/evm/config/toml/defaults/zkSync_Sepolia.toml b/core/chains/evm/config/toml/defaults/zkSync_Sepolia.toml index 78ed3c0768d..d599af8450e 100644 --- a/core/chains/evm/config/toml/defaults/zkSync_Sepolia.toml +++ b/core/chains/evm/config/toml/defaults/zkSync_Sepolia.toml @@ -1,18 +1,35 @@ ChainID = '300' ChainType = 'zksync' -FinalityDepth = 10 +# 200block ~ 20min concurrent with the l1_committed tag +FinalityDepth = 200 +# block rate is ~2-5sec, so this ensures blocks are polled correctly LogPollInterval = '5s' -MinIncomingConfirmations = 1 +# sufficient time for RPC to be labelled out of sync, since blockRate is pretty fast NoNewHeadsThreshold = '1m' FinalizedBlockOffset = 2 [GasEstimator] -LimitDefault = 100_000_000 -PriceMax = 18446744073709551615 -PriceMin = 0 +# no EIP1559 to ensure our estimator doesnot estimate gas with MaxPriorityFee which will break minFunding requirement +EIP1559DynamicFees = false +# high LimitDefault for worst case pubdata bytes with BatchGasLimit reduced to 4M in OCR2Config +LimitDefault = 2_500_000_000 +FeeCapDefault = '500 mwei' +PriceDefault = '25 mwei' +# p999 value for gasPrice based on historical data +PriceMax = '500 mwei' +# avg gasPrices are at 0.025 gwei +PriceMin = '25 mwei' + +[GasEstimator.BlockHistory] +# increasing this to smooth out gas estimation +BlockHistorySize = 200 [GasEstimator.DAOracle] OracleType = 'zksync' [HeadTracker] -HistoryDepth = 50 +# tracks top N blocks to keep in heads database table. Should store atleast the same # of blocks as finalityDepth +HistoryDepth = 250 +# FinalityDepth > 1k => FinalityTagBypass = false +# https://chainlink-core.slack.com/archives/C07RA1B58CC/p1730983397689179?thread_ts=1730908333.814809&cid=C07RA1B58CC +FinalityTagBypass = false diff --git a/docs/CONFIG.md b/docs/CONFIG.md index 10177f9e4bb..12fee96c705 100644 --- a/docs/CONFIG.md +++ b/docs/CONFIG.md @@ -2030,7 +2030,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2134,7 +2134,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2238,7 +2238,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2342,7 +2342,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2451,7 +2451,7 @@ HistoryDepth = 300 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2555,7 +2555,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2659,7 +2659,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2764,7 +2764,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2868,7 +2868,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -2971,7 +2971,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3074,7 +3074,110 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false +PersistenceEnabled = true + +[NodePool] +PollFailureThreshold = 5 +PollInterval = '10s' +SelectionMode = 'HighestHead' +SyncThreshold = 5 +LeaseDuration = '0s' +NodeIsSyncingEnabled = false +FinalizedBlockPollInterval = '5s' +EnforceRepeatableRead = true +DeathDeclarationDelay = '1m0s' +NewHeadsPollInterval = '0s' + +[OCR] +ContractConfirmations = 4 +ContractTransmitterTransmitTimeout = '10s' +DatabaseTimeout = '10s' +DeltaCOverride = '168h0m0s' +DeltaCJitterOverride = '1h0m0s' +ObservationGracePeriod = '1s' + +[OCR2] +[OCR2.Automation] +GasLimit = 5400000 + +[Workflow] +GasLimitDefault = 400000 +``` + +
+ ++ +```toml +AutoCreateKey = true +BlockBackfillDepth = 10 +BlockBackfillSkip = false +FinalityDepth = 100 +FinalityTagEnabled = true +LogBackfillBatchSize = 1000 +LogPollInterval = '6s' +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 = '0s' + +[Transactions] +ForwardersEnabled = false +MaxInFlight = 16 +MaxQueued = 250 +ReaperInterval = '1h0m0s' +ReaperThreshold = '168h0m0s' +ResendAfterThreshold = '1m0s' + +[Transactions.AutoPurge] +Enabled = false + +[BalanceMonitor] +Enabled = true + +[GasEstimator] +Mode = 'BlockHistory' +PriceDefault = '20 gwei' +PriceMax = '100 micro' +PriceMin = '1 gwei' +LimitDefault = 8000000 +LimitMax = 500000 +LimitMultiplier = '1' +LimitTransfer = 21000 +EstimateLimit = false +BumpMin = '5 gwei' +BumpPercent = 20 +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 = false PersistenceEnabled = true [NodePool] @@ -3283,7 +3386,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3387,7 +3490,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3491,7 +3594,7 @@ HistoryDepth = 2000 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3596,7 +3699,7 @@ HistoryDepth = 2000 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3636,7 +3739,7 @@ AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false ChainType = 'xlayer' -FinalityDepth = 500 +FinalityDepth = 1000 FinalityTagEnabled = false LogBackfillBatchSize = 1000 LogPollInterval = '30s' @@ -3805,7 +3908,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -3845,7 +3948,7 @@ AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false ChainType = 'kroma' -FinalityDepth = 400 +FinalityDepth = 700 FinalityTagEnabled = true LogBackfillBatchSize = 1000 LogPollInterval = '2s' @@ -3913,7 +4016,7 @@ HistoryDepth = 400 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4020,7 +4123,7 @@ HistoryDepth = 50 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4124,7 +4227,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4228,7 +4331,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4268,14 +4371,14 @@ AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false ChainType = 'zksync' -FinalityDepth = 10 +FinalityDepth = 200 FinalityTagEnabled = false LogBackfillBatchSize = 1000 LogPollInterval = '5s' LogKeepBlocksDepth = 100000 LogPrunePageSize = 0 BackupLogPollerBlockDelay = 100 -MinIncomingConfirmations = 1 +MinIncomingConfirmations = 3 MinContractPayment = '0.00001 link' NonceAutoSync = true NoNewHeadsThreshold = '1m0s' @@ -4301,10 +4404,10 @@ Enabled = true [GasEstimator] Mode = 'BlockHistory' -PriceDefault = '20 gwei' -PriceMax = '18.446744073709551615 ether' -PriceMin = '0' -LimitDefault = 100000000 +PriceDefault = '25 mwei' +PriceMax = '500 mwei' +PriceMin = '25 mwei' +LimitDefault = 2500000000 LimitMax = 500000 LimitMultiplier = '1' LimitTransfer = 21000 @@ -4313,13 +4416,13 @@ BumpMin = '5 gwei' BumpPercent = 20 BumpThreshold = 3 EIP1559DynamicFees = false -FeeCapDefault = '100 gwei' +FeeCapDefault = '500 mwei' TipCapDefault = '1 wei' TipCapMin = '1 wei' [GasEstimator.BlockHistory] BatchSize = 25 -BlockHistorySize = 8 +BlockHistorySize = 200 CheckInclusionBlocks = 12 CheckInclusionPercentile = 90 TransactionPercentile = 60 @@ -4331,11 +4434,11 @@ CacheTimeout = '10s' OracleType = 'zksync' [HeadTracker] -HistoryDepth = 50 +HistoryDepth = 250 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4375,14 +4478,14 @@ AutoCreateKey = true BlockBackfillDepth = 10 BlockBackfillSkip = false ChainType = 'zksync' -FinalityDepth = 10 +FinalityDepth = 1200 FinalityTagEnabled = false LogBackfillBatchSize = 1000 LogPollInterval = '5s' LogKeepBlocksDepth = 100000 LogPrunePageSize = 0 BackupLogPollerBlockDelay = 100 -MinIncomingConfirmations = 1 +MinIncomingConfirmations = 3 MinContractPayment = '0.00001 link' NonceAutoSync = true NoNewHeadsThreshold = '1m0s' @@ -4408,10 +4511,10 @@ Enabled = true [GasEstimator] Mode = 'BlockHistory' -PriceDefault = '20 gwei' -PriceMax = '18.446744073709551615 ether' -PriceMin = '0' -LimitDefault = 100000000 +PriceDefault = '25 mwei' +PriceMax = '500 mwei' +PriceMin = '25 mwei' +LimitDefault = 2500000000 LimitMax = 500000 LimitMultiplier = '1' LimitTransfer = 21000 @@ -4420,13 +4523,13 @@ BumpMin = '5 gwei' BumpPercent = 20 BumpThreshold = 3 EIP1559DynamicFees = false -FeeCapDefault = '100 gwei' +FeeCapDefault = '500 mwei' TipCapDefault = '1 wei' TipCapMin = '1 wei' [GasEstimator.BlockHistory] BatchSize = 25 -BlockHistorySize = 8 +BlockHistorySize = 200 CheckInclusionBlocks = 12 CheckInclusionPercentile = 90 TransactionPercentile = 60 @@ -4438,7 +4541,7 @@ CacheTimeout = '10s' OracleType = 'zksync' [HeadTracker] -HistoryDepth = 50 +HistoryDepth = 1500 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 @@ -4483,7 +4586,7 @@ BlockBackfillDepth = 10 BlockBackfillSkip = false ChainType = 'optimismBedrock' FinalityDepth = 200 -FinalityTagEnabled = false +FinalityTagEnabled = true LinkContractAddress = '0xdc2CC710e42857672E7907CF474a69B63B93089f' LogBackfillBatchSize = 1000 LogPollInterval = '2s' @@ -4551,7 +4654,7 @@ HistoryDepth = 300 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4655,7 +4758,7 @@ HistoryDepth = 100 MaxBufferSize = 3 SamplingInterval = '1s' MaxAllowedFinalityDepth = 10000 -FinalityTagBypass = true +FinalityTagBypass = false PersistenceEnabled = true [NodePool] @@ -4688,23 +4791,24 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 10
-FinalityTagEnabled = false
+ChainType = 'astar'
+FinalityDepth = 100
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '15s'
+LogPollInterval = '6s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 1
+MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '30s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
@@ -4726,18 +4830,18 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'SuggestedPrice'
-PriceDefault = '750 gwei'
-PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '100 micro'
PriceMin = '1 gwei'
-LimitDefault = 500000
+LimitDefault = 8000000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
BumpMin = '5 gwei'
BumpPercent = 20
-BumpThreshold = 5
+BumpThreshold = 3
EIP1559DynamicFees = false
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
@@ -4758,7 +4862,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -4774,7 +4878,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -4791,24 +4895,24 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-ChainType = 'metis'
-FinalityDepth = 10
+ChainType = 'optimismBedrock'
+FinalityDepth = 200
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '15s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 1
+MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
@@ -4830,46 +4934,47 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'SuggestedPrice'
+Mode = 'BlockHistory'
PriceDefault = '20 gwei'
-PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '0'
-LimitDefault = 500000
+PriceMax = '120 gwei'
+PriceMin = '1 gwei'
+LimitDefault = 8000000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
-BumpMin = '5 gwei'
+BumpMin = '100 wei'
BumpPercent = 20
-BumpThreshold = 3
-EIP1559DynamicFees = false
-FeeCapDefault = '100 gwei'
+BumpThreshold = 60
+EIP1559DynamicFees = true
+FeeCapDefault = '120 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 0
+BlockHistorySize = 200
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
+EIP1559FeeCapBufferBlocks = 0
TransactionPercentile = 60
[GasEstimator.FeeHistory]
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 100
+HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
-PollFailureThreshold = 5
-PollInterval = '10s'
+PollFailureThreshold = 2
+PollInterval = '3s'
SelectionMode = 'HighestHead'
-SyncThreshold = 10
+SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -4878,7 +4983,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -4895,27 +5000,26 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-ChainType = 'zkevm'
-FinalityDepth = 500
+FinalityDepth = 10
FinalityTagEnabled = false
LogBackfillBatchSize = 1000
-LogPollInterval = '30s'
+LogPollInterval = '15s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '6m0s'
+NoNewHeadsThreshold = '30s'
LogBroadcasterEnabled = true
-RPCDefaultBatchSize = 100
-RPCBlockQueryDelay = 15
+RPCDefaultBatchSize = 250
+RPCBlockQueryDelay = 1
FinalizedBlockOffset = 0
NoNewFinalizedHeadsThreshold = '0s'
@@ -4925,29 +5029,237 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
-Enabled = true
-MinAttempts = 3
+Enabled = false
[BalanceMonitor]
Enabled = true
[GasEstimator]
-Mode = 'FeeHistory'
-PriceDefault = '20 gwei'
+Mode = 'SuggestedPrice'
+PriceDefault = '750 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
-BumpThreshold = 3
-EIP1559DynamicFees = false
+BumpPercent = 20
+BumpThreshold = 5
+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 = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'metis'
+FinalityDepth = 500
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '15s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
+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 = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'SuggestedPrice'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '0'
+LimitDefault = 500000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = false
+FeeCapDefault = '100 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 0
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 10
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'zkevm'
+FinalityDepth = 1000
+FinalityTagEnabled = false
+LogBackfillBatchSize = 1000
+LogPollInterval = '30s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
+MinContractPayment = '0.00001 link'
+NonceAutoSync = true
+NoNewHeadsThreshold = '6m0s'
+LogBroadcasterEnabled = true
+RPCDefaultBatchSize = 100
+RPCBlockQueryDelay = 15
+FinalizedBlockOffset = 0
+NoNewFinalizedHeadsThreshold = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '3m0s'
+
+[Transactions.AutoPurge]
+Enabled = true
+MinAttempts = 3
+
+[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'
@@ -5007,7 +5319,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'wemix'
-FinalityDepth = 10
+FinalityDepth = 1
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '3s'
@@ -5071,7 +5383,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5111,7 +5423,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'wemix'
-FinalityDepth = 10
+FinalityDepth = 1
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '3s'
@@ -5278,7 +5590,7 @@ HistoryDepth = 10
MaxBufferSize = 100
SamplingInterval = '0s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5387,7 +5699,7 @@ HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5427,7 +5739,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'kroma'
-FinalityDepth = 400
+FinalityDepth = 700
FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '2s'
@@ -5495,7 +5807,7 @@ HistoryDepth = 400
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5600,7 +5912,7 @@ HistoryDepth = 2000
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5704,7 +6016,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5737,6 +6049,111 @@ GasLimitDefault = 400000
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 1200
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '2s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
+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 = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'L2Suggested'
+PriceDefault = '20 gwei'
+PriceMax = '200 gwei'
+PriceMin = '1 gwei'
+LimitDefault = 100000000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 3
+EIP1559DynamicFees = false
+FeeCapDefault = '200 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 200
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+EIP1559FeeCapBufferBlocks = 0
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[HeadTracker]
+HistoryDepth = 600
+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 = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
```toml
@@ -5807,7 +6224,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -5915,7 +6332,7 @@ HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -6019,7 +6436,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -6127,7 +6544,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -6169,16 +6586,123 @@ BlockBackfillSkip = false
ChainType = 'arbitrum'
FinalityDepth = 10
FinalityTagEnabled = true
-LinkContractAddress = '0xa71848C99155DA0b245981E5ebD1C94C4be51c43'
+LinkContractAddress = '0xa71848C99155DA0b245981E5ebD1C94C4be51c43'
+LogBackfillBatchSize = 1000
+LogPollInterval = '10s'
+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 = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'Arbitrum'
+PriceDefault = '100 mwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '0'
+LimitDefault = 500000
+LimitMax = 1000000000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '5 gwei'
+BumpPercent = 20
+BumpThreshold = 5
+EIP1559DynamicFees = false
+FeeCapDefault = '1 micro'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 8
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[GasEstimator.DAOracle]
+OracleType = 'arbitrum'
+
+[HeadTracker]
+HistoryDepth = 100
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 1
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 200
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '10s'
+LogPollInterval = '15s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
MinIncomingConfirmations = 3
MinContractPayment = '0.00001 link'
NonceAutoSync = true
-NoNewHeadsThreshold = '0s'
+NoNewHeadsThreshold = '3m0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
RPCBlockQueryDelay = 1
@@ -6200,47 +6724,45 @@ Enabled = false
Enabled = true
[GasEstimator]
-Mode = 'Arbitrum'
-PriceDefault = '100 mwei'
-PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '0'
-LimitDefault = 500000
-LimitMax = 1000000000
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '120 gwei'
+PriceMin = '1 gwei'
+LimitDefault = 8000000
+LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
-BumpMin = '5 gwei'
+BumpMin = '100 wei'
BumpPercent = 20
-BumpThreshold = 5
-EIP1559DynamicFees = false
-FeeCapDefault = '1 micro'
+BumpThreshold = 60
+EIP1559DynamicFees = true
+FeeCapDefault = '120 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 200
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
+EIP1559FeeCapBufferBlocks = 0
TransactionPercentile = 60
[GasEstimator.FeeHistory]
CacheTimeout = '10s'
-[GasEstimator.DAOracle]
-OracleType = 'arbitrum'
-
[HeadTracker]
-HistoryDepth = 100
+HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
-PollFailureThreshold = 5
-PollInterval = '10s'
+PollFailureThreshold = 2
+PollInterval = '3s'
SelectionMode = 'HighestHead'
SyncThreshold = 5
LeaseDuration = '0s'
@@ -6251,7 +6773,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -6275,7 +6797,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'arbitrum'
-FinalityDepth = 50
+FinalityDepth = 10
FinalityTagEnabled = true
LinkContractAddress = '0xf97f4df75117a78c1A5a0DBb814Af92458539FB4'
LogBackfillBatchSize = 1000
@@ -6384,7 +6906,7 @@ BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'celo'
FinalityDepth = 10
-FinalityTagEnabled = false
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '5s'
LogKeepBlocksDepth = 100000
@@ -6447,7 +6969,7 @@ HistoryDepth = 50
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -6655,7 +7177,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7084,7 +7606,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7123,14 +7645,225 @@ GasLimitDefault = 400000
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 900
+FinalityDepth = 200
+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 = true
+Threshold = 50
+MinAttempts = 3
+
+[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 = 1000
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+FinalityDepth = 600
FinalityTagEnabled = false
LogBackfillBatchSize = 1000
LogPollInterval = '15s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 3
+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 = true
+Threshold = 50
+MinAttempts = 3
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
+PriceMin = '400 mwei'
+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 = 350
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 5
+PollInterval = '10s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'metis'
+FinalityDepth = 3000
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '15s'
+LogKeepBlocksDepth = 100000
+LogPrunePageSize = 0
+BackupLogPollerBlockDelay = 100
+MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
NoNewHeadsThreshold = '0s'
@@ -7146,21 +7879,19 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
-Enabled = true
-Threshold = 50
-MinAttempts = 3
+Enabled = false
[BalanceMonitor]
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'
@@ -7169,14 +7900,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
@@ -7185,7 +7916,7 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 1000
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
@@ -7196,7 +7927,7 @@ PersistenceEnabled = true
PollFailureThreshold = 5
PollInterval = '10s'
SelectionMode = 'HighestHead'
-SyncThreshold = 5
+SyncThreshold = 10
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -7205,7 +7936,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 4
+ContractConfirmations = 1
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7222,26 +7953,27 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 300
+FinalityDepth = 1
FinalityTagEnabled = false
+LinkContractAddress = '0x779877A7B0D9E8603169DdbD7836e478b4624789'
LogBackfillBatchSize = 1000
-LogPollInterval = '15s'
+LogPollInterval = '3s'
LogKeepBlocksDepth = 100000
LogPrunePageSize = 0
BackupLogPollerBlockDelay = 100
-MinIncomingConfirmations = 3
+MinIncomingConfirmations = 1
MinContractPayment = '0.00001 link'
NonceAutoSync = true
NoNewHeadsThreshold = '0s'
LogBroadcasterEnabled = true
RPCDefaultBatchSize = 250
-RPCBlockQueryDelay = 1
+RPCBlockQueryDelay = 2
FinalizedBlockOffset = 0
NoNewFinalizedHeadsThreshold = '0s'
@@ -7251,28 +7983,26 @@ MaxInFlight = 16
MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
-ResendAfterThreshold = '3m0s'
+ResendAfterThreshold = '1m0s'
[Transactions.AutoPurge]
-Enabled = true
-Threshold = 50
-MinAttempts = 3
+Enabled = false
[BalanceMonitor]
Enabled = true
[GasEstimator]
Mode = 'BlockHistory'
-PriceDefault = '20 gwei'
+PriceDefault = '25 gwei'
PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '400 mwei'
+PriceMin = '25 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'
@@ -7281,7 +8011,7 @@ TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 8
+BlockHistorySize = 24
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
@@ -7290,11 +8020,11 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 350
+HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7310,7 +8040,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 4
+ContractConfirmations = 1
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7327,34 +8057,34 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-ChainType = 'metis'
-FinalityDepth = 10
+FinalityDepth = 500
FinalityTagEnabled = true
+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'
@@ -7366,18 +8096,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'
@@ -7385,7 +8115,7 @@ TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 0
+BlockHistorySize = 24
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
TransactionPercentile = 60
@@ -7394,11 +8124,11 @@ TransactionPercentile = 60
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 100
+HistoryDepth = 2000
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7414,7 +8144,7 @@ DeathDeclarationDelay = '1m0s'
NewHeadsPollInterval = '0s'
[OCR]
-ContractConfirmations = 1
+ContractConfirmations = 4
ContractTransmitterTransmitTimeout = '10s'
DatabaseTimeout = '10s'
DeltaCOverride = '168h0m0s'
@@ -7431,7 +8161,7 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
@@ -7439,7 +8169,6 @@ BlockBackfillDepth = 10
BlockBackfillSkip = false
FinalityDepth = 500
FinalityTagEnabled = false
-LinkContractAddress = '0x326C977E6efc84E512bB9C30f76E30c160eD06FB'
LogBackfillBatchSize = 1000
LogPollInterval = '1s'
LogKeepBlocksDepth = 100000
@@ -7453,7 +8182,7 @@ LogBroadcasterEnabled = true
RPCDefaultBatchSize = 100
RPCBlockQueryDelay = 10
FinalizedBlockOffset = 0
-NoNewFinalizedHeadsThreshold = '0s'
+NoNewFinalizedHeadsThreshold = '12m0s'
[Transactions]
ForwardersEnabled = false
@@ -7482,7 +8211,7 @@ EstimateLimit = false
BumpMin = '20 gwei'
BumpPercent = 20
BumpThreshold = 5
-EIP1559DynamicFees = false
+EIP1559DynamicFees = true
FeeCapDefault = '100 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
@@ -7502,7 +8231,7 @@ HistoryDepth = 2000
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7535,33 +8264,34 @@ GasLimitDefault = 400000
+
```toml
AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
-FinalityDepth = 500
-FinalityTagEnabled = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 200
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
-LogPollInterval = '1s'
+LogPollInterval = '2s'
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 = '0s'
[Transactions]
ForwardersEnabled = false
MaxInFlight = 16
-MaxQueued = 5000
+MaxQueued = 250
ReaperInterval = '1h0m0s'
ReaperThreshold = '168h0m0s'
ResendAfterThreshold = '1m0s'
@@ -7574,45 +8304,46 @@ Enabled = true
[GasEstimator]
Mode = 'BlockHistory'
-PriceDefault = '25 gwei'
-PriceMax = '115792089237316195423570985008687907853269984665.640564039457584007913129639935 tether'
-PriceMin = '25 gwei'
-LimitDefault = 500000
+PriceDefault = '20 gwei'
+PriceMax = '120 gwei'
+PriceMin = '1 gwei'
+LimitDefault = 8000000
LimitMax = 500000
LimitMultiplier = '1'
LimitTransfer = 21000
EstimateLimit = false
-BumpMin = '20 gwei'
+BumpMin = '100 wei'
BumpPercent = 20
-BumpThreshold = 5
+BumpThreshold = 60
EIP1559DynamicFees = true
-FeeCapDefault = '100 gwei'
+FeeCapDefault = '120 gwei'
TipCapDefault = '1 wei'
TipCapMin = '1 wei'
[GasEstimator.BlockHistory]
BatchSize = 25
-BlockHistorySize = 24
+BlockHistorySize = 200
CheckInclusionBlocks = 12
CheckInclusionPercentile = 90
+EIP1559FeeCapBufferBlocks = 0
TransactionPercentile = 60
[GasEstimator.FeeHistory]
CacheTimeout = '10s'
[HeadTracker]
-HistoryDepth = 2000
+HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
-PollFailureThreshold = 5
-PollInterval = '10s'
+PollFailureThreshold = 4
+PollInterval = '4s'
SelectionMode = 'HighestHead'
-SyncThreshold = 10
+SyncThreshold = 5
LeaseDuration = '0s'
NodeIsSyncingEnabled = false
FinalizedBlockPollInterval = '5s'
@@ -7646,7 +8377,7 @@ BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'optimismBedrock'
FinalityDepth = 200
-FinalityTagEnabled = false
+FinalityTagEnabled = true
LogBackfillBatchSize = 1000
LogPollInterval = '2s'
LogKeepBlocksDepth = 100000
@@ -7713,7 +8444,7 @@ HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7755,6 +8486,7 @@ BlockBackfillSkip = false
ChainType = 'optimismBedrock'
FinalityDepth = 200
FinalityTagEnabled = true
+LinkContractAddress = '0xE4aB69C077896252FAFBD49EFD26B5D171A32410'
LogBackfillBatchSize = 1000
LogPollInterval = '2s'
LogKeepBlocksDepth = 100000
@@ -7821,7 +8553,7 @@ HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -7861,7 +8593,7 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'arbitrum'
-FinalityDepth = 50
+FinalityDepth = 10
FinalityTagEnabled = false
LinkContractAddress = '0x615fBe6372676474d9e6933d310469c9b68e9726'
LogBackfillBatchSize = 1000
@@ -7969,8 +8701,8 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'arbitrum'
-FinalityDepth = 50
-FinalityTagEnabled = false
+FinalityDepth = 10
+FinalityTagEnabled = true
LinkContractAddress = '0xd14838A68E8AFBAdE5efb411d5871ea0011AFd28'
LogBackfillBatchSize = 1000
LogPollInterval = '1s'
@@ -8077,8 +8809,9 @@ AutoCreateKey = true
BlockBackfillDepth = 10
BlockBackfillSkip = false
ChainType = 'arbitrum'
-FinalityDepth = 50
+FinalityDepth = 10
FinalityTagEnabled = true
+LinkContractAddress = '0xE4aB69C077896252FAFBD49EFD26B5D171A32410'
LogBackfillBatchSize = 1000
LogPollInterval = '1s'
LogKeepBlocksDepth = 100000
@@ -8253,7 +8986,7 @@ HistoryDepth = 50
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -8362,7 +9095,7 @@ HistoryDepth = 50
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -8574,7 +9307,7 @@ HistoryDepth = 300
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -8607,6 +9340,111 @@ GasLimitDefault = 400000
+
+```toml
+AutoCreateKey = true
+BlockBackfillDepth = 10
+BlockBackfillSkip = false
+ChainType = 'optimismBedrock'
+FinalityDepth = 200
+FinalityTagEnabled = true
+LogBackfillBatchSize = 1000
+LogPollInterval = '2s'
+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 = '0s'
+
+[Transactions]
+ForwardersEnabled = false
+MaxInFlight = 16
+MaxQueued = 250
+ReaperInterval = '1h0m0s'
+ReaperThreshold = '168h0m0s'
+ResendAfterThreshold = '1m0s'
+
+[Transactions.AutoPurge]
+Enabled = false
+
+[BalanceMonitor]
+Enabled = true
+
+[GasEstimator]
+Mode = 'BlockHistory'
+PriceDefault = '20 gwei'
+PriceMax = '120 gwei'
+PriceMin = '1 gwei'
+LimitDefault = 8000000
+LimitMax = 500000
+LimitMultiplier = '1'
+LimitTransfer = 21000
+EstimateLimit = false
+BumpMin = '100 wei'
+BumpPercent = 20
+BumpThreshold = 60
+EIP1559DynamicFees = true
+FeeCapDefault = '120 gwei'
+TipCapDefault = '1 wei'
+TipCapMin = '1 wei'
+
+[GasEstimator.BlockHistory]
+BatchSize = 25
+BlockHistorySize = 200
+CheckInclusionBlocks = 12
+CheckInclusionPercentile = 90
+EIP1559FeeCapBufferBlocks = 0
+TransactionPercentile = 60
+
+[GasEstimator.FeeHistory]
+CacheTimeout = '10s'
+
+[HeadTracker]
+HistoryDepth = 300
+MaxBufferSize = 3
+SamplingInterval = '1s'
+MaxAllowedFinalityDepth = 10000
+FinalityTagBypass = false
+PersistenceEnabled = true
+
+[NodePool]
+PollFailureThreshold = 4
+PollInterval = '4s'
+SelectionMode = 'HighestHead'
+SyncThreshold = 5
+LeaseDuration = '0s'
+NodeIsSyncingEnabled = false
+FinalizedBlockPollInterval = '5s'
+EnforceRepeatableRead = true
+DeathDeclarationDelay = '1m0s'
+NewHeadsPollInterval = '0s'
+
+[OCR]
+ContractConfirmations = 4
+ContractTransmitterTransmitTimeout = '10s'
+DatabaseTimeout = '10s'
+DeltaCOverride = '168h0m0s'
+DeltaCJitterOverride = '1h0m0s'
+ObservationGracePeriod = '1s'
+
+[OCR2]
+[OCR2.Automation]
+GasLimit = 5400000
+
+[Workflow]
+GasLimitDefault = 400000
+```
+
+
```toml
@@ -8678,7 +9516,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
@@ -8782,7 +9620,7 @@ HistoryDepth = 100
MaxBufferSize = 3
SamplingInterval = '1s'
MaxAllowedFinalityDepth = 10000
-FinalityTagBypass = true
+FinalityTagBypass = false
PersistenceEnabled = true
[NodePool]
Astar Mainnet (592)
Metis Mainnet (1088)
Mode Sepolia (919)
Polygon Zkevm Mainnet (1101)
Klaytn Testnet (1001)
Metis Mainnet (1088)
Polygon Zkevm Mainnet (1101)
Mantle Sepolia (5003)
Klaytn Mainnet (8217)
Mode Mainnet (34443)
Linea Mainnet (59144)
Metis Sepolia (59902)
Linea Mainnet (59144)
Avalanche ANZ testnet (76578)
Metis Sepolia (59902)
Polygon Mumbai (80001)
Polygon Mumbai (80001)
Polygon Amoy (80002)
Polygon Amoy (80002)
Blast Mainnet (81457)
Blast Sepolia (168587773)
Harmony Mainnet (1666600000)