* [NOD-1259] All rule-errors should be protocol-errors
* [NOD-1259] Handle submitting of coinbase transactions properly
* Revert "[NOD-1259] All rule-errors should be protocol-errors"
This reverts commit 2fd30c185640fcee62030f72ed14654570a1d7c7.
* [NOD-1259] Don't panic on non-protocol errors in ProtocolManager.AddTransaction/AddBlock
* [NOD-1259] Implement subnetworkid.IsBuiltInOrNative and use where appropriate
* [NOD-1220] Add network name to the version message.
* [NOD-1220] Ban peers from the wrong network.
* [NOD-1220] Add the network parameter to protowire.
* [NOD-1220] Add "kaspa-" to network names.
* [NOD-1129] Implement TestIncestousNewBlockTemplate.
* [NOD-1129] Add some debug logs to TestIncestousNewBlockTemplate.
* [NOD-1129] Fix merge errors.
* [NOD-1129] Narrow down on the failure.
* [NOD-1129] Fix bad initial value for child.interval in reachabilityTreeNode.addChild.
* [NOD-1129] Rewrite the test to be specific to reachability.
* [NOD-1223] Move all network stuff into a new network package.
* [NOD-1223] Delete the unused package testutil.
* [NOD-1223] Move infrastructure stuff into a new instrastructure package.
* [NOD-1223] Move domain stuff into a new domain package.
* Add Hash Writers
* Add the hash writers to the tests
* Add the DoubleHash Writer to the benchmarks
* Remove buffers from hashing by using the Hash Writer
* Replace empty slice with nil in mempool test payload
* [NOD-1201] Panic if necessary callback are not set in gRPCConnection and gRPCServer
* [NOD-1201] Fix comment and change return order
* [NOD-1201] Return nil instead of error on gRPCServer.Start
* [NOD-1201] Fix typo
* [NOD-1246/NOD-1248] Add unit test for NetAdapter
* [NOD-1246/NOD-1248] Do not ignore OK
* [NOD-1248] Lint code
- Move `t *testing.T` to be first parameter in test-helper function
- Rename `getRouterInitializer` to `routerInitializerForTest`
- Make test data constants
Co-authored-by: Yaroslav Reshetnyk <yaroslav.r@it-dimension.com>
* [NOD-1190] Move non-processBlock stuff out of process.go.
* [NOD-1190] Move everything out of accept.go.
* [NOD-1190] Move all processBlock functions to process.go.
* [NOD-1190] Move orphan stuff to orphan.go.
* [NOD-1190] Remove thresholdstate stuff.
* [NOD-1190] Move isSynced to sync_rate.go.
* [NOD-1190] Move delayed block stuff to delayed_blocks.go.
* [NOD-1190] Rename orphans.go to orphaned_blocks.go.
* [NOD-1190] Move non-BlockDAG structs out of dag.go.
* [NOD-1190] Remove unused fields.
* [NOD-1190] Fixup BlockDAG.New a bit.
* [NOD-1190] Move sequence lock stuff to sequence_lock.go
* [NOD-1190] Move some multiset stuff out of dag.go.
* [NOD-1190] Move finality stuff out of dag.go.
* [NOD-1190] Move blocklocator stuff out of dag.go.
* [NOD-1190] Move confirmation stuff out of dag.go.
* [NOD-1190] Move utxo and selected parent chain stuff out of dag.go.
* [NOD-1190] Move BlockDAG lock functions to the beginning of dag.go.
* [NOD-1190] Move verifyAndBuildUTXO out of process.go.
* [NOD-1190] Extract handleProcessBlockError to a function.
* [NOD-1190] Remove daglock unlock in notifyBlockAccepted.
* [NOD-1190] Extract checkDuplicateBlock to a method.
* [NOD-1190] Fix merge errors.
* [NOD-1190] Remove unused parameter from CalcSequenceLock.
* [NOD-1190] Extract processBlock contents into functions.
* [NOD-1190] Fix parent delayed blocks not marking their children as delayed
* [NOD-1190] Fix TestProcessDelayedBlocks.
* [NOD-1190] Extract stuff in maybeAcceptBlock to separate functions.
* [NOD-1190] Rename handleProcessBlockError to handleConnectBlockError.
* [NOD-1190] Remove some comments.
* [NOD-1190] Use lowercase in error messages.
* [NOD-1190] Rename createNewBlockNode to createBlockNodeFromBlock.
* [NOD-1190] Rename orphaned_blocks.go to orpan_blocks.go.
* [NOD-1190] Extract validateUTXOCommitment to a separate function.
* [NOD-1190] Fix a bug in validateUTXOCommitment.
* [NOD-1190] Rename checkBlockTxsFinalized to checkBlockTransactionsFinalized.
* [NOD-1190] Add a comment over createBlockNodeFromBlock.
* [NOD-1190] Fold validateAllTxsFinalized into checkBlockTransactionsFinalized.
* [NOD-1190] Return parents from checkBlockParents.
* [NOD-1190] Remove the processBlock prefix from the functions that had it.
* [NOD-1190] Begin extracting functions out of checkTransactionSanity.
* [NOD-1190] Finish extracting functions out of checkTransactionSanity.
* [NOD-1190] Remove an unused parameter.
* [NOD-1190] Fix merge errors.
* [NOD-1190] Added an explanation as to why we change the nonce in TestProcessDelayedBlocks.
* [NOD-1190] Fix a comment.
* [NOD-1190] Fix a comment.
* [NOD-1190] Fix a typo.
* [NOD-1190] Replace checkBlockParents with handleLookupParentNodesError.
* [NOD-1233] Remove HandleNewBlockOld.
* [NOD-1233] Make ErrRouteClosed not a protocol error.
* [NOD-1233] Fix ambiguous comments.
* [NOD-1233] Remove a no-longer-relevant comment.
* [NOD-1233] Remove some of the TODOs.
* [NOD-1233] Replace fakeSourceAddress with a real sourceAddress.
* [NOD-1233] Remove a no-longer-relevant TODO.
* [NOD-1233] Remove TODO from handleGetNetTotals.
* [NOD-1233] Remove a no-longer-relevant TODO.
* [NOD-1233] Disconnect if connected to wrong partial/full type.
* [NOD-1233] Get rid of mempool tags.
* [NOD-1233] Remove TODOs.
* [NOD-1233] Simplify a test.
* [NOD-1190] Remove getNetTotals.
* [NOD-1259] All rule-errors should be protocol-errors
* [NOD-1259] Handle submitting of coinbase transactions properly
* Revert "[NOD-1259] All rule-errors should be protocol-errors"
This reverts commit 2fd30c185640fcee62030f72ed14654570a1d7c7.
* [NOD-1259] Don't panic on non-protocol errors in ProtocolManager.AddTransaction/AddBlock
* [NOD-1259] Implement subnetworkid.IsBuiltInOrNative and use where appropriate
* [NOD-1220] Add network name to the version message.
* [NOD-1220] Ban peers from the wrong network.
* [NOD-1220] Add the network parameter to protowire.
* [NOD-1220] Add "kaspa-" to network names.
* [NOD-1229] Fix node crashing if AntiPastHashesBetween lowHigh or highHash are not found in the DAG
* [NOD-1229] Rename InvalidParameterError to ErrInvalidParameter.
* [NOD-1229] Lowercasify errors.
* [NOD-1224] Make block already existing a ruleError
* [NOD-1224] Remove block from pendingBlocks list only after it was processed
* [NOD-1224] AddToPeers should have a Write Lock, not Read Lock
* [NOD-1224] Check for unrequested before processing
* [NOD-1214] Added test for 64 incoming connections to single node
* [NOD-1214] Expand comments, and a small rename
* [NOD-1214] Make sure no bully reports blockAdded twice
* [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-1162] Move TestIntegrationBasicSync to basic_sync_test.go
* [NOD-1210] Made it possible to setup any number of harnesses needed
* [NOD-1210] Rename appHarness1/2 to incoming/outgoing in connect function
* [NOD-1210] Add the 117-incoming-connections integration test
* [NOD-1210] Delete 117-incoming-connections test because it opens too much files
* [NOD-1210] Added function to notify of blocks conveniently
* [NOD-1210] Added function to mine a block from-A-to-Z
* [NOD-1210] Added IBD integration test
* [NOD-1210] Finish test for IBD and fix bug where
requestSelectedTipsIfRequired ran in handshake's goroutine
* [NOD-1210] Set log level to debug
* [NOD-1211] Add test for transaction relay
* [NOD-1211] Compare fix incorrect comaprison in KaspadMessage_RequestTransactions.fromWireMessage
* [NOD-1211] Return ok instead of err from FetchTxDesc and FetchTransaction
* [NOD-1211] Added MsgTransactionNotFound type
* [NOD-1211] Added HandlRequestedTransactions flow
* [NOD-1211] Wait for blocks to be accepted before moving forward
* [NOD-1211] Rename CmdNotFound to CmdTransactionNotFound
* [NOD-1211] Rename: requestAndSolveTemplate -> mineNextBlock
* [NOD-1211] Renamed incoming/outgoing to appHarness1/appHarness2 in isConnected
* [NOD-1211] Move check of Hash == nil to outside wireHashToProto
* [NOD-1211] Instantiate payloadHash before *x