Update SF to latest spec (#1386)
* Introduce whitelist for softfork * Use extradata for fork id. * Fix condition.
This commit is contained in:
parent
11314a660d
commit
353b9e91e6
@ -226,6 +226,11 @@ impl State {
|
||||
|
||||
// dao attack soft fork
|
||||
if engine.schedule(&env_info).reject_dao_transactions {
|
||||
let whitelisted = if let Action::Call(to) = t.action {
|
||||
to == Address::from("Da4a4626d3E16e094De3225A751aAb7128e96526") ||
|
||||
to == Address::from("2ba9D006C1D72E67A70b5526Fc6b4b0C0fd6D334")
|
||||
} else { false };
|
||||
if !whitelisted {
|
||||
// collect all the addresses which have changed.
|
||||
let addresses = self.cache.borrow().iter().map(|(addr, _)| addr.clone()).collect::<Vec<_>>();
|
||||
|
||||
@ -239,6 +244,7 @@ impl State {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO uncomment once to_pod() works correctly.
|
||||
// trace!("Applied transaction. Diff:\n{}\n", state_diff::diff_pod(&old, &self.to_pod()));
|
||||
|
@ -121,12 +121,16 @@ impl Configuration {
|
||||
}
|
||||
|
||||
pub fn extra_data(&self) -> Bytes {
|
||||
if !self.args.flag_dont_help_rescue_dao {
|
||||
(b"rescuedao"[..]).to_owned()
|
||||
} else {
|
||||
match self.args.flag_extradata.as_ref().or(self.args.flag_extra_data.as_ref()) {
|
||||
Some(ref x) if x.len() <= 32 => x.as_bytes().to_owned(),
|
||||
None => version_data(),
|
||||
Some(ref x) => { die!("{}: Extra data must be at most 32 characters.", x); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn spec(&self) -> Spec {
|
||||
match self.chain().as_str() {
|
||||
|
Loading…
Reference in New Issue
Block a user