-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extract sequence tracking from the Broadcaster #12353
Merged
Merged
Changes from 9 commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
f73a3ec
Extracted sequence tracking from the Broadcaster into a separate comp…
amit-momin 3fb3173
Fixed test and linting
amit-momin 8a68572
Updated NonceTracker to use TXM client
amit-momin ec5abea
Fixed tests
amit-momin 0b22f2b
Moved NonceTracker initialization into the EVM Broadcaster builder
amit-momin a9d75e6
Fixed issue with in-progress tx during startup
amit-momin af8e231
Fixed linting
amit-momin de51eaa
Merge branch 'develop' into txm-sequence-refactor
prashantkumar1982 fb70f96
Added changeset
amit-momin f62b7ee
Updated changeset message
amit-momin 4beeb76
Merge branch 'develop' into txm-sequence-refactor
prashantkumar1982 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
"chainlink": patch | ||
--- | ||
|
||
Fixed nonce gap bug if in-progress tx sent but TXM shutdown before marked as broadcasted | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package types | ||
|
||
import ( | ||
"context" | ||
|
||
"github.com/smartcontractkit/chainlink-common/pkg/services" | ||
"github.com/smartcontractkit/chainlink/v2/common/types" | ||
) | ||
|
||
type SequenceTracker[ | ||
// Represents an account address, in native chain format. | ||
ADDR types.Hashable, | ||
// Represents the sequence type for a chain. For example, nonce for EVM. | ||
SEQ types.Sequence, | ||
] interface { | ||
// Load the next sequence needed for transactions for all enabled addresses | ||
LoadNextSequences(context.Context, []ADDR) | ||
// Get the next sequence to assign to a transaction | ||
GetNextSequence(context.Context, ADDR) (SEQ, error) | ||
// Signals the existing sequence has been used so generates and stores the next sequence | ||
// Can be a no-op depending on the chain | ||
GenerateNextSequence(ADDR, SEQ) | ||
// Syncs the local sequence with the one on-chain in case the address as been used externally | ||
// Can be a no-op depending on the chain | ||
SyncSequence(context.Context, ADDR, services.StopChan) | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Fixed a race condition bug around EVM nonce management, which could cause the Node to skip a nonce and get stuck.