Unit tests for tracing reward added
This commit is contained in:
@@ -142,7 +142,8 @@ mod tests {
|
||||
use util::Address;
|
||||
use util::sha3::Hashable;
|
||||
use util::bloom::Bloomable;
|
||||
use trace::trace::{Action, Call, Res, Create, CreateResult, Suicide};
|
||||
use trace::trace::{Action, Call, Res, Create, CreateResult, Suicide, Reward};
|
||||
use types::trace_types::trace::RewardType;
|
||||
use trace::flat::FlatTrace;
|
||||
use trace::{Filter, AddressesFilter, TraceError};
|
||||
use evm::CallType;
|
||||
@@ -345,5 +346,24 @@ mod tests {
|
||||
assert!(f4.matches(&trace));
|
||||
assert!(f5.matches(&trace));
|
||||
assert!(!f6.matches(&trace));
|
||||
|
||||
let trace = FlatTrace {
|
||||
action: Action::Reward(Reward {
|
||||
miner: 2.into(),
|
||||
value: 100.into(),
|
||||
reward_type: RewardType::Block,
|
||||
}),
|
||||
result: Res::None,
|
||||
trace_address: vec![].into_iter().collect(),
|
||||
subtraces: 0
|
||||
};
|
||||
|
||||
assert!(f0.matches(&trace));
|
||||
assert!(f1.matches(&trace));
|
||||
assert!(f2.matches(&trace));
|
||||
assert!(f3.matches(&trace));
|
||||
assert!(f4.matches(&trace));
|
||||
assert!(f5.matches(&trace));
|
||||
assert!(!f6.matches(&trace));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -162,8 +162,9 @@ impl Into<Vec<FlatTransactionTraces>> for FlatBlockTraces {
|
||||
mod tests {
|
||||
use rlp::*;
|
||||
use super::{FlatBlockTraces, FlatTransactionTraces, FlatTrace};
|
||||
use trace::trace::{Action, Res, CallResult, Call, Suicide};
|
||||
use trace::trace::{Action, Res, CallResult, Call, Suicide, Reward};
|
||||
use evm::CallType;
|
||||
use types::trace_types::trace::RewardType;
|
||||
|
||||
#[test]
|
||||
fn encode_flat_transaction_traces() {
|
||||
@@ -238,9 +239,32 @@ mod tests {
|
||||
subtraces: 0,
|
||||
};
|
||||
|
||||
let flat_trace3 = FlatTrace {
|
||||
action: Action::Reward(Reward {
|
||||
miner: "412fda7643b37d436cb40628f6dbbb80a07267ed".parse().unwrap(),
|
||||
value: 10.into(),
|
||||
reward_type: RewardType::Uncle,
|
||||
}),
|
||||
result: Res::None,
|
||||
trace_address: vec![0].into_iter().collect(),
|
||||
subtraces: 0,
|
||||
};
|
||||
|
||||
let flat_trace4 = FlatTrace {
|
||||
action: Action::Reward(Reward {
|
||||
miner: "412fda7643b37d436cb40628f6dbbb80a07267ed".parse().unwrap(),
|
||||
value: 10.into(),
|
||||
reward_type: RewardType::Block,
|
||||
}),
|
||||
result: Res::None,
|
||||
trace_address: vec![0].into_iter().collect(),
|
||||
subtraces: 0,
|
||||
};
|
||||
|
||||
let block_traces = FlatBlockTraces(vec![
|
||||
FlatTransactionTraces(vec![flat_trace]),
|
||||
FlatTransactionTraces(vec![flat_trace1, flat_trace2])
|
||||
FlatTransactionTraces(vec![flat_trace1, flat_trace2]),
|
||||
FlatTransactionTraces(vec![flat_trace3, flat_trace4])
|
||||
]);
|
||||
|
||||
let encoded = ::rlp::encode(&block_traces);
|
||||
|
||||
@@ -273,7 +273,7 @@ impl Reward {
|
||||
|
||||
impl Encodable for Reward {
|
||||
fn rlp_append(&self, s: &mut RlpStream) {
|
||||
s.begin_list(2);
|
||||
s.begin_list(3);
|
||||
s.append(&self.miner);
|
||||
s.append(&self.value);
|
||||
s.append(&self.reward_type);
|
||||
|
||||
Reference in New Issue
Block a user