use tokio reactor to execute jsonrpsee futures (#1061)

This commit is contained in:
Svyatoslav Nikolsky
2021-07-20 15:18:51 +03:00
committed by Bastian Köcher
parent 08fd53adef
commit 63d6fc436a
13 changed files with 337 additions and 168 deletions
@@ -155,11 +155,12 @@ impl SubmitEthereumHeaders for SubstrateClient<Rialto> {
headers: Vec<QueuedEthereumHeader>,
) -> SubmittedHeaders<EthereumHeaderId, RpcError> {
let ids = headers.iter().map(|header| header.id()).collect();
let genesis_hash = *self.genesis_hash();
let submission_result = async {
self.submit_signed_extrinsic((*params.public().as_array_ref()).into(), |transaction_nonce| {
self.submit_signed_extrinsic((*params.public().as_array_ref()).into(), move |transaction_nonce| {
Bytes(
Rialto::sign_transaction(
*self.genesis_hash(),
genesis_hash,
&params,
transaction_nonce,
instance.build_signed_header_call(headers),
@@ -257,10 +258,11 @@ impl SubmitEthereumExchangeTransactionProof for SubstrateClient<Rialto> {
instance: Arc<dyn BridgeInstance>,
proof: rialto_runtime::exchange::EthereumTransactionInclusionProof,
) -> RpcResult<()> {
self.submit_signed_extrinsic((*params.public().as_array_ref()).into(), |transaction_nonce| {
let genesis_hash = *self.genesis_hash();
self.submit_signed_extrinsic((*params.public().as_array_ref()).into(), move |transaction_nonce| {
Bytes(
Rialto::sign_transaction(
*self.genesis_hash(),
genesis_hash,
&params,
transaction_nonce,
instance.build_currency_exchange_call(proof),