-
Notifications
You must be signed in to change notification settings - Fork 995
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
Murisi/client anchor patch optimized #4442
Conversation
9d02510
to
3950f53
Compare
3da173f
to
1058fa2
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4442 +/- ##
==========================================
+ Coverage 74.48% 74.49% +0.01%
==========================================
Files 339 339
Lines 110643 110786 +143
==========================================
+ Hits 82415 82535 +120
- Misses 28228 28251 +23 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
98ab885
to
72fc7c8
Compare
…bility is disabled.
…f the block index.
72fc7c8
to
6879bff
Compare
8aa7f7f
to
b9bcbc2
Compare
@sug0 @batconjurer Fixed the incorrect |
b9bcbc2
to
2355406
Compare
2355406
to
523af8b
Compare
…t' (#4442) * murisi/client-anchor-patch-optimized-libs-v0.48-backport: Make sure to reset masp_index counter to zero whenever new block is encountered. Correct the masp_index once it has been found. Reduce cloning of state by updating only the Merkle tree when searching for correct ordering. Update commitment tree anchors in benchmarks. Order transactions in the cache according to the MASP index instead of the block index. Assume that Transactions from the indexer are already ordered. Compute the transaction order even when needs_witness_map_update capability is disabled. Added a changelog entry. Factor out the Transaction order search into a separate function. Optimize transaction order search. Make client try all Transaction permutations. Instrumented code with commitment anchor existence checks.
this has been released in |
Describe your changes
Implemented a patch on the MASP client to search for the
Transaction
ordering used by the protocol. Specifically, for a given block, the client goes through different permutations of itsTransaction
s and checks if applying them would result in a note commitment tree anchor in agreement with the protocol. When this condition is met, the client then moves onto the next block doing the same thing until the client is fully synchronized.Improvements from original patch in https://github.com/anoma/namada/tree/murisi/check-acknowledgement :
update_witness_map
by not destroyingShieldedContext
state after finding correct orderinglast_witnessed_tx
so that previously appliedTransaction
s are no longer reappliedneeds_witness_map_update
capability by not updating witness map if it is falseTransaction
s it obtains from events or the indexerChecklist before merging
breaking::
labelsnamada-docs
reponamada-indexer
ornamada-masp-indexer
, a corresponding PR is opened in that repo