Commit graph

49 commits

Author SHA1 Message Date
Chris Stewart
8cfd5e8d6b
2024 09 19 address handling refactor (#5679)
* wallet: Create has-a relationship for AddressHandling rather than is-a

* Fix infinite loop in AccountHandlingApi.getNewAddress(account)

* Fix appServerTest

* Revert Server.scala
2024-09-21 11:41:57 -05:00
Chris Stewart
9feabc1c2b
Make WebsocketTests rescan test more robust (#5661)
* Make WebsocketTests rescan test more robust

* Bump timeout on WebsocketTests address generated unit test

* Rework importseed endpoint to return a bool indicating if the import was successful

* Reduce Server.httpBadRequest() log level from ERROR -> INFO

* Remove adhoc json for walletinfo
2024-09-11 10:39:32 -05:00
Chris Stewart
a6b7fada50
Get rest of codebase compiling with -Xsource:3 (#5592) 2024-05-11 14:13:36 -05:00
Scala Steward
afddf73c48
Update scalafmt-core to 3.8.1 (#5501)
* Update scalafmt-core to 3.8.1

* Update .scalafmt.conf settings to be factory default settings

* Fix typo

* scalafmt

* Empty commit to re-run CI

* Revert some scalafmt back to original scalafmt.conf

---------

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2024-04-20 19:55:49 -05:00
Chris Stewart
177542a13c
Remove grizzled.sl4fj was its no longer maintained (#5482) 2024-03-18 16:48:58 -05:00
Chris Stewart
1dff918848
2023 02 21 pekko (#5413)
* Get dependencies resolving, get tor module compiling

* Get everything compiling with pekko

* Rework configs/logging to use pekko namespace

* Rename AkkaUtil -> PekkoUtil, BitcoinSAkkaAsyncTest -> BitcoinSPekkoAsyncTest
2024-02-22 10:26:21 -06:00
Chris Stewart
5e6caa866f
Implement call to Node.stop() when shutting down BitcoinSServerMain (#5124) 2023-06-29 15:57:46 -05:00
Chris Stewart
e993335f03
Improve error logging on server (#4896) 2022-11-22 14:46:24 -06:00
Chris Stewart
4b83286922
2022 07 25 wallet api refactor (#4545)
* Move MockChainQueryApi/NodeApi out of BaseWalletTest

* refactor BitcoinSServerMain.start() to return WalletHolder

* Add walletConfig to WalletWithBitcoind

* Move findOutputsBeingSpent into WalletApi

* Add WalletApi.clearAllAddresses(), HDWalletApi.{findAccount, getnewaddress(account)}

* Add HDWalletApi.fundRawTransaction() with an account as parameter

* Add WalletApi.findByScriptPubKey()

* Fix lots of tests in WalletIntegrationTest

* Create WalletApi.processOurTransaction()

* Get things compiling

* Fix tag integration test

* Refactor AnyDLCHDWalletApi -> DLCNeutrinoHDWalletApi

* Fix docs

* Get postgres tests passing locally

* Move initBalance map before calling callback in CallBackUtilTest

* Get compile working, rename to destroyOnlyWalletWithBitcoindCached

* Fix docs

* Fix missing destroyWalletAppConfig

* Fix scalafmt

* Fix bug in dlcWalletTest where wallet db thread pools weren't being shutdown after unit test completes

* Empty commit
2022-07-31 08:04:39 -05:00
Chris Stewart
e3a7c0971f
Refactor to hide the Message paramter that gets fed to the websocket queue, move it to a internal implementation detail (#4514) 2022-07-18 07:32:18 -05:00
user411
8a01432db4
Try to debug why shutdown isn't working on windows (#4349)
* Try to debug why shutdown isn't working on windows

* Add 2022-05-18-shutdown-bug branch so it triggers release.yml

* Cleanup OracleServerMain shutdown

* Make cleaner shutdown messages

* Remove feature branch

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2022-05-24 14:41:12 -05:00
Chris Stewart
f4d864fab8
2022 04 26 Startup time of appServer (#4294)
* Make Server's route be async

* WIP

* Add StartedBitcoinSAppConfig to indicate when tor starts up

* Add torStarted flag to getinfo response
2022-04-28 13:50:28 -05:00
Chris Stewart
37da24b94b
Add SignDbState to fix rescan exception (#4246)
* Add SignDbState to fix rescan exception

* Cleanup

* Add test, doesn't pass

* Add unit tests, add invariants

* Add unit test to appServerTest

* Fix handling so an exception is not thrown internally when a contractId does not exist
2022-04-11 08:06:53 -05:00
Chris Stewart
c315dce05b
Add jdk version to log (#4142) 2022-03-01 10:12:44 -06:00
rorp
44b2ca3c3d
Improve validation error messages (#4141)
* Improve validation error messages

* fix unit tests
2022-03-01 05:27:32 -06:00
rorp
1708add6ec
Make Tor connect error message more human readable (#4078) 2022-02-11 12:35:37 -06:00
rorp
f438ce2897
Refactor zipDatadir (#3999)
* Refactor zipDatadir

* cleanup
2022-01-21 10:03:53 -06:00
rorp
d88e2494e0
Make RPC authentication optional for localhost (#3980) 2022-01-13 13:08:48 -06:00
rorp
ee3ee53191
RPC password authentication (#3961)
* RPC password authentication

* fix compiler error

* add more unit tests

* change default behavior

* Cleanup and add unit test for sad path for rpc authentication

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2022-01-13 05:55:33 -06:00
Chris Stewart
d06b064b6b
2021 12 28 blockprocessed callback (#3946)
* WIP

* Get appServerTest passing with chain notifications

* Reorder where SourceQueue gets initialized so that we can use it to construct the wallet's callbacks

* DRY

* Fix missing callback for neutrino chaincallbacks

* Bump timeout

* Bump timeout

* When wallet is empty call doSync() with the last blockheader bitcoind has seen

* Revert skipping compact filters on IBD for bitcoind

* Revert logging
2021-12-30 13:41:17 -06:00
Chris Stewart
50bec2abc6
2021 12 14 websockets (#3906)
* WIP

* Get basic websocket working (sort of)

* Push websocket fixes

* WIP: Implementing SpendingInfoDb json serializer

* Implement onreserved callbacks, add json serializers for SpendingInfoDb

* Get first unit test working for websockets when a address is generated

* Rework WalletNotification to have case classes, get unit test working for receiving addresses over the websocket

* WIP

* Add websocket callback for when a wallet processes a block

* Cleanup

* basic updates to unit test

* Fix compile

* Fix submodule

* Fix compile

* Get both unit tests passing when run by themselves

* Fix so both test cases can be run

* Implement unit tests for blockpressed and reservedutxos websockets

* Fix RoutesSpec get a block header test

* Implement configuration for wsbind and wsport via bitcoin-s.conf

* Add some nonblocking sleeps on all WebsocketTests

* Add documentation

* Properly close the server with .terminate() rather than .unbind()

* Add BitcoinSServerMainBitcoindFixture.afterAll()

* Add println

* Add more println

* Try to downgrade bitcoind version

* Fix datadir bug

* Cleanup callbacks so they don't have nested futures

* Fix SpendingInfoDb.apply() pattern match

* Add spendingInfoDb json serializer test, does not pass

* Fix SpendingInfoDb json serializer

* Make small refactors

* Fix compile

* Add maxBufferSize, change overflow strategy to OverflowStrategy.dropHead

* Address Nadav's code review

* Address ben's code review
2021-12-25 11:11:04 -06:00
Chris Stewart
4646ef6e19
Remove BitcoinSServerMain.startedFP (#3928) 2021-12-20 14:29:03 -06:00
Chris Stewart
5189b6ad5c
revert logging directives on request/response back to DEBUG (#3819) 2021-11-12 10:39:14 -06:00
rorp
21fab4ee70
Improve app server validation error handling (#3796) 2021-11-05 10:03:16 -05:00
rorp
5a5f1e00c7
Store oracle name in the database (#3748)
* Store oracle name in the database

* fix pg tests

* respond to the PR comments
2021-10-14 09:35:11 -05:00
Chris Stewart
d912665067
Remove cors handler for all requests (#3736) 2021-10-07 14:55:24 -05:00
Chris Stewart
1b88d26095
Bump logging level back to INFO on http servers (#3734) 2021-10-07 13:49:04 -05:00
Chris Stewart
2191eb2049
Add 'getversion' endpoint to fetch the version from the backend (#3689)
* Add 'getversion' endpoint to fetch the version from the backend

* Use EnvUtil.getversion
2021-09-27 07:42:21 -05:00
user411
55c57c487e
Add CORS handling for running from a local dev server (#3612) 2021-08-27 07:57:36 -05:00
Chris Stewart
4f7b6422ea
2021 08 06 app config refacotr (#3498)
* Move AppConfig into app-commons, reduce classpath deps on keyManager,tor

* Move test ServerArgParserTest

* Fix compile error
2021-08-07 14:36:11 -05:00
Chris Stewart
bc79a24f53
Get both bundle and app server logging working (#3362)
* Get both bundle and app server logging working, oracleServer does not compile

* Get everythig compiling

* Fix bug where bundle wouldn't use command line param rpc port for ConsoleCli

* Add unit tests to make sure we are translating to config properly

* Fix bug where app config wasn't re-created after parsing bundle args

* Fix datadir resolution in BundleGUI

* Implement force-recalc-chainwork

* fix bug

* Try not using tilde on windows

* Try to print datadir on CI

* Try using stackoverflow answer

* Try escaping windows path

* Take ben's suggestion of using AppConfig.safePathToString

* Just check the paths are equal

* Fix nullpointerexceptions on startup

* Fix bug where bitcoin-s-bundle.conf was not being read

* Remove usage of --conf flag in bundle when starting backend server

* Fix compile

* Rename usedDir -> networkDir

* Fix passing in datadir
2021-07-07 10:59:11 -05:00
benthecarman
d669bd58ae
Resolve bundle config and read/write in tmp file (#3327)
* Have it save config for next time

* Fix compile
2021-06-28 07:46:32 -05:00
benthecarman
d6878b0226
Use same network as bitcoind backend (#3285)
* Require same network for bitcoind and appServer

* Use same network as bitcoind backend

* touchups
2021-06-17 10:44:25 -05:00
benthecarman
898ebed4e9
Windows packaging (#3210) 2021-06-17 07:20:07 -05:00
Chris Stewart
a61c11acfc
Implement sharing of actor systems across the GUI and backend app server (#3220)
* Implement sharing of actor systems across the GUI and backend app server

* Add timestamp to system names

* Fix test case
2021-06-07 11:38:33 -05:00
Chris Stewart
4146876369
Add DatadirUtil to centralize logic for finding our actual datadir (#3171) 2021-05-27 13:08:14 -05:00
Chris Stewart
55db4fbd6b
Remove logging requests and responses for directives unless logging is DEBUG level (#3141) 2021-05-25 19:51:31 -05:00
Aris
507f5c772e
Remove request rejection duplication in ServerRoute (#3010) 2021-05-04 12:17:50 -05:00
Chris Stewart
84661bd122 Refactor BitcoinSRunner to use StartStop[Async] (#2986)
* Refactor BitcoinSRunner to use StartStop[Async]. This makes it easier to have a uniform interface to write for destruction code in BitcoinSRunnerTest

* Fix other ServerRunTest to cleanup after itself
2021-04-29 16:43:15 -05:00
benthecarman
85ff255df3 Update akka to v10.2.4 (#2832) 2021-03-29 09:59:34 -05:00
benthecarman
07514e2348 Remove logging from core (#2810)
* Remove logging from core

* Remove slf4j from testkit core

* Remove logback from coretest
2021-03-21 19:11:55 -05:00
benthecarman
7aa68998f1 Correct log location and logs for oracle server (#2722)
* Correct log location and logs for oracle server

* Fix staking address to be mainnet

* fix network in test
2021-02-26 09:16:05 -06:00
Chris Stewart
56a14325e1 Get basic docker image working with oracle server (#2668)
* Get basic docker image working with oracle server

* Get docker file working with custom configuration

* Switch base image to generic openjdk

* Add docker documentation
2021-02-18 10:03:19 -06:00
benthecarman
931a528723 Give oracle server its own port (#2653)
* Give oracle server its own port

* Don't have default cli command port

* Default port in config

* Remove unused server conf

* Oracle own config option
2021-02-13 13:59:16 -06:00
Chris Stewart
8f958bf5d9 Update scalafmt (#2619) 2021-02-03 16:37:12 -06:00
Chris Stewart
a210c1ec3b 2021 01 09 issue 2496 (#2500)
* WIP: Get something working that isn't network specific

Start putting things back in place

Add comment

Revert logback file

Remove BitcoinSLogger object

* fix unit test

* Network specific log location

Co-authored-by: benthecarman <benthecarman@live.com>
2021-01-11 16:48:49 -06:00
benthecarman
b436f6cd2f Version Number in logs & Cli Command (#2467) 2021-01-05 07:27:40 -06:00
Chris Stewart
4e1a6c69f0 2020 12 18 enable lint options (#2454)
* Enable -Xlint:adapted-args,nullary-unit on our for compile scope

* Add Xlint:infer-any compiler option

* Fix build so test compiler options are actually enabled

* Enable more scalac linting options

* Add '-Xlint:eta-sam'

* Add 'Xlint:inaccessible,Xlint:missing-interpolator'
2021-01-03 08:01:26 -06:00
benthecarman
214dba8a8f Move RPC server logic into separate project (#2440) 2020-12-29 14:57:11 -06:00