* [NOD-1162] Separate kaspad to it's own package, so that I can use it out of integration test
* [NOD-1162] Begin integration tests
* [NOD-1162] [FIX] Assign cfg to RPCServer
* [NOD-1162] Basic integration test ready
* [NOD-1162] Wait for connection for real
* [NOD-1162] [FIX] Connection manager should run the moment it adds a request
* [NOD-1162] Make connect something that can be invoked in middle of test
* [NOD-1162] Complete first integration test
* [NOD-1162] Undo refactor error
* [NOD-1162] Rename Kaspad to App
* [NOD-1162] Convert checking connection to polling
* [NOD-1162] [FIX] Set peerID on handshake
* [NOD-1162] [FIX] Broadcast should send to outgoing route, not incoming
* [NOD-1162] [FIX] Add CmdInvRelayBlock to MakeEmptyMessage
* [NOD-1162] [FIX] Initialize Hash before decoding MsgInvRelayBlock
* [NOD-1162] [FIX] Invert condition
* [NOD-1162] [FIX] Fixes to encoding of MsgGetRelayBlocks
* [NOD-1162] [FIX] Add MsgGetRelayBlocks to MakeEmptyMessage
* [NOD-1162] [FIX] Connection manager should run the moment it adds a request
* [NOD-1162] [FIX] Set peerID on handshake
* [NOD-1162] [FIX] Broadcast should send to outgoing route, not incoming
* [NOD-1162] [FIX] Add CmdInvRelayBlock to MakeEmptyMessage
* [NOD-1162] [FIX] Initialize Hash before decoding MsgInvRelayBlock
* [NOD-1162] [FIX] Invert condition
* [NOD-1162] [FIX] Fixes to encoding of MsgGetRelayBlocks
* [NOD-1162] [FIX] Add MsgGetRelayBlocks to MakeEmptyMessage
* [NOD-1162] Add comment
* [NOD-1162] Added support for 3 nodes and clients in integration tests
* [NOD-1162] Add third node to integration test
* [NOD-1192] Use lock-less functions in TxPool.HandleNewBlock
* [NOD-1192] Broadcast transactions only if there's more then 0
* [NOD-1162] Removed double waitTillNextIteration
* [NOD-1192] Rename: broadcastTransactions -> broadcastTransactionsAfterBlockAdded
* [NOD-1162] Call NotifyBlocks on client3 as well
* [NOD-1162] ErrTimeout and ErrRouteClosed should be ProtocolErrors
* [NOD-1162] Added comment and removed redundant type PeerAddedCallback
* [NOD-1162] Revert overly eager rename
* [NOD-1162] Move DisalbeTLS to common config + minimize call for ioutil.TempDir()
* [NOD-1162] Add some clarifications in code
* [NOD-1193] Skip closed connections in NetAdapter.Broadcast
* [NOD-1193] Make sure to protect connectionsToRouters from concurrent access
* [NOD-1162] Add _test to all files in integration package
* [NOD-1162] Introduced appHarness to better encapsulate a single node
* [NOD-1162] Removed onChainChanged handler
* [NOD-1162] Remove redundant closure
* [NOD-1162] Correctly mark integration_test config as Simnet
* [NOD-1162] Rename app.ID -> app.P2PNodeID
* [NOD-1079] Fix block rejects over "Already have block" (#783)
* [NOD-1079] Return regular error instead of ruleError on already-have-block in ProcessBlock.
* [NOD-1079] Fix bad implementation of IsSelectedTipKnown.
* [NOD-1079] In shouldQueryPeerSelectedTips use selected DAG tip timestamp instead of past median time.
* [NOD-1079] Remove redundant (and possibly buggy) clearing of sm.requestedBlocks.
* [NOD-684] change simnet block rate to block per ms (#782)
* [NOD-684] Get rid of dag.targetTimePerBlock and use finality duration in dag params
* [NOD-684] Fix regtest genesis block
* [NOD-684] Set simnet's TargetTimePerBlock to 1ms
* [NOD-684] Shorten simnet finality duration
* [NOD-684] Change isDAGCurrentMaxDiff to be written as number of blocks
* [NOD-684] Fix NextBlockMinimumTime to be add one millisecond after past median time
* [NOD-1004] Make AddrManager.getAddress use only 1 loop to check all address chances and pick one of them (#741)
* [NOD-1004] Remove code duplication in Good().
* [NOD-1004] Remove some more code duplication in Good().
* [NOD-1004] Remove some more code duplication in Good().
* [NOD-1004] Remove code duplication in GetAddress().
* [NOD-1004] Remove code duplication in updateAddress.
* [NOD-1004] Remove some more code duplication in updateAddress.
* [NOD-1004] Remove redundant check in expireNew.
* [NOD-1004] Remove superfluous existence check from updateAddress.
* [NOD-1004] Make triedBucket use a slice instead of a list.
* [NOD-1004] Remove code duplication in getAddress.
* [NOD-1004] Remove infinite loops out of getAddress.
* [NOD-1004] Made impossible branch panic.
* [NOD-1004] Remove a mystery comment.
* [NOD-1004] Remove an unnecessary sort.
* [NOD-1004] Make AddressKey a type alias.
* [NOD-1004] Added comment for AddressKey
* [NOD-1004] Fix merge errors.
* [NOD-1004] Fix merge errors.
* [NOD-1004] Do some renaming.
* [NOD-1004] Do some more renaming.
* [NOD-1004] Rename AddrManager to AddressManager.
* [NOD-1004] Rename AddrManager to AddressManager.
* [NOD-1004] Do some more renaming.
* [NOD-1004] Rename bucket to addressBucketArray.
* [NOD-1004] Fix a comment.
* [NOD-1004] Rename na to netAddress.
* [NOD-1004] Bring back an existence check.
* [NOD-1004] Fix an error message.
* [NOD-1004] Fix a comment.
* [NOD-1004] Use a boolean instead of -1.
* [NOD-1004] Use a boolean instead of -1 in another place.
Co-authored-by: Mike Zak <feanorr@gmail.com>
* Fix merge errors.
Co-authored-by: Ori Newman <orinewman1@gmail.com>
Co-authored-by: Mike Zak <feanorr@gmail.com>