-
Notifications
You must be signed in to change notification settings - Fork 15
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
feat: speedy scc (PRO-777 PRO-593 PRO-434) #3986
Conversation
9b08f6a
to
868a0bf
Compare
PRO-777 Speed up finalisation in APIs
Currently, after an API call (both LP-API and Broker-API) has submitted an extrinsic, the API call does not return until several blocks have been generated AFTER the block containing the submitted extrinsic. We should change it so that once the extrinsic is accepted in a block, the call returns. |
PRO-593 SCC fill nonce gap when using only submit_signed_extrinsic
Using only submit_signed_extrinsic (instead of finalize_signed_extrinsic) will not cause the nonce filling behaviour of the SCC to be used. This means the extrinsic submission can get stuck. finalize_signed_extrinsic is not always desirable as it many repeatedly submit any given extrinsic. |
6929538
to
852a4e0
Compare
I'd like to merge this as in a continue refactoring and adding tests (As this has been tested previously, and it an important improvement). |
engine/src/state_chain_observer/client/extrinsic_api/signed/submission_watcher.rs
Show resolved
Hide resolved
squash
8fdf1a9
to
affea21
Compare
Codecov Report
@@ Coverage Diff @@
## main #3986 +/- ##
======================================
- Coverage 72% 72% -0%
======================================
Files 368 369 +1
Lines 58484 59264 +780
Branches 58484 59264 +780
======================================
+ Hits 42327 42648 +321
- Misses 14060 14500 +440
- Partials 2097 2116 +19
... and 29 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
PRO-434 Add tracing to State Chain Client
We currently don't use tracing to log submitted extrinsics in the SCC, making it hard to debug some issues. We should log what was requested from the SCC and what was actually submitted. |
* disable gap filling * resubmit_window * next_account_nonce rpc squash * use next_account_nonce * New InBlock interface changes only * submission ids * submit with watch stream * check if submission in block * Cache blocks inside SubmissionWatcher * comments * use until_in_block inside api code * fix * fix test * fix for real * logs
* disable gap filling * resubmit_window * next_account_nonce rpc squash * use next_account_nonce * New InBlock interface changes only * submission ids * submit with watch stream * check if submission in block * Cache blocks inside SubmissionWatcher * comments * use until_in_block inside api code * fix * fix test * fix for real * logs
* disable gap filling * resubmit_window * next_account_nonce rpc squash * use next_account_nonce * New InBlock interface changes only * submission ids * submit with watch stream * check if submission in block * Cache blocks inside SubmissionWatcher * comments * use until_in_block inside api code * fix * fix test * fix for real * logs
* disable gap filling * resubmit_window * next_account_nonce rpc squash * use next_account_nonce * New InBlock interface changes only * submission ids * submit with watch stream * check if submission in block * Cache blocks inside SubmissionWatcher * comments * use until_in_block inside api code * fix * fix test * fix for real * logs
@j4m1ef0rd I'm going to close your PR's and integrate those comments and changes into this PR. Considering the behaviour is noticeably different then before.