You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TLDR: we want the chain that "owns" the bridge endpoint to respect bridge limits and rules. Those limits and rules shall guarantee that this chain uses some kind of rate limiter + there is a running relayer for the dedicated messages lane. When we see that the "owner" violates those rules, we have following options (at the bridge hub):
simply start dropping all inbound XCM messages until owner fixes the issue. This is not good, because messages may have bundled assets and those assets will be lost;
stop processing inbound XCM messages until owner fixes the issue.
Bridges collective mind has selected the 2nd option. There are couple of options on how to implement that:
(this option is assumed by the current implementation of XCM bridge hub pallet (will be deployed at bridge hubs) #2213) add a way to exclude channel from the "service" procedure. For example current cumulus-pallet-xcmp-queue has the service_xcmp_queue where we can check if the channel is artificially suspended by the bridge (or someone else) and simply stop processing messages. XCM queues have the "suspend" signal that will be sent to the "owner" chain soon after we stop handling inbound messages (when there are more than limit messages in the queue). After this signal is received, the messages will start piling up at the "owner" chain outbound queue instead, which is ideal for us;
I think we've decided NOT to pause XCM channels, because e.g. channel between at Polkadot/Kusama AH and BH is used by two bridges already. And if one bridge is lagging, we shall not halt the other bridge. So the proper way is the #2406
This idea was born here: #2213 (comment)
TLDR: we want the chain that "owns" the bridge endpoint to respect bridge limits and rules. Those limits and rules shall guarantee that this chain uses some kind of rate limiter + there is a running relayer for the dedicated messages lane. When we see that the "owner" violates those rules, we have following options (at the bridge hub):
Bridges collective mind has selected the 2nd option. There are couple of options on how to implement that:
cumulus-pallet-xcmp-queue
has theservice_xcmp_queue
where we can check if the channel is artificially suspended by the bridge (or someone else) and simply stop processing messages. XCM queues have the "suspend" signal that will be sent to the "owner" chain soon after we stop handling inbound messages (when there are more than limit messages in the queue). After this signal is received, the messages will start piling up at the "owner" chain outbound queue instead, which is ideal for us;The text was updated successfully, but these errors were encountered: