/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, Signer, utils } from "ethers"; import type { Provider } from "@ethersproject/providers"; import type { MiningAbi, MiningAbiInterface, Miner } from "../MiningAbi"; const _abi = [ { inputs: [ { internalType: "bytes32", name: "_rewardSwap", type: "bytes32", }, { internalType: "bytes32", name: "_governance", type: "bytes32", }, { internalType: "bytes32[3]", name: "verifiers", type: "bytes32[3]", }, { internalType: "bytes32", name: "_accountRoot", type: "bytes32", }, { internalType: "bytes32", name: "_depositRoot", type: "bytes32", }, { internalType: "bytes32", name: "_withdrawalRoot", type: "bytes32", }, { components: [ { internalType: "address", name: "instance", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], internalType: "struct Miner.Rate[]", name: "_rates", type: "tuple[]", }, ], stateMutability: "nonpayable", type: "constructor", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "instance", type: "address", }, { indexed: true, internalType: "bytes32", name: "hash", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "block", type: "uint256", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "DepositData", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bytes32", name: "commitment", type: "bytes32", }, { indexed: false, internalType: "bytes32", name: "nullifier", type: "bytes32", }, { indexed: false, internalType: "bytes", name: "encryptedAccount", type: "bytes", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "NewAccount", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "previousOwner", type: "address", }, { indexed: true, internalType: "address", name: "newOwner", type: "address", }, ], name: "OwnershipTransferred", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "instance", type: "address", }, { indexed: false, internalType: "uint256", name: "value", type: "uint256", }, ], name: "RateChanged", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "instance", type: "address", }, { indexed: true, internalType: "bytes32", name: "hash", type: "bytes32", }, { indexed: false, internalType: "uint256", name: "block", type: "uint256", }, { indexed: false, internalType: "uint256", name: "index", type: "uint256", }, ], name: "WithdrawalData", type: "event", }, { inputs: [], name: "ACCOUNT_ROOT_HISTORY_SIZE", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "accountCount", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "accountNullifiers", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], name: "accountRoots", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "depositRoot", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "governance", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "previousDepositRoot", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "previousWithdrawalRoot", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "rates", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "node", type: "bytes32", }, ], name: "resolve", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], name: "rewardNullifiers", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "rewardSwap", outputs: [ { internalType: "contract IRewardSwap", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "rewardVerifier", outputs: [ { internalType: "contract IVerifier", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "newOwner", type: "address", }, ], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "treeUpdateVerifier", outputs: [ { internalType: "contract IVerifier", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "withdrawVerifier", outputs: [ { internalType: "contract IVerifier", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "withdrawalRoot", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes[]", name: "_rewardArgs", type: "bytes[]", }, ], name: "batchReward", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes", name: "_proof", type: "bytes", }, { components: [ { internalType: "uint256", name: "rate", type: "uint256", }, { internalType: "uint256", name: "fee", type: "uint256", }, { internalType: "address", name: "instance", type: "address", }, { internalType: "bytes32", name: "rewardNullifier", type: "bytes32", }, { internalType: "bytes32", name: "extDataHash", type: "bytes32", }, { internalType: "bytes32", name: "depositRoot", type: "bytes32", }, { internalType: "bytes32", name: "withdrawalRoot", type: "bytes32", }, { components: [ { internalType: "address", name: "relayer", type: "address", }, { internalType: "bytes", name: "encryptedAccount", type: "bytes", }, ], internalType: "struct Miner.RewardExtData", name: "extData", type: "tuple", }, { components: [ { internalType: "bytes32", name: "inputRoot", type: "bytes32", }, { internalType: "bytes32", name: "inputNullifierHash", type: "bytes32", }, { internalType: "bytes32", name: "outputRoot", type: "bytes32", }, { internalType: "uint256", name: "outputPathIndices", type: "uint256", }, { internalType: "bytes32", name: "outputCommitment", type: "bytes32", }, ], internalType: "struct Miner.AccountUpdate", name: "account", type: "tuple", }, ], internalType: "struct Miner.RewardArgs", name: "_args", type: "tuple", }, { internalType: "bytes", name: "_treeUpdateProof", type: "bytes", }, { components: [ { internalType: "bytes32", name: "oldRoot", type: "bytes32", }, { internalType: "bytes32", name: "newRoot", type: "bytes32", }, { internalType: "bytes32", name: "leaf", type: "bytes32", }, { internalType: "uint256", name: "pathIndices", type: "uint256", }, ], internalType: "struct Miner.TreeUpdateArgs", name: "_treeUpdateArgs", type: "tuple", }, ], name: "reward", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes", name: "_proof", type: "bytes", }, { components: [ { internalType: "uint256", name: "rate", type: "uint256", }, { internalType: "uint256", name: "fee", type: "uint256", }, { internalType: "address", name: "instance", type: "address", }, { internalType: "bytes32", name: "rewardNullifier", type: "bytes32", }, { internalType: "bytes32", name: "extDataHash", type: "bytes32", }, { internalType: "bytes32", name: "depositRoot", type: "bytes32", }, { internalType: "bytes32", name: "withdrawalRoot", type: "bytes32", }, { components: [ { internalType: "address", name: "relayer", type: "address", }, { internalType: "bytes", name: "encryptedAccount", type: "bytes", }, ], internalType: "struct Miner.RewardExtData", name: "extData", type: "tuple", }, { components: [ { internalType: "bytes32", name: "inputRoot", type: "bytes32", }, { internalType: "bytes32", name: "inputNullifierHash", type: "bytes32", }, { internalType: "bytes32", name: "outputRoot", type: "bytes32", }, { internalType: "uint256", name: "outputPathIndices", type: "uint256", }, { internalType: "bytes32", name: "outputCommitment", type: "bytes32", }, ], internalType: "struct Miner.AccountUpdate", name: "account", type: "tuple", }, ], internalType: "struct Miner.RewardArgs", name: "_args", type: "tuple", }, ], name: "reward", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes", name: "_proof", type: "bytes", }, { components: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "bytes32", name: "extDataHash", type: "bytes32", }, { components: [ { internalType: "uint256", name: "fee", type: "uint256", }, { internalType: "address", name: "recipient", type: "address", }, { internalType: "address", name: "relayer", type: "address", }, { internalType: "bytes", name: "encryptedAccount", type: "bytes", }, ], internalType: "struct Miner.WithdrawExtData", name: "extData", type: "tuple", }, { components: [ { internalType: "bytes32", name: "inputRoot", type: "bytes32", }, { internalType: "bytes32", name: "inputNullifierHash", type: "bytes32", }, { internalType: "bytes32", name: "outputRoot", type: "bytes32", }, { internalType: "uint256", name: "outputPathIndices", type: "uint256", }, { internalType: "bytes32", name: "outputCommitment", type: "bytes32", }, ], internalType: "struct Miner.AccountUpdate", name: "account", type: "tuple", }, ], internalType: "struct Miner.WithdrawArgs", name: "_args", type: "tuple", }, ], name: "withdraw", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes", name: "_proof", type: "bytes", }, { components: [ { internalType: "uint256", name: "amount", type: "uint256", }, { internalType: "bytes32", name: "extDataHash", type: "bytes32", }, { components: [ { internalType: "uint256", name: "fee", type: "uint256", }, { internalType: "address", name: "recipient", type: "address", }, { internalType: "address", name: "relayer", type: "address", }, { internalType: "bytes", name: "encryptedAccount", type: "bytes", }, ], internalType: "struct Miner.WithdrawExtData", name: "extData", type: "tuple", }, { components: [ { internalType: "bytes32", name: "inputRoot", type: "bytes32", }, { internalType: "bytes32", name: "inputNullifierHash", type: "bytes32", }, { internalType: "bytes32", name: "outputRoot", type: "bytes32", }, { internalType: "uint256", name: "outputPathIndices", type: "uint256", }, { internalType: "bytes32", name: "outputCommitment", type: "bytes32", }, ], internalType: "struct Miner.AccountUpdate", name: "account", type: "tuple", }, ], internalType: "struct Miner.WithdrawArgs", name: "_args", type: "tuple", }, { internalType: "bytes", name: "_treeUpdateProof", type: "bytes", }, { components: [ { internalType: "bytes32", name: "oldRoot", type: "bytes32", }, { internalType: "bytes32", name: "newRoot", type: "bytes32", }, { internalType: "bytes32", name: "leaf", type: "bytes32", }, { internalType: "uint256", name: "pathIndices", type: "uint256", }, ], internalType: "struct Miner.TreeUpdateArgs", name: "_treeUpdateArgs", type: "tuple", }, ], name: "withdraw", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "_currentDepositRoot", type: "bytes32", }, { internalType: "bytes32", name: "_newDepositRoot", type: "bytes32", }, { components: [ { internalType: "address", name: "instance", type: "address", }, { internalType: "bytes32", name: "hash", type: "bytes32", }, { internalType: "uint256", name: "block", type: "uint256", }, { internalType: "uint256", name: "index", type: "uint256", }, ], internalType: "struct Miner.TreeLeaf[]", name: "_deposits", type: "tuple[]", }, { internalType: "bytes32", name: "_currentWithdrawalRoot", type: "bytes32", }, { internalType: "bytes32", name: "_newWithdrawalRoot", type: "bytes32", }, { components: [ { internalType: "address", name: "instance", type: "address", }, { internalType: "bytes32", name: "hash", type: "bytes32", }, { internalType: "uint256", name: "block", type: "uint256", }, { internalType: "uint256", name: "index", type: "uint256", }, ], internalType: "struct Miner.TreeLeaf[]", name: "_withdrawals", type: "tuple[]", }, ], name: "updateRoots", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { components: [ { internalType: "address", name: "instance", type: "address", }, { internalType: "uint256", name: "value", type: "uint256", }, ], internalType: "struct Miner.Rate[]", name: "_rates", type: "tuple[]", }, ], name: "setRates", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "newWeight", type: "uint256", }, ], name: "setPoolWeight", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bytes32", name: "_root", type: "bytes32", }, { internalType: "uint256", name: "index", type: "uint256", }, ], name: "isKnownAccountRoot", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getLastAccountRoot", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, ]; export class MiningAbi__factory { static readonly abi = _abi; static createInterface(): MiningAbiInterface { return new utils.Interface(_abi) as MiningAbiInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): MiningAbi { return new Contract(address, _abi, signerOrProvider) as MiningAbi; } }