Add Wococo<>Rococo Header Relayer (#925)

* Add Wococo primitives crate

* Add more Wococo boilerplate code

* Add CLI support for initializing the Wococo<>Rococo bridge

* Add support for relaying headers between Rococo and Wococo

* Fix test

* RustFmt

* Fix compilation issues related to enum naming

* Bump Rococo `spec_version`

* Remove stray Westend references
This commit is contained in:
Hernando Castano
2021-04-29 11:24:30 -04:00
committed by Bastian Köcher
parent 76625ed180
commit 7dc564a067
14 changed files with 602 additions and 8 deletions
@@ -44,6 +44,8 @@ arg_enum! {
MillauToRialto,
RialtoToMillau,
WestendToMillau,
RococoToWococo,
WococoToRococo,
}
}
@@ -98,6 +100,30 @@ macro_rules! select_bridge {
.into()
}
$generic
}
InitBridgeName::RococoToWococo => {
type Source = relay_rococo_client::Rococo;
type Target = relay_wococo_client::Wococo;
fn encode_init_bridge(
init_data: InitializationData<<Source as ChainBase>::Header>,
) -> <Target as Chain>::Call {
bp_wococo::Call::BridgeGrandpaRococo(bp_wococo::BridgeGrandpaRococoCall::initialize(init_data))
}
$generic
}
InitBridgeName::WococoToRococo => {
type Source = relay_wococo_client::Wococo;
type Target = relay_rococo_client::Rococo;
fn encode_init_bridge(
init_data: InitializationData<<Source as ChainBase>::Header>,
) -> <Target as Chain>::Call {
bp_rococo::Call::BridgeGrandpaWococo(bp_rococo::BridgeGrandpaWococoCall::initialize(init_data))
}
$generic
}
}