ETH Price: $2,095.63 (+0.13%)

Contract

0x7b01F2e680EEB3C7AaC02eb3E47BB5EA9a555E12
 

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
Post108046042020-09-06 0:11:152016 days ago1599351075IN
0x7b01F2e6...A9a555E12
0 ETH0.01834248120
Post108045722020-09-06 0:03:482016 days ago1599350628IN
0x7b01F2e6...A9a555E12
0 ETH0.0179006117.1
Post108045462020-09-05 23:57:372016 days ago1599350257IN
0x7b01F2e6...A9a555E12
0 ETH0.01773106116
Post108045032020-09-05 23:49:212016 days ago1599349761IN
0x7b01F2e6...A9a555E12
0 ETH0.01788532117
Post108044532020-09-05 23:39:492016 days ago1599349189IN
0x7b01F2e6...A9a555E12
0 ETH0.01772282116
Post108044372020-09-05 23:36:582016 days ago1599349018IN
0x7b01F2e6...A9a555E12
0 ETH0.02094813132.25
Post108043002020-09-05 23:07:222016 days ago1599347242IN
0x7b01F2e6...A9a555E12
0 ETH0.02164847138
Post108042882020-09-05 23:03:172016 days ago1599346997IN
0x7b01F2e6...A9a555E12
0 ETH0.02080982136.85
Post108042682020-09-05 22:57:412016 days ago1599346661IN
0x7b01F2e6...A9a555E12
0 ETH0.01834956119
Post108042442020-09-05 22:51:002016 days ago1599346260IN
0x7b01F2e6...A9a555E12
0 ETH0.01728958110
Post108041852020-09-05 22:36:502016 days ago1599345410IN
0x7b01F2e6...A9a555E12
0 ETH0.01675808109.98932052
Post108040302020-09-05 22:04:032016 days ago1599343443IN
0x7b01F2e6...A9a555E12
0 ETH0.01745171115.11
Post108039402020-09-05 21:39:572016 days ago1599341997IN
0x7b01F2e6...A9a555E12
0 ETH0.0150101100
Post108039002020-09-05 21:34:412016 days ago1599341681IN
0x7b01F2e6...A9a555E12
0 ETH0.01774323115
Post108037722020-09-05 21:05:172016 days ago1599339917IN
0x7b01F2e6...A9a555E12
0 ETH0.02005187132.25
Post108036602020-09-05 20:42:322016 days ago1599338552IN
0x7b01F2e6...A9a555E12
0 ETH0.03337297219
Post108036342020-09-05 20:36:302016 days ago1599338190IN
0x7b01F2e6...A9a555E12
0 ETH0.04136111277.03730254
Post108035752020-09-05 20:20:552016 days ago1599337255IN
0x7b01F2e6...A9a555E12
0 ETH0.06006069405
Post108035422020-09-05 20:15:092016 days ago1599336909IN
0x7b01F2e6...A9a555E12
0 ETH0.05957226405
Post108035112020-09-05 20:08:002016 days ago1599336480IN
0x7b01F2e6...A9a555E12
0 ETH0.06053182398
Post108034692020-09-05 19:57:252016 days ago1599335845IN
0x7b01F2e6...A9a555E12
0 ETH0.05802654390
Post108034252020-09-05 19:49:232016 days ago1599335363IN
0x7b01F2e6...A9a555E12
0 ETH0.05908018405.00000145
Post108033842020-09-05 19:38:522016 days ago1599334732IN
0x7b01F2e6...A9a555E12
0 ETH0.05587813385
Post108033442020-09-05 19:29:352016 days ago1599334175IN
0x7b01F2e6...A9a555E12
0 ETH0.04931892315
Post108031562020-09-05 18:50:532016 days ago1599331853IN
0x7b01F2e6...A9a555E12
0 ETH0.04511402291
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer46947862017-12-08 4:42:253018 days ago1512708145  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xbE4A09d4...476fb211c
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
PriceFeed

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-10-19
*/

/// price-feed.sol

// Copyright (C) 2017  DappHub, LLC

// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND (express or implied).

pragma solidity ^0.4.17;

contract DSAuthority {
    function canCall(
        address src, address dst, bytes4 sig
    ) public view returns (bool);
}

contract DSAuthEvents {
    event LogSetAuthority (address indexed authority);
    event LogSetOwner     (address indexed owner);
}

contract DSAuth is DSAuthEvents {
    DSAuthority  public  authority;
    address      public  owner;

    function DSAuth() public {
        owner = msg.sender;
        LogSetOwner(msg.sender);
    }

    function setOwner(address owner_)
        public
        auth
    {
        owner = owner_;
        LogSetOwner(owner);
    }

    function setAuthority(DSAuthority authority_)
        public
        auth
    {
        authority = authority_;
        LogSetAuthority(authority);
    }

    modifier auth {
        require(isAuthorized(msg.sender, msg.sig));
        _;
    }

    function isAuthorized(address src, bytes4 sig) internal view returns (bool) {
        if (src == address(this)) {
            return true;
        } else if (src == owner) {
            return true;
        } else if (authority == DSAuthority(0)) {
            return false;
        } else {
            return authority.canCall(src, this, sig);
        }
    }
}

contract DSNote {
    event LogNote(
        bytes4   indexed  sig,
        address  indexed  guy,
        bytes32  indexed  foo,
        bytes32  indexed  bar,
        uint              wad,
        bytes             fax
    ) anonymous;

    modifier note {
        bytes32 foo;
        bytes32 bar;

        assembly {
            foo := calldataload(4)
            bar := calldataload(36)
        }

        LogNote(msg.sig, msg.sender, foo, bar, msg.value, msg.data);

        _;
    }
}

contract DSMath {
    function add(uint x, uint y) internal pure returns (uint z) {
        require((z = x + y) >= x);
    }
    function sub(uint x, uint y) internal pure returns (uint z) {
        require((z = x - y) <= x);
    }
    function mul(uint x, uint y) internal pure returns (uint z) {
        require(y == 0 || (z = x * y) / y == x);
    }

    function min(uint x, uint y) internal pure returns (uint z) {
        return x <= y ? x : y;
    }
    function max(uint x, uint y) internal pure returns (uint z) {
        return x >= y ? x : y;
    }
    function imin(int x, int y) internal pure returns (int z) {
        return x <= y ? x : y;
    }
    function imax(int x, int y) internal pure returns (int z) {
        return x >= y ? x : y;
    }

    uint constant WAD = 10 ** 18;
    uint constant RAY = 10 ** 27;

    function wmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), WAD / 2) / WAD;
    }
    function rmul(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, y), RAY / 2) / RAY;
    }
    function wdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, WAD), y / 2) / y;
    }
    function rdiv(uint x, uint y) internal pure returns (uint z) {
        z = add(mul(x, RAY), y / 2) / y;
    }

    // This famous algorithm is called "exponentiation by squaring"
    // and calculates x^n with x as fixed-point and n as regular unsigned.
    //
    // It's O(log n), instead of O(n) for naive repeated multiplication.
    //
    // These facts are why it works:
    //
    //  If n is even, then x^n = (x^2)^(n/2).
    //  If n is odd,  then x^n = x * x^(n-1),
    //   and applying the equation for even x gives
    //    x^n = x * (x^2)^((n-1) / 2).
    //
    //  Also, EVM division is flooring and
    //    floor[(n-1) / 2] = floor[n / 2].
    //
    function rpow(uint x, uint n) internal pure returns (uint z) {
        z = n % 2 != 0 ? x : RAY;

        for (n /= 2; n != 0; n /= 2) {
            x = rmul(x, x);

            if (n % 2 != 0) {
                z = rmul(z, x);
            }
        }
    }
}

contract DSThing is DSAuth, DSNote, DSMath {
}

contract PriceFeed is DSThing {

    uint128 val;
    uint32 public zzz;

    function peek() public view
        returns (bytes32,bool)
    {
        return (bytes32(val), now < zzz);
    }

    function read() public view
        returns (bytes32)
    {
        assert(now < zzz);
        return bytes32(val);
    }

    function post(uint128 val_, uint32 zzz_, address med_) public note auth
    {
        val = val_;
        zzz = zzz_;
        bool ret = med_.call(bytes4(keccak256("poke()")));
        ret;
    }

    function void() public note auth
    {
        zzz = 0;
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"read","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"peek","outputs":[{"name":"","type":"bytes32"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"val_","type":"uint128"},{"name":"zzz_","type":"uint32"},{"name":"med_","type":"address"}],"name":"post","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"authority_","type":"address"}],"name":"setAuthority","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"zzz","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"void","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":true,"inputs":[{"indexed":true,"name":"sig","type":"bytes4"},{"indexed":true,"name":"guy","type":"address"},{"indexed":true,"name":"foo","type":"bytes32"},{"indexed":true,"name":"bar","type":"bytes32"},{"indexed":false,"name":"wad","type":"uint256"},{"indexed":false,"name":"fax","type":"bytes"}],"name":"LogNote","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"authority","type":"address"}],"name":"LogSetAuthority","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"}],"name":"LogSetOwner","type":"event"}]

0x6060604090815260018054600160a060020a03191633600160a060020a0316908117909155907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed94905160405180910390a261068e8061005f6000396000f30060606040526004361061007f5763ffffffff60e060020a60003504166313af4035811461008457806357de26a4146100a557806359e02dd7146100ca5780635a686699146100f75780637a9e5e4b146101345780638da5cb5b14610153578063a4dff0a214610182578063ac4c25b2146101ae578063bf7e214f146101c1575b600080fd5b341561008f57600080fd5b6100a3600160a060020a03600435166101d4565b005b34156100b057600080fd5b6100b8610253565b60405190815260200160405180910390f35b34156100d557600080fd5b6100dd610294565b604051918252151560208201526040908101905180910390f35b341561010257600080fd5b6100a36fffffffffffffffffffffffffffffffff6004351663ffffffff60243516600160a060020a03604435166102cb565b341561013f57600080fd5b6100a3600160a060020a0360043516610415565b341561015e57600080fd5b610166610494565b604051600160a060020a03909116815260200160405180910390f35b341561018d57600080fd5b6101956104a3565b60405163ffffffff909116815260200160405180910390f35b34156101b957600080fd5b6100a36104c3565b34156101cc57600080fd5b61016661055b565b6101ea33600035600160e060020a03191661056a565b15156101f557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b600254600090700100000000000000000000000000000000900463ffffffff16421061027b57fe5b506002546fffffffffffffffffffffffffffffffff1690565b6002546fffffffffffffffffffffffffffffffff81169170010000000000000000000000000000000090910463ffffffff16421090565b60006004356024358082600160a060020a033316600160e060020a031986351634873660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a461033633600035600160e060020a03191661056a565b151561034157600080fd5b600280546fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff88161773ffffffff00000000000000000000000000000000191670010000000000000000000000000000000063ffffffff881602179055600160a060020a0384166040517f706f6b65282900000000000000000000000000000000000000000000000000008152600601604051809103902060e060020a90046040518163ffffffff1660e060020a02815260040160006040518083038160008761646e5a03f150505050505050505050565b61042b33600035600160e060020a03191661056a565b151561043657600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600154600160a060020a031681565b600254700100000000000000000000000000000000900463ffffffff1681565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a461052f33600035600160e060020a03191661056a565b151561053a57600080fd5b50506002805473ffffffff0000000000000000000000000000000019169055565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a0316141561058e5750600161065c565b600154600160a060020a03848116911614156105ac5750600161065c565b600054600160a060020a031615156105c65750600061065c565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561063f57600080fd5b6102c65a03f1151561065057600080fd5b50505060405180519150505b929150505600a165627a7a723058207e8b261b5f4aca277f59fcd343a4d96b18b0857d17b441e0967d7e7dc14958bf0029

Deployed Bytecode

0x60606040526004361061007f5763ffffffff60e060020a60003504166313af4035811461008457806357de26a4146100a557806359e02dd7146100ca5780635a686699146100f75780637a9e5e4b146101345780638da5cb5b14610153578063a4dff0a214610182578063ac4c25b2146101ae578063bf7e214f146101c1575b600080fd5b341561008f57600080fd5b6100a3600160a060020a03600435166101d4565b005b34156100b057600080fd5b6100b8610253565b60405190815260200160405180910390f35b34156100d557600080fd5b6100dd610294565b604051918252151560208201526040908101905180910390f35b341561010257600080fd5b6100a36fffffffffffffffffffffffffffffffff6004351663ffffffff60243516600160a060020a03604435166102cb565b341561013f57600080fd5b6100a3600160a060020a0360043516610415565b341561015e57600080fd5b610166610494565b604051600160a060020a03909116815260200160405180910390f35b341561018d57600080fd5b6101956104a3565b60405163ffffffff909116815260200160405180910390f35b34156101b957600080fd5b6100a36104c3565b34156101cc57600080fd5b61016661055b565b6101ea33600035600160e060020a03191661056a565b15156101f557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b600254600090700100000000000000000000000000000000900463ffffffff16421061027b57fe5b506002546fffffffffffffffffffffffffffffffff1690565b6002546fffffffffffffffffffffffffffffffff81169170010000000000000000000000000000000090910463ffffffff16421090565b60006004356024358082600160a060020a033316600160e060020a031986351634873660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a461033633600035600160e060020a03191661056a565b151561034157600080fd5b600280546fffffffffffffffffffffffffffffffff19166fffffffffffffffffffffffffffffffff88161773ffffffff00000000000000000000000000000000191670010000000000000000000000000000000063ffffffff881602179055600160a060020a0384166040517f706f6b65282900000000000000000000000000000000000000000000000000008152600601604051809103902060e060020a90046040518163ffffffff1660e060020a02815260040160006040518083038160008761646e5a03f150505050505050505050565b61042b33600035600160e060020a03191661056a565b151561043657600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600154600160a060020a031681565b600254700100000000000000000000000000000000900463ffffffff1681565b600435602435808233600160a060020a031660008035600160e060020a0319169034903660405183815260406020820181815290820183905260608201848480828437820191505094505050505060405180910390a461052f33600035600160e060020a03191661056a565b151561053a57600080fd5b50506002805473ffffffff0000000000000000000000000000000019169055565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a0316141561058e5750600161065c565b600154600160a060020a03848116911614156105ac5750600161065c565b600054600160a060020a031615156105c65750600061065c565b60008054600160a060020a03169063b7009613908590309086906040516020015260405160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152600160e060020a03199091166044820152606401602060405180830381600087803b151561063f57600080fd5b6102c65a03f1151561065057600080fd5b50505060405180519150505b929150505600a165627a7a723058207e8b261b5f4aca277f59fcd343a4d96b18b0857d17b441e0967d7e7dc14958bf0029

Swarm Source

bzzr://7e8b261b5f4aca277f59fcd343a4d96b18b0857d17b441e0967d7e7dc14958bf

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.