Side loading verification keys give "proof.verify() not called, call it at least once in your circuit" error in SmartContract
Closed this issue · 0 comments
dfstio commented
https://discord.com/channels/484437221055922177/1235505048537010257
The following code
export class MyContract extends SmartContract {
@state(Field) value = State<Field>();
async deploy(args: DeployArgs) {
super.deploy(args);
this.account.permissions.set({
...Permissions.default(),
editState: Permissions.proof(),
});
}
@method async setValue(
value: Field,
proof: SideloadedProgramProof,
vk: VerificationKey
) {
proof.verify(vk);
proof.publicInput.assertEquals(value);
this.value.set(value);
}
}
gives an error
proof.verify() not called, call it at least once in your circuit
at node_modules/o1js/dist/node/index.cjs:9797:15
at Array.forEach (<anonymous>)
at main (o1js/dist/node/index.cjs:9789:12)
when compiling SmartContract