Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 44 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Suspend System | 6714298 | 83 days ago | IN | 0 ETH | 0.00084809 | ||||
Update Access Co... | 6714271 | 83 days ago | IN | 0 ETH | 0.00103379 | ||||
Resume System | 6018501 | 192 days ago | IN | 0 ETH | 0.00054813 | ||||
Suspend System | 6012571 | 193 days ago | IN | 0 ETH | 0.00277282 | ||||
Accept Ownership | 5947151 | 203 days ago | IN | 0 ETH | 0.00295372 | ||||
Nominate New Own... | 5947150 | 203 days ago | IN | 0 ETH | 0.00445123 | ||||
Resume System | 5689383 | 241 days ago | IN | 0 ETH | 0.0000377 | ||||
Suspend System | 5688658 | 241 days ago | IN | 0 ETH | 0.00007069 | ||||
Resume System | 5539522 | 262 days ago | IN | 0 ETH | 0.00005284 | ||||
Suspend System | 5539289 | 262 days ago | IN | 0 ETH | 0.00020058 | ||||
Resume System | 5537034 | 263 days ago | IN | 0 ETH | 0.00244121 | ||||
Suspend System | 5536408 | 263 days ago | IN | 0 ETH | 0.00135603 | ||||
Resume System | 5476596 | 272 days ago | IN | 0 ETH | 0.00092093 | ||||
Suspend System | 5476144 | 272 days ago | IN | 0 ETH | 0.00431012 | ||||
Resume System | 5436160 | 278 days ago | IN | 0 ETH | 0.00004078 | ||||
Suspend System | 5435673 | 278 days ago | IN | 0 ETH | 0.00007651 | ||||
Resume System | 5403826 | 282 days ago | IN | 0 ETH | 0.00003922 | ||||
Suspend System | 5399924 | 283 days ago | IN | 0 ETH | 0.00007067 | ||||
Resume System | 5394071 | 284 days ago | IN | 0 ETH | 0.00004054 | ||||
Suspend System | 5393768 | 284 days ago | IN | 0 ETH | 0.00013333 | ||||
Resume System | 5392178 | 284 days ago | IN | 0 ETH | 0.00003769 | ||||
Suspend System | 5391977 | 284 days ago | IN | 0 ETH | 0.00007067 | ||||
Resume System | 5381784 | 286 days ago | IN | 0 ETH | 0.00018386 | ||||
Suspend System | 5380353 | 286 days ago | IN | 0 ETH | 0.00007485 | ||||
Resume System | 5374546 | 287 days ago | IN | 0 ETH | 0.00168698 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
SystemStatusLightChain
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; // Inheritance import "./Owned.sol"; import "../interfaces/ISystemStatus.sol"; contract SystemStatusLightChain is Owned { mapping(bytes32 => mapping(address => ISystemStatus.Status)) public accessControl; uint248 public constant SUSPENSION_REASON_UPGRADE = 1; bytes32 public constant SECTION_SYSTEM = "System"; bytes32 public constant SECTION_ISSUANCE = "Issuance"; bytes32 public constant SECTION_EXCHANGE = "Exchange"; bytes32 public constant SECTION_SYNTH_EXCHANGE = "SynthExchange"; bytes32 public constant SECTION_SYNTH = "Synth"; bytes32 public constant CONTRACT_NAME = "SystemStatus"; ISystemStatus.Suspension public systemSuspension; ISystemStatus.Suspension public issuanceSuspension; ISystemStatus.Suspension public exchangeSuspension; mapping(bytes32 => ISystemStatus.Suspension) public synthExchangeSuspension; mapping(bytes32 => ISystemStatus.Suspension) public synthSuspension; constructor(address _owner) Owned(_owner) {} /* ========== VIEWS ========== */ function requireSystemActive() external view { _internalRequireSystemActive(); } function systemSuspended() external view returns (bool) { return systemSuspension.suspended; } function requireIssuanceActive() external view { // Issuance requires the system be active _internalRequireSystemActive(); // and issuance itself of course _internalRequireIssuanceActive(); } function requireExchangeActive() external view { // Exchanging requires the system be active _internalRequireSystemActive(); // and exchanging itself of course _internalRequireExchangeActive(); } function requireSynthExchangeActive(bytes32 currencyKey) external view { // Synth exchange and transfer requires the system be active _internalRequireSystemActive(); _internalRequireSynthExchangeActive(currencyKey); } function synthSuspended(bytes32 currencyKey) external view returns (bool) { return systemSuspension.suspended || synthSuspension[currencyKey].suspended; } function requireSynthActive(bytes32 currencyKey) external view { // Synth exchange and transfer requires the system be active _internalRequireSystemActive(); _internalRequireSynthActive(currencyKey); } function requireSynthsActive(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) external view { // Synth exchange and transfer requires the system be active _internalRequireSystemActive(); _internalRequireSynthActive(sourceCurrencyKey); _internalRequireSynthActive(destinationCurrencyKey); } function requireExchangeBetweenSynthsAllowed(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) external view { // Synth exchange and transfer requires the system be active _internalRequireSystemActive(); // and exchanging must be active _internalRequireExchangeActive(); // and the synth exchanging between the synths must be active _internalRequireSynthExchangeActive(sourceCurrencyKey); _internalRequireSynthExchangeActive(destinationCurrencyKey); // and finally, the synths cannot be suspended _internalRequireSynthActive(sourceCurrencyKey); _internalRequireSynthActive(destinationCurrencyKey); } function isSystemUpgrading() external view returns (bool) { return systemSuspension.suspended && systemSuspension.reason == SUSPENSION_REASON_UPGRADE; } function getSynthExchangeSuspensions( bytes32[] calldata synths ) external view returns (bool[] memory exchangeSuspensions, uint256[] memory reasons) { exchangeSuspensions = new bool[](synths.length); reasons = new uint256[](synths.length); for (uint256 i = 0; i < synths.length; i++) { exchangeSuspensions[i] = synthExchangeSuspension[synths[i]].suspended; reasons[i] = synthExchangeSuspension[synths[i]].reason; } } function getSynthSuspensions( bytes32[] calldata synths ) external view returns (bool[] memory suspensions, uint256[] memory reasons) { suspensions = new bool[](synths.length); reasons = new uint256[](synths.length); for (uint256 i = 0; i < synths.length; i++) { suspensions[i] = synthSuspension[synths[i]].suspended; reasons[i] = synthSuspension[synths[i]].reason; } } /* ========== MUTATIVE FUNCTIONS ========== */ function updateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume) external onlyOwner { _internalUpdateAccessControl(section, account, canSuspend, canResume); } function updateAccessControls( bytes32[] calldata sections, address[] calldata accounts, bool[] calldata canSuspends, bool[] calldata canResumes ) external onlyOwner { require( sections.length == accounts.length && accounts.length == canSuspends.length && canSuspends.length == canResumes.length, "Input array lengths must match" ); for (uint256 i = 0; i < sections.length; i++) { _internalUpdateAccessControl(sections[i], accounts[i], canSuspends[i], canResumes[i]); } } function suspendSystem(uint256 reason) external { _requireAccessToSuspend(SECTION_SYSTEM); systemSuspension.suspended = true; systemSuspension.reason = uint248(reason); emit SystemSuspended(systemSuspension.reason); } function resumeSystem() external { _requireAccessToResume(SECTION_SYSTEM); systemSuspension.suspended = false; emit SystemResumed(uint256(systemSuspension.reason)); systemSuspension.reason = 0; } function suspendIssuance(uint256 reason) external { _requireAccessToSuspend(SECTION_ISSUANCE); issuanceSuspension.suspended = true; issuanceSuspension.reason = uint248(reason); emit IssuanceSuspended(reason); } function resumeIssuance() external { _requireAccessToResume(SECTION_ISSUANCE); issuanceSuspension.suspended = false; emit IssuanceResumed(uint256(issuanceSuspension.reason)); issuanceSuspension.reason = 0; } function suspendExchange(uint256 reason) external { _requireAccessToSuspend(SECTION_EXCHANGE); exchangeSuspension.suspended = true; exchangeSuspension.reason = uint248(reason); emit ExchangeSuspended(reason); } function resumeExchange() external { _requireAccessToResume(SECTION_EXCHANGE); exchangeSuspension.suspended = false; emit ExchangeResumed(uint256(exchangeSuspension.reason)); exchangeSuspension.reason = 0; } function suspendSynthExchange(bytes32 currencyKey, uint256 reason) external { bytes32[] memory currencyKeys = new bytes32[](1); currencyKeys[0] = currencyKey; _internalSuspendSynthExchange(currencyKeys, reason); } function suspendSynthsExchange(bytes32[] calldata currencyKeys, uint256 reason) external { _internalSuspendSynthExchange(currencyKeys, reason); } function resumeSynthExchange(bytes32 currencyKey) external { bytes32[] memory currencyKeys = new bytes32[](1); currencyKeys[0] = currencyKey; _internalResumeSynthsExchange(currencyKeys); } function resumeSynthsExchange(bytes32[] calldata currencyKeys) external { _internalResumeSynthsExchange(currencyKeys); } function suspendSynth(bytes32 currencyKey, uint256 reason) external { bytes32[] memory currencyKeys = new bytes32[](1); currencyKeys[0] = currencyKey; _internalSuspendSynths(currencyKeys, reason); } function suspendSynths(bytes32[] calldata currencyKeys, uint256 reason) external { _internalSuspendSynths(currencyKeys, reason); } function resumeSynth(bytes32 currencyKey) external { bytes32[] memory currencyKeys = new bytes32[](1); currencyKeys[0] = currencyKey; _internalResumeSynths(currencyKeys); } function resumeSynths(bytes32[] calldata currencyKeys) external { _internalResumeSynths(currencyKeys); } /* ========== INTERNAL FUNCTIONS ========== */ function _requireAccessToSuspend(bytes32 section) internal view { require(accessControl[section][msg.sender].canSuspend, "Restricted to access control list"); } function _requireAccessToResume(bytes32 section) internal view { require(accessControl[section][msg.sender].canResume, "Restricted to access control list"); } function _internalRequireSystemActive() internal view { require( !systemSuspension.suspended, systemSuspension.reason == SUSPENSION_REASON_UPGRADE ? "System is suspended, upgrade in progress... please stand by" : "System is suspended. Operation prohibited" ); } function _internalRequireIssuanceActive() internal view { require(!issuanceSuspension.suspended, "Issuance is suspended. Operation prohibited"); } function _internalRequireExchangeActive() internal view { require(!exchangeSuspension.suspended, "Exchange is suspended. Operation prohibited"); } function _internalRequireSynthExchangeActive(bytes32 currencyKey) internal view { require(!synthExchangeSuspension[currencyKey].suspended, "Synth exchange suspended. Operation prohibited"); } function _internalRequireSynthActive(bytes32 currencyKey) internal view { require(!synthSuspension[currencyKey].suspended, "Synth is suspended. Operation prohibited"); } function _internalSuspendSynths(bytes32[] memory currencyKeys, uint256 reason) internal { _requireAccessToSuspend(SECTION_SYNTH); for (uint256 i = 0; i < currencyKeys.length; i++) { bytes32 currencyKey = currencyKeys[i]; synthSuspension[currencyKey].suspended = true; synthSuspension[currencyKey].reason = uint248(reason); emit SynthSuspended(currencyKey, reason); } } function _internalResumeSynths(bytes32[] memory currencyKeys) internal { _requireAccessToResume(SECTION_SYNTH); for (uint256 i = 0; i < currencyKeys.length; i++) { bytes32 currencyKey = currencyKeys[i]; emit SynthResumed(currencyKey, uint256(synthSuspension[currencyKey].reason)); delete synthSuspension[currencyKey]; } } function _internalSuspendSynthExchange(bytes32[] memory currencyKeys, uint256 reason) internal { _requireAccessToSuspend(SECTION_SYNTH_EXCHANGE); for (uint256 i = 0; i < currencyKeys.length; i++) { bytes32 currencyKey = currencyKeys[i]; synthExchangeSuspension[currencyKey].suspended = true; synthExchangeSuspension[currencyKey].reason = uint248(reason); emit SynthExchangeSuspended(currencyKey, reason); } } function _internalResumeSynthsExchange(bytes32[] memory currencyKeys) internal { _requireAccessToResume(SECTION_SYNTH_EXCHANGE); for (uint256 i = 0; i < currencyKeys.length; i++) { bytes32 currencyKey = currencyKeys[i]; emit SynthExchangeResumed(currencyKey, uint256(synthExchangeSuspension[currencyKey].reason)); delete synthExchangeSuspension[currencyKey]; } } function _internalUpdateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume) internal { require( section == SECTION_SYSTEM || section == SECTION_ISSUANCE || section == SECTION_EXCHANGE || section == SECTION_SYNTH_EXCHANGE || section == SECTION_SYNTH, "Invalid section supplied" ); accessControl[section][account].canSuspend = canSuspend; accessControl[section][account].canResume = canResume; emit AccessControlUpdated(section, account, canSuspend, canResume); } /* ========== EVENTS ========== */ event SystemSuspended(uint256 reason); event SystemResumed(uint256 reason); event IssuanceSuspended(uint256 reason); event IssuanceResumed(uint256 reason); event ExchangeSuspended(uint256 reason); event ExchangeResumed(uint256 reason); event SynthExchangeSuspended(bytes32 currencyKey, uint256 reason); event SynthExchangeResumed(bytes32 currencyKey, uint256 reason); event SynthSuspended(bytes32 currencyKey, uint256 reason); event SynthResumed(bytes32 currencyKey, uint256 reason); event AccessControlUpdated(bytes32 indexed section, address indexed account, bool canSuspend, bool canResume); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface ISystemStatus { struct Status { bool canSuspend; bool canResume; } struct Suspension { bool suspended; // reason is an integer code, // 0 => no reason, 1 => upgrading, 2+ => defined by system usage uint248 reason; } // Views function accessControl(bytes32 section, address account) external view returns (bool canSuspend, bool canResume); function requireSystemActive() external view; function systemSuspended() external view returns (bool); function requireIssuanceActive() external view; function requireExchangeActive() external view; function requireFuturesActive() external view; function requireFuturesMarketActive(bytes32 marketKey) external view; function requireExchangeBetweenSynthsAllowed(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) external view; function requireSynthActive(bytes32 currencyKey) external view; function synthSuspended(bytes32 currencyKey) external view returns (bool); function requireSynthsActive(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) external view; function systemSuspension() external view returns (bool suspended, uint248 reason); function issuanceSuspension() external view returns (bool suspended, uint248 reason); function exchangeSuspension() external view returns (bool suspended, uint248 reason); function futuresSuspension() external view returns (bool suspended, uint248 reason); function synthExchangeSuspension(bytes32 currencyKey) external view returns (bool suspended, uint248 reason); function synthSuspension(bytes32 currencyKey) external view returns (bool suspended, uint248 reason); function futuresMarketSuspension(bytes32 marketKey) external view returns (bool suspended, uint248 reason); function getSynthExchangeSuspensions( bytes32[] calldata synths ) external view returns (bool[] memory exchangeSuspensions, uint256[] memory reasons); function getSynthSuspensions( bytes32[] calldata synths ) external view returns (bool[] memory suspensions, uint256[] memory reasons); function getFuturesMarketSuspensions( bytes32[] calldata marketKeys ) external view returns (bool[] memory suspensions, uint256[] memory reasons); // Restricted functions function suspendIssuance(uint256 reason) external; function suspendSynth(bytes32 currencyKey, uint256 reason) external; function suspendFuturesMarket(bytes32 marketKey, uint256 reason) external; function updateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Owned { address public owner; address public nominatedOwner; constructor(address _owner) { require(_owner != address(0), "Owner address cannot be 0"); owner = _owner; emit OwnerChanged(address(0), _owner); } function nominateNewOwner(address _owner) external onlyOwner { nominatedOwner = _owner; emit OwnerNominated(_owner); } function acceptOwnership() external { require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership"); emit OwnerChanged(owner, nominatedOwner); owner = nominatedOwner; nominatedOwner = address(0); } modifier onlyOwner() { _onlyOwner(); _; } function _onlyOwner() private view { require(msg.sender == owner, "Only the contract owner may perform this action"); } event OwnerNominated(address newOwner); event OwnerChanged(address oldOwner, address newOwner); }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"section","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"canSuspend","type":"bool"},{"indexed":false,"internalType":"bool","name":"canResume","type":"bool"}],"name":"AccessControlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"ExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"IssuanceSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SynthSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reason","type":"uint256"}],"name":"SystemSuspended","type":"event"},{"inputs":[],"name":"CONTRACT_NAME","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_ISSUANCE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYNTH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYNTH_EXCHANGE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SECTION_SYSTEM","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SUSPENSION_REASON_UPGRADE","outputs":[{"internalType":"uint248","name":"","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"","type":"address"}],"name":"accessControl","outputs":[{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthExchangeSuspensions","outputs":[{"internalType":"bool[]","name":"exchangeSuspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"synths","type":"bytes32[]"}],"name":"getSynthSuspensions","outputs":[{"internalType":"bool[]","name":"suspensions","type":"bool[]"},{"internalType":"uint256[]","name":"reasons","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isSystemUpgrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issuanceSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireExchangeActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireExchangeBetweenSynthsAllowed","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireIssuanceActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"requireSynthExchangeActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"sourceCurrencyKey","type":"bytes32"},{"internalType":"bytes32","name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireSynthsActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"requireSystemActive","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resumeExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"resumeSynthExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"}],"name":"resumeSynthsExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"resumeSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendIssuance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"currencyKeys","type":"bytes32[]"},{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSynthsExchange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reason","type":"uint256"}],"name":"suspendSystem","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthExchangeSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"currencyKey","type":"bytes32"}],"name":"synthSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"synthSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"systemSuspended","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"systemSuspension","outputs":[{"internalType":"bool","name":"suspended","type":"bool"},{"internalType":"uint248","name":"reason","type":"uint248"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"section","type":"bytes32"},{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"canSuspend","type":"bool"},{"internalType":"bool","name":"canResume","type":"bool"}],"name":"updateAccessControl","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"sections","type":"bytes32[]"},{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool[]","name":"canSuspends","type":"bool[]"},{"internalType":"bool[]","name":"canResumes","type":"bool[]"}],"name":"updateAccessControls","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405162001e5a38038062001e5a833981016040819052610031916100ea565b806001600160a01b03811661008c5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390fd5b600080546001600160a01b0319166001600160a01b03831690811782556040805192835260208301919091527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a1505061011a565b6000602082840312156100fc57600080fd5b81516001600160a01b038116811461011357600080fd5b9392505050565b611d30806200012a6000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806369eaced21161015c578063b431c0ea116100ce578063e665edf011610087578063e665edf0146105fd578063e91e691814610610578063f161620714610643578063f405f65a14610655578063f44d1e0b1461065d578063f8b4b0841461066c57600080fd5b8063b431c0ea14610585578063b9a4986914610598578063c0eee443146105b9578063da5917ae146105c4578063de1b8851146105d7578063e470df58146105ea57600080fd5b80637fe9b23d116101205780637fe9b23d146105025780638da5cb5b1461051557806394c79f74146105285780639f8a95ba1461053b578063a55ce9c51461055b578063abc0bb6e1461057257600080fd5b806369eaced2146104a45780637118d431146104b75780637243bc2c146104bf57806379ba5097146104f25780637c312541146104fa57600080fd5b8063396e258e116101f5578063517d60c6116101b9578063517d60c61461042257806353a47bb7146104355780636132eba414610460578063614d08f8146104735780636309a10c1461048957806367a280b21461049c57600080fd5b8063396e258e146103c457806342a28e21146103d757806348bf1971146103ea5780634a661850146103fd5780634abdb44d1461041057600080fd5b80631cba727c116102475780631cba727c146102df5780631ce00ba2146102f257806320f2bf00146103055780632366245e146103535780632dd8afdb1461038f5780632e8d0b9e146103ac57600080fd5b8063086dabd11461028457806312bde5141461028e578063157c51d3146102b15780631588e817146102b95780631627540c146102cc575b600080fd5b61028c610689565b005b61029e6553797374656d60d01b81565b6040519081526020015b60405180910390f35b61028c610693565b61028c6102c7366004611873565b6106fd565b61028c6102da3660046118a8565b61075c565b61028c6102ed366004611916565b6107b2565b61028c610300366004611962565b6107f5565b61033c610313366004611984565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b6040805192151583529015156020830152016102a8565b6004546103709060ff81169061010090046001600160f81b031682565b6040805192151583526001600160f81b039091166020830152016102a8565b6003546103709060ff81169061010090046001600160f81b031682565b6103b461082d565b60405190151581526020016102a8565b61028c6103d2366004611873565b610857565b61028c6103e5366004611873565b6108af565b61028c6103f83660046119c0565b6108c3565b61028c61040b366004611962565b6108dd565b61029e6749737375616e636560c01b81565b61028c610430366004611a0d565b610929565b600154610448906001600160a01b031681565b6040516001600160a01b0390911681526020016102a8565b61028c61046e366004611962565b610a59565b61029e6b53797374656d53746174757360a01b81565b61028c610497366004611873565b610a61565b61028c610aac565b61028c6104b2366004611ad1565b610b18565b61028c610b54565b6103706104cd366004611873565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b61028c610b64565b61028c610c4e565b61028c610510366004611916565b610c5e565b600054610448906001600160a01b031681565b61028c610536366004611873565b610c9c565b610543600181565b6040516001600160f81b0390911681526020016102a8565b61029e6c53796e746845786368616e676560981b81565b61028c610580366004611962565b610ce7565b6103b4610593366004611873565b610d33565b6105ab6105a6366004611ad1565b610d5b565b6040516102a8929190611b13565b60035460ff166103b4565b61028c6105d2366004611873565b610ed3565b61028c6105e5366004611ad1565b610ee4565b61028c6105f8366004611873565b610f20565b6105ab61060b366004611ad1565b610f80565b61037061061e366004611873565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b61029e6745786368616e676560c01b81565b61028c6110f0565b61029e640a6f2dce8d60db1b81565b6005546103709060ff81169061010090046001600160f81b031682565b61069161115c565b565b6106a56553797374656d60d01b6111d0565b6003805460ff1916908190556040516101009091046001600160f81b031681527fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f9060200160405180910390a16003805460ff169055565b6107116745786368616e676560c01b61120e565b60016101006001600160f81b03831602176005556040518181527f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22906020015b60405180910390a150565b610764611247565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290602001610751565b6107f08383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508592506112b9915050565b505050565b6107fd61115c565b61080561136c565b61080e826113d3565b610817816113d3565b61082082611449565b61082981611449565b5050565b60035460009060ff168015610852575060035461010090046001600160f81b03166001145b905090565b61086b6749737375616e636560c01b61120e565b60016101006001600160f81b03831602176004556040518181527fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb890602001610751565b6108b761115c565b6108c081611449565b50565b6108cb611247565b6108d7848484846114b9565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061091357610913611ba6565b6020026020010181815250506107f081836112b9565b610931611247565b868514801561093f57508483145b801561094a57508281145b61099b5760405162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d61746368000060448201526064015b60405180910390fd5b60005b87811015610a4e57610a3c8989838181106109bb576109bb611ba6565b905060200201358888848181106109d4576109d4611ba6565b90506020020160208101906109e991906118a8565b8787858181106109fb576109fb611ba6565b9050602002016020810190610a109190611bbc565b868686818110610a2257610a22611ba6565b9050602002016020810190610a379190611bbc565b6114b9565b80610a4681611bd7565b91505061099e565b505050505050505050565b61081761115c565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a9757610a97611ba6565b602002602001018181525050610829816115eb565b610ac06749737375616e636560c01b6111d0565b6004805460ff1916908190556040516101009091046001600160f81b031681527f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba57168379060200160405180910390a16004805460ff169055565b6108298282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506115eb92505050565b610b5c61115c565b61069161136c565b6001546001600160a01b03163314610bdc5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610992565b600054600154604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610c5661115c565b6106916116aa565b6107f0838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611711915050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610cd257610cd2611ba6565b602002602001018181525050610829816117bc565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d1d57610d1d611ba6565b6020026020010181815250506107f08183611711565b60035460009060ff1680610d55575060008281526007602052604090205460ff165b92915050565b6060808267ffffffffffffffff811115610d7757610d77611b90565b604051908082528060200260200182016040528015610da0578160200160208202803683370190505b5091508267ffffffffffffffff811115610dbc57610dbc611b90565b604051908082528060200260200182016040528015610de5578160200160208202803683370190505b50905060005b83811015610ecb5760076000868684818110610e0957610e09611ba6565b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610e4157610e41611ba6565b9115156020928302919091019091015260076000868684818110610e6757610e67611ba6565b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610eae57610eae611ba6565b602090810291909101015280610ec381611bd7565b915050610deb565b509250929050565b610edb61115c565b6108c0816113d3565b6108298282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506117bc92505050565b610f326553797374656d60d01b61120e565b6001600160f81b03818116610100908102600117600381905560405191900490911681527f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f90602001610751565b6060808267ffffffffffffffff811115610f9c57610f9c611b90565b604051908082528060200260200182016040528015610fc5578160200160208202803683370190505b5091508267ffffffffffffffff811115610fe157610fe1611b90565b60405190808252806020026020018201604052801561100a578160200160208202803683370190505b50905060005b83811015610ecb576006600086868481811061102e5761102e611ba6565b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061106657611066611ba6565b911515602092830291909101909101526006600086868481811061108c5761108c611ba6565b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106110d3576110d3611ba6565b6020908102919091010152806110e881611bd7565b915050611010565b6111046745786368616e676560c01b6111d0565b6005805460ff1916908190556040516101009091046001600160f81b031681527f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c2149060200160405180910390a16005805460ff169055565b60035460ff8116159061010090046001600160f81b031660011461119857604051806060016040528060298152602001611cd2602991396111b2565b6040518060600160405280603b8152602001611c97603b91395b906108c05760405162461bcd60e51b81526004016109929190611c00565b6000818152600260209081526040808320338452909152902054610100900460ff166108c05760405162461bcd60e51b815260040161099290611c55565b600081815260026020908152604080832033845290915290205460ff166108c05760405162461bcd60e51b815260040161099290611c55565b6000546001600160a01b031633146106915760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610992565b6112d26c53796e746845786368616e676560981b61120e565b60005b82518110156107f05760008382815181106112f2576112f2611ba6565b60209081029190910181015160008181526006835260409081902060016101006001600160f81b0389160217905580518281529283018690529092507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114910160405180910390a1508061136481611bd7565b9150506112d5565b60055460ff16156106915760405162461bcd60e51b815260206004820152602b60248201527f45786368616e67652069732073757370656e6465642e204f7065726174696f6e60448201526a081c1c9bda1a589a5d195960aa1b6064820152608401610992565b60008181526006602052604090205460ff16156108c05760405162461bcd60e51b815260206004820152602e60248201527f53796e74682065786368616e67652073757370656e6465642e204f706572617460448201526d1a5bdb881c1c9bda1a589a5d195960921b6064820152608401610992565b60008181526007602052604090205460ff16156108c05760405162461bcd60e51b815260206004820152602860248201527f53796e74682069732073757370656e6465642e204f7065726174696f6e2070726044820152671bda1a589a5d195960c21b6064820152608401610992565b6553797374656d60d01b8414806114da57506749737375616e636560c01b84145b806114ef57506745786368616e676560c01b84145b8061150957506c53796e746845786368616e676560981b84145b8061151b5750640a6f2dce8d60db1b84145b6115675760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c69656400000000000000006044820152606401610992565b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151590811661ffff19909416939093171790925582519081529283015286917f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1910160405180910390a350505050565b6116046c53796e746845786368616e676560981b6111d0565b60005b815181101561082957600082828151811061162457611624611ba6565b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b0316938101939093529092507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08910160405180910390a1600090815260066020526040812055806116a281611bd7565b915050611607565b60045460ff16156106915760405162461bcd60e51b815260206004820152602b60248201527f49737375616e63652069732073757370656e6465642e204f7065726174696f6e60448201526a081c1c9bda1a589a5d195960aa1b6064820152608401610992565b611722640a6f2dce8d60db1b61120e565b60005b82518110156107f057600083828151811061174257611742611ba6565b60209081029190910181015160008181526007835260409081902060016101006001600160f81b0389160217905580518281529283018690529092507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541910160405180910390a150806117b481611bd7565b915050611725565b6117cd640a6f2dce8d60db1b6111d0565b60005b81518110156108295760008282815181106117ed576117ed611ba6565b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b0316938101939093529092507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220910160405180910390a16000908152600760205260408120558061186b81611bd7565b9150506117d0565b60006020828403121561188557600080fd5b5035919050565b80356001600160a01b03811681146118a357600080fd5b919050565b6000602082840312156118ba57600080fd5b6118c38261188c565b9392505050565b60008083601f8401126118dc57600080fd5b50813567ffffffffffffffff8111156118f457600080fd5b6020830191508360208260051b850101111561190f57600080fd5b9250929050565b60008060006040848603121561192b57600080fd5b833567ffffffffffffffff81111561194257600080fd5b61194e868287016118ca565b909790965060209590950135949350505050565b6000806040838503121561197557600080fd5b50508035926020909101359150565b6000806040838503121561199757600080fd5b823591506119a76020840161188c565b90509250929050565b803580151581146118a357600080fd5b600080600080608085870312156119d657600080fd5b843593506119e66020860161188c565b92506119f4604086016119b0565b9150611a02606086016119b0565b905092959194509250565b6000806000806000806000806080898b031215611a2957600080fd5b883567ffffffffffffffff80821115611a4157600080fd5b611a4d8c838d016118ca565b909a50985060208b0135915080821115611a6657600080fd5b611a728c838d016118ca565b909850965060408b0135915080821115611a8b57600080fd5b611a978c838d016118ca565b909650945060608b0135915080821115611ab057600080fd5b50611abd8b828c016118ca565b999c989b5096995094979396929594505050565b60008060208385031215611ae457600080fd5b823567ffffffffffffffff811115611afb57600080fd5b611b07858286016118ca565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b82811015611b4e578151151584529284019290840190600101611b30565b5050508381038285015284518082528583019183019060005b81811015611b8357835183529284019291840191600101611b67565b5090979650505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215611bce57600080fd5b6118c3826119b0565b6000600019821415611bf957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083528351808285015260005b81811015611c2d57858101830151858201604001528201611c11565b81811115611c3f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c69736040820152601d60fa1b60608201526080019056fe53797374656d2069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953797374656d2069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a26469706673582212208210aa16c757a52a60de52a5a2e10016326ad5d7ca098f172b7f097b1888c19164736f6c634300080900330000000000000000000000006f808ae3445a711ecaa4da5c8330b051541a4de0
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061027f5760003560e01c806369eaced21161015c578063b431c0ea116100ce578063e665edf011610087578063e665edf0146105fd578063e91e691814610610578063f161620714610643578063f405f65a14610655578063f44d1e0b1461065d578063f8b4b0841461066c57600080fd5b8063b431c0ea14610585578063b9a4986914610598578063c0eee443146105b9578063da5917ae146105c4578063de1b8851146105d7578063e470df58146105ea57600080fd5b80637fe9b23d116101205780637fe9b23d146105025780638da5cb5b1461051557806394c79f74146105285780639f8a95ba1461053b578063a55ce9c51461055b578063abc0bb6e1461057257600080fd5b806369eaced2146104a45780637118d431146104b75780637243bc2c146104bf57806379ba5097146104f25780637c312541146104fa57600080fd5b8063396e258e116101f5578063517d60c6116101b9578063517d60c61461042257806353a47bb7146104355780636132eba414610460578063614d08f8146104735780636309a10c1461048957806367a280b21461049c57600080fd5b8063396e258e146103c457806342a28e21146103d757806348bf1971146103ea5780634a661850146103fd5780634abdb44d1461041057600080fd5b80631cba727c116102475780631cba727c146102df5780631ce00ba2146102f257806320f2bf00146103055780632366245e146103535780632dd8afdb1461038f5780632e8d0b9e146103ac57600080fd5b8063086dabd11461028457806312bde5141461028e578063157c51d3146102b15780631588e817146102b95780631627540c146102cc575b600080fd5b61028c610689565b005b61029e6553797374656d60d01b81565b6040519081526020015b60405180910390f35b61028c610693565b61028c6102c7366004611873565b6106fd565b61028c6102da3660046118a8565b61075c565b61028c6102ed366004611916565b6107b2565b61028c610300366004611962565b6107f5565b61033c610313366004611984565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b6040805192151583529015156020830152016102a8565b6004546103709060ff81169061010090046001600160f81b031682565b6040805192151583526001600160f81b039091166020830152016102a8565b6003546103709060ff81169061010090046001600160f81b031682565b6103b461082d565b60405190151581526020016102a8565b61028c6103d2366004611873565b610857565b61028c6103e5366004611873565b6108af565b61028c6103f83660046119c0565b6108c3565b61028c61040b366004611962565b6108dd565b61029e6749737375616e636560c01b81565b61028c610430366004611a0d565b610929565b600154610448906001600160a01b031681565b6040516001600160a01b0390911681526020016102a8565b61028c61046e366004611962565b610a59565b61029e6b53797374656d53746174757360a01b81565b61028c610497366004611873565b610a61565b61028c610aac565b61028c6104b2366004611ad1565b610b18565b61028c610b54565b6103706104cd366004611873565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b61028c610b64565b61028c610c4e565b61028c610510366004611916565b610c5e565b600054610448906001600160a01b031681565b61028c610536366004611873565b610c9c565b610543600181565b6040516001600160f81b0390911681526020016102a8565b61029e6c53796e746845786368616e676560981b81565b61028c610580366004611962565b610ce7565b6103b4610593366004611873565b610d33565b6105ab6105a6366004611ad1565b610d5b565b6040516102a8929190611b13565b60035460ff166103b4565b61028c6105d2366004611873565b610ed3565b61028c6105e5366004611ad1565b610ee4565b61028c6105f8366004611873565b610f20565b6105ab61060b366004611ad1565b610f80565b61037061061e366004611873565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b61029e6745786368616e676560c01b81565b61028c6110f0565b61029e640a6f2dce8d60db1b81565b6005546103709060ff81169061010090046001600160f81b031682565b61069161115c565b565b6106a56553797374656d60d01b6111d0565b6003805460ff1916908190556040516101009091046001600160f81b031681527fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f9060200160405180910390a16003805460ff169055565b6107116745786368616e676560c01b61120e565b60016101006001600160f81b03831602176005556040518181527f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22906020015b60405180910390a150565b610764611247565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290602001610751565b6107f08383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508592506112b9915050565b505050565b6107fd61115c565b61080561136c565b61080e826113d3565b610817816113d3565b61082082611449565b61082981611449565b5050565b60035460009060ff168015610852575060035461010090046001600160f81b03166001145b905090565b61086b6749737375616e636560c01b61120e565b60016101006001600160f81b03831602176004556040518181527fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb890602001610751565b6108b761115c565b6108c081611449565b50565b6108cb611247565b6108d7848484846114b9565b50505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061091357610913611ba6565b6020026020010181815250506107f081836112b9565b610931611247565b868514801561093f57508483145b801561094a57508281145b61099b5760405162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d61746368000060448201526064015b60405180910390fd5b60005b87811015610a4e57610a3c8989838181106109bb576109bb611ba6565b905060200201358888848181106109d4576109d4611ba6565b90506020020160208101906109e991906118a8565b8787858181106109fb576109fb611ba6565b9050602002016020810190610a109190611bbc565b868686818110610a2257610a22611ba6565b9050602002016020810190610a379190611bbc565b6114b9565b80610a4681611bd7565b91505061099e565b505050505050505050565b61081761115c565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610a9757610a97611ba6565b602002602001018181525050610829816115eb565b610ac06749737375616e636560c01b6111d0565b6004805460ff1916908190556040516101009091046001600160f81b031681527f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba57168379060200160405180910390a16004805460ff169055565b6108298282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506115eb92505050565b610b5c61115c565b61069161136c565b6001546001600160a01b03163314610bdc5760405162461bcd60e51b815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527402063616e20616363657074206f776e65727368697605c1b6064820152608401610992565b600054600154604080516001600160a01b0393841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610c5661115c565b6106916116aa565b6107f0838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611711915050565b604080516001808252818301909252600091602080830190803683370190505090508181600081518110610cd257610cd2611ba6565b602002602001018181525050610829816117bc565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610d1d57610d1d611ba6565b6020026020010181815250506107f08183611711565b60035460009060ff1680610d55575060008281526007602052604090205460ff165b92915050565b6060808267ffffffffffffffff811115610d7757610d77611b90565b604051908082528060200260200182016040528015610da0578160200160208202803683370190505b5091508267ffffffffffffffff811115610dbc57610dbc611b90565b604051908082528060200260200182016040528015610de5578160200160208202803683370190505b50905060005b83811015610ecb5760076000868684818110610e0957610e09611ba6565b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610e4157610e41611ba6565b9115156020928302919091019091015260076000868684818110610e6757610e67611ba6565b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610eae57610eae611ba6565b602090810291909101015280610ec381611bd7565b915050610deb565b509250929050565b610edb61115c565b6108c0816113d3565b6108298282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506117bc92505050565b610f326553797374656d60d01b61120e565b6001600160f81b03818116610100908102600117600381905560405191900490911681527f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f90602001610751565b6060808267ffffffffffffffff811115610f9c57610f9c611b90565b604051908082528060200260200182016040528015610fc5578160200160208202803683370190505b5091508267ffffffffffffffff811115610fe157610fe1611b90565b60405190808252806020026020018201604052801561100a578160200160208202803683370190505b50905060005b83811015610ecb576006600086868481811061102e5761102e611ba6565b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061106657611066611ba6565b911515602092830291909101909101526006600086868481811061108c5761108c611ba6565b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106110d3576110d3611ba6565b6020908102919091010152806110e881611bd7565b915050611010565b6111046745786368616e676560c01b6111d0565b6005805460ff1916908190556040516101009091046001600160f81b031681527f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c2149060200160405180910390a16005805460ff169055565b60035460ff8116159061010090046001600160f81b031660011461119857604051806060016040528060298152602001611cd2602991396111b2565b6040518060600160405280603b8152602001611c97603b91395b906108c05760405162461bcd60e51b81526004016109929190611c00565b6000818152600260209081526040808320338452909152902054610100900460ff166108c05760405162461bcd60e51b815260040161099290611c55565b600081815260026020908152604080832033845290915290205460ff166108c05760405162461bcd60e51b815260040161099290611c55565b6000546001600160a01b031633146106915760405162461bcd60e51b815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201526e37b936903a3434b99030b1ba34b7b760891b6064820152608401610992565b6112d26c53796e746845786368616e676560981b61120e565b60005b82518110156107f05760008382815181106112f2576112f2611ba6565b60209081029190910181015160008181526006835260409081902060016101006001600160f81b0389160217905580518281529283018690529092507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114910160405180910390a1508061136481611bd7565b9150506112d5565b60055460ff16156106915760405162461bcd60e51b815260206004820152602b60248201527f45786368616e67652069732073757370656e6465642e204f7065726174696f6e60448201526a081c1c9bda1a589a5d195960aa1b6064820152608401610992565b60008181526006602052604090205460ff16156108c05760405162461bcd60e51b815260206004820152602e60248201527f53796e74682065786368616e67652073757370656e6465642e204f706572617460448201526d1a5bdb881c1c9bda1a589a5d195960921b6064820152608401610992565b60008181526007602052604090205460ff16156108c05760405162461bcd60e51b815260206004820152602860248201527f53796e74682069732073757370656e6465642e204f7065726174696f6e2070726044820152671bda1a589a5d195960c21b6064820152608401610992565b6553797374656d60d01b8414806114da57506749737375616e636560c01b84145b806114ef57506745786368616e676560c01b84145b8061150957506c53796e746845786368616e676560981b84145b8061151b5750640a6f2dce8d60db1b84145b6115675760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c69656400000000000000006044820152606401610992565b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151590811661ffff19909416939093171790925582519081529283015286917f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1910160405180910390a350505050565b6116046c53796e746845786368616e676560981b6111d0565b60005b815181101561082957600082828151811061162457611624611ba6565b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b0316938101939093529092507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08910160405180910390a1600090815260066020526040812055806116a281611bd7565b915050611607565b60045460ff16156106915760405162461bcd60e51b815260206004820152602b60248201527f49737375616e63652069732073757370656e6465642e204f7065726174696f6e60448201526a081c1c9bda1a589a5d195960aa1b6064820152608401610992565b611722640a6f2dce8d60db1b61120e565b60005b82518110156107f057600083828151811061174257611742611ba6565b60209081029190910181015160008181526007835260409081902060016101006001600160f81b0389160217905580518281529283018690529092507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541910160405180910390a150806117b481611bd7565b915050611725565b6117cd640a6f2dce8d60db1b6111d0565b60005b81518110156108295760008282815181106117ed576117ed611ba6565b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b0316938101939093529092507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220910160405180910390a16000908152600760205260408120558061186b81611bd7565b9150506117d0565b60006020828403121561188557600080fd5b5035919050565b80356001600160a01b03811681146118a357600080fd5b919050565b6000602082840312156118ba57600080fd5b6118c38261188c565b9392505050565b60008083601f8401126118dc57600080fd5b50813567ffffffffffffffff8111156118f457600080fd5b6020830191508360208260051b850101111561190f57600080fd5b9250929050565b60008060006040848603121561192b57600080fd5b833567ffffffffffffffff81111561194257600080fd5b61194e868287016118ca565b909790965060209590950135949350505050565b6000806040838503121561197557600080fd5b50508035926020909101359150565b6000806040838503121561199757600080fd5b823591506119a76020840161188c565b90509250929050565b803580151581146118a357600080fd5b600080600080608085870312156119d657600080fd5b843593506119e66020860161188c565b92506119f4604086016119b0565b9150611a02606086016119b0565b905092959194509250565b6000806000806000806000806080898b031215611a2957600080fd5b883567ffffffffffffffff80821115611a4157600080fd5b611a4d8c838d016118ca565b909a50985060208b0135915080821115611a6657600080fd5b611a728c838d016118ca565b909850965060408b0135915080821115611a8b57600080fd5b611a978c838d016118ca565b909650945060608b0135915080821115611ab057600080fd5b50611abd8b828c016118ca565b999c989b5096995094979396929594505050565b60008060208385031215611ae457600080fd5b823567ffffffffffffffff811115611afb57600080fd5b611b07858286016118ca565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b82811015611b4e578151151584529284019290840190600101611b30565b5050508381038285015284518082528583019183019060005b81811015611b8357835183529284019291840191600101611b67565b5090979650505050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600060208284031215611bce57600080fd5b6118c3826119b0565b6000600019821415611bf957634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208083528351808285015260005b81811015611c2d57858101830151858201604001528201611c11565b81811115611c3f576000604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c69736040820152601d60fa1b60608201526080019056fe53797374656d2069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953797374656d2069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a26469706673582212208210aa16c757a52a60de52a5a2e10016326ad5d7ca098f172b7f097b1888c19164736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006f808ae3445a711ecaa4da5c8330b051541a4de0
-----Decoded View---------------
Arg [0] : _owner (address): 0x6F808aE3445A711ecAa4DA5c8330B051541A4dE0
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f808ae3445a711ecaa4da5c8330b051541a4de0
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.