Working on optimizations, achieved target of sub-10 minute parsing! Improvements include:

For Class B, only prepare an equivalent number of SHA256 hashes to the packet count (rather than MAX_SHA256_OBFUSCATION_TIMES each transaction)

No longer recalculate fee distribution thresholds every block, only when smart property token counts change (eg grant or issuance)

Skip iterating the vector of checkpoints unless we’re actually in a block that is %10000.

Fix the MAX_SEED_BLOCK const that was causing seed blocks >390K to be ignored

Skip actually fetching a property from the SP database when we need to check if it exists (property ID’s are sequential so existence can be inferred from peeking next available property ID)

Wallet cache improvements

Migrate the tally map from std::map to std::unordered_map (this is actually slower at the beginning when we only have a small number of elements, but by about block 300,000 the hashtable lookup of unordered_map starts to see substantial improvements over std::map).

Don’t bother iterating over the outputs again in HandleExodusPurchase if we’re past the Exodus crowdsale & on mainnet