diff --git a/node/src/rpc.rs b/node/src/rpc.rs index 79ef196..f02fd63 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -112,11 +112,11 @@ where // )?; module.merge( - Eth::new( + Eth::<_, _, _, fp_rpc::NoTransactionConverter, _, _, _>::new( client.clone(), pool.clone(), graph, - Some(origintrail_parachain_runtime::TransactionConverter), + None, network.clone(), signers, overrides.clone(), diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 18b6603..818c348 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -649,30 +649,6 @@ construct_runtime!( } ); -pub struct TransactionConverter; - -impl fp_rpc::ConvertTransaction for TransactionConverter { - fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic { - UncheckedExtrinsic::new_unsigned( - pallet_ethereum::Call::::transact { transaction }.into(), - ) - } -} - -impl fp_rpc::ConvertTransaction for TransactionConverter { - fn convert_transaction( - &self, - transaction: pallet_ethereum::Transaction, - ) -> opaque::UncheckedExtrinsic { - let extrinsic = UncheckedExtrinsic::new_unsigned( - pallet_ethereum::Call::::transact { transaction }.into(), - ); - let encoded = extrinsic.encode(); - opaque::UncheckedExtrinsic::decode(&mut &encoded[..]) - .expect("Encoded extrinsic is always valid") - } -} - #[cfg(feature = "runtime-benchmarks")] #[macro_use] extern crate frame_benchmarking; @@ -894,6 +870,14 @@ impl_runtime_apis! { } } + impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { + fn convert_transaction(transaction: EthereumTransaction) -> ::Extrinsic { + UncheckedExtrinsic::new_unsigned( + pallet_ethereum::Call::::transact { transaction }.into(), + ) + } + } + impl sp_session::SessionKeys for Runtime { fn generate_session_keys(seed: Option>) -> Vec { SessionKeys::generate(seed)