@idle-finance/hardhat-proposals-plugin
Version:
Hardhat plugin for governance proposals
769 lines (763 loc) • 43.9 kB
text/typescript
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers";
import { Provider, TransactionRequest } from "@ethersproject/providers";
import type { GovernorAlpha, GovernorAlphaInterface } from "../GovernorAlpha";
const _abi = [
{
inputs: [
{
internalType: "address",
name: "timelock_",
type: "address",
},
{
internalType: "address",
name: "comp_",
type: "address",
},
{
internalType: "address",
name: "guardian_",
type: "address",
},
],
payable: false,
stateMutability: "nonpayable",
type: "constructor",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "id",
type: "uint256",
},
],
name: "ProposalCanceled",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "id",
type: "uint256",
},
{
indexed: false,
internalType: "address",
name: "proposer",
type: "address",
},
{
indexed: false,
internalType: "address[]",
name: "targets",
type: "address[]",
},
{
indexed: false,
internalType: "uint256[]",
name: "values",
type: "uint256[]",
},
{
indexed: false,
internalType: "string[]",
name: "signatures",
type: "string[]",
},
{
indexed: false,
internalType: "bytes[]",
name: "calldatas",
type: "bytes[]",
},
{
indexed: false,
internalType: "uint256",
name: "startBlock",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "endBlock",
type: "uint256",
},
{
indexed: false,
internalType: "string",
name: "description",
type: "string",
},
],
name: "ProposalCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "id",
type: "uint256",
},
],
name: "ProposalExecuted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "id",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "eta",
type: "uint256",
},
],
name: "ProposalQueued",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "voter",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
{
indexed: false,
internalType: "bool",
name: "support",
type: "bool",
},
{
indexed: false,
internalType: "uint256",
name: "votes",
type: "uint256",
},
],
name: "VoteCast",
type: "event",
},
{
constant: true,
inputs: [],
name: "BALLOT_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "DOMAIN_TYPEHASH",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [],
name: "__abdicate",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [],
name: "__acceptAdmin",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "address",
name: "newPendingAdmin",
type: "address",
},
{
internalType: "uint256",
name: "eta",
type: "uint256",
},
],
name: "__executeSetTimelockPendingAdmin",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "address",
name: "newPendingAdmin",
type: "address",
},
{
internalType: "uint256",
name: "eta",
type: "uint256",
},
],
name: "__queueSetTimelockPendingAdmin",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
],
name: "cancel",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
{
internalType: "bool",
name: "support",
type: "bool",
},
],
name: "castVote",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
{
internalType: "bool",
name: "support",
type: "bool",
},
{
internalType: "uint8",
name: "v",
type: "uint8",
},
{
internalType: "bytes32",
name: "r",
type: "bytes32",
},
{
internalType: "bytes32",
name: "s",
type: "bytes32",
},
],
name: "castVoteBySig",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
],
name: "execute",
outputs: [],
payable: true,
stateMutability: "payable",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
],
name: "getActions",
outputs: [
{
internalType: "address[]",
name: "targets",
type: "address[]",
},
{
internalType: "uint256[]",
name: "values",
type: "uint256[]",
},
{
internalType: "string[]",
name: "signatures",
type: "string[]",
},
{
internalType: "bytes[]",
name: "calldatas",
type: "bytes[]",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
{
internalType: "address",
name: "voter",
type: "address",
},
],
name: "getReceipt",
outputs: [
{
components: [
{
internalType: "bool",
name: "hasVoted",
type: "bool",
},
{
internalType: "bool",
name: "support",
type: "bool",
},
{
internalType: "uint96",
name: "votes",
type: "uint96",
},
],
internalType: "struct GovernorAlpha.Receipt",
name: "",
type: "tuple",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "guardian",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "latestProposalIds",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "name",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "proposalCount",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "proposalMaxOperations",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
{
constant: true,
inputs: [],
name: "proposalThreshold",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
name: "proposals",
outputs: [
{
internalType: "uint256",
name: "id",
type: "uint256",
},
{
internalType: "address",
name: "proposer",
type: "address",
},
{
internalType: "uint256",
name: "eta",
type: "uint256",
},
{
internalType: "uint256",
name: "startBlock",
type: "uint256",
},
{
internalType: "uint256",
name: "endBlock",
type: "uint256",
},
{
internalType: "uint256",
name: "forVotes",
type: "uint256",
},
{
internalType: "uint256",
name: "againstVotes",
type: "uint256",
},
{
internalType: "bool",
name: "canceled",
type: "bool",
},
{
internalType: "bool",
name: "executed",
type: "bool",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "address[]",
name: "targets",
type: "address[]",
},
{
internalType: "uint256[]",
name: "values",
type: "uint256[]",
},
{
internalType: "string[]",
name: "signatures",
type: "string[]",
},
{
internalType: "bytes[]",
name: "calldatas",
type: "bytes[]",
},
{
internalType: "string",
name: "description",
type: "string",
},
],
name: "propose",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: false,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
],
name: "queue",
outputs: [],
payable: false,
stateMutability: "nonpayable",
type: "function",
},
{
constant: true,
inputs: [],
name: "quorumVotes",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
{
constant: true,
inputs: [
{
internalType: "uint256",
name: "proposalId",
type: "uint256",
},
],
name: "state",
outputs: [
{
internalType: "enum GovernorAlpha.ProposalState",
name: "",
type: "uint8",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "timelock",
outputs: [
{
internalType: "contract TimelockInterface",
name: "",
type: "address",
},
],
payable: false,
stateMutability: "view",
type: "function",
},
{
constant: true,
inputs: [],
name: "votingDelay",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
{
constant: true,
inputs: [],
name: "votingPeriod",
outputs: [
{
internalType: "uint256",
name: "",
type: "uint256",
},
],
payable: false,
stateMutability: "pure",
type: "function",
},
];
const _bytecode =
"0x60806040523480156200001157600080fd5b506040516200391d3803806200391d83398101604081905262000034916200008a565b600080546001600160a01b039485166001600160a01b0319918216179091556001805493851693821693909317909255600280549190931691161790556200010a565b80516200008481620000f0565b92915050565b600080600060608486031215620000a057600080fd5b6000620000ae868662000077565b9350506020620000c18682870162000077565b9250506040620000d48682870162000077565b9150509250925092565b60006001600160a01b03821662000084565b620000fb81620000de565b81146200010757600080fd5b50565b613803806200011a6000396000f3fe60806040526004361061019c5760003560e01c8063452a9320116100ec578063d33219b41161008a578063ddf0b00911610064578063ddf0b00914610463578063deaaa7cc14610483578063e23a9a5214610498578063fe0d94c1146104c55761019c565b8063d33219b414610419578063da35c6641461042e578063da95691a146104435761019c565b80637bdbe4d0116100c65780637bdbe4d0146103ba57806391500671146103cf578063b58131b0146103ef578063b9a61961146104045761019c565b8063452a9320146103635780634634c61f14610385578063760fbc13146103a55761019c565b806320606b7011610159578063328dd98211610133578063328dd982146102d15780633932abb1146103015780633e4f49e61461031657806340e58ee5146103435761019c565b806320606b701461028757806321f43e421461029c57806324bc1a64146102bc5761019c565b8063013cf08b146101a157806302a251a3146101df57806306fdde0314610201578063109d0af81461022357806315373e3d1461024557806317977c6114610267575b600080fd5b3480156101ad57600080fd5b506101c16101bc366004612449565b6104d8565b6040516101d6999897969594939291906135ae565b60405180910390f35b3480156101eb57600080fd5b506101f4610531565b6040516101d691906132db565b34801561020d57600080fd5b50610216610538565b6040516101d69190613397565b34801561022f57600080fd5b5061023861056b565b6040516101d6919061337b565b34801561025157600080fd5b50610265610260366004612497565b61057a565b005b34801561027357600080fd5b506101f461028236600461228c565b610589565b34801561029357600080fd5b506101f461059b565b3480156102a857600080fd5b506102656102b73660046122b2565b6105b2565b3480156102c857600080fd5b506101f4610699565b3480156102dd57600080fd5b506102f16102ec366004612449565b6106a7565b6040516101d6949392919061328e565b34801561030d57600080fd5b506101f4610936565b34801561032257600080fd5b50610336610331366004612449565b61093b565b6040516101d69190613389565b34801561034f57600080fd5b5061026561035e366004612449565b610abd565b34801561036f57600080fd5b50610378610d26565b6040516101d69190613138565b34801561039157600080fd5b506102656103a03660046124c7565b610d35565b3480156103b157600080fd5b50610265610ecc565b3480156103c657600080fd5b506101f4610f08565b3480156103db57600080fd5b506102656103ea3660046122b2565b610f0d565b3480156103fb57600080fd5b506101f4610fe2565b34801561041057600080fd5b50610265610ff0565b34801561042557600080fd5b50610238611075565b34801561043a57600080fd5b506101f4611084565b34801561044f57600080fd5b506101f461045e3660046122ec565b61108a565b34801561046f57600080fd5b5061026561047e366004612449565b6114ac565b34801561048f57600080fd5b506101f4611716565b3480156104a457600080fd5b506104b86104b3366004612467565b611722565b6040516101d691906134f8565b6102656104d3366004612449565b611791565b6004602052600090815260409020805460018201546002830154600784015460088501546009860154600a870154600b9097015495966001600160a01b0390951695939492939192909160ff8082169161010090041689565b6143805b90565b60405180604001604052806017815260200176436f6d706f756e6420476f7665726e6f7220416c70686160481b81525081565b6001546001600160a01b031681565b610585338383611956565b5050565b60056020526000908152604090205481565b6040516105a790613122565b604051809103902081565b6002546001600160a01b031633146105e55760405162461bcd60e51b81526004016105dc906133d8565b60405180910390fd5b600080546040516001600160a01b0390911691630825f38f9183919061060f908790602001613138565b604051602081830303815290604052856040518563ffffffff1660e01b815260040161063e9493929190613161565b600060405180830381600087803b15801561065857600080fd5b505af115801561066c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106949190810190612414565b505050565b6954b40b1f852bda00000090565b6060806060806000600460008781526020019081526020016000209050806003018160040182600501836006018380548060200260200160405190810160405280929190818152602001828054801561072957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161070b575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561077b57602002820191906000526020600020905b815481526020019060010190808311610767575b5050505050925081805480602002602001604051908101604052809291908181526020016000905b8282101561084e5760008481526020908190208301805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561083a5780601f1061080f5761010080835404028352916020019161083a565b820191906000526020600020905b81548152906001019060200180831161081d57829003601f168201915b5050505050815260200190600101906107a3565b50505050915080805480602002602001604051908101604052809291908181526020016000905b828210156109205760008481526020908190208301805460408051601f600260001961010060018716150201909416939093049283018590048502810185019091528181529283018282801561090c5780601f106108e15761010080835404028352916020019161090c565b820191906000526020600020905b8154815290600101906020018083116108ef57829003601f168201915b505050505081526020019060010190610875565b5050505090509450945094509450509193509193565b600190565b6000816003541015801561094f5750600082115b61096b5760405162461bcd60e51b81526004016105dc906133e8565b6000828152600460205260409020600b81015460ff1615610990576002915050610ab8565b806007015443116109a5576000915050610ab8565b806008015443116109ba576001915050610ab8565b80600a015481600901541115806109db57506109d4610699565b8160090154105b156109ea576003915050610ab8565b60028101546109fd576004915050610ab8565b600b810154610100900460ff1615610a19576007915050610ab8565b6002810154600054604080516360d143f160e11b81529051610aa293926001600160a01b03169163c1a287e2916004808301926020929190829003018186803b158015610a6557600080fd5b505afa158015610a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a9d91908101906123f6565b611b1f565b4210610ab2576006915050610ab8565b60059150505b919050565b6000610ac88261093b565b90506007816007811115610ad857fe5b1415610af65760405162461bcd60e51b81526004016105dc906134b8565b60008281526004602052604090206002546001600160a01b0316331480610bc15750610b20610fe2565b60018054838201546001600160a01b039182169263782d6fe19290911690610b49904390611b4b565b6040518363ffffffff1660e01b8152600401610b669291906131b0565b60206040518083038186803b158015610b7e57600080fd5b505afa158015610b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb6919081019061252f565b6001600160601b0316105b610bdd5760405162461bcd60e51b81526004016105dc90613458565b600b8101805460ff1916600117905560005b6003820154811015610ce9576000546003830180546001600160a01b039092169163591fcdfe919084908110610c2157fe5b6000918252602090912001546004850180546001600160a01b039092169185908110610c4957fe5b9060005260206000200154856005018581548110610c6357fe5b90600052602060002001866006018681548110610c7c57fe5b9060005260206000200187600201546040518663ffffffff1660e01b8152600401610cab95949392919061324d565b600060405180830381600087803b158015610cc557600080fd5b505af1158015610cd9573d6000803e3d6000fd5b505060019092019150610bef9050565b507f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c83604051610d1991906132db565b60405180910390a1505050565b6002546001600160a01b031681565b6000604051610d4390613122565b604080519182900382208282019091526017825276436f6d706f756e6420476f7665726e6f7220416c70686160481b6020909201919091527ff5eb22c2e7100465020c98b00537528808db4fec6eb24c550685a92742247bc5610da4611b73565b30604051602001610db894939291906132e9565b6040516020818303038152906040528051906020012090506000604051610dde9061312d565b604051908190038120610df7918990899060200161331e565b60405160208183030381529060405280519060200120905060008282604051602001610e249291906130f1565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610e619493929190613346565b6020604051602081039080840390855afa158015610e83573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610eb65760405162461bcd60e51b81526004016105dc90613498565b610ec1818a8a611956565b505050505050505050565b6002546001600160a01b03163314610ef65760405162461bcd60e51b81526004016105dc906134e8565b600280546001600160a01b0319169055565b600a90565b6002546001600160a01b03163314610f375760405162461bcd60e51b81526004016105dc90613418565b600080546040516001600160a01b0390911691633a66f90191839190610f61908790602001613138565b604051602081830303815290604052856040518563ffffffff1660e01b8152600401610f909493929190613161565b602060405180830381600087803b158015610faa57600080fd5b505af1158015610fbe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069491908101906123f6565b69152d02c7e14af680000090565b6002546001600160a01b0316331461101a5760405162461bcd60e51b81526004016105dc906133a8565b6000805460408051630e18b68160e01b815290516001600160a01b0390921692630e18b6819260048084019382900301818387803b15801561105b57600080fd5b505af115801561106f573d6000803e3d6000fd5b50505050565b6000546001600160a01b031681565b60035481565b6000611094610fe2565b600180546001600160a01b03169063782d6fe19033906110b5904390611b4b565b6040518363ffffffff1660e01b81526004016110d2929190613146565b60206040518083038186803b1580156110ea57600080fd5b505afa1580156110fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611122919081019061252f565b6001600160601b0316116111485760405162461bcd60e51b81526004016105dc90613488565b8451865114801561115a575083518651145b8015611167575082518651145b6111835760405162461bcd60e51b81526004016105dc90613448565b85516111a15760405162461bcd60e51b81526004016105dc90613478565b6111a9610f08565b865111156111c95760405162461bcd60e51b81526004016105dc90613428565b3360009081526005602052604090205480156112465760006111ea8261093b565b905060018160078111156111fa57fe5b14156112185760405162461bcd60e51b81526004016105dc906134a8565b600081600781111561122657fe5b14156112445760405162461bcd60e51b81526004016105dc90613408565b505b600061125443610a9d610936565b9050600061126482610a9d610531565b6003805460010190559050611277611cd6565b604051806101a001604052806003548152602001336001600160a01b03168152602001600081526020018b81526020018a815260200189815260200188815260200184815260200183815260200160008152602001600081526020016000151581526020016000151581525090508060046000836000015181526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020155606082015181600301908051906020019061135a929190611d4b565b5060808201518051611376916004840191602090910190611db0565b5060a08201518051611392916005840191602090910190611df7565b5060c082015180516113ae916006840191602090910190611e50565b5060e082015181600701556101008201518160080155610120820151816009015561014082015181600a015561016082015181600b0160006101000a81548160ff02191690831515021790555061018082015181600b0160016101000a81548160ff02191690831515021790555090505080600001516005600083602001516001600160a01b03166001600160a01b03168152602001908152602001600020819055507f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e08160000151338c8c8c8c89898e60405161149499989796959493929190613506565b60405180910390a15193505050505b95945050505050565b60046114b78261093b565b60078111156114c257fe5b146114df5760405162461bcd60e51b81526004016105dc906133b8565b600081815260046020818152604080842084548251630d48571f60e31b815292519195946115349442946001600160a01b0390931693636a42b8f8938084019390829003018186803b158015610a6557600080fd5b905060005b60038301548110156116dc576116d483600301828154811061155757fe5b6000918252602090912001546004850180546001600160a01b03909216918490811061157f57fe5b906000526020600020015485600501848154811061159957fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156116275780601f106115fc57610100808354040283529160200191611627565b820191906000526020600020905b81548152906001019060200180831161160a57829003601f168201915b505050505086600601858154811061163b57fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152928301828280156116c95780601f1061169e576101008083540402835291602001916116c9565b820191906000526020600020905b8154815290600101906020018083116116ac57829003601f168201915b505050505086611b77565b600101611539565b50600282018190556040517f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289290610d199085908490613634565b6040516105a79061312d565b61172a611ea9565b5060008281526004602090815260408083206001600160a01b0385168452600c018252918290208251606081018452905460ff80821615158352610100820416151592820192909252620100009091046001600160601b0316918101919091525b92915050565b600561179c8261093b565b60078111156117a757fe5b146117c45760405162461bcd60e51b81526004016105dc906133c8565b6000818152600460205260408120600b8101805461ff001916610100179055905b600382015481101561191a576000546004830180546001600160a01b0390921691630825f38f91908490811061181757fe5b906000526020600020015484600301848154811061183157fe5b6000918252602090912001546004860180546001600160a01b03909216918690811061185957fe5b906000526020600020015486600501868154811061187357fe5b9060005260206000200187600601878154811061188c57fe5b9060005260206000200188600201546040518763ffffffff1660e01b81526004016118bb95949392919061324d565b6000604051808303818588803b1580156118d457600080fd5b505af11580156118e8573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526119119190810190612414565b506001016117e5565b507f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f8260405161194a91906132db565b60405180910390a15050565b60016119618361093b565b600781111561196c57fe5b146119895760405162461bcd60e51b81526004016105dc906134c8565b60008281526004602090815260408083206001600160a01b0387168452600c8101909252909120805460ff16156119d25760405162461bcd60e51b81526004016105dc906133f8565b600154600783015460405163782d6fe160e01b81526000926001600160a01b03169163782d6fe191611a08918a916004016131b0565b60206040518083038186803b158015611a2057600080fd5b505afa158015611a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a58919081019061252f565b90508315611a8157611a778360090154826001600160601b0316611b1f565b6009840155611a9e565b611a9883600a0154826001600160601b0316611b1f565b600a8401555b8154600160ff199091161761ff00191661010085151502176dffffffffffffffffffffffff00001916620100006001600160601b038316021782556040517f877856338e13f63d0c36822ff0ef736b80934cd90574a3a5bc9262c39d217c4690611b0f9088908890889086906131be565b60405180910390a1505050505050565b600082820183811015611b445760405162461bcd60e51b81526004016105dc90613438565b9392505050565b600082821115611b6d5760405162461bcd60e51b81526004016105dc906134d8565b50900390565b4690565b6000546040516001600160a01b039091169063f2b0653790611ba590889088908890889088906020016131f3565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b8152600401611bd791906132db565b60206040518083038186803b158015611bef57600080fd5b505afa158015611c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c2791908101906123d8565b15611c445760405162461bcd60e51b81526004016105dc90613468565b600054604051633a66f90160e01b81526001600160a01b0390911690633a66f90190611c7c90889088908890889088906004016131f3565b602060405180830381600087803b158015611c9657600080fd5b505af1158015611caa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cce91908101906123f6565b505050505050565b604051806101a001604052806000815260200160006001600160a01b031681526020016000815260200160608152602001606081526020016060815260200160608152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b828054828255906000526020600020908101928215611da0579160200282015b82811115611da057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190611d6b565b50611dac929150611ec9565b5090565b828054828255906000526020600020908101928215611deb579160200282015b82811115611deb578251825591602001919060010190611dd0565b50611dac929150611eed565b828054828255906000526020600020908101928215611e44579160200282015b82811115611e445782518051611e34918491602090910190611f07565b5091602001919060010190611e17565b50611dac929150611f74565b828054828255906000526020600020908101928215611e9d579160200282015b82811115611e9d5782518051611e8d918491602090910190611f07565b5091602001919060010190611e70565b50611dac929150611f97565b604080516060810182526000808252602082018190529181019190915290565b61053591905b80821115611dac5780546001600160a01b0319168155600101611ecf565b61053591905b80821115611dac5760008155600101611ef3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611f4857805160ff1916838001178555611deb565b82800160010185558215611deb5791820182811115611deb578251825591602001919060010190611dd0565b61053591905b80821115611dac576000611f8e8282611fba565b50600101611f7a565b61053591905b80821115611dac576000611fb18282611fba565b50600101611f9d565b50805460018160011615610100020316600290046000825580601f10611fe05750611ffe565b601f016020900490600052602060002090810190611ffe9190611eed565b50565b803561178b81613788565b600082601f83011261201d57600080fd5b813561203061202b82613669565b613642565b9150818183526020840193506020810190508385602084028201111561205557600080fd5b60005b83811015612081578161206b8882612001565b8452506020928301929190910190600101612058565b5050505092915050565b600082601f83011261209c57600080fd5b81356120aa61202b82613669565b81815260209384019390925082018360005b8381101561208157813586016120d288826121e1565b84525060209283019291909101906001016120bc565b600082601f8301126120f957600080fd5b813561210761202b82613669565b81815260209384019390925082018360005b83811015612081578135860161212f88826121e1565b8452506020928301929190910190600101612119565b600082601f83011261215657600080fd5b813561216461202b82613669565b9150818183526020840193506020810190508385602084028201111561218957600080fd5b60005b83811015612081578161219f88826121cb565b845250602092830192919091019060010161218c565b803561178b8161379c565b805161178b8161379c565b803561178b816137a5565b805161178b816137a5565b600082601f8301126121f257600080fd5b813561220061202b8261368a565b9150808252602083016020830185838301111561221c57600080fd5b61222783828461373c565b50505092915050565b600082601f83011261224157600080fd5b815161224f61202b8261368a565b9150808252602083016020830185838301111561226b57600080fd5b612227838284613748565b803561178b816137ae565b805161178b816137b7565b60006020828403121561229e57600080fd5b60006122aa8484612001565b949350505050565b600080604083850312156122c557600080fd5b60006122d18585612001565b92505060206122e2858286016121cb565b9150509250929050565b600080600080600060a0868803121561230457600080fd5b853567ffffffffffffffff81111561231b57600080fd5b6123278882890161200c565b955050602086013567ffffffffffffffff81111561234457600080fd5b61235088828901612145565b945050604086013567ffffffffffffffff81111561236d57600080fd5b612379888289016120e8565b935050606086013567ffffffffffffffff81111561239657600080fd5b6123a28882890161208b565b925050608086013567ffffffffffffffff8111156123bf57600080fd5b6123cb888289016121e1565b9150509295509295909350565b6000602082840312156123ea57600080fd5b60006122aa84846121c0565b60006020828403121561240857600080fd5b60006122aa84846121d6565b60006020828403121561242657600080fd5b815167ffffffffffffffff81111561243d57600080fd5b6122aa84828501612230565b60006020828403121561245b57600080fd5b60006122aa84846121cb565b6000806040838503121561247a57600080fd5b600061248685856121cb565b92505060206122e285828601612001565b600080604083850312156124aa57600080fd5b60006124b685856121cb565b92505060206122e2858286016121b5565b600080600080600060a086880312156124df57600080fd5b60006124eb88886121cb565b95505060206124fc888289016121b5565b945050604061250d88828901612276565b935050606061251e888289016121cb565b92505060806123cb888289016121cb565b60006020828403121561254157600080fd5b60006122aa8484612281565b60006125598383612588565b505060200190565b6000611b44838361272a565b60006125598383612710565b61258281613709565b82525050565b612582816136d1565b600061259c826136c4565b6125a681856136c8565b93506125b1836136b2565b8060005b838110156125df5781516125c9888261254d565b97506125d4836136b2565b9250506001016125b5565b509495945050505050565b60006125f5826136c4565b6125ff81856136c8565b935083602082028501612611856136b2565b8060005b8581101561264b578484038952815161262e8582612561565b9450612639836136b2565b60209a909a0199925050600101612615565b5091979650505050505050565b6000612663826136c4565b61266d81856136c8565b93508360208202850161267f856136b2565b8060005b8581101561264b578484038952815161269c8582612561565b94506126a7836136b2565b60209a909a0199925050600101612683565b60006126c4826136c4565b6126ce81856136c8565b93506126d9836136b2565b8060005b838110156125df5781516126f1888261256d565b97506126fc836136b2565b9250506001016126dd565b612582816136dc565b61258281610535565b61258261272582610535565b610535565b6000612735826136c4565b61273f81856136c8565b935061274f818560208601613748565b61275881613774565b9093019392505050565b60008154600181166000811461277f57600181146127a5576127e4565b607f600283041661279081876136c8565b60ff19841681529550506020850192506127e4565b600282046127b381876136c8565b95506127be856136b8565b60005b828110156127dd578154888201526001909101906020016127c1565b8701945050505b505092915050565b61258281613710565b6125828161371b565b61258281613726565b60006128146039836136c8565b7f476f7665726e6f72416c7068613a3a5f5f61636365707441646d696e3a20736581527f6e646572206d75737420626520676f7620677561726469616e00000000000000602082015260400192915050565b60006128736044836136c8565b7f476f7665726e6f72416c7068613a3a71756575653a2070726f706f73616c206381527f616e206f6e6c79206265207175657565642069662069742069732073756363656020820152631959195960e21b604082015260600192915050565b60006128df6045836136c8565b7f476f7665726e6f72416c7068613a3a657865637574653a2070726f706f73616c81527f2063616e206f6e6c7920626520657865637574656420696620697420697320716020820152641d595d595960da1b604082015260600192915050565b600061294c600283610ab8565b61190160f01b815260020192915050565b600061296a604c836136c8565b7f476f7665726e6f72416c7068613a3a5f5f6578656375746553657454696d656c81527f6f636b50656e64696e6741646d696e3a2073656e646572206d7573742062652060208201526b33b7bb1033bab0b93234b0b760a11b604082015260600192915050565b60006129de6018836136c8565b7f73657450656e64696e6741646d696e2861646472657373290000000000000000815260200192915050565b6000612a176029836136c8565b7f476f7665726e6f72416c7068613a3a73746174653a20696e76616c69642070728152681bdc1bdcd85b081a5960ba1b602082015260400192915050565b6000612a62602d836136c8565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f7465722081526c185b1c9958591e481d9bdd1959609a1b602082015260400192915050565b6000612ab16059836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c72656164792070656e64696e672070726f706f73616c00000000000000604082015260600192915050565b6000612b36604a836136c8565b7f476f7665726e6f72416c7068613a3a5f5f717565756553657454696d656c6f6381527f6b50656e64696e6741646d696e3a2073656e646572206d75737420626520676f6020820152693b1033bab0b93234b0b760b11b604082015260600192915050565b6000612ba86028836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a20746f6f206d616e7981526720616374696f6e7360c01b602082015260400192915050565b6000612bf26011836136c8565b706164646974696f6e206f766572666c6f7760781b815260200192915050565b6000612c1f604383610ab8565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b6000612c8a602783610ab8565b7f42616c6c6f742875696e743235362070726f706f73616c49642c626f6f6c20738152667570706f72742960c81b602082015260270192915050565b6000612cd36044836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73616c81527f2066756e6374696f6e20696e666f726d6174696f6e206172697479206d69736d6020820152630c2e8c6d60e31b604082015260600192915050565b6000612d3f602f836136c8565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2070726f706f7365722081526e18589bdd99481d1a1c995cda1bdb19608a1b602082015260400192915050565b6000612d906044836136c8565b7f476f7665726e6f72416c7068613a3a5f71756575654f725265766572743a207081527f726f706f73616c20616374696f6e20616c7265616479207175657565642061746020820152632065746160e01b604082015260600192915050565b6000612dfc602c836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206d7573742070726f81526b7669646520616374696f6e7360a01b602082015260400192915050565b6000612e4a603f836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a2070726f706f73657281527f20766f7465732062656c6f772070726f706f73616c207468726573686f6c6400602082015260400192915050565b6000612ea9602f836136c8565b7f476f7665726e6f72416c7068613a3a63617374566f746542795369673a20696e81526e76616c6964207369676e617475726560881b602082015260400192915050565b6000612efa6058836136c8565b7f476f7665726e6f72416c7068613a3a70726f706f73653a206f6e65206c69766581527f2070726f706f73616c207065722070726f706f7365722c20666f756e6420616e60208201527f20616c7265616479206163746976652070726f706f73616c0000000000000000604082015260600192915050565b6000612f7f6036836136c8565b7f476f7665726e6f72416c7068613a3a63616e63656c3a2063616e6e6f742063618152751b98d95b08195e1958dd5d1959081c1c9bdc1bdcd85b60521b602082015260400192915050565b6000612fd7602a836136c8565b7f476f7665726e6f72416c7068613a3a5f63617374566f74653a20766f74696e67815269081a5cc818db1bdcd95960b21b602082015260400192915050565b60006130236015836136c8565b747375627472616374696f6e20756e646572666c6f7760581b815260200192915050565b60006130546036836136c8565b7f476f7665726e6f72416c7068613a3a5f5f61626469636174653a2073656e6465815275391036bab9ba1031329033b7bb1033bab0b93234b0b760511b602082015260400192915050565b805160608301906130b08482612707565b5060208201516130c36020850182612707565b50604082015161106f60408501826130e8565b612582816136f7565b61258281613731565b612582816136fd565b60006130fc8261293f565b91506131088285612719565b6020820191506131188284612719565b5060200192915050565b600061178b82612c12565b600061178b82612c7d565b6020810161178b8284612588565b604081016131548285612579565b611b446020830184612710565b60a0810161316f8287612588565b61317c60208301866127fe565b818103604083015261318d816129d1565b905081810360608301526131a1818561272a565b90506114a36080830184612710565b604081016131548285612588565b608081016131cc8287612588565b6131d96020830186612710565b6131e66040830185612707565b6114a360608301846130df565b60a081016132018288612588565b61320e6020830187612710565b8181036040830152613220818661272a565b90508181036060830152613234818561272a565b90506132436080830184612710565b9695505050505050565b60a0810161325b8288612588565b6132686020830187612710565b818103604083015261327a8186612762565b905081810360608301526132348185612762565b6080808252810161329f8187612591565b905081810360208301526132b381866126b9565b905081810360408301526132c78185612658565b9050818103606083015261324381846125ea565b6020810161178b8284612710565b608081016132f78287612710565b6133046020830186612710565b6133116040830185612710565b6114a36060830184612588565b6060810161332c8286612710565b6133396020830185612710565b6122aa6040830184612707565b608081016133548287612710565b61336160208301866130d6565b61336e6040830185612710565b6114a36060830184612710565b6020810161178b82846127ec565b6020810161178b82846127f5565b60208082528101611b44818461272a565b6020808252810161178b81612807565b6020808252810161178b81612866565b6020808252810161178b816128d2565b6020808252810161178b8161295d565b6020808252810161178b81612a0a565b6020808252810161178b81612a55565b6020808252810161178b81612aa4565b6020808252810161178b81612b29565b6020808252810161178b81612b9b565b6020808252810161178b81612be5565b6020808252810161178b81612cc6565b6020808252810161178b81612d32565b6020808252810161178b81612d83565b6020808252810161178b81612def565b6020808252810161178b81612e3d565b6020808252810161178b81612e9c565b6020808252810161178b81612eed565b6020808252810161178b81612f72565b6020808252810161178b81612fca565b6020808252810161178b81613016565b6020808252810161178b81613047565b6060810161178b828461309f565b6101208101613515828c612710565b613522602083018b612579565b8181036040830152613534818a612591565b9050818103606083015261354881896126b9565b9050818103608083015261355c8188612658565b905081810360a083015261357081876125ea565b905061357f60c0830186612710565b61358c60e0830185612710565b81810361010083015261359f818461272a565b9b9a5050505050505050505050565b61012081016135bd828c612710565b6135ca602083018b612588565b6135d7604083018a612710565b6135e46060830189612710565b6135f16080830188612710565b6135fe60a0830187612710565b61360b60c0830186612710565b61361860e0830185612707565b613626610100830184612707565b9a9950505050505050505050565b604081016131548285612710565b60405181810167ffffffffffffffff8111828210171561366157600080fd5b604052919050565b600067ffffffffffffffff82111561368057600080fd5b5060209081020190565b600067ffffffffffffffff8211156136a157600080fd5b506020601f91909101601f19160190565b60200190565b60009081526020902090565b5190565b90815260200190565b600061178b826136eb565b151590565b80610ab88161377e565b6001600160a01b031690565b60ff1690565b6001600160601b031690565b600061178b825b600061178b826136d1565b600061178b826136e1565b600061178b82610535565b600061178b826136fd565b82818337506000910152565b60005b8381101561376357818101518382015260200161374b565b8381111561106f5750506000910152565b601f01601f191690565b60088110611ffe57fe5b613791816136d1565b8114611ffe57600080fd5b613791816136dc565b61379181610535565b613791816136f7565b613791816136fd56fea365627a7a723158200b1f3bfa694b28c40703fd331d0cf089eeb7288b820578a7c1e0bc11f6d3d8f26c6578706572696d656e74616cf564736f6c63430005100040";
export class GovernorAlpha__factory extends ContractFactory {
constructor(signer?: Signer) {
super(_abi, _bytecode, signer);
}
deploy(
timelock_: string,
comp_: string,
guardian_: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<GovernorAlpha> {
return super.deploy(
timelock_,
comp_,
guardian_,
overrides || {}
) as Promise<GovernorAlpha>;
}
getDeployTransaction(
timelock_: string,
comp_: string,
guardian_: string,
overrides?: Overrides & { from?: string | Promise<string> }
): TransactionRequest {
return super.getDeployTransaction(
timelock_,
comp_,
guardian_,
overrides || {}
);
}
attach(address: string): GovernorAlpha {
return super.attach(address) as GovernorAlpha;
}
connect(signer: Signer): GovernorAlpha__factory {
return super.connect(signer) as GovernorAlpha__factory;
}
static readonly bytecode = _bytecode;
static readonly abi = _abi;
static createInterface(): GovernorAlphaInterface {
return new utils.Interface(_abi) as GovernorAlphaInterface;
}
static connect(
address: string,
signerOrProvider: Signer | Provider
): GovernorAlpha {
return new Contract(address, _abi, signerOrProvider) as GovernorAlpha;
}
}