mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 04:01:10 +00:00
committed by
Bastian Köcher
parent
944859319e
commit
a7e7c895f6
@@ -19,100 +19,100 @@ bridge-node-runtime = { version = "0.1.0", path = "../runtime" }
|
|||||||
sp-bridge-eth-poa = { version = "0.1.0", path = "../../../primitives/ethereum-poa" }
|
sp-bridge-eth-poa = { version = "0.1.0", path = "../../../primitives/ethereum-poa" }
|
||||||
|
|
||||||
[dependencies.sc-cli]
|
[dependencies.sc-cli]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-rpc]
|
[dependencies.sc-rpc]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-core]
|
[dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-executor]
|
[dependencies.sc-executor]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-service]
|
[dependencies.sc-service]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-inherents]
|
[dependencies.sp-inherents]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-transaction-pool]
|
[dependencies.sc-transaction-pool]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-transaction-pool]
|
[dependencies.sp-transaction-pool]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-network]
|
[dependencies.sc-network]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-consensus-aura]
|
[dependencies.sc-consensus-aura]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-consensus-aura]
|
[dependencies.sp-consensus-aura]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-consensus]
|
[dependencies.sp-consensus]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.grandpa]
|
[dependencies.grandpa]
|
||||||
package = "sc-finality-grandpa"
|
package = "sc-finality-grandpa"
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.grandpa-primitives]
|
[dependencies.grandpa-primitives]
|
||||||
package = "sp-finality-grandpa"
|
package = "sp-finality-grandpa"
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
|
[dependencies.sc-consensus]
|
||||||
|
version = "0.8.0-rc1"
|
||||||
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-client-api]
|
[dependencies.sc-client-api]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
|
||||||
|
|
||||||
[dependencies.sc-client]
|
|
||||||
version = "0.8.0-alpha.6"
|
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sc-basic-authorship]
|
[dependencies.sc-basic-authorship]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.substrate-frame-rpc-system]
|
[dependencies.substrate-frame-rpc-system]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
@@ -120,6 +120,6 @@ vergen = "3.1.0"
|
|||||||
|
|
||||||
[build-dependencies.build-script-utils]
|
[build-dependencies.build-script-utils]
|
||||||
package = "substrate-build-script-utils"
|
package = "substrate-build-script-utils"
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|||||||
@@ -17,9 +17,9 @@
|
|||||||
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
|
//! Service and ServiceFactory implementation. Specialized wrapper over substrate service.
|
||||||
|
|
||||||
use bridge_node_runtime::{self, opaque::Block, RuntimeApi};
|
use bridge_node_runtime::{self, opaque::Block, RuntimeApi};
|
||||||
use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider, StorageAndProofProvider};
|
use grandpa::{self, FinalityProofProvider as GrandpaFinalityProofProvider, SharedVoterState, StorageAndProofProvider};
|
||||||
use sc_client::LongestChain;
|
|
||||||
use sc_client_api::ExecutorProvider;
|
use sc_client_api::ExecutorProvider;
|
||||||
|
use sc_consensus::LongestChain;
|
||||||
use sc_executor::native_executor_instance;
|
use sc_executor::native_executor_instance;
|
||||||
pub use sc_executor::NativeExecutor;
|
pub use sc_executor::NativeExecutor;
|
||||||
use sc_service::{error::Error as ServiceError, AbstractService, Configuration, ServiceBuilder};
|
use sc_service::{error::Error as ServiceError, AbstractService, Configuration, ServiceBuilder};
|
||||||
@@ -51,7 +51,7 @@ macro_rules! new_full_start {
|
|||||||
bridge_node_runtime::RuntimeApi,
|
bridge_node_runtime::RuntimeApi,
|
||||||
crate::service::Executor,
|
crate::service::Executor,
|
||||||
>($config)?
|
>($config)?
|
||||||
.with_select_chain(|_config, backend| Ok(sc_client::LongestChain::new(backend.clone())))?
|
.with_select_chain(|_config, backend| Ok(sc_consensus::LongestChain::new(backend.clone())))?
|
||||||
.with_transaction_pool(|config, client, _fetcher, prometheus_registry| {
|
.with_transaction_pool(|config, client, _fetcher, prometheus_registry| {
|
||||||
let pool_api = sc_transaction_pool::FullChainApi::new(client.clone());
|
let pool_api = sc_transaction_pool::FullChainApi::new(client.clone());
|
||||||
Ok(sc_transaction_pool::BasicPool::new(
|
Ok(sc_transaction_pool::BasicPool::new(
|
||||||
@@ -60,32 +60,36 @@ macro_rules! new_full_start {
|
|||||||
prometheus_registry,
|
prometheus_registry,
|
||||||
))
|
))
|
||||||
})?
|
})?
|
||||||
.with_import_queue(|_config, client, mut select_chain, _transaction_pool| {
|
.with_import_queue(
|
||||||
let select_chain = select_chain
|
|_config, client, mut select_chain, _transaction_pool, spawn_task_handle, registry| {
|
||||||
.take()
|
let select_chain = select_chain
|
||||||
.ok_or_else(|| sc_service::Error::SelectChainRequired)?;
|
.take()
|
||||||
|
.ok_or_else(|| sc_service::Error::SelectChainRequired)?;
|
||||||
|
|
||||||
let (grandpa_block_import, grandpa_link) =
|
let (grandpa_block_import, grandpa_link) =
|
||||||
grandpa::block_import(client.clone(), &(client.clone() as Arc<_>), select_chain)?;
|
grandpa::block_import(client.clone(), &(client.clone() as Arc<_>), select_chain)?;
|
||||||
|
|
||||||
let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(
|
let aura_block_import = sc_consensus_aura::AuraBlockImport::<_, _, _, AuraPair>::new(
|
||||||
grandpa_block_import.clone(),
|
grandpa_block_import.clone(),
|
||||||
client.clone(),
|
client.clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair>(
|
let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>(
|
||||||
sc_consensus_aura::slot_duration(&*client)?,
|
sc_consensus_aura::slot_duration(&*client)?,
|
||||||
aura_block_import,
|
aura_block_import,
|
||||||
Some(Box::new(grandpa_block_import.clone())),
|
Some(Box::new(grandpa_block_import.clone())),
|
||||||
None,
|
None,
|
||||||
client,
|
client,
|
||||||
inherent_data_providers.clone(),
|
inherent_data_providers.clone(),
|
||||||
)?;
|
spawn_task_handle,
|
||||||
|
registry,
|
||||||
|
)?;
|
||||||
|
|
||||||
import_setup = Some((grandpa_block_import, grandpa_link));
|
import_setup = Some((grandpa_block_import, grandpa_link));
|
||||||
|
|
||||||
Ok(import_queue)
|
Ok(import_queue)
|
||||||
})?
|
},
|
||||||
|
)?
|
||||||
.with_rpc_extensions(|builder| -> Result<jsonrpc_core::IoHandler<sc_rpc::Metadata>, _> {
|
.with_rpc_extensions(|builder| -> Result<jsonrpc_core::IoHandler<sc_rpc::Metadata>, _> {
|
||||||
use substrate_frame_rpc_system::{FullSystem, SystemApi};
|
use substrate_frame_rpc_system::{FullSystem, SystemApi};
|
||||||
|
|
||||||
@@ -122,7 +126,11 @@ pub fn new_full(config: Configuration) -> Result<impl AbstractService, ServiceEr
|
|||||||
.build()?;
|
.build()?;
|
||||||
|
|
||||||
if role.is_authority() {
|
if role.is_authority() {
|
||||||
let proposer = sc_basic_authorship::ProposerFactory::new(service.client(), service.transaction_pool());
|
let proposer = sc_basic_authorship::ProposerFactory::new(
|
||||||
|
service.client(),
|
||||||
|
service.transaction_pool(),
|
||||||
|
service.prometheus_registry().as_ref(),
|
||||||
|
);
|
||||||
|
|
||||||
let client = service.client();
|
let client = service.client();
|
||||||
let select_chain = service.select_chain().ok_or(ServiceError::SelectChainRequired)?;
|
let select_chain = service.select_chain().ok_or(ServiceError::SelectChainRequired)?;
|
||||||
@@ -181,6 +189,7 @@ pub fn new_full(config: Configuration) -> Result<impl AbstractService, ServiceEr
|
|||||||
telemetry_on_connect: Some(service.telemetry_on_connect_stream()),
|
telemetry_on_connect: Some(service.telemetry_on_connect_stream()),
|
||||||
voting_rule: grandpa::VotingRulesBuilder::default().build(),
|
voting_rule: grandpa::VotingRulesBuilder::default().build(),
|
||||||
prometheus_registry: service.prometheus_registry(),
|
prometheus_registry: service.prometheus_registry(),
|
||||||
|
shared_voter_state: SharedVoterState::empty(),
|
||||||
};
|
};
|
||||||
|
|
||||||
// the GRANDPA voter task is considered infallible, i.e.
|
// the GRANDPA voter task is considered infallible, i.e.
|
||||||
@@ -211,30 +220,34 @@ pub fn new_light(config: Configuration) -> Result<impl AbstractService, ServiceE
|
|||||||
);
|
);
|
||||||
Ok(pool)
|
Ok(pool)
|
||||||
})?
|
})?
|
||||||
.with_import_queue_and_fprb(|_config, client, backend, fetcher, _select_chain, _tx_pool| {
|
.with_import_queue_and_fprb(
|
||||||
let fetch_checker = fetcher
|
|_config, client, backend, fetcher, _select_chain, _tx_pool, spawn_task_handle, prometheus_registry| {
|
||||||
.map(|fetcher| fetcher.checker().clone())
|
let fetch_checker = fetcher
|
||||||
.ok_or_else(|| "Trying to start light import queue without active fetch checker")?;
|
.map(|fetcher| fetcher.checker().clone())
|
||||||
let grandpa_block_import = grandpa::light_block_import(
|
.ok_or_else(|| "Trying to start light import queue without active fetch checker")?;
|
||||||
client.clone(),
|
let grandpa_block_import = grandpa::light_block_import(
|
||||||
backend,
|
client.clone(),
|
||||||
&(client.clone() as Arc<_>),
|
backend,
|
||||||
Arc::new(fetch_checker),
|
&(client.clone() as Arc<_>),
|
||||||
)?;
|
Arc::new(fetch_checker),
|
||||||
let finality_proof_import = grandpa_block_import.clone();
|
)?;
|
||||||
let finality_proof_request_builder = finality_proof_import.create_finality_proof_request_builder();
|
let finality_proof_import = grandpa_block_import.clone();
|
||||||
|
let finality_proof_request_builder = finality_proof_import.create_finality_proof_request_builder();
|
||||||
|
|
||||||
let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair>(
|
let import_queue = sc_consensus_aura::import_queue::<_, _, _, AuraPair, _>(
|
||||||
sc_consensus_aura::slot_duration(&*client)?,
|
sc_consensus_aura::slot_duration(&*client)?,
|
||||||
grandpa_block_import,
|
grandpa_block_import,
|
||||||
None,
|
None,
|
||||||
Some(Box::new(finality_proof_import)),
|
Some(Box::new(finality_proof_import)),
|
||||||
client,
|
client,
|
||||||
inherent_data_providers.clone(),
|
inherent_data_providers.clone(),
|
||||||
)?;
|
spawn_task_handle,
|
||||||
|
prometheus_registry,
|
||||||
|
)?;
|
||||||
|
|
||||||
Ok((import_queue, finality_proof_request_builder))
|
Ok((import_queue, finality_proof_request_builder))
|
||||||
})?
|
},
|
||||||
|
)?
|
||||||
.with_finality_proof_provider(|client, backend| {
|
.with_finality_proof_provider(|client, backend| {
|
||||||
let provider = client as Arc<dyn StorageAndProofProvider<_, _>>;
|
let provider = client as Arc<dyn StorageAndProofProvider<_, _>>;
|
||||||
Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _)
|
Ok(Arc::new(GrandpaFinalityProofProvider::new(backend, provider)) as _)
|
||||||
|
|||||||
@@ -22,15 +22,15 @@ features = ["derive"]
|
|||||||
|
|
||||||
# Substrate Dependencies
|
# Substrate Dependencies
|
||||||
[dependencies.pallet-aura]
|
[dependencies.pallet-aura]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-balances]
|
[dependencies.pallet-balances]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-bridge-eth-poa]
|
[dependencies.pallet-bridge-eth-poa]
|
||||||
@@ -39,76 +39,76 @@ default-features = false
|
|||||||
path = "../../../modules/ethereum"
|
path = "../../../modules/ethereum"
|
||||||
|
|
||||||
[dependencies.frame-support]
|
[dependencies.frame-support]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-grandpa]
|
[dependencies.pallet-grandpa]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-randomness-collective-flip]
|
[dependencies.pallet-randomness-collective-flip]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-sudo]
|
[dependencies.pallet-sudo]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-session]
|
[dependencies.pallet-session]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.frame-system]
|
[dependencies.frame-system]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.frame-system-rpc-runtime-api]
|
[dependencies.frame-system-rpc-runtime-api]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-timestamp]
|
[dependencies.pallet-timestamp]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-transaction-payment]
|
[dependencies.pallet-transaction-payment]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.frame-executive]
|
[dependencies.frame-executive]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
# Substrate Primitives
|
# Substrate Primitives
|
||||||
[dependencies.sp-api]
|
[dependencies.sp-api]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-block-builder]
|
[dependencies.sp-block-builder]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-bridge-eth-poa]
|
[dependencies.sp-bridge-eth-poa]
|
||||||
@@ -117,75 +117,75 @@ default-features = false
|
|||||||
path = "../../../primitives/ethereum-poa"
|
path = "../../../primitives/ethereum-poa"
|
||||||
|
|
||||||
[dependencies.sp-consensus-aura]
|
[dependencies.sp-consensus-aura]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-core]
|
[dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-inherents]
|
[dependencies.sp-inherents]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-io]
|
[dependencies.sp-io]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-offchain]
|
[dependencies.sp-offchain]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-session]
|
[dependencies.sp-session]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-staking]
|
[dependencies.sp-staking]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-std]
|
[dependencies.sp-std]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-transaction-pool]
|
[dependencies.sp-transaction-pool]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-version]
|
[dependencies.sp-version]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[build-dependencies.wasm-builder-runner]
|
[build-dependencies.wasm-builder-runner]
|
||||||
version = "1.0.5"
|
version = "1.0.5"
|
||||||
package = "substrate-wasm-builder-runner"
|
package = "substrate-wasm-builder-runner"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|||||||
@@ -27,13 +27,12 @@ include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
|
|||||||
pub mod kovan;
|
pub mod kovan;
|
||||||
|
|
||||||
use codec::{Decode, Encode};
|
use codec::{Decode, Encode};
|
||||||
use pallet_grandpa::fg_primitives;
|
use pallet_grandpa::{fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList};
|
||||||
use pallet_grandpa::AuthorityList as GrandpaAuthorityList;
|
|
||||||
use sp_api::impl_runtime_apis;
|
use sp_api::impl_runtime_apis;
|
||||||
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
||||||
use sp_core::OpaqueMetadata;
|
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
|
||||||
use sp_runtime::traits::{
|
use sp_runtime::traits::{
|
||||||
BlakeTwo256, Block as BlockT, ConvertInto, IdentifyAccount, IdentityLookup, OpaqueKeys, Verify,
|
BlakeTwo256, Block as BlockT, IdentifyAccount, IdentityLookup, NumberFor, OpaqueKeys, Saturating, Verify,
|
||||||
};
|
};
|
||||||
use sp_runtime::{
|
use sp_runtime::{
|
||||||
create_runtime_str, generic, impl_opaque_keys,
|
create_runtime_str, generic, impl_opaque_keys,
|
||||||
@@ -48,8 +47,8 @@ use sp_version::RuntimeVersion;
|
|||||||
// A few exports that help ease life for downstream crates.
|
// A few exports that help ease life for downstream crates.
|
||||||
pub use frame_support::{
|
pub use frame_support::{
|
||||||
construct_runtime, parameter_types,
|
construct_runtime, parameter_types,
|
||||||
traits::Randomness,
|
traits::{KeyOwnerProofSystem, Randomness},
|
||||||
weights::{RuntimeDbWeight, Weight},
|
weights::{IdentityFee, RuntimeDbWeight, Weight},
|
||||||
StorageValue,
|
StorageValue,
|
||||||
};
|
};
|
||||||
pub use pallet_balances::Call as BalancesCall;
|
pub use pallet_balances::Call as BalancesCall;
|
||||||
@@ -143,6 +142,9 @@ parameter_types! {
|
|||||||
pub const MaximumBlockWeight: Weight = 2_000_000_000_000;
|
pub const MaximumBlockWeight: Weight = 2_000_000_000_000;
|
||||||
pub const ExtrinsicBaseWeight: Weight = 10_000_000;
|
pub const ExtrinsicBaseWeight: Weight = 10_000_000;
|
||||||
pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);
|
pub const AvailableBlockRatio: Perbill = Perbill::from_percent(75);
|
||||||
|
/// Assume 10% of weight for average on_initialize calls.
|
||||||
|
pub const MaximumExtrinsicWeight: Weight = AvailableBlockRatio::get()
|
||||||
|
.saturating_sub(Perbill::from_percent(10)) * MaximumBlockWeight::get();
|
||||||
pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;
|
pub const MaximumBlockLength: u32 = 5 * 1024 * 1024;
|
||||||
pub const Version: RuntimeVersion = VERSION;
|
pub const Version: RuntimeVersion = VERSION;
|
||||||
pub const DbWeight: RuntimeDbWeight = RuntimeDbWeight {
|
pub const DbWeight: RuntimeDbWeight = RuntimeDbWeight {
|
||||||
@@ -184,6 +186,10 @@ impl frame_system::Trait for Runtime {
|
|||||||
/// The base weight of any extrinsic processed by the runtime, independent of the
|
/// The base weight of any extrinsic processed by the runtime, independent of the
|
||||||
/// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...)
|
/// logic of that extrinsic. (Signature verification, nonce increment, fee, etc...)
|
||||||
type ExtrinsicBaseWeight = ExtrinsicBaseWeight;
|
type ExtrinsicBaseWeight = ExtrinsicBaseWeight;
|
||||||
|
/// The maximum weight that a single extrinsic of `Normal` dispatch class can have,
|
||||||
|
/// idependent of the logic of that extrinsics. (Roughly max block weight - average on
|
||||||
|
/// initialize cost).
|
||||||
|
type MaximumExtrinsicWeight = MaximumExtrinsicWeight;
|
||||||
/// Maximum size of all encoded transactions (in bytes) that are allowed in one block.
|
/// Maximum size of all encoded transactions (in bytes) that are allowed in one block.
|
||||||
type MaximumBlockLength = MaximumBlockLength;
|
type MaximumBlockLength = MaximumBlockLength;
|
||||||
/// Portion of the block weight that is available to all normal transactions.
|
/// Portion of the block weight that is available to all normal transactions.
|
||||||
@@ -219,6 +225,16 @@ impl pallet_bridge_eth_poa::Trait for Runtime {
|
|||||||
|
|
||||||
impl pallet_grandpa::Trait for Runtime {
|
impl pallet_grandpa::Trait for Runtime {
|
||||||
type Event = Event;
|
type Event = Event;
|
||||||
|
type Call = Call;
|
||||||
|
|
||||||
|
type KeyOwnerProofSystem = ();
|
||||||
|
|
||||||
|
type KeyOwnerProof = <Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, GrandpaId)>>::Proof;
|
||||||
|
|
||||||
|
type KeyOwnerIdentification =
|
||||||
|
<Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, GrandpaId)>>::IdentificationTuple;
|
||||||
|
|
||||||
|
type HandleEquivocation = ();
|
||||||
}
|
}
|
||||||
|
|
||||||
parameter_types! {
|
parameter_types! {
|
||||||
@@ -255,7 +271,7 @@ impl pallet_transaction_payment::Trait for Runtime {
|
|||||||
type Currency = pallet_balances::Module<Runtime>;
|
type Currency = pallet_balances::Module<Runtime>;
|
||||||
type OnTransactionPayment = ();
|
type OnTransactionPayment = ();
|
||||||
type TransactionByteFee = TransactionByteFee;
|
type TransactionByteFee = TransactionByteFee;
|
||||||
type WeightToFee = ConvertInto;
|
type WeightToFee = IdentityFee<Balance>;
|
||||||
type FeeMultiplierUpdate = ();
|
type FeeMultiplierUpdate = ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -363,7 +379,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
|
|||||||
pub type BlockId = generic::BlockId<Block>;
|
pub type BlockId = generic::BlockId<Block>;
|
||||||
/// The SignedExtension to the basic transaction logic.
|
/// The SignedExtension to the basic transaction logic.
|
||||||
pub type SignedExtra = (
|
pub type SignedExtra = (
|
||||||
frame_system::CheckVersion<Runtime>,
|
frame_system::CheckSpecVersion<Runtime>,
|
||||||
|
frame_system::CheckTxVersion<Runtime>,
|
||||||
frame_system::CheckGenesis<Runtime>,
|
frame_system::CheckGenesis<Runtime>,
|
||||||
frame_system::CheckEra<Runtime>,
|
frame_system::CheckEra<Runtime>,
|
||||||
frame_system::CheckNonce<Runtime>,
|
frame_system::CheckNonce<Runtime>,
|
||||||
@@ -487,6 +504,26 @@ impl_runtime_apis! {
|
|||||||
fn grandpa_authorities() -> GrandpaAuthorityList {
|
fn grandpa_authorities() -> GrandpaAuthorityList {
|
||||||
Grandpa::grandpa_authorities()
|
Grandpa::grandpa_authorities()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn submit_report_equivocation_extrinsic(
|
||||||
|
_equivocation_proof: fg_primitives::EquivocationProof<
|
||||||
|
<Block as BlockT>::Hash,
|
||||||
|
NumberFor<Block>,
|
||||||
|
>,
|
||||||
|
_key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
|
||||||
|
) -> Option<()> {
|
||||||
|
None
|
||||||
|
}
|
||||||
|
|
||||||
|
fn generate_key_ownership_proof(
|
||||||
|
_set_id: fg_primitives::SetId,
|
||||||
|
_authority_id: GrandpaId,
|
||||||
|
) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
|
||||||
|
// NOTE: this is the only implementation possible since we've
|
||||||
|
// defined our key owner proof type as a bottom type (i.e. a type
|
||||||
|
// with no values).
|
||||||
|
None
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,35 +11,36 @@ edition = "2018"
|
|||||||
|
|
||||||
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
codec = { package = "parity-scale-codec", version = "1.0.0" }
|
||||||
ethereum-types = "0.9.2"
|
ethereum-types = "0.9.2"
|
||||||
|
finality-grandpa = "0.12.3"
|
||||||
|
|
||||||
# Runtime/chain specific dependencies
|
# Runtime/chain specific dependencies
|
||||||
|
|
||||||
bridge-node-runtime = { path = "../../../bin/node/runtime" }
|
bridge-node-runtime = { path = "../../../bin/node/runtime" }
|
||||||
|
|
||||||
[dependencies.sp-blockchain]
|
[dependencies.sp-blockchain]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-finality-grandpa]
|
[dependencies.sp-finality-grandpa]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sc-finality-grandpa]
|
[dependencies.sc-finality-grandpa]
|
||||||
version = "0.8.0-dev"
|
version = "0.8.0-dev"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
hex = "0.4"
|
hex = "0.4"
|
||||||
|
|
||||||
[dev-dependencies.sp-core]
|
[dev-dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
use bridge_node_runtime::{Block, BlockNumber, Hash, Header as RuntimeHeader};
|
use bridge_node_runtime::{Block, BlockNumber, Hash, Header as RuntimeHeader};
|
||||||
use codec::{Decode, Encode};
|
use codec::{Decode, Encode};
|
||||||
use ethereum_types::U256;
|
use ethereum_types::U256;
|
||||||
|
use finality_grandpa::voter_set::VoterSet;
|
||||||
use sp_blockchain::Error as ClientError;
|
use sp_blockchain::Error as ClientError;
|
||||||
use sp_finality_grandpa::{AuthorityList, ConsensusLog, GRANDPA_ENGINE_ID};
|
use sp_finality_grandpa::{AuthorityList, ConsensusLog, GRANDPA_ENGINE_ID};
|
||||||
|
|
||||||
@@ -29,6 +30,8 @@ pub enum Error {
|
|||||||
HeaderDecode(codec::Error),
|
HeaderDecode(codec::Error),
|
||||||
/// Failed to decode best voters set.
|
/// Failed to decode best voters set.
|
||||||
BestSetDecode(codec::Error),
|
BestSetDecode(codec::Error),
|
||||||
|
/// Best voters set is invalid.
|
||||||
|
InvalidBestSet,
|
||||||
/// Failed to decode finality proof.
|
/// Failed to decode finality proof.
|
||||||
FinalityProofDecode(codec::Error),
|
FinalityProofDecode(codec::Error),
|
||||||
/// Failed to verify justification.
|
/// Failed to verify justification.
|
||||||
@@ -108,12 +111,14 @@ pub fn verify_substrate_finality_proof(
|
|||||||
raw_best_set: &[u8],
|
raw_best_set: &[u8],
|
||||||
raw_finality_proof: &[u8],
|
raw_finality_proof: &[u8],
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
let best_set = AuthorityList::decode(&mut &raw_best_set[..]).map_err(Error::BestSetDecode)?;
|
let best_set = AuthorityList::decode(&mut &raw_best_set[..])
|
||||||
|
.map_err(Error::BestSetDecode)
|
||||||
|
.and_then(|authorities| VoterSet::new(authorities.into_iter()).ok_or(Error::InvalidBestSet))?;
|
||||||
sc_finality_grandpa::GrandpaJustification::<Block>::decode_and_verify_finalizes(
|
sc_finality_grandpa::GrandpaJustification::<Block>::decode_and_verify_finalizes(
|
||||||
&raw_finality_proof,
|
&raw_finality_proof,
|
||||||
(finality_target_hash, finality_target_number),
|
(finality_target_hash, finality_target_number),
|
||||||
best_set_id,
|
best_set_id,
|
||||||
&best_set.into_iter().collect(),
|
&best_set,
|
||||||
)
|
)
|
||||||
.map_err(Error::JustificationVerify)
|
.map_err(Error::JustificationVerify)
|
||||||
.map(|_| ())
|
.map(|_| ())
|
||||||
|
|||||||
@@ -12,33 +12,33 @@ primitives = { package = "sp-bridge-eth-poa", path = "../../primitives/ethereum-
|
|||||||
|
|
||||||
# Substrate Based Dependencies
|
# Substrate Based Dependencies
|
||||||
[dependencies.frame-support]
|
[dependencies.frame-support]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.frame-system]
|
[dependencies.frame-system]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-std]
|
[dependencies.sp-std]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-io]
|
[dependencies.sp-io]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
# Dev Dependencies
|
# Dev Dependencies
|
||||||
|
|||||||
@@ -673,7 +673,7 @@ impl<T: Trait> Storage for BridgeStorage<T> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let last_signal_block = header.context.last_signal_block().cloned();
|
let last_signal_block = header.context.last_signal_block().cloned();
|
||||||
HeadersByNumber::append_or_insert(header.header.number, vec![header.hash]);
|
HeadersByNumber::append(header.header.number, header.hash);
|
||||||
Headers::<T>::insert(
|
Headers::<T>::insert(
|
||||||
&header.hash,
|
&header.hash,
|
||||||
StoredHeader {
|
StoredHeader {
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ impl frame_system::Trait for TestRuntime {
|
|||||||
type DbWeight = ();
|
type DbWeight = ();
|
||||||
type BlockExecutionWeight = ();
|
type BlockExecutionWeight = ();
|
||||||
type ExtrinsicBaseWeight = ();
|
type ExtrinsicBaseWeight = ();
|
||||||
|
type MaximumExtrinsicWeight = ();
|
||||||
type AvailableBlockRatio = AvailableBlockRatio;
|
type AvailableBlockRatio = AvailableBlockRatio;
|
||||||
type MaximumBlockLength = MaximumBlockLength;
|
type MaximumBlockLength = MaximumBlockLength;
|
||||||
type Version = ();
|
type Version = ();
|
||||||
|
|||||||
@@ -13,57 +13,57 @@ hash-db = { version = "0.15.2", default-features = false }
|
|||||||
|
|
||||||
# Substrate Based Dependencies
|
# Substrate Based Dependencies
|
||||||
[dependencies.frame-support]
|
[dependencies.frame-support]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.frame-system]
|
[dependencies.frame-system]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-session]
|
[dependencies.pallet-session]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-core]
|
[dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-finality-grandpa]
|
[dependencies.sp-finality-grandpa]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-trie]
|
[dependencies.sp-trie]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
# Dev Dependencies
|
# Dev Dependencies
|
||||||
[dev-dependencies.sp-io]
|
[dev-dependencies.sp-io]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dev-dependencies.sp-state-machine]
|
[dev-dependencies.sp-state-machine]
|
||||||
version = "0.8.0-alpha.6"
|
version = "0.8.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|||||||
@@ -265,6 +265,7 @@ mod tests {
|
|||||||
type DbWeight = ();
|
type DbWeight = ();
|
||||||
type BlockExecutionWeight = ();
|
type BlockExecutionWeight = ();
|
||||||
type ExtrinsicBaseWeight = ();
|
type ExtrinsicBaseWeight = ();
|
||||||
|
type MaximumExtrinsicWeight = ();
|
||||||
type AvailableBlockRatio = ();
|
type AvailableBlockRatio = ();
|
||||||
type MaximumBlockLength = ();
|
type MaximumBlockLength = ();
|
||||||
type Version = ();
|
type Version = ();
|
||||||
|
|||||||
@@ -22,27 +22,27 @@ plain_hasher = { version = "0.2.2", default-features = false }
|
|||||||
|
|
||||||
# Substrate Based Dependencies
|
# Substrate Based Dependencies
|
||||||
[dependencies.sp-api]
|
[dependencies.sp-api]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-std]
|
[dependencies.sp-std]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-io]
|
[dependencies.sp-io]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
default-features = false
|
default-features = false
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
|||||||
@@ -33,36 +33,36 @@ web3 = { git = "https://github.com/tomusdrw/rust-web3" }
|
|||||||
|
|
||||||
# Substrate Based Dependencies
|
# Substrate Based Dependencies
|
||||||
[dependencies.frame-system]
|
[dependencies.frame-system]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.pallet-transaction-payment]
|
[dependencies.pallet-transaction-payment]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
# I think this is used for sr-io and stuff
|
# I think this is used for sr-io and stuff
|
||||||
[dependencies.node-primitives]
|
[dependencies.node-primitives]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
# Branch used for keccack256 hasher code
|
# Branch used for keccack256 hasher code
|
||||||
# Could probably move the keccack hasher stuff to our own primitives
|
# Could probably move the keccack hasher stuff to our own primitives
|
||||||
[dependencies.sp-core]
|
[dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-keyring]
|
[dependencies.sp-keyring]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
[dependencies.sp-runtime]
|
[dependencies.sp-runtime]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate.git"
|
git = "https://github.com/paritytech/substrate.git"
|
||||||
|
|
||||||
# This should get moved to our `bin` folder
|
# This should get moved to our `bin` folder
|
||||||
|
|||||||
@@ -391,7 +391,8 @@ fn create_signed_submit_transaction(
|
|||||||
|
|
||||||
let extra = |i: node_primitives::Index, f: node_primitives::Balance| {
|
let extra = |i: node_primitives::Index, f: node_primitives::Balance| {
|
||||||
(
|
(
|
||||||
frame_system::CheckVersion::<bridge_node_runtime::Runtime>::new(),
|
frame_system::CheckSpecVersion::<bridge_node_runtime::Runtime>::new(),
|
||||||
|
frame_system::CheckTxVersion::<bridge_node_runtime::Runtime>::new(),
|
||||||
frame_system::CheckGenesis::<bridge_node_runtime::Runtime>::new(),
|
frame_system::CheckGenesis::<bridge_node_runtime::Runtime>::new(),
|
||||||
frame_system::CheckEra::<bridge_node_runtime::Runtime>::from(sp_runtime::generic::Era::Immortal),
|
frame_system::CheckEra::<bridge_node_runtime::Runtime>::from(sp_runtime::generic::Era::Immortal),
|
||||||
frame_system::CheckNonce::<bridge_node_runtime::Runtime>::from(i),
|
frame_system::CheckNonce::<bridge_node_runtime::Runtime>::from(i),
|
||||||
@@ -403,7 +404,8 @@ fn create_signed_submit_transaction(
|
|||||||
function,
|
function,
|
||||||
extra(index, 0),
|
extra(index, 0),
|
||||||
(
|
(
|
||||||
bridge_node_runtime::VERSION.spec_version as u32,
|
bridge_node_runtime::VERSION.spec_version,
|
||||||
|
bridge_node_runtime::VERSION.transaction_version,
|
||||||
genesis_hash,
|
genesis_hash,
|
||||||
genesis_hash,
|
genesis_hash,
|
||||||
(),
|
(),
|
||||||
|
|||||||
@@ -17,16 +17,16 @@ serde_json = "1.0.53"
|
|||||||
url = "2.1.0"
|
url = "2.1.0"
|
||||||
|
|
||||||
[dependencies.sp-core]
|
[dependencies.sp-core]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.sp-rpc]
|
[dependencies.sp-rpc]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|
||||||
[dependencies.node-primitives]
|
[dependencies.node-primitives]
|
||||||
version = "2.0.0-alpha.6"
|
version = "2.0.0-rc1"
|
||||||
rev = "c13ad41634d0bd7cf07897c2aa062b917d520520"
|
rev = "599ba75bc2b5acd238c21c5c7efe8e2ad8d401ee"
|
||||||
git = "https://github.com/paritytech/substrate/"
|
git = "https://github.com/paritytech/substrate/"
|
||||||
|
|||||||
Reference in New Issue
Block a user