Commit graph

4360 commits

Author SHA1 Message Date
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
Chris Stewart
9b6bca06c0
Fix duplicate filter header sync by adding delay before attempting to sync filter headers (#5132)
* Fix duplicate filter header sync by adding delay before attempting to sync filter headers

* Fix bug where we don't wait for AsyncUtil.nonBlockingSleep()
2023-07-06 12:05:14 -05:00