Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bridges - Add improved congestion control mechanism #6231

Draft
wants to merge 148 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
ad0931c
Nits
bkontur Oct 25, 2024
efce0e7
Remove internal `ViaBridgeHubExporter/SovereignPaidRemoteExporter` an…
bkontur Oct 25, 2024
28a19f8
doc
bkontur Oct 25, 2024
725f667
".git/.scripts/commands/fmt/fmt.sh"
Oct 25, 2024
63a1fd6
Update from bkontur running command 'prdoc --audience runtime_dev --b…
actions-user Oct 25, 2024
a9db6f5
Simplification: Merge `bridge_owner_account` / `deposit` to optional …
bkontur Oct 25, 2024
382dbe8
Update prdoc/pr_6231.prdoc
bkontur Oct 26, 2024
660b3fa
Add tests that `pallet-xcm-bridge-hub-router` can work locally with `…
bkontur Oct 26, 2024
3b36975
Fix testnet runtimes
bkontur Oct 26, 2024
b77d3ac
".git/.scripts/commands/fmt/fmt.sh"
Oct 26, 2024
abd2f00
nit
bkontur Oct 26, 2024
095d124
Extract dynamic fees calculation as separate feature
bkontur Oct 28, 2024
459228a
".git/.scripts/commands/fmt/fmt.sh"
Oct 28, 2024
3f32d75
We don't need `ExporterFor/Bridges` for `pallet-xcm-bridge-hub-router…
bkontur Oct 28, 2024
cb71f3e
Implement congestion and dynamic fees for logical bridges - part1
bkontur Oct 31, 2024
24626fd
Nits
bkontur Nov 2, 2024
fa2f8c7
Report congestion and logical bridges/channel with tests
bkontur Nov 4, 2024
0505440
Add `BlobDispatcherWithChannelStatus` adapter
bkontur Nov 5, 2024
a56c546
Cleanup primitives/consts
bkontur Nov 5, 2024
4334b70
Adapt testnet runtimes to latest congestion changes
bkontur Nov 5, 2024
d4d0b11
".git/.scripts/commands/fmt/fmt.sh"
Nov 5, 2024
5e28b0d
Add `maybe_notify` callback for congestion
bkontur Nov 6, 2024
2fc4cba
Added `update_notification_receiver` extrinsic
bkontur Nov 6, 2024
7e5dd3f
Removed `require_weight_at_most` for xcm::v5
bkontur Nov 7, 2024
73e404a
Benchmarks for `pallet-xcm-bridge-hub-router`
bkontur Nov 7, 2024
5eefeec
Update from bkontur running command 'fmt'
actions-user Nov 7, 2024
4c1129c
Fix benchmarks
bkontur Nov 7, 2024
3b8f8db
Fix benchmarks for BH
bkontur Nov 7, 2024
b557388
Update from bkontur running command 'fmt'
actions-user Nov 7, 2024
ca045ea
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 7, 2024
78afc1c
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 7, 2024
4d16cc5
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 7, 2024
c031d48
Fixed benchmarks
bkontur Nov 7, 2024
28fc081
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=br…
Nov 7, 2024
87098db
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=br…
Nov 7, 2024
806f096
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 7, 2024
b5b25ce
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 7, 2024
31a9670
Update from bkontur running command 'fmt'
actions-user Nov 8, 2024
48f9f00
Adjust const
bkontur Nov 8, 2024
39eeb89
Add benchmarks for pallet-xcm-bridge-hub
bkontur Nov 8, 2024
7adcefd
Update from bkontur running command 'fmt'
actions-user Nov 8, 2024
26bb7a9
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
4602edb
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
be876b2
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=br…
Nov 9, 2024
178b76e
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
54adf00
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
ef2321a
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
ea8d9dc
".git/.scripts/commands/bench/bench.sh" --subcommand=xcm --runtime=br…
Nov 9, 2024
15f4e69
".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…
Nov 9, 2024
6d415be
clippy + weights
bkontur Nov 9, 2024
3e32dcf
Adds ability to stop `exporting` more messages (a.k.a dropping).
bkontur Nov 11, 2024
fbcacb0
Update from bkontur running command 'fmt'
actions-user Nov 11, 2024
9e11db5
Fix
bkontur Nov 11, 2024
6513057
Fix
bkontur Nov 11, 2024
31045aa
Update from bkontur running command 'fmt'
actions-user Nov 11, 2024
8a7eb9a
Forgotten prdoc
bkontur Nov 11, 2024
15761c1
Merge branch 'master' into bko-bridges-congestion
bkontur Nov 11, 2024
cd92d5e
Update bridges/modules/xcm-bridge-hub/src/benchmarking.rs
bkontur Nov 14, 2024
4b6deb9
Update bridges/modules/xcm-bridge-hub-router/src/lib.rs
bkontur Nov 14, 2024
ac092d3
Update bridges/modules/xcm-bridge-hub-router/src/impls.rs
bkontur Nov 14, 2024
393cded
Update bridges/modules/xcm-bridge-hub-router/src/impls.rs
bkontur Nov 14, 2024
1bcbbdf
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 14, 2024
bdb8c8a
Removed `sp_tracing::try_init_simple`
bkontur Nov 14, 2024
b8efb0b
Update bridges/modules/xcm-bridge-hub-router/src/lib.rs
bkontur Nov 14, 2024
162c1f6
Link types - review comment
bkontur Nov 14, 2024
b8d2742
PR review - fees -> fee
bkontur Nov 14, 2024
ecf3499
PR review - change `on_initialize` to `on_idle`
bkontur Nov 14, 2024
f643ec7
Update from bkontur running command 'fmt'
actions-user Nov 14, 2024
8518de3
PR review - updated docs
bkontur Nov 14, 2024
8a082c1
clippy
bkontur Nov 15, 2024
0ccfef2
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 15, 2024
465db5f
Update from bkontur running command 'fmt'
actions-user Nov 15, 2024
37974be
Merge branch 'master' into bko-bridges-congestion
bkontur Nov 16, 2024
416e2e0
PR review
bkontur Nov 19, 2024
9f66e49
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 19, 2024
15ef0a4
PR review - removed brackets
bkontur Nov 19, 2024
296476e
PR review
bkontur Nov 19, 2024
d69c22b
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 20, 2024
02285ac
PR review - renamed report_bridge_status to update_bridge_status
bkontur Nov 20, 2024
f18e230
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 20, 2024
a5eb1c3
Update from bkontur running command 'fmt'
actions-user Nov 21, 2024
4c1c315
Merge branch 'master' into bko-bridges-congestion
bkontur Nov 21, 2024
85dbd00
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 26, 2024
9ad289b
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 27, 2024
c93d722
Tuple implementation for `ChannelStatusProvider` to cover more cases …
bkontur Nov 27, 2024
8ccb773
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Nov 27, 2024
981e3df
Update from bkontur running command 'fmt'
actions-user Nov 27, 2024
91567e0
Merge branch 'master' into bko-bridges-congestion
bkontur Nov 28, 2024
18f31da
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Dec 20, 2024
16ae079
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Dec 20, 2024
4569510
Merge branch 'master' into bko-bridges-congestion
bkontur Dec 22, 2024
8e681fb
zepter/taplo
bkontur Dec 22, 2024
69e85cc
Update from bkontur running command 'fmt'
Dec 22, 2024
b7e33f9
Merge branch 'master' into bko-bridges-congestion
bkontur Jan 13, 2025
511e501
Apply suggestions from code review
bkontur Jan 13, 2025
b94b9b9
Finish renaming ToBridgeHubSender->MessageExporter + TODOs
bkontur Jan 13, 2025
1783fa0
Apply suggestions from code review
bkontur Jan 13, 2025
ff1739e
Change LOG_TARGET prefix to "xcm:"
bkontur Jan 14, 2025
162368a
Finish Hard/SoftSuspended change
bkontur Jan 14, 2025
5c36764
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 14, 2025
7ccfddf
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 16, 2025
f99f68f
Use `LocalExporter` instead of `UnpaidLocalExporter`
bkontur Jan 16, 2025
e00c566
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 17, 2025
5a98bea
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 17, 2025
fbf02f0
Remove `mut` from `calculate_dynamic_fee`
bkontur Jan 17, 2025
96e1cc6
TODO: remove migration when renamed
bkontur Jan 17, 2025
210bcd3
When detected "not congested", just remove status + removed `on_idle`
bkontur Jan 17, 2025
68aeaba
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 17, 2025
b5983b8
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 22, 2025
a1a63f0
Renamed `BridgeHubOrigin` to `UpdateBridgeStatusOrigin`
bkontur Jan 22, 2025
75b6a47
Rename: pallet-xcm-bridge-hub -> pallet-xcm-bridge - Part 1
bkontur Jan 22, 2025
bcfc2c3
Rename: bp-xcm-bridge-hub -> bp-xcm-bridge - Part 2
bkontur Jan 22, 2025
63a8e33
Rename: pallet-xcm-bridge-hub-router -> pallet-xcm-bridge-router - Pa…
bkontur Jan 23, 2025
ead76d4
Rename: bp-xcm-bridge-hub-router -> bp-xcm-bridge-router - Part 4
bkontur Jan 23, 2025
af0bdd1
Change versions for a new modules
bkontur Jan 23, 2025
8538536
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 23, 2025
7335017
Revert back (untouched): pallet-xcm-bridge-hub* + bp-xcm-bridge-hub*
bkontur Jan 23, 2025
eebcc55
Fix umbrella
bkontur Jan 23, 2025
efe4317
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 23, 2025
bd4b8ed
taplo + umbrella
bkontur Jan 23, 2025
f020cd8
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 23, 2025
74789f6
umbrella
bkontur Jan 23, 2025
16dd43f
Rename tweaks
bkontur Jan 27, 2025
cd90ab8
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 27, 2025
680d469
Fix emulated tests for `BridgeMessageHandler` compatibility over `pal…
bkontur Jan 27, 2025
421a37e
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 27, 2025
67cad94
Nit
bkontur Jan 28, 2025
8029712
More tweaks
bkontur Jan 28, 2025
e67ff8f
Backwards compatible tweaks for xcmp-queue
bkontur Jan 28, 2025
8c320aa
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 28, 2025
c431372
Remove STATE_VERSION and migration from the new pallet-xcm-bridge module
bkontur Jan 28, 2025
ed63d60
Clean-up bridge test-cases for backwards compatibility for pallet_xcm…
bkontur Jan 29, 2025
b9efa53
Add bridge test-cases for `pallet_xcm_bridge`
bkontur Jan 29, 2025
b4f2106
Revert report_bridge_status_from_xcm_bridge_router_works for backward…
bkontur Jan 29, 2025
03a196a
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 29, 2025
7b316db
Apply suggestions from code review
bkontur Jan 29, 2025
9f2d484
Cargo.lock
bkontur Jan 29, 2025
d033898
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 29, 2025
ac4b6c9
Moved tests to the tests.rs
bkontur Jan 29, 2025
c0c7f40
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 29, 2025
884cc43
Update from bkontur running command 'fmt'
github-actions[bot] Jan 29, 2025
65ce4f7
clippy
bkontur Jan 30, 2025
2c606c2
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 30, 2025
71dc8fd
Refactor calculate_dynamic_fee -> apply_dynamic_fee_factor
bkontur Jan 30, 2025
c007bb4
Fix umbrella
bkontur Jan 30, 2025
a766c4a
Fix benchmarks
bkontur Jan 31, 2025
00b2790
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Jan 31, 2025
d781ed1
Merge remote-tracking branch 'origin/master' into bko-bridges-congestion
bkontur Feb 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 97 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ members = [
"bridges/modules/messages",
"bridges/modules/parachains",
"bridges/modules/relayers",
"bridges/modules/xcm-bridge",
"bridges/modules/xcm-bridge-hub",
"bridges/modules/xcm-bridge-hub-router",
"bridges/modules/xcm-bridge-router",
"bridges/primitives/beefy",
"bridges/primitives/header-chain",
"bridges/primitives/messages",
Expand All @@ -37,8 +39,10 @@ members = [
"bridges/primitives/relayers",
"bridges/primitives/runtime",
"bridges/primitives/test-utils",
"bridges/primitives/xcm-bridge",
"bridges/primitives/xcm-bridge-hub",
"bridges/primitives/xcm-bridge-hub-router",
"bridges/primitives/xcm-bridge-router",
"bridges/relays/client-substrate",
"bridges/relays/equivocation",
"bridges/relays/finality",
Expand Down Expand Up @@ -664,8 +668,10 @@ bp-rococo = { path = "bridges/chains/chain-rococo", default-features = false }
bp-runtime = { path = "bridges/primitives/runtime", default-features = false }
bp-test-utils = { path = "bridges/primitives/test-utils", default-features = false }
bp-westend = { path = "bridges/chains/chain-westend", default-features = false }
bp-xcm-bridge = { path = "bridges/primitives/xcm-bridge", default-features = false }
bp-xcm-bridge-hub = { path = "bridges/primitives/xcm-bridge-hub", default-features = false }
bp-xcm-bridge-hub-router = { path = "bridges/primitives/xcm-bridge-hub-router", default-features = false }
bp-xcm-bridge-router = { path = "bridges/primitives/xcm-bridge-router", default-features = false }
bridge-hub-common = { path = "cumulus/parachains/runtimes/bridge-hubs/common", default-features = false }
bridge-hub-rococo-emulated-chain = { path = "cumulus/parachains/integration-tests/emulated/chains/parachains/bridges/bridge-hub-rococo" }
bridge-hub-rococo-runtime = { path = "cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo", default-features = false }
Expand Down Expand Up @@ -1020,8 +1026,10 @@ pallet-vesting = { path = "substrate/frame/vesting", default-features = false }
pallet-whitelist = { path = "substrate/frame/whitelist", default-features = false }
pallet-xcm = { path = "polkadot/xcm/pallet-xcm", default-features = false }
pallet-xcm-benchmarks = { path = "polkadot/xcm/pallet-xcm-benchmarks", default-features = false }
pallet-xcm-bridge = { path = "bridges/modules/xcm-bridge", default-features = false }
pallet-xcm-bridge-hub = { path = "bridges/modules/xcm-bridge-hub", default-features = false }
pallet-xcm-bridge-hub-router = { path = "bridges/modules/xcm-bridge-hub-router", default-features = false }
pallet-xcm-bridge-router = { path = "bridges/modules/xcm-bridge-router", default-features = false }
parachain-info = { path = "cumulus/parachains/pallets/parachain-info", default-features = false, package = "staging-parachain-info" }
parachain-template-runtime = { path = "templates/parachain/runtime" }
parachains-common = { path = "cumulus/parachains/common", default-features = false }
Expand Down
4 changes: 2 additions & 2 deletions bridges/chains/chain-asset-hub-rococo/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ frame-support = { workspace = true }
sp-core = { workspace = true }

# Bridge Dependencies
bp-xcm-bridge-hub-router = { workspace = true }
bp-xcm-bridge-router = { workspace = true }

# Polkadot dependencies
xcm = { workspace = true }

[features]
default = ["std"]
std = [
"bp-xcm-bridge-hub-router/std",
"bp-xcm-bridge-router/std",
"codec/std",
"frame-support/std",
"scale-info/std",
Expand Down
6 changes: 3 additions & 3 deletions bridges/chains/chain-asset-hub-rococo/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extern crate alloc;
use codec::{Decode, Encode};
use scale_info::TypeInfo;

pub use bp_xcm_bridge_hub_router::XcmBridgeHubRouterCall;
pub use bp_xcm_bridge_router::XcmBridgeHubCall;
use xcm::latest::prelude::*;

/// `AssetHubRococo` Runtime `Call` enum.
Expand All @@ -39,7 +39,7 @@ use xcm::latest::prelude::*;
pub enum Call {
/// `ToWestendXcmRouter` bridge pallet.
#[codec(index = 45)]
ToWestendXcmRouter(XcmBridgeHubRouterCall),
ToWestendXcmRouter(XcmBridgeHubCall<sp_core::H256>),
}

frame_support::parameter_types! {
Expand All @@ -58,7 +58,7 @@ pub fn build_congestion_message<RuntimeCall>(
Transact {
origin_kind: OriginKind::Xcm,
fallback_max_weight: Some(XcmBridgeHubRouterTransactCallMaxWeight::get()),
call: Call::ToWestendXcmRouter(XcmBridgeHubRouterCall::report_bridge_status {
call: Call::ToWestendXcmRouter(XcmBridgeHubCall::update_bridge_status {
bridge_id,
is_congested,
})
Expand Down
4 changes: 2 additions & 2 deletions bridges/chains/chain-asset-hub-westend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ frame-support = { workspace = true }
sp-core = { workspace = true }

# Bridge Dependencies
bp-xcm-bridge-hub-router = { workspace = true }
bp-xcm-bridge-router = { workspace = true }

# Polkadot dependencies
xcm = { workspace = true }

[features]
default = ["std"]
std = [
"bp-xcm-bridge-hub-router/std",
"bp-xcm-bridge-router/std",
"codec/std",
"frame-support/std",
"scale-info/std",
Expand Down
Loading
Loading