From 68273405a2a70c30cc8d1eccc3b09766bb939de8 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Mon, 9 Apr 2018 16:28:06 +0200 Subject: [PATCH] Transaction queue integration + submission RPC (#99) * Implement transaction queue RPC. * whitespace * Support without_std env in environmental! (#110) * Make environmental crate support without_std env. * Small doc fixes. * Remove dead code. --- polkadot/cli/src/lib.rs | 3 ++- polkadot/consensus/src/lib.rs | 4 ++++ polkadot/runtime/wasm/genesis.wasm | Bin 190794 -> 190996 bytes .../release/polkadot_runtime.compact.wasm | Bin 190794 -> 190996 bytes .../release/polkadot_runtime.wasm | Bin 206425 -> 206646 bytes polkadot/transaction-pool/Cargo.toml | 2 ++ polkadot/transaction-pool/src/lib.rs | 13 +++++++++++++ 7 files changed, 21 insertions(+), 1 deletion(-) diff --git a/polkadot/cli/src/lib.rs b/polkadot/cli/src/lib.rs index 034782271b..85dfe3cc72 100644 --- a/polkadot/cli/src/lib.rs +++ b/polkadot/cli/src/lib.rs @@ -118,7 +118,7 @@ pub fn run(args: I, exit: mpsc::Receiver<()>) -> error::Result<()> where let rpc_port: u16 = port.parse().expect("Invalid RPC port value specified."); address.set_port(rpc_port); } - let handler = rpc::rpc_handler(service.client()); + let handler = rpc::rpc_handler(service.client(), service.transaction_pool()); let _server = rpc::start_http(&address, handler)?; exit.recv().ok(); @@ -150,6 +150,7 @@ fn default_base_path() -> PathBuf { &app_info, ).expect("app directories exist on all supported platforms; qed") } + fn init_logger(pattern: &str) { let mut builder = env_logger::LogBuilder::new(); // Disable info logging by default for some modules: diff --git a/polkadot/consensus/src/lib.rs b/polkadot/consensus/src/lib.rs index d6f9398486..53cf39b6c8 100644 --- a/polkadot/consensus/src/lib.rs +++ b/polkadot/consensus/src/lib.rs @@ -570,9 +570,13 @@ impl bft::Proposer for Proposer { } let polkadot_block = block_builder.bake(); + info!("Proposing block [number: {}; extrinsics: [{}], parent_hash: {}]", polkadot_block.header.number, polkadot_block.extrinsics.len(), polkadot_block.header.parent_hash); + let substrate_block = Slicable::decode(&mut polkadot_block.encode().as_slice()) .expect("polkadot blocks defined to serialize to substrate blocks correctly; qed"); + assert!(evaluate_proposal(&substrate_block, &*self.client, current_timestamp(), &self.parent_hash, &self.parent_id).is_ok()); + Ok(substrate_block) } diff --git a/polkadot/runtime/wasm/genesis.wasm b/polkadot/runtime/wasm/genesis.wasm index e5393d0d09674d645dc5fd8e89f0752444fc9788..b7adff2d53861c2623460a07124cb71dcb968588 100644 GIT binary patch delta 8253 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
  • Ix4(eTp1}b6h`R-^*y1j#blcAqQ`tcp~ z+YS8)(({f59$ZhDKRA~3Jc7EOo-e&>R0KRNpbm8OG%!S=`hCQsFMv`V{m5DAeJb+@ zdZ@QtA1FUSWeS2G?<6j)lGMv6`?w;O6m*R&1v-#K12c@u3H0Nk4s;+?-;?I#7^)BG zd31QBzN7X$f&o2`4%Z(bJ)d6z{cJw|yy9u9kULbA66Sh|CO7w}h}=sid4wL=lVo5q z9HZXRw2-!up4UH4yhM_Lc7Zt%sNX?Vl%llrU!mvgV-fItG(C{7qPywGJwHfgJ}>yv z;~fc1vO8#X^2i1FM+ox{_alAp4*CxW^D+OC+H=nXtNIQyPE@JUXDq*fp}>RdNS{iC zfWD0y@CQsH{pb$*D~7%=>9afNe>L=r=qb4!^n)lu+|H|{=aGcb?D}E48$6$*^*n-u zJ7G?)Ht7TWBql6(K+fVNgIVEOx;H9s#fi9NBm1g_u7<{(#VGd1H#irUZtI{aK11iv zGS>J$j*4-6rp?O9bFn_o&d8mapFKU>?VdTqom(yRY|ppoU_;K~$NvMLvtQf* diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.compact.wasm index e5393d0d09674d645dc5fd8e89f0752444fc9788..b7adff2d53861c2623460a07124cb71dcb968588 100644 GIT binary patch delta 8253 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
  • Ix4(eTp1}b6h`R-^*y1j#blcAqQ`tcp~ z+YS8)(({f59$ZhDKRA~3Jc7EOo-e&>R0KRNpbm8OG%!S=`hCQsFMv`V{m5DAeJb+@ zdZ@QtA1FUSWeS2G?<6j)lGMv6`?w;O6m*R&1v-#K12c@u3H0Nk4s;+?-;?I#7^)BG zd31QBzN7X$f&o2`4%Z(bJ)d6z{cJw|yy9u9kULbA66Sh|CO7w}h}=sid4wL=lVo5q z9HZXRw2-!up4UH4yhM_Lc7Zt%sNX?Vl%llrU!mvgV-fItG(C{7qPywGJwHfgJ}>yv z;~fc1vO8#X^2i1FM+ox{_alAp4*CxW^D+OC+H=nXtNIQyPE@JUXDq*fp}>RdNS{iC zfWD0y@CQsH{pb$*D~7%=>9afNe>L=r=qb4!^n)lu+|H|{=aGcb?D}E48$6$*^*n-u zJ7G?)Ht7TWBql6(K+fVNgIVEOx;H9s#fi9NBm1g_u7<{(#VGd1H#irUZtI{aK11iv zGS>J$j*4-6rp?O9bFn_o&d8mapFKU>?VdTqom(yRY|ppoU_;K~$NvMLvtQf* diff --git a/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm b/polkadot/runtime/wasm/target/wasm32-unknown-unknown/release/polkadot_runtime.wasm index 08b69ae04f0a291b0451ab5aafe160d67fa5b9b4..d4e3dd6dd34f3ad9e8727982a3e7c7743d4652e2 100755 GIT binary patch delta 9039 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 diff --git a/polkadot/transaction-pool/Cargo.toml b/polkadot/transaction-pool/Cargo.toml index 6efc3cc3fe..d80384c23c 100644 --- a/polkadot/transaction-pool/Cargo.toml +++ b/polkadot/transaction-pool/Cargo.toml @@ -9,6 +9,8 @@ error-chain = "0.11" polkadot-api = { path = "../api" } polkadot-primitives = { path = "../primitives" } polkadot-runtime = { path = "../runtime" } +substrate-client = { path = "../../substrate/client" } +substrate-rpc = { path = "../../substrate/rpc" } substrate-primitives = { path = "../../substrate/primitives" } substrate-runtime-primitives = { path = "../../substrate/runtime/primitives" } substrate-codec = { path = "../../substrate/codec" } diff --git a/polkadot/transaction-pool/src/lib.rs b/polkadot/transaction-pool/src/lib.rs index f2473053dc..47fc7c99bd 100644 --- a/polkadot/transaction-pool/src/lib.rs +++ b/polkadot/transaction-pool/src/lib.rs @@ -17,6 +17,7 @@ extern crate ed25519; extern crate ethereum_types; extern crate substrate_codec as codec; +extern crate substrate_rpc; extern crate substrate_primitives as substrate_primitives; extern crate substrate_runtime_primitives as substrate_runtime_primitives; extern crate polkadot_runtime as runtime; @@ -31,8 +32,10 @@ use std::collections::HashMap; use std::cmp::Ordering; use std::sync::Arc; +use codec::Slicable; use polkadot_api::PolkadotApi; use primitives::{AccountId, Timestamp}; +use substrate_primitives::block::Extrinsic; use runtime::{Block, UncheckedExtrinsic, TimestampCall, Call}; use substrate_runtime_primitives::traits::Checkable; use transaction_pool::{Pool, Readiness}; @@ -371,6 +374,16 @@ impl TransactionPool { } } +impl substrate_rpc::author::AsyncAuthorApi for TransactionPool { + fn submit_extrinsic(&mut self, xt: Extrinsic) -> substrate_rpc::author::error::Result<()> { + self.import(xt + .using_encoded(|ref mut s| UncheckedExtrinsic::decode(s)) + .ok_or(substrate_rpc::author::error::ErrorKind::InvalidFormat)?) + .map(|_| ()) + .map_err(|_| substrate_rpc::author::error::ErrorKind::PoolError.into()) + } +} + #[cfg(test)] mod tests { }