Ori Newman
2adb4f5d0f
Fix UTXO index ( #1548 )
...
* Add VirtualUTXODiff and VirtualParents to block insertion result
* Add GetVirtualUTXOs
* Add OnPruningPointUTXOSetOverrideHandler
* Add recovery to UTXO index
* Add UTXO set override notification
* Fix compilation error
* Fix iterators in UTXO index and fix TestUTXOIndex
* Change Dialing to DEBUG
* Change LogBlock location
* Rename StopNotify to StopNotifying
* Add sanity check
* Add comment
* Remove receiver from serialization functions
Co-authored-by: Elichai Turkel <elichai.turkel@gmail.com>
2021-02-23 16:51:51 +02:00
Ori Newman
b8ca33d91d
Add selected chain store and optimize block locator with it ( #1394 )
...
* Add selected chain store and optimize block locator with it
* Fix build error
* Fix comments
* Fix IsStaged
* Rename CalculateSelectedParentChainChanges to CalculateChainPath and SelectedParentChainChanges->SelectedChainPath
* Use binary.LittleEndian directly to allow compiler optimizations
* Remove boolean from HeadersSelectedChainStore interface
* Prevent endless loop in block locator
2021-01-11 15:51:45 +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
f90d7d796a
[NOD-1593] Return SelectedParentChainChanged from ValidateAndInsertBlock ( #1202 )
...
* [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-1593] Fix merge errors.
* [NOD-1593] Rename findSelectedParentChainChanges to calculateSelectedParentChainChanges.
* [NOD-1593] Expand TestCalculateSelectedParentChainChanges.
2020-12-15 11:37:52 +02:00