From 089be68b697b30d309aa12b6c305a86315a0d6e9 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Fri, 20 Sep 2024 10:42:43 -0500 Subject: [PATCH 1/3] remove default finality depth, and allow 0 to be provided by user --- core/services/pipeline/task.eth_tx.go | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/core/services/pipeline/task.eth_tx.go b/core/services/pipeline/task.eth_tx.go index 506a2518f76..59c51f61760 100644 --- a/core/services/pipeline/task.eth_tx.go +++ b/core/services/pipeline/task.eth_tx.go @@ -109,12 +109,7 @@ func (t *ETHTxTask) Run(ctx context.Context, lggr logger.Logger, vars Vars, inpu if err != nil { return Result{Error: err}, runInfo } - var minOutgoingConfirmations uint64 - if min, isSet := maybeMinConfirmations.Uint64(); isSet { - minOutgoingConfirmations = min - } else { - minOutgoingConfirmations = uint64(cfg.FinalityDepth()) - } + minOutgoingConfirmations, isMinConfirmationSet := maybeMinConfirmations.Uint64() txMeta, err := decodeMeta(txMetaMap) if err != nil { @@ -159,7 +154,7 @@ func (t *ETHTxTask) Run(ctx context.Context, lggr logger.Logger, vars Vars, inpu SignalCallback: true, } - if minOutgoingConfirmations > 0 { + if isMinConfirmationSet && minOutgoingConfirmations >= 0 { // Store the task run ID, so we can resume the pipeline when tx is confirmed txRequest.PipelineTaskRunID = &t.uuid txRequest.MinConfirmations = clnull.Uint32From(uint32(minOutgoingConfirmations)) @@ -170,7 +165,7 @@ func (t *ETHTxTask) Run(ctx context.Context, lggr logger.Logger, vars Vars, inpu return Result{Error: errors.Wrapf(ErrTaskRunFailed, "while creating transaction: %v", err)}, retryableRunInfo() } - if minOutgoingConfirmations > 0 { + if minOutgoingConfirmations >= 0 && isMinConfirmationSet { return Result{}, pendingRunInfo() } From 2b9a263e5f97b4f77acdd2e993d1bdd2c62222c0 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Fri, 20 Sep 2024 10:45:36 -0500 Subject: [PATCH 2/3] update changeset --- .changeset/brave-ads-explode.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/brave-ads-explode.md diff --git a/.changeset/brave-ads-explode.md b/.changeset/brave-ads-explode.md new file mode 100644 index 00000000000..e1dd609b60e --- /dev/null +++ b/.changeset/brave-ads-explode.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +Remove finality depth as the default value for minConfirmation for tx jobs. Fixing user provided zero value case. #external From 184be324c73bd4339ef2559f831830a7ab956514 Mon Sep 17 00:00:00 2001 From: Joe Huang Date: Fri, 20 Sep 2024 14:22:14 -0500 Subject: [PATCH 3/3] fix lint --- core/services/pipeline/task.eth_tx.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/services/pipeline/task.eth_tx.go b/core/services/pipeline/task.eth_tx.go index 59c51f61760..c3f1e121f59 100644 --- a/core/services/pipeline/task.eth_tx.go +++ b/core/services/pipeline/task.eth_tx.go @@ -154,7 +154,7 @@ func (t *ETHTxTask) Run(ctx context.Context, lggr logger.Logger, vars Vars, inpu SignalCallback: true, } - if isMinConfirmationSet && minOutgoingConfirmations >= 0 { + if isMinConfirmationSet { // Store the task run ID, so we can resume the pipeline when tx is confirmed txRequest.PipelineTaskRunID = &t.uuid txRequest.MinConfirmations = clnull.Uint32From(uint32(minOutgoingConfirmations)) @@ -165,7 +165,7 @@ func (t *ETHTxTask) Run(ctx context.Context, lggr logger.Logger, vars Vars, inpu return Result{Error: errors.Wrapf(ErrTaskRunFailed, "while creating transaction: %v", err)}, retryableRunInfo() } - if minOutgoingConfirmations >= 0 && isMinConfirmationSet { + if isMinConfirmationSet { return Result{}, pendingRunInfo() }