目标
在pallet内使用辅助功能函数来提高代码的可读性和可重用性。
使用案例
重用辅助函数,跨多个pallet执行常见的“验证”检查。
概述
有时,pallet内部的可调度功能会重用其他可调度对象共有的逻辑。在这种情况下,将此逻辑重构为其自己的私有函数非常有用。
另外一种情况,随着代码量的增加以在可调度内执行各种检查,可调度函数变得越来越难以阅读。
在这两种情况下,使用不能从托盘外部访问的辅助函数是优化代码可读性和重用性的有用工具。
接下来,我们将了解如何创建一个加法器辅助函数,该程序检查算术溢出,并且可以在任何可调度中重用。
操作步骤
- 创建辅助函数我们要提到的辅助函数叫做
fn _adder
。它检查在添加两个u32类型的整数时是否有溢出。它需要两个u32
整数,使用checked_add
和ok_or
检查是否没有溢出。如果有,则返回错误;否则,它将返回结果。下面是辅助函数的样子。这将位于pallet的底部:
impl<T: Config> Pallet<T> {
fn _adder(num1: u32, num2: