What is the reason of OverweightEnqueued event?
There is the place of code where event OverweightEnqueued produced...
Well, this is because requireWeightAtMost
you specified is greater than umpMaxIndividualWeight
, you should use the values from my answer in your other question(5,000,000,000), hrmp.hrmpInitOpenChannel
does not need so much weight. And I'll explain to you why.
First, you need to know that resources available to chains are limited, and weights are the mechanism used to manage the time it takes to validate a block.The amount of weight a block may contain is limited. Therefore, relaychain limits the max used weight of individual ump's transact, to ensure that other transactions can be successfully executed. You can find the limit in configuration. Obviously, your 7,000,000,000,000
is greater than 20,000,000,000
, then put into the overweight queue and may be dispatched later by service_overweight
(still may error due to WeightOverLimit
).
Then,
what does parameter means?
It means the most weight you are willing to pay for the transact call(here is hrmp.hrmpInitOpenChannel
).If the weight required by this transact call(about 786524000
) exceeds the requireWeightAtMost
you specified, it will fail with MaxWeightInvalid
. If not and lower than umpMaxIndividualWeight
, it'll be executed(make sure other values are correct) and the surplus weight will be refunded by the RefundSurplus
instruction.
5Ec4AhP2VP3kQcM928TnKuw9miE7yCDvRxd3mqVNA28pE3m4
, transfer some ROC to it on rococo.
requireWeightAtMost: 7,000,000,000,000
.