Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
444 commits
Select commit Hold shift + click to select a range
d5f8a02
Update result.rs
leopardracer Apr 26, 2025
ab9f2fc
removed API documentation section
gap-editor Apr 24, 2025
7e79a8b
Merge rust-bitcoin/rust-bitcoin#4391: test: push minimality check for…
apoelstra Apr 26, 2025
5871c51
Merge rust-bitcoin/rust-bitcoin#4394: chore: fix docs for `WitnessPro…
apoelstra Apr 26, 2025
068d512
Merge rust-bitcoin/rust-bitcoin#4398: Fix typo in result.rs documenta…
apoelstra Apr 26, 2025
1bee39b
Merge rust-bitcoin/rust-bitcoin#4393: docs: Remove dead API documenta…
apoelstra Apr 27, 2025
6737c3a
2025-04-27 automated rustfmt nightly
Apr 27, 2025
269cd3a
Merge rust-bitcoin/rust-bitcoin#4401: Automated nightly rustfmt (2025…
apoelstra Apr 27, 2025
a232783
docs: correction CHANGELOG.md
Fallengirl Apr 27, 2025
f740199
Merge rust-bitcoin/rust-bitcoin#4397: Automated weekly update to carg…
tcharding Apr 27, 2025
f4bc58d
bitcoin: Add a script encoding example
tcharding Apr 7, 2025
c27b95f
Make script to/from hex use consensus encoding
tcharding Apr 14, 2025
2b72f1f
Make Lower/Upper hex print scripts with len prefix
tcharding Apr 16, 2025
5d5a197
Run the formatter
tcharding Apr 28, 2025
f9bc0f5
Merge rust-bitcoin/rust-bitcoin#4344: Locktime MtpAndHeight
apoelstra Apr 28, 2025
c01c6a3
Merge rust-bitcoin/rust-bitcoin#4403: docs: correction CHANGELOG.md
apoelstra Apr 28, 2025
a9ddac1
Merge rust-bitcoin/rust-bitcoin#4316: Improve the script hex APIs
apoelstra Apr 28, 2025
f31b732
changed wording and punctuation
crStiv Apr 28, 2025
3bcb5b0
Add exclusions for match arm/guard mutants
jamillambert Apr 29, 2025
da169fc
Merge rust-bitcoin/rust-bitcoin#4408: fix: wording and punctuation
apoelstra Apr 29, 2025
73781e0
bip32: rename Error to ParseError
apoelstra Apr 22, 2025
b9a1204
bip32: return error when trying to derive a path too deep
apoelstra Apr 22, 2025
a91e4de
correction comments check-semver-feature.sh
reject-i Apr 30, 2025
ee03704
Merge rust-bitcoin/rust-bitcoin#4387: bip32: overhaul error types and…
apoelstra Apr 30, 2025
8a0e645
Merge rust-bitcoin/rust-bitcoin#4411: Mutation testing: Add exclusion…
apoelstra Apr 30, 2025
82da8a5
Add regression tests for Display impl
jamillambert Apr 30, 2025
eb7dee8
Rename locktime tests
jamillambert Apr 30, 2025
9c90bf4
Add lock by time and denomination display regression tests
jamillambert Apr 30, 2025
055ab7e
Remove impl Display from mutants exclusion list
jamillambert Apr 30, 2025
7bcdd5f
Add regression tests for Display impl
jamillambert Apr 30, 2025
16f6fc6
Improve docs on absolute::LockTime::is_implied_by
tcharding May 1, 2025
3bb6c73
Add methods to retrieve inner types
shinghim Apr 20, 2025
f646afd
Fix typo in githooks warning message
strmfos May 2, 2025
5e96436
Merge rust-bitcoin/rust-bitcoin#4420: primitives: Add regression test…
apoelstra May 2, 2025
1aedc7e
Merge rust-bitcoin/rust-bitcoin#4422: units: Add regression tests for…
apoelstra May 2, 2025
8ffcd2c
units: rename absolute::Time to absolute::Mtp
apoelstra May 1, 2025
5a8f33f
units: rename absolute::Mtp consensus functions
apoelstra May 1, 2025
e7f2ad9
Merge rust-bitcoin/rust-bitcoin#4429: Fix typo in githooks warning me…
apoelstra May 2, 2025
903b2a5
Merge rust-bitcoin/rust-bitcoin#4426: Improve docs on absolute::LockT…
apoelstra May 2, 2025
39b057f
units: rename absolute::Height consensus functions
apoelstra May 1, 2025
1a6b8b4
units: rename relative::Time to MtpInterval
apoelstra May 1, 2025
d3619cc
units: deprecate relative::MtpInterval::to_consensus_u32
apoelstra May 1, 2025
39b4f76
units: rename relative::Height to HeightInterval
apoelstra May 2, 2025
826acb8
units: rename relative::HeightInterval constructors
apoelstra May 2, 2025
0820753
Merge rust-bitcoin/rust-bitcoin#4373: Add as_inner method to TweakedK…
apoelstra May 3, 2025
1f19d9b
2025-05-04 automated rustfmt nightly
May 4, 2025
1b04f5d
Merge rust-bitcoin/rust-bitcoin#4431: units: rename relative locktime…
tcharding May 4, 2025
44d01d0
Fix broken changelog links
GarmashAlex May 5, 2025
002a038
Mark function constant
yancyribbens May 5, 2025
13cbead
Use NumOpResult instead of Option
yancyribbens Apr 30, 2025
ec44656
Merge rust-bitcoin/rust-bitcoin#4438: Automated nightly rustfmt (2025…
apoelstra May 5, 2025
aadd7df
hashes: move `from_engine` fn impl out of macro body
apoelstra Feb 9, 2025
0aeff35
hashes: reformat
apoelstra May 5, 2025
a5d96ce
hashes: remove private `internal_new` method
apoelstra May 5, 2025
53d32c9
bitcoin: remove torv2 support
brunoerg May 5, 2025
541acad
Merge rust-bitcoin/rust-bitcoin#4423: mutants: Remove `impl Display` …
apoelstra May 5, 2025
723cf91
Merge rust-bitcoin/rust-bitcoin#4446: Fix broken changelog links
apoelstra May 5, 2025
51fe619
Set deprecation to released date of to_inner
tcharding May 5, 2025
3fa7889
just: Add update-lock-files alias
tcharding May 5, 2025
2d93c8e
Merge rust-bitcoin/rust-bitcoin#4448: bitcoin: remove torv2 support
apoelstra May 6, 2025
7ecef17
Fix documentation error for `TweakedPublicKey::serialize`
Ademan May 6, 2025
2fbbc82
Allow uninlined format args
jamillambert Apr 28, 2025
282434d
Use variable directly in format! string
jamillambert Apr 28, 2025
09132b8
Fix rustdoc compile_fail example
jamillambert May 3, 2025
5ba763f
Update Github CI to rustc nightly-2025-05-02
jamillambert Apr 28, 2025
a852aef
Remove unused imports in rustdocs
jamillambert May 6, 2025
52940d4
Prefix unused variables with _ in rustdocs
jamillambert May 6, 2025
2a518d6
Wrap secp256k1::XOnlyPublicKey to improve error handling
erickcestari Apr 28, 2025
c11772a
Accept flexible input types for Taproot-related functions
erickcestari Apr 28, 2025
7ca45e8
Merge rust-bitcoin/rust-bitcoin#4028: hashes: several cleanups
apoelstra May 6, 2025
a3228d4
units: pull u32 conversions for BlockHeight/BlockInterval into macro
apoelstra May 5, 2025
4e3af51
units: add global `BlockMtp` type
apoelstra May 5, 2025
cb882c5
units: add global `BlockMtpInterval` type
apoelstra May 5, 2025
4e4601b
units: rename BlockInterval to BlockHeightInterval
apoelstra May 5, 2025
4300271
units: add constructor for absolute::Mtp from timestamps
apoelstra May 5, 2025
dcbdb7c
units: add checked arithmetic to Block{Height,Mtp}{Interval,}
apoelstra May 6, 2025
d933c75
units: change type of MtpHeight::to_mtp to BlockMtp
apoelstra May 6, 2025
72d5fba
units: stop using MtpAndHeight in locktime::relative is_satisfied_by …
apoelstra May 5, 2025
d82b8c0
primitives: stop using MtpAndHeight
apoelstra May 6, 2025
47c77af
units: delete MtpAndHeight type
apoelstra May 6, 2025
f36b8f2
fix duplicate poly1305.rs
futreall May 7, 2025
3b57bd1
Merge rust-bitcoin/rust-bitcoin#4451: Set deprecation to released dat…
apoelstra May 7, 2025
6adf952
Merge rust-bitcoin/rust-bitcoin#4409: Manual update to rustc (to nigh…
apoelstra May 7, 2025
f1418bc
Merge rust-bitcoin/rust-bitcoin#4456: Fix documentation error for `Tw…
apoelstra May 7, 2025
7d4b40d
Merge rust-bitcoin/rust-bitcoin#4410: Wrap secp256k1::XOnlyPublicKey …
apoelstra May 7, 2025
1065786
Merge rust-bitcoin/rust-bitcoin#4457: rustdoc: Fix unused lint warnings
apoelstra May 7, 2025
884dc5e
Merge rust-bitcoin/rust-bitcoin#4428: Use NumOpResult instead of Option
apoelstra May 7, 2025
dc27732
Merge rust-bitcoin/rust-bitcoin#4455: just: Add update-lock-files alias
apoelstra May 7, 2025
8a563ef
Merge rust-bitcoin/rust-bitcoin#4460: fix duplicate poly1305.rs
apoelstra May 7, 2025
4ca6cd6
Merge rust-bitcoin/rust-bitcoin#4458: locktimes: replace `MtpAndHeigh…
apoelstra May 7, 2025
41f26cf
Merge rust-bitcoin/rust-bitcoin#4418: docs: correction comments in `c…
apoelstra May 7, 2025
b38d225
Run the formatter
tcharding May 7, 2025
c3b7457
Rename Mtp to MedianTimePast
tcharding May 7, 2025
3a97ea2
Rename HeightInterval to NumberOfBlocks
tcharding May 7, 2025
7c2115b
Rename MtpInterval to NumberOf512Seconds
tcharding May 7, 2025
d557caf
Run the formatter
tcharding May 8, 2025
dca4266
units: Fix rustdoc column width
tcharding May 7, 2025
6b90e42
Finalize the script hex APIs
tcharding May 8, 2025
3b81641
primitives: Add docs section for script hex API
tcharding May 8, 2025
f5b716b
Change rustdoc tag from compile_fail to ignore
jamillambert May 8, 2025
dc499b0
Merge rust-bitcoin/rust-bitcoin#4471: Change rustdoc tag from `compil…
apoelstra May 8, 2025
8ec2d35
primitives: Derive Clone on witness::Iter
tcharding Apr 10, 2025
e2d9a8a
primitives: Add an API test module
tcharding Feb 19, 2025
2f7e74d
Add MathOp helper methods
yancyribbens May 8, 2025
a7d0591
Assert error type
yancyribbens May 8, 2025
3a6a399
Merge rust-bitcoin/rust-bitcoin#4462: Do lock time renames
apoelstra May 9, 2025
fd90c87
Mark method as constant
yancyribbens May 8, 2025
79a6840
Merge rust-bitcoin/rust-bitcoin#4078: primitives: Add an API test module
apoelstra May 9, 2025
e43c574
Merge rust-bitcoin/rust-bitcoin#4473: Assert num op error
apoelstra May 9, 2025
f732b1d
units: Use functional style
tcharding May 8, 2025
b038520
Change the return type of effective_value
yancyribbens May 8, 2025
06096d2
Automated update to Github CI to rustc nightly-2025-05-09
May 10, 2025
03b8e08
Fix argument check in labeler script
Fallengirl May 10, 2025
afde849
Merge rust-bitcoin/rust-bitcoin#4482: Automated daily update to rustc…
tcharding May 10, 2025
e492f94
Update `ScriptBuf::with_capacity` docs
Ademan May 11, 2025
d003d48
Add `Builder::with_capacity()`
Ademan Apr 7, 2025
37d2f7e
2025-05-11 automated rustfmt nightly
May 11, 2025
c3102f0
Fix link to BIP-113
tcharding May 11, 2025
a2ff8dd
Improve relative::LockTime is_satisfied_by_{height, time}
tcharding May 8, 2025
3ffdc54
Fix off-by-one bug in relative locktime
tcharding May 12, 2025
727047b
Fix off-by-one-bug in absolute locktime
tcharding May 11, 2025
f9d6453
Shorten locktime type term
tcharding May 12, 2025
480a2cd
Favour new function `from_mtp` over deprecated
tcharding May 12, 2025
40bb177
Put is_satisfied_by functions together
tcharding May 12, 2025
caebb1b
units: relative: Do minor rustdocs fixes
tcharding May 12, 2025
4ccecf5
Fix stale Height type link
tcharding May 12, 2025
9578ad3
Merge rust-bitcoin/rust-bitcoin#4469: Iterate on the script hex APIs
apoelstra May 12, 2025
76e9a3e
Merge rust-bitcoin/rust-bitcoin#4467: units: Use functional style
apoelstra May 12, 2025
3fbd6fb
test: Add constructor test
yancyribbens May 11, 2025
5ecb888
Merge rust-bitcoin/rust-bitcoin#4474: Mark method as constant
apoelstra May 12, 2025
a8e85b6
Merge rust-bitcoin/rust-bitcoin#4472: Change the return type of effec…
apoelstra May 12, 2025
fb38e1b
Merge rust-bitcoin/rust-bitcoin#4487: Automated nightly rustfmt (2025…
apoelstra May 12, 2025
873880b
test: push int minimality
ChrisCho-H May 13, 2025
fb44e4a
Merge rust-bitcoin/rust-bitcoin#4483: Fix argument check in labeler s…
apoelstra May 13, 2025
a66ff8f
Introduce `map` function for `NumOpResult`
shinghim May 10, 2025
c3ee5f8
Merge rust-bitcoin/rust-bitcoin#4478: test: push int minimality
apoelstra May 13, 2025
c5d8803
Merge rust-bitcoin/rust-bitcoin#4484: Introduce `map` function for `N…
apoelstra May 13, 2025
525e1a4
Merge rust-bitcoin/rust-bitcoin#4495: test: Add constructor test
apoelstra May 13, 2025
fe577cd
Implement Div<NonZeroU64|I64> for Amount, SignedAmount, FeeRate, and …
frankomosh May 7, 2025
bc93498
Merge rust-bitcoin/rust-bitcoin#4485: Add `Builder::with_capacity()`
apoelstra May 13, 2025
642c414
refactor: Use map combinator instead of match
yancyribbens May 13, 2025
3bf87d8
Merge rust-bitcoin/rust-bitcoin#4489: Fix link to BIP-113
apoelstra May 14, 2025
2c0f388
Fix up script to/from hex
tcharding May 14, 2025
fc373f3
Merge rust-bitcoin/rust-bitcoin#4461: Implementing Div<NonZeroU64|I64…
apoelstra May 14, 2025
6484413
CI: Manually remove trailing whitespace
tcharding May 14, 2025
4e094d6
Merge rust-bitcoin/rust-bitcoin#4500: refactor: Use map combinator in…
apoelstra May 14, 2025
87d6f17
Make serde attribute usage more terse
tcharding May 14, 2025
d694049
Simplify fee_rate serde deserialize opt
tcharding May 14, 2025
3658865
Fix expecting string for fee_rate
tcharding May 14, 2025
9803650
Fix expecting string for amount types
tcharding May 14, 2025
e2d03fe
units: Manually implement serde traits
tcharding May 14, 2025
5533d3e
Merge rust-bitcoin/rust-bitcoin#4505: units: `serde` cleanup
apoelstra May 14, 2025
1b709eb
Merge rust-bitcoin/rust-bitcoin#4506: units: Manually implement serde…
apoelstra May 14, 2025
11ceadb
Merge rust-bitcoin/rust-bitcoin#4504: CI: Manually remove trailing wh…
apoelstra May 14, 2025
9a9b410
units: Make block-related types have private inner fields
tcharding May 14, 2025
b17452b
fix: add authors to the chacha20_poly1305 crate
nyonson May 14, 2025
35a4999
Merge rust-bitcoin/rust-bitcoin#4083: Improve chacha20 cipher perform…
apoelstra May 15, 2025
ef5e325
Merge rust-bitcoin/rust-bitcoin#4509: fix: add author to the chacha20…
apoelstra May 15, 2025
64387f5
feat(p2p): add `AddrV2` <> `SocketAddr` conversions
luisschwab May 15, 2025
a1d4bc3
test(p2p): add tests for `AddrV2` <> `SocketAddr` conversions
luisschwab May 15, 2025
8608969
Automated update to Github CI to rustc stable-1.87.0
May 16, 2025
ea0a318
release: prep chacha20-poly1305 crate for 0.1.2
nyonson May 16, 2025
e619364
Merge rust-bitcoin/rust-bitcoin#4503: Fix up script to/from hex
apoelstra May 16, 2025
532345b
Merge rust-bitcoin/rust-bitcoin#4508: units: Make block-related types…
apoelstra May 16, 2025
29b12be
Remove Display/FromStr for FeeRate
tcharding May 15, 2025
d74eede
fix(taproot): raname `from_key_and_tweak` to `from_key_and_merkle_root`
luisschwab May 16, 2025
27caa6b
Merge rust-bitcoin/rust-bitcoin#4517: Automated weekly update to rust…
apoelstra May 17, 2025
0cd224d
Automated update to Github CI to rustc nightly-2025-05-16
May 17, 2025
8985c9e
Merge rust-bitcoin/rust-bitcoin#4522: fix(taproot): raname `from_key_…
apoelstra May 17, 2025
a095580
Merge rust-bitcoin/rust-bitcoin#4523: Automated daily update to rustc…
apoelstra May 17, 2025
e541221
Merge rust-bitcoin/rust-bitcoin#4521: feat(p2p): add `AddrV2` <> `Soc…
apoelstra May 17, 2025
d9ec934
2025-05-18 automated rustfmt nightly
May 18, 2025
ade7ea5
psbt: replace the fee rate magic numbers with named constants in tests
frankomosh May 18, 2025
0160ac5
Merge rust-bitcoin/rust-bitcoin#4512: Remove Display/FromStr for FeeRate
apoelstra May 19, 2025
cc66dde
Merge rust-bitcoin/rust-bitcoin#4518: Release tracking for chacha20-p…
apoelstra May 19, 2025
9310942
Merge rust-bitcoin/rust-bitcoin#4529: psbt: replace the fee rate magi…
apoelstra May 19, 2025
fa52a31
Merge rust-bitcoin/rust-bitcoin#4527: Automated nightly rustfmt (2025…
apoelstra May 20, 2025
c1d2f03
Add tests to block
jamillambert May 20, 2025
24cc059
Add tests to result
jamillambert May 20, 2025
fd0a756
Add tests to relative locktime
jamillambert May 20, 2025
b538a10
Add deprecated functions to mutants exclude list
jamillambert May 20, 2025
a5e4eb3
chore: remove unused `.actrc`
luisschwab May 20, 2025
c21d445
Merge rust-bitcoin/rust-bitcoin#4533: chore: delete unused `.actrc`
apoelstra May 21, 2025
855299a
Merge rust-bitcoin/rust-bitcoin#4532: units: Kill mutants found in we…
apoelstra May 21, 2025
e8a9a89
feat(p2p): add `AddrV2` <> `IpAddr` conversions
erickcestari May 17, 2025
7ad89df
test(p2p): add tests for `AddrV2` <> `IpAddr` conversions
erickcestari May 17, 2025
2c236ae
fuzz: Add p2p address round-trip fuzzing test
erickcestari May 19, 2025
3c920d1
fix(p2p): Remove `SocketAddr::V6` <> `AddrV2::Cjdns` conversions
erickcestari May 21, 2025
a1ce2d1
Use _u32 in FeeRate constructor instead of _unchecked
tcharding May 19, 2025
7e67737
Use / to divide fee by weight
tcharding May 19, 2025
1fef5a3
units: re-order ceil/floor functions
tcharding May 22, 2025
395252c
Fix FeeRate::checked_add/sub
tcharding May 21, 2025
c63f80b
Remove impl From<u64> for FeeRate
tcharding May 21, 2025
0a0e23f
style: use Self:: instead of type aliases in error impls
frankomosh May 22, 2025
cd61046
fix dead link CONTRIBUTING.md
Fallengirl May 22, 2025
62026c1
Don't use PSBT_GLOBAL_XPUB as an unknown key in Psbt serde test
Ademan May 14, 2025
d7e9a84
Fix Psbt preimage keys in serde test
Ademan May 14, 2025
9aa235c
BREAKING: Change Psbt serde implementations
Ademan May 11, 2025
7ad0b23
Merge rust-bitcoin/rust-bitcoin#4537: Use / to divide fee by weight
apoelstra May 22, 2025
d75aba2
Merge rust-bitcoin/rust-bitcoin#4539: units: re-order ceil/floor func…
apoelstra May 22, 2025
180d928
Merge rust-bitcoin/rust-bitcoin#4540: Remove `impl From<u64> for FeeR…
apoelstra May 23, 2025
7dcff50
Merge rust-bitcoin/rust-bitcoin#4542: Fix FeeRate::checked_add/sub
apoelstra May 23, 2025
efae4ca
Merge rust-bitcoin/rust-bitcoin#4544: use Self:: instead of type alia…
apoelstra May 23, 2025
3784573
Merge rust-bitcoin/rust-bitcoin#4545: fix dead link CONTRIBUTING.md
apoelstra May 23, 2025
2f2c914
Merge rust-bitcoin/rust-bitcoin#4526: feat(p2p): add AddrV2 <> IpAddr…
apoelstra May 23, 2025
1c07916
Merge rust-bitcoin/rust-bitcoin#4538: Use `_u32` in `FeeRate` constru…
apoelstra May 23, 2025
2e16dbb
fee_rate: Put test assertions in correct order
tcharding May 21, 2025
dc2cbc2
Make fee_rate test identifiers uniform
tcharding May 22, 2025
4ed0b89
Automated update to Github CI to rustc nightly-2025-05-23
May 24, 2025
d731489
Merge rust-bitcoin/rust-bitcoin#4551: Automated daily update to rustc…
tcharding May 24, 2025
07c4f76
Add comparison traits to InputWeightPrediction
yancyribbens May 22, 2025
c913e0a
Merge rust-bitcoin/rust-bitcoin#4541: fee_rate: Put test assertions i…
apoelstra May 24, 2025
ecf4b2b
Merge rust-bitcoin/rust-bitcoin#4496: BREAKING: Change Psbt serde imp…
apoelstra May 24, 2025
c73131c
2025-05-25 automated rustfmt nightly
May 25, 2025
6e66253
Merge rust-bitcoin/rust-bitcoin#4555: Automated nightly rustfmt (2025…
apoelstra May 25, 2025
9fb48bc
fix error grater to greater array_vec.rs
reject-i May 25, 2025
3e8e6d9
Add BIP-373 PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS serialization an…
Ademan May 1, 2025
2481695
Add tests for BIP-373 PSBT_{IN,OUT}_MUSIG2_PARTICIPANT_PUBKEYS serial…
Ademan May 1, 2025
0432102
Merge rust-bitcoin/rust-bitcoin#4549: Add trait to InputWeightDescrip…
apoelstra May 25, 2025
3c64cef
Merge rust-bitcoin/rust-bitcoin#4556: fix error grater to greater arr…
apoelstra May 25, 2025
8dd24cb
Add Arbitrary type for InputWeightPrediction
yancyribbens May 24, 2025
9371018
Merge rust-bitcoin/rust-bitcoin#4554: Sane InputWeightPredition Arbit…
apoelstra May 26, 2025
5e0b86d
Merge rust-bitcoin/rust-bitcoin#4440: Add support for de/serializing …
apoelstra May 26, 2025
0dbcd09
Move CheckedSum trait to crate root
yancyribbens May 26, 2025
9dac4d6
Implement CheckedSum for Weight iterator
yancyribbens May 23, 2025
e47836f
Do not derive Default on CompactTarget
tcharding May 27, 2025
2a3e606
units: Move some things out of impl_u32_macro
tcharding May 27, 2025
9d956e8
test: remove redundant `ServiceFlags` test
rustaceanrob May 27, 2025
94bcff2
p2p: Add wrappers for messages that use `Vec`
rustaceanrob May 27, 2025
6335c62
fix(p2p): remove `AddrV2` <> `SocketAddr` conversions
luisschwab May 27, 2025
20779bd
Move `p2p` encodings out of `encode`
rustaceanrob May 27, 2025
0064ad6
Merge rust-bitcoin/rust-bitcoin#4557: Move CheckedSum and add Weight
apoelstra May 28, 2025
de32071
Introduce empty p2p messages crate
rustaceanrob May 27, 2025
3c8eeeb
Merge rust-bitcoin/rust-bitcoin#4562: Remove redundant `ServiceFlags`…
apoelstra May 28, 2025
f0302f2
Merge rust-bitcoin/rust-bitcoin#4570: fix(p2p): remove `AddrV2` <> `S…
apoelstra May 28, 2025
6c228a3
Merge rust-bitcoin/rust-bitcoin#4507: units: Move code out of wrapper…
apoelstra May 28, 2025
7b52b9c
Fix typo
yancyribbens May 29, 2025
357ae40
fix typo Porallel to Parallel crypto.rs
Fallengirl May 30, 2025
b8c3566
Merge rust-bitcoin/rust-bitcoin#4561: Do not derive `Default` on `Com…
apoelstra May 30, 2025
b0981fc
Merge rust-bitcoin/rust-bitcoin#4575: Fix typo
apoelstra May 30, 2025
b4f280b
Merge rust-bitcoin/rust-bitcoin#4580: fix typo Porallel to Parallel c…
apoelstra May 30, 2025
6d8299e
Merge rust-bitcoin/rust-bitcoin#4468: Improve lock times - fix off-by…
apoelstra May 31, 2025
2113a32
Merge rust-bitcoin/rust-bitcoin#4571: Move `p2p` encodings from `enco…
apoelstra May 31, 2025
7ff1823
Merge rust-bitcoin/rust-bitcoin#4572: Introduce empty p2p messages crate
apoelstra May 31, 2025
3253d85
Initial CPUNet support
Nov 20, 2024
b1a58c6
Add cpunet prefix to PoW function and update CPUNET type in param.rs
Calisto-Mathias Mar 27, 2025
56297c7
Add cpunet in log message
Nov 20, 2024
ae8cace
Use version number 0.32.4-cpunet
Nov 20, 2024
9ad29da
small-fix : BlockInterval path fix in bitcoin/src/network/params.rs
Sansh2356 Jun 1, 2025
d070223
Merge branch 'cpunet' into test
Sansh2356 Jun 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .actrc

This file was deleted.

8 changes: 6 additions & 2 deletions .cargo/mutants.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,13 @@ exclude_globs = [
"units/src/amount/verification.rs" # kani tests
]
exclude_re = [
"impl Debug",
"impl Arbitrary",
"impl Display",
"impl Debug",
"impl fmt::Debug",
".*Error",
"deserialize", # Skip serde mutation tests
"Iterator", # Mutating operations in an iterator can result in an infinite loop
"match arm", "match guard", # New addition in cargo-mutants 25.0.1 deletes match arms and replaces match guards even in excluded functions

# ----------------------------------Crate-specific exclusions----------------------------------
# Units
Expand All @@ -21,6 +22,9 @@ exclude_re = [
"Time::to_consensus_u32", # Mutant from replacing | with ^, this returns the same value since the XOR is taken against the u16 with an all-zero bitmask
"FeeRate::fee_vb", # Deprecated
"FeeRate::fee_wu", # Deprecated
"SignedAmount::checked_abs", # Deprecated
"NumberOfBlocks::value", # Deprecated
"NumberOf512Seconds::to_consensus_u32", # Deprecated

# primitives
"Sequence::from_512_second_intervals", # Mutant from replacing | with ^, this returns the same value since the XOR is taken against the u16 with an all-zero bitmask
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cargo-semver-checks-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.40.0
0.41.0
1 change: 1 addition & 0 deletions .github/workflows/cron-daily-fuzz.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
bitcoin_deserialize_witness,
bitcoin_deser_net_msg,
bitcoin_outpoint_string,
bitcoin_p2p_address_roundtrip,
bitcoin_script_bytes_to_asm_fmt,
hashes_json,
hashes_ripemd160,
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/cron-weekly-rustfmt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ jobs:
with:
components: rustfmt
- name: Run Nightly rustfmt
run: cargo +nightly fmt
# Run the formatter and manually remove trailing whitespace.
run: cargo +nightly fmt && find . -type f -name '*.rs' -exec sed -i 's/ $//' {} \;
- name: Get the current date
run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
- name: Create Pull Request
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stable-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.85.1
1.87.0
24 changes: 11 additions & 13 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ changes to this document in a pull request.
- [Contribution workflow](#contribution-workflow)
* [Preparing PRs](#preparing-prs)
* [Peer review](#peer-review)
* [CI and Merging](#merging)
* [Repository maintainers](#repository-maintainers)
- [Coding conventions](#coding-conventions)
* [Naming conventions](#naming-conventions)
Expand Down Expand Up @@ -145,23 +146,20 @@ test out the patch set and opine on the technical merits of the patch. Please,
first review PR on the conceptual level before focusing on code style or
grammar fixes.

### API changes

The API of the following crates is almost stable. Changing it is supposed to be non-trivial. To
assist in this effort ll PRs that change the public API of any these crates must include a patch to
the `api/` text files. This should be a separate final patch to the PR that is the diff created by
running `just check-api`.
### CI and Merging

- `hashes`
- `io`
- `primitives`
- `units`
We use GitHub for CI as well to test the final state of each PR.

Check the [API text files](api/README.md) for more information
on how to install the dependencies and create the text files.
Also we use a local CI box which runs a large matrix of feature combinations as
well as testing each patch in a PR. This box is often very backlogged, sometimes
by multiple days. Please be patient, we will get to merging your PRs when the
backlog clears.

### Repository maintainers

Like all open source projects our maintainers are busy. Please take it easy on
them and only bump if you get no response for a week or two.

Pull request merge requirements:
- all CI test should pass,
- at least one "accepts"/ACKs from the repository maintainers
Expand Down Expand Up @@ -421,7 +419,7 @@ hacking on this codebase. Consider the following format, not all sections will b
///
/// ### Relevant BIPs
///
/// * [BIP X - FooBar in Bitcoin](https://github.com/bitcoin/bips/blob/master/bip-0000.mediawiki)
/// * [BIP X - FooBar in Bitcoin](https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki)
pub struct FooBar {
/// The version in use.
pub version: Version
Expand Down
9 changes: 7 additions & 2 deletions Cargo-minimal.lock
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,16 @@ dependencies = [
"bitcoin_hashes 0.16.0",
]

[[package]]
name = "bitcoin-p2p-messages"
version = "0.1.0"

[[package]]
name = "bitcoin-primitives"
version = "0.101.0"
dependencies = [
"arbitrary",
"arrayvec",
"bincode",
"bitcoin-internals",
"bitcoin-units",
Expand Down Expand Up @@ -149,7 +154,6 @@ dependencies = [
"bitcoin-internals",
"hex-conservative 0.3.0",
"serde",
"serde_json",
"serde_test",
]

Expand Down Expand Up @@ -182,7 +186,7 @@ checksum = "d4c819a1287eb618df47cc647173c5c4c66ba19d888a6e50d605672aed3140de"

[[package]]
name = "chacha20-poly1305"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"hex-conservative 0.3.0",
]
Expand Down Expand Up @@ -214,6 +218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4afe881d0527571892c4034822e59bb10c6c991cce6abe8199b6f5cf10766f55"
dependencies = [
"arrayvec",
"serde",
]

[[package]]
Expand Down
9 changes: 7 additions & 2 deletions Cargo-recent.lock
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,16 @@ dependencies = [
"bitcoin_hashes 0.16.0",
]

[[package]]
name = "bitcoin-p2p-messages"
version = "0.1.0"

[[package]]
name = "bitcoin-primitives"
version = "0.101.0"
dependencies = [
"arbitrary",
"arrayvec",
"bincode",
"bitcoin-internals",
"bitcoin-units",
Expand Down Expand Up @@ -148,7 +153,6 @@ dependencies = [
"bitcoin-internals",
"hex-conservative 0.3.0",
"serde",
"serde_json",
"serde_test",
]

Expand Down Expand Up @@ -184,7 +188,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"

[[package]]
name = "chacha20-poly1305"
version = "0.1.1"
version = "0.1.2"
dependencies = [
"hex-conservative 0.3.0",
]
Expand Down Expand Up @@ -216,6 +220,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4afe881d0527571892c4034822e59bb10c6c991cce6abe8199b6f5cf10766f55"
dependencies = [
"arrayvec",
"serde",
]

[[package]]
Expand Down
26 changes: 4 additions & 22 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,27 +1,9 @@
[workspace]
members = ["addresses", "base58", "bitcoin", "chacha20_poly1305", "fuzz", "hashes", "internals", "io", "primitives", "units"]
members = ["addresses", "base58", "bitcoin", "chacha20_poly1305", "fuzz", "hashes", "internals", "io", "p2p", "primitives", "units"]
resolver = "2"

[patch.crates-io.bitcoin-addresses]
path = "addresses"

[patch.crates-io.base58ck]
path = "base58"

[patch.crates-io.bitcoin]
path = "bitcoin"

# Keep this patch for hashes because secp256k1 depends on bitcoin-hashes via crates.io
# This allows testing changes to hashes with secp256k1
# See https://github.com/rust-bitcoin/rust-bitcoin/pull/4284#pullrequestreview-2714442229
[patch.crates-io.bitcoin_hashes]
path = "hashes"

[patch.crates-io.bitcoin-internals]
path = "internals"

[patch.crates-io.bitcoin-io]
path = "io"

[patch.crates-io.bitcoin-primitives]
path = "primitives"

[patch.crates-io.bitcoin-units]
path = "units"
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ trustworthiness of each of your dependencies, including this one.
This library **must not** be used for consensus code (i.e. fully validating blockchain data). It
technically supports doing this, but doing so is very ill-advised because there are many deviations,
known and unknown, between this library and the Bitcoin Core reference implementation. In a
consensus based cryptocurrency such as Bitcoin it is critical that all parties are using the same
consensus based cryptocurrency, such as Bitcoin, it is critical that all parties are using the same
rules to validate data, and this library is simply unable to implement the same rules as Core.

Given the complexity of both C++ and Rust, it is unlikely that this will ever be fixed, and there
Expand All @@ -68,11 +68,11 @@ and to expand on existing docs would be extremely appreciated.

Contributions are generally welcome. If you intend to make larger changes please discuss them in an
issue before PRing them to avoid duplicate work and architectural mismatches. If you have any
questions or ideas you want to discuss please join us in
questions or ideas you want to discuss, please join us in
[#bitcoin-rust](https://web.libera.chat/?channel=#bitcoin-rust) on
[libera.chat](https://libera.chat).

For more information please see [`CONTRIBUTING.md`](./CONTRIBUTING.md).
For more information, please see [`CONTRIBUTING.md`](./CONTRIBUTING.md).

## Minimum Supported Rust Version (MSRV)

Expand All @@ -83,7 +83,7 @@ Use `Cargo-minimal.lock` to build the MSRV by copying to `Cargo.lock` and buildi
## External dependencies

We integrate with a few external libraries, most notably `serde`. These
are available via feature flags. To ensure compatibility and MSRV stability we
are available via feature flags. To ensure compatibility and MSRV stability, we
provide two lock files as a means of inspecting compatible versions:
`Cargo-minimal.lock` containing minimal versions of dependencies and
`Cargo-recent.lock` containing recent versions of dependencies tested in our CI.
Expand Down Expand Up @@ -152,8 +152,8 @@ developers, especially new contributors looking for something to work on, we do:
- Mutation testing with [`cargo-mutants`](https://github.com/sourcefrog/cargo-mutants)
- Code verification with [`Kani`](https://github.com/model-checking/kani)

There are always more tests to write and more bugs to find, contributions to our testing efforts
extremely welcomed. Please consider testing code a first class citizen, we definitely do take PRs
There are always more tests to write and more bugs to find. PRs are extremely welcomed.
Please consider testing code as a first-class citizen. We definitely do take PRs
improving and cleaning up test code.

### Unit/Integration tests
Expand All @@ -178,7 +178,7 @@ We have started using [kani](https://github.com/model-checking/kani), install wi

## Pull Requests

Every PR needs at least two reviews to get merged. During the review phase maintainers and
Every PR needs at least two reviews to get merged. During the review phase, maintainers and
contributors are likely to leave comments and request changes. Please try to address them, otherwise
your PR might get closed without merging after a longer time of inactivity. If your PR isn't ready
for review yet please mark it by prefixing the title with `WIP: `.
Expand All @@ -201,7 +201,7 @@ to your githooks folder or run `just githooks-install` to copy them all.

Since the altcoin landscape includes projects which [frequently appear and disappear, and are poorly
designed anyway](https://download.wpsoftware.net/bitcoin/alts.pdf) we do not support any altcoins.
Supporting Bitcoin properly is already difficult enough and we do not want to increase the
Supporting Bitcoin properly is already difficult enough, and we do not want to increase the
maintenance burden and decrease API stability by adding support for other coins.

Our code is public domain so by all means fork it and go wild :)
Expand Down
1 change: 1 addition & 0 deletions addresses/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
// Exclude lints we don't think are valuable.
#![allow(clippy::needless_question_mark)] // https://github.com/rust-bitcoin/rust-bitcoin/pull/2134
#![allow(clippy::manual_range_contains)] // More readable than clippy's format.
#![allow(clippy::uninlined_format_args)] // Allow `format!("{}", x)`instead of enforcing `format!("{x}")`

extern crate alloc;

Expand Down
4 changes: 2 additions & 2 deletions base58/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ std = ["alloc", "hashes/std", "internals/std"]
alloc = ["hashes/alloc", "internals/alloc"]

[dependencies]
hashes = { package = "bitcoin_hashes", version = "0.16.0", default-features = false }
internals = { package = "bitcoin-internals", version = "0.4.0" }
hashes = { package = "bitcoin_hashes", path = "../hashes", default-features = false }
internals = { package = "bitcoin-internals", path = "../internals" }

[dev-dependencies]
hex = { package = "hex-conservative", version = "0.3.0", default-features = false, features = ["alloc"] }
Expand Down
2 changes: 1 addition & 1 deletion base58/src/error.rs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ impl fmt::Display for TooShortError {
#[cfg(feature = "std")]
impl std::error::Error for TooShortError {}

/// Found a invalid ASCII byte while decoding base58 string.
/// Found an invalid ASCII byte while decoding base58 string.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct InvalidCharacterError(pub(super) InvalidCharacterErrorInner);

Expand Down
10 changes: 6 additions & 4 deletions base58/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#![allow(clippy::needless_question_mark)] // https://github.com/rust-bitcoin/rust-bitcoin/pull/2134
#![allow(clippy::manual_range_contains)] // More readable than clippy's format.
#![allow(clippy::incompatible_msrv)] // Has FPs and we're testing it which is more reliable anyway.
#![allow(clippy::uninlined_format_args)] // Allow `format!("{}", x)`instead of enforcing `format!("{x}")`

extern crate alloc;

Expand Down Expand Up @@ -113,7 +114,8 @@ pub fn decode(data: &str) -> Result<Vec<u8>, InvalidCharacterError> {
/// Decodes a base58check-encoded string into a byte vector verifying the checksum.
pub fn decode_check(data: &str) -> Result<Vec<u8>, Error> {
let mut ret: Vec<u8> = decode(data)?;
let (remaining, &data_check) = ret.split_last_chunk::<4>().ok_or(TooShortError { length: ret.len() })?;
let (remaining, &data_check) =
ret.split_last_chunk::<4>().ok_or(TooShortError { length: ret.len() })?;

let hash_check = *sha256d::Hash::hash(remaining).as_byte_array().sub_array::<0, 4>();

Expand Down Expand Up @@ -251,7 +253,7 @@ where
mod tests {
use alloc::vec;

use hex::test_hex_unwrap as hex;
use hex::FromHex as _;

use super::*;

Expand Down Expand Up @@ -280,7 +282,7 @@ mod tests {
assert_eq!(&res, exp);

// Addresses
let addr = hex!("00f8917303bfa8ef24f292e8fa1419b20460ba064d");
let addr = Vec::from_hex("00f8917303bfa8ef24f292e8fa1419b20460ba064d").unwrap();
assert_eq!(&encode_check(&addr[..]), "1PfJpZsjreyVrqeoAfabrRwwjQyoSQMmHH");
}

Expand All @@ -299,7 +301,7 @@ mod tests {
// Addresses
assert_eq!(
decode_check("1PfJpZsjreyVrqeoAfabrRwwjQyoSQMmHH").ok(),
Some(hex!("00f8917303bfa8ef24f292e8fa1419b20460ba064d"))
Some(Vec::from_hex("00f8917303bfa8ef24f292e8fa1419b20460ba064d").unwrap())
);
// Non Base58 char.
assert_eq!(decode("¢").unwrap_err(), InvalidCharacterError::new(194));
Expand Down
Loading
Loading