@vocdoni/davinci-contracts
Version:
Smart contracts powering DAVINCI's digital voting protocol
133 lines (132 loc) • 5.53 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../common";
export interface Groth16VerifierBaseInterface extends Interface {
getFunction(nameOrSignature: "compressProof" | "verifyCompressedProof" | "verifyProof"): FunctionFragment;
encodeFunctionData(functionFragment: "compressProof", values: [
BigNumberish[],
[
BigNumberish,
BigNumberish
],
[
BigNumberish,
BigNumberish
]
]): string;
encodeFunctionData(functionFragment: "verifyCompressedProof", values: [
[
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish
],
[
BigNumberish
],
BigNumberish,
[
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish
]
]): string;
encodeFunctionData(functionFragment: "verifyProof", values: [
BigNumberish[],
[
BigNumberish,
BigNumberish
],
[
BigNumberish,
BigNumberish
],
[
BigNumberish,
BigNumberish,
BigNumberish,
BigNumberish
]
]): string;
decodeFunctionResult(functionFragment: "compressProof", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "verifyCompressedProof", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "verifyProof", data: BytesLike): Result;
}
export interface Groth16VerifierBase extends BaseContract {
connect(runner?: ContractRunner | null): Groth16VerifierBase;
waitForDeployment(): Promise<this>;
interface: Groth16VerifierBaseInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
compressProof: TypedContractMethod<[
proof: BigNumberish[],
commitments: [BigNumberish, BigNumberish],
commitmentPok: [BigNumberish, BigNumberish]
], [
[
[bigint, bigint, bigint, bigint],
[bigint],
bigint
] & {
compressed: [bigint, bigint, bigint, bigint];
compressedCommitments: [bigint];
compressedCommitmentPok: bigint;
}
], "view">;
verifyCompressedProof: TypedContractMethod<[
compressedProof: [BigNumberish, BigNumberish, BigNumberish, BigNumberish],
compressedCommitments: [BigNumberish],
compressedCommitmentPok: BigNumberish,
input: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
], [
void
], "view">;
verifyProof: TypedContractMethod<[
proof: BigNumberish[],
commitments: [BigNumberish, BigNumberish],
commitmentPok: [BigNumberish, BigNumberish],
input: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
], [
void
], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "compressProof"): TypedContractMethod<[
proof: BigNumberish[],
commitments: [BigNumberish, BigNumberish],
commitmentPok: [BigNumberish, BigNumberish]
], [
[
[bigint, bigint, bigint, bigint],
[bigint],
bigint
] & {
compressed: [bigint, bigint, bigint, bigint];
compressedCommitments: [bigint];
compressedCommitmentPok: bigint;
}
], "view">;
getFunction(nameOrSignature: "verifyCompressedProof"): TypedContractMethod<[
compressedProof: [BigNumberish, BigNumberish, BigNumberish, BigNumberish],
compressedCommitments: [BigNumberish],
compressedCommitmentPok: BigNumberish,
input: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
], [
void
], "view">;
getFunction(nameOrSignature: "verifyProof"): TypedContractMethod<[
proof: BigNumberish[],
commitments: [BigNumberish, BigNumberish],
commitmentPok: [BigNumberish, BigNumberish],
input: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
], [
void
], "view">;
filters: {};
}