* Update go-secp256k1 to v0.0.3
* Update the txscript engine to support only 32 bytes pubkeys
* Update the txscript engine tests
* Update txscript/sign.go to use the new Schnorr KeyPair API
* Update txscript sign_test to use the new schnorr
* Update sigcache tests to use new schnorr pubkey
* Update integration tests to use the new txscript and new schnorr pubkey
* [NOD-1126]
1. Change function name in BlockValidator interface from: "ValidateProofOfWorkAndDifficulty" to "ValidatePruningPointViolationAndProofOfWorkAndDifficulty".
2. Add to the blockValidator struct the pruningManager (also added to the function "New" Respectively).
3. Added new function "checkPruningPointViolation" of blockValidator type.
4. Add new internal check - "checkPruningPointViolation", on the function "ValidateProofOfWorkAndDifficulty".(The third check).
5. Add new error rule - "ErrPruningPointViolation".
* [Issue-1126]
1. Remove the function "PruningPoint" from PruningManager interface.
2. Changes in blockValidator struct - remove pruningManager, and adding pruningStore.
3. Reads for "pruningPoint" function from pruningStore instead of pruningManager (because of note 1 above) in the functions: * "checkPruningPointViolation" of type blockValidator.
* "FindNextPruningPoint" of type pruningManager.
* [Issue-1126]
1. Add missing error handling.
* [Issue-1126] Changes in function "checkPruningPointViolation": If header = genesis, stop checking and return nil.
* [Issue-1126] In function "checkPruningPointViolation" - change from a for loop to the "IsAncestorOfAny" function.
* [#1126] "FindNextPruningPoint" - save the pruning point in case the point is the genesis and change code internal order.
* [#1126] "FindNextPruningPoint" - cosmetics change.
* [#1126] "FindNextPruningPoint" - remove "return nil" when there is no pruning point on the if expression.
Co-authored-by: tal <tal@daglabs.com>
* [NOD-1551] Add NewTestConsensusWithDataDir to factory
* [NOD-1551] Cache transaction ID
* [NOD-1551] Should return err if err != nil
* [NOD-1551] BuildBlockWithParents returns the blocks pastUTXOData
* [NOD-1551] Set BlockCoinbaseMaturity to 0 in TestDoubleSpends
* [NOD-1551] Fix comments
* --amend
Co-authored-by: Ori Newman <orinewman1@gmail.com>
* Test bounded merge depth
* Fix a bug in GetBlockInfo, where trying to use reachability on an invalid block
* Add a test to reproduce and test the GetBlockInfo bug
* [NOD-1566] Add a dependency to golang-lru.
* [NOD-1566] Add caching to blockstore.go.
* [NOD-1566] Add LRUCache to all store objects and initialize them.
* [NOD-1566] Add caching to acceptanceDataStore.
* [NOD-1566] Add caching to blockHeaderStore.
* [NOD-1566] Implement a simpler LRU cache.
* [NOD-1566] Use the simpler cache implementation everywhere.
* [NOD-1566] Remove dependency in golang-lru.
* [NOD-1566] Fix object reuse issues in store Get functions.
* [NOD-1566] Add caching to blockRelationStore.
* [NOD-1566] Add caching to blockStatusStore.
* [NOD-1566] Add caching to ghostdagDataStore.
* [NOD-1566] Add caching to multisetStore.
* [NOD-1566] Add caching to reachabilityDataStore.
* [NOD-1566] Add caching to utxoDiffStore.
* [NOD-1566] Add caching to reachabilityReindexRoot.
* [NOD-1566] Add caching to pruningStore.
* [NOD-1566] Add caching to headerTipsStore.
* [NOD-1566] Add caching to consensusStateStore.
* [NOD-1566] Add comments explaining why we don't discard staging at the normal location in consensusStateStore.
* [NOD-1566] Make go vet happy.
* [NOD-1566] Fix merge errors.
* [NOD-1566] Add a missing break statement.
* [NOD-1566] Run go mod tidy.
* [NOD-1566] Remove serializedUTXOSetCache.
* [NOD-1557] Add trace logs in add_block_to_virtual.go.
* [NOD-1557] Add trace logs in resolve_block_status.go.
* [NOD-1557] Add trace logs in calculate_past_utxo.go.
* [NOD-1557] Add trace logs in finality.go.
* [NOD-1557] Add trace logs in multisets.go.
* [NOD-1557] Fix compilation errors.
* [NOD-1557] Add trace logs to verify_and_build_utxo.go.
* [NOD-1557] Add trace logs to update_virtual.go.
* [NOD-1557] Add trace logs to set_pruning_utxo_set.go.
* [NOD-1557] Add trace logs to populate_tx_with_utxo_entries.go.
* [NOD-1557] Add trace logs to pick_virtual_parents.go.
* [NOD-1557] Make go vet happy.
* [NOD-1557] Clarify that some logic in AddBlockToVirtual is there for the sake of logging alone.
* [NOD-1557] Call blockStatusStore directly in AddBlockToVirtual when refetching the block status.
* [NOD-1556] Add logs regarding block status and virtual blue score
* [NOD-1556] UTXODiffAlgebra: add the offending outpoint to the text of errors
* [NOD-1556] Make checkIntersectionWithRule return ok as well
* [NOD-1538] Implement a simple orphan pool.
* [NOD-1538] Connect the orphan pool to the appropriate flows.
* [NOD-1538] Make UnorphanBlocks actually unorphan blocks.
* [NOD-1538] Fix logs.
* [NOD-1538] Make unorphaned blocks call LogBlock.
* [NOD-1538] Fix a log and some bad names.
* [NOD-1538] Don't return an error from LogBlock.
* [NOD-1538] Pass a pointer to hash in findChildOrphansOfBlock.
* [NOD-1538] Extract addChildOrphansToProcessQueue to a separate function.