Elichai Turkel
45edacfbfa
Replace Double-SHA256 with blake2b and implement domain seperation ( #1245 )
...
* Replace default hasher (Double-SHA256) with domain seperated blake2b
* Replace all hashes with domain seperated blake2b
* Update the genesis blocks
* Replace OP_HASH256 with OP_BLAKE2B
* Fix the merkle tree by appending zeros instead of duplicating the hash when there is 1 branch left
* Update tests
* Add a payloadHash function
* Update gitignore to ignore binaries
* Fix a bug in the blake2b opcode
2020-12-21 12:51:45 +02:00
Ori Newman
bb2d7f72ac
[NOD-1560] Add TestValidateTransactionInIsolation ( #1140 )
...
* [NOD-1560] Add TestValidateTransactionInIsolation
* [NOD-1560] Make ForAllNets copy the params before mutating them
* [NOD-1560] Remove redundant continue
* [NOD-1560] Don't change finality duration
2020-11-23 16:28:59 +02:00
Ori Newman
9a344152aa
[NOD-1517] Properly initialize consensus with Genesis block ( #1009 )
...
* [NOD-1517] Properly initialize consensus with Genesis block
* [NOD-1517] Remove redundant AddHeaderTip
* [NOD-1517] Don't return nil from dbHash<->DomainHash converters
* [NOD-1517] Use pointer receivers
* [NOD-1517] Use domain block in dagParams
* [NOD-1517] Remove boolean from SelectedTip
* [NOD-1517] Rename hasHeader to isHeadersOnlyBlock
* [NOD-1517] Add comment
* [NOD-1517] Change genesis version
* [NOD-1517] Rename TestNewFactory->TestNewConsensus
2020-11-08 15:17:20 +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