Commit graph

247 commits

Author SHA1 Message Date
Chris Stewart
6cbbd8825d
2021 10 02 create contract info (#3713)
* WIP createcontractinfo

* Fix ordering issue

* Use existing contract descriptor serializer, begin fixing test case

* Get DLCRoutesSpec createcontrafctinfo passing again

* Finish implementing createcontractinfo

* Add doc

* Fix native image build by adding hard coded static private key for OracleAnnouncementV0TLV.dummy
2021-10-05 06:24:25 -05:00
Chris Stewart
781e77844f
Implement ability to get proper version of BitcoindRpcClient from BitcoindRpcApConfig.clientF (#3699) 2021-09-29 06:43:15 -05:00
Chris Stewart
4e56fb7901
Make it so bitcoind backend exceptions don't get swallowed (#3697)
* Make it so bitcoind backend exceptions don't get swallowed when doing IBD against bitcoind

* Move zmq polling into syncWalletWithBitcoindAndStartPolling() method
2021-09-28 17:55:47 -05:00
rorp
698fe9e800
Add backupwallet and backuporacle endpoints (#3694)
* Add backupwallet and backuporacle endpoints

* respond to the PR comments
2021-09-28 07:46:33 -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
Chris Stewart
4a5265801c
Allow for enternal entropy to be passed into a docker container for the appServer and oracleServer (#3679) 2021-09-20 13:27:20 -07:00
Chris Stewart
132479d271
Implement ability to provide external entropy to bitcoin-s (#3672)
* Encapsulate initialization of DLCOracle.start() method

* Use internal WalletAppConfig.kmConf rather than passing in custom key manager parameters

* Add KeyManagerAppConfig.defaultAccountType

* Get all tests passing besides TrezorAddressTest

* Get TrezorAddressTest passing with provided entropy

* Add unit test to make sure we can always derive the seed

* Get docs compiling

* Fix dlcWalletTest test cases

* Add more test cases to keymanager

* Add the new configuration to the example configuration

* Add more test cases

* Remove coverage on 2.12 as it isn't accurate

* Rework DLCOracleAppConfig.start() to call kmConf.start() so the oracle can use entropy provided via bitcoin-s.conf
2021-09-18 09:49:11 -05:00
Chris Stewart
0fb2cd0149
Remove implicit conversions from BitcoinSAppConfig -> {WalletAppConfig,ChainAppConfig,NodeAppConfig} etc (#3652) 2021-09-08 13:54:18 -05:00
benthecarman
515e85b1c5
Decode DLC messages cli commands (#3636)
* Decode DLC messages cli commands

* Move decoding to picklers, add contractInfo decoder

* Add decoding examples
2021-09-03 09:46:09 -05:00
Chris Stewart
0746b14331
Move BitcoindRpcAppConfig into the bitcoind-rpc project (#3610) 2021-08-27 06:43:31 -05:00
Chris Stewart
a5f4f9663c
Add BitcoinSServerMain test to connect to bitcoind (#3591)
* Add BitcoinSServerMain test to connect to bitcoind

* Add tor tests

* Fix compile

* Remove println

* Allow to reset BitcoinSServer promise

* Remove println

Co-authored-by: benthecarman <benthecarman@live.com>
2021-08-26 09:08:38 -05:00
benthecarman
479f8e249c
Remove unneeded CoreApi (#3599) 2021-08-24 14:17:04 -05:00
Chris Stewart
b980f4894d
Implement BitcoinSAppConfig with ActorSystem (#3596) 2021-08-24 07:41:05 -05:00
Chris Stewart
75bbda66dd
Add AppConfigActorSystem (#3590) 2021-08-23 14:49:13 -05:00
Chris Stewart
e62615dc5e
Add guard to not allow us to check the network configuration on bitcoind (#3582)
* Add guard to not allow us to check the network configuration on bitcoind if we are using tor because tor isn't started yet

* Remove unecessary logs, revert config
2021-08-20 14:49:37 -05:00
Chris Stewart
9ef27e4d7e
Turn on bitcoin-s.node.relay=true by default on bundle/appServer (#3580) 2021-08-19 17:37:55 -05:00
benthecarman
0a31d6a4e2
Have wallet broadcast transaction for sendrawtransaction (#3578) 2021-08-19 17:24:17 -05:00
rorp
c915711908
Make Tor setup Docker compatible (#3552) 2021-08-19 08:13:23 -07:00
Chris Stewart
b7d85264a0
Implement TorAppConfig.start(), use tor logs to detect when the tor is fully started (#3549)
* Implement TorAppConfig.start(), use tor logs to detect when the tor binary is fully started

* Clean up comments

* take ben's suggestion and only start the binary when tor is enabled

* Add cases for when binary is alreayd started

* Actually set the stop flag correctly

* Scalafmt
2021-08-15 14:01:12 -05:00
Chris Stewart
bbd3cd2bc4
Stop tor binary when server is shutdown (#3543) 2021-08-13 10:24:47 -05:00
benthecarman
04678b5ed9
Add tor config to bundle application.conf (#3537)
* Add tor config to bundle application.conf

* Fix to correct proxy config
2021-08-12 14:18:15 -05:00
user411
309d9ec217
Add proxy and tor sections to reference conf (#3530) 2021-08-12 07:07:44 -05:00
Chris Stewart
037ab7341e
Reduce logs for inv messages and wallet callbacks to DEBUG (#3524) 2021-08-11 11:13:04 -05:00
benthecarman
43e0287fed
Package Tor with Bitcoin-s (#3483)
* Tor packaged in Bitcoin-S

* Ensure not a bridge relay

* Respond to review

* Move repeat function
2021-08-10 11:56:17 -05:00
rorp
3d4cf1fc91
Tor support for all sub-projects (#3506) 2021-08-10 08:07:12 -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
benthecarman
b39ca47268
Create TorAppConfig (#3476) 2021-08-04 14:16:22 -05:00
benthecarman
7cac44de4d
DLC P2P in AppServer and GUI (#3462) 2021-08-04 07:06:19 -05:00
rorp
ca40af5d94
Tor support for BTC RPC (#3470)
* Tor support for BTC RPC

* change config format
2021-08-03 11:07:05 -05:00
benthecarman
1051e6365a
DLC P2P Client (#3402)
* DLC P2P WIP

* P2PClient refactor (#10)

* Add to CI

* Remove unused

* Attempt to create DLCNode and Tests

* Full Tor support

* Get DLCNegotiationTest passing

* Config options, connect & send func

* Test for DLCNode

* Add createDLCNode to config

* Fix formatting

* Update DLC state after all other data is set

* Remove unneeded line

* Respond to some review

* 2021 07 26 dlc node code review (#13)

* WIP

* WIP2

* Rewrite tests not use Await.result()

* Skip Tor test on CI

* Cleanup threadpool leaks in tests

* Handle actor pattern matching better

* Respond to review

* Implement DLCNode.stop

* sock5 -> socks5

* Use Tcp.Unbind

* Respond to review

* Implement postStop

* Switch to unbind

Co-authored-by: rorp <rorp@users.noreply.github.com>
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2021-08-02 18:15:56 -05:00
Shruthii RG
e2c2798e60
Implemented the ability to fetch unconfirmed transactions (#3429)
* relay flag in version message made configurable

* modified test classes as well

* Update configuration.md

* reverted few files and cleaned up format

* fixed mistake

* enabled neutrino node to receive transactions as a callback

* added txid to log message

* changed txId to txIdBE

* unit test added for checking if we're getting transaction as a callback
2021-07-23 13:01:07 -05:00
benthecarman
2597904019
Move DLCWalletApi to core module (#3438) 2021-07-21 15:25:18 -05:00
Shreyansh
4be2b2109b
[WIP] Adding multi-peer support (#3401)
* establish conn with multiple peers

squash 1

squash 2

squash 3

* add tests

* change log msg level

* minor changes

* fix

* formatting

* fix docs

* commit to rerun ci

* changes from comments

* fix bug

* rerun ci
2021-07-21 15:18:45 -05:00
rorp
8b663d91b6
Tor support for P2P (#3311)
* Tor support for P2P

* fix stuck connections

* unit tests

* docs

* update docs

* respond to the PR comments

* fix docs
2021-07-13 14:27:24 -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
5df7a8bdf3
Add test for ZMQ Polling backend (#3088)
* Add test for ZMQ Polling backend

* Use TestAsyncUtil, increase maxTries

* Add multiple attempts
2021-07-06 19:20:12 -05:00
benthecarman
629c2a2c31
Set sync height on new wallet (#3368) 2021-07-06 12:33:38 -05:00
benthecarman
af9bf21058
Improve logs in BitcoindRpcBackendUtil (#3339) 2021-06-28 09:44:26 -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
a98a26c929
Make mempool.space fee provider network specific (#3316) 2021-06-22 12:07:44 -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
bd11c84462
Add ability to sweep wallet (#3274)
* Add ability to sweep wallet

* Respond to review

* empty
2021-06-16 14:37:40 -05:00
benthecarman
7ecf3edbd6
Update utxo states correctly for bitcoind backend (#3276) 2021-06-16 12:30:43 -05:00
Chris Stewart
63083bf642
Make getDLCs async to improve performance (#3222)
* Make getDLCs async to improve performance

* remove logs

* remove unecessary logs

* Fix unused
2021-06-15 09:38:36 -05:00
benthecarman
95f6c0d790
Skip adding DLC sigs if we already have them (#3236)
* Skip adding DLC sigs if we already have them

* Fix compile

* Fix test
2021-06-09 18:42:17 -05:00
Chris Stewart
9431be2f25
2021 06 07 dlc wallet pnl (#3229)
* WIP

* Add profit and loss and rate of return for entire wallet

* Fix rebase

* Address part 1 of code review from Ben

* Add unit test for wallet accounting
2021-06-08 15:05:40 -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
benthecarman
5036c419be
Add from file ability for AddDLCSigsAndBroadcast DLCs (#3219) 2021-06-03 21:14:03 -05:00
benthecarman
46b33ec0b8
Make add sigs broadcast the funding transaction (#3179)
* Make add sigs broadcast the funding transaction

* Rename to Broadcast DLC
2021-05-28 20:02:24 -05:00
benthecarman
7a5e108ff2
Add button to zip datadir in GUI (#3183) 2021-05-28 19:17:41 -05:00