@venusprotocol/governance-contracts
Version:
### Prerequisites
370 lines (369 loc) • 23.8 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "AccessControlManager",
"sourceName": "contracts/Governance/AccessControlManager.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "functionSig",
"type": "string"
}
],
"name": "PermissionGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "string",
"name": "functionSig",
"type": "string"
}
],
"name": "PermissionRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "string",
"name": "functionSig",
"type": "string"
},
{
"internalType": "address",
"name": "accountToPermit",
"type": "address"
}
],
"name": "giveCallPermission",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "string",
"name": "functionSig",
"type": "string"
}
],
"name": "hasPermission",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "string",
"name": "functionSig",
"type": "string"
}
],
"name": "isAllowedToCall",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "string",
"name": "functionSig",
"type": "string"
},
{
"internalType": "address",
"name": "accountToRevoke",
"type": "address"
}
],
"name": "revokeCallPermission",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6080604052348015600f57600080fd5b506019600033601d565b60c5565b602582826029565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166025576000828152602081815260408083206001600160a01b03851684529091529020805460ff1916600117905560813390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610f19806100d46000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c8063545f7a321161008157806391d148541161005b57806391d148541461019b578063a217fddf146101df578063d547741f146101e757600080fd5b8063545f7a3214610162578063584f6b601461017557806382bfd0f01461018857600080fd5b8063248a9ca3116100b2578063248a9ca3146101095780632f2ff15d1461013a57806336568abe1461014f57600080fd5b806301ffc9a7146100ce57806318c5e8ab146100f6575b600080fd5b6100e16100dc366004610a74565b6101fa565b60405190151581526020015b60405180910390f35b6100e1610104366004610b28565b610293565b61012c610117366004610b7b565b60009081526020819052604090206001015490565b6040519081526020016100ed565b61014d610148366004610b94565b610368565b005b61014d61015d366004610b94565b610392565b61014d610170366004610bc0565b61044a565b61014d610183366004610bc0565b6104c7565b6100e1610196366004610c25565b610535565b6100e16101a9366004610b94565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61012c600081565b61014d6101f5366004610b94565b61059f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061028d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000803384846040516020016102ab93929190610c86565b60408051601f198184030181529181528151602092830120600081815280845282812073ffffffffffffffffffffffffffffffffffffffff8a16825290935291205490915060ff1615610302576001915050610361565b6000848460405160200161031893929190610c86565b60408051808303601f190181529181528151602092830120600090815280835281812073ffffffffffffffffffffffffffffffffffffffff8916825290925290205460ff169150505b9392505050565b600082815260208190526040902060010154610383816105c4565b61038d83836105d1565b505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461043c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61044682826106c1565b5050565b600084848460405160200161046193929190610c86565b604051602081830303815290604052805190602001209050610483818361059f565b7f55426a61e90ac7d7d1fc886b67b420ade8c8b535e68d655394bc271e3a12b8e2828686866040516104b89493929190610cc5565b60405180910390a15050505050565b60008484846040516020016104de93929190610c86565b6040516020818303038152906040528051906020012090506105008183610368565b7f69c5ce2d658fea352a2464f87ffbe1f09746c918a91da0994044c3767d641b3f828686866040516104b89493929190610cc5565b60008084848460405160200161054d93929190610c86565b60408051601f198184030181529181528151602092830120600081815280845282812073ffffffffffffffffffffffffffffffffffffffff8b16825290935291205490915060ff169695505050505050565b6000828152602081905260409020600101546105ba816105c4565b61038d83836106c1565b6105ce8133610778565b50565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104465760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556106633390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104465760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610446576107b681610812565b6107c1836020610831565b6040516020016107d2929190610d43565b60408051601f19818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261043391600401610dc4565b606061028d73ffffffffffffffffffffffffffffffffffffffff831660145b60606000610840836002610e26565b61084b906002610e3d565b67ffffffffffffffff81111561086357610863610e50565b6040519080825280601f01601f19166020018201604052801561088d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106108c4576108c4610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061092757610927610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000610963846002610e26565b61096e906001610e3d565b90505b6001811115610a0b577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106109af576109af610e7f565b1a60f81b8282815181106109c5576109c5610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93610a0481610eae565b9050610971565b508315610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610433565b600060208284031215610a8657600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461036157600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610ada57600080fd5b919050565b60008083601f840112610af157600080fd5b50813567ffffffffffffffff811115610b0957600080fd5b602083019150836020828501011115610b2157600080fd5b9250929050565b600080600060408486031215610b3d57600080fd5b610b4684610ab6565b9250602084013567ffffffffffffffff811115610b6257600080fd5b610b6e86828701610adf565b9497909650939450505050565b600060208284031215610b8d57600080fd5b5035919050565b60008060408385031215610ba757600080fd5b82359150610bb760208401610ab6565b90509250929050565b60008060008060608587031215610bd657600080fd5b610bdf85610ab6565b9350602085013567ffffffffffffffff811115610bfb57600080fd5b610c0787828801610adf565b9094509250610c1a905060408601610ab6565b905092959194509250565b60008060008060608587031215610c3b57600080fd5b610c4485610ab6565b9350610c5260208601610ab6565b9250604085013567ffffffffffffffff811115610c6e57600080fd5b610c7a87828801610adf565b95989497509550505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b168152818360148301376000910160140190815292915050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060606040830152826060830152828460808401376000608084840101526080601f19601f850116830101905095945050505050565b60005b83811015610d3a578181015183820152602001610d22565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610d7b816017850160208801610d1f565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610db8816028840160208801610d1f565b01602801949350505050565b6020815260008251806020840152610de3816040850160208701610d1f565b601f01601f19169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761028d5761028d610df7565b8082018082111561028d5761028d610df7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081610ebd57610ebd610df7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220a6052000a243f1fa66363f0f0a0d702386084ba1cb5d78f17dbc24f77d046bfb64736f6c63430008190033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c8063545f7a321161008157806391d148541161005b57806391d148541461019b578063a217fddf146101df578063d547741f146101e757600080fd5b8063545f7a3214610162578063584f6b601461017557806382bfd0f01461018857600080fd5b8063248a9ca3116100b2578063248a9ca3146101095780632f2ff15d1461013a57806336568abe1461014f57600080fd5b806301ffc9a7146100ce57806318c5e8ab146100f6575b600080fd5b6100e16100dc366004610a74565b6101fa565b60405190151581526020015b60405180910390f35b6100e1610104366004610b28565b610293565b61012c610117366004610b7b565b60009081526020819052604090206001015490565b6040519081526020016100ed565b61014d610148366004610b94565b610368565b005b61014d61015d366004610b94565b610392565b61014d610170366004610bc0565b61044a565b61014d610183366004610bc0565b6104c7565b6100e1610196366004610c25565b610535565b6100e16101a9366004610b94565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61012c600081565b61014d6101f5366004610b94565b61059f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061028d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000803384846040516020016102ab93929190610c86565b60408051601f198184030181529181528151602092830120600081815280845282812073ffffffffffffffffffffffffffffffffffffffff8a16825290935291205490915060ff1615610302576001915050610361565b6000848460405160200161031893929190610c86565b60408051808303601f190181529181528151602092830120600090815280835281812073ffffffffffffffffffffffffffffffffffffffff8916825290925290205460ff169150505b9392505050565b600082815260208190526040902060010154610383816105c4565b61038d83836105d1565b505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461043c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61044682826106c1565b5050565b600084848460405160200161046193929190610c86565b604051602081830303815290604052805190602001209050610483818361059f565b7f55426a61e90ac7d7d1fc886b67b420ade8c8b535e68d655394bc271e3a12b8e2828686866040516104b89493929190610cc5565b60405180910390a15050505050565b60008484846040516020016104de93929190610c86565b6040516020818303038152906040528051906020012090506105008183610368565b7f69c5ce2d658fea352a2464f87ffbe1f09746c918a91da0994044c3767d641b3f828686866040516104b89493929190610cc5565b60008084848460405160200161054d93929190610c86565b60408051601f198184030181529181528151602092830120600081815280845282812073ffffffffffffffffffffffffffffffffffffffff8b16825290935291205490915060ff169695505050505050565b6000828152602081905260409020600101546105ba816105c4565b61038d83836106c1565b6105ce8133610778565b50565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166104465760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556106633390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156104465760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610446576107b681610812565b6107c1836020610831565b6040516020016107d2929190610d43565b60408051601f19818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261043391600401610dc4565b606061028d73ffffffffffffffffffffffffffffffffffffffff831660145b60606000610840836002610e26565b61084b906002610e3d565b67ffffffffffffffff81111561086357610863610e50565b6040519080825280601f01601f19166020018201604052801561088d576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106108c4576108c4610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061092757610927610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000610963846002610e26565b61096e906001610e3d565b90505b6001811115610a0b577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106109af576109af610e7f565b1a60f81b8282815181106109c5576109c5610e7f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93610a0481610eae565b9050610971565b508315610361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610433565b600060208284031215610a8657600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461036157600080fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610ada57600080fd5b919050565b60008083601f840112610af157600080fd5b50813567ffffffffffffffff811115610b0957600080fd5b602083019150836020828501011115610b2157600080fd5b9250929050565b600080600060408486031215610b3d57600080fd5b610b4684610ab6565b9250602084013567ffffffffffffffff811115610b6257600080fd5b610b6e86828701610adf565b9497909650939450505050565b600060208284031215610b8d57600080fd5b5035919050565b60008060408385031215610ba757600080fd5b82359150610bb760208401610ab6565b90509250929050565b60008060008060608587031215610bd657600080fd5b610bdf85610ab6565b9350602085013567ffffffffffffffff811115610bfb57600080fd5b610c0787828801610adf565b9094509250610c1a905060408601610ab6565b905092959194509250565b60008060008060608587031215610c3b57600080fd5b610c4485610ab6565b9350610c5260208601610ab6565b9250604085013567ffffffffffffffff811115610c6e57600080fd5b610c7a87828801610adf565b95989497509550505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b168152818360148301376000910160140190815292915050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060606040830152826060830152828460808401376000608084840101526080601f19601f850116830101905095945050505050565b60005b83811015610d3a578181015183820152602001610d22565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610d7b816017850160208801610d1f565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351610db8816028840160208801610d1f565b01602801949350505050565b6020815260008251806020840152610de3816040850160208701610d1f565b601f01601f19169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761028d5761028d610df7565b8082018082111561028d5761028d610df7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081610ebd57610ebd610df7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea2646970667358221220a6052000a243f1fa66363f0f0a0d702386084ba1cb5d78f17dbc24f77d046bfb64736f6c63430008190033",
"linkReferences": {},
"deployedLinkReferences": {}
}