Commit Graph

4211 Commits

Author SHA1 Message Date
Chris Stewart
e8ab293fa0
Remove Initialized from NodeStreamMessage, return Initialized from ControlMessageHandler (#5199)
* Remove Initialized from NodeStreamMessage, return Initialized from ControlMessageHandler to avoid deadlocking queue with backpressure

* Revert a few things

* scalafmt
2023-08-23 08:34:37 -05:00
Chris Stewart
cc94a92424
Add Await.result() to inactivity check runnable to make sure it completes, or we get an error message if it doesn't (#5197) 2023-08-16 09:43:25 -05:00
Chris Stewart
f36c437648
Guard createFilterSyncJob() with isStarted (#5195) 2023-08-15 11:35:49 -05:00
Chris Stewart
008dd42a08
Upgrade lnd to 0.16.4 (#5194)
* Upgrade lnd to 0.16.4

* fix the rest of the hashes

* Fix version

* Fix queryroutes cltv delta param from 40 -> 80

* update doc versions
2023-08-14 14:38:23 -05:00
Chris Stewart
e423de01e1
Remove executing block callbacks if node is in IBD (#5193) 2023-08-12 19:19:13 -05:00
Chris Stewart
998c997ac5
Move initialization cancellable into connection graph (#5192)
* Move initialization cancellable into connection graph so we can cancel it if PeerMessageSender.disconnect() is called

* Create ConnectionGraph.stop()

* fix compile
2023-08-12 17:55:02 -05:00
Scala Steward
561be207b1
Update sbt-coveralls to 1.3.11 (#5191) 2023-08-12 14:34:02 -05:00
Scala Steward
6c9d71cb97
Update logback-classic to 1.4.11 (#5189) 2023-08-11 12:11:08 -05:00
Scala Steward
38f8c40c33
Update client3:core to 3.9.0 (#5190) 2023-08-11 11:33:48 -05:00
Chris Stewart
deb34dc87a
Lower log levels to DEBUG (#5188) 2023-08-09 08:50:55 -05:00
Chris Stewart
09623173b3
Increase inactivity check log level (#5187) 2023-08-07 15:00:47 -05:00
Scala Steward
d5bf14f5cf
Update sbt-coveralls to 1.3.10 (#5184) 2023-08-07 10:37:01 -05:00
Chris Stewart
f2b40c8922
More idiomatic akka stream usage (#5183) 2023-08-06 14:02:58 -05:00
Scala Steward
b1ca4310ac
Update logback-classic to 1.4.9 (#5178) 2023-08-06 13:10:22 -05:00
Chris Stewart
b13e0565af
Remove PeerMessageReceiver (#5182)
* Remove PeerMessageReceiver

* Dont use QueueOfferResult, use akka.Done
2023-08-06 13:10:11 -05:00
Chris Stewart
c238191209
2023 08 04 rm peermsgrecvstate (#5177)
* WIP: Remove PeerMessageReceiverState from PeerMessageReceiver

* Get tests passing
2023-08-06 11:57:04 -05:00
Scala Steward
969937b9df
Update junixsocket-core to 2.7.0 (#5179) 2023-08-06 07:42:49 -05:00
Chris Stewart
25f42bf6b8
Reduce log level of 'Received maximum amount of headers' (#5181) 2023-08-05 20:16:17 -05:00
Chris Stewart
08e780a884
2023 08 01 issue 5174 (#5176)
* Move methods out of PeerManager.onInitialization()

* Add PersistentPeerData, QueriedPeerData

* Segregate PeerData -> {AttemptToConnectPeerData, PersistentPeerData}, handle the cases differently in managePeerAfterInitialization()

* Remove call to sync() in BitcoinSServerMain

* Fix bug where we were attempting to stop peers that had already had their connections fail

* reduce log level for peer discovery failures
2023-08-04 11:18:27 -05:00
Chris Stewart
147f7782e5
2023 07 28 cleanup tests (#5172)
* simplify re-query invalid headers test case

* Cleanup test

* Cleanup another test

* Fix re-query invalid headers unti test

* fix unit test

* Empty commit to run CI

* Empty commit to re-run CI

* Empty commit to run CI
2023-08-01 11:26:51 -05:00
Scala Steward
eff3580ea0
Update bcprov-jdk18on to 1.76 (#5175) 2023-08-01 10:09:39 -05:00
Chris Stewart
9b85838823
Implement logic to restart PeerManager in inactivity checks when we have 0 peers (#5171)
* Implement logic to restart PeerManager in inactivity checks when we have 0 peers

* Revert logback-test.xml

* cleanup
2023-08-01 10:07:40 -05:00
Chris Stewart
4d5488f193
2023 07 31 fix filterheader sync bug (#5173)
* fix compact filter header sync bug where we wouldn't start syncing filters

* scalafmt

* remove batch size check
2023-07-31 11:36:18 -05:00
Chris Stewart
99ca1b7abf
Add PeerManagerApi.peers (#5170) 2023-07-28 10:51:10 -05:00
Chris Stewart
cade1afcdf
Implement more checks for createFilterSyncJob() to more strictly check if we have seen any filter headers / filters since the job was scheduled (#5168) 2023-07-27 10:50:40 -05:00
Chris Stewart
e570ebea56
Remove validating headers state (#5165) 2023-07-26 06:56:24 -05:00
Chris Stewart
c2902c1146
Fix onBlockReceived unit test (#5166)
* Fix onBlockReceived unit test

* scalafmt
2023-07-25 16:20:39 -05:00
Chris Stewart
ef2c96cc99
Add PeerManagerApi (#5164) 2023-07-25 14:34:32 -05:00
Chris Stewart
2d57ff6a3e
Refactor PeerManager methods to be connectPeer(), disconnectPeer() (#5163)
* Refactor PeerManager.{removePeer,waitingForDeletion} -> PeerManager.{disconnectPeer,waitingForDisconnection}

* PeerManager.addPeer() -> PeerManager.connectPeer()

* scalafmt
2023-07-25 11:59:58 -05:00
Chris Stewart
4afaaf8f22
Only log a warning instead of throwing an exception when we try to send a message to a peer we aren't connected to (#5161) 2023-07-25 09:34:14 -05:00
Scala Steward
092ef944e2
Update sbt to 1.9.3 (#5160) 2023-07-24 12:24:38 -05:00
Chris Stewart
878dce7945
Use Await.result() in DataMessageHandlerTest to avoid test cases that never complete (#5159) 2023-07-24 07:57:54 -05:00
Chris Stewart
2032b16620
Fix bug where we just need to awaitSyncAndIBD() rather than attempt to sync() (#5158)
* Fix bug where we just ned to awaitAllSync() rather than attempt to sync()

* Use awaitSyncAndIBD, mv awaitSyncAndIBD to NodeTestUtil

* Replace more NodeUnitTest.syncNeutrinoNode() with NodeTestUtil.awaitSyncAndIBD

* Replace more NodeUnitTest.syncNeutrinoNode() with NodeTestUtil.awaitSyncAndIBD
2023-07-21 17:08:01 -05:00
Chris Stewart
1ccc6a9230
2023 07 19 cleanup nodetest (#5156)
* Remove explicit call to sync()

* Remove extra call to NodeUnitTest.syncNeutrinoNode() in test fixture

* Add NeutrinoNodeNotConnnectedWithBitcoinds

* Don't switch sync peer if its the same peer we are currently syncing from it

* Fix another test

* Remove another sync() call

* Add carve out with MisBehavingPeers for the case where the badPeer was our last peer

* Remove more .sync() calls
2023-07-21 09:18:48 -05:00
Chris Stewart
4a344f0187
Fix bug in ChainApi.processFilterHeaders() (#5157)
* Fix bug in ChainApi.processFilterHeaders()

* Reduce log level for case where we are processing filter headers we have already seen before
2023-07-19 17:09:04 -05:00
Chris Stewart
e08469901b
Make PeerMessageSender.reconnect() return a Future that is completed when the connection is established (#5155)
* Make PeerMessageSender.reconnect() return a Future that is completed when the connection is established

* Replace hard require() with AsyncUtil.retryUntilSatisfiedF()
2023-07-19 13:10:15 -05:00
Chris Stewart
44190a535c
Defensively try to sync everytime a peer is a initialized (#5154)
* Defensively try to sync everytime a peer is a initialized

* Turn logging OFF

* Fix DataMessagehandlerTest, remove calls to NeutrinoNode.sync() in test fixtures
2023-07-19 09:43:23 -05:00
Chris Stewart
f034435430
Move setSyncing into PeerManager.syncHelper() (#5153) 2023-07-18 15:23:01 -05:00
Chris Stewart
ba8a0bf75a
2023 07 17 coretest script refactor (#5150)
* Refactor coreTest script test cases to consolidate

* Refactor blockchain tests in coreTest

* Refactor transaction tests in coreTest

* Refactor address tests in coreTest

* Fix missing asserts

* Fix missing asserts
2023-07-17 12:15:47 -05:00
Chris Stewart
e66c078863
First attempt at implementing inactivityChecks() (#5144)
* First attempt at implementing inactivityChecks()

* Move lastParsedMessage logic into PeerMessageSender

* Add bitcoin-s.node.inactivity-timeout config option

* implement unit test

* Fix CommonSettings

* scalafmt

* scalafmt

* Rename lastSuccessfulParsedMsg -> lastSuccessfulParsedMsgOpt

* make sure we disconnect in the case the stream terminates with an error

* Reduce log level
2023-07-16 16:03:16 -05:00
dependabot[bot]
516bfdd007
Bump semver from 5.7.1 to 5.7.2 in /website (#5149)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-16 07:19:32 -05:00
dependabot[bot]
4622080b5b
Bump json5 from 2.2.1 to 2.2.3 in /website (#4943)
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-15 15:58:21 -05:00
Chris Stewart
4bd5616e67
Make sure PeerData.stop() is called when PeerFinder.removePeer() is called (#5147)
* Make sure PeerData.stop() is called  when PeerFinder.removePeer() is called

* Fix log, add a new log
2023-07-15 09:22:14 -05:00
Scala Steward
115da94229
Update sbt to 1.9.2 (#5142) 2023-07-10 12:11:13 -05:00
Chris Stewart
ebe79287af
Implement socks5 proxy in PeerMessageSender (#5136)
* WIP: Implement socks5 proxy in PeerMessageSender

* Get something working

* Refactor to use Either when passing a socks5 message or non socks5 ByteString downstream

* Socks5Message -> Socks5MessageResponse

* Revert things

* More cleanup

* Fix rebase

* Move socks5Handler() Flow into Socks5Connection

* Revert NeutrinoNode

* Implement auth for socks5 proxy in stream

* Cleanups
2023-07-10 06:56:15 -05:00
Chris Stewart
2b117d349a
Remove duplicate Peer class (#5141) 2023-07-09 16:10:49 -05:00
Scala Steward
cde3977312
Update sbt-scalajs-crossproject to 1.3.2 (#5137) 2023-07-08 13:57:56 -05:00
Chris Stewart
b1e6488bb7
Move Socks5ProxyParams, Credentials into core (#5138) 2023-07-08 13:57:44 -05:00
Chris Stewart
ee619051a3
2023 07 04 node refactors (#5130)
* Make PeerData.peerMessageSender not wrapped in Future

* Remove peerMessageSenderApi param

* Small cleanups

* Rename DataMessageHandlerState -> NodeState

* Cleanups in DataMessageHandler

* Refactor StreamDataMessageWrapper -> NodeStreamMessage

* More small fixes

* Make handleDataPayload() take PeerData rather than Peer

* Move peers into NodeState and remove as param in DataMessageHandler

* replacePeers whenever PeerManager.{onP2PClientDisconnected,onInitialization} is called

* rework ValidatingHeaders.toString()

* Empty commit to run CI
2023-07-07 08:11:39 -05:00
Scala Steward
51f5f53322
Update client3:core to 3.8.16 (#5134) 2023-07-07 08:11:09 -05:00