假设基于用户输入,我想设置费用。(不是在镜头上,txn的权重),这是可能的数据到交易支付托盘,并基于该数据,我想设置费用?这有可能吗?由于费用是在函数执行前计算的,如何将调用参数放入transaction-payment-pallet?
发布于 2021-11-08 02:47:14
交易支付托盘被设计为基于外部的重量和长度专门处理费用,但您始终可以制作自己的托盘,以不同的方式处理费用。
困难的部分是,由于每个托盘都是独立的,并且是任意设计的,因此您不能真正创建一个特性,其中外部输入中的一些特定参数将用于计算费用,因为您无法知道这些参数各自的含义。
你可以设计你自己的特征+宏,它在你想要的所有extrinsics上实现一些功能,你可以在其中传递你想要的特定参数,但这将是相当复杂的,还涉及到创建一个新的费用调色板。
更简单的解决方案,至少对于原型开发来说,可能是删除外部Pays::No中包含的任何重量费用,然后直接使用用户余额作为签名扩展删除一些。
https://stackoverflow.com/questions/69865616
复制相似问题