chore: fix lint warnings and outdated tests (#475)

This commit is contained in:
Santiago Carmuega 2024-07-01 11:34:31 -03:00 committed by GitHub
parent acf18f202b
commit 3f0137ae02
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 33 additions and 23 deletions

View file

@ -208,4 +208,4 @@ pub enum Error {
pub enum Response<Reject> {
Accepted,
Rejected(Reject),
}
}

View file

@ -38,15 +38,20 @@ where
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> {
if let Err(_) = d.array() {
if d.array().is_err() {
// if the first element isn't an array, it's a plutus error
// the node sends string data
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));
}
let label = d.u16()?;
match label {
0 => {
let tx = d.decode()?;
@ -55,8 +60,11 @@ impl<'b, Tx: Decode<'b, ()>, Reject: Decode<'b, ()>> Decode<'b, ()> for Message<
1 => Ok(Message::AcceptTx),
2 => {
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))
}
3 => Ok(Message::Done),

View file

@ -81,18 +81,16 @@ impl<'b> Decode<'b, ()> for Message {
4 => Ok(Message::AwaitAcquire),
5 => Ok(Message::RequestNextTx),
6 => match d.datatype() {
Ok(datatype) => {
match datatype {
pallas_codec::minicbor::data::Type::Array
| pallas_codec::minicbor::data::Type::ArrayIndef => {
let tx = d.decode()?;
Ok(Message::ResponseNextTx(Some(tx)))
}
_ => Ok(Message::ResponseNextTx(None))
Ok(datatype) => match datatype {
pallas_codec::minicbor::data::Type::Array
| pallas_codec::minicbor::data::Type::ArrayIndef => {
let tx = d.decode()?;
Ok(Message::ResponseNextTx(Some(tx)))
}
_ => Ok(Message::ResponseNextTx(None)),
},
Err(_) => Ok(Message::ResponseNextTx(None))
}
Err(_) => Ok(Message::ResponseNextTx(None)),
},
7 => {
let id = d.decode()?;
Ok(Message::RequestHasTx(id))