Substrate 允许您“重新调度”外部变量,例如在调用sudo
sudo 模块中的函数时,我们有:
let res = match proposal.dispatch(system::RawOrigin::Root.into()) {
Ok(_) => true,
Err(e) => {
let e: DispatchError = e.into();
sr_primitives::print(e);
false
}
};
在这个模型中,被执行的底层proposal
外部sudo
函数proposal
(
在这个例子中这可能是合理的(因为 sudo 帐户是特殊的并且可以被认为是受信任的),但在其他情况下(例如,使用重新发送提议交易的多重签名),情况似乎并非如此。
有没有办法通过 SignedExtension 流程将提案传回,以便TakeFee
可以对基础交易进行评估?