-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Currently Zaino's DbV1 is more complex than required for zaino v0.2.0, and is a block of code that is hard ton understand, debug or develop without detailed knowledge of its implementation. This is making release 0.2.0 harder to test and bugfix than it should be. This PR lists a set of tasks which will A: make developing, testing and debugging easier, and B: fix several bugs that have been identified during Testnet deployment.
NOTE: These PRs have been implemented on top of the previous, in the order listed, with each containing a single commit, this has been done to speed development as implementing each would cause many conflicts that would have to be dealt with.
-
Remove redundant V1.0.0->V1.1.0 migration.
- Issue: This migration is not required as V1 has not yet been released and is making bug fixing / pre-release development harder than it should be
- PR: removed DB v1.0.0 -> v1.1.0 migration #914
-
Feature gate out transparent address history and spent mapping functionality from ZainoDB.
- Issue: This functionality is not required for v0.2.0 and is making testing / fixing release candidates harder than it should be
- PR: Transparent address history feature #915
-
Fix get_compact_block_stream slow initialisation on very large block ranges (>~700,000 blocks). (Possibly (temporarily) fixed by 2)
-
Move DbV1 code into sub-modules. (Not Required for release, but useful for testing / debugging)
- Issue: DbV1 code is in a single, large, file. This should be moved into logical sub-modules to ease developing and debugging
- PR: Zainodb module refactor #917
-
Fix ZainoVersionedSerde V2 semantics and BlockIndex serde. (Rebase / Rework required) (Not Required For Release)
- Issues:
- BlockIndex's serde does not currently follow the protocol layed out by ZainoVersionedSerde
- ZainoVersionedSerde required a small fix to enable multiple versions of database structs in the same database tables (this functionality greatly eases migration implementations as Database rewrites are required much less often)
- Original PR here: BUG FIX: BlockIndex V2 serde #828 (This will be simplified and updated given 1-4, possibly split into 2 PRs)
- Issues: