-
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
[BCI-2235] Abandoned Transaction Tracking #11143
[BCI-2235] Abandoned Transaction Tracking #11143
Conversation
I see that you haven't updated any README files. Would it make sense to do so? |
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.
This is great work!
I would say, also add abandoned Txs handling inside the Resender. As long as we are tracking those uncofirmed txs, lets also keep resending them.
…om/smartcontractkit/chainlink into BCI-2235-txm-abandoned-tx-tracking
…om/smartcontractkit/chainlink into BCI-2235-txm-abandoned-tx-tracking
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.
Looks good to merge, just a few minor comemnts
SonarQube Quality Gate |
* Create Abandoned Tracker * Handle abandoned transactions * Update abandoned_tracker.go * fix tabbing * Query for non-finalized txes * fix tracker * Resend abandoned txes * Add evm_tx_store test * Resend abandoned transactions * add tracker testing * presubmit * tidy * generate * fix test * lint * tidy * fix txmgr tests * generate * Get tx by ID * generate * ensure tx attemps * Confirm abandoned txes * tracker reset * lint * Update tracker.go * Get Tx by ID * Update text * Make tracker its own component * check finality_depth * remove TxAbandoned state * generate * Fix race conditions * Update db functions * Add state machine to tracker * Delete coverage.txt * lint * count receipts in query * add context * update cltest * Add tracker description * filter chainID * update logger * generate * Update CHANGELOG.md * Test unstarted txes * lint * undo imports --------- Co-authored-by: amit-momin <[email protected]>
Created Tracker to track abandoned transactions (fromAddress’s in evm.txes that are not present in the Confirmer's enabledAddresses list). Abandoned transactions are given a finite time to live (default 6hrs) before marking as fatal_error if not yet confirmed.
The tracker updates when a new block is received and checks if any abandoned transactions have been finalized (receipt is passed minConfirmations / finality_depth)