talelbaz
8a309a7d2a
Upgradability mechanisms script version ( #1313 )
...
* ''
* ''
* ''
* Changes genesis block version to 0.
* a
* a
* All tests are done.
* All tests passed for changed block version from int32 to uint16
* Adds validation of rejecting blocks with unknown versions.
* Changes txn version from int32 to uint16.
* .
* Adds comments to exported functions.
* Change functions name from ConvertFromRpcScriptPubKeyToRPCScriptPubKey to ConvertFromAppMsgRPCScriptPubKeyToRPCScriptPubKey and from ConvertFromRPCScriptPubKeyToRpcScriptPubKey to ConvertFromRPCScriptPubKeyToAppMsgRPCScriptPubKey
* change comment to "ScriptPublicKey represents a Kaspad ScriptPublicKey"
* delete part (tx.Version < 0) that cannot be exist on the if statement.
* Revert protobuf version.
* Fix a comment.
* Fix a comment.
* Rename a variable.
* Rename a variable.
* Remove a const.
* Rename a type.
* Rename a field.
* Rename a field.
* Remove commented-out code.
* Remove dangerous nil case in DomainTransactionOutput.Clone().
* Remove a constant.
* Fix a string.
* Fix wrong totalScriptPubKeySize in transactionMassStandalonePart.
* Remove a constant.
* Remove an unused error.
* Fix a serialization error.
* Specify version types to be uint16 explicitly.
* Use constants.ScriptPublicKeyVersion.
* Fix a bad test.
* Remove some whitespace.
* Add a case to utxoEntry.Equal().
* Rename scriptPubKey to scriptPublicKey.
* Remove a TODO.
* Rename constants.
* Rename a variable.
* Add version to parseShortForm.
Co-authored-by: tal <tal@daglabs.com>
Co-authored-by: stasatdaglabs <stas@daglabs.com>
2021-01-05 17:50:09 +02:00
stasatdaglabs
b473a09111
Fix a crash in the UTXO index ( #1332 )
...
* Add a field to TransactionAcceptanceData: TransactionInputUTXOEntries.
* Fix failing tests.
* Add transactionInputUtxoEntries to the database.
* Populate transactionInputUTXOEntries in applyMergeSetBlocks and use them in the UTXO index.
* Remove UTXOEntry.Clone().
* Add an additional equality test.
2020-12-31 14:50:14 +02:00
stasatdaglabs
21a459c0f4
Implement virtual selected parent chain RPC methods ( #1249 )
...
* [NOD-1579] Rename AcceptedTxIDs to AcceptedTransactionIDs.
* [NOD-1579] Add InsertBlockResult to ValidateAndInsertBlock results.
* [NOD-1593] Rename InsertBlockResult to BlockInsertionResult.
* [NOD-1593] Add SelectedParentChainChanges to AddBlockToVirtual's result.
* [NOD-1593] Implement findSelectedParentChainChanges.
* [NOD-1593] Implement TestFindSelectedParentChainChanges.
* [NOD-1593] Fix a string.
* [NOD-1593] Finish implementing TestFindSelectedParentChainChanges.
* [NOD-1593] Fix merge errors.
* [NOD-1597] Begin implementing UTXOIndex.
* [NOD-1597] Connect UTXOIndex to RPC.
* [NOD-1597] Connect Consensus to UTXOIndex.
* [NOD-1597] Add AcceptanceData to BlockInfo.
* [NOD-1597] Implement UTXOIndex.Update().
* [NOD-1597] Implement add(), remove(), and discard() in utxoIndexStore.
* [NOD-1597] Add error cases to add() and remove().
* [NOD-1597] Add special cases to add() and remove().
* [NOD-1597] Implement commit.
* [NOD-1597] Add a mutex around UTXOIndex.Update().
* [NOD-1597] Return changes to the UTXO from Update().
* [NOD-1597] Add NotifyUTXOsChangedRequestMessage and related structs.
* [NOD-1597] Implement HandleNotifyUTXOsChanged.
* [NOD-1597] Begin implementing TestUTXOIndex.
* [NOD-1597] Implement RegisterForUTXOsChangedNotifications.
* [NOD-1597] Fix bad transaction.ID usage.
* [NOD-1597] Implement convertUTXOChangesToUTXOsChangedNotification.
* [NOD-1597] Make UTXOsChangedNotificationMessage.Removed UTXOsByAddressesEntry instead of just RPCOutpoint so that the client can discern which address was the UTXO removed for.
* [NOD-1597] Collect outpoints in TestUTXOIndex.
* [NOD-1597] Rename RPC stuff.
* [NOD-1597] Add messages for GetUTXOsByAddresses.
* [NOD-1597] Implement HandleGetUTXOsByAddresses.
* [NOD-1597] Implement GetUTXOsByAddresses.
* [NOD-1597] Implement UTXOs().
* [NOD-1597] Implement getUTXOOutpointEntryPairs().
* [NOD-1597] Expand TestUTXOIndex.
* [NOD-1597] Convert SubmitTransaction to use RPCTransaction instead of MsgTx.
* [NOD-1597] Finish implementing TestUTXOIndex.
* [NOD-1597] Add messages for GetVirtualSelectedParentBlueScore.
* [NOD-1597] Implement HandleGetVirtualSelectedParentBlueScore and GetVirtualSelectedParentBlueScore.
* [NOD-1597] Implement TestVirtualSelectedParentBlueScore.
* [NOD-1597] Implement NotifyVirtualSelectedParentBlueScoreChanged.
* [NOD-1597] Expand TestVirtualSelectedParentBlueScore.
* [NOD-1597] Implement notifyVirtualSelectedParentBlueScoreChanged.
* [NOD-1597] Make go lint happy.
* [NOD-1593] Fix merge errors.
* [NOD-1593] Rename findSelectedParentChainChanges to calculateSelectedParentChainChanges.
* [NOD-1593] Expand TestCalculateSelectedParentChainChanges.
* [NOD-1597] Add logs to utxoindex.go.
* [NOD-1597] Add logs to utxoindex/store.go.
* [NOD-1597] Add logs to RPCManager.NotifyXXX functions.
* Implement notifySelectedParentChainChanged.
* Implement TestSelectedParentChain.
* Rename NotifyChainChanged to NotifyVirtualSelectedParentChainChanged.
* Rename GetChainFromBlock to GetVirtualSelectedParentChainFromBlock.
* Remove AcceptanceIndex from the config.
* Implement HandleGetVirtualSelectedParentChainFromBlock.
* Expand TestVirtualSelectedParentChain.
* Fix merge errors.
* Add a comment.
* Move a comment.
2020-12-21 14:43:32 +02:00
stasatdaglabs
053bb351b5
[NOD-1597] Implement a UTXO index ( #1221 )
...
* [NOD-1579] Rename AcceptedTxIDs to AcceptedTransactionIDs.
* [NOD-1579] Add InsertBlockResult to ValidateAndInsertBlock results.
* [NOD-1593] Rename InsertBlockResult to BlockInsertionResult.
* [NOD-1593] Add SelectedParentChainChanges to AddBlockToVirtual's result.
* [NOD-1593] Implement findSelectedParentChainChanges.
* [NOD-1593] Implement TestFindSelectedParentChainChanges.
* [NOD-1593] Fix a string.
* [NOD-1593] Finish implementing TestFindSelectedParentChainChanges.
* [NOD-1593] Fix merge errors.
* [NOD-1597] Begin implementing UTXOIndex.
* [NOD-1597] Connect UTXOIndex to RPC.
* [NOD-1597] Connect Consensus to UTXOIndex.
* [NOD-1597] Add AcceptanceData to BlockInfo.
* [NOD-1597] Implement UTXOIndex.Update().
* [NOD-1597] Implement add(), remove(), and discard() in utxoIndexStore.
* [NOD-1597] Add error cases to add() and remove().
* [NOD-1597] Add special cases to add() and remove().
* [NOD-1597] Implement commit.
* [NOD-1597] Add a mutex around UTXOIndex.Update().
* [NOD-1597] Return changes to the UTXO from Update().
* [NOD-1597] Add NotifyUTXOsChangedRequestMessage and related structs.
* [NOD-1597] Implement HandleNotifyUTXOsChanged.
* [NOD-1597] Begin implementing TestUTXOIndex.
* [NOD-1597] Implement RegisterForUTXOsChangedNotifications.
* [NOD-1597] Fix bad transaction.ID usage.
* [NOD-1597] Implement convertUTXOChangesToUTXOsChangedNotification.
* [NOD-1597] Make UTXOsChangedNotificationMessage.Removed UTXOsByAddressesEntry instead of just RPCOutpoint so that the client can discern which address was the UTXO removed for.
* [NOD-1597] Collect outpoints in TestUTXOIndex.
* [NOD-1597] Rename RPC stuff.
* [NOD-1597] Add messages for GetUTXOsByAddresses.
* [NOD-1597] Implement HandleGetUTXOsByAddresses.
* [NOD-1597] Implement GetUTXOsByAddresses.
* [NOD-1597] Implement UTXOs().
* [NOD-1597] Implement getUTXOOutpointEntryPairs().
* [NOD-1597] Expand TestUTXOIndex.
* [NOD-1597] Convert SubmitTransaction to use RPCTransaction instead of MsgTx.
* [NOD-1597] Finish implementing TestUTXOIndex.
* [NOD-1597] Add messages for GetVirtualSelectedParentBlueScore.
* [NOD-1597] Implement HandleGetVirtualSelectedParentBlueScore and GetVirtualSelectedParentBlueScore.
* [NOD-1597] Implement TestVirtualSelectedParentBlueScore.
* [NOD-1597] Implement NotifyVirtualSelectedParentBlueScoreChanged.
* [NOD-1597] Expand TestVirtualSelectedParentBlueScore.
* [NOD-1597] Implement notifyVirtualSelectedParentBlueScoreChanged.
* [NOD-1597] Make go lint happy.
* [NOD-1593] Fix merge errors.
* [NOD-1593] Rename findSelectedParentChainChanges to calculateSelectedParentChainChanges.
* [NOD-1593] Expand TestCalculateSelectedParentChainChanges.
* [NOD-1597] Add logs to utxoindex.go.
* [NOD-1597] Add logs to utxoindex/store.go.
* [NOD-1597] Add logs to RPCManager.NotifyXXX functions.
* [NOD-1597] Ignore transactions that aren't accepted.
* [NOD-1597] Use GetBlockAcceptanceData instead of GetBlockInfo.
* [NOD-1597] Convert scriptPublicKey to string directly, instead of using hex.
* [NOD-1597] Add a comment.
* [NOD-1597] Guard against calling utxoindex methods when utxoindex is turned off.
* [NOD-1597] Add lock to UTXOs.
* [NOD-1597] Guard against calls to getUTXOOutpointEntryPairs when staging isn't empty.
2020-12-20 17:24:56 +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