* Pull over simple syntax changes for {nodeTest,keyManager,keyManagerTest,chainTest,bitcoind,bitcoindRpcTest,appServer,appServerTest,tor,zmq} from #5713
* Fix tor/compile
* 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
* 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
* Try 'brew install sbt' as workaround to https://github.com/actions/setup-java/issues/627
* Try downgrading github ci runner for mac to get a intel mac build
* Fix intel mac bitcoind download hashes
* Revert macOS CI runner
* 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
* 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
* Integrate Descriptor class into 'getdescriptorinfo' RPC
* WIP: Invalid checksum that is valid according to bitcoin core
* Add descriptor.py in comments
* Get deriveaddresses RPC working with descriptors
* Parse descriptors in DescriptorsResult to Descriptor data type
* Get dependencies resolving, get tor module compiling
* Get everything compiling with pekko
* Rework configs/logging to use pekko namespace
* Rename AkkaUtil -> PekkoUtil, BitcoinSAkkaAsyncTest -> BitcoinSPekkoAsyncTest
* Add ChainApi.getBestChainTips()
* Implement BitcoindRpcClient.getBestChainTips()
* Revert NodeTestUtil
* Use ChainApi.getBestChainTips() throughout codebase rather than blockHeaderDAO.getBestChainTips()
* Rework ChainApi.nextBlockHeaderBatchRange() to take stopHash parameter, get chainTest/test passing
* WIP: Refactor ChainApi.nextFilterHeaderBatchRange()
* Finish ChainApi.nextFilterHeaderBatchRange() refactor, get all tests passing except reorg related tests in nodeTest
* Get NeutrinoNodeTest reorg test case working
* Improve flaky test
* Cleanup
* Switch sync check to bitcoinds(1)
* Empty commit to run CI
* Implement batchSize tests in ChainHandlerTest
* Rework ChainHandlerTest to not assume we have the genesis filter header / filter inserted into the database already
* Cleanup println
* Fix bug with nextFilterHeaderBatchRange() wrt to startHeightOpt parameter
* Fix off by one bug with compact filter sync
* Add check for connectionCount
* Add longer timeout
* scalafmt
* Remove support for v19 of bitcoind
* Remove downloading v19 bitcoind inside of bitcoind-rpc.sbt
* Clean up docs
* Move unit tests in BitcoindV19RpcClientTest into other test files so we don't remove them, these rpcs are supported in future versions of bitcoind
* Call syncwithvalidationinterfacequeue inside of generatetoaddress,generateblock to guarantee that bitcoind is internally consistent before we do other things against it
* Empty commit
* Empty commit to re-run CI
This lets us generate a block with a transaction without having to
broadcast to the mempool first, useful for testing non-standard txs as
well as wallets without mempool support