0 txs
0 calls
constructor
constructor(address ens, address _governor, string _pledge)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
governor
viewfunction governor() view returns (address)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
pledge
viewfunction pledge() view returns (string)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
VETO_CANDIDATE_ROLE
viewfunction VETO_CANDIDATE_ROLE() view returns (bytes32)
VETO_ROLE
viewfunction VETO_ROLE() view returns (bytes32)
castVote
nonpayablefunction castVote(uint256 proposalId) returns (uint256 balance)
castVoteWithReason
nonpayablefunction castVoteWithReason(uint256 proposalId, string reason) returns (uint256 balance)
enableVeto
nonpayablefunction enableVeto(bytes signature)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setGovernor
nonpayablefunction setGovernor(address _governor)
events
NewGovernor
event NewGovernor(address governor)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AccessDenied
error AccessDenied()
InvalidSignature
error InvalidSignature()
creation bytecode
0x608060405234801561000f575f80fd5b5060405161243a38038061243a83398181016040528101906100319190610530565b82335f8273ffffffffffffffffffffffffffffffffffffffff166302571be37f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e25f1b6040518263ffffffff1660e01b815260040161008f91906105b4565b602060405180830381865afa1580156100aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ce91906105cd565b90508073ffffffffffffffffffffffffffffffffffffffff16631e83409a836040518263ffffffff1660e01b81526004016101099190610607565b6020604051808303815f875af1158015610125573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610149919061064a565b505050508160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c826040516101bc9190610607565b60405180910390a16101d65f801b336101ef60201b60201c565b5080600290816101e69190610882565b50505050610951565b5f61020083836102e460201b60201c565b6102da5760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061027761034760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600190506102de565b5f90505b92915050565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103888261035f565b9050919050565b5f6103998261037e565b9050919050565b6103a98161038f565b81146103b3575f80fd5b50565b5f815190506103c4816103a0565b92915050565b6103d38161037e565b81146103dd575f80fd5b50565b5f815190506103ee816103ca565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610442826103fc565b810181811067ffffffffffffffff821117156104615761046061040c565b5b80604052505050565b5f61047361034e565b905061047f8282610439565b919050565b5f67ffffffffffffffff82111561049e5761049d61040c565b5b6104a7826103fc565b9050602081019050919050565b8281835e5f83830152505050565b5f6104d46104cf84610484565b61046a565b9050828152602081018484840111156104f0576104ef6103f8565b5b6104fb8482856104b4565b509392505050565b5f82601f830112610517576105166103f4565b5b81516105278482602086016104c2565b91505092915050565b5f805f6060848603121561054757610546610357565b5b5f610554868287016103b6565b9350506020610565868287016103e0565b925050604084015167ffffffffffffffff8111156105865761058561035b565b5b61059286828701610503565b9150509250925092565b5f819050919050565b6105ae8161059c565b82525050565b5f6020820190506105c75f8301846105a5565b92915050565b5f602082840312156105e2576105e1610357565b5b5f6105ef848285016103e0565b91505092915050565b6106018161037e565b82525050565b5f60208201905061061a5f8301846105f8565b92915050565b6106298161059c565b8114610633575f80fd5b50565b5f8151905061064481610620565b92915050565b5f6020828403121561065f5761065e610357565b5b5f61066c84828501610636565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806106c357607f821691505b6020821081036106d6576106d561067f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826106fd565b61074286836106fd565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61078661078161077c8461075a565b610763565b61075a565b9050919050565b5f819050919050565b61079f8361076c565b6107b36107ab8261078d565b848454610709565b825550505050565b5f90565b6107c76107bb565b6107d2818484610796565b505050565b5b818110156107f5576107ea5f826107bf565b6001810190506107d8565b5050565b601f82111561083a5761080b816106dc565b610814846106ee565b81016020851015610823578190505b61083761082f856106ee565b8301826107d7565b50505b505050565b5f82821c905092915050565b5f61085a5f198460080261083f565b1980831691505092915050565b5f610872838361084b565b9150826002028217905092915050565b61088b82610675565b67ffffffffffffffff8111156108a4576108a361040c565b5b6108ae82546106ac565b6108b98282856107f9565b5f60209050601f8311600181146108ea575f84156108d8578287015190505b6108e28582610867565b865550610949565b601f1984166108f8866106dc565b5f5b8281101561091f578489015182556001820191506020850194506020810190506108fa565b8683101561093c5784890151610938601f89168261084b565b8355505b6001600288020188555050505b505050505050565b611adc8061095e5f395ff3fe608060405234801561000f575f80fd5b50600436106100f3575f3560e01c80636509caee11610095578063a147109b11610064578063a147109b14610295578063a217fddf146102b3578063c42cf535146102d1578063d547741f146102ed576100f3565b80636509caee1461020d57806388ffe8671461022957806391d1485414610247578063936900da14610277576100f3565b8063248a9ca3116100d1578063248a9ca3146101755780632f2ff15d146101a557806336568abe146101c15780633eb76b9c146101dd576100f3565b806301ffc9a7146100f75780630c340a24146101275780631aa0834f14610145575b5f80fd5b610111600480360381019061010c91906111ad565b610309565b60405161011e91906111f2565b60405180910390f35b61012f610382565b60405161013c9190611285565b60405180910390f35b61015f600480360381019061015a9190611332565b6103a7565b60405161016c919061139e565b60405180910390f35b61018f600480360381019061018a91906113ea565b61048e565b60405161019c9190611424565b60405180910390f35b6101bf60048036038101906101ba9190611478565b6104aa565b005b6101db60048036038101906101d69190611478565b6104cc565b005b6101f760048036038101906101f291906114b6565b610547565b604051610204919061139e565b60405180910390f35b61022760048036038101906102229190611619565b610628565b005b61023161077d565b60405161023e91906116c0565b60405180910390f35b610261600480360381019061025c9190611478565b610809565b60405161026e91906111f2565b60405180910390f35b61027f61086c565b60405161028c9190611424565b60405180910390f35b61029d610890565b6040516102aa9190611424565b60405180910390f35b6102bb6108b4565b6040516102c89190611424565b60405180910390f35b6102eb60048036038101906102e691906116e0565b6108ba565b005b61030760048036038101906103029190611478565b610941565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061037b575061037a82610963565b5b9050919050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7f18d7d437a2d7905ef3353a5b94dadd41c37b2e3c79053f87c83493c081d7315a6103d2816109cc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b3c71d3865f60028111156104235761042261170b565b5b87876040518563ffffffff1660e01b8152600401610444949392919061177f565b6020604051808303815f875af1158015610460573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048491906117d1565b9150509392505050565b5f805f8381526020019081526020015f20600101549050919050565b6104b38261048e565b6104bc816109cc565b6104c683836109e0565b50505050565b6104d4610ac9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610538576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105428282610ad0565b505050565b5f7f18d7d437a2d7905ef3353a5b94dadd41c37b2e3c79053f87c83493c081d7315a610572816109cc565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166356781388845f60028111156105c3576105c261170b565b5b6040518363ffffffff1660e01b81526004016105e09291906117fc565b6020604051808303815f875af11580156105fc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062091906117d1565b915050919050565b7fd628f99199a834ccca776e88529414960a9ae9b65fa3e8924ae915c023132ad0610652816109cc565b6106ed336106e76002805461066690611850565b80601f016020809104026020016040519081016040528092919081815260200182805461069290611850565b80156106dd5780601f106106b4576101008083540402835291602001916106dd565b820191905f5260205f20905b8154815290600101906020018083116106c057829003601f168201915b5050505050610bb9565b84610bf3565b610723576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61074d7f18d7d437a2d7905ef3353a5b94dadd41c37b2e3c79053f87c83493c081d7315a336109e0565b506107787fd628f99199a834ccca776e88529414960a9ae9b65fa3e8924ae915c023132ad033610ad0565b505050565b6002805461078a90611850565b80601f01602080910402602001604051908101604052809291908181526020018280546107b690611850565b80156108015780601f106107d857610100808354040283529160200191610801565b820191905f5260205f20905b8154815290600101906020018083116107e457829003601f168201915b505050505081565b5f805f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b7fd628f99199a834ccca776e88529414960a9ae9b65fa3e8924ae915c023132ad081565b7f18d7d437a2d7905ef3353a5b94dadd41c37b2e3c79053f87c83493c081d7315a81565b5f801b81565b5f801b6108c6816109cc565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c82604051610935919061188f565b60405180910390a15050565b61094a8261048e565b610953816109cc565b61095d8383610ad0565b50505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109dd816109d8610ac9565b610c80565b50565b5f6109eb8383610809565b610abf5760015f808581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610a5c610ac9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050610ac3565b5f90505b92915050565b5f33905090565b5f610adb8383610809565b15610baf575f805f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610b4c610ac9565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050610bb3565b5f90505b92915050565b5f610bc48251610cd1565b82604051602001610bd6929190611912565b604051602081830303815290604052805190602001209050919050565b5f805f610c008585610d9b565b50915091505f6003811115610c1857610c1761170b565b5b816003811115610c2b57610c2a61170b565b5b148015610c6357508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80610c755750610c74868686610df0565b5b925050509392505050565b610c8a8282610809565b610ccd5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401610cc4929190611944565b60405180910390fd5b5050565b60605f6001610cdf84610f0f565b0190505f8167ffffffffffffffff811115610cfd57610cfc6114f5565b5b6040519080825280601f01601f191660200182016040528015610d2f5781602001600182028036833780820191505090505b5090505f82602001820190505b600115610d90578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610d8557610d8461196b565b5b0494505f8503610d3c575b819350505050919050565b5f805f6041845103610ddb575f805f602087015192506040870151915060608701515f1a9050610dcd88828585611060565b955095509550505050610de9565b5f600285515f1b9250925092505b9250925092565b5f805f8573ffffffffffffffffffffffffffffffffffffffff168585604051602401610e1d9291906119e0565b604051602081830303815290604052631626ba7e60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610e6f9190611a0e565b5f60405180830381855afa9150503d805f8114610ea7576040519150601f19603f3d011682016040523d82523d5f602084013e610eac565b606091505b5091509150818015610ec057506020815110155b8015610f045750631626ba7e60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681806020019051810190610f029190611a38565b145b925050509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310610f6b577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381610f6157610f6061196b565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310610fa8576d04ee2d6d415b85acef81000000008381610f9e57610f9d61196b565b5b0492506020810190505b662386f26fc100008310610fd757662386f26fc100008381610fcd57610fcc61196b565b5b0492506010810190505b6305f5e1008310611000576305f5e1008381610ff657610ff561196b565b5b0492506008810190505b612710831061102557612710838161101b5761101a61196b565b5b0492506004810190505b60648310611048576064838161103e5761103d61196b565b5b0492506002810190505b600a8310611057576001810190505b80915050919050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c111561109c575f60038592509250925061113d565b5f6001888888886040515f81526020016040526040516110bf9493929190611a63565b6020604051602081039080840390855afa1580156110df573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611130575f60015f801b9350935093505061113d565b805f805f1b935093509350505b9450945094915050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61118c81611158565b8114611196575f80fd5b50565b5f813590506111a781611183565b92915050565b5f602082840312156111c2576111c1611150565b5b5f6111cf84828501611199565b91505092915050565b5f8115159050919050565b6111ec816111d8565b82525050565b5f6020820190506112055f8301846111e3565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61124d6112486112438461120b565b61122a565b61120b565b9050919050565b5f61125e82611233565b9050919050565b5f61126f82611254565b9050919050565b61127f81611265565b82525050565b5f6020820190506112985f830184611276565b92915050565b5f819050919050565b6112b08161129e565b81146112ba575f80fd5b50565b5f813590506112cb816112a7565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112f2576112f16112d1565b5b8235905067ffffffffffffffff81111561130f5761130e6112d5565b5b60208301915083600182028301111561132b5761132a6112d9565b5b9250929050565b5f805f6040848603121561134957611348611150565b5b5f611356868287016112bd565b935050602084013567ffffffffffffffff81111561137757611376611154565b5b611383868287016112dd565b92509250509250925092565b6113988161129e565b82525050565b5f6020820190506113b15f83018461138f565b92915050565b5f819050919050565b6113c9816113b7565b81146113d3575f80fd5b50565b5f813590506113e4816113c0565b92915050565b5f602082840312156113ff576113fe611150565b5b5f61140c848285016113d6565b91505092915050565b61141e816113b7565b82525050565b5f6020820190506114375f830184611415565b92915050565b5f6114478261120b565b9050919050565b6114578161143d565b8114611461575f80fd5b50565b5f813590506114728161144e565b92915050565b5f806040838503121561148e5761148d611150565b5b5f61149b858286016113d6565b92505060206114ac85828601611464565b9150509250929050565b5f602082840312156114cb576114ca611150565b5b5f6114d8848285016112bd565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61152b826114e5565b810181811067ffffffffffffffff8211171561154a576115496114f5565b5b80604052505050565b5f61155c611147565b90506115688282611522565b919050565b5f67ffffffffffffffff821115611587576115866114f5565b5b611590826114e5565b9050602081019050919050565b828183375f83830152505050565b5f6115bd6115b88461156d565b611553565b9050828152602081018484840111156115d9576115d86114e1565b5b6115e484828561159d565b509392505050565b5f82601f830112611600576115ff6112d1565b5b81356116108482602086016115ab565b91505092915050565b5f6020828403121561162e5761162d611150565b5b5f82013567ffffffffffffffff81111561164b5761164a611154565b5b611657848285016115ec565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f61169282611660565b61169c818561166a565b93506116ac81856020860161167a565b6116b5816114e5565b840191505092915050565b5f6020820190508181035f8301526116d88184611688565b905092915050565b5f602082840312156116f5576116f4611150565b5b5f61170284828501611464565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60ff82169050919050565b61174d81611738565b82525050565b5f61175e838561166a565b935061176b83858461159d565b611774836114e5565b840190509392505050565b5f6060820190506117925f83018761138f565b61179f6020830186611744565b81810360408301526117b2818486611753565b905095945050505050565b5f815190506117cb816112a7565b92915050565b5f602082840312156117e6576117e5611150565b5b5f6117f3848285016117bd565b91505092915050565b5f60408201905061180f5f83018561138f565b61181c6020830184611744565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061186757607f821691505b60208210810361187a57611879611823565b5b50919050565b6118898161143d565b82525050565b5f6020820190506118a25f830184611880565b92915050565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000815250565b5f81519050919050565b5f81905092915050565b5f6118ec826118ce565b6118f681856118d8565b935061190681856020860161167a565b80840191505092915050565b5f61191c826118a8565b601a8201915061192c82856118e2565b915061193882846118e2565b91508190509392505050565b5f6040820190506119575f830185611880565b6119646020830184611415565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82825260208201905092915050565b5f6119b2826118ce565b6119bc8185611998565b93506119cc81856020860161167a565b6119d5816114e5565b840191505092915050565b5f6040820190506119f35f830185611415565b8181036020830152611a0581846119a8565b90509392505050565b5f611a1982846118e2565b915081905092915050565b5f81519050611a32816113c0565b92915050565b5f60208284031215611a4d57611a4c611150565b5b5f611a5a84828501611a24565b91505092915050565b5f608082019050611a765f830187611415565b611a836020830186611744565b611a906040830185611415565b611a9d6060830184611415565b9594505050505056fea2646970667358221220aac955e6cee280fcbb00e11eb1c6d06cab96a52ec827e4d864667ab41555d89164736f6c6343000819003300000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000323a76393544d5ecca80cd6ef2a560c6a395b7e300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000082492068657265627920616772656520746f20757365207468697320636f6e747261637420696e206163636f7264616e636520776974682074686520706c6564676520666f756e6420617420495046532043494420516d62434e6d54744d676a5658737169725a527938745a6271337a6839326731673650453356345147704e4a3162000000000000000000000000000000000000000000000000000000000000