You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -176,6 +203,10 @@ impl Encodable for Transaction {
176
203
177
204
implDecodableforTransaction{
178
205
fndecode(rlp:&Rlp) -> Result<Self,DecoderError>{
206
+
if rlp.item_count()? != 9{
207
+
returnErr(DecoderError::RlpIncorrectListLen)
208
+
}
209
+
179
210
let v = rlp.val_at(6)?;
180
211
let r = rlp.val_at(7)?;
181
212
let s = rlp.val_at(8)?;
@@ -193,3 +224,16 @@ impl Decodable for Transaction {
193
224
})
194
225
}
195
226
}
227
+
228
+
#[cfg(test)]
229
+
mod tests {
230
+
usesuper::*;
231
+
use hex_literal::hex;
232
+
233
+
#[test]
234
+
fncan_decode_raw_transaction(){
235
+
let bytes = hex!("f901e48080831000008080b90196608060405234801561001057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fc68045c3c562488255b55aa2c4c7849de001859ff0d8a36a75c2d5ed80100fb660405180806020018281038252600d8152602001807f48656c6c6f2c20776f726c64210000000000000000000000000000000000000081525060200191505060405180910390a160cf806100c76000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80638da5cb5b14602d575b600080fd5b60336075565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea265627a7a72315820fae816ad954005c42bea7bc7cb5b19f7fd5d3a250715ca2023275c9ca7ce644064736f6c634300050f003278a04cab43609092a99cf095d458b61b47189d1bbab64baed10a0fd7b7d2de2eb960a011ab1bcda76dfed5e733219beb83789f9887b2a7b2e61759c7c90f7d40403201");
0 commit comments