From 3d0fee4110314249a38fd4b834f8a70fac66fbfd Mon Sep 17 00:00:00 2001 From: Crystal Gomes Date: Wed, 17 Apr 2024 08:17:22 -0400 Subject: [PATCH] Clarify flickering upkeeps (#1889) --- src/content/chainlink-automation/concepts/best-practice.mdx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/chainlink-automation/concepts/best-practice.mdx b/src/content/chainlink-automation/concepts/best-practice.mdx index dd22e197597..b60c7399bd3 100644 --- a/src/content/chainlink-automation/concepts/best-practice.mdx +++ b/src/content/chainlink-automation/concepts/best-practice.mdx @@ -26,7 +26,9 @@ If your upkeep uses [StreamsLookup](/chainlink-automation/reference/automation-i ### Avoid "flickering" custom logic upkeeps -The Automation DON will evaluate your upkeep regularly and will try to perform it when eligible. However, if the state on chain changes and makes your upkeep ineligible before execution happens, the upkeep might not get performed. For best results, ensure the `checkUpkeep` remains true until execution. +The Automation DON evaluates your upkeep regularly. When your upkeep is eligible, the DON attempts to perform the upkeep. For best results, ensure that `checkUpkeep` remains true until execution. + +If the state of your upkeep "flickers" by rapidly alternating between true and false, then your upkeep is at risk of not being performed. "Flickering" upkeeps might cause unintended consequences because there is latency between observing the state of the chain, getting consensus (v2 and later) on what needs to happen, and confirming the transaction onchain. ### Always test your contracts