Skip to content

Conversation

@AnnaShaleva
Copy link
Member

Close #4049.

As an alternative, we may consider attaching a full serialized stateroot instead of just witness (right now stateroot version is missing from the state object which may be a problem in future if stateroot version will be changed).

@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

❌ Patch coverage is 32.38095% with 142 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.31%. Comparing base (6d157f6) to head (b340085).
⚠️ Report is 7 commits behind head on master.

Files with missing lines Patch % Lines
pkg/services/statefetcher/statefetcher.go 0.00% 116 Missing ⚠️
pkg/core/statesync/module.go 69.35% 14 Missing and 5 partials ⚠️
cli/util/upload_state.go 0.00% 3 Missing ⚠️
pkg/core/transaction/witness.go 80.00% 1 Missing and 1 partial ⚠️
pkg/network/server.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4099      +/-   ##
==========================================
- Coverage   83.50%   83.31%   -0.20%     
==========================================
  Files         353      353              
  Lines       42827    42925      +98     
==========================================
  Hits        35764    35764              
- Misses       5305     5401      +96     
- Partials     1758     1760       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@AnnaShaleva
Copy link
Member Author

AnnaShaleva commented Nov 26, 2025

I'll test this code on real network once we finalize the PR.

@AnnaShaleva AnnaShaleva force-pushed the witnessed-root branch 3 times, most recently from e0fdcb0 to a26d6a8 Compare November 28, 2025 10:48
@AnnaShaleva AnnaShaleva marked this pull request as draft November 28, 2025 10:54
@AnnaShaleva
Copy link
Member Author

TestStateSyncModule_Init is the last one that failing, so I'm still in progress of fixing it.

@AnnaShaleva AnnaShaleva force-pushed the witnessed-root branch 3 times, most recently from 8aacb96 to c902752 Compare December 12, 2025 10:42
@AnnaShaleva AnnaShaleva marked this pull request as ready for review December 12, 2025 10:42
A part of #4049.

Signed-off-by: Anna Shaleva <[email protected]>
Oracle, StateRoot and Notary services should properly react to state
jump (either occured after state reset or after statesync finalization).
Otherwise, these services use an out-of-date roles information retrieved
from the previous node state.

Signed-off-by: Anna Shaleva <[email protected]>
A part of #4049.

1. Check the stateroot witness.
2. Ensure witness' public keys match block's validators at the state
   sync height.

Signed-off-by: Anna Shaleva <[email protected]>
This callback is set when module is not active yet, no locking required.

Signed-off-by: Anna Shaleva <[email protected]>
(*Module).syncStage is a subject of change, it may be updated by
statechanging Module's callbacks concurrently.

Signed-off-by: Anna Shaleva <[email protected]>
@AnnaShaleva AnnaShaleva merged commit 2250d03 into master Dec 29, 2025
32 of 34 checks passed
@AnnaShaleva AnnaShaleva deleted the witnessed-root branch December 29, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Attach verified stateroot to NeoFS state objects

3 participants