Skip to content

Commit ae1e95d

Browse files
committed
Refactored Execute transmission state check for all statuses
1 parent b46ae76 commit ae1e95d

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

capabilities/writetarget/write_target.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ func (c *writeTarget) Execute(ctx context.Context, request capabilities.Capabili
171171

172172
// Trace the execution
173173
attrs := c.traceAttributes(request.Metadata.WorkflowExecutionID)
174-
_, span := c.beholder.Tracer.Start(ctx, "Execute", trace.WithAttributes(attrs...))
174+
ctx, span := c.beholder.Tracer.Start(ctx, "Execute", trace.WithAttributes(attrs...))
175175
defer span.End()
176176

177177
// Notice: error skipped as implementation always returns nil
@@ -291,7 +291,15 @@ func (c *writeTarget) Execute(ctx context.Context, request capabilities.Capabili
291291
return capabilities.CapabilityResponse{}, c.asEmittedError(ctx, msg)
292292
}
293293

294-
if state != nil {
294+
switch state.Status {
295+
case TransmissionStateNotAttempted:
296+
c.lggr.Debugw("Transmission not attempted yet, retrying", "reportID", info.reportInfo.reportID)
297+
case TransmissionStateFailed:
298+
c.lggr.Debugw("Tranmissions previously failed, retrying", "reportID", info.reportInfo.reportID)
299+
case TransmissionStateFatal:
300+
msg := builder.buildWriteError(info, 0, "Transmission attempt fatal", state.Err.Error())
301+
return capabilities.CapabilityResponse{}, c.asEmittedError(ctx, msg)
302+
case TransmissionStateSucceeded:
295303
// Source the transmitter address from the on-chain state
296304
info.reportTransmissionState = state
297305

capabilities/writetarget/write_target_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ func TestNewWriteTargetID(t *testing.T) {
3535
expectError: false,
3636
},
3737
{
38-
name: "Invalid input with empty chainFamilyName",
38+
name: "Valid input with empty chainFamilyName",
3939
chainFamilyName: "",
40-
networkName: "mainnet",
40+
networkName: "ethereum-mainnet",
4141
chainID: "1",
4242
version: "1.0.0",
43-
expected: "",
44-
expectError: true,
43+
expected: "[email protected]",
44+
expectError: false,
4545
},
4646
{
4747
name: "Invalid input with empty version",

0 commit comments

Comments
 (0)