fix(nano): authority handling on indexes with contracts#1337
Merged
Conversation
|
| Branch | fix/nano/token-authorities |
| Testbed | ubuntu-22.04 |
Click to view all benchmark results
| Benchmark | Latency | Benchmark Result minutes (m) (Result Δ%) | Lower Boundary minutes (m) (Limit %) | Upper Boundary minutes (m) (Limit %) |
|---|---|---|---|---|
| sync-v2 (up to 20000 blocks) | 📈 view plot 🚷 view threshold | 1.65 m(+0.48%)Baseline: 1.64 m | 1.47 m (89.57%) | 1.80 m (91.35%) |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1337 +/- ##
==========================================
- Coverage 85.68% 85.59% -0.09%
==========================================
Files 424 424
Lines 31989 32095 +106
Branches 4967 4994 +27
==========================================
+ Hits 27411 27473 +62
- Misses 3586 3616 +30
- Partials 992 1006 +14 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
jansegre
approved these changes
Jul 28, 2025
msbrogli
approved these changes
Jul 29, 2025
This was referenced Aug 5, 2025
Merged
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Motivation
This PR resolves https://github.com/HathorNetwork/nano-hathor-core/issues/251: the tokens API doesn't account for authorities stored in Nano Contracts, only in UTXOs.
ATTENTION: We also have to update the clients after this PR. The issue above lists the required changes. This can be done incrementally because the existing keys are kept in the response.
Acceptance Criteria
NCSyscallRecordtoNCIndexUpdateRecordto reflect the fact that now it can include updates caused by actions (not just syscalls).UpdateAuthoritiesRecordindex update record and its respective handling.list[NCAction]toSequence[NCAction]across syscalls and internal methods — since our usage is immutable we can useSequencewhich is more flexible because it's covariant over its items, so we don't need to explicitly type the list when writing blueprints.revoke_authoritiessyscall when contracts don't hold the respective authority. Before, such revoke would simply be a no-op — this change is more consistent, prevents mistakes, and is easier to account for in the indexes./thin_wallet/tokensAPI so it also returns boolscan_mint/can_meltwhich include contract authorities.Checklist
master, confirm this code is production-ready and can be included in future releases as soon as it gets merged