updated chain module to use new reader
This commit is contained in:
parent
77204cb41c
commit
8d580471fa
|
@ -1,3 +1,4 @@
|
|||
use std::io;
|
||||
use hex::FromHex;
|
||||
use hash::H256;
|
||||
use ser::{
|
||||
|
@ -23,7 +24,7 @@ impl Serializable for Block {
|
|||
}
|
||||
|
||||
impl Deserializable for Block {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = Block {
|
||||
block_header: try!(reader.read()),
|
||||
transactions: try!(reader.read_list()),
|
||||
|
@ -35,7 +36,7 @@ impl Deserializable for Block {
|
|||
|
||||
impl From<&'static str> for Block {
|
||||
fn from(s: &'static str) -> Self {
|
||||
deserialize(&s.from_hex().unwrap()).unwrap()
|
||||
deserialize(&s.from_hex().unwrap() as &[u8]).unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use std::fmt;
|
||||
use std::{fmt, io};
|
||||
use ser::{
|
||||
Deserializable, Reader, Error as ReaderError,
|
||||
Serializable, Stream, serialize
|
||||
|
@ -48,7 +48,7 @@ impl Serializable for BlockHeader {
|
|||
}
|
||||
|
||||
impl Deserializable for BlockHeader {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let block_header = BlockHeader {
|
||||
version: try!(reader.read()),
|
||||
previous_header_hash: try!(reader.read()),
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
//! Bitcoin trainsaction.
|
||||
//! https://en.bitcoin.it/wiki/Protocol_documentation#tx
|
||||
|
||||
use std::io;
|
||||
use heapsize::HeapSizeOf;
|
||||
use hex::FromHex;
|
||||
use bytes::Bytes;
|
||||
|
@ -51,7 +51,7 @@ impl Serializable for OutPoint {
|
|||
}
|
||||
|
||||
impl Deserializable for OutPoint {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = OutPoint {
|
||||
hash: try!(reader.read()),
|
||||
index: try!(reader.read()),
|
||||
|
@ -95,7 +95,7 @@ impl Serializable for TransactionInput {
|
|||
}
|
||||
|
||||
impl Deserializable for TransactionInput {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = TransactionInput {
|
||||
previous_output: try!(reader.read()),
|
||||
script_sig: try!(reader.read()),
|
||||
|
@ -147,7 +147,7 @@ impl Serializable for TransactionOutput {
|
|||
}
|
||||
|
||||
impl Deserializable for TransactionOutput {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = TransactionOutput {
|
||||
value: try!(reader.read()),
|
||||
script_pubkey: try!(reader.read()),
|
||||
|
@ -209,7 +209,7 @@ impl Serializable for Transaction {
|
|||
}
|
||||
|
||||
impl Deserializable for Transaction {
|
||||
fn deserialize(reader: &mut Reader) -> Result<Self, ReaderError> where Self: Sized {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = Transaction {
|
||||
version: try!(reader.read()),
|
||||
inputs: try!(reader.read_list()),
|
||||
|
@ -223,7 +223,7 @@ impl Deserializable for Transaction {
|
|||
|
||||
impl From<&'static str> for Transaction {
|
||||
fn from(s: &'static str) -> Self {
|
||||
deserialize(&s.from_hex().unwrap()).unwrap()
|
||||
deserialize(&s.from_hex().unwrap() as &[u8]).unwrap()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ impl Serializable for CompactInteger {
|
|||
}
|
||||
|
||||
impl Deserializable for CompactInteger {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, ReaderError> where T: io::Read {
|
||||
let result = match try!(reader.read::<u8>()) {
|
||||
i @ 0...0xfc => i.into(),
|
||||
0xfd => try!(reader.read::<u16>()).into(),
|
||||
|
|
|
@ -91,7 +91,7 @@ impl Serializable for u64 {
|
|||
|
||||
impl Deserializable for bool {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
let value = try!(reader.read_u8());
|
||||
match value {
|
||||
0 => Ok(false),
|
||||
|
@ -103,42 +103,42 @@ impl Deserializable for bool {
|
|||
|
||||
impl Deserializable for i32 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_i32::<LittleEndian>()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Deserializable for i64 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_i64::<LittleEndian>()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Deserializable for u8 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_u8()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Deserializable for u16 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_u16::<LittleEndian>()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Deserializable for u32 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_u32::<LittleEndian>()))
|
||||
}
|
||||
}
|
||||
|
||||
impl Deserializable for u64 {
|
||||
#[inline]
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
Ok(try!(reader.read_u64::<LittleEndian>()))
|
||||
}
|
||||
}
|
||||
|
@ -159,7 +159,7 @@ impl Serializable for String {
|
|||
}
|
||||
|
||||
impl Deserializable for String {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
let bytes: Bytes = try!(reader.read());
|
||||
Ok(String::from_utf8_lossy(&bytes).into_owned())
|
||||
}
|
||||
|
@ -179,7 +179,7 @@ macro_rules! impl_ser_for_hash {
|
|||
}
|
||||
|
||||
impl Deserializable for $name {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
let mut result = Self::default();
|
||||
try!(reader.read_slice(&mut *result));
|
||||
Ok(result)
|
||||
|
@ -211,7 +211,7 @@ impl Serializable for Bytes {
|
|||
}
|
||||
|
||||
impl Deserializable for Bytes {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where Self: Sized, T: io::Read {
|
||||
fn deserialize<T>(reader: &mut Reader<T>) -> Result<Self, Error> where T: io::Read {
|
||||
let len = try!(reader.read::<CompactInteger>());
|
||||
let mut bytes = Bytes::new_with_len(len.into());
|
||||
try!(reader.read_slice(&mut bytes));
|
||||
|
|
Loading…
Reference in New Issue