diff --git a/ethcore/res/authority_round.json b/ethcore/res/authority_round.json
new file mode 100644
index 000000000..bff2c9724
--- /dev/null
+++ b/ethcore/res/authority_round.json
@@ -0,0 +1,39 @@
+{
+ "name": "TestAuthorityRound",
+ "engine": {
+ "BasicAuthority": {
+ "params": {
+ "gasLimitBoundDivisor": "0x0400",
+ "stepDuration": "0x0d",
+ "authorities" : ["0x9cce34f7ab185c7aba1b7c8140d620b4bda941d6"]
+ }
+ }
+ },
+ "params": {
+ "accountStartNonce": "0x0100000",
+ "maximumExtraDataSize": "0x20",
+ "minGasLimit": "0x1388",
+ "networkID" : "0x69"
+ },
+ "genesis": {
+ "seal": {
+ "generic": {
+ "fields": 1,
+ "rlp": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa"
+ }
+ },
+ "difficulty": "0x20000",
+ "author": "0x0000000000000000000000000000000000000000",
+ "timestamp": "0x00",
+ "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "extraData": "0x",
+ "gasLimit": "0x2fefd8"
+ },
+ "accounts": {
+ "0000000000000000000000000000000000000001": { "balance": "1", "nonce": "1048576", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
+ "0000000000000000000000000000000000000002": { "balance": "1", "nonce": "1048576", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
+ "0000000000000000000000000000000000000003": { "balance": "1", "nonce": "1048576", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
+ "0000000000000000000000000000000000000004": { "balance": "1", "nonce": "1048576", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
+ "9cce34f7ab185c7aba1b7c8140d620b4bda941d6": { "balance": "1606938044258990275541962092341162602522202993782792835301376", "nonce": "1048576" }
+ }
+}
diff --git a/ethcore/res/test_authority.json b/ethcore/res/basic_authority.json
similarity index 98%
rename from ethcore/res/test_authority.json
rename to ethcore/res/basic_authority.json
index 1ab482863..51276d487 100644
--- a/ethcore/res/test_authority.json
+++ b/ethcore/res/basic_authority.json
@@ -1,5 +1,5 @@
{
- "name": "TestAuthority",
+ "name": "TestBasicAuthority",
"engine": {
"BasicAuthority": {
"params": {
diff --git a/ethcore/src/engines/authority_round.rs b/ethcore/src/engines/authority_round.rs
index 1acc87068..dedc2ae3a 100644
--- a/ethcore/src/engines/authority_round.rs
+++ b/ethcore/src/engines/authority_round.rs
@@ -240,7 +240,7 @@ impl Header {
#[cfg(test)]
mod tests {
use common::*;
- use rlp::{UntrustedRlp, View, encode, decode};
+ use rlp::encode;
use block::*;
use tests::helpers::*;
use account_provider::AccountProvider;
diff --git a/ethcore/src/engines/basic_authority.rs b/ethcore/src/engines/basic_authority.rs
index 18dfeec46..fad06bb3c 100644
--- a/ethcore/src/engines/basic_authority.rs
+++ b/ethcore/src/engines/basic_authority.rs
@@ -171,13 +171,6 @@ impl Engine for BasicAuthority {
}
}
-impl Header {
- /// Get the none field of the header.
- pub fn signature(&self) -> H520 {
- ::rlp::decode(&self.seal()[0])
- }
-}
-
#[cfg(test)]
mod tests {
use common::*;
diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs
index 58317e97b..a94761678 100644
--- a/ethcore/src/spec/spec.rs
+++ b/ethcore/src/spec/spec.rs
@@ -17,7 +17,7 @@
//! Parameters for a block chain.
use common::*;
-use engines::{Engine, NullEngine, InstantSeal, BasicAuthority};
+use engines::{Engine, NullEngine, InstantSeal, BasicAuthority, AuthorityRound};
use pod_state::*;
use account_db::*;
use super::genesis::Genesis;
@@ -138,6 +138,7 @@ impl Spec {
ethjson::spec::Engine::InstantSeal => Arc::new(InstantSeal::new(params, builtins)),
ethjson::spec::Engine::Ethash(ethash) => Arc::new(ethereum::Ethash::new(params, From::from(ethash.params), builtins)),
ethjson::spec::Engine::BasicAuthority(basic_authority) => Arc::new(BasicAuthority::new(params, From::from(basic_authority.params), builtins)),
+ ethjson::spec::Engine::AuthorityRound(authority_round) => AuthorityRound::new(params, From::from(authority_round.params), builtins),
}
}
diff --git a/json/src/spec/authority_round.rs b/json/src/spec/authority_round.rs
new file mode 100644
index 000000000..17d5f74cb
--- /dev/null
+++ b/json/src/spec/authority_round.rs
@@ -0,0 +1,59 @@
+// Copyright 2015, 2016 Ethcore (UK) Ltd.
+// This file is part of Parity.
+
+// Parity is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Parity is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Parity. If not, see