Skip to content

Conversation

@kcalvinalvin
Copy link
Contributor

No description provided.

Since we're moving to a different method for syncing, remove the old
caching code completely.
For swiftsync, you must have an aggregator to check that all the utxos
marked as spent were indeed spent. We create a helper function to
efficiently add and subtract from the aggregator.

We can use big.Int but converting [32]byte hashes to big.Int values
allocate memory and slow down the ibd.
ttl state

Since the ttls are til block 270566, we also add a checkpoint up until
that block.
We implement the aggregator and only add the leaf hashes that are still
utxos at the end of the ttl state.

We don't yet check that the aggregator ends up to 0 after we're finished
with the swiftsync part of the ibd.
If we have ttls, it means we're still doing swiftsync part of the ibd
which means that we don't perform any deletions. Since we don't perform
deletions, there's no need to verify anything.
During the swiftsync part of the ibd, we have no need for the utreexo
proofs. The changed code only asks for the leafdatas.
@kcalvinalvin kcalvinalvin force-pushed the 2025-12-24-utreexo-swiftsync branch from ad1eec6 to 25d6002 Compare January 2, 2026 06:58
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.

1 participant