ETH Price: $2,497.57 (-1.24%)

Contract

0xC4F001780A3FbBb863A6c9484107A58204e5454e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute102703402020-06-15 12:37:021537 days ago1592224622IN
DSProxy #151,509
0 ETH0.0056001926
Execute102678762020-06-15 3:27:101537 days ago1592191630IN
DSProxy #151,509
0.00405 ETH0.0239470527
Execute99710532020-04-30 1:42:131583 days ago1588210933IN
DSProxy #151,509
14 ETH0.001090958
Execute99710372020-04-30 1:38:541583 days ago1588210734IN
DSProxy #151,509
0 ETH0.001663668
Execute98970922020-04-18 15:01:591595 days ago1587222119IN
DSProxy #151,509
22.5 ETH0.0018000713.2
Execute98968982020-04-18 14:18:591595 days ago1587219539IN
DSProxy #151,509
0 ETH0.0030466213.2
Execute98967272020-04-18 13:39:131595 days ago1587217153IN
DSProxy #151,509
59 ETH0.0019973813.2
Execute96824492020-03-16 11:59:351628 days ago1584359975IN
DSProxy #151,509
0 ETH0.0101245547
Execute96824272020-03-16 11:55:421628 days ago1584359742IN
DSProxy #151,509
0.0141 ETH0.0541963731
Execute96824272020-03-16 11:55:421628 days ago1584359742IN
DSProxy #151,509
0.00705 ETH0.0440588431
Execute96398842020-03-09 22:18:111634 days ago1583792291IN
DSProxy #151,509
0.0015 ETH0.010889315
Execute96398782020-03-09 22:16:391634 days ago1583792199IN
DSProxy #151,509
0.0015 ETH0.012232575
Execute96398392020-03-09 22:04:251634 days ago1583791465IN
DSProxy #151,509
0.0024 ETH0.007567615
Execute96245732020-03-07 13:42:521637 days ago1583588572IN
DSProxy #151,509
12.3 ETH0.001090958
Execute96245602020-03-07 13:39:161637 days ago1583588356IN
DSProxy #151,509
0 ETH0.001726448
Execute95655512020-02-27 11:55:271646 days ago1582804527IN
DSProxy #151,509
14 ETH0.001090958
Execute95655442020-02-27 11:53:241646 days ago1582804404IN
DSProxy #151,509
0 ETH0.001733328
Execute95655382020-02-27 11:52:161646 days ago1582804336IN
DSProxy #151,509
12 ETH0.001090958
Execute95243322020-02-21 3:52:251652 days ago1582257145IN
DSProxy #151,509
30 ETH0.001227329
Execute95243222020-02-21 3:50:081652 days ago1582257008IN
DSProxy #151,509
0 ETH0.002079919
Execute95242332020-02-21 3:32:051652 days ago1582255925IN
DSProxy #151,509
65 ETH0.001361859
Execute95202732020-02-20 13:07:261653 days ago1582204046IN
DSProxy #151,509
0 ETH0.001938529
Execute95202632020-02-20 13:04:491653 days ago1582203889IN
DSProxy #151,509
0 ETH0.001539369
Execute95202402020-02-20 13:00:021653 days ago1582203602IN
DSProxy #151,509
0 ETH0.00210159
Execute94750212020-02-13 13:48:151660 days ago1581601695IN
DSProxy #151,509
4.4 ETH0.001090958
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
102703402020-06-15 12:37:021537 days ago1592224622
DSProxy #151,509
64.11 ETH
102703402020-06-15 12:37:021537 days ago1592224622
DSProxy #151,509
64.11 ETH
102678762020-06-15 3:27:101537 days ago1592191630
DSProxy #151,509
0.00405 ETH
102678762020-06-15 3:27:101537 days ago1592191630
DSProxy #151,509
31.39 ETH
102678762020-06-15 3:27:101537 days ago1592191630
DSProxy #151,509
31.39 ETH
99710532020-04-30 1:42:131583 days ago1588210933
DSProxy #151,509
14 ETH
98970922020-04-18 15:01:591595 days ago1587222119
DSProxy #151,509
22.5 ETH
98967272020-04-18 13:39:131595 days ago1587217153
DSProxy #151,509
59 ETH
96824492020-03-16 11:59:351628 days ago1584359975
DSProxy #151,509
45.31851593 ETH
96824492020-03-16 11:59:351628 days ago1584359975
DSProxy #151,509
45.31851593 ETH
96824272020-03-16 11:55:421628 days ago1584359742
DSProxy #151,509
29.67160818 ETH
96824272020-03-16 11:55:421628 days ago1584359742
DSProxy #151,509
29.65750818 ETH
96824272020-03-16 11:55:421628 days ago1584359742
DSProxy #151,509
0.00705 ETH
96824272020-03-16 11:55:421628 days ago1584359742
DSProxy #151,509
29.68148406 ETH
96824272020-03-16 11:55:421628 days ago1584359742
DSProxy #151,509
29.68148406 ETH
96398842020-03-09 22:18:111634 days ago1583792291
DSProxy #151,509
23.91075 ETH
96398842020-03-09 22:18:111634 days ago1583792291
DSProxy #151,509
23.91075 ETH
96398842020-03-09 22:18:111634 days ago1583792291
DSProxy #151,509
31.9115 ETH
96398842020-03-09 22:18:111634 days ago1583792291
DSProxy #151,509
31.91 ETH
96398782020-03-09 22:16:391634 days ago1583792199
DSProxy #151,509
2.02089757 ETH
96398782020-03-09 22:16:391634 days ago1583792199
DSProxy #151,509
2.02089757 ETH
96398782020-03-09 22:16:391634 days ago1583792199
DSProxy #151,509
31.9115 ETH
96398782020-03-09 22:16:391634 days ago1583792199
DSProxy #151,509
31.91 ETH
96398392020-03-09 22:04:251634 days ago1583791465
DSProxy #151,509
21.65973361 ETH
96398392020-03-09 22:04:251634 days ago1583791465
DSProxy #151,509
21.65973361 ETH
View All Internal Transactions
Loading...
Loading

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

Contract Name:
DSProxy

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-09-06
*/

// proxy.sol - execute actions atomically through the proxy's identity

// Copyright (C) 2017  DappHub, LLC

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

pragma solidity ^0.4.23;

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;

    constructor() public {
        owner = msg.sender;
        emit LogSetOwner(msg.sender);
    }

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

    function setAuthority(DSAuthority authority_)
        public
        auth
    {
        authority = authority_;
        emit 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)
        }

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

        _;
    }
}

// DSProxy
// Allows code execution using a persistant identity This can be very
// useful to execute a sequence of atomic actions. Since the owner of
// the proxy can be changed, this allows for dynamic ownership models
// i.e. a multisig
contract DSProxy is DSAuth, DSNote {
    DSProxyCache public cache;  // global cache for contracts

    constructor(address _cacheAddr) public {
        require(setCache(_cacheAddr));
    }

    function() public payable {
    }

    // use the proxy to execute calldata _data on contract _code
    function execute(bytes _code, bytes _data)
        public
        payable
        returns (address target, bytes32 response)
    {
        target = cache.read(_code);
        if (target == 0x0) {
            // deploy contract & store its address in cache
            target = cache.write(_code);
        }

        response = execute(target, _data);
    }

    function execute(address _target, bytes _data)
        public
        auth
        note
        payable
        returns (bytes32 response)
    {
        require(_target != 0x0);

        // call contract in current context
        assembly {
            let succeeded := delegatecall(sub(gas, 5000), _target, add(_data, 0x20), mload(_data), 0, 32)
            response := mload(0)      // load delegatecall output
            switch iszero(succeeded)
            case 1 {
                // throw if delegatecall failed
                revert(0, 0)
            }
        }
    }

    //set new cache
    function setCache(address _cacheAddr)
        public
        auth
        note
        returns (bool)
    {
        require(_cacheAddr != 0x0);        // invalid cache address
        cache = DSProxyCache(_cacheAddr);  // overwrite cache
        return true;
    }
}

// DSProxyFactory
// This factory deploys new proxy instances through build()
// Deployed proxy addresses are logged
contract DSProxyFactory {
    event Created(address indexed sender, address indexed owner, address proxy, address cache);
    mapping(address=>bool) public isProxy;
    DSProxyCache public cache = new DSProxyCache();

    // deploys a new proxy instance
    // sets owner of proxy to caller
    function build() public returns (DSProxy proxy) {
        proxy = build(msg.sender);
    }

    // deploys a new proxy instance
    // sets custom owner of proxy
    function build(address owner) public returns (DSProxy proxy) {
        proxy = new DSProxy(cache);
        emit Created(msg.sender, owner, address(proxy), address(cache));
        proxy.setOwner(owner);
        isProxy[proxy] = true;
    }
}

// DSProxyCache
// This global cache stores addresses of contracts previously deployed
// by a proxy. This saves gas from repeat deployment of the same
// contracts and eliminates blockchain bloat.

// By default, all proxies deployed from the same factory store
// contracts in the same cache. The cache a proxy instance uses can be
// changed.  The cache uses the sha3 hash of a contract's bytecode to
// lookup the address
contract DSProxyCache {
    mapping(bytes32 => address) cache;

    function read(bytes _code) public view returns (address) {
        bytes32 hash = keccak256(_code);
        return cache[hash];
    }

    function write(bytes _code) public returns (address target) {
        assembly {
            target := create(0, add(_code, 0x20), mload(_code))
            switch iszero(extcodesize(target))
            case 1 {
                // throw if contract failed to deploy
                revert(0, 0)
            }
        }
        bytes32 hash = keccak256(_code);
        cache[hash] = target;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"owner_","type":"address"}],"name":"setOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_data","type":"bytes"}],"name":"execute","outputs":[{"name":"response","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_code","type":"bytes"},{"name":"_data","type":"bytes"}],"name":"execute","outputs":[{"name":"target","type":"address"},{"name":"response","type":"bytes32"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"cache","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_cacheAddr","type":"address"}],"name":"setCache","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"authority","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_cacheAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"}]

Deployed Bytecode

0x60806040526004361061008d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461008f5780631cff79cd146100b05780631f6a1eb91461011c57806360c7d295146101c95780637a9e5e4b146101fa5780638da5cb5b1461021b578063948f507614610230578063bf7e214f14610265575b005b34801561009b57600080fd5b5061008d600160a060020a036004351661027a565b60408051602060046024803582810135601f810185900485028601850190965285855261010a958335600160a060020a03169536956044949193909101919081908401838280828437509497506102f89650505050505050565b60408051918252519081900360200190f35b6040805160206004803580820135601f81018490048402850184019095528484526101a694369492936024939284019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a9998810197919650918201945092508291508401838280828437509497506103be9650505050505050565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156101d557600080fd5b506101de6105ce565b60408051600160a060020a039092168252519081900360200190f35b34801561020657600080fd5b5061008d600160a060020a03600435166105dd565b34801561022757600080fd5b506101de610657565b34801561023c57600080fd5b50610251600160a060020a0360043516610666565b604080519115158252519081900360200190f35b34801561027157600080fd5b506101de61072d565b61029033600035600160e060020a03191661073c565b151561029b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600061031033600035600160e060020a03191661073c565b151561031b57600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a038516151561038a57600080fd5b60206000855160208701886113885a03f460005193508015600181146103af576103b4565b600080fd5b5050505092915050565b6002546040517f8bf4515c0000000000000000000000000000000000000000000000000000000081526020600482018181528551602484015285516000948594600160a060020a0390911693638bf4515c93899390928392604490910191908501908083838b5b8381101561043d578181015183820152602001610425565b50505050905090810190601f16801561046a5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561048957600080fd5b505af115801561049d573d6000803e3d6000fd5b505050506040513d60208110156104b357600080fd5b50519150600160a060020a03821615156105bb576002546040517f7ed0c3b2000000000000000000000000000000000000000000000000000000008152602060048201818152875160248401528751600160a060020a0390941693637ed0c3b293899383926044909201919085019080838360005b83811015610540578181015183820152602001610528565b50505050905090810190601f16801561056d5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561058c57600080fd5b505af11580156105a0573d6000803e3d6000fd5b505050506040513d60208110156105b657600080fd5b505191505b6105c582846102f8565b90509250929050565b600254600160a060020a031681565b6105f333600035600160e060020a03191661073c565b15156105fe57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b600154600160a060020a031681565b600061067e33600035600160e060020a03191661073c565b151561068957600080fd5b6040805134808252602082018381523693830184905260043593602435938493869333600160a060020a03169360008035600160e060020a031916949092606082018484808284376040519201829003965090945050505050a4600160a060020a03841615156106f857600080fd5b60028054600160a060020a03861673ffffffffffffffffffffffffffffffffffffffff19909116179055600192505050919050565b600054600160a060020a031681565b600030600160a060020a031683600160a060020a031614156107605750600161084a565b600154600160a060020a038481169116141561077e5750600161084a565b600054600160a060020a031615156107985750600061084a565b60008054604080517fb7009613000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301523081166024830152600160e060020a0319871660448301529151919092169263b700961392606480820193602093909283900390910190829087803b15801561081b57600080fd5b505af115801561082f573d6000803e3d6000fd5b505050506040513d602081101561084557600080fd5b505190505b929150505600a165627a7a72305820e498874c9ba9e75028e0c84f1b1d83b2dad5de910c59b837b32e5a190794c5e10029

Swarm Source

bzzr://e498874c9ba9e75028e0c84f1b1d83b2dad5de910c59b837b32e5a190794c5e1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

The proxy contract address for 0x9defb3a8669ddb9bd20ed5478753a29ab6e55a31.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.