0 txs
7.1k calls
constructor
No constructor.
functions
BAN_ADMIN_ROLE
viewfunction BAN_ADMIN_ROLE() view returns (bytes32)
bannedAccounts
viewfunction bannedAccounts(address) view returns (uint8 reason, bool banned)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getBanReason
viewfunction getBanReason(address _account) view returns (uint8)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
isBanned
viewfunction isBanned(address _account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
VERSION
viewfunction VERSION() view returns (bytes32)
banAccount
nonpayablefunction banAccount(address _account, uint8 _reason)
banAccounts
nonpayablefunction banAccounts(address[] _accounts, uint8[] _reasons)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _banAdmin)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
unbanAccount
nonpayablefunction unbanAccount(address _account)
unbanAccounts
nonpayablefunction unbanAccounts(address[] _accounts)
events
BanStatusChanged
event BanStatusChanged(address indexed account, uint8 reason, bool banned)
Initialized
event Initialized(uint8 version)
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
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50611389806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80639010d07c116100ad578063c4d66de811610071578063c4d66de8146102df578063ca15c873146102f2578063d547741f14610305578063d59baded14610318578063ffa1ad741461032b57600080fd5b80639010d07c1461025557806391d148541461028057806397f735d514610293578063a217fddf146102c4578063af9bbcc4146102cc57600080fd5b80632f2ff15d116100f45780632f2ff15d146101ce578063308fd13f146101e157806336568abe146101f45780633f878c81146102075780634309919b1461024057600080fd5b806301ffc9a7146101265780630f6b60701461014e5780631574f42014610188578063248a9ca31461019d575b600080fd5b610139610134366004610f29565b61033a565b60405190151581526020015b60405180910390f35b61017a61015c366004610f6f565b60c96020526000908152604090205460ff8082169161010090041682565b604051610145929190610fc2565b61019b610196366004610fee565b610365565b005b6101c06101ab366004611021565b60009081526065602052604090206001015490565b604051908152602001610145565b61019b6101dc36600461103a565b61044a565b61019b6101ef3660046110a9565b610474565b61019b61020236600461103a565b6105be565b610233610215366004610f6f565b6001600160a01b0316600090815260c9602052604090205460ff1690565b6040516101459190611115565b6101c060008051602061133483398151915281565b610268610263366004611123565b61063c565b6040516001600160a01b039091168152602001610145565b61013961028e36600461103a565b61065b565b6101396102a1366004610f6f565b6001600160a01b0316600090815260c96020526040902054610100900460ff1690565b6101c0600081565b61019b6102da366004611145565b610686565b61019b6102ed366004610f6f565b610755565b6101c0610300366004611021565b610889565b61019b61031336600461103a565b6108a0565b61019b610326366004610f6f565b6108c5565b6101c064322e322e3160d81b81565b60006001600160e01b03198216635a05180f60e01b148061035f575061035f8261098c565b92915050565b60008051602061133483398151915261037d816109c1565b826001600160a01b03167f7c35eb3ba5c5c44ae7e8de339cf4096ab92f6bf0b42f27b21fd52c6f2021aec88360016040516103b9929190610fc2565b60405180910390a260405180604001604052808360038111156103de576103de610f8a565b8152600160209182018190526001600160a01b038616600090815260c990925260409091208251815491929091839160ff199091169083600381111561042657610426610f8a565b02179055506020919091015181549015156101000261ff0019909116179055505050565b600082815260656020526040902060010154610465816109c1565b61046f83836109ce565b505050565b60008051602061133483398151915261048c816109c1565b8382146104cd5760405162461bcd60e51b815260206004820152600a60248201526942412d4c454e4d2d303160b01b60448201526064015b60405180910390fd5b60005b848110156105b65760405180604001604052808585848181106104f5576104f5611187565b905060200201602081019061050a919061119d565b600381111561051b5761051b610f8a565b8152600160209091015260c9600088888581811061053b5761053b611187565b90506020020160208101906105509190610f6f565b6001600160a01b03168152602081019190915260400160002081518154829060ff1916600183600381111561058757610587610f8a565b02179055506020919091015181549015156101000261ff00199091161790556105af816111ce565b90506104d0565b505050505050565b6001600160a01b038116331461062e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104c4565b61063882826109f0565b5050565b60008281526097602052604081206106549083610a12565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60008051602061133483398151915261069e816109c1565b60005b8281101561074f576040805180820190915260008082526020820181905260c9908686858181106106d4576106d4611187565b90506020020160208101906106e99190610f6f565b6001600160a01b03168152602081019190915260400160002081518154829060ff1916600183600381111561072057610720610f8a565b02179055506020919091015181549015156101000261ff0019909116179055610748816111ce565b90506106a1565b50505050565b600054610100900460ff16158080156107755750600054600160ff909116105b8061078f5750303b15801561078f575060005460ff166001145b6107f25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104c4565b6000805460ff191660011790558015610815576000805461ff0019166101001790555b61081d610a1e565b610828600033610a8b565b61084060008051602061133483398151915283610a8b565b8015610638576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600081815260976020526040812061035f90610a95565b6000828152606560205260409020600101546108bb816109c1565b61046f83836109f0565b6000805160206113348339815191526108dd816109c1565b816001600160a01b03167f7c35eb3ba5c5c44ae7e8de339cf4096ab92f6bf0b42f27b21fd52c6f2021aec8600080604051610919929190610fc2565b60405180910390a2604080518082018252600080825260208083018290526001600160a01b038616825260c990529190912081518154829060ff1916600183600381111561096957610969610f8a565b02179055506020919091015181549015156101000261ff00199091161790555050565b60006001600160e01b03198216637965db0b60e01b148061035f57506301ffc9a760e01b6001600160e01b031983161461035f565b6109cb8133610a9f565b50565b6109d88282610af8565b600082815260976020526040902061046f9082610b7e565b6109fa8282610b93565b600082815260976020526040902061046f9082610bfa565b60006106548383610c0f565b600054610100900460ff16610a895760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016104c4565b565b61063882826109ce565b600061035f825490565b610aa9828261065b565b61063857610ab681610c39565b610ac1836020610c4b565b604051602001610ad292919061120b565b60408051601f198184030181529082905262461bcd60e51b82526104c491600401611280565b610b02828261065b565b6106385760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610b3a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610654836001600160a01b038416610de7565b610b9d828261065b565b156106385760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610654836001600160a01b038416610e36565b6000826000018281548110610c2657610c26611187565b9060005260206000200154905092915050565b606061035f6001600160a01b03831660145b60606000610c5a8360026112b3565b610c659060026112ca565b67ffffffffffffffff811115610c7d57610c7d6112dd565b6040519080825280601f01601f191660200182016040528015610ca7576020820181803683370190505b509050600360fc1b81600081518110610cc257610cc2611187565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610cf157610cf1611187565b60200101906001600160f81b031916908160001a9053506000610d158460026112b3565b610d209060016112ca565b90505b6001811115610d98576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610d5457610d54611187565b1a60f81b828281518110610d6a57610d6a611187565b60200101906001600160f81b031916908160001a90535060049490941c93610d91816112f3565b9050610d23565b5083156106545760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104c4565b6000818152600183016020526040812054610e2e5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561035f565b50600061035f565b60008181526001830160205260408120548015610f1f576000610e5a60018361130a565b8554909150600090610e6e9060019061130a565b9050818114610ed3576000866000018281548110610e8e57610e8e611187565b9060005260206000200154905080876000018481548110610eb157610eb1611187565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ee457610ee461131d565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061035f565b600091505061035f565b600060208284031215610f3b57600080fd5b81356001600160e01b03198116811461065457600080fd5b80356001600160a01b0381168114610f6a57600080fd5b919050565b600060208284031215610f8157600080fd5b61065482610f53565b634e487b7160e01b600052602160045260246000fd5b60048110610fbe57634e487b7160e01b600052602160045260246000fd5b9052565b60408101610fd08285610fa0565b82151560208301529392505050565b803560048110610f6a57600080fd5b6000806040838503121561100157600080fd5b61100a83610f53565b915061101860208401610fdf565b90509250929050565b60006020828403121561103357600080fd5b5035919050565b6000806040838503121561104d57600080fd5b8235915061101860208401610f53565b60008083601f84011261106f57600080fd5b50813567ffffffffffffffff81111561108757600080fd5b6020830191508360208260051b85010111156110a257600080fd5b9250929050565b600080600080604085870312156110bf57600080fd5b843567ffffffffffffffff808211156110d757600080fd5b6110e38883890161105d565b909650945060208701359150808211156110fc57600080fd5b506111098782880161105d565b95989497509550505050565b6020810161035f8284610fa0565b6000806040838503121561113657600080fd5b50508035926020909101359150565b6000806020838503121561115857600080fd5b823567ffffffffffffffff81111561116f57600080fd5b61117b8582860161105d565b90969095509350505050565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156111af57600080fd5b61065482610fdf565b634e487b7160e01b600052601160045260246000fd5b6000600182016111e0576111e06111b8565b5060010190565b60005b838110156112025781810151838201526020016111ea565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516112438160178501602088016111e7565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516112748160288401602088016111e7565b01602801949350505050565b602081526000825180602084015261129f8160408501602087016111e7565b601f01601f19169190910160400192915050565b808202811582820484141761035f5761035f6111b8565b8082018082111561035f5761035f6111b8565b634e487b7160e01b600052604160045260246000fd5b600081611302576113026111b8565b506000190190565b8181038181111561035f5761035f6111b8565b634e487b7160e01b600052603160045260246000fdfee4201b0e8f1d54c25c4db54b7a86de66c56adf4e0fd2def20702c15ffb5743f6a2646970667358221220253163adc7b22448438105c0b1325056c2a83fc7ba4e0933d826687b0ba9b43564736f6c63430008110033