Use named parameters for indirect calls (#1823)

This commit is contained in:
Serban Iorga
2023-01-27 14:13:25 +02:00
committed by Bastian Köcher
parent a417c707d6
commit 5d875d05d3
12 changed files with 77 additions and 43 deletions
+5 -2
View File
@@ -1178,7 +1178,7 @@ mod tests {
let direct_initialize_call = let direct_initialize_call =
Call::<TestRuntime>::initialize { init_data: init_data.clone() }; Call::<TestRuntime>::initialize { init_data: init_data.clone() };
let indirect_initialize_call = BridgeGrandpaCall::<TestHeader>::initialize(init_data); let indirect_initialize_call = BridgeGrandpaCall::<TestHeader>::initialize { init_data };
assert_eq!(direct_initialize_call.encode(), indirect_initialize_call.encode()); assert_eq!(direct_initialize_call.encode(), indirect_initialize_call.encode());
let direct_submit_finality_proof_call = Call::<TestRuntime>::submit_finality_proof { let direct_submit_finality_proof_call = Call::<TestRuntime>::submit_finality_proof {
@@ -1186,7 +1186,10 @@ mod tests {
justification: justification.clone(), justification: justification.clone(),
}; };
let indirect_submit_finality_proof_call = let indirect_submit_finality_proof_call =
BridgeGrandpaCall::<TestHeader>::submit_finality_proof(Box::new(header), justification); BridgeGrandpaCall::<TestHeader>::submit_finality_proof {
finality_target: Box::new(header),
justification,
};
assert_eq!( assert_eq!(
direct_submit_finality_proof_call.encode(), direct_submit_finality_proof_call.encode(),
indirect_submit_finality_proof_call.encode() indirect_submit_finality_proof_call.encode()
+10 -10
View File
@@ -1928,12 +1928,12 @@ mod tests {
AccountId, AccountId,
TestMessagesProof, TestMessagesProof,
TestMessagesDeliveryProof, TestMessagesDeliveryProof,
>::receive_messages_proof( >::receive_messages_proof {
account_id, relayer_id_at_bridged_chain: account_id,
message_proof, proof: message_proof,
1, messages_count: 1,
REGULAR_PAYLOAD.declared_weight, dispatch_weight: REGULAR_PAYLOAD.declared_weight,
); };
assert_eq!( assert_eq!(
direct_receive_messages_proof_call.encode(), direct_receive_messages_proof_call.encode(),
indirect_receive_messages_proof_call.encode() indirect_receive_messages_proof_call.encode()
@@ -1948,10 +1948,10 @@ mod tests {
AccountId, AccountId,
TestMessagesProof, TestMessagesProof,
TestMessagesDeliveryProof, TestMessagesDeliveryProof,
>::receive_messages_delivery_proof( >::receive_messages_delivery_proof {
message_delivery_proof, proof: message_delivery_proof,
unrewarded_relayer_state, relayers_state: unrewarded_relayer_state,
); };
assert_eq!( assert_eq!(
direct_receive_messages_delivery_proof_call.encode(), direct_receive_messages_delivery_proof_call.encode(),
indirect_receive_messages_delivery_proof_call.encode() indirect_receive_messages_delivery_proof_call.encode()
+5 -2
View File
@@ -1513,8 +1513,11 @@ mod tests {
parachains: parachains.clone(), parachains: parachains.clone(),
parachain_heads_proof: proof.clone(), parachain_heads_proof: proof.clone(),
}; };
let indirect_submit_parachain_heads_call = let indirect_submit_parachain_heads_call = BridgeParachainCall::submit_parachain_heads {
BridgeParachainCall::submit_parachain_heads(relay_header_id, parachains, proof); at_relay_block: relay_header_id,
parachains,
parachain_heads_proof: proof,
};
assert_eq!( assert_eq!(
direct_submit_parachain_heads_call.encode(), direct_submit_parachain_heads_call.encode(),
indirect_submit_parachain_heads_call.encode() indirect_submit_parachain_heads_call.encode()
+5 -2
View File
@@ -176,10 +176,13 @@ impl<Number: Codec> ConsensusLogReader for GrandpaConsensusLogReader<Number> {
pub enum BridgeGrandpaCall<Header: HeaderT> { pub enum BridgeGrandpaCall<Header: HeaderT> {
/// `pallet-bridge-grandpa::Call::submit_finality_proof` /// `pallet-bridge-grandpa::Call::submit_finality_proof`
#[codec(index = 0)] #[codec(index = 0)]
submit_finality_proof(Box<Header>, justification::GrandpaJustification<Header>), submit_finality_proof {
finality_target: Box<Header>,
justification: justification::GrandpaJustification<Header>,
},
/// `pallet-bridge-grandpa::Call::initialize` /// `pallet-bridge-grandpa::Call::initialize`
#[codec(index = 1)] #[codec(index = 1)]
initialize(InitializationData<Header>), initialize { init_data: InitializationData<Header> },
} }
/// The `BridgeGrandpaCall` used by a chain. /// The `BridgeGrandpaCall` used by a chain.
+10 -2
View File
@@ -397,10 +397,18 @@ where
pub enum BridgeMessagesCall<AccountId, MessagesProof, MessagesDeliveryProof> { pub enum BridgeMessagesCall<AccountId, MessagesProof, MessagesDeliveryProof> {
/// `pallet-bridge-messages::Call::receive_messages_proof` /// `pallet-bridge-messages::Call::receive_messages_proof`
#[codec(index = 2)] #[codec(index = 2)]
receive_messages_proof(AccountId, MessagesProof, u32, Weight), receive_messages_proof {
relayer_id_at_bridged_chain: AccountId,
proof: MessagesProof,
messages_count: u32,
dispatch_weight: Weight,
},
/// `pallet-bridge-messages::Call::receive_messages_delivery_proof` /// `pallet-bridge-messages::Call::receive_messages_delivery_proof`
#[codec(index = 3)] #[codec(index = 3)]
receive_messages_delivery_proof(MessagesDeliveryProof, UnrewardedRelayersState), receive_messages_delivery_proof {
proof: MessagesDeliveryProof,
relayers_state: UnrewardedRelayersState,
},
} }
#[cfg(test)] #[cfg(test)]
+5 -5
View File
@@ -157,9 +157,9 @@ impl ParaStoredHeaderDataBuilder for C {
pub enum BridgeParachainCall { pub enum BridgeParachainCall {
/// `pallet-bridge-parachains::Call::submit_parachain_heads` /// `pallet-bridge-parachains::Call::submit_parachain_heads`
#[codec(index = 0)] #[codec(index = 0)]
submit_parachain_heads( submit_parachain_heads {
(RelayBlockNumber, RelayBlockHash), at_relay_block: (RelayBlockNumber, RelayBlockHash),
Vec<(ParaId, ParaHash)>, parachains: Vec<(ParaId, ParaHash)>,
ParaHeadsProof, parachain_heads_proof: ParaHeadsProof,
), },
} }
@@ -51,11 +51,11 @@ impl SubmitParachainHeadsCallBuilder<BridgeHubRococoToBridgeHubWococo>
parachain_heads_proof: ParaHeadsProof, parachain_heads_proof: ParaHeadsProof,
) -> CallOf<relay_bridge_hub_wococo_client::BridgeHubWococo> { ) -> CallOf<relay_bridge_hub_wococo_client::BridgeHubWococo> {
relay_bridge_hub_wococo_client::runtime::Call::BridgeRococoParachain( relay_bridge_hub_wococo_client::runtime::Call::BridgeRococoParachain(
relay_bridge_hub_wococo_client::runtime::BridgeParachainCall::submit_parachain_heads( relay_bridge_hub_wococo_client::runtime::BridgeParachainCall::submit_parachain_heads {
(at_relay_block.0, at_relay_block.1), at_relay_block: (at_relay_block.0, at_relay_block.1),
parachains, parachains,
parachain_heads_proof, parachain_heads_proof,
), },
) )
} }
} }
@@ -51,11 +51,11 @@ impl SubmitParachainHeadsCallBuilder<BridgeHubWococoToBridgeHubRococo>
parachain_heads_proof: ParaHeadsProof, parachain_heads_proof: ParaHeadsProof,
) -> CallOf<relay_bridge_hub_rococo_client::BridgeHubRococo> { ) -> CallOf<relay_bridge_hub_rococo_client::BridgeHubRococo> {
relay_bridge_hub_rococo_client::runtime::Call::BridgeWococoParachain( relay_bridge_hub_rococo_client::runtime::Call::BridgeWococoParachain(
bp_parachains::BridgeParachainCall::submit_parachain_heads( bp_parachains::BridgeParachainCall::submit_parachain_heads {
(at_relay_block.0, at_relay_block.1), at_relay_block: (at_relay_block.0, at_relay_block.1),
parachains, parachains,
parachain_heads_proof, parachain_heads_proof,
), },
) )
} }
} }
@@ -125,9 +125,10 @@ impl BridgeInitializer for MillauToRialtoParachainCliBridge {
) -> <Self::Target as Chain>::Call { ) -> <Self::Target as Chain>::Call {
use relay_rialto_parachain_client::runtime; use relay_rialto_parachain_client::runtime;
let initialize_call = runtime::Call::BridgeMillauGrandpa( let initialize_call =
runtime::BridgeMillauGrandpaCall::initialize(init_data), runtime::Call::BridgeMillauGrandpa(runtime::BridgeMillauGrandpaCall::initialize {
); init_data,
});
let sudo_call = SudoCall::sudo(Box::new(initialize_call)); let sudo_call = SudoCall::sudo(Box::new(initialize_call));
runtime::Call::Sudo(sudo_call) runtime::Call::Sudo(sudo_call)
} }
@@ -176,7 +177,9 @@ impl BridgeInitializer for RococoToBridgeHubWococoCliBridge {
init_data: <Self::Engine as Engine<Self::Source>>::InitializationData, init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
) -> <Self::Target as Chain>::Call { ) -> <Self::Target as Chain>::Call {
relay_bridge_hub_wococo_client::runtime::Call::BridgeRococoGrandpa( relay_bridge_hub_wococo_client::runtime::Call::BridgeRococoGrandpa(
relay_bridge_hub_wococo_client::runtime::BridgeRococoGrandpaCall::initialize(init_data), relay_bridge_hub_wococo_client::runtime::BridgeRococoGrandpaCall::initialize {
init_data,
},
) )
} }
} }
@@ -188,7 +191,9 @@ impl BridgeInitializer for WococoToBridgeHubRococoCliBridge {
init_data: <Self::Engine as Engine<Self::Source>>::InitializationData, init_data: <Self::Engine as Engine<Self::Source>>::InitializationData,
) -> <Self::Target as Chain>::Call { ) -> <Self::Target as Chain>::Call {
relay_bridge_hub_rococo_client::runtime::Call::BridgeWococoGrandpa( relay_bridge_hub_rococo_client::runtime::Call::BridgeWococoGrandpa(
relay_bridge_hub_rococo_client::runtime::BridgeWococoGrandpaCall::initialize(init_data), relay_bridge_hub_rococo_client::runtime::BridgeWococoGrandpaCall::initialize {
init_data,
},
) )
} }
} }
@@ -96,7 +96,7 @@ mod tests {
set_id: 6, set_id: 6,
operating_mode: BasicOperatingMode::Normal, operating_mode: BasicOperatingMode::Normal,
}; };
let call = BridgeRococoGrandpaCall::initialize(init_data); let call = BridgeRococoGrandpaCall::initialize { init_data };
let tx = Call::BridgeRococoGrandpa(call); let tx = Call::BridgeRococoGrandpa(call);
// encode call as hex string // encode call as hex string
@@ -156,7 +156,12 @@ macro_rules! generate_mocked_submit_finality_proof_call_builder {
) -> relay_substrate_client::CallOf< ) -> relay_substrate_client::CallOf<
<$pipeline as $crate::finality::SubstrateFinalitySyncPipeline>::TargetChain <$pipeline as $crate::finality::SubstrateFinalitySyncPipeline>::TargetChain
> { > {
$bridge_grandpa($submit_finality_proof(Box::new(header.into_inner()), proof)) bp_runtime::paste::item! {
$bridge_grandpa($submit_finality_proof {
finality_target: Box::new(header.into_inner()),
justification: proof
})
}
} }
} }
}; };
@@ -335,12 +335,14 @@ macro_rules! generate_mocked_receive_message_proof_call_builder {
) -> relay_substrate_client::CallOf< ) -> relay_substrate_client::CallOf<
<$pipeline as $crate::messages_lane::SubstrateMessageLane>::TargetChain <$pipeline as $crate::messages_lane::SubstrateMessageLane>::TargetChain
> { > {
$bridge_messages($receive_messages_proof( bp_runtime::paste::item! {
relayer_id_at_source, $bridge_messages($receive_messages_proof {
proof.1, relayer_id_at_bridged_chain: relayer_id_at_source,
messages_count, proof: proof.1,
dispatch_weight, messages_count: messages_count,
)) dispatch_weight: dispatch_weight,
})
}
} }
} }
}; };
@@ -424,7 +426,12 @@ macro_rules! generate_mocked_receive_message_delivery_proof_call_builder {
) -> relay_substrate_client::CallOf< ) -> relay_substrate_client::CallOf<
<$pipeline as $crate::messages_lane::SubstrateMessageLane>::SourceChain <$pipeline as $crate::messages_lane::SubstrateMessageLane>::SourceChain
> { > {
$bridge_messages($receive_messages_delivery_proof(proof.1, proof.0)) bp_runtime::paste::item! {
$bridge_messages($receive_messages_delivery_proof {
proof: proof.1,
relayers_state: proof.0
})
}
} }
} }
}; };