Commit Graph

64 Commits

Author SHA1 Message Date
Alexsandro
913f95b2b2
Updated github.com/btcsuite/btcd to address CVE-2024-34478
synchronize dependencies
2024-08-15 11:16:41 -03:00
Oliver Gugger
4bff778564
psbt: decode keytype as compact size
Fixes #2199.

Previous to this fix the keytype was only interpreted as a single byte,
even though BIP-0174 states it is to be parsed as a CompactSize/VarInt.
2024-06-25 16:03:05 +02:00
marcoezekiel
2492b01f69 btcutil/bech32: Added DecodeNoLimitWithVersion
This exposes publicly the ability to decode arbitrary-length bech32
strings and return the bech32 version that was used in the encoding. It
provides the underlying functionality for both DecodeNoLimit and
DecodeGeneric.
2024-05-13 12:02:40 -06:00
MarkDaveny
6b197d38d7
chore: fix some function names (#2180)
Signed-off-by: MarkDaveny <peicuiping@aliyun.com>
2024-04-29 11:45:39 -04:00
snoppy
9851d96c06
chore: fix typos 2024-03-29 10:21:29 +08:00
xiaoxiangxianzi
95330bc1bb
chore: fix some comments (#2146)
Signed-off-by: xiaoxiangxianzi <zhaoyizheng@outlook.com>
2024-03-27 09:45:48 -04:00
mattn
3cb9f602e8
fix typos (#2100) 2024-03-25 09:44:25 -04:00
theedtron
b66f5b8379
multi: fix ioutil deprecated function
update i/o functions to use os / io package functions instead
2024-03-08 17:41:41 -08:00
yyforyongyu
fbe65bfc01
gomod: run go mod tidy for all modules
Also add the `make tidy-module` copied from `lnd`.
2024-01-15 17:22:42 +08:00
vuittont60
7df46516b7
btcutil: fix typo 2024-01-09 17:12:23 +08:00
Olaoluwa Osuntokun
e102a81268
btcutil: add benchmarks for Hash + WitnessHash 2023-12-28 18:07:03 -08:00
Olaoluwa Osuntokun
56de9ca878
btcutil: align new serialization caching logic w/ codebase style 2023-12-28 17:47:11 -08:00
Calvin Kim
83605e476c btcutil: reuse serialized tx during TxHash
btcutil.Block caches the serialized raw bytes of the block during ibd.
This serialized block bytes includes the serialized tx. The current tx
hash generation will re-serialized the de-serialized tx to create the
raw bytes and it'll only then hash that.

This commit changes the code so that the re-serialization never happens,
saving tons of cpu and memory overhead.
2023-12-21 13:43:11 +09:00
Olaoluwa Osuntokun
4126760706
btcutil/psbt: update to btcutil btcutil/v1.1.4 2023-12-19 15:01:52 -08:00
Olaoluwa Osuntokun
28a816f050
btcutil/psbt: update to chaincfg/chainhash/v1.1.0 + btcutil/v1.1.3
We also remove the replace directives in place.
2023-12-15 14:55:10 -08:00
Olaoluwa Osuntokun
7745cbb679
btcutl/gcs: update filter logic to use new DoubleHashRaw 2023-12-15 14:42:35 -08:00
Olaoluwa Osuntokun
e22513c237
btcutil: update to chaincfg/chainhash/v1.1.0 2023-12-15 14:42:29 -08:00
ClaytonNorthey92
d988b86027 Added test for client.GetChainTxStatsAsync() in rpcclient. This sets up a test websocket server to run the tests. Also, ensure these are run within a timeout, since they rely on concurrency 2023-11-02 16:16:11 -04:00
yyforyongyu
d4f519f5dc
gomod: clean go mod files
Resulted from running `go mod tify`.
2023-09-04 12:04:16 +08:00
Olaoluwa Osuntokun
0aaa7c5e7b
Merge pull request #1979 from kcalvinalvin/merkle-calc-fast
blockchain, integration, mining, main: Rolling merkle root calculation
2023-08-10 15:05:40 -07:00
Calvin Kim
3ba9feeeee blockchain, btcutil/bloom: BuildMerkleTreeStore returns chainhash.Hash
BuildMerkleTreeStore used to return a pointer, but it is changed to
return a chainhash.Hash directly.  This allows the compiler to make
optimizations in some cases and avoids a memory allocation.
2023-08-03 15:23:17 +09:00
0xEclair
7f0fb2ad3b psbt: finalizer add proper sighash flag
psbt: fix missing sighash flag when finalizing
psbt: test finalizer add proper sighash flag
2023-07-17 18:35:13 +08:00
Carsten Otto
725b36bf09 btcutil: format BTC amounts with trailing zeroes
so that sat amounts can be read without counting zeroes

before:
 350sat = 0.0000035 BTC
3500sat = 0.000035 BTC

after:
 350sat = 0.00000350 BTC
3500sat = 0.00003500 BTC

fixes #1995
2023-07-04 18:19:07 +02:00
cui fliter
e160bb6922 multi: remove repetitive the
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-06-26 15:40:51 +08:00
Calvin Kim
ba5407615d multi: Run gofmt on the entire repository
The doc formatting changes introduced in the recent go version is
increasing the diff for all of the new commits.  Formatting it all in
this commit will help the readability of future PRs by reducing the
diff.
2023-06-21 22:31:09 +09:00
ziggie
b554add716
psbt: add verification method for psbt input data
the new InputsReadyToSign method makes sure that inputs have either
the nonWitnessUtxo or the witnessUtxo data set.
2023-03-21 09:09:42 +01:00
Oliver Gugger
bb0a2f3790
psbt: add unit test for unknowns 2023-01-27 15:30:46 +01:00
Oliver Gugger
6c81c664bb
psbt: use pointer slice for global unknowns
To unify the way the unknown fields are handled, we change the global
ones to a slice of pointers as well. This makes it easier to add
generic handler code for unknown fields, if they are uniform across the
levels (global, input, output).
2023-01-27 15:30:45 +01:00
Oliver Gugger
5ebbb1bb91
psbt: encode global unknowns 2023-01-27 15:30:44 +01:00
Oliver Gugger
19c7c3d853
psbt: allow Unknowns in outputs 2023-01-27 15:30:43 +01:00
Oliver Gugger
2dbc98bdf3
psbt: fix formatting and typos 2023-01-27 15:30:42 +01:00
Oliver Gugger
734ab735b9
psbt: export Bip32 encode/decode functions 2023-01-27 15:30:41 +01:00
Oliver Gugger
866b3dc0a3
base58: fix decoding issue 2022-11-18 20:55:50 +01:00
Robyn
586729ca07
btcutil/psbt: add method Packet.GetTxFee
This commit adds a GetTxFee method to the psbt.Packet structure. The method returns the PSBT's fee.
2022-11-04 14:49:51 +00:00
Darioush Jalali
3ec3acc6fb
go mod tidy in btcutil/ 2022-07-11 16:30:53 -07:00
Darioush Jalali
f46068f38e
bump version to v0.23.0 2022-06-30 15:59:56 -07:00
Darioush Jalali
d9c09e0315
Bump btcd version in btcutil package 2022-06-28 17:21:46 -07:00
Oliver Gugger
886a8f41db
psbt: make Taproot PSBT finalizable 2022-05-02 16:25:17 +02:00
Oliver Gugger
0572702cec
psbt: add valid and invalid PSBTs for new types 2022-05-02 16:25:16 +02:00
Oliver Gugger
5cf346f14f
psbt: add (de-)serialization for new types 2022-05-02 16:25:15 +02:00
Oliver Gugger
db6cb69d84
psbt: add new input/output types and structs 2022-05-02 16:25:13 +02:00
Oliver Gugger
e6367b26b7
psbt: remove invalid type from typo 2022-05-02 16:25:12 +02:00
Oliver Gugger
a764afd44e
psbt: rename receiver to match rest of code 2022-05-02 16:25:11 +02:00
Oliver Gugger
a336854e27
psbt: fix typo, remove TODO 2022-05-02 16:25:09 +02:00
Oliver Gugger
eb2eeaf848
psbt: always use non witness serialization format
BIP-0174 states that the transaction must be in the old serialization
format (without witnesses).
2022-04-13 14:13:47 +02:00
Oliver Gugger
56b048867b
psbt: allow empty bip32 derivation path
BIP-0174 defines the derivation path being encoded as
  "<32-bit uint> <32-bit uint>*"
with the asterisk meaning 0 to n times. Which in turn means that an
empty path is valid, only the key fingerprint is mandatory.
2022-03-28 10:14:43 +02:00
Olaoluwa Osuntokun
c203b940f3
build: update to btcec/v2.1.3 and chaincfg/chainhash v1.0.1
In this commit, we update the top level module to use the newly tagged
sub-modules. Once we remove the circular dependant in these sub-modules,
then we'll no longer have to do things like this.
2022-03-15 18:48:50 -07:00
Olaoluwa Osuntokun
30d58b98a1
build: add temporary replace directives for btcec+chainhash
This PR includes some changes to them, so we'll need to use a temporary
replace directives to ensure the build passes.
2022-03-15 18:23:47 -07:00
Olaoluwa Osuntokun
6fc4199ee4
txscript: add new RawTxInTapscriptSignature to generate tapsript sigs
In this commit, we add a new function `RawTxInTapscriptSignature` that
will be used to generate signatures in the _tapscript_ context. Note
that this differs from top-level taproot as a distinct sighash is used,
and we _always_ accept a root hash to perform the proper tweak.
2022-03-15 18:23:08 -07:00
Olaoluwa Osuntokun
3baa09f33e
build: update to btcec/v2.1.1 and chaincfg/chainhash/v1.00 2022-03-09 18:54:03 -08:00