diff --git a/engine/src/main.rs b/engine/src/main.rs index 860cdc706b..e17d82d6ee 100644 --- a/engine/src/main.rs +++ b/engine/src/main.rs @@ -134,7 +134,7 @@ async fn start( .await?; state_chain_client - .submit_signed_extrinsic(pallet_cf_validator::Call::cfe_version { + .finalize_signed_extrinsic(pallet_cf_validator::Call::cfe_version { new_version: *CFE_VERSION, }) .await diff --git a/engine/src/p2p/peer_info_submitter.rs b/engine/src/p2p/peer_info_submitter.rs index a0004b4cdb..a5d76b5aaa 100644 --- a/engine/src/p2p/peer_info_submitter.rs +++ b/engine/src/p2p/peer_info_submitter.rs @@ -53,7 +53,7 @@ async fn update_registered_peer_id( }; state_chain_client - .submit_signed_extrinsic(pallet_cf_validator::Call::register_peer_id { + .finalize_signed_extrinsic(pallet_cf_validator::Call::register_peer_id { peer_id, port: cfe_port, ip_address: ip_address.into(), diff --git a/engine/src/state_chain_observer/sc_observer/mod.rs b/engine/src/state_chain_observer/sc_observer/mod.rs index ef3e06b454..5fd11c1493 100644 --- a/engine/src/state_chain_observer/sc_observer/mod.rs +++ b/engine/src/state_chain_observer/sc_observer/mod.rs @@ -67,17 +67,17 @@ async fn handle_keygen_request<'a, StateChainClient, MultisigClient, C, I>( multisig_client.initiate_keygen(ceremony_id, epoch_index, keygen_participants); scope.spawn(async move { state_chain_client - .submit_signed_extrinsic(pallet_cf_vaults::Call::< - state_chain_runtime::Runtime, - I, - >::report_keygen_outcome { - ceremony_id, - reported_outcome: keygen_result_future - .await - .map(I::pubkey_to_aggkey) - .map_err(|(bad_account_ids, _reason)| bad_account_ids), - }) - .await; + .finalize_signed_extrinsic(pallet_cf_vaults::Call::< + state_chain_runtime::Runtime, + I, + >::report_keygen_outcome { + ceremony_id, + reported_outcome: keygen_result_future + .await + .map(I::pubkey_to_aggkey) + .map_err(|(bad_account_ids, _reason)| bad_account_ids), + }) + .await; Ok(()) }); } else { @@ -116,7 +116,7 @@ async fn handle_key_handover_request<'a, StateChainClient, MultisigClient>( ); scope.spawn(async move { let _result = state_chain_client - .submit_signed_extrinsic(pallet_cf_vaults::Call::< + .finalize_signed_extrinsic(pallet_cf_vaults::Call::< state_chain_runtime::Runtime, BitcoinInstance, >::report_key_handover_outcome { @@ -176,7 +176,7 @@ async fn handle_signing_request<'a, StateChainClient, MultisigClient, C, I>( }, Err((bad_account_ids, _reason)) => { state_chain_client - .submit_signed_extrinsic(pallet_cf_threshold_signature::Call::< + .finalize_signed_extrinsic(pallet_cf_threshold_signature::Call::< state_chain_runtime::Runtime, I, >::report_signature_failed { @@ -264,7 +264,7 @@ where async move { tokio::time::sleep(Duration::from_secs(60)).await; state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_reputation::Call::heartbeat {}, ) .await @@ -514,7 +514,7 @@ where // a problem with the ethereum rpc node, or with the configured account. For example // if the account balance is too low to pay for required gas. error!("Error on Ethereum TransactionBroadcastRequest {broadcast_attempt_id:?}: {error:?}"); - state_chain_client.submit_signed_extrinsic( + state_chain_client.finalize_signed_extrinsic( state_chain_runtime::RuntimeCall::EthereumBroadcaster( pallet_cf_broadcast::Call::transaction_signing_failure { broadcast_attempt_id, @@ -544,7 +544,7 @@ where Ok(tx_hash) => info!("Polkadot TransactionBroadcastRequest {broadcast_attempt_id:?} success: tx_hash: {tx_hash:#x}"), Err(error) => { error!("Error on Polkadot TransactionBroadcastRequest {broadcast_attempt_id:?}: {error:?}"); - state_chain_client.submit_signed_extrinsic( + state_chain_client.finalize_signed_extrinsic( state_chain_runtime::RuntimeCall::PolkadotBroadcaster( pallet_cf_broadcast::Call::transaction_signing_failure { broadcast_attempt_id, @@ -574,7 +574,7 @@ where Ok(tx_hash) => info!("Bitcoin TransactionBroadcastRequest {broadcast_attempt_id:?} success: tx_hash: {tx_hash:#x}"), Err(error) => { error!("Error on Bitcoin TransactionBroadcastRequest {broadcast_attempt_id:?}: {error:?}"); - state_chain_client.submit_signed_extrinsic( + state_chain_client.finalize_signed_extrinsic( state_chain_runtime::RuntimeCall::BitcoinBroadcaster( pallet_cf_broadcast::Call::transaction_signing_failure { broadcast_attempt_id, @@ -602,7 +602,7 @@ where { info!("Sending heartbeat at block: {}", current_block_header.number); state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_reputation::Call::heartbeat {}, ) .await; diff --git a/engine/src/state_chain_observer/sc_observer/tests.rs b/engine/src/state_chain_observer/sc_observer/tests.rs index e16d3ad421..4856c3a82e 100644 --- a/engine/src/state_chain_observer/sc_observer/tests.rs +++ b/engine/src/state_chain_observer/sc_observer/tests.rs @@ -209,13 +209,13 @@ ChainCrypto>::ThresholdSignature: std::convert::From<::Signat .boxed() }); state_chain_client - .expect_submit_signed_extrinsic::>() + .expect_finalize_signed_extrinsic::>() .with(eq(pallet_cf_threshold_signature::Call::::report_signature_failed { ceremony_id: ceremony_id_2, offenders: BTreeSet::default(), })) .once() - .return_once(|_| (H256::default(), extrinsic_api::signed::MockUntilFinalized::new())); + .return_once(|_| extrinsic_api::signed::MockUntilFinalized::new()); // ceremony_id_3 is a success and should submit an unsigned extrinsic let ceremony_id_3 = ceremony_id_2 + 1; @@ -326,9 +326,9 @@ where .times(2) .return_const(our_account_id.clone()); state_chain_client - .expect_submit_signed_extrinsic::>() + .expect_finalize_signed_extrinsic::>() .once() - .return_once(|_| (H256::default(), extrinsic_api::signed::MockUntilFinalized::new())); + .return_once(|_| extrinsic_api::signed::MockUntilFinalized::new()); let state_chain_client = Arc::new(state_chain_client); let mut multisig_client = MockMultisigClientApi::::new(); @@ -448,9 +448,9 @@ where .boxed() }); state_chain_client - .expect_submit_signed_extrinsic::>() + .expect_finalize_signed_extrinsic::>() .once() - .return_once(|_| (H256::default(), extrinsic_api::signed::MockUntilFinalized::new())); + .return_once(|_| extrinsic_api::signed::MockUntilFinalized::new()); let state_chain_client = Arc::new(state_chain_client); task_scope(|scope| { diff --git a/engine/src/witness/btc.rs b/engine/src/witness/btc.rs index 525aba7017..fa0cfbcbe4 100644 --- a/engine/src/witness/btc.rs +++ b/engine/src/witness/btc.rs @@ -82,7 +82,7 @@ where // Submit all deposit witnesses for the block. if !deposit_witnesses.is_empty() { state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_ingress_egress::Call::<_, BitcoinInstance>::process_deposits { deposit_witnesses, @@ -107,7 +107,7 @@ where for tx_hash in success_witnesses(&monitored_tx_hashes, &txs) { state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new(state_chain_runtime::RuntimeCall::BitcoinBroadcaster( pallet_cf_broadcast::Call::transaction_succeeded { tx_out_id: tx_hash, diff --git a/engine/src/witness/common/chunked_chain_source/chunked_by_time/chain_tracking.rs b/engine/src/witness/common/chunked_chain_source/chunked_by_time/chain_tracking.rs index df9e586fb3..c3573153b1 100644 --- a/engine/src/witness/common/chunked_chain_source/chunked_by_time/chain_tracking.rs +++ b/engine/src/witness/common/chunked_chain_source/chunked_by_time/chain_tracking.rs @@ -51,7 +51,7 @@ impl ChunkedByTimeBuilder { .into(), ); state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call, epoch_index: epoch.index, }) diff --git a/engine/src/witness/dot.rs b/engine/src/witness/dot.rs index ea01eafa05..2369431b21 100644 --- a/engine/src/witness/dot.rs +++ b/engine/src/witness/dot.rs @@ -140,7 +140,7 @@ where if !deposit_witnesses.is_empty() { state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_ingress_egress::Call::<_, PolkadotInstance>::process_deposits { deposit_witnesses, @@ -170,7 +170,7 @@ where for call in vault_key_rotated_calls { state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call, epoch_index: epoch.index, }) @@ -207,7 +207,7 @@ where if monitored_egress_ids.contains(&signature) { tracing::info!("Witnessing transaction_succeeded. signature: {signature:?}"); state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( diff --git a/engine/src/witness/eth/erc20_deposits.rs b/engine/src/witness/eth/erc20_deposits.rs index ae8d36036d..77ff9a4afa 100644 --- a/engine/src/witness/eth/erc20_deposits.rs +++ b/engine/src/witness/eth/erc20_deposits.rs @@ -127,7 +127,7 @@ impl ChunkedByVaultBuilder { if !deposit_witnesses.is_empty() { state_chain_client - .submit_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { + .finalize_signed_extrinsic(pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_ingress_egress::Call::< _, diff --git a/engine/src/witness/eth/ethereum_deposits.rs b/engine/src/witness/eth/ethereum_deposits.rs index d9ab11172e..9a707dddbe 100644 --- a/engine/src/witness/eth/ethereum_deposits.rs +++ b/engine/src/witness/eth/ethereum_deposits.rs @@ -105,7 +105,7 @@ impl ChunkedByVaultBuilder { if !ingresses.is_empty() { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_ingress_egress::Call::< diff --git a/engine/src/witness/eth/key_manager.rs b/engine/src/witness/eth/key_manager.rs index e5a97f6a11..30a60e98ec 100644 --- a/engine/src/witness/eth/key_manager.rs +++ b/engine/src/witness/eth/key_manager.rs @@ -78,7 +78,7 @@ impl ChunkedByVaultBuilder { match event.event_parameters { KeyManagerEvents::AggKeySetByAggKeyFilter(_) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_vaults::Call::< @@ -100,7 +100,7 @@ impl ChunkedByVaultBuilder { .. }) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_vaults::Call::< @@ -146,7 +146,7 @@ impl ChunkedByVaultBuilder { .try_into() .map_err(anyhow::Error::msg)?; state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_broadcast::Call::< @@ -176,7 +176,7 @@ impl ChunkedByVaultBuilder { message, }) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_governance::Call::set_whitelisted_call_hash { diff --git a/engine/src/witness/eth/state_chain_gateway.rs b/engine/src/witness/eth/state_chain_gateway.rs index b0b0fb50ca..5fff0e5eee 100644 --- a/engine/src/witness/eth/state_chain_gateway.rs +++ b/engine/src/witness/eth/state_chain_gateway.rs @@ -58,7 +58,7 @@ impl ChunkedByVaultBuilder { funder, }) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_funding::Call::funded { @@ -80,7 +80,7 @@ impl ChunkedByVaultBuilder { RedemptionExecutedFilter { node_id: account_id, amount }, ) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_funding::Call::redeemed { @@ -101,7 +101,7 @@ impl ChunkedByVaultBuilder { RedemptionExpiredFilter { node_id: account_id, amount: _ }, ) => { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new( pallet_cf_funding::Call::redemption_expired { diff --git a/engine/src/witness/eth/vault.rs b/engine/src/witness/eth/vault.rs index f7c8187fe7..ba1b330a6b 100644 --- a/engine/src/witness/eth/vault.rs +++ b/engine/src/witness/eth/vault.rs @@ -207,7 +207,7 @@ impl ChunkedByVaultBuilder { Ok(option_call) => if let Some(call) = option_call { state_chain_client - .submit_signed_extrinsic( + .finalize_signed_extrinsic( pallet_cf_witnesser::Call::witness_at_epoch { call: Box::new(call), epoch_index: epoch.index, diff --git a/utilities/Cargo.toml b/utilities/Cargo.toml index 5492f03aa9..fd1c5c5c57 100644 --- a/utilities/Cargo.toml +++ b/utilities/Cargo.toml @@ -34,7 +34,9 @@ warp = { version = "0.3.5", optional = true } sp-rpc = { git = "https://github.com/chainflip-io/substrate.git", tag = "chainflip-monthly-2023-08+1", optional = true } num-traits = { version = "0.2", optional = true } scopeguard = { version = "1.2.0" } -jsonrpsee = { version = "0.20", optional = true } +jsonrpsee = { version = "0.20", features = [ + "jsonrpsee-types", +], optional = true } [dev-dependencies] tempfile = "3.7.0"