Commit Graph

185 Commits

Author SHA1 Message Date
benthecarman
6fbaf9f9ce Add estimate fee cli command (#2983) 2021-04-28 16:43:20 -05:00
benthecarman
e3017fd17d Peer Message Receiver Refactor (#2938) 2021-04-27 15:54:44 -05:00
Chris Stewart
9ecea9f710 2021 04 24 bitcoin s scripts (#2961)
* 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
2021-04-25 14:03:22 -05:00
benthecarman
105942efa2 Use filters for bitcoind backend syncing if available (#2926)
* Use filters for bitcoind backend syncing if available

* Start bitcoind polling after sync is done

* Fix compile issue and test
2021-04-20 17:28:23 -05:00
Chris Stewart
136d6f50f9 2021 04 19 Zip Bitcoin-s datadir (#2927)
* Fix bug where we weren't closing zip file

* Add filter for chaindb.sqlite

* Fix rebase
2021-04-20 10:30:15 -05:00
Chris Stewart
0aa32916ab Implement workaround for spendinginfodb by rescanning to find missing spendingTxId (#2918)
* implement workaround for rescanning to find missing spendingTxId

* Add links to PR

* Fix compile bug
2021-04-20 06:41:11 -05:00
Chris Stewart
4e1ace2706 2021 04 18 Use akka streams in BitcoindRpcBackendUtil.syncWalletToBitcoind (#2916)
* Initial implementation of wallet sync with bitcoind with akka streams

* Make BitcoindRpcBackendUtil.startBitcoindBlockPolling use akka streams

* rework BitcoindRpcBackendUtil.syncWalletToBitcoind() to use akka streams
2021-04-19 15:54:34 -05:00
benthecarman
b1be3347c9 Fix ZMQ Config with bitcoind backend (#2897)
* Fix ZMQ Config for bitcoind backend

* Fix nits
2021-04-13 14:56:28 -05:00
Chris Stewart
4f1f53e7ad Bump hikari logging interval to 10 minutes (#2888)
* Bump hikari logging interval to 10 minutes

* Change example configuration
2021-04-10 13:51:31 -05:00
benthecarman
d0629486ab Wallet Rebroadcast Transactions thread (#2711)
* 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>
2021-04-07 08:13:43 -05:00
benthecarman
fa80f36d2f Get all of Core working with JS (#2826)
* core-test-js-json

* Add SigPointComputer cross compile
Co-authored-by: Nadav Kohen <nadavk25@gmail.com>

* Fix java.time for scalajs

* InetAddress for scalajs

* Fix linking errors in coreTestJS

* Easy fixes

* InetAddress Tests

* Update micropickle, fix exact functions

* Get BigSizeUIntTest working with upickle

* Fix exact funcs

* Update Base58Test with upickle

* Update ScriptSignatureTest with upickle

* Update TransactionTest with upickle

* Update BlockFilterTest with upickle

* Update ScriptInterpreterTest with upickle

* Update MnemonicCodeTest with upickle

* Add InetAddress unit tests

* Fix compile errors

* Get core tests running, not passing

* Sign with js

* Fix PSBTUnitTest

* Fix PBKDF2 for JS

* Use bcrypto's secp256k1 instead of ecdsa

* Fix 2.12.12 compile

* Core tests passing :)

* Test corejs
2021-03-31 15:04:30 -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
9494eec1b8 Move blockhash to tx table from spending info table (#2744)
* 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
2021-03-16 10:05:29 -05:00
Chris Stewart
94934e113d Rework docker configuration to pass in a custom configuration file (#2718)
* 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
2021-02-26 07:35:20 -06:00
Chris Stewart
d94a4ed87e 2021 02 15 appserver docker (#2673)
* App Server docker configuration w/ refactors

Get app server configuration working with docker

Add section for building the appServer for docker

* Remove compile commands
2021-02-18 13:57:18 -06:00
Aris
85087b0f70 Refactoring chain (#2662) 2021-02-13 14:10:40 -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
benthecarman
22e373e63d Fix bestblockhash rpc call (#2612) 2021-02-02 13:03:05 -06:00
benthecarman
cf98d9e31e Wallet name in walletinfo (#2603) 2021-02-01 12:50:42 -06:00
Chris Stewart
756bfc4427 2021 01 27 conectionpool (#2578)
* 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
2021-01-28 09:44:03 -06:00
benthecarman
fa27fb3fb1 Create BlockSyncState type (#2567) 2021-01-27 14:15:07 -06:00
benthecarman
e10e278aa4 Add walletinfo rpc (#2546)
* 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>
2021-01-22 13:55:21 -06:00
benthecarman
09937e6ecf Fix rpc bind address from config (#2542)
* Fix rpc bind address from config

* Add to oracle server
2021-01-21 17:21:54 -06:00
benthecarman
36b3a1bd81 Use mainnet for default server (#2453)
* Use mainnet for default server

* Fix server tests
2021-01-14 14:07:35 -06:00
Chris Stewart
54cd05a7f2 Add new sbt-native-image plugin that helps generate a correct native … (#2494)
* 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
2021-01-13 09:41:00 -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
84cde975d8 Add createmultisig cli command (#2495) 2021-01-09 09:54:34 -06:00
Chris Stewart
dc73cb26ff Rename wallet.getSyncHeight() -> wallet.getSyncDescriptorOpt(). We don't just use height in the descriptor, the hash is just as valuable for connecting to chains (#2479) 2021-01-07 07:40:30 -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
Ben Carman
f10bdce179 Add getblockheader cli command (#2424) 2020-12-23 07:15:35 -06:00
Ben Carman
a5621efe94 Remove need for params in RPC request (#2418) 2020-12-22 16:08:51 -06:00
Ben Carman
4da53d5569 Bump Fee Cli commands (#2415)
* Bump Fee Cli commands

* Clarify fee rate, add to docs
2020-12-22 14:19:46 -06:00
Chris Stewart
a79c3ec948 Implement rpcbind to allow for binding to a different interface (#2409) 2020-12-22 07:25:50 -06:00
Chris Stewart
dbd3e950b6 Fix server configuration for the app server (#2413) 2020-12-22 06:18:39 -06:00
Ben Carman
67e7426260 Windows Secp Update & fix for parsing Windows paths (#2398)
* Windows Secp Update

* Add docs about errors

* Fix paths in config

* Bump timeout
2020-12-21 16:34:53 -06:00
Ben Carman
559bebbdbe Import Seed cli commands (#2376)
* Import Seed cli commands

* Respond to review
2020-12-21 06:53:20 -06:00
Ben Carman
2c25057fd6 Add get transaction cli command (#2370)
* Add get transaction cli command

* Fix return, add to docs
2020-12-18 07:18:13 -06:00
Nadav Kohen
b7ffea2525 Pulled down work from adaptor-dlc onto master (#2339)
* Pulled down work from adaptor-dlc onto master

* Reverted some accidental deletions

* Removed unused import

* Added scaladocs

* Responded to Ben's review

* Added some scaladocs and invariants

* Responded to chris' review

* Responded to more review

* Added some comments
2020-12-11 17:32:35 -06:00
Ben Carman
ff90f34c5d Fix datadir config option (#2271)
* Fix datadir config option

* Move vals

* Use better names and docs
2020-11-24 16:05:20 -06:00
Ben Carman
fdb2b675e9 Create KeyManagerAppConfig (#2268)
* Create KeyManagerAppConfig

* Fix name

* Use module name
2020-11-19 06:23:26 -06:00
Chris Stewart
66ec96b1f5 2020 11 13 issue 2258 (#2260)
* Introduce ChainHandlerCached which behaves like the old ChainHandler. Now Chainhandler.getBestBlockHeader() will read headers from the database

* Remove ChainHandler.blockchains field, now it's only available in ChainHandlerCached

* De-futurify ChainHandler.fromDatabase()

* Adjust logging

* Patch test case

* Use BlockHeaderDAO.chainTips when getting best header rather thean BlockHeaderDAO.getBlockchains(). Implement a helper method ChainHandler.toChainHandlerCached()

* Fix chain.md,wallet.md

* Make ChainHandler.getBestBlockHeader() consider time of header if chainwork is the same. Make test cases less strict on what header is the best header when both chainwork and time are the same on the eader

* Only execute callbacks on headers that are going to be created in the database, not all headers passed into ChainHandler.processHeadersWithChains()

* Turn up log level again

* Small optimizations, check if we have seen a header before before processing it in ChainHandler.processHeadersWithChains(). Fix FilterSyncMarker.toString(). Use ChainHandlerCached in Node

* Remove ChainHandlerCached in appServer, re-add it in Node.scala
2020-11-17 06:19:07 -06:00
Ben Carman
c29b787ab5 Add ability to change aes password (#2254)
* Add ability to change aes password

* Add docs

* Rename, add logs + tests
2020-11-15 08:07:49 -06:00
Ben Carman
7ac9cd1525 Use New Oracle TLVs in DLCOracle (#2162)
* Update Oracle to use new TLVs

* Rename things to use new names, scaladoc, small clean ups

* Add descomposition tests, docs, sign numbers outside of range
2020-11-10 06:08:43 -06:00
Ben Carman
c167bc04a0 Analyze PSBT function (#2240)
* Analyze PSBT function

* Add to tests

* Add docs

* Add more functions

* Fix compile issues

* Fix compile issue
2020-11-09 15:15:32 -06:00
Ben Carman
685d5b0273 Let wallet sign PSBTs (#2236)
* Let wallet sign PSBTs

* Add example to docs

* Add logs and test case
2020-11-07 09:25:59 -06:00
Ben Carman
b02eb07cf0 Add listreservedutxos cli command (#2247) 2020-11-07 09:08:33 -06:00
Ben Carman
c8a0a0931a Decode PSBT function (#2237)
* Decode PSBT function

* Add test
2020-11-06 06:56:46 -06:00
Ben Carman
606041649d Make BIP 39 password a config option (#2234) 2020-11-05 07:36:02 -06:00