-
get_every_execution_gadgets
可以获得一个Vec。每开发一个ExecutionGadget,都要在其定义处加上gadget的new函数。这样我们在core里或者witness生成的地方就可以直接调用它获取所有的ExecutionGadget。
-
generate_execution_gadget_test_circuit
在每个execution gadget文件里的mod test
中使用,可以帮助你定义一个TestCircuit并生成相应的接口实现代码。
-
prepare_witness_and_prover
在每个execution gadget文件里的测试函数fn text_xx()
中使用,能生成witness并将其放入一个TestCircuit的实例中,然后生成对应的MockProver。
-
extract_lookup_expression
对于我们定义的enum LookupEntry
,可以展开其中的成员。不过必须要输入表示其类型的字符串。例如let (a,b,c,d,e,f,g,h) = extract_lookup_expression!(state, lookup_entry);
其中state是字符串。
-
assign_or_panic
是对于Witness表格中一个格子进行赋值。如果格子已经被赋值,则报错。多用于多功能列中,防止同一个格子被使用多次。