9 txs
15 calls
constructor
constructor(address admin)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
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)
getRoleMembers
viewfunction getRoleMembers(bytes32 role) view returns (address[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
PAUSE_GUARDIAN_ROLE
viewfunction PAUSE_GUARDIAN_ROLE() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UNPAUSE_ADMIN_ROLE
viewfunction UNPAUSE_ADMIN_ROLE() view returns (bytes32)
adminCall
nonpayablefunction adminCall(address factory, bytes data) returns (bytes)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause(address factory)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
unpause
nonpayablefunction unpause(address factory)
events
AdminCall
event AdminCall(address indexed admin, address indexed factory, bytes data)
Paused
event Paused(address indexed guardian, address indexed factory, address indexed roProxy)
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)
Unpaused
event Unpaused(address indexed admin, address indexed factory, address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
E_EmptyError
error E_EmptyError()
creation bytecode
0x608060405234801562000010575f80fd5b5060405162001aa038038062001aa0833981016040819052620000339162000184565b6200003f5f8262000047565b5050620001ac565b5f8062000055848462000082565b9050801562000079575f8481526001602052604090206200007790846200012d565b505b90505b92915050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1662000125575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620000dc3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200007c565b505f6200007c565b5f62000079836001600160a01b0384165f8181526001830160205260408120546200012557508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556200007c565b5f6020828403121562000195575f80fd5b81516001600160a01b038116811462000079575f80fd5b6118e680620001ba5f395ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c80639010d07c11610093578063bf64a82d11610063578063bf64a82d14610263578063ca15c87314610283578063d547741f14610296578063eb43d914146102a9575f80fd5b80639010d07c146101c157806391d14854146101f9578063a217fddf1461023c578063a3246ad314610243575f80fd5b806336568abe116100ce57806336568abe146101615780634509e6ae1461017457806357b001f91461019b57806376a67a51146101ae575f80fd5b806301ffc9a7146100f4578063248a9ca31461011c5780632f2ff15d1461014c575b5f80fd5b610107610102366004610f9d565b6102d0565b60405190151581526020015b60405180910390f35b61013e61012a366004610fdc565b5f9081526020819052604090206001015490565b604051908152602001610113565b61015f61015a366004611014565b61032b565b005b61015f61016f366004611014565b610355565b61013e7f3bb181d5689164b4d72d34b056228c95b51f3fb0f6dbdb7f9ddba5f91c6821dd81565b61015f6101a9366004611042565b6103b3565b61015f6101bc366004611042565b610643565b6101d46101cf36600461105d565b6108a2565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610113565b610107610207366004611014565b5f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61013e5f81565b610256610251366004610fdc565b6108c0565b604051610113919061107d565b6102766102713660046110d6565b6108d9565b6040516101139190611154565b61013e610291366004610fdc565b6109d0565b61015f6102a4366004611014565b6109e6565b61013e7f93ccdda76c68897d89056a6026f2a1482750c42a196252ed8a777b693cbf838481565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610325575061032582610a0a565b92915050565b5f8281526020819052604090206001015461034581610aa0565b61034f8383610aad565b50505050565b73ffffffffffffffffffffffffffffffffffffffff811633146103a4576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103ae8282610ae0565b505050565b7f93ccdda76c68897d89056a6026f2a1482750c42a196252ed8a777b693cbf83846103dd81610aa0565b5f8273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610427573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061044b91906111be565b60025490915073ffffffffffffffffffffffffffffffffffffffff908116908216036105dc575f8173ffffffffffffffffffffffffffffffffffffffff1663630e2e956040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104df91906111be565b6040517fd784d42600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529192509085169063d784d426906024015f604051808303815f87803b158015610549575f80fd5b505af115801561055b573d5f803e3d5ffd5b505050508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166105943390565b73ffffffffffffffffffffffffffffffffffffffff167fb74e3efefe1b2b5bf06faa561e8b9c8b08caeaf560bf7d8c50bf41c018c636aa60405160405180910390a450505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207061757365640000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b7f3bb181d5689164b4d72d34b056228c95b51f3fb0f6dbdb7f9ddba5f91c6821dd61066d81610aa0565b5f8273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106db91906111be565b60025490915073ffffffffffffffffffffffffffffffffffffffff90811690821603610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f616c726561647920706175736564000000000000000000000000000000000000604482015260640161063a565b5f8160405161077190610f90565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103905ff0801580156107a7573d5f803e3d5ffd5b506040517fd784d42600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301529192509085169063d784d426906024015f604051808303815f87803b158015610812575f80fd5b505af1158015610824573d5f803e3d5ffd5b5050600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff858116918217909255604051909350908716915033907f17e36fe6a9192b7b5b6885473d85f1ef942d4b1c086dd920208838c5256336c0905f90a450505050565b5f8281526001602052604081206108b99083610b0b565b9392505050565b5f81815260016020526040902060609061032590610b16565b60605f6108e581610aa0565b5f808673ffffffffffffffffffffffffffffffffffffffff16868660405161090e9291906111d9565b5f604051808303815f865af19150503d805f8114610947576040519150601f19603f3d011682016040523d82523d5f602084013e61094c565b606091505b50915091508161095f5761095f81610b22565b73ffffffffffffffffffffffffffffffffffffffff87163373ffffffffffffffffffffffffffffffffffffffff167f5a1dce108565d9fab9d07cb6bba7198001535dbcadd2c7c193226398abe05c7788886040516109be9291906111e8565b60405180910390a39695505050505050565b5f81815260016020526040812061032590610b63565b5f82815260208190526040902060010154610a0081610aa0565b61034f8383610ae0565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061032557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610325565b610aaa8133610b6c565b50565b5f80610ab98484610bf5565b905080156108b9575f848152600160205260409020610ad89084610cee565b509392505050565b5f80610aec8484610d0f565b905080156108b9575f848152600160205260409020610ad89084610dc8565b5f6108b98383610de9565b60605f6108b983610e0f565b805115610b3157805181602001fd5b6040517f2082e20000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610325825490565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610bf1576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024810183905260440161063a565b5050565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff16610ce7575f8381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610c853390565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001610325565b505f610325565b5f6108b98373ffffffffffffffffffffffffffffffffffffffff8416610e68565b5f8281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915281205460ff1615610ce7575f8381526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8616808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4506001610325565b5f6108b98373ffffffffffffffffffffffffffffffffffffffff8416610ead565b5f825f018281548110610dfe57610dfe611234565b905f5260205f200154905092915050565b6060815f01805480602002602001604051908101604052809291908181526020018280548015610e5c57602002820191905f5260205f20905b815481526020019060010190808311610e48575b50505050509050919050565b5f818152600183016020526040812054610ce757508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610325565b5f8181526001830160205260408120548015610f87575f610ecf600183611261565b85549091505f90610ee290600190611261565b9050808214610f41575f865f018281548110610f0057610f00611234565b905f5260205f200154905080875f018481548110610f2057610f20611234565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080610f5257610f52611299565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610325565b5f915050610325565b6105ea806112c783390190565b5f60208284031215610fad575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146108b9575f80fd5b5f60208284031215610fec575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610aaa575f80fd5b5f8060408385031215611025575f80fd5b82359150602083013561103781610ff3565b809150509250929050565b5f60208284031215611052575f80fd5b81356108b981610ff3565b5f806040838503121561106e575f80fd5b50508035926020909101359150565b602080825282518282018190525f9190848201906040850190845b818110156110ca57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101611098565b50909695505050505050565b5f805f604084860312156110e8575f80fd5b83356110f381610ff3565b9250602084013567ffffffffffffffff8082111561110f575f80fd5b818601915086601f830112611122575f80fd5b813581811115611130575f80fd5b876020828501011115611141575f80fd5b6020830194508093505050509250925092565b5f602080835283518060208501525f5b8181101561118057858101830151858201604001528201611164565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b5f602082840312156111ce575f80fd5b81516108b981610ff3565b818382375f9101908152919050565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81810381811115610325577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfe60a060405234801561000f575f80fd5b506040516105ea3803806105ea83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b60805161055f61008b5f395f8181610159015261025d015261055f5ff3fe608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063630e2e951461013f578063900ff44d14610188575b5f803073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1663900ff44d5f3660405160240161007c92919061035a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660e09490941b9390931790925290516100e792506103c8565b5f60405180830381855afa9150503d805f811461011f576040519150601f19603f3d011682016040523d82523d5f602084013e610124565b606091505b50915091508161013757610137816101a8565b805181602001f35b60405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020015b60405180910390f35b61019b610196366004610410565b6101e9565b60405161017f91906104d9565b8051156101b757805181602001fd5b6040517f2082e20000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060333014610259576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f756e617574686f72697a6564000000000000000000000000000000000000000060448201526064015b60405180910390fd5b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516102a091906103c8565b5f60405180830381855af49150503d805f81146102d8576040519150601f19603f3d011682016040523d82523d5f602084013e6102dd565b606091505b5091509150816101375780515f03610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f636f6e747261637420697320696e20726561642d6f6e6c79206d6f64650000006044820152606401610250565b610137816101a8565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f5b838110156103c05781810151838201526020016103a8565b50505f910152565b5f82516103d98184602087016103a6565b9190910192915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60208284031215610420575f80fd5b813567ffffffffffffffff80821115610437575f80fd5b818401915084601f83011261044a575f80fd5b81358181111561045c5761045c6103e3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156104a2576104a26103e3565b816040528281528760208487010111156104ba575f80fd5b826020860160208301375f928101602001929092525095945050505050565b602081525f82518060208401526104f78160408501602087016103a6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212200f96fba7caaa5b8fe8c96e7ea39a61ea2fff7d5752d74caa368769e4b4e5b73264736f6c63430008180033a2646970667358221220f8bbc5a8ad123475c488316788ba1ddd2191a294d85e53b05e14678a091e3ac964736f6c63430008180033000000000000000000000000ee009faf00cf54c1b4387829af7a8dc5f0c8c8c5