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
stasatdaglabs
97b5b0b875
[NOD-1416] Implement BlockProcessor. ( #969 )
...
* [NOD-1416] Add entry/exit logs to all the functions.
* [NOD-1416] Build some scaffolding inside BlockProcessor.
* [NOD-1416] Implement selectParentsForNewBlock.
* [NOD-1416] Implement validateBlock.
* [NOD-1476] Fix merge errors.
* [NOD-1416] Move buildBlock and validateAndInsertBlock to separate files.
* [NOD-1416] Begin implementing buildBlock.
* [NOD-1416] Implement newBlockDifficulty.
* [NOD-1416] Add skeletons for the rest of the buildBlock functions.
* [NOD-1416] Implement newBlockUTXOCommitment.
* [NOD-1416] Implement newBlockAcceptedIDMerkleRoot.
* [NOD-1416] Implement newBlockHashMerkleRoot.
* [NOD-1416] Fix bad function call.
* [NOD-1416] Implement validateHeaderAndProofOfWork and validateBody.
* [NOD-1416] Use ValidateProofOfWorkAndDifficulty.
* [NOD-1416] Finish validateAndInsertBlock.
* [NOD-1416] Implement newBlockHashMerkleRoot.
* [NOD-1416] Implement newBlockAcceptedIDMerkleRoot.
* [NOD-1416] Fix a comment.
* [NOD-1416] Implement newBlockCoinbaseTransaction.
* [NOD-1416] Add VirtualBlockHash.
* [NOD-1416] Add ParentHashes and SelectedParent to VirtualData().
* [NOD-1416] Make go vet happy.
* [NOD-1416] Implement discardAllChanges.
* [NOD-1416] Implement commitAllChanges.
* [NOD-1416] Fix factory.
* [NOD-1416] Make go vet happy.
* [NOD-1416] Format factory.
* [NOD-1416] Pass transactionsWithCoinbase to buildHeader.
* [NOD-1416] Call VirtualData() from buildHeader.
* [NOD-1416] Fix a typo.
* [NOD-1416] Fix in-out-of-context/header-body confusion.
* [NOD-1416] Extract LogAndMeasureExecutionTime.
* [NOD-1416] Add a comment about LogAndMeasureExecutionTime.
* [NOD-1416] Simplify discardAllChanges and commitAllChanges.
* [NOD-1416] If in-context validations fail, discard all changes and store the block with StatusInvalid.
* [NOD-1416] Add a comment above Store.
* [NOD-1416] Use errors.As instead of errors.Is.
2020-10-27 17:24:15 +02:00
Ori Newman
aeb4b96560
[NOD-1451] Implement Validators ( #966 )
...
* [NOD-1451] Implement block validator
* [NOD-1451] Implement block validator
* [NOD-1451] Fix merge errors
* [NOD-1451] Implement block validator
* [NOD-1451] Implement checkTransactionInIsolation
* [NOD-1451] Copy txscript to validator
* [NOD-1451] Change txscript to new design
* [NOD-1451] Add checkTransactionInContext
* [NOD-1451] Add checkBlockSize
* [NOD-1451] Add error handling
* [NOD-1451] Implement checkTransactionInContext
* [NOD-1451] Add checkTransactionMass placeholder
* [NOD-1451] Finish validators
* [NOD-1451] Add comments and stringers
* [NOD-1451] Return model.TransactionValidator interface
* [NOD-1451] Premake rule errors for each "code"
* [NOD-1451] Populate transaction mass
* [NOD-1451] Renmae functions
* [NOD-1451] Always use skipPow=false
* [NOD-1451] Renames
* [NOD-1451] Remove redundant types from WriteElement
* [NOD-1451] Fix error message
* [NOD-1451] Add checkTransactionPayload
* [NOD-1451] Add ValidateProofOfWorkAndDifficulty to block validator interface
* [NOD-1451] Move stringers to model
* [NOD-1451] Fix error message
2020-10-26 17:33:39 +02:00
stasatdaglabs
8c63835971
[NOD-1461] Make further design changes ( #959 )
...
* [NOD-1461] Split blockValidator and TransactionValidator.
* [NOD-1461] Remove feeDataStore.
* [NOD-1461] Move tips out of ConsensusStateManager and into DAGTopologyManager.
* [NOD-1461] Add UTXODiffManager.
* [NOD-1461] Add RestoreDiffFromVirtual.
* [NOD-1461] Add AcceptanceManager.
* [NOD-1461] Replace SetTips with AddTip.
* [NOD-1461] Fix merge errors.
* [NOD-1461] Rename CoinbaseData to DomainCoinbaseData.
2020-10-20 09:35:58 +03:00
stasatdaglabs
a96a5fd2ef
[NOD-1462] Simplify consensus external API ( #958 )
...
* [NOD-1461] Change the external api interface to not having anything besides DomainTransactions and DomainBlocks.
* [NOD-1462] Move external api types to a separate package.
* [NOD-1462] Clarify which model we're using in miningmanager.
* [NOD-1462] Extract coinbase data to its own struct.
* [NOD-1462] Add a comment above CoinbaseData.
* [NOD-1462] Fix the comment above CoinbaseData.
2020-10-19 17:59:04 +03:00