Skip to main content
Version: v3.x

Minimal Anti Collusion Infrastructure (MACI) / MessageProcessor__factory

Class: MessageProcessor__factory

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:388

Extends

  • ContractFactory

Constructors

Constructor

new MessageProcessor__factory(...args): MessageProcessor__factory

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:389

Parameters

args

...MessageProcessorConstructorParams

Returns

MessageProcessor__factory

Overrides

ContractFactory.constructor

Properties

abi

readonly static abi: readonly [{ inputs: readonly []; name: "AlreadyInitialized"; type: "error"; }, { inputs: readonly []; name: "BatchEndIndexTooLarge"; type: "error"; }, { inputs: readonly []; name: "CurrentMessageBatchIndexTooLarge"; type: "error"; }, { inputs: readonly []; name: "InvalidProcessMessageProof"; type: "error"; }, { inputs: readonly []; name: "NoMoreMessages"; type: "error"; }, { inputs: readonly []; name: "StateNotMerged"; type: "error"; }, { inputs: readonly []; name: "totalSignupsTooLarge"; type: "error"; }, { inputs: readonly []; name: "MESSAGE_DATA_LENGTH"; outputs: readonly [{ internalType: "uint8"; name: ""; type: "uint8"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "currentBatchIndex"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "getAppendedBytes"; outputs: readonly [{ internalType: "bytes"; name: "appendedBytes"; type: "bytes"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint256"; name: "_currentMessageBatchIndex"; type: "uint256"; }, { internalType: "uint256"; name: "_newSbCommitment"; type: "uint256"; }, { internalType: "uint256"; name: "_outputBatchHash"; type: "uint256"; }]; name: "getPublicCircuitInputs"; outputs: readonly [{ internalType: "uint256[]"; name: "publicInputs"; type: "uint256[]"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[2]"; name: "array"; type: "uint256[2]"; }]; name: "hash2"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[3]"; name: "array"; type: "uint256[3]"; }]; name: "hash3"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[4]"; name: "array"; type: "uint256[4]"; }]; name: "hash4"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[5]"; name: "array"; type: "uint256[5]"; }]; name: "hash5"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly [{ internalType: "uint256"; name: "left"; type: "uint256"; }, { internalType: "uint256"; name: "right"; type: "uint256"; }]; name: "hashLeftRight"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly []; name: "initialize"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly []; name: "initialized"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "mode"; outputs: readonly [{ internalType: "enum DomainObjs.Mode"; name: ""; type: "uint8"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "poll"; outputs: readonly [{ internalType: "contract IPoll"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint256"; name: "_newSbCommitment"; type: "uint256"; }, { internalType: "uint256[8]"; name: "_proof"; type: "uint256[8]"; }]; name: "processMessages"; outputs: readonly []; stateMutability: "nonpayable"; type: "function"; }, { inputs: readonly []; name: "processingComplete"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "sbCommitment"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly [{ internalType: "uint256[]"; name: "array"; type: "uint256[]"; }]; name: "sha256Hash"; outputs: readonly [{ internalType: "uint256"; name: "result"; type: "uint256"; }]; stateMutability: "pure"; type: "function"; }, { inputs: readonly []; name: "totalBatchesProcessed"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "verifier"; outputs: readonly [{ internalType: "contract IVerifier"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function"; }, { inputs: readonly []; name: "verifyingKeysRegistry"; outputs: readonly [{ internalType: "contract IVerifyingKeysRegistry"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function"; }] = _abi

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:455


bytecode

readonly static bytecode: "0x6080604052348015600f57600080fd5b50611c158061001f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638129fc1c116100ad578063b1a263d311610071578063b1a263d314610291578063b41a4b19146102a4578063bea140b3146102b9578063d13181b8146102cc578063faa2e25a146102d557600080fd5b80638129fc1c1461023c5780638763d0c4146102465780639cfced9714610258578063a11752791461026b578063a2d718a41461027e57600080fd5b806358bfc379116100f457806358bfc379146101e05780635bb93995146101f35780636090b30e1461020657806362a361bb1461020f578063683f3dc31461022257600080fd5b8063158ef93e14610131578063295a5212146101535780632b7ac3f3146101745780633dfb88b21461019f57806345c7237b146101c0575b600080fd5b60005461013e9060ff1681565b60405190151581526020015b60405180910390f35b60065461016790600160a01b900460ff1681565b60405161014a9190611131565b600554610187906001600160a01b031681565b6040516001600160a01b03909116815260200161014a565b6101b26101ad3660046111d2565b6102de565b60405190815260200161014a565b6101d36101ce36600461123a565b61035f565b60405161014a91906112a2565b6101b26101ee3660046112e0565b6107c7565b6101b261020136600461137b565b610861565b6101b260025481565b6101b261021d36600461139d565b610886565b61022a600a81565b60405160ff909116815260200161014a565b6102446108c0565b005b60005461013e90610100900460ff1681565b6101b26102663660046113e0565b6108ca565b600454610187906001600160a01b031681565b600654610187906001600160a01b031681565b61024461029f366004611423565b610904565b6102ac610d2d565b60405161014a919061147c565b6101b26102c73660046114af565b610d3c565b6101b260035481565b6101b260015481565b60405163248f667760e01b815260009073__$ce9c2c925f157047e54fa833ec4e61409f$__9063248f6677906103189085906004016114f2565b602060405180830381865af4158015610335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103599190611523565b92915050565b60048054604080516314385fc360e21b815290516060936000936001600160a01b0316926350e17f0c92818301926020928290030181865afa1580156103a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103cd9190611523565b90506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104489190611552565b9050600080600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa15801561049f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c3919061156d565b909250905060006104d760ff85168a6115a7565b9050818111156104e45750805b6000808a116104f457600061050d565b60ff851661050360018c6115be565b61050d91906115a7565b604080516009808252610140820190925291925060208201610120803683370190505096508387600081518110610546576105466115d1565b6020026020010181815250508787600181518110610566576105666115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b0316637028bb0e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e99190611552565b60ff16876002815181106105ff576105ff6115d1565b602002602001018181525050858760038151811061061f5761061f6115d1565b602002602001018181525050600460009054906101000a90046001600160a01b03166001600160a01b03166341495d1c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a29190611523565b876004815181106106b5576106b56115d1565b6020908102919091010152600354156106d05760035461073b565b600480546040805163c17268d960e01b815290516001600160a01b039092169263c17268d99282820192602092908290030181865afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b9190611523565b8760058151811061074e5761074e6115d1565b602002602001018181525050888760068151811061076e5761076e6115d1565b602002602001018181525050808760078151811061078e5761078e6115d1565b60200260200101818152505081876008815181106107ae576107ae6115d1565b6020026020010181815250505050505050509392505050565b60007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016002836040516020016107fd91906115e7565b60408051601f19818403018152908290526108179161161d565b602060405180830381855afa158015610834573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906108579190611523565b6103599190611639565b600061086b6110db565b8381526020810183905261087e81610886565b949350505050565b6040516314d2f97b60e11b815260009073__$6574937f64fc1d7710ec0e28b7a36713bb$__906329a5f2f69061031890859060040161165b565b6108c8610d76565b565b604051630926f44b60e31b815260009073__$20527677031d76601747626a9845039fe4$__90634937a25890610318908590600401611683565b600054610100900460ff161561092d5760405163a7f0397560e01b815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ac98e5df6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a691906116ab565b509150506000600460009054906101000a90046001600160a01b03166001600160a01b031663719b9bd86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a239190611552565b90506060600154600003610b96576000600460009054906101000a90046001600160a01b03166001600160a01b031663c17268d96040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aaa9190611523565b60038190556004805460408051639255266760e01b815290519394506001600160a01b039091169263925526679282810192600092919082900301818387803b158015610af657600080fd5b505af1158015610b0a573d6000803e3d6000fd5b505060048054604080516305105fa360e21b815290516001600160a01b0390921694506314417e8c935080830192600092918290030181865afa158015610b55573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b7d91908101906116ee565b915060018251610b8d91906115be565b60025550610c08565b60048054604080516305105fa360e21b815290516001600160a01b03909216926314417e8c9282820192600092908290030181865afa158015610bdd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c0591908101906116ee565b90505b60008160025481518110610c1e57610c1e6115d1565b60200260200101519050610c61600254828886888a6008806020026040519081016040528092919082600860200280828437600092019190915250610e24915050565b610c815760405160016268f24f60e01b0319815260040160405180910390fd5b6000600460009054906101000a90046001600160a01b03166001600160a01b031663ba5810fd6040518163ffffffff1660e01b81526004016040805180830381865afa158015610cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf9919061156d565b915050610d24876001546001610d0f919061177a565b610d1c9060ff88166115a7565b831115611026565b50505050505050565b6060610d3761106f565b905090565b6040516304b98e1d60e31b815260009073__$dc01a9744591ab014bc46a3b7671cdaefb$__906325cc70e89061031890859060040161178d565b610d7e61107a565b6000610d8861106f565b905060008060008084806020019051810190610da491906117cd565b600580546001600160a01b038087166001600160a01b031992831617909255600680548387168184168117835560048054958816959094169490941790925595995093975091955093508392916001600160a81b03191617600160a01b836002811115610e1357610e136110f9565b021790555050600160025550505050565b6004805460408051638b6e746360e01b8152905160009384936001600160a01b031692638b6e746392818301926020928290030181865afa158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e919190611830565b90506000610ea089888a61035f565b90506000600660009054906101000a90046001600160a01b03166001600160a01b031663435fe1c9846001600160a01b031663652c76e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2a9190611552565b60065460405160e084901b6001600160e01b0319168152610f5d92918b918d91600160a01b900460ff169060040161184d565b600060405180830381865afa158015610f7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fa29190810190611935565b60055460405163352a4d1560e01b81529192506001600160a01b03169063352a4d1590610fd790889085908790600401611aa3565b602060405180830381865afa158015610ff4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110189190611ba4565b9a9950505050505050505050565b60038290556000805461ff0019166101008315150217815560028054600192906110519084906115be565b90915550506001805490600061106683611bc6565b91905055505050565b6060610d37306110ac565b60005460ff161561109d5760405162dc149f60e41b815260040160405180910390fd5b6000805460ff19166001179055565b60405164ffffffffff602c19833b0116808252602090810190602d908301843c60408101815101604052919050565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052602160045260246000fd5b6003811061112d57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610359828461110f565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156111785761117861113f565b60405290565b60405160a0810167ffffffffffffffff811182821017156111785761117861113f565b604051601f8201601f1916810167ffffffffffffffff811182821017156111ca576111ca61113f565b604052919050565b6000608082840312156111e457600080fd5b600083601f8401126111f4578081fd5b806111ff60806111a1565b9050809150608084018581111561121557600080fd5b845b8181101561122f578035845260209384019301611217565b509095945050505050565b60008060006060848603121561124f57600080fd5b505081359360208301359350604090920135919050565b600081518084526020840193506020830160005b8281101561129857815186526020958601959091019060010161127a565b5093949350505050565b6020815260006112b56020830184611266565b9392505050565b600067ffffffffffffffff8211156112d6576112d661113f565b5060051b60200190565b6000602082840312156112f257600080fd5b813567ffffffffffffffff81111561130957600080fd5b8201601f8101841361131a57600080fd5b803561132d611328826112bc565b6111a1565b8082825260208201915060208360051b85010192508683111561134f57600080fd5b6020840193505b82841015611371578335825260209384019390910190611356565b9695505050505050565b6000806040838503121561138e57600080fd5b50508035926020909101359150565b6000604082840312156113af57600080fd5b600083601f8401126113bf578081fd5b806113ca60406111a1565b9050809150604084018581111561121557600080fd5b600060a082840312156113f257600080fd5b600083601f840112611402578081fd5b8061140d60a06111a1565b905080915060a084018581111561121557600080fd5b600080610120838503121561143757600080fd5b82359150610120830184101561144c57600080fd5b50926020919091019150565b60005b8381101561147357818101518382015260200161145b565b50506000910152565b602081526000825180602084015261149b816040850160208701611458565b601f01601f19169190910160400192915050565b6000606082840312156114c157600080fd5b600083601f8401126114d1578081fd5b806114dc60606111a1565b9050809150606084018581111561121557600080fd5b60808101818360005b600481101561151a5781518352602092830192909101906001016114fb565b50505092915050565b60006020828403121561153557600080fd5b5051919050565b805160ff8116811461154d57600080fd5b919050565b60006020828403121561156457600080fd5b6112b58261153c565b6000806040838503121561158057600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761035957610359611591565b8181038181111561035957610359611591565b634e487b7160e01b600052603260045260246000fd5b8151600090829060208501835b828110156116125781518452602093840193909101906001016115f4565b509195945050505050565b6000825161162f818460208701611458565b9190910192915050565b60008261165657634e487b7160e01b600052601260045260246000fd5b500690565b60408101818360005b600281101561151a578151835260209283019290910190600101611664565b60a08101818360005b600581101561151a57815183526020928301929091019060010161168c565b6000806000606084860312156116c057600080fd5b6116c98461153c565b92506116d76020850161153c565b91506116e56040850161153c565b90509250925092565b60006020828403121561170057600080fd5b815167ffffffffffffffff81111561171757600080fd5b8201601f8101841361172857600080fd5b8051611736611328826112bc565b8082825260208201915060208360051b85010192508683111561175857600080fd5b6020840193505b8284101561137157835182526020938401939091019061175f565b8082018082111561035957610359611591565b60608101818360005b600381101561151a578151835260209283019290910190600101611796565b6001600160a01b03811681146117ca57600080fd5b50565b600080600080608085870312156117e357600080fd5b84516117ee816117b5565b60208601519094506117ff816117b5565b6040860151909350611810816117b5565b60608601519092506003811061182557600080fd5b939692955090935050565b60006020828403121561184257600080fd5b81516112b5816117b5565b60ff858116825284811660208301528316604082015260808101611874606083018461110f565b95945050505050565b60006040828403121561188f57600080fd5b611897611155565b825181526020928301519281019290925250919050565b600082601f8301126118bf57600080fd5b6118c960406111a1565b8060408401858111156118db57600080fd5b845b8181101561122f5780518452602093840193016118dd565b60006080828403121561190757600080fd5b61190f611155565b905061191b83836118ae565b815261192a83604084016118ae565b602082015292915050565b60006020828403121561194757600080fd5b815167ffffffffffffffff81111561195e57600080fd5b82016101e0818503121561197157600080fd5b61197961117e565b611983858361187d565b815261199285604084016118f5565b60208201526119a48560c084016118f5565b60408201526119b78561014084016118f5565b60608201526101c082015167ffffffffffffffff8111156119d757600080fd5b80830192505084601f8301126119ec57600080fd5b81516119fa611328826112bc565b8082825260208201915060208360061b860101925087831115611a1c57600080fd5b6020850194505b82851015611a4857611a35888661187d565b8252602082019150604085019450611a23565b6080840152509095945050505050565b8060005b6002811015611a7b578151845260209384019390910190600101611a5c565b50505050565b611a8c828251611a58565b6020810151611a9e6040840182611a58565b505050565b60008185825b6008811015611ac8578151835260209283019290910190600101611aa9565b5050506101406101008301526103208201611af26101408401865180518252602090810151910152565b6020850151611b05610180850182611a81565b506040850151611b19610200850182611a81565b506060850151611b2d610280850182611a81565b5060808501516101e0610300850152805191829052602001906000906103408501905b80831015611b8457611b6d82855180518252602090810151910152565b604082019150602084019350600183019250611b50565b50848103610120860152611b988187611266565b98975050505050505050565b600060208284031215611bb657600080fd5b815180151581146112b557600080fd5b600060018201611bd857611bd8611591565b506001019056fea26469706673582212203a405a6559f4a85b87a91d081d8f85e32e6dd252a4132f0955fea37806b87f6c64736f6c634300081c0033" = _bytecode

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:454

Methods

connect()

connect(runner): MessageProcessor__factory

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:450

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

Parameters

runner

ContractRunner | null

Returns

MessageProcessor__factory

Overrides

ContractFactory.connect


deploy()

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

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:443

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<MessageProcessor & object>

Overrides

ContractFactory.deploy


getDeployTransaction()

getDeployTransaction(overrides?): Promise<ContractDeployTransaction>

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:438

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?): MessageProcessor

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:459

Parameters

address

string

runner?

ContractRunner | null

Returns

MessageProcessor


createInterface()

static createInterface(): MessageProcessorInterface

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:456

Returns

MessageProcessorInterface


linkBytecode()

static linkBytecode(linkLibraryAddresses): string

Defined in: contracts/typechain-types/factories/contracts/MessageProcessor__factory.ts:402

Parameters

linkLibraryAddresses

MessageProcessorLibraryAddresses

Returns

string