* 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
* Sort DLC table by last updated
* Add LastUpdatedDb
* Make visible
* Fix compile
* Add time, fix sorting
* Switch to local time
* fix compile
* Fix test
* Fix postgres migration
* Specify zoneId
* 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
* Add Tor running text to UI
* Fix tor/proxy references
* Set network and proxy enabled from final config
* Cleanup
* Change to Tor Proxy indicator when enabled
* Add dialog to show transaction id and link after wallet Send
* Add transaction sent to rebroadcast closing tx
* Add Platform.runLater() for Ubuntu support
* Add block explorer timing warning
* Add Funding Transaction dialog, mempool.space urls
* Add check for valid broadcast states
* Add rebroadcast funding tx button
* remove printlns
* Add status to error message to get compile working
* println -> logger.info
Co-authored-by: Ivan <erickson.ivan@gmail.com>
* 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
* Add debug window to view log
* Test with Desktop.open() vs Desktop.edit()
* Use Runtime.exec() to open unix file
* Ubuntu log file open works
* Cleanup
* Brace cleanup
* Add logging for unsupported platforms
* Set disable to context menu items based on selection, add Refund/Execute
* Fix DLCStatus.state matching for disabling
* Add all explicit states to match
* 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>
* Dialogs to CliCommandProducers with buildView(), common fileChooser
* Fix Insets import error
* Code cleanup
* Parameterize CliCommandProducer to allow us to be more specific about the CliCommand
* Refactor CliCommandProducer to return just T rather than Some[T]
* Use Option rather than null
* Add error-label style
* Move Dialog tracking to Option[Dialog]
* Move GUIUtil params to Options
* Fix buildView param ordering and Try() notation
* Use match notation on file handling Options
* Fix Option variable naming/handling
* Add privates and style cleanup
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* 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
* Add network selection combobox for Neutrino fixes 3406
* Internalized ComboBox items, added .onion proxy.enabled auto-flagging
* Change ComboBox to BitcoinNetwork type
* Separate proxy and config building
* Resolve network name to canonical dirName
* Export Result and Save Backup handle no file selection, New Point in curve not marked Endpoint
* Revert endpoint defaullt change
* Change to Option[File] from Save Dialog
* Explicit no return from cases
* 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
* Make it so table doesn't reorder on single update
* Default ordering by status
* Sort table on every update
* Secondary sort by evenId
* Sort by dlcId too
* Switch to contract Id
* Update instead of delete and replace
* move to function, use for updateDLCs
* 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
* Don't fetch all DLC data when canceling DLC
* Allow unmarkUTXOsAsReserved when canceling DLC
* Add ability to cancel a Signed DLC
* add gui conf window
* Remove tags usage, as our current tags are invalid for mac
* First try trying to get jpackage to work with bitcoin-s bundle
* Simplify bundle name for now
* Try to fix linux formatting
* Empty commit to re-run ci
* Empty commit to re-run ci 2
* Fix references to krystal bull artifacts
* Add icon to deb file
* Add icns file for bitcoin-s for mac
* Use same icon as mac os x
* Try to get tagging logic correct
* Add fetch depth 0
* Try bumping java ubuntu version to 1.16
* Try using openjdk@1.16.0-1
* Remove jpackage feature branch to test
* Empty commit to re-run ci 2
* Remove unused ico file
* Pulled down dlc and dlcTest projects into core and dlcTest
Added dlcTest to CI runs and fixed compilation issues
* Fixed docs
* loosened fee rate bound assertions to only sanity test
* 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
* Add new app/scripts project which is meant to store useful bitcoin-s scripts
* Add ScanBitcoind with an example of counting segwit txs between a range
* Fix bug of creating a new actor system everytime BitcoindRpcClient.apply(instance) is called
* Add BitcoindRpcClient.fromVersionNoSystem()
* Take ben's suggestions
* Fix compile
* Rework P2SHScriptSignature.isStandardNonP2SH() to account for nesting p2sh script inside of it
* fix compile on java8
* Enable app packaging in scripts project
* Initial implementation of wallet sync with bitcoind with akka streams
* Make BitcoindRpcBackendUtil.startBitcoindBlockPolling use akka streams
* rework BitcoindRpcBackendUtil.syncWalletToBitcoind() to use akka streams
* Add invariant to spendingInfoDb to that requires if the spendinginfodb is in a TxoState.spentStates, the SpendingInfoDb.spendingTxIdOpt is defined
* Remove unused SpendingInfoDAO.updateTxoState()
* Remove comment
* Make TxoState and explicit parameter for test methods. Most test methods depend on a sample utxo state, so make the caller of the method specify what state they want the txo to be in
* Fix github actions config
* Fix RoutesSpec test
* Wallet Rebroadcast Logic
* Use wallet scheduler for address queue rather than it's own thread
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Bump default
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Move blockhash to tx table from spending info table
* Add test, fix spending tx id col name
* Scaladocs, add test
* Add more unit test
* Make id not comparable in process tx test
* Fix tests
* attempt to fix
* Add mempool comment to scaladoc
* Deparallelize process inputs & outputs
* Refactor starting second bitcoind in MempoolRpcTest, remove Thread.sleep
* Add AkkaUtil.nonBlockingSleep(), replace usages of Thread.sleep() with it where possible
* Remove more Thread.sleep()
* Try bumping threadpool for scheduler
* Reduce scheduler threadpool size to 2
* Push to github to force re-run of CI
* Add signed outcome to get event rpc, fix other small api bugs
* Create separate type for decomp DLCAttestationType
* Add DLCOutcomeType to Oracle Event
* Calculate dlcOutcome, add invariant
* Fix test
* Rework docker configuration to pass in a custom configuration file
* Add default user of bitcoin-s for docker images
* Add runtime docker configuration to website
* App Server docker configuration w/ refactors
Get app server configuration working with docker
Add section for building the appServer for docker
* Remove compile commands
* Get basic docker image working with oracle server
* Get docker file working with custom configuration
* Switch base image to generic openjdk
* Add docker documentation
* 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
* Give connection pool example config
* Get hikari logging working on postgres
* fix 2.12.x
* Bump metrics core to a supported version
* Add hikari-logging and hikari-logging-interval configuration options to turn off/on hikari and schedule how often logs appear
* Turn off hikari logging in the db-commons/reference.conf and add it to appserver/reference.conf
* default the logging to off in scala code
* Make sure connection pool is enabled in db-commons, add default database configuration to website
* Address code review, fix things that didn't need to be changed
* Add walletinfo rpc
* Move rootXpub to key manager obj
* Make configuration keys for getinfo the same as the ones in our configuration files
* Cleanup
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
* Implement oracleAttestmentV0TLV, save outcome to db
* Update with tlv changes
* Update tlv to not have 2 list sizes
* small change
* Update OracleEvent.verifyAttestations
* Use correct pub key
* Verify correct outcomes
* Bitcoind v0.21.0rc3 support
* Use v0.21.0 instead of Experimental in node tests
* Bump to rc5
* Use official release
* Fix rebase issues
* Remove DoNotDiscover tag
* Fix count for NeutrinoNodeTest
* Add new sbt-native-image plugin that helps generate a correct native image for the cli
* Initialize everything at build time to try and get cli working again
* Get server working with native image build
* Add '--no-fallback' which will report failures if we fail to build a standalone image
* Revert server project, file issue 2506 to indicate problems with server build
* Add native cli publishing using github actions
* Preprend 'app/' to paths
* Enable http,https protocols on cli
* Remove old graalvm plugin settings related to sbt native packager
* 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>