Skip to main content

declareMethods

function declareMethods<T>(SmartContract: T, methodArguments: Record<string, Provable<unknown>[]>): void

Defined in: lib/mina/v1/zkapp.ts:1193

declareMethods can be used in place of the @method decorator to declare SmartContract methods along with their list of arguments. It should be placed after the class declaration. Here is an example of declaring a method update, which takes a single argument of type Field:

class MyContract extends SmartContract {
// ...
update(x: Field) {
// ...
}
}
declareMethods(MyContract, { update: [Field] }); // `[Field]` is the list of arguments!

Note that a method of the same name must still be defined on the class, just without the decorator.

Type Parameters

T extends typeof SmartContract

Parameters

SmartContract

T

methodArguments

Record<string, Provable<unknown>[]>

Returns

void