0 txs
7.2k calls
constructor
constructor(address initialAdmin, address initialPauser, address initialUnpauser, address initialFreezer, address initialConnectorManager, uint48 initialDelay)
functions
CONNECTOR_MANAGER_ROLE
viewfunction CONNECTOR_MANAGER_ROLE() view returns (bytes32)
connectorAddress
viewfunction connectorAddress(bytes32 name) view returns (address)
connectorExists
viewfunction connectorExists(bytes32 name) view returns (bool)
connectorInfo
viewfunction connectorInfo(bytes32) view returns (address _address, uint88 pauseTimestamp, bool frozen)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
defaultAdmin
viewfunction defaultAdmin() view returns (address)
defaultAdminDelay
viewfunction defaultAdminDelay() view returns (uint48)
defaultAdminDelayIncreaseWait
viewfunction defaultAdminDelayIncreaseWait() view returns (uint48)
FREEZER_ROLE
viewfunction FREEZER_ROLE() view returns (bytes32)
frozen
viewfunction frozen(bytes32 name) view returns (bool)
get
viewfunction get(bytes32 name) view returns (address)
getOrRevert
viewfunction getOrRevert(bytes32 name) view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused(bytes32 name) view returns (bool)
PAUSER_ROLE
viewfunction PAUSER_ROLE() view returns (bytes32)
pauseTimestamp
viewfunction pauseTimestamp(bytes32 name) view returns (uint256)
pendingDefaultAdmin
viewfunction pendingDefaultAdmin() view returns (address newAdmin, uint48 schedule)
pendingDefaultAdminDelay
viewfunction pendingDefaultAdminDelay() view returns (uint48 newDelay, uint48 schedule)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UNPAUSER_ROLE
viewfunction UNPAUSER_ROLE() view returns (bytes32)
acceptDefaultAdminTransfer
nonpayablefunction acceptDefaultAdminTransfer()
add
nonpayablefunction add(bytes32 name, address connector)
beginDefaultAdminTransfer
nonpayablefunction beginDefaultAdminTransfer(address newAdmin)
cancelDefaultAdminTransfer
nonpayablefunction cancelDefaultAdminTransfer()
changeDefaultAdminDelay
nonpayablefunction changeDefaultAdminDelay(uint48 newDelay)
freeze
nonpayablefunction freeze(bytes32 name)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
pause
nonpayablefunction pause(bytes32 name)
pauseFor
nonpayablefunction pauseFor(bytes32 name, uint256 duration)
remove
nonpayablefunction remove(bytes32 name)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
rollbackDefaultAdminDelay
nonpayablefunction rollbackDefaultAdminDelay()
unPause
nonpayablefunction unPause(bytes32 name)
update
nonpayablefunction update(bytes32 name, address connector)
events
ConnectorAdded
event ConnectorAdded(bytes32 indexed name, address indexed connector)
ConnectorRemoved
event ConnectorRemoved(bytes32 indexed name)
ConnectorUpdated
event ConnectorUpdated(bytes32 indexed name, address indexed connector)
DefaultAdminDelayChangeCanceled
event DefaultAdminDelayChangeCanceled()
DefaultAdminDelayChangeScheduled
event DefaultAdminDelayChangeScheduled(uint48 newDelay, uint48 effectSchedule)
DefaultAdminTransferCanceled
event DefaultAdminTransferCanceled()
DefaultAdminTransferScheduled
event DefaultAdminTransferScheduled(address indexed newAdmin, uint48 acceptSchedule)
Frozen
event Frozen(bytes32 indexed name)
Paused
event Paused(bytes32 indexed name, uint256 timestamp)
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(bytes32 indexed name)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlEnforcedDefaultAdminDelay
error AccessControlEnforcedDefaultAdminDelay(uint48 schedule)
AccessControlEnforcedDefaultAdminRules
error AccessControlEnforcedDefaultAdminRules()
AccessControlInvalidDefaultAdmin
error AccessControlInvalidDefaultAdmin(address defaultAdmin)
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressNotContract
error AddressNotContract(address addr)
AmountZero
error AmountZero()
ConnectorAlreadyExists
error ConnectorAlreadyExists(bytes32 name, address connector)
ConnectorDoesNotExist
error ConnectorDoesNotExist(bytes32 name)
ConnectorFrozen
error ConnectorFrozen(bytes32 name)
ConnectorNotPaused
error ConnectorNotPaused(bytes32 name)
ConnectorPaused
error ConnectorPaused(bytes32 name)
InvalidDuration
error InvalidDuration(uint256 timestamp, uint256 currentTimestamp)
SafeCastOverflowedUintDowncast
error SafeCastOverflowedUintDowncast(uint8 bits, uint256 value)
creation bytecode
0x608060405234801562000010575f80fd5b5060405162001a8238038062001a82833981016040819052620000339162000244565b80866001600160a01b0381166200006357604051636116401160e11b81525f600482015260240160405180910390fd5b600180546001600160d01b0316600160d01b65ffffffffffff8516021790556200008e5f8262000109565b505050620000ac652820aaa9a2a960d11b866200010960201b60201c565b50620000c4672aa72820aaa9a2a960c11b8562000109565b50620000db66232922a2ad22a960c91b8462000109565b50620000fc7021a7a72722a1aa27a92fa6a0a720a3a2a960791b8362000109565b50505050505050620002ce565b5f8262000168575f620001246002546001600160a01b031690565b6001600160a01b0316146200014c57604051631fe1e13d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384161790555b6200017483836200017d565b90505b92915050565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1662000220575f838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620001d73390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600162000177565b505f62000177565b80516001600160a01b03811681146200023f575f80fd5b919050565b5f805f805f8060c087890312156200025a575f80fd5b620002658762000228565b9550620002756020880162000228565b9450620002856040880162000228565b9350620002956060880162000228565b9250620002a56080880162000228565b915060a087015165ffffffffffff81168114620002c0575f80fd5b809150509295509295509295565b6117a680620002dc5f395ff3fe608060405234801561000f575f80fd5b506004361061021e575f3560e01c80638ac91be71161012a578063cc8463c8116100b4578063da815abf11610079578063da815abf1461056f578063e63ab1e914610582578063ec13cc7b14610592578063ed56531a146105a5578063fb1bb9de146105b8575f80fd5b8063cc8463c814610516578063cefc14291461051e578063cf6eefb714610526578063d547741f14610554578063d602b9fd14610567575f80fd5b806395bc2673116100fa57806395bc2673146104995780639e9e4666146104ac578063a1eda53c146104bf578063a217fddf146104e6578063b91532b5146104ed575f80fd5b80638ac91be7146104585780638da5cb5b1461046b5780638eaa6ac01461047357806391d1485414610486575f80fd5b8063553e01db116101ab578063649a5ec71161017b578063649a5ec71461037e57806367cbfff0146103915780636fcd742714610405578063708e29751461043457806384ef8ffc14610447575f80fd5b8063553e01db1461032a5780635fbfeb461461034557806361641bdc14610358578063634e93da1461036b575f80fd5b8063248a9ca3116101f1578063248a9ca31461028f5780632672c5bc146102b15780632f2ff15d146102f157806336568abe146103045780634ae2ffc014610317575f80fd5b806301ffc9a714610222578063022d63fb1461024a57806306a85f0f146102665780630aa6220b14610285575b5f80fd5b610235610230366004611623565b6105ca565b60405190151581526020015b60405180910390f35b620697805b60405165ffffffffffff9091168152602001610241565b61027766232922a2ad22a960c91b81565b604051908152602001610241565b61028d6105f4565b005b61027761029d36600461164a565b5f9081526020819052604090206001015490565b6102d96102bf36600461164a565b5f908152600360205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610241565b61028d6102ff36600461167c565b610609565b61028d61031236600461167c565b610635565b61028d61032536600461167c565b6106e0565b6102777021a7a72722a1aa27a92fa6a0a720a3a2a960791b81565b6102d961035336600461164a565b6107f3565b61028d61036636600461167c565b610866565b61028d6103793660046116a6565b61094b565b61028d61038c3660046116bf565b61095e565b6103d661039f36600461164a565b60036020525f90815260409020546001600160a01b03811690600160a01b81046001600160581b031690600160f81b900460ff1683565b604080516001600160a01b0390941684526001600160581b039092166020840152151590820152606001610241565b61027761041336600461164a565b5f90815260036020526040902054600160a01b90046001600160581b031690565b61028d6104423660046116e4565b610971565b6002546001600160a01b03166102d9565b61028d61046636600461164a565b610aa8565b6102d9610b5a565b6102d961048136600461164a565b610b72565b61023561049436600461167c565b610bb9565b61028d6104a736600461164a565b610be1565b6102356104ba36600461164a565b610ccd565b6104c7610d1e565b6040805165ffffffffffff938416815292909116602083015201610241565b6102775f81565b6102356104fb36600461164a565b5f90815260036020526040902054600160f81b900460ff1690565b61024f610d70565b61028d610dce565b61052e610e0d565b604080516001600160a01b03909316835265ffffffffffff909116602083015201610241565b61028d61056236600461167c565b610e2e565b61028d610e56565b61023561057d36600461164a565b610e68565b610277652820aaa9a2a960d11b81565b61028d6105a036600461164a565b610e84565b61028d6105b336600461164a565b610f4a565b610277672aa72820aaa9a2a960c11b81565b5f6001600160e01b031982166318a4c3c360e11b14806105ee57506105ee82610ff7565b92915050565b5f6105fe8161102b565b610606611035565b50565b8161062757604051631fe1e13d60e11b815260040160405180910390fd5b6106318282611041565b5050565b8115801561065057506002546001600160a01b038281169116145b156106d6575f8061065f610e0d565b90925090506001600160a01b038216151580610681575065ffffffffffff8116155b8061069457504265ffffffffffff821610155b156106c1576040516319ca5ebb60e01b815265ffffffffffff821660048201526024015b60405180910390fd5b50506001805465ffffffffffff60a01b191690555b610631828261106b565b816106ea81610e68565b61070a57604051637ccdd65f60e11b8152600481018290526024016106b8565b5f838152600360205260409020548390600160f81b900460ff1615610745576040516328504de760e01b8152600481018290526024016106b8565b7021a7a72722a1aa27a92fa6a0a720a3a2a960791b6107638161102b565b836001600160a01b03163b5f036107985760405163247e970160e01b81526001600160a01b03851660048201526024016106b8565b5f8581526003602052604080822080546001600160a01b0319166001600160a01b0388169081179091559051909187917fe857845f936c92ac5647ec8b6e1ce22aafa170debef977b1bfa1e3bfc6832fd59190a35050505050565b5f816107fe81610ccd565b1561081f576040516305dc745760e21b8152600481018290526024016106b8565b8261082981610e68565b61084957604051637ccdd65f60e11b8152600481018290526024016106b8565b5050505f908152600360205260409020546001600160a01b031690565b7021a7a72722a1aa27a92fa6a0a720a3a2a960791b6108848161102b565b61088d83610e68565b156108bd57604051631a3881d560e01b8152600481018490526001600160a01b03831660248201526044016106b8565b816001600160a01b03163b5f036108f25760405163247e970160e01b81526001600160a01b03831660048201526024016106b8565b5f8381526003602052604080822080546001600160a01b0319166001600160a01b0386169081179091559051909185917f70ebc4611c97678aae5469b9f621092b0ddc13b4ab862bc5858fffde1a10b6779190a3505050565b5f6109558161102b565b610631826110a3565b5f6109688161102b565b61063182611115565b8161097b81610e68565b61099b57604051637ccdd65f60e11b8152600481018290526024016106b8565b652820aaa9a2a960d11b6109ae8161102b565b825f036109ce576040516365e52d5160e11b815260040160405180910390fd5b5f6109d98442611718565b5f86815260036020526040902054909150600160a01b90046001600160581b0316808211610a245760405163387a058b60e01b815260048101839052602481018290526044016106b8565b610a2d82611184565b5f878152600360205260409081902080546001600160581b0393909316600160a01b02600160a01b600160f81b0319909316929092179091555186907f12d50dbab5333dbc635447516fcf0e393faa06fea98e9978fb66fc221a6df63390610a989085815260200190565b60405180910390a2505050505050565b80610ab281610e68565b610ad257604051637ccdd65f60e11b8152600481018290526024016106b8565b672aa72820aaa9a2a960c11b610ae78161102b565b610af083610ccd565b610b1057604051633f23a12d60e01b8152600481018490526024016106b8565b5f838152600360205260408082208054600160a01b600160f81b03191690555184917fd05bfc2250abb0f8fd265a54c53a24359c5484af63cad2e4ce87c78ab751395a91a2505050565b5f610b6d6002546001600160a01b031690565b905090565b5f81610b7d81610e68565b610b9d57604051637ccdd65f60e11b8152600481018290526024016106b8565b50505f908152600360205260409020546001600160a01b031690565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b80610beb81610e68565b610c0b57604051637ccdd65f60e11b8152600481018290526024016106b8565b5f828152600360205260409020548290600160f81b900460ff1615610c46576040516328504de760e01b8152600481018290526024016106b8565b82610c5081610ccd565b15610c71576040516305dc745760e21b8152600481018290526024016106b8565b7021a7a72722a1aa27a92fa6a0a720a3a2a960791b610c8f8161102b565b5f858152600360205260408082208290555186917f67dc3587f49dbcb8d2ae2bf2863a30748e61d0e6fab777e71e7b1db0a014053f91a25050505050565b5f81610cd881610e68565b610cf857604051637ccdd65f60e11b8152600481018290526024016106b8565b50505f9081526003602052604090205442600160a01b9091046001600160581b03161190565b6002545f90600160d01b900465ffffffffffff168015158015610d4957504265ffffffffffff821610155b610d54575f80610d68565b600254600160a01b900465ffffffffffff16815b915091509091565b6002545f90600160d01b900465ffffffffffff168015158015610d9a57504265ffffffffffff8216105b610db557600154600160d01b900465ffffffffffff16610dc8565b600254600160a01b900465ffffffffffff165b91505090565b5f610dd7610e0d565b509050336001600160a01b03821614610e0557604051636116401160e11b81523360048201526024016106b8565b6106066111bb565b6001546001600160a01b03811691600160a01b90910465ffffffffffff1690565b81610e4c57604051631fe1e13d60e11b815260040160405180910390fd5b6106318282611251565b5f610e608161102b565b610606611275565b5f908152600360205260409020546001600160a01b0316151590565b80610e8e81610e68565b610eae57604051637ccdd65f60e11b8152600481018290526024016106b8565b5f828152600360205260409020548290600160f81b900460ff1615610ee9576040516328504de760e01b8152600481018290526024016106b8565b66232922a2ad22a960c91b610efd8161102b565b5f8481526003602052604080822080546001600160f81b0316600160f81b1790555185917fc1c3af34a857556c885a0be1e533f0c9b0b205545a5a9e65098974fca80d021491a250505050565b80610f5481610e68565b610f7457604051637ccdd65f60e11b8152600481018290526024016106b8565b652820aaa9a2a960d11b610f878161102b565b5f83815260036020526040908190208054600160a01b600160f81b0319166affffffffffffffffffffff60a01b1790555183907f12d50dbab5333dbc635447516fcf0e393faa06fea98e9978fb66fc221a6df63390610fea905f19815260200190565b60405180910390a2505050565b5f6001600160e01b03198216637965db0b60e01b14806105ee57506301ffc9a760e01b6001600160e01b03198316146105ee565b610606813361127f565b61103f5f806112b8565b565b5f8281526020819052604090206001015461105b8161102b565b6110658383611377565b50505050565b6001600160a01b03811633146110945760405163334bd91960e11b815260040160405180910390fd5b61109e82826113e4565b505050565b5f6110ac610d70565b6110b542611420565b6110bf919061172b565b90506110cb8282611452565b60405165ffffffffffff821681526001600160a01b038316907f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed69060200160405180910390a25050565b5f61111f826114cf565b61112842611420565b611132919061172b565b905061113e82826112b8565b6040805165ffffffffffff8085168252831660208201527ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b910160405180910390a15050565b5f6001600160581b038211156111b7576040516306dfcc6560e41b815260586004820152602481018390526044016106b8565b5090565b5f806111c5610e0d565b915091506111da8165ffffffffffff16151590565b15806111ee57504265ffffffffffff821610155b15611216576040516319ca5ebb60e01b815265ffffffffffff821660048201526024016106b8565b6112315f61122c6002546001600160a01b031690565b6113e4565b5061123c5f83611377565b5050600180546001600160d01b031916905550565b5f8281526020819052604090206001015461126b8161102b565b61106583836113e4565b61103f5f80611452565b6112898282610bb9565b6106315760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016106b8565b600254600160d01b900465ffffffffffff16801561133a574265ffffffffffff8216101561131157600254600180546001600160d01b0316600160a01b90920465ffffffffffff16600160d01b0291909117905561133a565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5905f90a15b50600280546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b5f826113d3575f6113906002546001600160a01b031690565b6001600160a01b0316146113b757604051631fe1e13d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0384161790555b6113dd8383611516565b9392505050565b5f8215801561140057506002546001600160a01b038381169116145b1561141657600280546001600160a01b03191690555b6113dd83836115a5565b5f65ffffffffffff8211156111b7576040516306dfcc6560e41b815260306004820152602481018390526044016106b8565b5f61145b610e0d565b6001805465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b03881617179055915061149d90508165ffffffffffff16151590565b1561109e576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109905f90a1505050565b5f806114d9610d70565b90508065ffffffffffff168365ffffffffffff1611611501576114fc8382611751565b6113dd565b6113dd65ffffffffffff84166206978061160e565b5f6115218383610bb9565b61159e575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556115563390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016105ee565b505f6105ee565b5f6115b08383610bb9565b1561159e575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016105ee565b5f81831061161c57816113dd565b5090919050565b5f60208284031215611633575f80fd5b81356001600160e01b0319811681146113dd575f80fd5b5f6020828403121561165a575f80fd5b5035919050565b80356001600160a01b0381168114611677575f80fd5b919050565b5f806040838503121561168d575f80fd5b8235915061169d60208401611661565b90509250929050565b5f602082840312156116b6575f80fd5b6113dd82611661565b5f602082840312156116cf575f80fd5b813565ffffffffffff811681146113dd575f80fd5b5f80604083850312156116f5575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105ee576105ee611704565b65ffffffffffff81811683821601908082111561174a5761174a611704565b5092915050565b65ffffffffffff82811682821603908082111561174a5761174a61170456fea26469706673582212202aaf4a475c6ea2fe05b43a69a4bdfc464420152b8e36906f90e2462914c9d5d364736f6c63430008160033000000000000000000000000418c1f1f83cf34c0ea8bcfce951c5d7531789754000000000000000000000000c1caf43fb9ac723fef07ea94a1c423880cdf5301000000000000000000000000418c1f1f83cf34c0ea8bcfce951c5d753178975400000000000000000000000060cfac5cd4aeed165023a81f57a0bc92d7cfeb6e000000000000000000000000418c1f1f83cf34c0ea8bcfce951c5d75317897540000000000000000000000000000000000000000000000000000000000015180