0 txs
0 calls
constructor
constructor(uint256 upgradeActivationDelay)
functions
ENABLE_WINDOW_DURATION_SLOT
viewfunction ENABLE_WINDOW_DURATION_SLOT() view returns (bytes32)
getEnableWindowDuration
viewfunction getEnableWindowDuration() view returns (uint256 duration)
getUpgradeActivationDelay
viewfunction getUpgradeActivationDelay() view returns (uint256 delay)
implementation
viewfunction implementation() view returns (address _implementation)
initialize
purefunction initialize(bytes) pure
isGovernanceAdmin
viewfunction isGovernanceAdmin(address account) view returns (bool)
isNotFinalized
viewfunction isNotFinalized() view returns (bool notFinal)
isUpgradeGovernor
viewfunction isUpgradeGovernor(address account) view returns (bool)
MAX_UPGRADE_DELAY
viewfunction MAX_UPGRADE_DELAY() view returns (uint256)
PROXY_VERSION
viewfunction PROXY_VERSION() view returns (string)
UPGRADE_DELAY_SLOT
viewfunction UPGRADE_DELAY_SLOT() view returns (bytes32)
addImplementation
nonpayablefunction addImplementation(address newImplementation, bytes data, bool finalize)
registerAppGovernor
nonpayablefunction registerAppGovernor(address account)
registerAppRoleAdmin
nonpayablefunction registerAppRoleAdmin(address account)
registerGovernanceAdmin
nonpayablefunction registerGovernanceAdmin(address account)
registerSecurityAdmin
nonpayablefunction registerSecurityAdmin(address account)
registerSecurityAgent
nonpayablefunction registerSecurityAgent(address account)
registerUpgradeGovernor
nonpayablefunction registerUpgradeGovernor(address account)
removeImplementation
nonpayablefunction removeImplementation(address removedImplementation, bytes data, bool finalize)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeAppGovernor
nonpayablefunction revokeAppGovernor(address account)
revokeAppRoleAdmin
nonpayablefunction revokeAppRoleAdmin(address account)
revokeGovernanceAdmin
nonpayablefunction revokeGovernanceAdmin(address account)
revokeOperator
nonpayablefunction revokeOperator(address account)
revokeSecurityAdmin
nonpayablefunction revokeSecurityAdmin(address account)
revokeSecurityAgent
nonpayablefunction revokeSecurityAgent(address account)
revokeTokenAdmin
nonpayablefunction revokeTokenAdmin(address account)
revokeUpgradeGovernor
nonpayablefunction revokeUpgradeGovernor(address account)
upgradeTo
payablefunction upgradeTo(address newImplementation, bytes data, bool finalize) payable
events
FinalizedImplementation
event FinalizedImplementation(address indexed implementation)
ImplementationAdded
event ImplementationAdded(address indexed implementation, bytes initializer, bool finalize)
ImplementationRemoved
event ImplementationRemoved(address indexed implementation, bytes initializer, bool finalize)
ImplementationUpgraded
event ImplementationUpgraded(address indexed implementation, bytes initializer)
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
0x60a06040523480156200001157600080fd5b50604051620023f2380380620023f28339810160408190526200003491620005c4565b600060808190526001336200004b81808462000092565b5050506200005f81620001f560201b60201c565b6200008b621275007fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073855565b50620005de565b6200009c62000219565b1562000135576001600160a01b03831660009081527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b0602052604090205460ff166200012f5760405162461bcd60e51b815260206004820152601960248201527f524f4c45535f414c52454144595f494e495449414c495a45440000000000000060448201526064015b60405180910390fd5b62000141565b6200014183826200026d565b6200014b62000403565b15620001ea576001600160a01b03821660009081527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c23602052604090205460ff16620001e55760405162461bcd60e51b815260206004820152602260248201527f53454355524954595f524f4c45535f414c52454144595f494e495449414c495a604482015261115160f21b606482015260840162000126565b505050565b620001e58262000455565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f55565b600080516020620023528339815191526000908152600080516020620023b28339815191526020527fa5fdb349cc4ffac7e8ce7d3b075149d1bc847367d814e69a9beca89ef02db8b15481905b1415905090565b620002886000805160206200235283398151915283620004c9565b620002c27ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de06068600080516020620023d28339815191526200056b565b620002ec600080516020620023d2833981519152600080516020620023528339815191526200056b565b6200030760008051602062002352833981519152806200056b565b620003427f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da7600080516020620023d28339815191526200056b565b6200037d7f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e600080516020620023d28339815191526200056b565b620003a760008051602062002392833981519152600080516020620023528339815191526200056b565b8015620003ff57620003c9600080516020620023d283398151915283620004c9565b620003e46000805160206200235283398151915283620004c9565b620003ff6000805160206200239283398151915283620004c9565b5050565b600080516020620023728339815191526000908152600080516020620023b28339815191526020527f2c11a1f9c63817dbb9f0faa966615764d2db5d6e008269e948a99e0b52181c2454819062000266565b6200047060008051602062002372833981519152806200056b565b620004ab7f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b96600080516020620023728339815191526200056b565b620004c66000805160206200237283398151915282620004c9565b50565b6000828152600080516020620023b2833981519152602090815260408083206001600160a01b038516845290915290205460ff16620003ff576000828152600080516020620023b2833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000828152600080516020620023b28339815191526020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b600060208284031215620005d757600080fd5b5051919050565b608051611d58620005fa60003960006107950152611d586000f3fe6080604052600436106101c65760003560e01c806372a44f07116100f7578063d9fa709111610095578063ed9ef16a11610064578063ed9ef16a1461064d578063ee0e68071461066d578063fa0f73ba1461068d578063fad8b32a146106ad57610218565b8063d9fa7091146105a4578063deec9c5a146105c4578063e02904c6146105e4578063e907fa3c1461061857610218565b8063c5ab8453116100d1578063c5ab84531461050f578063cb1cccce1461054d578063cdd1f70d1461056d578063d38d8d7a1461058d57610218565b806372a44f07146104ba5780638101b64c146104cf5780639463629a146104ef57610218565b80635c60da1b1161016457806362a143761161013e57806362a14376146104375780636c04d9d5146104575780636fc97cbf146104875780637147855d146104a757610218565b80635c60da1b146103c25780635cef2e86146103f75780635e3a97e71461041757610218565b80632f951985116101a05780632f9519851461032e57806336568abe1461034e578063439fab911461036e57806352b1e35e1461038e57610218565b80630e770f23146102a757806317896383146102c757806320cea94d146102e757610218565b366102185760405162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f5245434549564560448201526064015b60405180910390fd5b6000610230600080516020611d038339815191525490565b90506001600160a01b0381166102815760405162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015260640161020f565b3660008037600080366000845af43d6000803e8080156102a0573d6000f35b3d6000fd5b005b3480156102b357600080fd5b506102a56102c23660046118f2565b6106cd565b3480156102d357600080fd5b506102a56102e23660046118f2565b6106fa565b3480156102f357600080fd5b5061031b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040519081526020015b60405180910390f35b34801561033a57600080fd5b506102a56103493660046118f2565b610724565b34801561035a57600080fd5b506102a561036936600461190d565b61077b565b34801561037a57600080fd5b506102a5610389366004611982565b61080d565b34801561039a57600080fd5b5061031b7fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc4059073881565b3480156103ce57600080fd5b50600080516020611d03833981519152546040516001600160a01b039091168152602001610325565b34801561040357600080fd5b506102a56104123660046119d2565b61084e565b34801561042357600080fd5b506102a56104323660046119d2565b61098f565b34801561044357600080fd5b506102a56104523660046118f2565b610b04565b34801561046357600080fd5b506104776104723660046118f2565b610b2e565b6040519015158152602001610325565b34801561049357600080fd5b506102a56104a23660046118f2565b610b60565b6102a56104b53660046119d2565b610b8a565b3480156104c657600080fd5b5061031b611124565b3480156104db57600080fd5b506102a56104ea3660046118f2565b611163565b3480156104fb57600080fd5b506102a561050a3660046118f2565b6111b6565b34801561051b57600080fd5b50610540604051806040016040528060058152602001641a9718171960d91b81525081565b6040516103259190611a5c565b34801561055957600080fd5b506104776105683660046118f2565b6111ce565b34801561057957600080fd5b506102a56105883660046118f2565b6111e8565b34801561059957600080fd5b5061031b62ed4e0081565b3480156105b057600080fd5b506102a56105bf3660046118f2565b611211565b3480156105d057600080fd5b506102a56105df3660046118f2565b61123b565b3480156105f057600080fd5b507fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385461031b565b34801561062457600080fd5b507f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610477565b34801561065957600080fd5b506102a56106683660046118f2565b611264565b34801561067957600080fd5b506102a56106883660046118f2565b61128e565b34801561069957600080fd5b506102a56106a83660046118f2565b6112cf565b3480156106b957600080fd5b506102a56106c83660046118f2565b6112f9565b6106f77f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b9682611323565b50565b6106f77f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee9982611323565b80336001600160a01b0382160361074d5760405162461bcd60e51b815260040161020f90611a8f565b6107777f03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee998361135a565b5050565b600080516020611cc3833981519152821480156107b657507f0000000000000000000000000000000000000000000000000000000000000000155b156108035760405162461bcd60e51b815260206004820181905260248201527f43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e604482015260640161020f565b610777828261138c565b60405162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b604482015260640161020f565b61085733610b2e565b6108735760405162461bcd60e51b815260040161020f90611abf565b60008484848460405160200161088c9493929190611b17565b60405160208183030381529060405280519060200120905060006108ae611406565b6000838152602091909152604090205490508061090d5760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e0000000000604482015260640161020f565b610915611406565b6000838152602091909152604081205561092d611442565b600083815260200190815260200160002060009055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d86868660405161097f93929190611b4f565b60405180910390a2505050505050565b61099833610b2e565b6109b45760405162461bcd60e51b815260040161020f90611abf565b6001600160a01b0384163b610a025760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015260640161020f565b600084848484604051602001610a1b9493929190611b17565b6040516020818303038152906040528051906020012090506000610a3d611124565b610a479042611b8b565b90506000610a737fb00a6109e73dbe7bbf8d3f18fb9221d2d024dc2671e3d5ff02532ccc405907385490565b610a7d9083611b8b565b905081610a88611406565b6000858152602091909152604090205580610aa1611442565b600085815260200190815260200160002081905550866001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b878787604051610af393929190611b4f565b60405180910390a250505050505050565b6106f77f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b382611323565b6000610b5a7f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288361147a565b92915050565b6106f77f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec22882611323565b610b9333610b2e565b610baf5760405162461bcd60e51b815260040161020f90611abf565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d25415610c1e5760405162461bcd60e51b815260206004820152601860248201527f494d504c454d454e544154494f4e5f46494e414c495a45440000000000000000604482015260640161020f565b610c266114b2565b15610c655760405162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015260640161020f565b600084848484604051602001610c7e9493929190611b17565b6040516020818303038152906040528051906020012090506000610ca0611406565b600083815260209190915260408120549150610cba611442565b60008481526020919091526040902054905081610d195760405162461bcd60e51b815260206004820152601b60248201527f554e4b4e4f574e5f555047524144455f494e464f524d4154494f4e0000000000604482015260640161020f565b6001600160a01b0387163b610d675760405162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015260640161020f565b4282111580610d9457506000610d89600080516020611d038339815191525490565b6001600160a01b0316145b610de05760405162461bcd60e51b815260206004820152601760248201527f555047524144455f4e4f545f454e41424c45445f594554000000000000000000604482015260640161020f565b42811015610e295760405162461bcd60e51b815260206004820152601660248201527512535413115351539510551253d397d156141254915160521b604482015260640161020f565b610e3f87600080516020611d0383398151915255565b600080886001600160a01b031663439fab9160e01b8989604051602401610e67929190611b9e565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610ea59190611bba565b600060405180830381855af49150503d8060008114610ee0576040519150601f19603f3d011682016040523d82523d6000602084013e610ee5565b606091505b5091509150818190610f0a5760405162461bcd60e51b815260040161020f9190611a5c565b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b17905290516001600160a01b038b1691610f4991611bba565b600060405180830381855af49150503d8060008114610f84576040519150601f19603f3d011682016040523d82523d6000602084013e610f89565b606091505b50909250905081610fdc5760405162461bcd60e51b815260206004820152601960248201527f43414c4c5f544f5f495346524f5a454e5f524556455254454400000000000000604482015260640161020f565b80806020019051810190610ff09190611bd6565b1561103d5760405162461bcd60e51b815260206004820152601960248201527f4e45575f494d504c454d454e544154494f4e5f46524f5a454e00000000000000604482015260640161020f565b611045611406565b6000868152602091909152604081205561105d611442565b600086815260200190815260200160002060009055886001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c26073354489896040516110ad929190611b9e565b60405180910390a28515611119576110e460017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6040516001600160a01b038a16907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c90600090a25b505050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e00821061115b5762ed4e0061115d565b815b91505090565b80336001600160a01b0382160361118c5760405162461bcd60e51b815260040161020f90611a8f565b6107777f026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b38361135a565b6106f7600080516020611cc383398151915282611323565b6000610b5a600080516020611cc38339815191528361147a565b6106f77ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de0606882611323565b6106f77f037693ba312785932d430dccf0f56ffedd0aa7c0f8b6da2cc4530c2717689b968261135a565b6106f77ed2ead78c620e94b02d0a996e99298c59ddccfa1d8a0149080ac3a20de060688261135a565b6106f77f0251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec2288261135a565b80336001600160a01b038216036112b75760405162461bcd60e51b815260040161020f90611a8f565b610777600080516020611cc38339815191528361135a565b6106f77f0128d63adbf6b09002c26caf55c47e2f26635807e3ef1b027218aa74c8d61a3e8261135a565b6106f77f023edb77f7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84e62f6da78261135a565b6000828152600080516020611ce3833981519152602052604090206001015461134b816115a8565b61135583836115b2565b505050565b6000828152600080516020611ce38339815191526020526040902060010154611382816115a8565b6113558383611628565b6001600160a01b03811633146113fc5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161020f565b6107778282611628565b600061143d6040518060400160405280601481526020017350524f58595f355f454e41424c45445f54494d4560601b81525061169c565b905090565b600061143d6040518060400160405280601581526020017450524f58595f355f44495341424c45445f54494d4560581b81525061169c565b6000918252600080516020611ce3833981519152602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000806114cb600080516020611d038339815191525490565b90506001600160a01b0381166114e357600091505090565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b179052905160009182916001600160a01b0385169161152691611bba565b600060405180830381855af49150503d8060008114611561576040519150601f19603f3d011682016040523d82523d6000602084013e611566565b606091505b509150915081819061158b5760405162461bcd60e51b815260040161020f9190611a5c565b50808060200190518101906115a09190611bd6565b935050505090565b6106f781336116cf565b6115bc828261147a565b610777576000828152600080516020611ce3833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b611632828261147a565b15610777576000828152600080516020611ce3833981519152602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080826040516020016116b09190611bba565b60408051601f1981840301815291905280516020909101209392505050565b6116d9828261147a565b610777576116f1816001600160a01b03166014611733565b6116fc836020611733565b60405160200161170d929190611bf3565b60408051601f198184030181529082905262461bcd60e51b825261020f91600401611a5c565b60606000611742836002611c68565b61174d906002611b8b565b67ffffffffffffffff81111561176557611765611c7f565b6040519080825280601f01601f19166020018201604052801561178f576020820181803683370190505b509050600360fc1b816000815181106117aa576117aa611c95565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106117d9576117d9611c95565b60200101906001600160f81b031916908160001a90535060006117fd846002611c68565b611808906001611b8b565b90505b6001811115611880576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061183c5761183c611c95565b1a60f81b82828151811061185257611852611c95565b60200101906001600160f81b031916908160001a90535060049490941c9361187981611cab565b905061180b565b5083156118cf5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161020f565b9392505050565b80356001600160a01b03811681146118ed57600080fd5b919050565b60006020828403121561190457600080fd5b6118cf826118d6565b6000806040838503121561192057600080fd5b82359150611930602084016118d6565b90509250929050565b60008083601f84011261194b57600080fd5b50813567ffffffffffffffff81111561196357600080fd5b60208301915083602082850101111561197b57600080fd5b9250929050565b6000806020838503121561199557600080fd5b823567ffffffffffffffff8111156119ac57600080fd5b6119b885828601611939565b90969095509350505050565b80151581146106f757600080fd5b600080600080606085870312156119e857600080fd5b6119f1856118d6565b9350602085013567ffffffffffffffff811115611a0d57600080fd5b611a1987828801611939565b9094509250506040850135611a2d816119c4565b939692955090935050565b60005b83811015611a53578181015183820152602001611a3b565b50506000910152565b6020815260008251806020840152611a7b816040850160208701611a38565b601f01601f19169190910160400192915050565b60208082526016908201527521a0a72727aa2fa822a92327a926afa7a72fa9a2a62360511b604082015260600190565b60208082526015908201527427a7262cafaaa823a920a222afa3a7ab22a92727a960591b604082015260600190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385168152606060208201819052600090611b3c9083018587611aee565b9050821515604083015295945050505050565b604081526000611b63604083018587611aee565b90508215156020830152949350505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610b5a57610b5a611b75565b602081526000611bb2602083018486611aee565b949350505050565b60008251611bcc818460208701611a38565b9190910192915050565b600060208284031215611be857600080fd5b81516118cf816119c4565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611c2b816017850160208801611a38565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611c5c816028840160208801611a38565b01602801949350505050565b8082028115828204841417610b5a57610b5a611b75565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611cba57611cba611b75565b50600019019056fe03711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c84184653e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24a26469706673582212204c8b601a38eeec4a0cb41acdfce462cf8b05e9475db9d71a854943cd9bfde70864736f6c6343000818003303711c9d994faf6055172091cb841fd4831aa743e6f3315163b06a122c841846026bd110619d11cfdfc28e281df893bc24828e89177318e9dbd860cdaedeb6b30251e864ca2a080f55bce5da2452e8cfcafdbc951a3e7fff5023d558452ec22853e43b954ba190a7e49386f1f78b01dcd9f628db23f432fa029a7dfd6d98e8fb03e615638e0b79444a70f8c695bf8f2a47033bf1cf95691ec3130f64939cee990000000000000000000000000000000000000000000000000000000000000000