Skip to main content
Version: v3.x

Minimal Anti Collusion Infrastructure (MACI) / Verifier__factory

Class: Verifier__factory

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:185

Extends

  • ContractFactory

Constructors

Constructor

new Verifier__factory(...args): Verifier__factory

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:186

Parameters

args

...VerifierConstructorParams

Returns

Verifier__factory

Overrides

ContractFactory.constructor

Properties

abi

readonly static abi: readonly [{ inputs: readonly []; name: "InvalidInputVal"; type: "error"; }, { inputs: readonly []; name: "InvalidProofQ"; type: "error"; }, { inputs: readonly []; name: "PairingAddFailed"; type: "error"; }, { inputs: readonly []; name: "PairingMulFailed"; type: "error"; }, { inputs: readonly []; name: "PairingOpcodeFailed"; type: "error"; }, { inputs: readonly []; name: "PRIME_Q"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[8]"; name: "_proof"; type: "uint256[8]"; }, { components: readonly [{ components: readonly [{ internalType: "uint256"; name: "x"; type: "uint256"; }, { internalType: "uint256"; name: "y"; type: "uint256"; }]; internalType: "struct Pairing.G1Point"; name: "alpha1"; type: "tuple"; }, { components: readonly [{ internalType: "uint256[2]"; name: "x"; type: "uint256[2]"; }, { internalType: "uint256[2]"; name: "y"; type: "uint256[2]"; }]; internalType: "struct Pairing.G2Point"; name: "beta2"; type: "tuple"; }, { components: readonly [{ internalType: "uint256[2]"; name: "x"; type: "uint256[2]"; }, { internalType: "uint256[2]"; name: "y"; type: "uint256[2]"; }]; internalType: "struct Pairing.G2Point"; name: "gamma2"; type: "tuple"; }, { components: readonly [{ internalType: "uint256[2]"; name: "x"; type: "uint256[2]"; }, { internalType: "uint256[2]"; name: "y"; type: "uint256[2]"; }]; internalType: "struct Pairing.G2Point"; name: "delta2"; type: "tuple"; }, { components: readonly [{ internalType: "uint256"; name: "x"; type: "uint256"; }, { internalType: "uint256"; name: "y"; type: "uint256"; }]; internalType: "struct Pairing.G1Point[]"; name: "ic"; type: "tuple[]"; }]; internalType: "struct SnarkCommon.VerifyingKey"; name: "verifyingKey"; type: "tuple"; }, { internalType: "uint256[]"; name: "inputs"; type: "uint256[]"; }]; name: "verify"; outputs: readonly [{ internalType: "bool"; name: "isValid"; type: "bool"; }]; stateMutability: "view"; type: "function"; }] = _abi

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:211


bytecode

readonly static bytecode: "0x6080604052348015600f57600080fd5b50610d0e8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063352a4d151461003b5780638d53290814610063575b600080fd5b61004e610049366004610a72565b610086565b60405190151581526020015b60405180910390f35b610078600080516020610cb983398151915281565b60405190815260200161005a565b600061009061073e565b6040805180820182528751815260208089015181830152908352815160808082018452898401518285019081526060808c015190840152825283518085018552908a0151815260a08a01518184015281830152838201528151808301835260c0890151815260e08901519181019190915290820152805151610111906102be565b805160200151610120906102be565b6020810151516101379060005b60200201516102be565b602080820151015161014a90600061012d565b60208101515161015b90600161012d565b602080820151015161016e90600161012d565b60408101515161017d906102be565b61018e8160400151602001516102be565b6040805180820190915260008082526020820181905284905b818110156102535760008787838181106101c3576101c3610c02565b9050602002013590507f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001811061020c5760405163076be92360e31b815260040160405180910390fd5b610248846102438b608001518560016102259190610c2e565b8151811061023557610235610c02565b6020026020010151846102ef565b610361565b9350506001016101a7565b5061027c82886080015160008151811061026f5761026f610c02565b6020026020010151610361565b91506102b261028e84600001516103d9565b846020015189600001518a60200151868c6040015189604001518e6060015161046f565b98975050505050505050565b600080516020610cb983398151915281106102ec576040516308f69c9160e01b815260040160405180910390fd5b50565b604080518082019091526000808252602082015261030b61078f565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa9050808061033a57fe5b5080610359576040516372ffac5560e11b815260040160405180910390fd5b505092915050565b604080518082019091526000808252602082015261037d6107ad565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa905080806103b757fe5b50806103595760405160016203c15f60e01b0319815260040160405180910390fd5b604080518082019091526000808252602082015281511580156103fe57506020820151155b1561041c575050604080518082019091526000808252602082015290565b604051806040016040528083600001518152602001600080516020610cb9833981519152846020015161044f9190610c47565b61046790600080516020610cb9833981519152610c69565b905292915050565b60006104796107cb565b898152602081018890526040810186905260608101849052610499610804565b898152602081018890526040808201879052606082018590528051601880825261032082019092526000908281602001602082028036833701905050905060005b60048160ff1610156106e25760006104f3826006610c7c565b9050858260ff166004811061050a5761050a610c02565b6020020151518361051c836000610c9f565b60ff168151811061052f5761052f610c02565b602002602001018181525050858260ff166004811061055057610550610c02565b602002015160200151838260016105679190610c9f565b60ff168151811061057a5761057a610c02565b602002602001018181525050848260ff166004811061059b5761059b610c02565b60200201515151836105ae836002610c9f565b60ff16815181106105c1576105c1610c02565b602002602001018181525050848260ff16600481106105e2576105e2610c02565b60200201515160016020020151836105fb836003610c9f565b60ff168151811061060e5761060e610c02565b602002602001018181525050848260ff166004811061062f5761062f610c02565b60200201516020015160006002811061064a5761064a610c02565b60200201518361065b836004610c9f565b60ff168151811061066e5761066e610c02565b602002602001018181525050848260ff166004811061068f5761068f610c02565b6020020151602001516001600281106106aa576106aa610c02565b6020020151836106bb836005610c9f565b60ff16815181106106ce576106ce610c02565b6020908102919091010152506001016104da565b506106eb610831565b6000602082602086026020860160086107d05a03fa9050808061070a57fe5b508061072957604051630143d56760e11b815260040160405180910390fd5b505115159d9c50505050505050505050505050565b6040805160a08101909152600060608201818152608083019190915281526020810161076861084f565b815260200161078a604051806040016040528060008152602001600081525090565b905290565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b60405180608001604052806004905b60408051808201909152600080825260208201528152602001906001900390816107da5790505090565b60405180608001604052806004905b61081b61084f565b8152602001906001900390816108135790505090565b60405180602001604052806001906020820280368337509192915050565b604051806040016040528061086261086b565b815260200161078a5b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108c2576108c2610889565b60405290565b60405160a0810167ffffffffffffffff811182821017156108c2576108c2610889565b604051601f8201601f1916810167ffffffffffffffff8111828210171561091457610914610889565b604052919050565b600061010061092a816108eb565b91508201818482111561093c57600080fd5b835b8281101561095657803582526020918201910161093e565b50505092915050565b60006040828403121561097157600080fd5b61097961089f565b823581526020928301359281019290925250919050565b600082601f8301126109a157600080fd5b60006109ad60406108eb565b90508060408401858111156109c157600080fd5b845b818110156109db5780358352602092830192016109c3565b509195945050505050565b6000608082840312156109f857600080fd5b610a0061089f565b9050610a0c8383610990565b8152610a1b8360408401610990565b602082015292915050565b60008083601f840112610a3857600080fd5b50813567ffffffffffffffff811115610a5057600080fd5b6020830191508360208260051b8501011115610a6b57600080fd5b9250929050565b6000806000806101408587031215610a8957600080fd5b85601f860112610a9857600080fd5b610aa2868661091c565b935061010085013567ffffffffffffffff811115610abf57600080fd5b85016101e08188031215610ad257600080fd5b610ada6108c8565b610ae4888361095f565b8152610af388604084016109e6565b6020820152610b058860c084016109e6565b6040820152610b188861014084016109e6565b60608201526101c082013567ffffffffffffffff811115610b3857600080fd5b80830192505087601f830112610b4d57600080fd5b813567ffffffffffffffff811115610b6757610b67610889565b610b7660208260051b016108eb565b8082825260208201915060208360061b86010192508a831115610b9857600080fd5b6020850194505b82851015610bc457610bb18b8661095f565b8252602082019150604085019450610b9f565b608084015250909450505061012085013567ffffffffffffffff811115610bea57600080fd5b610bf687828801610a26565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115610c4157610c41610c18565b92915050565b600082610c6457634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115610c4157610c41610c18565b60ff8181168382160290811690818114610c9857610c98610c18565b5092915050565b60ff8181168382160190811115610c4157610c41610c1856fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a26469706673582212207864074a26d6437ab7937c006bad333e81e5798b78e142777cd608fc14e0895064736f6c634300081c0033" = _bytecode

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:210

Methods

connect()

connect(runner): Verifier__factory

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:206

Return a new ContractFactory with the same ABI and bytecode, but connected to %%runner%%.

Parameters

runner

ContractRunner | null

Returns

Verifier__factory

Overrides

ContractFactory.connect


deploy()

deploy(overrides?): Promise<Verifier & object>

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:199

Resolves to the Contract deployed by passing %%args%% into the constructor.

This will resolve to the Contract before it has been deployed to the network, so the [[BaseContract-waitForDeployment]] should be used before sending any transactions to it.

Parameters

overrides?

NonPayableOverrides & object

Returns

Promise<Verifier & object>

Overrides

ContractFactory.deploy


getDeployTransaction()

getDeployTransaction(overrides?): Promise<ContractDeployTransaction>

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:194

Resolves to the transaction to deploy the contract, passing %%args%% into the constructor.

Parameters

overrides?

NonPayableOverrides & object

Returns

Promise<ContractDeployTransaction>

Overrides

ContractFactory.getDeployTransaction


connect()

static connect(address, runner?): Verifier

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:215

Parameters

address

string

runner?

ContractRunner | null

Returns

Verifier


createInterface()

static createInterface(): VerifierInterface

Defined in: contracts/typechain-types/factories/contracts/crypto/Verifier__factory.ts:212

Returns

VerifierInterface