Skip to content

Commit 5d05369

Browse files
committed
retry nonce errors
1 parent d412fc5 commit 5d05369

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

cmd/device-definitions-api/bulk_update_powertrain.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,16 +128,24 @@ func (p *bulkUpdatePowertrain) Execute(ctx context.Context, _ *flag.FlagSet, _ .
128128
})
129129
}
130130
md, _ := json.Marshal(deviceDefinition.Metadata)
131-
132-
update, err := onChainSvc.Update(ctx, manufName, contracts.DeviceDefinitionUpdateInput{
131+
updateContract := contracts.DeviceDefinitionUpdateInput{
133132
Id: deviceDefinition.ID,
134133
Metadata: string(md),
135134
Ksuid: deviceDefinition.KSUID,
136135
DeviceType: deviceDefinition.DeviceType,
137136
ImageURI: deviceDefinition.ImageURI,
138-
})
137+
}
138+
139+
update, err := onChainSvc.Update(ctx, manufName, updateContract)
139140
if err != nil {
140141
fmt.Printf("%s: Error updating device definition: %v\n", definitionID, err)
142+
if strings.Contains(err.Error(), "nonce too low:") {
143+
time.Sleep(10 * time.Second)
144+
update, err = onChainSvc.Update(ctx, manufName, updateContract)
145+
if err != nil {
146+
fmt.Printf("%s: Error updating device definition: %v\n", definitionID, err)
147+
}
148+
}
141149
return subcommands.ExitFailure
142150
}
143151
fmt.Printf("%s: Updated device definition trx id: %s\nWaiting 10 seconds before next update\n", definitionID, *update)

0 commit comments

Comments
 (0)