Commit Graph

4527 Commits

Author SHA1 Message Date
Chris Stewart
654d4086b9
2024 05 08 scala3 core (#5580)
* Pull over scala3 compatible code for crypto/ project from https://github.com/bitcoin-s/bitcoin-s/pull/3497

* Pull over scala3 compatible code for core/ project from https://github.com/bitcoin-s/bitcoin-s/pull/3497

* Add -Xsource:3 to core/

* Get coreJVM/compile working

* restore files lost from master when checking out core/ from 2021-06-30

* Get entire codebase compiling

* Get bitcoindRpcTest/test:compile working

* Restore P2SHDescriptor constructor

* scalafmt

* Fix UInt8.toByte

* Get all merkle block tests working

* Fix GCS bug

* Add -Xsource:3 to cryptoTest/
2024-05-10 11:10:45 -05:00
Chris Stewart
3af204e74d
Pull over scala3 compatible code for crypto/ project (#5575)
* Pull over scala3 compatible code for crypto/ project from https://github.com/bitcoin-s/bitcoin-s/pull/3497

* Add -Xsource:3 flag to crypto/

* Remove tests for constructors
2024-05-09 17:07:05 -05:00
Chris Stewart
f707db0a0e
Try to fix release build to workaround (#5579)
* Try to fix release build to workaround https://github.com/actions/setup-java/issues/627

* try to fix os name

* Revert triggers
2024-05-09 12:00:37 -05:00
Chris Stewart
90e370c0ef
Remove TorTests.yml as it spuriously fails on CI connecting to the tor network, add build commands to Compile.yml (#5578) 2024-05-09 11:12:07 -05:00
Chris Stewart
f2ae03bc52
Fix jlinkIgnore after bumping waffle-jna to 3.4.0 (#5577) 2024-05-09 10:01:25 -05:00
Chris Stewart
9fe67bbdbe
Remove remaining 2.13 specific code as 2.13.x is the only compiler version supported (#5576)
Fix compile

Remove compat
2024-05-09 09:05:07 -05:00
Chris Stewart
18cb4f3ddf
Add -datadir to when obtaining bitcoind -version to avoid using default datadir (#5574) 2024-05-08 20:59:53 -05:00
Scala Steward
f300bed25a
Update waffle-jna to 3.4.0 (#5571) 2024-05-08 15:19:49 -05:00
Chris Stewart
c8266cfb51
Implement getrawmempool verbose (#5573)
* Implement getrawmempool verbose

* Clear mempool before test
2024-05-08 15:19:34 -05:00
Chris Stewart
5d0056a01f
Add missing fields to GetMemPoolInfoResult (#5572)
* Add missing fields to GetMemPoolInfoResult

* Fix test when running entire MempoolRpcTest suite
2024-05-07 14:38:20 -05:00
Chris Stewart
cb3fbe523a
Rework BitcoindRpcTestUtil.getBinary() to match major and minor versions of bitcoind binary when possible (#5569) 2024-05-06 13:00:07 -05:00
Chris Stewart
6dacfb071a
Upgrade to sbt 1.10.0 (#5570) 2024-05-06 10:33:35 -05:00
Scala Steward
1dcc30734d
Update play-json to 3.0.3 (#5566)
Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2024-05-05 08:14:08 -05:00
Scala Steward
16229889ab
Update scala-library to 2.13.14 (#5567) 2024-05-05 08:13:58 -05:00
Scala Steward
e70f2ae11a
Update client3:core, ... to 3.9.6 (#5565) 2024-05-05 07:46:50 -05:00
Scala Steward
d6880b328d
Update sbt-scoverage to 2.0.12 (#5568) 2024-05-05 06:52:34 -05:00
Chris Stewart
36ec8a2911
Rework PeerManagerApi.{sendToRandomPeer, gossipMessage} to return Unit rather than Future[Unit], this removes the possibility of deadlocking on a full queue (#5561) 2024-05-04 08:53:22 -05:00
Chris Stewart
4f288a12c0
2024 05 02 intellij compile (#5562)
* Get things compiling again with default intellij build

* Cleanup compile of coreTestJVM so we don't have warnings that cause failures in intellij's build
2024-05-02 13:42:36 -05:00
Chris Stewart
73279753d7
Renable parallelExecution for bitcoindRpcTest (#5541)
* Renable parallelExecution for bitcoindRpcTest

* Empty commit to re-run CI

* Try to remove more parallelExecution settings
2024-05-01 15:26:51 -05:00
Chris Stewart
c2b8ae98ee
Re-enable mempool api tests (#5560)
* Re-enable mempool api tests

* Reduce delay
2024-05-01 15:26:41 -05:00
Chris Stewart
4f791d71d7
Upgrade clightning to 24.02.2 (#5558)
* Upgrade clightning to 24.02.2

* Fix download hash

* Fix version

* Change CLightningInfo.fees_collected_msat from String -> Long

* Fix channels parsing, add support for p2tr address type and remove nested-segwit for clightning

* Revert version

* amount_msats -> amount_msat

* Fix more json parsing

* Try commenting out asserts for midChannelsA being completed in CLightningChannelOpenerTest

* scalafmt

* msatoshi -> amount_msat

* Change assertion to check assert the channel is not active in CLightningChannelOpenerTest

* Fix CLightningPayResult

* Ignore test case that uses sendtoaddress until we upgrade to psbt v2
2024-05-01 13:28:12 -05:00
Chris Stewart
7ed2b8801a
2024 04 30 upgrade eclair v0.10.0 (#5557)
* 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
2024-04-30 14:25:50 -05:00
Chris Stewart
7ee749adcb
2024 04 29 eclair upgrade v0.9.0 (#5556)
* 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
2024-04-30 07:36:36 -05:00
Chris Stewart
819a047d1e
Add support for lnd 0.17.5-beta (#5554)
* 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
2024-04-29 13:04:29 -05:00
Chris Stewart
2102e4d682
Try brew install sbt as workaround for macOS Ci runners failing to install sbt (#5555)
* 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
2024-04-29 10:01:59 -05:00
Chris Stewart
6543b261c4
Implement bitcoind RPC 27.0 (#5552)
* 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
2024-04-28 13:16:39 -05:00
Chris Stewart
7ef6086673
Implement bitcoind RPC 26.x (#5550)
* 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
2024-04-27 14:51:45 -05:00
Chris Stewart
5dc5cca9cf
2024 04 24 rm v24 (#5549)
* WIP

* Fix simulaterawtransaction test

* Remove unneeded AdressInfoResult data strutures for versions of bitcoind pre-v21

* Remove v24

* Remove support for v24 bitcoind from bitcoind-rpc.sbt

* Fix tests

* Fix UtilRpcTest

* Fix teardown of bitcoind

* scalafmt
2024-04-26 11:58:55 -05:00
Chris Stewart
d23d7851b8
rework bitcoind-rpc to take a walletName parameter that is a String (#5545)
* rework bitcoind-rpc to take a wallet name parameter that is a String rather than Option[String]

* Fix docs
2024-04-26 08:09:28 -05:00
Chris Stewart
4915350594
Ignore mempool testnet api tests for now as unit tests consistently fail (#5547) 2024-04-26 07:29:26 -05:00
Chris Stewart
1d42de0977
Make wallet.dat be the default wallet name for bitcoind in our codebase (#5543)
* Make 'wallet.dat' be the default wallet name in our codebase

* Fix MultiWalletRpcTest
2024-04-25 06:51:39 -05:00
Chris Stewart
23e32652f3
Implement bitcoind 25.2 (#5540)
* 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
2024-04-23 17:26:23 -05:00
Chris Stewart
68d267ab8c
2024 04 21 bitcoindrpc testfixtures (#5539)
* 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
2024-04-22 07:47:00 -05:00
Chris Stewart
f7adb6264e
Remove support for 23.x of bitcoind (#5538)
* 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
2024-04-22 05:50:32 -05:00
Chris Stewart
7b3463229f
2024 04 21 Remove BitcoindV22RpcClient (#5537)
* 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
2024-04-21 12:24:09 -05:00
Chris Stewart
97fe795693
Update dialect to scala213source3 (#5536) 2024-04-21 11:53:25 -05:00
Chris Stewart
368e0ac3d5
Remove scala-async dep as it is not used (#5535) 2024-04-21 08:15:32 -05:00
Scala Steward
899d491683
Update logback-classic to 1.5.6 (#5531) 2024-04-21 07:46:08 -05:00
Scala Steward
afddf73c48
Update scalafmt-core to 3.8.1 (#5501)
* 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>
2024-04-20 19:55:49 -05:00
Chris Stewart
9442dba217
Remove support for v21 of bitcoind (#5496)
* 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
2024-04-20 16:57:30 -05:00
Chris Stewart
c01793dc89
Implement importdescriptors RPC (#5534) 2024-04-19 17:11:26 -05:00
Scala Steward
2b497c634f
Update scalacheck to 1.18.0 (#5533) 2024-04-19 16:56:37 -05:00
Scala Steward
fd4c4d3f8a
Update bcprov-jdk18on to 1.78.1 (#5532) 2024-04-19 16:56:29 -05:00
Chris Stewart
e143792fb9
2024 04 16 bitcoindrpc descriptor (#5530)
* 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
2024-04-18 11:46:33 -05:00
Scala Steward
6f6a78ab52
Update scalacheck to 1.17.1 (#5527) 2024-04-18 09:45:13 -05:00
Scala Steward
b83e577d41
Update sqlite-jdbc to 3.45.3.0 (#5528) 2024-04-18 09:45:02 -05:00
Chris Stewart
a6d93622f8
2024 04 16 descriptor fidelity (#5529)
* Implement unit tests for key expression fidelity to user input for hardened paths

* Create HardenedType, rework BIP32Node to take Option[HardenedType] as a parameter

* Fix docs
2024-04-17 18:35:33 -05:00
Scala Steward
d39d89bfed
Update scala-collection-compat to 2.12.0 (#5526) 2024-04-17 17:45:42 -05:00
Chris Stewart
0fa3be37dd
2024 04 08 Descriptors (#5525)
* Add DescriptorType, OutputDescriptor

* Get unit test passing for a descriptor with a xpub and bip32 path

* WIP: Implement checksum algo

* WIP: Implement polyMod

* Get checksum unit test case passing

* Get basic serialization test case passing

* Revert Bech32.scala

* WIP: Implement KeyExpression

* WIP: KeyOriginExpression

* Get basic KeyExpression test case passing

* Get basic unit tests workign for parsing Private/Public key descriptor expressions

* Add examples

* Get all key expression unit tests passing

* Get negative test vectors passing

* WIP: Get P2WPKHDescriptor tests working

* Get all serizliation tests passing for non-derivation path BIP382 descrioptors

* Get BIP382 derivation test cases passing

* Implement BIP382 failure test cases

* Get BIP381 test vectors passing

* Split key expressions into SingleKeyExpression,MultisigKeyExpression

* WIP: Multisig descriptors

* Remove custom building of scripts now that we have #5502

* Get BIP383 test vectors passing

* Get BIP384 test vectors passing

* Fix bug in runFailTest()

* Add RawSPKScriptExpression, use it with P2WSHExpression to ensure underlying spk is a RawScriptPubKey

* Get all negative test vectors working after fixing bug in runFailTest()

* Implement BIP385 raw() test vectors, skip addr() descriptor

* Get everything working up to dealing with taproot pubkey types

* Begin working on type hierarchy for different pubkeys

* Get things to the point of needing a custom pubkey type

* Get things compiling w/ PubKeyTypeExpression

* Get tr(WIF) example working

* WIP: Key reworking type hierachy to be PublicKey type specific

* WIP: Taproot helpers

* Get taproot descriptor working with both keypath and single level scriptpath

* Get recursive tapscript tree test vector working

* Implement negative test vectors for BIP386

* Add BIP386 derivation test

* Get extkey tr() descriptor test working

* Rename InternalPublicKeyExpression -> RawPublicXOnlyPublicKeyExpression

* Fix keyOrigin for tr() descriptors

* Cleanup comments

* Add comments

* Move leafVersion TapscriptControlBlock -> TapLeaf
2024-04-15 19:09:46 -05:00
Scala Steward
c328ec860e
Update sbt-native-packager to 1.10.0 (#5522) 2024-04-15 08:49:51 -05:00