* [NOD-1098] Change timestamps to be millisecond precision
* [NOD-1098] Change lock times to use milliseconds
* [NOD-1098] Use milliseconds precision everywhere
* [NOD-1098] Implement type mstime.Time
* [NOD-1098] Fix block 100000 timestamp
* [NOD-1098] Change orphan child to be one millisecond delay after its parent
* [NOD-1098] Remove test that checks if header timestamps have the right precision, and instead add tests for mstime, and fix genesis for testnet and devnet
* [NOD-1098] Fix comment
* [NOD-1098] Fix comment
* [NOD-1098] Fix testnet genesis
* [NOD-1098] Rename UnixMilli->UnixMilliseconds
* [NOD-614] Copy bitcoin-core ban score policy
* [NOD-614] Add ban score to disconnects
* [NOD-614] Fix wrong branch of AddBanScore
* [NOD-614] Add ban score on sending too many addresses
* [NOD-614] Add comments
* [NOD-614] Remove redundant reject messages
* [NOD-614] Fix log message
* [NOD-614] Ban every node that sends invalid invs
* [NOD-614] Make constants for ban scores
* [NOD-1012] Disallow non-native/coinbase transactions.
* [NOD-1012] Fix logic error.
* [NOD-1012] Fix/skip tests and remove --subnetwork.
* [NOD-1012] Disconnect from non-native peers.
* [NOD-1012] Don't skip subnetwork tests.
* [NOD-1012] Use EnableNonNativeSubnetworks in peer.go.
* [NOD-1012] Set EnableNonNativeSubnetworks = true in the tests that need them rather than by default in Simnet.
* [NOD-1001] Move side-effects of connection out of OnVersion
* [NOD-1001] Make AssociateConnection synchronous
* [NOD-1001] Wait for 2 veracks in TestPeerListeners
* [NOD-1001] Made AssociateConnection return error
* [NOD-1001] Remove temporary logs
* [NOD-1001] Fix typos and find-and-replace errors
* [NOD-1001] Move example_test back out of peer package + fix some typos
* [NOD-1001] Use correct remote address in setupPeersWithConns and return to address string literals
* [NOD-1001] Use separate verack channels for inPeer and outPeer
* [NOD-1001] Make verack channels buffered
* [NOD-1001] Removed temporary sleep of 1 second
* [NOD-1001] Removed redundant //
* [NOD-982] Log message with level WARN when getting MsgReject.
* [NOD-982] Fix wrong logLevel in Write and Writef.
* [NOD-982] Use Write and Writef inside Trace, Tracef, Debug, Debugf, etc...
* [NOD-982] Move peer message logging to a separate file.
* [NOD-858] Don't switch sync peer if the syncing process hasn't yet started with the current sync peer
* [NOD-858] SetShouldSendBlockLocator(false) on OnBlockLocator
* [NOD-858] Rename shouldSendBlockLocator->wasBlockLocatorRequested
* [NOD-858] Move panic to shouldReplaceSyncPeer
* [NOD-806] After panic, gracefully stop logs, and then exit immediately
* [NOD-806] Convert non-kaspad applications to use the new spawn
* [NOD-806] Fix disabled log at rpcclient
* [NOD-806] Refactor HandlePanic
* [NOD-806] Cancel Logger interface
* [NOD-806] Remove redundant spawn checks from waitgroup_test.go
* [NOD-806] Use caller subsystem when logging panics
* [NOD-806] Fix go vet errors
* [NOD-641] Upgrade to github.com/pkg/errors v0.9.1 and use errors.As where needed
* [NOD-641] Fix find and replace error
* [NOD-641] Use errors.As for error type checking
* [NOD-641] Fix errors.As for pointer types
* [NOD-641] Use errors.As where needed
* [NOD-641] Rename rErr->ruleErr
* [NOD-641] Rename derr->dbErr
* [NOD-641] e->flagsErr where necessary
* [NOD-641] change jerr to more appropriate name
* [NOD-641] Rename cerr->bdRuleErr
* [NOD-641] Rename serr->scriptErr
* [NOD-641] Use errors.Is instead of testutil.AreErrorsEqual in TestNewHashFromStr
* [NOD-641] Rename bdRuleErr->dagRuleErr
* [NOD-641] Rename mErr->msgErr
* [NOD-641] Rename dErr->deserializeErr
* [NOD-648] Add TestProcessDelayedBlocks
* [NOD-648] Add one second to secondsUntilDelayedBlockIsValid to make sure the delayedBlock timestamp will be valid, and add comments
* [NOD-648] Remove redundant import
* [NOD-648] Use fakeTimeSource instead of time.Sleep
* [NOD-648] Rename dag.HaveBlock->dag.IsKnownBlock, dag.BlockExists->dag.IsInDAG
* [NOD-648] Add comment
* [NOD-641] Rename HaveBlock->IsKnownBlock, BlockExists->IsInDAG
* [NOD-675] Rename startHash/stopHash to lowHigh/stopHash
* [NOD-675] Fix typo
* [NOD-675] Undo go.mod go.sum conflicts
* [NOD-675] revert back to startHash for getChainFromBlock.
* [NOD-675] Revet back to startHash in getChainFromBlock leftovers.
* [NOD-675] Fix test name.
* [NOD-652] Add selectedTip and getSelectedTip messages
* [NOD-652] Remove peerSyncState.isSelectedTipKnown
* [NOD-652] Do nothing on OnSelectedTip if the peer selected tip hasn't changed
* [NOD-652] Handle selected tip message with block handler
* [NOD-652] Add comments
* [NOD-652] go mod tidy
* [NOD-652] Fix TestVersion
* [NOD-652] Use dag.AdjustedTime instead of dag.timeSource.AdjustedTime
* [NOD-652] Create shouldQueryPeerSelectedTips and queueMsgGetSelectedTip functions
* [NOD-652] Change selectedTip to selectedTipHash where needed
* [NOD-652] add minDAGTimeDelay constant
* [NOD-652] add comments
* [NOD-652] Fix names and comments
* [NOD-652] Put msg.reply push in the right place
* [NOD-652] Fix comments and names
* [NOD-669] Remove the "get" from getBlueBlocksBetween.
* [NOD-669] Remove the "Get" from GetBlueBlocksHeadersBetween.
* [NOD-669] In blueBlocksBetween, rename startHash to lowHash and stopHash to highHash.
* [NOD-669] Rename startHash to lowHash and stopHash to highHash in blockLocator logic.
* [NOD-669] Remove zeroHash logic in blockLocator.
* [NOD-669] Finish renaming startHash and stopHash in blockdag.
* [NOD-669] Rename startHash and stopHash in blockdag where I previously missed it.
* [NOD-669] Rename startHash and stopHash in blockdag where I previously missed it some more.
* [NOD-669] Rename startHash and stopHash in blockdag where I previously missed it some more some more.
* [NOD-669] Fix bad grammar in method names.
* [NOD-669] Rename lowHash to blockHash in SelectedParentChain.
* [NOD-669] Fix a comment.
* [NOD-570] Separate genesis variables for different netwroks
* [NOD-570] Make Testnet genesis
* [NOD-570] Make simnet and regtest genesis
* [NOD-570] Remake devnet genesis
* [NOD-570] Rename regNet -> regTest testnet->testNet
* [NOD-570] Change network names to one word instead of camel case
* [NOD-570] Change network names to one word instead of camel case
* [NOD-570] Fix test names
* [NOD-570] Fix TestGHOSTDAG
Co-authored-by: Dan Aharoni <dereeno@protonmail.com>
* [NOD-502] Remove checkpoints.
* [NOD-502] Remove remaining references to checkpoints.
* [NOD-500] Split RejectFinality to RejectDifficulty.
* [NOD-500] Remove support for headers-first in p2p.
* [NOD-500] Panic in newHashFromStr in case of an error.
* [NOD-294] Fix golint in deploy.sh and fixed all lint errors
* [NOD-294] Fix typos in comments
* [NOD-294] Convert VirtualForTest into alias of *virtualBlock
* [NOD-294] Fixed some more typos in comments
* [NOD-241] Implement lower resolution peer rendezvous point discovery
* [NOD-241] Implement lower resolution peer rendezvous point discovery
* [NOD-241] Find exact rendezvous point
* [NOD-241] Find exact rendezvous point
* [NOD-241] Fix tests
* [NOD-241] Remove hash stop from MsgBlockLocator and add tests to MsgBlockLocator and MsgGetBlockLocator
* [NOD-241] Change everywhere startHash to hashStart and change comments
* [NOD-241] Fix locateBlockNodes to stop at hashStop
* [NOD-241] Formatted locatorSummary.
* [NOD-241] Fix node reversal
* [NOD-241] Fix hash start and hash stop order, and don't include startNode in dag.blockLocator
* [NOD-241] rename locateBlockNodes -> getBlueBlocksBetween and add a comment to it
* [NOD-241] change hash start to start hash and hash stop to stop hash
* [NOD-241] Move block locator stuff to a different file
* [NOD-241] Rename msggetblocks.go to msggetblockinvs.go
* [NOD-241] Format project
* [NOD-241] Rename rpcserverSyncManager.LocateHeaders to GetBlueBlocksHeadersBetween
* [NOD-241] Move the logic of finding the highest shared block to OnBlockLocator
* [NOD-241] Rename chainHeight -> nextChainHeight
* [NOD-241] Fix typo in comment
* [NOD-58] Replace lastBlock with selected tip in version message (#210)
* [NOD-58] Replace lastBlock with selected tip in version message
* [NOD-58] Fix typo in comment
* [NOD-58] Add mutex to SelectedTipHash
* [NOD-58] Remove redundant comment
* [NOD-58] Remove wantStartingHeight from peerStats
* [NOD-58] Remove lock from SelectedTipHash
* Nod 53 change getheaders message to handle new block locator (#213)
* [NOD-53] Change getheaders message to handle the new block locator mechanism
* [NOD-53] Use heap in locateHeaders
* [NOD-53] Create a constructor for each heap direction
* [NOD-57] Check if a node is synced only by timestamps (#214)
* [NOD-60] implement isSyncCandidate (#218)
* [NOD-60] Implement isSyncCandidate
* [NOD-60] Fix typo
* [NOD-65] Fix netsync related tests and remove fields optionality from… (#220)
* [NOD-65] Fix netsync related tests and remove fields optionality from msgversion
* [NOD-65] gofmt rpcserver.go
* [NOD-65] add missing test for verRelayTxFalse
* [NOD-62] Change getblocks message to handle the new block locator mechanism (#219)
* [NOD-62] Change getblocks message to handle the new block locator mechanism
* [NOD-62] Add locateBlockNodes function
* [NOD-68] Adjust orphan parents requesting for a DAG (#222)
* [NOD-68] Adjust orphan parents requesting for a DAG
* [NOD-68] add sendInvsFromRequestedQueue and trigger it when requested blocks slice is empty, or immediatly if we're not in sync mode
* [NOD-68] Prevent duplicates from entering to state.requestQueue and add wrapping locks to addBlocksToRequestQueue
* [NOD-68] Fix Lock -> Unlock in sendInvsFromRequestedQueue
* [NOD-74] Starts syncing again when the current sync peer is done (#225)
* [NOD-74] Starts syncing again when the current sync peer is done
* [NOD-74] Unlock mtx before netsync is restarted
* [NOD-74] Fix name isSyncPeerFree -> isWaitingForBlocks
* [NOD-75] fixing netsync bugs (#227)
* [NOD-74] Starts syncing again when the current sync peer is done
* [NOD-74] Unlock mtx before netsync is restarted
* [NOD-75] Fixing netsync bugs
* [NOD-80] Request block data from block propagation just after you are… (#231)
* [NOD-80] Request block data from block propagation just after you are current
* [NOD-80] Fix adding to both queues in addInvToRequestQueue
* [NOD-81] Start to mine on top of genesis iff all peers selected tip is genesis (#232)
* [NOD-81] Start to mine on top of genesis only if all of your peers' selected tip is genesis
* [NOD-81] Explain forAllPeers/forAllOutboundPeers shouldContinue behaviour in comments
* [NOD-81] Add forAllInboundPeers and add return values for forAllPeers/forAllOutboundPeers/forAllInboundPeers functions
* [NOD-16] Add pushSet to the BlockHeap type
* [NOD-16] Fixed syntax error
* [DEV-363] Added testnet seeders
* [DEV-363] Prepare BTCD to work with DNS seeder
* [DEV-363] Finished BTCD part of DNS seeder
* [DEV-363] Reverted protocol changes
* [DEV-363] Reverted protocol changes
* [DEV-363] Reverted protocol changes and fixed tests
* [DEV-363] Added tests and refactored
* [DEV-363] Small refactoring of p2p changes
* [DEV-363] Update NeedMoreAddresses function to take into account full peers + small refactoring
* [DEV-363] Removed IsDNSSeederPeer flag
* [DEV-363] Fixed comment
* [DEV-376] Changed any instance of %v in format strings with a more specific format token
* [DEV-376] Fixed some more wrong formatting strings + removed redundant
cast
* [DEV-376] Added fmt.Sprintf where it was missing
* [DEV-376] use %s for util.Amount, to invoke .String()
* [DEV-376] Some more fixes in format strings
* [DEV-376] fixed mruinvmap_test to expect the correct behaviour