Source Code
Latest 25 from a total of 9,071 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Set Global Short... | 359222158 | 147 days ago | IN | 0 ETH | 0.00000088 | ||||
| Set Global Short... | 359220837 | 147 days ago | IN | 0 ETH | 0.00000085 | ||||
| Set Global Short... | 359219512 | 147 days ago | IN | 0 ETH | 0.00000108 | ||||
| Set Global Short... | 359218191 | 147 days ago | IN | 0 ETH | 0.00000062 | ||||
| Set Global Short... | 359216873 | 147 days ago | IN | 0 ETH | 0.00000062 | ||||
| Set Global Short... | 359215554 | 147 days ago | IN | 0 ETH | 0.00000061 | ||||
| Set Global Short... | 359214231 | 147 days ago | IN | 0 ETH | 0.00000063 | ||||
| Set Global Short... | 359212914 | 147 days ago | IN | 0 ETH | 0.0000006 | ||||
| Set Global Short... | 359211591 | 147 days ago | IN | 0 ETH | 0.00000076 | ||||
| Set Global Short... | 359210271 | 147 days ago | IN | 0 ETH | 0.00000253 | ||||
| Set Global Short... | 359208952 | 147 days ago | IN | 0 ETH | 0.00001314 | ||||
| Set Global Short... | 359207627 | 147 days ago | IN | 0 ETH | 0.0000006 | ||||
| Set Global Short... | 359206305 | 147 days ago | IN | 0 ETH | 0.00000063 | ||||
| Set Global Short... | 359204986 | 147 days ago | IN | 0 ETH | 0.00000061 | ||||
| Set Global Short... | 359203673 | 147 days ago | IN | 0 ETH | 0.0000006 | ||||
| Set Global Short... | 359202355 | 147 days ago | IN | 0 ETH | 0.00000063 | ||||
| Set Global Short... | 359201036 | 147 days ago | IN | 0 ETH | 0.00000057 | ||||
| Set Global Short... | 359199702 | 147 days ago | IN | 0 ETH | 0.00000073 | ||||
| Set Global Short... | 359198373 | 147 days ago | IN | 0 ETH | 0.00000061 | ||||
| Set Global Short... | 359197055 | 147 days ago | IN | 0 ETH | 0.00000084 | ||||
| Set Global Short... | 359195739 | 147 days ago | IN | 0 ETH | 0.00000062 | ||||
| Set Global Short... | 359194404 | 147 days ago | IN | 0 ETH | 0.00000058 | ||||
| Set Global Short... | 359193091 | 147 days ago | IN | 0 ETH | 0.00000087 | ||||
| Set Global Short... | 359191766 | 147 days ago | IN | 0 ETH | 0.00000059 | ||||
| Set Global Short... | 359190444 | 147 days ago | IN | 0 ETH | 0.0000006 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 71922701 | 998 days ago | 0 ETH | ||||
| 71922701 | 998 days ago | 0 ETH | ||||
| 71922701 | 998 days ago | 0 ETH | ||||
| 71921462 | 998 days ago | 0 ETH | ||||
| 71921462 | 998 days ago | 0 ETH | ||||
| 71921462 | 998 days ago | 0 ETH | ||||
| 71921232 | 998 days ago | 0 ETH | ||||
| 71921232 | 998 days ago | 0 ETH | ||||
| 71921232 | 998 days ago | 0 ETH | ||||
| 71919957 | 998 days ago | 0 ETH | ||||
| 71919957 | 998 days ago | 0 ETH | ||||
| 71919957 | 998 days ago | 0 ETH | ||||
| 71908877 | 998 days ago | 0 ETH | ||||
| 71908877 | 998 days ago | 0 ETH | ||||
| 71908877 | 998 days ago | 0 ETH | ||||
| 71907475 | 998 days ago | 0 ETH | ||||
| 71907475 | 998 days ago | 0 ETH | ||||
| 71907475 | 998 days ago | 0 ETH | ||||
| 71849838 | 998 days ago | 0 ETH | ||||
| 71849838 | 998 days ago | 0 ETH | ||||
| 71849838 | 998 days ago | 0 ETH | ||||
| 71848517 | 998 days ago | 0 ETH | ||||
| 71848517 | 998 days ago | 0 ETH | ||||
| 71848517 | 998 days ago | 0 ETH | ||||
| 71832909 | 998 days ago | 0 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ShortsTrackerTimelock
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 1 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// 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;
}{
"optimizer": {
"enabled": true,
"runs": 1
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.