Generalize engine trait (#6591)
* move common forks and parameters to common params * port specs over to new format * fix RPC tests * parity-machine skeleton * remove block type * extract out ethereum-specific methods into EthereumMachine * beginning to integrate Machine into engines. dealing with stale transitions in Ethash * initial porting to machine * move block reward back into engine * abstract block reward logic * move last hash and DAO HF logic into machine * begin making engine function parameters generic * abstract epoch verifier and ethash block reward logic * instantiate special ethereummachine for ethash in spec * optional full verification in verify_block_family * re-instate tx_filter in a way that works for all engines * fix warnings * fix most tests, further generalize engine trait * uncomment nullengine, get ethcore tests compiling * fix warnings * update a bunch of specs * re-enable engine signer, validator set, and transition handler * migrate basic_authority engine * move last hashes into executedblock * port tendermint * make all ethcore tests pass * json-tests compilation * fix RPC tests: change in gas limit for new block changed PoW hash * fix minor grumbles * validate chainspecs * fix broken import * fix transaction verification for pre-homestead
This commit is contained in:
committed by
Gav Wood
parent
d8af9f4e7b
commit
bc167a211b
@@ -312,6 +312,23 @@ impl HeapSizeOf for Header {
|
||||
}
|
||||
}
|
||||
|
||||
impl ::parity_machine::Header for Header {
|
||||
fn bare_hash(&self) -> H256 { Header::bare_hash(self) }
|
||||
|
||||
fn hash(&self) -> H256 { Header::hash(self) }
|
||||
|
||||
fn seal(&self) -> &[Vec<u8>] { Header::seal(self) }
|
||||
|
||||
fn author(&self) -> &Address { Header::author(self) }
|
||||
|
||||
fn number(&self) -> BlockNumber { Header::number(self) }
|
||||
}
|
||||
|
||||
impl ::parity_machine::ScoredHeader for Header {
|
||||
fn score(&self) -> &U256 { self.difficulty() }
|
||||
fn set_score(&mut self, score: U256) { self.set_difficulty(score) }
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use rustc_hex::FromHex;
|
||||
|
||||
Reference in New Issue
Block a user