Skip to content

Commit 7c0c7d6

Browse files
committed
bump bitcoin_slices 0.9.2 -> 0.10.0
1 parent ce8625d commit 7c0c7d6

File tree

3 files changed

+24
-32
lines changed

3 files changed

+24
-32
lines changed

Cargo.lock

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ clap = { workspace = true, optional = true, features = ["derive"] }
2121
log = { workspace = true }
2222
glob = "0.3.0"
2323
fxhash = "0.2.1"
24-
bitcoin_slices = { version = "0.9.0", features = ["sha2", "bitcoin"] }
24+
bitcoin_slices = { version = "0.10.0", features = ["sha2", "bitcoin"] }
2525

2626
rand = { version = "0.8.4", optional = true }
2727
rocksdb = { version = "0.22.0", optional = true, default-features = false }

lib/src/bsl.rs

+21-29
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
use bitcoin_slices::bsl::parse_len;
1+
use bitcoin_slices::bsl::scan_len;
2+
use bitcoin_slices::number::{read_u32, read_u8};
23
use bitcoin_slices::{bsl, Parse, ParseResult};
3-
use bitcoin_slices::{number::U32, number::U8, read_slice, SResult, Visit, Visitor};
4+
use bitcoin_slices::{SResult, Visit, Visitor};
45

56
struct BlockExtra<'a> {
67
slice: &'a [u8],
@@ -14,67 +15,58 @@ impl<'a> AsRef<[u8]> for BlockExtra<'a> {
1415

1516
impl<'a> Visit<'a> for BlockExtra<'a> {
1617
fn visit<'b, V: Visitor>(slice: &'a [u8], visit: &'b mut V) -> SResult<'a, Self> {
17-
let version = U8::parse(slice)?;
18-
let version_int: u8 = version.parsed().into();
19-
dbg!(version_int);
18+
let version = read_u8(slice)?;
2019
let mut consumed = 1;
2120

22-
let block_size = if version_int == 0 {
21+
let block_size = if version == 0 {
2322
let block = bsl::Block::visit(&slice[consumed..], visit)?;
2423
consumed += block.consumed();
2524
None
26-
} else if version_int == 1 {
27-
let block_size = U32::parse(&slice[consumed..])?;
25+
} else if version == 1 {
26+
let block_size = read_u32(&slice[consumed..])?;
2827
consumed += 4;
2928
let block = bsl::Block::visit(&slice[consumed..], visit)?;
3029
consumed += block.consumed();
3130
Some(block_size)
3231
} else {
3332
panic!("invalid version")
3433
};
35-
dbg!(consumed);
3634

37-
let block_hash = read_slice(&slice[consumed..], 32)?;
35+
let _block_hash = slice
36+
.get(consumed..consumed + 32)
37+
.ok_or(bitcoin_slices::Error::MoreBytesNeeded)?;
3838
consumed += 32;
3939

4040
if block_size.is_none() {
41-
let _ = U32::parse(block_hash.remaining())?;
41+
let _ = read_u32(&slice[consumed..])?;
4242
consumed += 4;
4343
}
4444

45-
dbg!(consumed);
46-
let next_len = parse_len(&slice[consumed..])?;
47-
consumed += next_len.consumed();
45+
let next_len = scan_len(&slice[consumed..], &mut consumed)? as usize;
46+
consumed += 32 * next_len;
4847

49-
for _ in 0..next_len.n() {
50-
let _ = read_slice(&slice[consumed..], 32)?;
51-
consumed += 32;
52-
}
53-
54-
let _ = U32::parse(&slice[consumed..])?;
48+
let _ = read_u32(&slice[consumed..])?;
5549
consumed += 4;
5650

57-
let map_len = U32::parse(&slice[consumed..])?;
51+
let map_len = read_u32(&slice[consumed..])?;
5852
consumed += 4;
5953

60-
for _ in 0u32..map_len.parsed().into() {
54+
for _ in 0u32..map_len {
6155
// add visit extra call
6256
let outpoint = bsl::OutPoint::parse(&slice[consumed..])?;
6357
consumed += outpoint.consumed();
6458
let txout = bsl::TxOut::parse(&slice[consumed..])?;
6559
consumed += txout.consumed();
6660
}
67-
let _ = U32::parse(&slice[consumed..])?;
61+
let _ = read_u32(&slice[consumed..])?;
6862
consumed += 4;
69-
let _ = U32::parse(&slice[consumed..])?;
63+
let _ = read_u32(&slice[consumed..])?;
7064
consumed += 4;
71-
let txids_len = U32::parse(&slice[consumed..])?;
65+
let txids_len = read_u32(&slice[consumed..])? as usize;
7266
consumed += 4;
7367

74-
for _ in 0u32..txids_len.parsed().into() {
75-
let _ = read_slice(&slice[consumed..], 32)?;
76-
consumed += 32;
77-
}
68+
consumed += 32 * txids_len;
69+
7870
let (slice, remaining) = slice.split_at(consumed);
7971
let block_extra = BlockExtra { slice };
8072
Ok(ParseResult::new(remaining, block_extra))

0 commit comments

Comments
 (0)