Contract 0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f7 10

 
Txn Hash Method
Block
From
To
Value
0x613a41789998ce4b9a8094a217c1eae4e73f20c800a3c6c67beb3967e17315b6Transfer1131209642023-12-06 5:31:4513 secs ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000755353180.008556995
0xcabb4541e9c87ef5f624e8876329c7dec313680ca8ee4611bc656bc2dd247496Transfer1131209472023-12-06 5:31:1147 secs ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000780838360.008858424
0x3f7d44ffc9059445af19ebe5377aaef5295bf1ea035dbfaf2de06d36212b272cTransfer1131209292023-12-06 5:30:351 min ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000785152830.008365194
0x9e420f86b5d8484809bb43ad6aa6237ae8c24cb7253fdc4ce6ec96ae8f8e8bdbTransfer1131209112023-12-06 5:29:591 min ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000788232620.008830938
0x8b25560ccce948cb7291b42346f641608bb68706dd96ce31456700d8ef53d85eTransfer1131208772023-12-06 5:28:513 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000741822120.008232023
0x27b67b46545789fc99cb35a5f8b6e029d6f354ded49d15f999a026f40dd209c2Transfer1131208572023-12-06 5:28:113 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000766919310.009145464
0x7d3d913091c5dabe709b3b5f93bdc7db7933a614467c35a2afe1491295368138Transfer1131208392023-12-06 5:27:354 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000749392810.008299858
0x4fc013d33b7f2c4100fe35c25d731ea1a882df14072d752a047f23c576362788Transfer1131208212023-12-06 5:26:594 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000787011910.009236478
0x771f84c4c8706dc1b1ba59c50e8890cd624b6d9154e89e45b3f38fa9bb2b541fTransfer1131208032023-12-06 5:26:235 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000833855320.010361531
0x2e1dd8729cdddd07b3e2ea0c44f3de955d218e7ed35a632ea8f08176b95cc198Transfer1131207852023-12-06 5:25:476 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000792496420.011327248
0xc5855342ae5801e263c5acabb32389138fcba2f6843a4c3a01472c29eeb3fee6Transfer1131207672023-12-06 5:25:116 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000859776980.011677092
0x05d747881a67ec16796f07bdc45a12193e27c5535bc4380ac7c02a27a054cd5cTransfer1131207492023-12-06 5:24:357 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000821268360.012357404
0xabd08502f824f95cadead00412660f3269411ce99b8e51eca0c2917ee088357fTransfer1131207242023-12-06 5:23:458 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000898537630.012622778
0x98d7df3f1f6f8d09003ac24f4f06b302feba0ac2b17008db7aab31b22d828a27Transfer1131207062023-12-06 5:23:098 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000824211370.01290867
0x78486a09a063f3e7efd123fc70df79b3e04292a969132e2b64ac28033d66f62aTransfer1131206892023-12-06 5:22:359 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000854974070.013243229
0x94a654f17a335b5e3b6a9a5cdc605ef6de567c1a5eaf5ac3e93fea3235895cffTransfer1131206702023-12-06 5:21:5710 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000817207020.011539723
0x3f5b38104b6a29ac29a9ea3798f25ddb2c966b6bf28bee11476ebe3e7cb2fda4Transfer1131206522023-12-06 5:21:2110 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000808854310.012381378
0xadeb1fdd3f65ed06ee4b6b17885902b53d64b76e5e836a4e2d80b204f6480f04Transfer1131206342023-12-06 5:20:4511 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000808024050.011908305
0x13fb26ac02e4dc8f788b6fc9e16d1cc57d568d9756b0f166e24368cbc6a26d93Transfer1131206172023-12-06 5:20:1111 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000793129430.011637383
0x0eb1f22764a4fe30c1e949bd406314650794c67c1def37160e8959da8cb62091Transfer1131205982023-12-06 5:19:3312 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000817749280.012358262
0x3c646d5bcf300a438c52099e71cc924c1f90883e9c0a939522bc8ffea3e437ebTransfer1131205802023-12-06 5:18:5713 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000717865950.012186241
0x64174efef3c3a7ee65ab005b0febbcc492f7142a701f6f7637a8c2aa3796f93fTransfer1131205622023-12-06 5:18:2113 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000766970250.012206021
0xc3392582401aabd1b9951a86e7dcf1d0f0f511b3fe99da2bd239ceaebe8cab4bTransfer1131205442023-12-06 5:17:4514 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.000077475620.012738988
0x1b027cee464e6322c3bfece2baa5387dbb0f3220c9321172008801798112cb56Transfer1131205112023-12-06 5:16:3915 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000795626780.01344665
0x7e7e621498112768a9287f4e19bdd1cb51936910153dec6a883cee9b47eb3876Transfer1131204772023-12-06 5:15:3116 mins ago0x7b951a991c73a0ad8645f93a705d06808509ce9f IN  0xe17642a5f4c6c18e0e83d69ba04fdb04028ff7f70 ETH0.0000798219510.011583285
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Similar Match Source Code
This contract matches the deployed ByteCode of the Source Code for Contract 0x3380Cf565B29b367D6F78e79a6C6bb362eC256ed
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
PriceFeedUpdater

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
File 1 of 3 : PriceFeedUpdater.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.7.6;

import { Address } from "@openzeppelin/contracts/utils/Address.sol";
import { IPriceFeedUpdate } from "./interface/IPriceFeedUpdate.sol";

contract PriceFeedUpdater {
    using Address for address;

    address[] internal _priceFeeds;

    constructor(address[] memory priceFeedsArg) {
        // PFU_PFANC: price feed address is not contract
        for (uint256 i = 0; i < priceFeedsArg.length; i++) {
            require(priceFeedsArg[i].isContract(), "PFU_PFANC");
        }

        _priceFeeds = priceFeedsArg;
    }

    //
    // EXTERNAL NON-VIEW
    //

    /* solhint-disable payable-fallback */
    fallback() external {
        for (uint256 i = 0; i < _priceFeeds.length; i++) {
            // Updating PriceFeed might be failed because of price not changed,
            // Add try-catch here to update all markets anyway
            /* solhint-disable no-empty-blocks */
            try IPriceFeedUpdate(_priceFeeds[i]).update() {} catch {}
        }
    }

    //
    // EXTERNAL VIEW
    //

    function getPriceFeeds() external view returns (address[] memory) {
        return _priceFeeds;
    }
}

File 2 of 3 : IPriceFeedUpdate.sol
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.7.6;

interface IPriceFeedUpdate {
    /// @dev Update latest price.
    function update() external;
}

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

pragma solidity >=0.6.2 <0.8.0;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize, which returns 0 for contracts in
        // construction, since the code is only stored at the end of the
        // constructor execution.

        uint256 size;
        // solhint-disable-next-line no-inline-assembly
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success, ) = recipient.call{ value: amount }("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain`call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
      return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.call{ value: value }(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.staticcall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return _verifyCallResult(success, returndata, errorMessage);
    }

    function _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private pure returns(bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                // solhint-disable-next-line no-inline-assembly
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

Settings
{
  "metadata": {
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address[]","name":"priceFeedsArg","type":"address[]"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"getPriceFeeds","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b506040516103893803806103898339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825186602082028301116401000000008211171561008557600080fd5b82525081516020918201928201910280838360005b838110156100b257818101518382015260200161009a565b5050505090500160405250505060005b815181101561013f576100fa8282815181106100da57fe5b60200260200101516001600160a01b031661015a60201b6101641760201c565b610137576040805162461bcd60e51b81526020600482015260096024820152685046555f5046414e4360b81b604482015290519081900360640190fd5b6001016100c2565b508051610153906000906020840190610160565b50506101da565b3b151590565b8280548282559060005260206000209081019282156101b5579160200282015b828111156101b557825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610180565b506101c19291506101c5565b5090565b5b808211156101c157600081556001016101c6565b6101a0806101e96000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80636ca42ae3146100aa575b60005b6000548110156100a7576000818154811061004557fe5b60009182526020822001546040805163a2e6204560e01b815290516001600160a01b039092169263a2e620459260048084019382900301818387803b15801561008d57600080fd5b505af192505050801561009e575060015b5060010161002e565b50005b6100b2610102565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ee5781810151838201526020016100d6565b505050509050019250505060405180910390f35b6060600080548060200260200160405190810160405280929190818152602001828054801561015a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161013c575b5050505050905090565b3b15159056fea2646970667358221220844a3b6b876e739bbd808c055993a22cc35875c2156dc9d2834e0c7b702076dc64736f6c6343000706003300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013000000000000000000000000016becff054ffd6f16727e6070f4a5a1127053a10000000000000000000000000f0890e41daff66b518bb25dcd98b37acc8398740000000000000000000000001635c48cbe5d5a927ef2d0283cc0895a9b6e997a0000000000000000000000001942eba8d0f49d7e9687b40702c4e08a2abab54100000000000000000000000019a4dea5470b2d8e16d9f8d929c0b36fe44113b40000000000000000000000003b0f28ba2c0743d968cc356cf277560108cb3f370000000000000000000000003b3bfe1d3f986dbf34feb25256fef544b0fc46ba0000000000000000000000003e3243ebca4af1c7ddf2d3fcd1cc4b771b98305400000000000000000000000048b6d0b608f330126a04bebc17f976fcfb3a3fd3000000000000000000000000554c7321da41e0dd1a991a8611551623d9b04fcf0000000000000000000000007d462952c003b80fe16bbe826e4ae34cfc4aebb90000000000000000000000008f9acef0cdc067819cf3ce7fbe23148cb1bf851e00000000000000000000000094740ca2c47e13b7b0d3f44fc552ecc880e1d82400000000000000000000000095b00f33d83173059c9ee9c108f9b78d8d35c7e700000000000000000000000099eb05388e5afb15795f63921195094999155971000000000000000000000000bbfa0478ad6e5d5040cd21f7aca64e56ff3426e6000000000000000000000000be7dc0896f0f0580640266ee5228942e15561331000000000000000000000000c6cdc0414cce84021bbf077ec4e35735b1e1222c000000000000000000000000fda08aef411a83140f6ac5fa516ff37482d5e5cb

Deployed ByteCode Sourcemap

208:976:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;715:9;710:323;734:11;:18;730:22;;710:323;;;987:11;999:1;987:14;;;;;;;;;;;;;;;;;970:41;;;-1:-1:-1;;;970:41:0;;;;-1:-1:-1;;;;;987:14:0;;;;970:39;;:41;;;;;;;;;;987:14;;970:41;;;;;;;;;;;;;;;;;;;;;;;;;966:57;754:3;;710:323;;;;208:976;1081:101;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1129:16;1164:11;1157:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1157:18:0;;;;;;;;;;;;;;;;;;;;;;;1081:101;:::o;726:413:2:-;1086:20;1124:8;;;726:413::o

Swarm Source

ipfs://844a3b6b876e739bbd808c055993a22cc35875c2156dc9d2834e0c7b702076dc
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.