EIP-98: Optional transaction state root (#4296)

* EIP98: Optional receipt state root

* Use if-else

* Fixing tests
This commit is contained in:
Arkadiy Paronyan
2017-01-25 20:22:48 +01:00
committed by Gav Wood
parent f5a4b55dae
commit c012dfc3ef
22 changed files with 99 additions and 42 deletions

View File

@@ -53,6 +53,8 @@ pub struct CommonParams {
pub min_gas_limit: U256,
/// Fork block to check.
pub fork_block: Option<(BlockNumber, H256)>,
/// Number of first block where EIP-98 rules begin.
pub eip98_transition: BlockNumber,
}
impl From<ethjson::spec::Params> for CommonParams {
@@ -65,6 +67,7 @@ impl From<ethjson::spec::Params> for CommonParams {
subprotocol_name: p.subprotocol_name.unwrap_or_else(|| "eth".to_owned()),
min_gas_limit: p.min_gas_limit.into(),
fork_block: if let (Some(n), Some(h)) = (p.fork_block, p.fork_hash) { Some((n.into(), h.into())) } else { None },
eip98_transition: p.eip98_transition.map_or(0, Into::into),
}
}
}