Commit graph

4820 commits

Author SHA1 Message Date
Chris Stewart
7b1fd8e759
bitcoindRpc: Implement 'scantxoutset' RPC (#5936) 2025-02-18 11:01:12 -06:00
Chris Stewart
959993bed7
core: Add Address descriptors from BIP385 (#5935) 2025-02-18 10:35:10 -06:00
Chris Stewart
62252daff8
core: Optimize base58 serialization and deserialization (#5934)
* core: Optimize base58 serialization and deserialization

* scalafmt

* fix

* fix exceptions

* cleanup
2025-02-18 09:46:43 -06:00
Scala Steward
1f967aa14f
Update flyway-core, ... to 11.3.2 (#5931) 2025-02-18 08:16:39 -06:00
Scala Steward
9c563d87dd
Update sbt-mdoc to 2.6.4 (#5932) 2025-02-17 10:14:44 -06:00
Chris Stewart
124451f124
core: Add carveout for parsing 'nonstandard' string to ScriptType.NONSTANDARD (#5933) 2025-02-17 09:53:15 -06:00
Chris Stewart
9d84ff5d03
bitcoindRpc: Make 'gettxout' RPC handle null return correctly (#5930) 2025-02-14 13:11:20 -06:00
Chris Stewart
0c8f86545e
core: Tighthen ScriptFactory.isValidAsm() checks (#5929)
* core: Tighthen ScriptFactory.isValidAsm() checks

* Fix CLTV/CSV constraints
2025-02-12 13:47:26 -06:00
Chris Stewart
12c1bdfe09
core: Tighten MultiSignatureScriptPubKey.isValidAsm() check (#5928)
* core: Tighten MultiSignatureScriptPubKey.isValidAsm() check

* Use string interpolation
2025-02-12 13:28:22 -06:00
Chris Stewart
b291e6d31a
core: Use splitAt() rather than duplicitvely slicing in ScriptParser.sliceConstant() (#5927) 2025-02-12 11:01:42 -06:00
Chris Stewart
31fbadaeb3
core: Remove ParsingHelper inside of ScriptParser (#5926) 2025-02-12 09:26:25 -06:00
Chris Stewart
adfeb7fd04
core: Use ByteVector.concat in RawTransactionInputParser.write() (#5925)
* core: Use ByteVector.concat in RawTransactionInputParser.write()

* Remove Vector concat
2025-02-11 16:42:39 -06:00
Chris Stewart
2a0b2e6238
core: Use ArrayBuffer instead of Vector inside of ScriptParser.parse() (#5922)
* core: Use ArrayBuffer instead of Vector inside of ScriptParser.parse() to avoid Array copies

* Avoid O(N) behavior in ArrayBuffer by always appending rather than prepending

* Use '+=' and '++=' operations as they don't require ineffeciently copying the collection

* Use ArrayBuffer rather than Vector to take advantage of operations in ArrayBuffer.addAll()
2025-02-10 07:36:38 -06:00
Chris Stewart
3c148ebf48
core: Don't unnecessarily encode to hex when parsing pushdata ops (#5923) 2025-02-09 15:34:05 -06:00
Chris Stewart
ec00e2218f
crypto: Add buffer size calculation to efficiently use memory (#5919) 2025-02-09 13:56:17 -06:00
Chris Stewart
a1dc9fb59a
core: Optimize Int64.fromBytes(), add invariant that WitnessTransaction.fromBytes must have at least 4 bytes left over for the locktime (#5914) 2025-02-09 08:24:55 -06:00
Chris Stewart
8954e24422
core: Check maxPushSize limit inside of P2SHScriptSignature.isValidAsm() (#5921)
* core: Check maxPushSize limit inside of P2SHScriptSignature.isValidAsm()

* Make p2sh generator's script length be <= MAX_PUSH_SIZE
2025-02-08 16:44:23 -06:00
Chris Stewart
16e2ea2e92
core: Check if P2SHScriptSignature is push only when type checking (#5920) 2025-02-08 12:31:32 -06:00
Chris Stewart
c96df6a5eb
core: Optimize WitnessCommitment.isValidAsm() (#5918)
* core: Optimize WitnessCommitment.isValidAsm()

* scalafmt
2025-02-08 12:18:07 -06:00
Chris Stewart
db06873634
crypto: Cache ECPublicKeyApi.isFullyValid (#5916) 2025-02-08 11:52:39 -06:00
Chris Stewart
6511addcf3
lnUrl: Remove LnUrl module (#5917) 2025-02-08 10:36:45 -06:00
Scala Steward
64a3abaa1e
Update scalamock to 6.2.0 (#5911) 2025-02-07 15:33:08 -06:00
Scala Steward
62a6a750ce
Update sqlite-jdbc to 3.49.0.0 (#5912) 2025-02-07 15:32:55 -06:00
Chris Stewart
74d8b59c9b
crypto: Avoid recomputing ECPublicKey by caching it (#5915) 2025-02-07 15:03:17 -06:00
Chris Stewart
618338b636
core: Use ByteVector.concat() to create transaction serialization (#5910)
Fix bug

scalafmt
2025-02-06 14:44:57 -06:00
Chris Stewart
752a7580b9
core: Make BytesUtil.writeCmpctSizeUInt() faster by avoiding BigInt allocations in CompactSizeUInt (#5909)
* core: Make BytesUtil.writeCmpctSizeUInt() faster by avoiding BitInt allocations in CompactSizeUInt

* Add invariant that CompactSizeUInt from long cannot be negative
2025-02-06 14:44:48 -06:00
Chris Stewart
4547052111
core: Optimize writing of block headers to avoid unncessay array copies (#5908) 2025-02-06 14:44:38 -06:00
Scala Steward
58d9021963
Update flyway-core, ... to 11.3.1 (#5907) 2025-02-06 09:58:58 -06:00
Scala Steward
acddc9caab
Update sbt-mdoc to 2.6.3 (#5904) 2025-02-06 09:58:42 -06:00
Scala Steward
c175128593
Update scala-collection-compat to 2.13.0 (#5903) 2025-02-06 09:57:05 -06:00
Scala Steward
f40b7eea1d
Update client3:core, ... to 3.10.3 (#5906) 2025-02-06 09:56:33 -06:00
Scala Steward
7f5684d344
Update gson to 2.12.1 (#5901) 2025-02-06 09:56:11 -06:00
Scala Steward
17c48facbd
Update sbt-native-packager to 1.11.1 (#5905) 2025-02-06 09:56:00 -06:00
Chris Stewart
6f9efafa91
core: Add ScriptNumber check in P2SHScriptSignature.isRedeemScript() (#5900) 2025-02-03 10:30:54 -06:00
Chris Stewart
73cf14d03e
core: Optimize ScriptParser.parseOperationByte() (#5899) 2025-02-01 13:21:18 -06:00
Chris Stewart
bf3fc65db3
scripts: Update logback.xml (#5898) 2025-02-01 10:57:54 -06:00
Chris Stewart
cda49a1fe4
Upgrade eclair to 0.11.0 (#5894)
* Upgrade eclair to 0.11.0

* Fix getinfo RPC call

* Remove Future parameters from EclairRpctestUtil.openAndConfirmChannel()

* Fix docs

* fix lnd hash
2025-01-29 07:06:04 -06:00
Chris Stewart
8331c6d10e
lndRpc: Upgrade lnd to 0.18.4 (#5895)
* lndRpc: Upgrade lnd to 0.18.4

* fix hashes

* Fix hash
2025-01-28 14:04:22 -06:00
Chris Stewart
7eef13efa0
Update bitcoind to 28.1/27.2 (#5893)
* Update bitcoind to 28.1/27.2

* Fix hashes
2025-01-28 10:40:31 -06:00
Maxim Evtush
af36b068f8
Update LICENSE (#5892) 2025-01-28 08:52:00 -06:00
Scala Steward
6c54c01e2e
Update sbt-coveralls to 1.3.15 (#5891) 2025-01-28 08:17:18 -06:00
Chris Stewart
c30856fe33
2025 01 09 release notes 1.9.10 (#5889)
* Begin 1.9.10 release notes

* Sort deps

* Sort commits upto 6af79f9ed5

* Sort commits upto  ce868801ce

* Add release notes section blurbs

* add section about RPC rename from listreservedutxos -> getreservedutxos
2025-01-25 09:40:28 -06:00
Chris Stewart
d6799df122
Update versions to 1.9.10 (#5888)
* Update versions to 1.9.10

* fix version
2025-01-25 09:13:11 -06:00
Scala Steward
ce868801ce
Update sbt-scalajs, scalajs-compiler, ... to 1.18.2 (#5886) 2025-01-24 11:33:39 -06:00
Chris Stewart
52040da386
node: Fix bug where we we could have more connections than allowed by bitcoin-s.node.maxConnectedPeers (#5885)
* node: Fix bug where we we could have more connections than allowed by bitcoin-s.node.maxConnectedPeers

* node: Add log to indiciate if we are initializing disconnect
2025-01-24 11:15:45 -06:00
Chris Stewart
6a51b7c103
node: Limit initial stack push in PeerFinder.start() to maxSearchCount^2 (#5882)
* node: Limit initial stack push in PeerFinder.start() to maxSearchCount^2

* Shuffle peers to get a randomized list of peers to connect to

* Add Random.shuffle()

* Call .take() before adding socks5ProxyParams

* Add pattern match network for hardcoded-peers.txt which are mainnet peers

* Revert logback-test.xml
2025-01-24 08:59:08 -06:00
Chris Stewart
baa4ddf166
2025 01 23 issue 5878 (#5883)
* node: Remove offer to queue calling connectPeer() inside PeerManager stream

* node: When disconnecting peers don't offer to queue to avoid deadlock

* node: When shutting down node don't offer to queue to avoid deadlock

* cleanup
2025-01-23 17:39:50 -06:00
Chris Stewart
57860d74d0
wallet: Batch requests for blocks during rescan (#5866)
* wallet: Batch requests for blocks during rescan

* Revert node/

* Revert node/

* Try reintroducing backpressure into Node.downloadBlocks()

* Revert wallet/
2025-01-22 17:05:30 -06:00
Chris Stewart
40fef6e508
node: Add invariant we have peerServices when we cann PeerManager.handleConnect() (#5880) 2025-01-22 16:59:29 -06:00
Scala Steward
84dcc8f916
Update sbt-bloop to 2.0.8 (#5881) 2025-01-22 14:40:19 -06:00