Svarog
8dc246a2a7
[NOD-1498] Consensus State Store ( #992 )
...
* [NOD-1420] Start working on ConsensusStateManager. Might be redundant due to recent changes
* [NOD-1420] Convert model to externalapi in utxo_algerbra helpers
* [NOD-1420] Add UTXO-diff algebra
* [NOD-1420] Prepare skeleton of calculateAcceptanceDataAndMultiset
* [NOD-1420] Added skeleton for AddBlockToVirtual
* [NOD-1420] Implement PopulateTransactionWithUTXOEntries
* [NOD-1420] Implement restorePastUTXO
* [NOD-1420] Implement finality check
* [NOD-1420] Move handling of tips to consensusStateManager
* [NOD-1420] Implement calculateAcceptanceDataAndMultiset
* [NOD-1420] Start implementing resolveBlockStatus
* [NOD-1420] Implement resolveBlockStatus
* [NOD-1420] Update related fields in end of resolveSingleBlockStatus
* [NOD-1420] Start working on selectVirtualParents
* [NOD-1420] Implemented BlockHeap
* [NOD-1420] Implement selectVirtualParents
* [NOD-1420] Implement updateVirtual
* [NOD-1420] Added comments where they were missing
* [NOD-1420] Place all consensusStateManager functions in correct files
* [NOD-1420] Return the missing outpoints from populateTransactionWithUTXOEntriesFromVirtualOrDiff
* [NOD-1420] Outpoint.ID -> TransactionID
* [NOD-1420] Fix Stringer tests
* [NOD-1420] Copy hash.FromString into utils
* [NOD-1420] SetParents should return an error
* [NOD-1420] Remove all reachabilityManager references from consensusStateManager
* [NOD-1420] Remove VirtualData. Get the info from the stores where needed
* [NOD-1420] Invert parameters to IsAncestorOf
* [NOD-1420] Use model.AcceptanceData
* [NOD-1420] Don't return accumulatedMassBefore in error cases
* [NOD-1420] Don't expect store functions to return nil when the requested data was found - instead add HasXXX functions
* [NOD-1420] addTransactionToMultiset sets isCoinbase properly
* [NOD-1420] expected hash string length is externalapi.DomainHashSize * 2
* [NOD-1420] Rename reachabilityTree -> reachabilityManager + updateReindexRoot if isNextVirtualSelectedParent
* [NOD-1420] ValidateCoinbaseTransaction in csm.verifyAndBuildUTXO
* [NOD-1420] Re-write HAsUTXODiffChild
* [NOD-1420] delete past_utxo.go.bak
* [NOD-1420] Implement validateCoinbaseTransaction in CSM
* [NOD-1420] Imlemented missing functionality in ValidateTransactionAndPopulateWithConsensusData
* [NOD-1420] Moved merge depth logic to MergeDepthManager
* [NOD-1420] Add logs
* [NOD-1498] Implement tips-related methods of consensusStateStore
* [NOD-1498] Implement consensusStateStore virtualDiffParents functionality
* [NOD-1498] Implement ConsensusStateStore UTXO-Set part
* [NOD-1498] Implement rest of consensusStateStore methods
* [NOD-1498] Use io.ReadFull instead of r.Read
* [NOD-1498] Added comments
* [NOD-1498] Move utxo serialization to protobufs
* [NOD-1498] Add comments
* [NOD-1498] Minor fixes in ConsensusStateStore
* [NOD-1498] Use empty bucket key + simplify serializeUTXOEntry
2020-11-03 14:42:26 +02:00
Ori Newman
2abd4a274b
[NOD-1496] Implement headers only verification ( #987 )
...
* [NOD-1496] Implement headers only verification
* [NOD-1496] Add checkParentsExist
* [NOD-1496] Stage block statuses in block processor
* [NOD-1496] Rename AddBlock->AddHeaderTip
* [NOD-1496] Return early from validateAndInsertBlock on header only and put ValidateProofOfWorkAndDifficulty inside validateBlock
2020-11-02 16:30:59 +02:00
stasatdaglabs
23cccb6396
[NOD-1497] Add additional methods to consensus external API ( #989 )
...
* [NOD-1497] Add missing APIs.
* [NOD-1497] Rename some new APIs.
* [NOD-1497] Add fields to BlockInfo.
* [NOD-1497] Add comments over BlockInfo and BlockLocator.
* [NOD-1497] Rename GetSelectedParent to GetVirtualSelectedParent.
* [NOD-1497] Add SetPruningPointUTXOSet.
* [NOD-1497] Rename GetHashesAbovePruningPoint to GetMissingBlockBodyHashes.
* [NOD-1497] Fix rename error.
2020-11-02 12:05:33 +02:00
Ori Newman
14fbe50636
[NOD-1493] Implement serialization in data stores ( #983 )
...
* [NOD-1493] Implement serialization in data stores
* [NOD-1493] Remove redundant functions
* [NOD-1493] Use bluesAnticoneSizesToDBBluesAnticoneSizes inside BlockGHOSTDAGDataToDBBlockGHOSTDAGData
2020-10-29 17:39:35 +02:00
stasatdaglabs
01c7c67aed
[NOD-1493] Implement serialization in AcceptanceDataStore, BlockRelationStore, BlockStatusStore, and BlockStore ( #982 )
...
* [NOD-1493] Add DbHashToDomainHash and DomainHashToDbHash.
* [NOD-1493] Use DbHashToDomainHash and DomainHashToDbHash.
* [NOD-1493] Begin implementing serializeAcceptanceData.
* [NOD-1493] Extract serialization blockHeader logic to serialization.
* [NOD-1493] Extract serialization acceptance data logic to serialization.
* [NOD-1493] Implement acceptance data serialization/deserialization.
* [NOD-1493] Implement transaction serialization/deserialization.
* [NOD-1493] Implement outpoint serialization/deserialization.
* [NOD-1493] Implement transaction ID serialization/deserialization.
* [NOD-1493] Implement subnetwork ID serialization/deserialization.
* [NOD-1493] Implement block relation serialization/deserialization.
* [NOD-1493] Implement block status serialization/deserialization.
* [NOD-1493] Implement block serialization/deserialization.
* [NOD-1493] Implement serialization/deserialization in BlockRelationStore.
* [NOD-1493] Implement serialization/deserialization in BlockStatusStore.
* [NOD-1493] Implement serialization/deserialization in BlockStore.
* [NOD-1493] Make go vet happy.
* [NOD-1493] Use DomainHashesToDbHashes.
2020-10-29 16:49:05 +02:00
stasatdaglabs
9cf1557c37
[NOD-1493] Implement types for serialization ( #980 )
...
* [NOD-1493] Add DbAcceptanceData.
* [NOD-1493] Add DbBlockRelations.
* [NOD-1493] Add DbBlockStatus.
* [NOD-1493] Add DbBlockGhostdagData.
* [NOD-1493] Add DbMultiset.
* [NOD-1493] Add DbPruningPoint.
* [NOD-1493] Add DbUtxoSet.
* [NOD-1493] Add DbReachabilityData.
* [NOD-1493] Add DbReachabilityReindexRoot.
* [NOD-1493] Add DbUtxoDiff.
* [NOD-1493] Add DbUtxoDiffChild.
* [NOD-1493] Make sure everything is lowercase.
* [NOD-1493] Add DbHash.
* [NOD-1493] Fix BlockHeaderStore.
2020-10-29 12:18:18 +02:00
stasatdaglabs
126e2e49bb
[NOD-1493] Implement serialization/deserialization inside BlockHeaderStore ( #979 )
...
* [NOD-1492] Rename dbmanager to database.
* [NOD-1492] Write messages.proto for DbBlock and DbTransaction.
* [NOD-1492] Implement serializeHeader.
* [NOD-1492] Implement deserializeHeader.
2020-10-29 11:15:14 +02:00