XCM messaging fixes

This commit is contained in:
Branislav Kontur
2022-11-07 10:57:35 +01:00
parent c886877a80
commit 805615009b
5 changed files with 49 additions and 26 deletions
@@ -152,7 +152,7 @@ jobs:
WESTMINT_DIGEST: ${{ github.workspace}}/westmint-srtool-json/westmint-srtool-digest.json
STATEMINE_DIGEST: ${{ github.workspace}}/statemine-srtool-json/statemine-srtool-digest.json
STATEMINT_DIGEST: ${{ github.workspace}}/statemint-srtool-json/statemint-srtool-digest.json
BRIDE_HUB_ROCOCO_DIGEST: ${{ github.workspace}}/bridge-hub-rococo-srtool-json/bridge-hub-rococo-srtool-digest.json
BRIDGE_HUB_ROCOCO_DIGEST: ${{ github.workspace}}/bridge-hub-rococo-srtool-json/bridge-hub-rococo-srtool-digest.json
COLLECTIVES_POLKADOT_DIGEST: ${{ github.workspace}}/collectives-polkadot-srtool-json/collectives-polkadot-srtool-digest.json
ROCOCO_PARA_DIGEST: ${{ github.workspace}}/rococo-parachain-srtool-json/rococo-parachain-srtool-digest.json
CANVAS_KUSAMA_DIGEST: ${{ github.workspace}}/contracts-rococo-srtool-json/contracts-rococo-srtool-digest.json
@@ -168,7 +168,7 @@ jobs:
ls -al $WESTMINT_DIGEST || true
ls -al $STATEMINE_DIGEST || true
ls -al $STATEMINT_DIGEST || true
ls -al $BRIDE_HUB_ROCOCO_DIGEST || true
ls -al $BRIDGE_HUB_ROCOCO_DIGEST || true
ls -al $COLLECTIVES_POLKADOT_DIGEST || true
ls -al $ROCOCO_PARA_DIGEST || true
ls -al $CANVAS_KUSAMA_DIGEST || true
+13
View File
@@ -163,6 +163,19 @@ RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
**4. Relay (XCM) messages**
```
# Rococo -> Wococo
RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
~/local_bridge_testing/bin/substrate-relay relay-messages bridge-hub-rococo-to-bridge-hub-wococo \
--source-host localhost \
--source-port 8943 \
--source-signer //Charlie \
--target-host localhost \
--target-port 8945 \
--target-signer //Charlie \
--target-transactions-mortality=4 \
--lane 00000002
```
TODO:
---
@@ -91,8 +91,9 @@ impl MessageBridge for WithBridgeHubWococoMessageBridge {
bridged_balance: bridge_runtime_common::messages::BalanceOf<BridgedChain<Self>>,
bridged_to_this_conversion_rate_override: Option<FixedU128>,
) -> bridge_runtime_common::messages::BalanceOf<ThisChain<Self>> {
log::info!("[WithBridgeHubWococoMessageBridge] bridged_balance_to_this_balance - bridged_balance: {:?}, bridged_to_this_conversion_rate_override: {:?}", bridged_balance, bridged_to_this_conversion_rate_override);
unimplemented!("TODO: WithBridgeHubWococoMessageBridge - bridged_balance_to_this_balance")
log::info!("[WithBridgeHubWococoMessageBridge] bridged_balance_to_this_balance (returns 0 balance, TODO: fix) - bridged_balance: {:?}, bridged_to_this_conversion_rate_override: {:?}", bridged_balance, bridged_to_this_conversion_rate_override);
// TODO:check-parameter - any payment? from sovereign account?
0
}
}
@@ -193,14 +194,11 @@ impl messages::BridgedChainWithMessages for BridgeHubWococo {
transaction: MessageTransaction<WeightOf<Self>>,
) -> messages::BalanceOf<Self> {
log::info!(
"[BridgeHubWococo::BridgedChainWithMessages] transaction_payment - transaction: {:?}",
"[BridgeHubWococo::BridgedChainWithMessages] transaction_payment (returns 0 balance, TODO: fix) - transaction: {:?}",
transaction
);
// TODO:check-parameter - any payment? from sovereign account?
unimplemented!(
"[BridgeHubWococo/BridgedChainWithMessages] transaction_payment - transaction: {:?}",
transaction
)
0
}
}
@@ -243,13 +241,10 @@ impl ThisChainWithMessages for BridgeHubRococo {
transaction: MessageTransaction<WeightOf<Self>>,
) -> messages::BalanceOf<Self> {
log::info!(
"[BridgeHubRococo::ThisChainWithMessages] transaction_payment - transaction: {:?}",
"[BridgeHubRococo::ThisChainWithMessages] transaction_payment (returns 0 balance, TODO: fix) - transaction: {:?}",
transaction
);
// TODO:check-parameter - any payment? from sovereign account?
unimplemented!(
"[BridgeHubRococo/ThisChainWithMessages] transaction_payment - transaction: {:?}",
transaction
)
0
}
}
@@ -91,8 +91,9 @@ impl MessageBridge for WithBridgeHubRococoMessageBridge {
bridged_balance: bridge_runtime_common::messages::BalanceOf<BridgedChain<Self>>,
bridged_to_this_conversion_rate_override: Option<FixedU128>,
) -> bridge_runtime_common::messages::BalanceOf<ThisChain<Self>> {
log::info!("[WithBridgeHubRococoMessageBridge] bridged_balance_to_this_balance - bridged_balance: {:?}, bridged_to_this_conversion_rate_override: {:?}", bridged_balance, bridged_to_this_conversion_rate_override);
unimplemented!("TODO: WithBridgeHubRococoMessageBridge - bridged_balance_to_this_balance")
log::info!("[WithBridgeHubRococoMessageBridge] bridged_balance_to_this_balance (returns 0 balance, TODO: fix) - bridged_balance: {:?}, bridged_to_this_conversion_rate_override: {:?}", bridged_balance, bridged_to_this_conversion_rate_override);
// TODO:check-parameter - any payment? from sovereign account?
0
}
}
@@ -193,14 +194,11 @@ impl messages::BridgedChainWithMessages for BridgeHubRococo {
transaction: MessageTransaction<WeightOf<Self>>,
) -> messages::BalanceOf<Self> {
log::info!(
"[BridgeHubRococo::BridgedChainWithMessages] transaction_payment - transaction: {:?}",
"[BridgeHubRococo::BridgedChainWithMessages] transaction_payment (returns 0 balance, TODO: fix) - transaction: {:?}",
transaction
);
// TODO:check-parameter - any payment? from sovereign account?
unimplemented!(
"[BridgeHubRococo/BridgedChainWithMessages] transaction_payment - transaction: {:?}",
transaction
)
0
}
}
@@ -243,13 +241,10 @@ impl ThisChainWithMessages for BridgeHubWococo {
transaction: MessageTransaction<WeightOf<Self>>,
) -> messages::BalanceOf<Self> {
log::info!(
"[BridgeHubWococo::ThisChainWithMessages] transaction_payment - transaction: {:?}",
"[BridgeHubWococo::ThisChainWithMessages] transaction_payment (returns 0 balance, TODO: fix) - transaction: {:?}",
transaction
);
// TODO:check-parameter - any payment? from sovereign account?
unimplemented!(
"[BridgeHubWococo/ThisChainWithMessages] transaction_payment - transaction: {:?}",
transaction
)
0
}
}
@@ -28,6 +28,7 @@ pub mod bridge_hub_wococo_config;
mod weights;
pub mod xcm_config;
use codec::Decode;
use bridge_common_config::*;
use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;
use smallvec::smallvec;
@@ -247,6 +248,8 @@ pub mod runtime_api {
use super::{BlockNumber, Hash};
bp_runtime::decl_bridge_finality_runtime_apis!(rococo);
bp_runtime::decl_bridge_finality_runtime_apis!(wococo);
bp_runtime::decl_bridge_finality_runtime_apis!(bridge_hub_rococo);
bp_runtime::decl_bridge_finality_runtime_apis!(bridge_hub_wococo);
use bp_messages::{
InboundMessageDetails, LaneId, MessageNonce, MessagePayload, OutboundMessageDetails,
@@ -811,6 +814,23 @@ impl_runtime_apis! {
}
}
impl runtime_api::BridgeHubRococoFinalityApi<Block> for Runtime {
fn best_finalized() -> Option<HeaderId<Hash, BlockNumber>> {
let encoded_head = BridgeRococoParachain::best_parachain_head(bp_bridge_hub_rococo::BRIDGE_HUB_ROCOCO_PARACHAIN_ID.into())?;
let head = bp_bridge_hub_rococo::Header::decode(&mut &encoded_head.0[..]).ok()?;
Some(head.id())
}
}
impl runtime_api::BridgeHubWococoFinalityApi<Block> for Runtime {
fn best_finalized() -> Option<HeaderId<Hash, BlockNumber>> {
let encoded_head = BridgeWococoParachain::best_parachain_head(bp_bridge_hub_wococo::BRIDGE_HUB_WOCOCO_PARACHAIN_ID.into())?;
let head = bp_bridge_hub_wococo::Header::decode(&mut &encoded_head.0[..]).ok()?;
Some(head.id())
}
}
// This exposed by BridgeHubRococo
impl runtime_api::ToBridgeHubWococoOutboundLaneApi<Block, Balance, XcmAsPlainPayload> for Runtime {
fn estimate_message_delivery_and_dispatch_fee(