* Add DigitalSignature, extend it with ECDigitaSignature,SchnorrDigitalSignature
* WIP: Remove EmptyDigitalSignature case object in favor of val
* Fix byte representation of ECDigitalSignature.emptyDigitalSignature
* Simplify names to ECDigitalSignature.{empty, dummy, dummyLowR}
* Fix docs
* Refactor TransactionProcessing.processTransaction() to use BlockHashWithConfs
Create WalletUtil.getBlockHashWithConfs(), use it in various places through the codebase
* Fix docs
* Update to bitcoind v28
* Add macOS arm64 hash
* Add 28.0 version for windows
* Fix windows hash
* Replace 'port' with 'bind' in bitcoin.conf
* Fix BitcoindConfig.bind, add -deprecatedrpc=warnings
* Add version specific warnings handling for V28
* Add pattern matching based on version to support new json format for warnings fields in Info RPCs
* Fix pattern match on V28
* Remove infinite loop w/ 'getnetworkinfo' when determing the version of a BitcoindRpcClient
* Pin lndRpcTest to bitcoind v27 until v28 is supported
* Add mempoolconflicts to 'gettransaction' RPC
* init 'gethdkeys' rpc
* WIP: createwalletdescriptor
* Get createwalletdescriptor test passing
* Revert files
* refactor: Rework codebase so that DLCWallet has-a instance of Wallet rather than is-a via inheritance
* Fix cast
* Fix RescanHandling in DLCWallet
* Remove default implementation of WalletApi.broadcastTransaction()
* fix broadcast callback for DLCWallet
* Add DLCWalletDAOs.fromDLCAppConfig()
* Fix scaladoc for AddressHandlingApi.getUnusedAddress
* Refactor codebase to have has-a relationship with RescanHandling rather than is-a
get everything compiling
Get all tests passing
* Revert and clean up files
* Fix docs
Refactor TransactionProcessing into case class
Get walletTest/test passing
DLCWallet WIP
Get dlcWalletTest/test passing
Small cleanups
Fix RoutesSpec gettransaction unit test
revert logback-test.xml
cleanup
* Implement creatnewaccount rpc
# Conflicts:
# app-commons/src/main/scala/org/bitcoins/commons/serializers/Picklers.scala
# app/cli/src/main/scala/org/bitcoins/cli/ConsoleCli.scala
# app/server-test/src/test/scala/org/bitcoins/server/WalletRoutesSpec.scala
* Get WalletRoutesSpec createnewaccount unit test passing
* Rename HDPurposes -> HDPurpose
* Implement ConsoleCli arg, change HDPurpose json serialization to be a json string instead of a num
* Refactor BitcoinSServerMain to use return Unit rather than WalletHolder
* Generate block in sync flag unit test
* Empty commit to re-run CI
* Implement creatnewaccount rpc
* Get WalletRoutesSpec createnewaccount unit test passing
* Rename HDPurposes -> HDPurpose
* Fix docs
* Implement ConsoleCli arg, change HDPurpose json serialization to be a json string instead of a num
* Add NodeApiCallbacks
* Add BitcoindCallbacks
* Add BitcoindRpcAppConfig
* fix docs
* Add helper method for construction
* Add helper constructor method to avoid explicitly passing BitcoindRpcAppConfig parameter to BitcoindRpcClient when we have a BitcoindInstanceLocal
* Fix docs
* Fix open, audit commands for v0.10.0
* Get all unit tests passing
* Add logger.error() to try to debug channel state
* Try adding delay to see if dual funding process can complete before we generate blocks
* scalafmt
* Try bumping number of blocks generated
* Try disabling dual funding
* Cleanup
* Rework EclairRpcTestUtil.shutdown() to shutdown eclair/bitcoind separately
* Fix keysend test
* Add new eclair websocket events
* Empty commit to re-run CI
* First bug where we weren't shutting down a bitcoind in eclairRpcTest
* Add support for lnd 0.17.5-beta
Switch Lnd fixture back to BitcoindVersion.newest
Fix linux build
Update lnd windows hash
Fix lnd mac intel hash
* Update proto files
* Revert changes that removed mapping for numeric UInt32, UInt64 types
* Fix version
* Add bitcoind 27.0
* Fix linux, windows hashes
* Add BitcoindV27RpcClient
* Switch BitcoindVersion.newest = V27
* Try downgrading lndRpcTest to use V26 in tests
* Make pattern matching against 'bitcoind --version' more resilient for new versions of bitcoind
* Add awaitDisconnect() to BitcoindRpcTestUtil.disconnectNodes(), fix flaky v2 connection in unit test
* Get build started for 26.1
* Start introducing v26 data structures
* Switch BitcoindVersion.newest = V26
* Fix GetTxOutSetInfoResult to use hash_serialized_3
* Fix WalletRpcTest
* Refactor PeerInfoResponse to add transport_protocol_type and session_id fields in v25
* Add ServiceIdentifier.NODE_P2P_V2, add support for v2transport to addnode, add default config setting for bitcoind to have v2transport=1 in test framework, add unit test to make sure we can establish a v2 connection
* Remove V20AssortedRpc
* Add loadtxoutset
* Implement getchainstates
* Add getprioritisedtransactions
* Add getaddrmaninfo
* Add importmempool
* Cleanup println
* Implement downloading of bitcoind 25.2
* Add aarch64 hash
* Update x86 macos hash, windows hash
* WIP: scanblocks RPC
* Get in progress scanblocks state working
* Get scanblocks start request working
* Fix BitcoindRpcTestUtil.signRawTransaction
* Implement scanblocks abort
* Remove println
* Switch newest version of bitcoind to v25
* Fix BitcoindV25RpcClient.version
* move decodescript test to WalletRpcTest, rework decodescript test to use descriptors, fix LoadWalletResult
* Empty commit to run CI
* sendrawtransaction maxburnamount param
* Modify testmempoolaccept RPC return type to have two new fields for fee information
* Add test for base too
* Get MiningRpcTest, MessageRpcTest using test fitures
* Remove MultisigRpcTest, move test case to WalletRpcTest
* WIP: P2PRpcTest with fixtures
* Get P2PRpcTest working, comment out test cases that require unconnected nodes for now
* upgrade UtilRpcTest, RawTransactionRpcTest to use test fixture
* Upgrade UTXORpcTest to use test fixtures
* Create DisconnectedPeersRpcTest, create disconnected test fixtures for it
* Remove PreciousBlockRpcTest suite, move test into DisconnectedPeersRpcTest
* Remove UtilRpcTest, move test cases into other files
* Fix unit tests
* Fix rebase
* Remove support for 23.x of bitcoind
* Remove duplicate test
* Fix compile
* Move unit bech32m unit test earlier in WalletRpcTest
* Make wallet name unique in WalletRpcTest
* WIP: Remove v22
* Remove TestMempoolAcceptRpc, move it into MempoolRpc
* Remove downloading of bitcoind v22 from bitcoind-rpc.sbt
* move test case above where other test cases create wallets
* Remove duplicate test
* Remove duplicate test
* 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>
* Remove support for v21 of bitcoind
* WIP: Remove deprecated rpcs wit legacy wallets
* WIP: Work up to importdescriptor
* Get low-r test case passing
* Simplify test case
* Remove BitcoindV21RpcClientTest and move test cases to BitcoindV24RpcClientTest
* Remove RpcTransactionRpcTest that only works on legacy wallet
* Fix MempoolRpcTest
* Delete MultisigRpcTest that depends on legacy wallet
* Get WalletRpcTest passing, ignore keypoolrefill test case for now until https://github.com/bitcoin/bitcoin/issues/29924 is resolved
* Add sentQuery Instant to SyncNodeState subclasses, add logic in DataMessageHandler.handlePayload() to detect if a query has timed out
* Refactor to use NodeTestUtil.disconnectNode()
* Cleanup comments
* Add NodeRunningState.removePeer(), add helper method onDisconnectNodeStateUpdate() to consolidate disconnect logic
* Remove duplicate logic
* Add bitcoin-s.node.maxConnectedPeers test
* Clean up resources in test case
* Remove unecessary replacePeers()
* Add NodeState.addPeer()
* Add NodeRunningState.connectedPeerCount, separate handling of connection slots and filter slots