ETH Price: $3,121.29 (+1.62%)

Contract

0x79B6eE65Fc1466b5fD95E20650dF740c085C6c2a

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Global Short...3592221582025-07-19 4:21:12147 days ago1752898872IN
0x79B6eE65...c085C6c2a
0 ETH0.000000880.014579
Set Global Short...3592208372025-07-19 4:15:42147 days ago1752898542IN
0x79B6eE65...c085C6c2a
0 ETH0.000000850.014338
Set Global Short...3592195122025-07-19 4:10:12147 days ago1752898212IN
0x79B6eE65...c085C6c2a
0 ETH0.000001080.018973
Set Global Short...3592181912025-07-19 4:04:42147 days ago1752897882IN
0x79B6eE65...c085C6c2a
0 ETH0.000000620.01
Set Global Short...3592168732025-07-19 3:59:12147 days ago1752897552IN
0x79B6eE65...c085C6c2a
0 ETH0.000000620.01
Set Global Short...3592155542025-07-19 3:53:42147 days ago1752897222IN
0x79B6eE65...c085C6c2a
0 ETH0.000000610.01
Set Global Short...3592142312025-07-19 3:48:11147 days ago1752896891IN
0x79B6eE65...c085C6c2a
0 ETH0.000000630.01
Set Global Short...3592129142025-07-19 3:42:43147 days ago1752896563IN
0x79B6eE65...c085C6c2a
0 ETH0.00000060.01
Set Global Short...3592115912025-07-19 3:37:12147 days ago1752896232IN
0x79B6eE65...c085C6c2a
0 ETH0.000000760.012832
Set Global Short...3592102712025-07-19 3:31:42147 days ago1752895902IN
0x79B6eE65...c085C6c2a
0 ETH0.000002530.045744
Set Global Short...3592089522025-07-19 3:26:14147 days ago1752895574IN
0x79B6eE65...c085C6c2a
0 ETH0.000013140.245699
Set Global Short...3592076272025-07-19 3:20:42147 days ago1752895242IN
0x79B6eE65...c085C6c2a
0 ETH0.00000060.01
Set Global Short...3592063052025-07-19 3:15:11147 days ago1752894911IN
0x79B6eE65...c085C6c2a
0 ETH0.000000630.01
Set Global Short...3592049862025-07-19 3:09:43147 days ago1752894583IN
0x79B6eE65...c085C6c2a
0 ETH0.000000610.01
Set Global Short...3592036732025-07-19 3:04:16147 days ago1752894256IN
0x79B6eE65...c085C6c2a
0 ETH0.00000060.01
Set Global Short...3592023552025-07-19 2:58:46147 days ago1752893926IN
0x79B6eE65...c085C6c2a
0 ETH0.000000630.01
Set Global Short...3592010362025-07-19 2:53:17147 days ago1752893597IN
0x79B6eE65...c085C6c2a
0 ETH0.000000570.01
Set Global Short...3591997022025-07-19 2:47:44147 days ago1752893264IN
0x79B6eE65...c085C6c2a
0 ETH0.000000730.01225
Set Global Short...3591983732025-07-19 2:42:11147 days ago1752892931IN
0x79B6eE65...c085C6c2a
0 ETH0.000000610.01
Set Global Short...3591970552025-07-19 2:36:42147 days ago1752892602IN
0x79B6eE65...c085C6c2a
0 ETH0.000000840.014281
Set Global Short...3591957392025-07-19 2:31:13147 days ago1752892273IN
0x79B6eE65...c085C6c2a
0 ETH0.000000620.01
Set Global Short...3591944042025-07-19 2:25:41147 days ago1752891941IN
0x79B6eE65...c085C6c2a
0 ETH0.000000580.010214
Set Global Short...3591930912025-07-19 2:20:13147 days ago1752891613IN
0x79B6eE65...c085C6c2a
0 ETH0.000000870.014408
Set Global Short...3591917662025-07-19 2:14:42147 days ago1752891282IN
0x79B6eE65...c085C6c2a
0 ETH0.000000590.01
Set Global Short...3591904442025-07-19 2:09:12147 days ago1752890952IN
0x79B6eE65...c085C6c2a
0 ETH0.00000060.01
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
719227012023-03-20 22:56:45998 days ago1679353005
0x79B6eE65...c085C6c2a
0 ETH
719227012023-03-20 22:56:45998 days ago1679353005
0x79B6eE65...c085C6c2a
0 ETH
719227012023-03-20 22:56:45998 days ago1679353005
0x79B6eE65...c085C6c2a
0 ETH
719214622023-03-20 22:51:17998 days ago1679352677
0x79B6eE65...c085C6c2a
0 ETH
719214622023-03-20 22:51:17998 days ago1679352677
0x79B6eE65...c085C6c2a
0 ETH
719214622023-03-20 22:51:17998 days ago1679352677
0x79B6eE65...c085C6c2a
0 ETH
719212322023-03-20 22:50:16998 days ago1679352616
0x79B6eE65...c085C6c2a
0 ETH
719212322023-03-20 22:50:16998 days ago1679352616
0x79B6eE65...c085C6c2a
0 ETH
719212322023-03-20 22:50:16998 days ago1679352616
0x79B6eE65...c085C6c2a
0 ETH
719199572023-03-20 22:44:46998 days ago1679352286
0x79B6eE65...c085C6c2a
0 ETH
719199572023-03-20 22:44:46998 days ago1679352286
0x79B6eE65...c085C6c2a
0 ETH
719199572023-03-20 22:44:46998 days ago1679352286
0x79B6eE65...c085C6c2a
0 ETH
719088772023-03-20 21:56:50998 days ago1679349410
0x79B6eE65...c085C6c2a
0 ETH
719088772023-03-20 21:56:50998 days ago1679349410
0x79B6eE65...c085C6c2a
0 ETH
719088772023-03-20 21:56:50998 days ago1679349410
0x79B6eE65...c085C6c2a
0 ETH
719074752023-03-20 21:50:46998 days ago1679349046
0x79B6eE65...c085C6c2a
0 ETH
719074752023-03-20 21:50:46998 days ago1679349046
0x79B6eE65...c085C6c2a
0 ETH
719074752023-03-20 21:50:46998 days ago1679349046
0x79B6eE65...c085C6c2a
0 ETH
718498382023-03-20 17:48:16998 days ago1679334496
0x79B6eE65...c085C6c2a
0 ETH
718498382023-03-20 17:48:16998 days ago1679334496
0x79B6eE65...c085C6c2a
0 ETH
718498382023-03-20 17:48:16998 days ago1679334496
0x79B6eE65...c085C6c2a
0 ETH
718485172023-03-20 17:42:45998 days ago1679334165
0x79B6eE65...c085C6c2a
0 ETH
718485172023-03-20 17:42:45998 days ago1679334165
0x79B6eE65...c085C6c2a
0 ETH
718485172023-03-20 17:42:45998 days ago1679334165
0x79B6eE65...c085C6c2a
0 ETH
718329092023-03-20 16:38:17998 days ago1679330297
0x79B6eE65...c085C6c2a
0 ETH
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShortsTrackerTimelock

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 1 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT

import "../libraries/math/SafeMath.sol";
import "../access/Governable.sol";
import "../core/interfaces/IShortsTracker.sol";

pragma solidity 0.6.12;

contract ShortsTrackerTimelock {
    using SafeMath for uint256;

    uint256 public constant BASIS_POINTS_DIVISOR = 10000;
    uint256 public constant MAX_BUFFER = 5 days;

    mapping (bytes32 => uint256) public pendingActions;

    address public admin;
    uint256 public buffer;

    mapping (address => bool) public isHandler;
    mapping (address => uint256) public lastUpdated;
    uint256 public averagePriceUpdateDelay;
    uint256 public maxAveragePriceChange;

    event GlobalShortAveragePriceUpdated(address indexed token, uint256 oldAveragePrice, uint256 newAveragePrice);

    event SignalSetGov(address target, address gov);
    event SetGov(address target, address gov);

    event SignalSetAdmin(address admin);
    event SetAdmin(address admin);

    event SetHandler(address indexed handler, bool isHandler);

    event SignalSetMaxAveragePriceChange(uint256 maxAveragePriceChange);
    event SetMaxAveragePriceChange(uint256 maxAveragePriceChange);

    event SignalSetAveragePriceUpdateDelay(uint256 averagePriceUpdateDelay);
    event SetAveragePriceUpdateDelay(uint256 averagePriceUpdateDelay);

    event SignalSetIsGlobalShortDataReady(address target, bool isGlobalShortDataReady);
    event SetIsGlobalShortDataReady(address target, bool isGlobalShortDataReady);

    event SignalPendingAction(bytes32 action);
    event ClearAction(bytes32 action);

    constructor(
        address _admin,
        uint256 _buffer,
        uint256 _averagePriceUpdateDelay,
        uint256 _maxAveragePriceChange
    ) public {
        admin = _admin;
        buffer = _buffer;
        averagePriceUpdateDelay = _averagePriceUpdateDelay;
        maxAveragePriceChange = _maxAveragePriceChange;
    }

    modifier onlyAdmin() {
        require(msg.sender == admin, "ShortsTrackerTimelock: admin forbidden");
        _;
    }

    modifier onlyHandler() {
        require(isHandler[msg.sender] || msg.sender == admin, "ShortsTrackerTimelock: handler forbidden");
        _;
    }

    function setBuffer(uint256 _buffer) external onlyAdmin {
        require(_buffer <= MAX_BUFFER, "ShortsTrackerTimelock: invalid buffer");
        require(_buffer > buffer, "ShortsTrackerTimelock: buffer cannot be decreased");
        buffer = _buffer;
    }

    function signalSetAdmin(address _admin) external onlyAdmin {
        require(_admin != address(0), "ShortsTrackerTimelock: invalid admin");

        bytes32 action = keccak256(abi.encodePacked("setAdmin", _admin));
        _setPendingAction(action);

        emit SignalSetAdmin(_admin);
    }

    function setAdmin(address _admin) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setAdmin", _admin));
        _validateAction(action);
        _clearAction(action);

        admin = _admin;

        emit SetAdmin(_admin);
    }

    function setHandler(address _handler, bool _isActive) external onlyAdmin {
        isHandler[_handler] = _isActive;

        emit SetHandler(_handler, _isActive);
    }

    function signalSetGov(address _shortsTracker, address _gov) external onlyAdmin {
        require(_gov != address(0), "ShortsTrackerTimelock: invalid gov");

        bytes32 action = keccak256(abi.encodePacked("setGov", _shortsTracker, _gov));
        _setPendingAction(action);

        emit SignalSetGov(_shortsTracker, _gov);
    }

    function setGov(address _shortsTracker, address _gov) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setGov", _shortsTracker, _gov));
        _validateAction(action);
        _clearAction(action);

        Governable(_shortsTracker).setGov(_gov);

        emit SetGov(_shortsTracker, _gov);
    }

    function signalSetAveragePriceUpdateDelay(uint256 _averagePriceUpdateDelay) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setAveragePriceUpdateDelay", _averagePriceUpdateDelay));
        _setPendingAction(action);

        emit SignalSetAveragePriceUpdateDelay(_averagePriceUpdateDelay);
    }

    function setAveragePriceUpdateDelay(uint256 _averagePriceUpdateDelay) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setAveragePriceUpdateDelay", _averagePriceUpdateDelay));
        _validateAction(action);
        _clearAction(action);

        averagePriceUpdateDelay = _averagePriceUpdateDelay;

        emit SetAveragePriceUpdateDelay(_averagePriceUpdateDelay);
    }

    function signalSetMaxAveragePriceChange(uint256 _maxAveragePriceChange) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setMaxAveragePriceChange", _maxAveragePriceChange));
        _setPendingAction(action);

        emit SignalSetMaxAveragePriceChange(_maxAveragePriceChange);
    }

    function setMaxAveragePriceChange(uint256 _maxAveragePriceChange) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setMaxAveragePriceChange", _maxAveragePriceChange));
        _validateAction(action);
        _clearAction(action);

        maxAveragePriceChange = _maxAveragePriceChange;

        emit SetMaxAveragePriceChange(_maxAveragePriceChange);
    }

    function signalSetIsGlobalShortDataReady(IShortsTracker _shortsTracker, bool _value) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setIsGlobalShortDataReady", address(_shortsTracker), _value));
        _setPendingAction(action);

        emit SignalSetIsGlobalShortDataReady(address(_shortsTracker), _value);
    }

    function setIsGlobalShortDataReady(IShortsTracker _shortsTracker, bool _value) external onlyAdmin {
        bytes32 action = keccak256(abi.encodePacked("setIsGlobalShortDataReady", address(_shortsTracker), _value));
        _validateAction(action);
        _clearAction(action);

        _shortsTracker.setIsGlobalShortDataReady(_value);

        emit SetIsGlobalShortDataReady(address(_shortsTracker), _value);
    }

    function disableIsGlobalShortDataReady(IShortsTracker _shortsTracker) external onlyAdmin {
        _shortsTracker.setIsGlobalShortDataReady(false);

        emit SetIsGlobalShortDataReady(address(_shortsTracker), false);
    }

    function setGlobalShortAveragePrices(IShortsTracker _shortsTracker, address[] calldata _tokens, uint256[] calldata _averagePrices) external onlyHandler {
        _shortsTracker.setIsGlobalShortDataReady(false);

        for (uint256 i = 0; i < _tokens.length; i++) {
            address token = _tokens[i];
            uint256 oldAveragePrice = _shortsTracker.globalShortAveragePrices(token);
            uint256 newAveragePrice = _averagePrices[i];
            uint256 diff = newAveragePrice > oldAveragePrice ? newAveragePrice.sub(oldAveragePrice) : oldAveragePrice.sub(newAveragePrice);
            require(diff.mul(BASIS_POINTS_DIVISOR).div(oldAveragePrice) < maxAveragePriceChange, "ShortsTrackerTimelock: too big change");

            require(block.timestamp >= lastUpdated[token].add(averagePriceUpdateDelay), "ShortsTrackerTimelock: too early");
            lastUpdated[token] = block.timestamp;

            emit GlobalShortAveragePriceUpdated(token, oldAveragePrice, newAveragePrice);
        }

        _shortsTracker.setInitData(_tokens, _averagePrices);
    }

    function _setPendingAction(bytes32 _action) private {
        require(pendingActions[_action] == 0, "ShortsTrackerTimelock: action already signalled");
        pendingActions[_action] = block.timestamp.add(buffer);
        emit SignalPendingAction(_action);
    }

    function _validateAction(bytes32 _action) private view {
        require(pendingActions[_action] != 0, "ShortsTrackerTimelock: action not signalled");
        require(pendingActions[_action] <= block.timestamp, "ShortsTrackerTimelock: action time not yet passed");
    }

    function _clearAction(bytes32 _action) private {
        require(pendingActions[_action] != 0, "ShortsTrackerTimelock: invalid _action");
        delete pendingActions[_action];
        emit ClearAction(_action);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

contract Governable {
    address public gov;

    constructor() public {
        gov = msg.sender;
    }

    modifier onlyGov() {
        require(msg.sender == gov, "Governable: forbidden");
        _;
    }

    function setGov(address _gov) external onlyGov {
        gov = _gov;
    }
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

interface IShortsTracker {
    function isGlobalShortDataReady() external view returns (bool);
    function globalShortAveragePrices(address _token) external view returns (uint256);
    function getNextGlobalShortData(
        address _account,
        address _collateralToken,
        address _indexToken,
        uint256 _nextPrice,
        uint256 _sizeDelta,
        bool _isIncrease
    ) external view returns (uint256, uint256);
    function updateGlobalShortData(
        address _account,
        address _collateralToken,
        address _indexToken,
        bool _isLong,
        uint256 _sizeDelta,
        uint256 _markPrice,
        bool _isIncrease
    ) external;
    function setIsGlobalShortDataReady(bool value) external;
    function setInitData(address[] calldata _tokens, uint256[] calldata _averagePrices) external;
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 1
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_admin","type":"address"},{"internalType":"uint256","name":"_buffer","type":"uint256"},{"internalType":"uint256","name":"_averagePriceUpdateDelay","type":"uint256"},{"internalType":"uint256","name":"_maxAveragePriceChange","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"action","type":"bytes32"}],"name":"ClearAction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldAveragePrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAveragePrice","type":"uint256"}],"name":"GlobalShortAveragePriceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"SetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"averagePriceUpdateDelay","type":"uint256"}],"name":"SetAveragePriceUpdateDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"gov","type":"address"}],"name":"SetGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"handler","type":"address"},{"indexed":false,"internalType":"bool","name":"isHandler","type":"bool"}],"name":"SetHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"isGlobalShortDataReady","type":"bool"}],"name":"SetIsGlobalShortDataReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxAveragePriceChange","type":"uint256"}],"name":"SetMaxAveragePriceChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"action","type":"bytes32"}],"name":"SignalPendingAction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"SignalSetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"averagePriceUpdateDelay","type":"uint256"}],"name":"SignalSetAveragePriceUpdateDelay","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"address","name":"gov","type":"address"}],"name":"SignalSetGov","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"target","type":"address"},{"indexed":false,"internalType":"bool","name":"isGlobalShortDataReady","type":"bool"}],"name":"SignalSetIsGlobalShortDataReady","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxAveragePriceChange","type":"uint256"}],"name":"SignalSetMaxAveragePriceChange","type":"event"},{"inputs":[],"name":"BASIS_POINTS_DIVISOR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_BUFFER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"averagePriceUpdateDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buffer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IShortsTracker","name":"_shortsTracker","type":"address"}],"name":"disableIsGlobalShortDataReady","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastUpdated","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxAveragePriceChange","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"pendingActions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_averagePriceUpdateDelay","type":"uint256"}],"name":"setAveragePriceUpdateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buffer","type":"uint256"}],"name":"setBuffer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IShortsTracker","name":"_shortsTracker","type":"address"},{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"uint256[]","name":"_averagePrices","type":"uint256[]"}],"name":"setGlobalShortAveragePrices","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shortsTracker","type":"address"},{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_handler","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IShortsTracker","name":"_shortsTracker","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setIsGlobalShortDataReady","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAveragePriceChange","type":"uint256"}],"name":"setMaxAveragePriceChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"signalSetAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_averagePriceUpdateDelay","type":"uint256"}],"name":"signalSetAveragePriceUpdateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_shortsTracker","type":"address"},{"internalType":"address","name":"_gov","type":"address"}],"name":"signalSetGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IShortsTracker","name":"_shortsTracker","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"signalSetIsGlobalShortDataReady","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxAveragePriceChange","type":"uint256"}],"name":"signalSetMaxAveragePriceChange","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50604051611c14380380611c148339818101604052608081101561003357600080fd5b50805160208201516040830151606090930151600180546001600160a01b0319166001600160a01b0390941693909317909255600255600591909155600655611b93806100816000396000f3fe608060405234801561001057600080fd5b506004361061011d5760003560e01c80630a6f93e614610122578063126082cf1461015a5780631ab8fe04146101625780632591d4831461016a5780632c166c411461019a57806333156639146101b75780633976e566146101d457806342588a67146102a257806342773c2c146102bf57806346ea87af146102c75780634882fa131461030157806351a6de0d1461032f5780635c3bca361461035d57806361d075691461037a578063627395eb14610382578063704b6c02146103a8578063717cf5d6146103ce578063996a7a1e146103f45780639cb7de4b14610422578063adc7ea3714610450578063e30569e51461046d578063edaafe201461048a578063f851a44014610492575b600080fd5b6101486004803603602081101561013857600080fd5b50356001600160a01b03166104b6565b60408051918252519081900360200190f35b6101486104c8565b6101486104ce565b6101986004803603604081101561018057600080fd5b506001600160a01b03813516906020013515156104d4565b005b610198600480360360208110156101b057600080fd5b5035610627565b610198600480360360208110156101cd57600080fd5b5035610706565b610198600480360360608110156101ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021457600080fd5b82018360208201111561022657600080fd5b803590602001918460208302840111600160201b8311171561024757600080fd5b919390929091602081019035600160201b81111561026457600080fd5b82018360208201111561027657600080fd5b803590602001918460208302840111600160201b8311171561029757600080fd5b5090925090506107e7565b610198600480360360208110156102b857600080fd5b5035610b86565b610148610c59565b6102ed600480360360208110156102dd57600080fd5b50356001600160a01b0316610c5f565b604080519115158252519081900360200190f35b6101986004803603604081101561031757600080fd5b506001600160a01b0381351690602001351515610c74565b6101986004803603604081101561034557600080fd5b506001600160a01b0381358116916020013516610d70565b6101986004803603602081101561037357600080fd5b5035610ec8565b610148610f99565b6101986004803603602081101561039857600080fd5b50356001600160a01b0316610fa0565b610198600480360360208110156103be57600080fd5b50356001600160a01b031661107c565b610198600480360360208110156103e457600080fd5b50356001600160a01b0316611170565b6101986004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661128b565b6101986004803603604081101561043857600080fd5b506001600160a01b03813516906020013515156113b8565b6101986004803603602081101561046657600080fd5b5035611461565b6101486004803603602081101561048357600080fd5b5035611531565b610148611543565b61049a611549565b604080516001600160a01b039092168252519081900360200190f35b60046020526000908152604090205481565b61271081565b60055481565b6001546001600160a01b0316331461051d5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051787365744973476c6f62616c53686f727444617461526561647960381b6020808301919091526001600160601b0319606086901b16603983015283151560f81b604d8301528251602e818403018152604e909201909252805191012061058681611558565b61058f816115f2565b826001600160a01b0316633d30cabf836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b5050604080516001600160a01b0387168152851515602082015281516000805160206119d08339815191529450908190039091019150a1505050565b6001546001600160a01b031633146106705760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051777365744d61784176657261676550726963654368616e676560401b602080830191909152603880830185905283518084039091018152605890920190925280519101206106c181611558565b6106ca816115f2565b60068290556040805183815290517fe846c28c10eef345d8d4fea8b403bfac624c32c3e64ce0b666f23404f2edb5149181900360200190a15050565b6001546001600160a01b0316331461074f5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080517973657441766572616765507269636555706461746544656c617960301b602080830191909152603a80830185905283518084039091018152605a90920190925280519101206107a281611558565b6107ab816115f2565b60058290556040805183815290517fa043b6b847902bb85c2a2575e9bce3a077bcaad8ec888ac941f50a6f4acdbb3d9181900360200190a15050565b3360009081526003602052604090205460ff168061080f57506001546001600160a01b031633145b61084a5760405162461bcd60e51b8152600401808060200182810382526028815260200180611a166028913960400191505060405180910390fd5b60408051633d30cabf60e01b815260006004820181905291516001600160a01b03881692633d30cabf926024808201939182900301818387803b15801561089057600080fd5b505af11580156108a4573d6000803e3d6000fd5b5050505060005b83811015610ac15760008585838181106108c157fe5b905060200201356001600160a01b031690506000876001600160a01b03166362749803836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561092257600080fd5b505afa158015610936573d6000803e3d6000fd5b505050506040513d602081101561094c57600080fd5b50519050600085858581811061095e57fe5b905060200201359050600082821161097f5761097a8383611683565b610989565b6109898284611683565b6006549091506109a58461099f846127106116ce565b90611727565b106109e15760405162461bcd60e51b8152600401808060200182810382526025815260200180611b396025913960400191505060405180910390fd5b6005546001600160a01b038516600090815260046020526040902054610a0691611766565b421015610a5a576040805162461bcd60e51b815260206004820181905260248201527f53686f727473547261636b657254696d656c6f636b3a20746f6f206561726c79604482015290519081900360640190fd5b6001600160a01b038416600081815260046020908152604091829020429055815186815290810185905281517fa6a58ff784b1e07988de90568885d7bbd8e5485c3ec4344195c7306108553256929181900390910190a25050600190920191506108ab9050565b50846001600160a01b031663bbd97187858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b505050505050505050565b6001546001600160a01b03163314610bcf5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080517973657441766572616765507269636555706461746544656c617960301b602080830191909152603a80830185905283518084039091018152605a9092019092528051910120610c22816117be565b6040805183815290517fc226c48cee6a025ab009e01969a2e89f1ce4d455cfa2900745b2237cb0bb8d619181900360200190a15050565b60065481565b60036020526000908152604090205460ff1681565b6001546001600160a01b03163314610cbd5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051787365744973476c6f62616c53686f727444617461526561647960381b6020808301919091526001600160601b0319606086901b16603983015283151560f81b604d8301528251602e818403018152604e9092019092528051910120610d26816117be565b604080516001600160a01b0385168152831515602082015281517f362e5bba25647700de1a7562fc07672df837bef17125e07a6f79abea31ee5a48929181900390910190a1505050565b6001546001600160a01b03163314610db95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080516539b2ba23b7bb60d11b6020808301919091526001600160601b0319606086811b8216602685015285901b16603a8301528251602e818403018152604e9092019092528051910120610e0e81611558565b610e17816115f2565b826001600160a01b031663cfad57a2836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610e6657600080fd5b505af1158015610e7a573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528616602082015281517f53351836099c03ffc3b1727d8abd4b0222afa87d4ed76ae3102d51369ef7f7859450908190039091019150a1505050565b6001546001600160a01b03163314610f115760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051777365744d61784176657261676550726963654368616e676560401b60208083019190915260388083018590528351808403909101815260589092019092528051910120610f62816117be565b6040805183815290517f21f68305d262b9ce144019f5d9f755a2dd1b5c2d35996cd4b649c285d7525cd19181900360200190a15050565b6206978081565b6001546001600160a01b03163314610fe95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051633d30cabf60e01b815260006004820181905291516001600160a01b03841692633d30cabf926024808201939182900301818387803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b5050604080516001600160a01b03851681526000602082015281516000805160206119d08339815191529450908190039091019150a150565b6001546001600160a01b031633146110c55760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080516739b2ba20b236b4b760c11b6020808301919091526001600160601b0319606085901b1660288301528251601c818403018152603c909201909252805191012061111281611558565b61111b816115f2565b600180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a15050565b6001546001600160a01b031633146111b95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b0381166111fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180611abf6024913960400191505060405180910390fd5b604080516739b2ba20b236b4b760c11b6020808301919091526001600160601b0319606085901b1660288301528251601c818403018152603c909201909252805191012061124b816117be565b604080516001600160a01b038416815290517fbccacda50126e9efa231593d2a9d4394d7cda7909ab2e14d2ae878ab2a306b3f9181900360200190a15050565b6001546001600160a01b031633146112d45760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b0381166113195760405162461bcd60e51b815260040180806020018281038252602281526020018061195d6022913960400191505060405180910390fd5b604080516539b2ba23b7bb60d11b6020808301919091526001600160601b0319606086811b8216602685015285901b16603a8301528251602e818403018152604e909201909252805191012061136e816117be565b604080516001600160a01b0380861682528416602082015281517f84f5d90471bb5811423318895e49ef4de52f5a6f4dac67af85e4202410bb66a4929181900390910190a1505050565b6001546001600160a01b031633146114015760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517fd373464a39404e5f98fdb4b152b8ba9a094561e97e5c4b4ea11eb18cd9e6695e9281900390910190a25050565b6001546001600160a01b031633146114aa5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b620697808111156114ec5760405162461bcd60e51b8152600401808060200182810382526025815260200180611ae36025913960400191505060405180910390fd5b600254811161152c5760405162461bcd60e51b8152600401808060200182810382526031815260200180611b086031913960400191505060405180910390fd5b600255565b60006020819052908152604090205481565b60025481565b6001546001600160a01b031681565b6000818152602081905260409020546115a25760405162461bcd60e51b815260040180806020018281038252602b8152602001806119a5602b913960400191505060405180910390fd5b6000818152602081905260409020544210156115ef5760405162461bcd60e51b8152600401808060200182810382526031815260200180611a8e6031913960400191505060405180910390fd5b50565b60008181526020819052604090205461163c5760405162461bcd60e51b815260040180806020018281038252602681526020018061197f6026913960400191505060405180910390fd5b60008181526020818152604080832092909255815183815291517f194ed6dd5e37e2acc44a19455c3f208c4831ee695fe362d9c4ef2d316bc53aec9281900390910190a150565b60006116c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611860565b90505b92915050565b6000826116dd575060006116c8565b828202828482816116ea57fe5b04146116c55760405162461bcd60e51b8152600401808060200182810382526021815260200180611a6d6021913960400191505060405180910390fd5b60006116c583836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b8152506118f7565b6000828201838110156116c5576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600081815260208190526040902054156118095760405162461bcd60e51b815260040180806020018281038252602f815260200180611a3e602f913960400191505060405180910390fd5b600254611817904290611766565b6000828152602081815260409182902092909255805183815290517f5fb9c0ecf7b4a28c4c480212e868f9da7f373a2ed4d23498b0be6aadf35242fb929181900390910190a150565b600081848411156118ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118b457818101518382015260200161189c565b50505050905090810190601f1680156118e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836119465760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156118b457818101518382015260200161189c565b50600083858161195257fe5b049594505050505056fe53686f727473547261636b657254696d656c6f636b3a20696e76616c696420676f7653686f727473547261636b657254696d656c6f636b3a20696e76616c6964205f616374696f6e53686f727473547261636b657254696d656c6f636b3a20616374696f6e206e6f74207369676e616c6c6564177de4361fc37a0e8defe8ac0c685d3472789b507959897eec32350c9d2c366653686f727473547261636b657254696d656c6f636b3a2061646d696e20666f7262696464656e53686f727473547261636b657254696d656c6f636b3a2068616e646c657220666f7262696464656e53686f727473547261636b657254696d656c6f636b3a20616374696f6e20616c7265616479207369676e616c6c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753686f727473547261636b657254696d656c6f636b3a20616374696f6e2074696d65206e6f74207965742070617373656453686f727473547261636b657254696d656c6f636b3a20696e76616c69642061646d696e53686f727473547261636b657254696d656c6f636b3a20696e76616c69642062756666657253686f727473547261636b657254696d656c6f636b3a206275666665722063616e6e6f742062652064656372656173656453686f727473547261636b657254696d656c6f636b3a20746f6f20626967206368616e6765a264697066735822122065167e91b727486a85daeb53b4015d040b1f2d3823b2ecd55bd4682036f377a464736f6c634300060c003300000000000000000000000049b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000014

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061011d5760003560e01c80630a6f93e614610122578063126082cf1461015a5780631ab8fe04146101625780632591d4831461016a5780632c166c411461019a57806333156639146101b75780633976e566146101d457806342588a67146102a257806342773c2c146102bf57806346ea87af146102c75780634882fa131461030157806351a6de0d1461032f5780635c3bca361461035d57806361d075691461037a578063627395eb14610382578063704b6c02146103a8578063717cf5d6146103ce578063996a7a1e146103f45780639cb7de4b14610422578063adc7ea3714610450578063e30569e51461046d578063edaafe201461048a578063f851a44014610492575b600080fd5b6101486004803603602081101561013857600080fd5b50356001600160a01b03166104b6565b60408051918252519081900360200190f35b6101486104c8565b6101486104ce565b6101986004803603604081101561018057600080fd5b506001600160a01b03813516906020013515156104d4565b005b610198600480360360208110156101b057600080fd5b5035610627565b610198600480360360208110156101cd57600080fd5b5035610706565b610198600480360360608110156101ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021457600080fd5b82018360208201111561022657600080fd5b803590602001918460208302840111600160201b8311171561024757600080fd5b919390929091602081019035600160201b81111561026457600080fd5b82018360208201111561027657600080fd5b803590602001918460208302840111600160201b8311171561029757600080fd5b5090925090506107e7565b610198600480360360208110156102b857600080fd5b5035610b86565b610148610c59565b6102ed600480360360208110156102dd57600080fd5b50356001600160a01b0316610c5f565b604080519115158252519081900360200190f35b6101986004803603604081101561031757600080fd5b506001600160a01b0381351690602001351515610c74565b6101986004803603604081101561034557600080fd5b506001600160a01b0381358116916020013516610d70565b6101986004803603602081101561037357600080fd5b5035610ec8565b610148610f99565b6101986004803603602081101561039857600080fd5b50356001600160a01b0316610fa0565b610198600480360360208110156103be57600080fd5b50356001600160a01b031661107c565b610198600480360360208110156103e457600080fd5b50356001600160a01b0316611170565b6101986004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661128b565b6101986004803603604081101561043857600080fd5b506001600160a01b03813516906020013515156113b8565b6101986004803603602081101561046657600080fd5b5035611461565b6101486004803603602081101561048357600080fd5b5035611531565b610148611543565b61049a611549565b604080516001600160a01b039092168252519081900360200190f35b60046020526000908152604090205481565b61271081565b60055481565b6001546001600160a01b0316331461051d5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051787365744973476c6f62616c53686f727444617461526561647960381b6020808301919091526001600160601b0319606086901b16603983015283151560f81b604d8301528251602e818403018152604e909201909252805191012061058681611558565b61058f816115f2565b826001600160a01b0316633d30cabf836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156105d757600080fd5b505af11580156105eb573d6000803e3d6000fd5b5050604080516001600160a01b0387168152851515602082015281516000805160206119d08339815191529450908190039091019150a1505050565b6001546001600160a01b031633146106705760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051777365744d61784176657261676550726963654368616e676560401b602080830191909152603880830185905283518084039091018152605890920190925280519101206106c181611558565b6106ca816115f2565b60068290556040805183815290517fe846c28c10eef345d8d4fea8b403bfac624c32c3e64ce0b666f23404f2edb5149181900360200190a15050565b6001546001600160a01b0316331461074f5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080517973657441766572616765507269636555706461746544656c617960301b602080830191909152603a80830185905283518084039091018152605a90920190925280519101206107a281611558565b6107ab816115f2565b60058290556040805183815290517fa043b6b847902bb85c2a2575e9bce3a077bcaad8ec888ac941f50a6f4acdbb3d9181900360200190a15050565b3360009081526003602052604090205460ff168061080f57506001546001600160a01b031633145b61084a5760405162461bcd60e51b8152600401808060200182810382526028815260200180611a166028913960400191505060405180910390fd5b60408051633d30cabf60e01b815260006004820181905291516001600160a01b03881692633d30cabf926024808201939182900301818387803b15801561089057600080fd5b505af11580156108a4573d6000803e3d6000fd5b5050505060005b83811015610ac15760008585838181106108c157fe5b905060200201356001600160a01b031690506000876001600160a01b03166362749803836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561092257600080fd5b505afa158015610936573d6000803e3d6000fd5b505050506040513d602081101561094c57600080fd5b50519050600085858581811061095e57fe5b905060200201359050600082821161097f5761097a8383611683565b610989565b6109898284611683565b6006549091506109a58461099f846127106116ce565b90611727565b106109e15760405162461bcd60e51b8152600401808060200182810382526025815260200180611b396025913960400191505060405180910390fd5b6005546001600160a01b038516600090815260046020526040902054610a0691611766565b421015610a5a576040805162461bcd60e51b815260206004820181905260248201527f53686f727473547261636b657254696d656c6f636b3a20746f6f206561726c79604482015290519081900360640190fd5b6001600160a01b038416600081815260046020908152604091829020429055815186815290810185905281517fa6a58ff784b1e07988de90568885d7bbd8e5485c3ec4344195c7306108553256929181900390910190a25050600190920191506108ab9050565b50846001600160a01b031663bbd97187858585856040518563ffffffff1660e01b81526004018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b505050505050505050565b6001546001600160a01b03163314610bcf5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080517973657441766572616765507269636555706461746544656c617960301b602080830191909152603a80830185905283518084039091018152605a9092019092528051910120610c22816117be565b6040805183815290517fc226c48cee6a025ab009e01969a2e89f1ce4d455cfa2900745b2237cb0bb8d619181900360200190a15050565b60065481565b60036020526000908152604090205460ff1681565b6001546001600160a01b03163314610cbd5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051787365744973476c6f62616c53686f727444617461526561647960381b6020808301919091526001600160601b0319606086901b16603983015283151560f81b604d8301528251602e818403018152604e9092019092528051910120610d26816117be565b604080516001600160a01b0385168152831515602082015281517f362e5bba25647700de1a7562fc07672df837bef17125e07a6f79abea31ee5a48929181900390910190a1505050565b6001546001600160a01b03163314610db95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080516539b2ba23b7bb60d11b6020808301919091526001600160601b0319606086811b8216602685015285901b16603a8301528251602e818403018152604e9092019092528051910120610e0e81611558565b610e17816115f2565b826001600160a01b031663cfad57a2836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610e6657600080fd5b505af1158015610e7a573d6000803e3d6000fd5b5050604080516001600160a01b0380881682528616602082015281517f53351836099c03ffc3b1727d8abd4b0222afa87d4ed76ae3102d51369ef7f7859450908190039091019150a1505050565b6001546001600160a01b03163314610f115760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051777365744d61784176657261676550726963654368616e676560401b60208083019190915260388083018590528351808403909101815260589092019092528051910120610f62816117be565b6040805183815290517f21f68305d262b9ce144019f5d9f755a2dd1b5c2d35996cd4b649c285d7525cd19181900360200190a15050565b6206978081565b6001546001600160a01b03163314610fe95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b60408051633d30cabf60e01b815260006004820181905291516001600160a01b03841692633d30cabf926024808201939182900301818387803b15801561102f57600080fd5b505af1158015611043573d6000803e3d6000fd5b5050604080516001600160a01b03851681526000602082015281516000805160206119d08339815191529450908190039091019150a150565b6001546001600160a01b031633146110c55760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b604080516739b2ba20b236b4b760c11b6020808301919091526001600160601b0319606085901b1660288301528251601c818403018152603c909201909252805191012061111281611558565b61111b816115f2565b600180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a15050565b6001546001600160a01b031633146111b95760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b0381166111fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180611abf6024913960400191505060405180910390fd5b604080516739b2ba20b236b4b760c11b6020808301919091526001600160601b0319606085901b1660288301528251601c818403018152603c909201909252805191012061124b816117be565b604080516001600160a01b038416815290517fbccacda50126e9efa231593d2a9d4394d7cda7909ab2e14d2ae878ab2a306b3f9181900360200190a15050565b6001546001600160a01b031633146112d45760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b0381166113195760405162461bcd60e51b815260040180806020018281038252602281526020018061195d6022913960400191505060405180910390fd5b604080516539b2ba23b7bb60d11b6020808301919091526001600160601b0319606086811b8216602685015285901b16603a8301528251602e818403018152604e909201909252805191012061136e816117be565b604080516001600160a01b0380861682528416602082015281517f84f5d90471bb5811423318895e49ef4de52f5a6f4dac67af85e4202410bb66a4929181900390910190a1505050565b6001546001600160a01b031633146114015760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b6001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517fd373464a39404e5f98fdb4b152b8ba9a094561e97e5c4b4ea11eb18cd9e6695e9281900390910190a25050565b6001546001600160a01b031633146114aa5760405162461bcd60e51b81526004018080602001828103825260268152602001806119f06026913960400191505060405180910390fd5b620697808111156114ec5760405162461bcd60e51b8152600401808060200182810382526025815260200180611ae36025913960400191505060405180910390fd5b600254811161152c5760405162461bcd60e51b8152600401808060200182810382526031815260200180611b086031913960400191505060405180910390fd5b600255565b60006020819052908152604090205481565b60025481565b6001546001600160a01b031681565b6000818152602081905260409020546115a25760405162461bcd60e51b815260040180806020018281038252602b8152602001806119a5602b913960400191505060405180910390fd5b6000818152602081905260409020544210156115ef5760405162461bcd60e51b8152600401808060200182810382526031815260200180611a8e6031913960400191505060405180910390fd5b50565b60008181526020819052604090205461163c5760405162461bcd60e51b815260040180806020018281038252602681526020018061197f6026913960400191505060405180910390fd5b60008181526020818152604080832092909255815183815291517f194ed6dd5e37e2acc44a19455c3f208c4831ee695fe362d9c4ef2d316bc53aec9281900390910190a150565b60006116c583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611860565b90505b92915050565b6000826116dd575060006116c8565b828202828482816116ea57fe5b04146116c55760405162461bcd60e51b8152600401808060200182810382526021815260200180611a6d6021913960400191505060405180910390fd5b60006116c583836040518060400160405280601a815260200179536166654d6174683a206469766973696f6e206279207a65726f60301b8152506118f7565b6000828201838110156116c5576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b600081815260208190526040902054156118095760405162461bcd60e51b815260040180806020018281038252602f815260200180611a3e602f913960400191505060405180910390fd5b600254611817904290611766565b6000828152602081815260409182902092909255805183815290517f5fb9c0ecf7b4a28c4c480212e868f9da7f373a2ed4d23498b0be6aadf35242fb929181900390910190a150565b600081848411156118ef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156118b457818101518382015260200161189c565b50505050905090810190601f1680156118e15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836119465760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156118b457818101518382015260200161189c565b50600083858161195257fe5b049594505050505056fe53686f727473547261636b657254696d656c6f636b3a20696e76616c696420676f7653686f727473547261636b657254696d656c6f636b3a20696e76616c6964205f616374696f6e53686f727473547261636b657254696d656c6f636b3a20616374696f6e206e6f74207369676e616c6c6564177de4361fc37a0e8defe8ac0c685d3472789b507959897eec32350c9d2c366653686f727473547261636b657254696d656c6f636b3a2061646d696e20666f7262696464656e53686f727473547261636b657254696d656c6f636b3a2068616e646c657220666f7262696464656e53686f727473547261636b657254696d656c6f636b3a20616374696f6e20616c7265616479207369676e616c6c6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753686f727473547261636b657254696d656c6f636b3a20616374696f6e2074696d65206e6f74207965742070617373656453686f727473547261636b657254696d656c6f636b3a20696e76616c69642061646d696e53686f727473547261636b657254696d656c6f636b3a20696e76616c69642062756666657253686f727473547261636b657254696d656c6f636b3a206275666665722063616e6e6f742062652064656372656173656453686f727473547261636b657254696d656c6f636b3a20746f6f20626967206368616e6765a264697066735822122065167e91b727486a85daeb53b4015d040b1f2d3823b2ecd55bd4682036f377a464736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000049b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000014

-----Decoded View---------------
Arg [0] : _admin (address): 0x49B373D422BdA4C6BfCdd5eC1E48A9a26fdA2F8b
Arg [1] : _buffer (uint256): 60
Arg [2] : _averagePriceUpdateDelay (uint256): 300
Arg [3] : _maxAveragePriceChange (uint256): 20

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000049b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b
Arg [1] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [2] : 000000000000000000000000000000000000000000000000000000000000012c
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000014


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.