chore: fix lint warnings and outdated tests (#475)
This commit is contained in:
parent
acf18f202b
commit
3f0137ae02
6 changed files with 33 additions and 23 deletions
|
|
@ -102,7 +102,10 @@ fn iterate_till_point(
|
||||||
if block.hash().as_ref().eq(block_hash) && block.slot() == slot {
|
if block.hash().as_ref().eq(block_hash) && block.slot() == slot {
|
||||||
Ok(iter)
|
Ok(iter)
|
||||||
} else {
|
} else {
|
||||||
Err(Error::CannotFindBlock(Point::Specific(slot, block_hash.to_vec())).into())
|
Err(Error::CannotFindBlock(Point::Specific(
|
||||||
|
slot,
|
||||||
|
block_hash.to_vec(),
|
||||||
|
)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(Err(_)) | None => Ok(iter),
|
Some(Err(_)) | None => Ok(iter),
|
||||||
|
|
@ -231,7 +234,7 @@ pub fn read_blocks_from_point(
|
||||||
if block.slot() == 0 && block.number() == 0 {
|
if block.slot() == 0 && block.number() == 0 {
|
||||||
Ok(Box::new(iter))
|
Ok(Box::new(iter))
|
||||||
} else {
|
} else {
|
||||||
Err(Error::OriginMissing.into())
|
Err(Error::OriginMissing)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(Err(_)) | None => Ok(Box::new(iter)),
|
Some(Err(_)) | None => Ok(Box::new(iter)),
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,7 @@ pub struct Reader {
|
||||||
impl Reader {
|
impl Reader {
|
||||||
fn read_version(inner: &mut BufReader<File>) -> Result<u8, Error> {
|
fn read_version(inner: &mut BufReader<File>) -> Result<u8, Error> {
|
||||||
let mut buf = [0u8; 1];
|
let mut buf = [0u8; 1];
|
||||||
inner
|
inner.read_exact(&mut buf).map_err(Error::VersionMissing)?;
|
||||||
.read_exact(&mut buf)
|
|
||||||
.map_err(|e| Error::VersionMissing(e))?;
|
|
||||||
let version = buf[0];
|
let version = buf[0];
|
||||||
|
|
||||||
Ok(version)
|
Ok(version)
|
||||||
|
|
|
||||||
|
|
@ -156,12 +156,15 @@ mod tests {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn can_parse_inconsistent_entries() {
|
fn errors_on_inconsistent_entries() {
|
||||||
let reader =
|
let reader =
|
||||||
super::read_entries(Path::new("../test_data/inconsistent_indexes"), "10366").unwrap();
|
super::read_entries(Path::new("../test_data/inconsistent_indexes"), "10366").unwrap();
|
||||||
|
|
||||||
for entry in reader {
|
for entry in reader {
|
||||||
entry.unwrap();
|
match entry {
|
||||||
|
Ok(_) => continue,
|
||||||
|
Err(x) => assert!(matches!(x, super::Error::InconsistentState)),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -208,4 +208,4 @@ pub enum Error {
|
||||||
pub enum Response<Reject> {
|
pub enum Response<Reject> {
|
||||||
Accepted,
|
Accepted,
|
||||||
Rejected(Reject),
|
Rejected(Reject),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,15 +38,20 @@ where
|
||||||
|
|
||||||
impl<'b, Tx: Decode<'b, ()>, Reject: Decode<'b, ()>> Decode<'b, ()> for Message<Tx, Reject> {
|
impl<'b, Tx: Decode<'b, ()>, Reject: Decode<'b, ()>> Decode<'b, ()> for Message<Tx, Reject> {
|
||||||
fn decode(d: &mut Decoder<'b>, _ctx: &mut ()) -> Result<Self, decode::Error> {
|
fn decode(d: &mut Decoder<'b>, _ctx: &mut ()) -> Result<Self, decode::Error> {
|
||||||
if let Err(_) = d.array() {
|
if d.array().is_err() {
|
||||||
// if the first element isn't an array, it's a plutus error
|
// if the first element isn't an array, it's a plutus error
|
||||||
// the node sends string data
|
// the node sends string data
|
||||||
let rejection = d.decode()?;
|
let rejection = d.decode()?;
|
||||||
// skip this data via setting the decoder position, because it doesn't recognize it with rejection decode
|
|
||||||
let _ = d.set_position(d.input().len());
|
// skip this data via setting the decoder position, because it doesn't recognize
|
||||||
|
// it with rejection decode
|
||||||
|
d.set_position(d.input().len());
|
||||||
|
|
||||||
return Ok(Message::RejectTx(rejection));
|
return Ok(Message::RejectTx(rejection));
|
||||||
}
|
}
|
||||||
|
|
||||||
let label = d.u16()?;
|
let label = d.u16()?;
|
||||||
|
|
||||||
match label {
|
match label {
|
||||||
0 => {
|
0 => {
|
||||||
let tx = d.decode()?;
|
let tx = d.decode()?;
|
||||||
|
|
@ -55,8 +60,11 @@ impl<'b, Tx: Decode<'b, ()>, Reject: Decode<'b, ()>> Decode<'b, ()> for Message<
|
||||||
1 => Ok(Message::AcceptTx),
|
1 => Ok(Message::AcceptTx),
|
||||||
2 => {
|
2 => {
|
||||||
let rejection = d.decode()?;
|
let rejection = d.decode()?;
|
||||||
// skip this data via setting the decoder position, because it doesn't recognize it with rejection decode
|
|
||||||
let _ = d.set_position(d.input().len());
|
// skip this data via setting the decoder position, because it doesn't recognize
|
||||||
|
// it with rejection decode
|
||||||
|
d.set_position(d.input().len());
|
||||||
|
|
||||||
Ok(Message::RejectTx(rejection))
|
Ok(Message::RejectTx(rejection))
|
||||||
}
|
}
|
||||||
3 => Ok(Message::Done),
|
3 => Ok(Message::Done),
|
||||||
|
|
|
||||||
|
|
@ -81,18 +81,16 @@ impl<'b> Decode<'b, ()> for Message {
|
||||||
4 => Ok(Message::AwaitAcquire),
|
4 => Ok(Message::AwaitAcquire),
|
||||||
5 => Ok(Message::RequestNextTx),
|
5 => Ok(Message::RequestNextTx),
|
||||||
6 => match d.datatype() {
|
6 => match d.datatype() {
|
||||||
Ok(datatype) => {
|
Ok(datatype) => match datatype {
|
||||||
match datatype {
|
pallas_codec::minicbor::data::Type::Array
|
||||||
pallas_codec::minicbor::data::Type::Array
|
| pallas_codec::minicbor::data::Type::ArrayIndef => {
|
||||||
| pallas_codec::minicbor::data::Type::ArrayIndef => {
|
let tx = d.decode()?;
|
||||||
let tx = d.decode()?;
|
Ok(Message::ResponseNextTx(Some(tx)))
|
||||||
Ok(Message::ResponseNextTx(Some(tx)))
|
|
||||||
}
|
|
||||||
_ => Ok(Message::ResponseNextTx(None))
|
|
||||||
}
|
}
|
||||||
|
_ => Ok(Message::ResponseNextTx(None)),
|
||||||
},
|
},
|
||||||
Err(_) => Ok(Message::ResponseNextTx(None))
|
Err(_) => Ok(Message::ResponseNextTx(None)),
|
||||||
}
|
},
|
||||||
7 => {
|
7 => {
|
||||||
let id = d.decode()?;
|
let id = d.decode()?;
|
||||||
Ok(Message::RequestHasTx(id))
|
Ok(Message::RequestHasTx(id))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue