Contract 0x4530b7de1958270a2376be192a24175d795e1b07 1

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xe1109b20c09ee485c8cb8fb954a8d7e3c39dcb4c14e7947d9837e2b54af6de34Set Is Price Fee...210313322022-08-23 7:53:3641 days 4 hrs ago0x49b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000068551845 ETH
0x6891afbb6aa2ee3880b8f9d7a6e7b4ca4aa573bf41c409f048bae79c50c3936eSet Is Price Fee...210304762022-08-23 7:40:3241 days 4 hrs ago0x49b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000068551845 ETH
0x3166169e905f81ec8358ed4e45ffb562ef92304671aaad6911a757ffc670e7ebSet Is Price Fee...90196232022-04-01 7:07:11185 days 5 hrs ago0x49b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000300461819 ETH
0x68fd59e118822695868ef357e186a7666a4b35f7b3800e1c2e8dc4e541d12dddSet Is Price Fee...38059852021-12-13 7:12:04294 days 5 hrs ago0x49b373d422bda4c6bfcdd5ec1e48a9a26fda2f8b IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000598918641 ETH
0xd48e8468d6543512f5a64f05e708613925ca24d792ad3bd97e19f29559d2c7e7Set Gov37167502021-12-10 2:55:45297 days 9 hrs agoGMX: Deployer IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000538687821 ETH
0x401ac74a99d1f490918d2042590a57ae8f1239a5505716f1ba61b25d45f38ed3Set Is Price Fee...37167472021-12-10 2:55:45297 days 9 hrs agoGMX: Deployer IN  0x4530b7de1958270a2376be192a24175d795e1b070 ETH0.000706221402 ETH
0x83745b35578c5f164828810543811b63e21461102ea7d2d2309a1e18e2f1ab7a0x6080604037167322021-12-10 2:54:16297 days 9 hrs agoGMX: Deployer IN  Create: FastPriceEvents0 ETH0.006051215635 ETH
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x6d73059a40f93ddb4650075f16c38c96ed0d7e416ab63758c77b79b86c66d049281617342022-10-03 12:28:0133 secs ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x6d73059a40f93ddb4650075f16c38c96ed0d7e416ab63758c77b79b86c66d049281617342022-10-03 12:28:0133 secs ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x6d73059a40f93ddb4650075f16c38c96ed0d7e416ab63758c77b79b86c66d049281617342022-10-03 12:28:0133 secs ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x6d73059a40f93ddb4650075f16c38c96ed0d7e416ab63758c77b79b86c66d049281617342022-10-03 12:28:0133 secs ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x78786c3099d9294223fb830de7cbe3de019cf9f96c62dd31550995b7664188e0281615872022-10-03 12:27:011 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x78786c3099d9294223fb830de7cbe3de019cf9f96c62dd31550995b7664188e0281615872022-10-03 12:27:011 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x78786c3099d9294223fb830de7cbe3de019cf9f96c62dd31550995b7664188e0281615872022-10-03 12:27:011 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x78786c3099d9294223fb830de7cbe3de019cf9f96c62dd31550995b7664188e0281615872022-10-03 12:27:011 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0xa7da56590a2f87f4145a18ba7d8e0c2d97a0ecdad73fcf4cad31a13c35c37dac281615572022-10-03 12:26:501 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0xa7da56590a2f87f4145a18ba7d8e0c2d97a0ecdad73fcf4cad31a13c35c37dac281615572022-10-03 12:26:501 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0xa7da56590a2f87f4145a18ba7d8e0c2d97a0ecdad73fcf4cad31a13c35c37dac281615572022-10-03 12:26:501 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0xa7da56590a2f87f4145a18ba7d8e0c2d97a0ecdad73fcf4cad31a13c35c37dac281615572022-10-03 12:26:501 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x7e41b75609afb632f24c2233f6653debbcf0ae7846adba808fa2ced60cc7018b281615322022-10-03 12:26:411 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x7e41b75609afb632f24c2233f6653debbcf0ae7846adba808fa2ced60cc7018b281615322022-10-03 12:26:411 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x7e41b75609afb632f24c2233f6653debbcf0ae7846adba808fa2ced60cc7018b281615322022-10-03 12:26:411 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x7e41b75609afb632f24c2233f6653debbcf0ae7846adba808fa2ced60cc7018b281615322022-10-03 12:26:411 min ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x45e0c80200b930b833b5c09edbe852cd133d23cfc08bf06bd502d7981e7ac6d4281613402022-10-03 12:25:283 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x45e0c80200b930b833b5c09edbe852cd133d23cfc08bf06bd502d7981e7ac6d4281613402022-10-03 12:25:283 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x45e0c80200b930b833b5c09edbe852cd133d23cfc08bf06bd502d7981e7ac6d4281613402022-10-03 12:25:283 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x45e0c80200b930b833b5c09edbe852cd133d23cfc08bf06bd502d7981e7ac6d4281613402022-10-03 12:25:283 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x35e37e6d1fb1ff2336bdb058f5b2e3d8c28cce6420ec086d27a68eac23ff0468281611202022-10-03 12:24:014 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x35e37e6d1fb1ff2336bdb058f5b2e3d8c28cce6420ec086d27a68eac23ff0468281611202022-10-03 12:24:014 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x35e37e6d1fb1ff2336bdb058f5b2e3d8c28cce6420ec086d27a68eac23ff0468281611202022-10-03 12:24:014 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x35e37e6d1fb1ff2336bdb058f5b2e3d8c28cce6420ec086d27a68eac23ff0468281611202022-10-03 12:24:014 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
0x704a71a600625e935d5733cd649e2817f5e75a498aae1aa71973978d09518661281610032022-10-03 12:23:165 mins ago 0x8960d1b45a2d15d063b84b34dfb2fb2ca7535527 0x4530b7de1958270a2376be192a24175d795e1b070 ETH
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FastPriceEvents

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)

File 1 of 4 : FastPriceEvents.sol
// SPDX-License-Identifier: MIT

import "../libraries/math/SafeMath.sol";

import "./interfaces/IFastPriceEvents.sol";
import "../access/Governable.sol";

pragma solidity 0.6.12;

contract FastPriceEvents is IFastPriceEvents, Governable {

    mapping (address => bool) public isPriceFeed;
    event PriceUpdate(address token, uint256 price, address priceFeed);

    function setIsPriceFeed(address _priceFeed, bool _isPriceFeed) external onlyGov {
      isPriceFeed[_priceFeed] = _isPriceFeed;
    }

    function emitPriceEvent(address _token, uint256 _price) external override {
      require(isPriceFeed[msg.sender], "FastPriceEvents: invalid sender");
      emit PriceUpdate(_token, _price, msg.sender);
    }
}

File 2 of 4 : SafeMath.sol
// 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;
    }
}

File 3 of 4 : IFastPriceEvents.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.6.12;

interface IFastPriceEvents {
    function emitPriceEvent(address _token, uint256 _price) external;
}

File 4 of 4 : Governable.sol
// 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;
    }
}

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

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"address","name":"priceFeed","type":"address"}],"name":"PriceUpdate","type":"event"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"emitPriceEvent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isPriceFeed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_priceFeed","type":"address"},{"internalType":"bool","name":"_isPriceFeed","type":"bool"}],"name":"setIsPriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b03191633179055610341806100326000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806312d43a511461005c57806357a94beb1461008057806369d4c924146100ba578063cfad57a2146100ea578063e0409c7114610110575b600080fd5b61006461013c565b604080516001600160a01b039092168252519081900360200190f35b6100a66004803603602081101561009657600080fd5b50356001600160a01b031661014b565b604080519115158252519081900360200190f35b6100e8600480360360408110156100d057600080fd5b506001600160a01b0381351690602001351515610160565b005b6100e86004803603602081101561010057600080fd5b50356001600160a01b03166101e2565b6100e86004803603604081101561012657600080fd5b506001600160a01b03813516906020013561025b565b6000546001600160a01b031681565b60016020526000908152604090205460ff1681565b6000546001600160a01b031633146101b7576040805162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b604482015290519081900360640190fd5b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610239576040805162461bcd60e51b815260206004820152601560248201527423b7bb32b93730b136329d103337b93134b23232b760591b604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602052604090205460ff166102bf576040805162461bcd60e51b815260206004820152601f60248201527f4661737450726963654576656e74733a20696e76616c69642073656e64657200604482015290519081900360640190fd5b604080516001600160a01b038416815260208101839052338183015290517fc37a77b91cc3fc2d0e4b43fd2f347ec67adda10e39215de4742836cc3e42c97a9181900360600190a1505056fea26469706673582212209cb37efd07e12a654f3c00f30030b1a461d8eba4984abac3b84448460e11828e64736f6c634300060c0033

Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.