1
0
Fork 0
mirror of https://github.com/bitcoin-s/bitcoin-s.git synced 2025-03-16 20:51:42 +01:00
Commit graph

188 commits

Author SHA1 Message Date
Chris Stewart
80be2f5989
2024 11 15 partialsig typeparam ()
* Add DigitalSignature type param to PartialSignature

* Remove isDummySignature
2024-11-18 09:15:33 -06:00
Chris Stewart
ab6d3f5cb7
Pull over simple syntax changes for scala3 libraries ()
* Pull over simple syntax changes for {cryptTest,coreTest,testkitCore,appCommons} from 

* Fix case analysis in Picklers.scala
2024-10-17 13:00:33 -05:00
Chris Stewart
90203b295b
Use default play-json json serialization macros for bitcoind json classes that cause issues with scala3 () 2024-10-16 16:38:00 -05:00
Chris Stewart
38f0f4d692
2024 10 07 v28 bitcoind ()
* 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
2024-10-13 09:05:14 -05:00
Chris Stewart
4471f74ccf
Add error field toImportDescriptorResult, move BitcoindException to app-commons ()
* Add error field to ImportDescriptorResult, move BitcoindException to app-commons

* Fix docs
2024-10-12 09:49:42 -05:00
Chris Stewart
9feabc1c2b
Make WebsocketTests rescan test more robust ()
* Make WebsocketTests rescan test more robust

* Bump timeout on WebsocketTests address generated unit test

* Rework importseed endpoint to return a bool indicating if the import was successful

* Reduce Server.httpBadRequest() log level from ERROR -> INFO

* Remove adhoc json for walletinfo
2024-09-11 10:39:32 -05:00
Chris Stewart
41fab3dfd2
2024 08 07 createnewaccount rpc ()
* 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
2024-08-13 10:32:03 -05:00
Chris Stewart
6b12bb515d
Rework NativeProcessFactory.cmd to be Vector[String] ()
* Rework NativeProcessFactory.cmd to be Vector[String]

* Fix eclair commands
2024-07-18 08:15:40 -05:00
Chris Stewart
863ffd9d6f
Adjust OutgoingPaymentStatus.completedAt to be RelayTimestamp type ()
* Adjust OutgoingPaymentStatus.completedAt to be RelayTimestamp type

* Empty commit to re-run CI
2024-05-11 06:34:06 -05:00
Chris Stewart
37fc215b55
2024 05 10 appCommons/ compiling with -Xsource:3 ()
* Get appCommons/ compliing with -Xsource:3

* Get appCommonsTest/ compliing with -Xsource:3
2024-05-10 16:53:46 -05:00
Chris Stewart
9fe67bbdbe
Remove remaining 2.13 specific code as 2.13.x is the only compiler version supported ()
Fix compile

Remove compat
2024-05-09 09:05:07 -05:00
Chris Stewart
c8266cfb51
Implement getrawmempool verbose ()
* Implement getrawmempool verbose

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

* Fix test when running entire MempoolRpcTest suite
2024-05-07 14:38:20 -05:00
Chris Stewart
4f791d71d7
Upgrade clightning to 24.02.2 ()
* 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 ()
* 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 ()
* 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
7ef6086673
Implement bitcoind RPC 26.x ()
* 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 ()
* 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
23e32652f3
Implement bitcoind 25.2 ()
* 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
7b3463229f
2024 04 21 Remove BitcoindV22RpcClient ()
* 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
Scala Steward
afddf73c48
Update scalafmt-core to 3.8.1 ()
* 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 ()
* 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 () 2024-04-19 17:11:26 -05:00
Chris Stewart
e143792fb9
2024 04 16 bitcoindrpc descriptor ()
* 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
Chris Stewart
3d29bef135
Delete directory using Files.delete() () 2024-04-10 17:08:14 -05:00
Chris Stewart
d162242a39
2024 03 24 v21 rpc refactor ()
* WIP: Consolidate V19FilterRpc into BlockchainRpc

* Implement ChainApi.getFilterHeader() with bitcoind

* Make {BitcoindV22RpcClient,BitcoindV23RpcClient,BitcoindV24RpcClient} extend BitcoindRpcClient directly

* Fix MiningRpcTest

* Remove cast in BitcoindBackendTest
2024-03-26 13:04:26 -05:00
Chris Stewart
177542a13c
Remove grizzled.sl4fj was its no longer maintained () 2024-03-18 16:48:58 -05:00
Chris Stewart
9a71a96fb8
2024 03 11 Remove filtersync job ()
* Rework DataMessageHandler to consider syncing filterheaders if we receive a headers message with 0 block headers

* scalafmt

* Remove syncfilter job

* Cleanup

* Reduce received headers log to DEBUG

* Rework SyncNodeState.toString()

* Call PeerManager.startFilterSync() in DataMessageHandler

* Don't test MTP in unrelated test
2024-03-12 15:05:54 -05:00
Chris Stewart
c6524b9246
remove usages of new URL() as constructor is deprecated on jdk 20+ () 2023-08-31 10:45:16 -05:00
rorp
2799d8276a
Update Eclair RPC to v0.8.0 ()
* Update Eclair RPC to v0.8.0

* update unit tests
2023-03-04 09:02:36 -06:00
Chris Stewart
3db663a387
Remove v20 bitcoind support ()
* Remove v20 bitcoind support

* Remove v20 bitcoind from downloadBitcoind task

* Remove duplicate test
2023-02-19 13:28:46 -06:00
Chris Stewart
af349d2179
Remove support for v19 of bitcoind ()
* 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
2023-02-16 10:27:56 -06:00
benthecarman
f8247c427d
Add LNURL writers () 2022-12-19 07:07:45 -06:00
benthecarman
332893b67b
Add generateblock bitcoind rpc ()
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
2022-12-05 09:03:59 -06:00
benthecarman
f4244d7a0e
Add bitcoind v24 ()
* Add bitcoind v24

* Make newest bitcoind version v23 for now
2022-11-28 08:43:49 -06:00
benthecarman
d0dac09ce2
Add AddressType json reader () 2022-10-18 09:41:44 -05:00
rorp
de43dadf52
Network notifications ()
* Network notifications

* add more tests

* don't drop futures on the floor

* Improve logging, don't drop futures on floor

* scalafmt

* add error messages to the failure notifications

* update unit tests

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2022-10-09 07:46:13 -05:00
Chris Stewart
8d91abd678
Add signature ordering to ClaimedDLCStatus.oracleSigs ()
* Add signature ordering to ClaimedDLCStatus.oracleSigs

* fix bug
2022-09-27 09:43:37 -05:00
benthecarman
9518826882
Add blockheight to bitcoind's ListTransactionsResult () 2022-09-22 17:15:51 -05:00
Chris Stewart
bcddb015ae
2022 09 12 Filter header and filter websocket events ()
* implement chain callbacks for compact filter headers / compact filters

* Wire it up through the websocket

* Fix type for compactfilterprocessed

* Fix bug to write json rather than write a string
2022-09-15 20:05:54 -05:00
rorp
16893f999e
DLC connection checks and notifications ()
* DLC connection checks and notifications

* asynchronous connection checks
2022-09-09 14:09:38 -05:00
benthecarman
2cfd6f3591
Allow for custom config file name () 2022-09-05 16:04:25 -05:00
Chris Stewart
f65b483d6f
Allow LnMessage(tlv) & raw tlv to be used in DLCRoutes ()
* Allow LnMessage(tlv) & raw tlv to be used in DLCRoutes from when reading binary files

* Implement actual fix with test case

* Fix try deserializing to tlv in a few more places

* Turn logging off
2022-08-30 06:01:46 -05:00
benthecarman
66d298be3e
Add SatoshisPerVirtualByte json serializers () 2022-08-26 07:06:34 -05:00
Chris Stewart
86463231d6
2022 08 18 Add configuration to only emit websocket events when IBD is done ()
* Implement isinitialblockdownload flag in databaes

* Change to IsInitialBlockDownload to be less confusing

* Fix missing refactors, add ChainApi.isIBD()

* Implement logic for ChainApi.isIBD(), add configuration flag to toggle whether to emit websocket events while IBD is ongoing or not, add isinitialblockdownload field to getinfo endpoint

* Remove confusing ChainApi.isIBD() that didn't accurately account for the case where IBD wasn't set in the database

* Fix bug around emitting the websocket events

* Add some documentation
2022-08-22 10:09:00 -05:00
benthecarman
825937ea5f
Add more JSON serializers ()
* Add more JSON serializers

* use PicklerKeys for consistent field names across codebase

* scalafmt

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2022-08-21 08:38:02 -05:00
Chris Stewart
85c01f7a8c
More lazy initialization for BitcoinSServerMain () 2022-08-17 13:16:48 -05:00
rorp
8638d14ca0
Update Oracle Explorer addreess () 2022-08-15 13:24:10 -05:00
benthecarman
b04a34ad02
Use FutureUtil.makeAsync where we are attmepting to create async Futures () 2022-08-08 15:22:32 -05:00
rorp
9f89ba9b7a
loadwallet endpoint ()
* `loadwallet` endpoint

* Scala 2.12 compatibility

* remove `getwalletname`

* fix unit tests

* fix DbManagementTest

* fix wallet tests

* fix DbManagementTest

* fix RejectedExecutionException

* fix postgres tests

* fix password override

* update `loadwallet`

* Move WalletHolder into wallet module

* Kill use of null in WalletHolder

* Kill use of null in WalletHolder

* Refactor to use WalletAppConfig.DEFAULT_WALLET_NAME

* update cli and unit tests

* cleanup

* Refactors to get compatible with master

* Fix compile

* Distinguish between loadWalletNeutrino & loadWalletBitcoind

* Fix initialized bug with WalletHolder in loadWallet methods

* Refactor loadWalletBitcoindBackend/loadNeutrinoWallet to have a common helper method

* Introduce DLCWalletLoaderApi, refactor codebase to use it

* Fix dumb initialization bug

* Fix test:compile

* Cleanup

* Get loadwallet mostly working with neutrino wallet

* Fix compile

* scalafmt

* Move loadwallet into app-commons

* Remove {DLCWallet,Wallet}.stop()

* Implement LoadWallet json parsing unit test

* Implement stopping of NodeStreamManager callbacks

* Fix rebase, integrate setRescanState into WalletRoutes

* Fix import

* Fix unit tests

* Implement listwallets in ConsoleCli

* Fix imports

* Cleanup

* scalafmt

Co-authored-by: Chris Stewart <stewart.chris1234@gmail.com>
2022-08-05 17:34:14 -05:00