- Contract name:
- Authorizer
- Optimization enabled
- true
- Compiler version
- v0.7.1+commit.f4a555be
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2022-09-20T15:23:31.863864Z
Constructor Arguments
00000000000000000000000059afaf89723614cbf303d3d4cbaba2c7280fe563
Arg [0] (address) : 0x59afaf89723614cbf303d3d4cbaba2c7280fe563
Contract source code
// This program is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this program. If not, see <http://www.gnu.org/licenses/>.pragma solidity ^0.7.0;interface IAuthorizer {/*** @dev Returns true if `account` can perform the action described by `actionId` in the contract `where`.*/function canPerform(bytes32 actionId,address account,address where) external view returns (bool);}pragma solidity ^0.7.0;/*** @dev This is an empty interface used to represent either ERC20-conforming token contracts or ETH (using the zero* address sentinel value). We're just relying on the fact that `interface` can be used to declare new address-like* types.** This concept is unrelated to a Pool's Asset Managers.*/interface IAsset {// solhint-disable-previous-line no-empty-blocks}pragma solidity ^0.7.0;
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"admin","internalType":"address"}]},{"type":"event","name":"RoleAdminChanged","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32","indexed":true},{"type":"bytes32","name":"previousAdminRole","internalType":"bytes32","indexed":true},{"type":"bytes32","name":"newAdminRole","internalType":"bytes32","indexed":true}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32","indexed":true},{"type":"address","name":"account","internalType":"address","indexed":true},{"type":"address","name":"sender","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32","indexed":true},{"type":"address","name":"account","internalType":"address","indexed":true},{"type":"address","name":"sender","internalType":"address","indexed":true}],"anonymous":false},{"type":"function","stateMutability":"view","outputs":[{"type":"bytes32","name":"","internalType":"bytes32"}],"name":"DEFAULT_ADMIN_ROLE","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"canPerform","inputs":[{"type":"bytes32","name":"actionId","internalType":"bytes32"},{"type":"address","name":"account","internalType":"address"},{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bytes32","name":"","internalType":"bytes32"}],"name":"getRoleAdmin","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"getRoleMember","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"},{"type":"uint256","name":"index","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"getRoleMemberCount","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"grantRole","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"grantRoles","inputs":[{"type":"bytes32[]","name":"roles","internalType":"bytes32[]"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"grantRolesToMany","inputs":[{"type":"bytes32[]","name":"roles","internalType":"bytes32[]"},{"type":"address[]","name":"accounts","internalType":"address[]"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"hasRole","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceRole","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"revokeRole","inputs":[{"type":"bytes32","name":"role","internalType":"bytes32"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"revokeRoles","inputs":[{"type":"bytes32[]","name":"roles","internalType":"bytes32[]"},{"type":"address","name":"account","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"revokeRolesFromMany","inputs":[{"type":"bytes32[]","name":"roles","internalType":"bytes32[]"},{"type":"address[]","name":"accounts","internalType":"address[]"}]}]
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063988360a31161008c578063a73cb2ab11610066578063a73cb2ab146103e7578063ca15c8731461050a578063d547741f14610527578063fcd7627e14610553576100cf565b8063988360a3146102ff5780639be2a884146103ab578063a217fddf146103df576100cf565b806318b2cde9146100d4578063248a9ca3146101f95780632f2ff15d1461022857806336568abe146102545780639010d07c1461028057806391d14854146102bf575b600080fd5b6101f7600480360360408110156100ea57600080fd5b810190602081018135600160201b81111561010457600080fd5b82018360208201111561011657600080fd5b803590602001918460208302840111600160201b8311171561013757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561018657600080fd5b82018360208201111561019857600080fd5b803590602001918460208302840111600160201b831117156101b957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506105ff945050505050565b005b6102166004803603602081101561020f57600080fd5b5035610654565b60408051918252519081900360200190f35b6101f76004803603604081101561023e57600080fd5b50803590602001356001600160a01b0316610669565b6101f76004803603604081101561026a57600080fd5b50803590602001356001600160a01b031661069f565b6102a36004803603604081101561029657600080fd5b50803590602001356106c0565b604080516001600160a01b039092168252519081900360200190f35b6102eb600480360360408110156102d557600080fd5b50803590602001356001600160a01b03166106e1565b604080519115158252519081900360200190f35b6101f76004803603604081101561031557600080fd5b810190602081018135600160201b81111561032f57600080fd5b82018360208201111561034157600080fd5b803590602001918460208302840111600160201b8311171561036257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506106f99050565b6102eb600480360360608110156103c157600080fd5b508035906001600160a01b036020820135811691604001351661072a565b61021661073e565b6101f7600480360360408110156103fd57600080fd5b810190602081018135600160201b81111561041757600080fd5b82018360208201111561042957600080fd5b803590602001918460208302840111600160201b8311171561044a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561049957600080fd5b8201836020820111156104ab57600080fd5b803590602001918460208302840111600160201b831117156104cc57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610743945050505050565b6102166004803603602081101561052057600080fd5b5035610793565b6101f76004803603604081101561053d57600080fd5b50803590602001356001600160a01b03166107aa565b6101f76004803603604081101561056957600080fd5b810190602081018135600160201b81111561058357600080fd5b82018360208201111561059557600080fd5b803590602001918460208302840111600160201b831117156105b657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506107d29050565b61060b82518251610866565b60005b825181101561064f5761064783828151811061062657fe5b602002602001015183838151811061063a57fe5b60200260200101516107aa565b60010161060e565b505050565b60009081526020819052604090206002015490565b6000828152602081905260409020600201546106919061068990336106e1565b6101a661086f565b61069b828261087d565b5050565b6106b66001600160a01b03821633146101a861086f565b61069b82826108d6565b60008281526020819052604081206106d8908361092f565b90505b92915050565b60008281526020819052604081206106d8908361094b565b60005b825181101561064f5761072283828151811061071457fe5b6020026020010151836107aa565b6001016106fc565b600061073684846106e1565b949350505050565b600081565b61074f82518251610866565b60005b825181101561064f5761078b83828151811061076a57fe5b602002602001015183838151811061077e57fe5b6020026020010151610669565b600101610752565b60008181526020819052604081206106db9061096c565b6000828152602081905260409020600201546106b6906107ca90336106e1565b6101a761086f565b60005b825181101561064f576107fb8382815181106107ed57fe5b602002602001015183610669565b6001016107d5565b600061080f838361094b565b61085e57508154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b038616908117909155855490825282860190935260409020919091556106db565b5060006106db565b61069b81831460675b8161069b5761069b81610970565b60008281526020819052604090206108959082610803565b1561069b5760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b60008281526020819052604090206108ee90826109c3565b1561069b5760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b8154600090610941908310606461086f565b6106d88383610aca565b6001600160a01b031660009081526001919091016020526040902054151590565b5490565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b6001600160a01b03811660009081526001830160205260408120548015610ac05783546000198083019190810190600090879083908110610a0057fe5b60009182526020909120015487546001600160a01b0390911691508190889085908110610a2957fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b03948516179055918316815260018981019092526040902090840190558654879080610a7257fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03881682526001898101909152604082209190915594506106db9350505050565b60009150506106db565b6000826000018281548110610adb57fe5b6000918252602090912001546001600160a01b0316939250505056fea26469706673582212206206643718ff0f4c98460713dafc54191738436f427d2e369e86b708ad87948864736f6c63430007010033