ETH Price: $4,052.67 (+4.21%)

Contract

0x94bE9779573802dA3CC2c7851d3fFA804C73A0c2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute159862522022-11-17 0:46:59760 days ago1668646019IN
DSProxy #153,545
0 ETH0.0034273712.30266563
Execute147444852022-05-09 20:34:04952 days ago1652128444IN
DSProxy #153,545
0 ETH0.02021054118.322455
Execute147443102022-05-09 19:57:05952 days ago1652126225IN
DSProxy #153,545
0 ETH0.01273061116.09595234
Execute147191682022-05-05 19:56:48956 days ago1651780608IN
DSProxy #153,545
0 ETH0.035515847.52117962
Execute147183232022-05-05 16:42:29956 days ago1651768949IN
DSProxy #153,545
0 ETH0.0146666388.10112602
Execute146636212022-04-27 1:40:15964 days ago1651023615IN
DSProxy #153,545
0 ETH0.00846150.82450028
Execute146244192022-04-20 21:43:23971 days ago1650491003IN
DSProxy #153,545
0 ETH0.0109782447.81027915
Execute145649002022-04-11 14:20:34980 days ago1649686834IN
DSProxy #153,545
0 ETH0.0079940648.01960247
Execute144305892022-03-21 15:41:541001 days ago1647877314IN
DSProxy #153,545
0 ETH0.0067545829.32222939
Execute144199082022-03-19 23:53:011002 days ago1647733981IN
DSProxy #153,545
0 ETH0.0038887316.93619005
Execute143320362022-03-06 7:35:451016 days ago1646552145IN
DSProxy #153,545
0 ETH0.0039089116.93095724
Execute142974002022-02-28 22:39:491021 days ago1646087989IN
DSProxy #153,545
0 ETH0.03690208173.74107031
Execute142688102022-02-24 12:30:011026 days ago1645705801IN
DSProxy #153,545
0 ETH0.057519476.24645401
Execute142686852022-02-24 12:03:431026 days ago1645704223IN
DSProxy #153,545
0 ETH0.0124990475.08058426
Execute140979792022-01-29 2:28:141052 days ago1643423294IN
DSProxy #153,545
0 ETH0.01749832105.11080427
Execute140716182022-01-25 0:39:461056 days ago1643071186IN
DSProxy #153,545
0 ETH0.04659627219.38394191
Execute140527982022-01-22 2:55:481059 days ago1642820148IN
DSProxy #153,545
0 ETH0.10563093138.15640359
Execute140510872022-01-21 20:32:141060 days ago1642797134IN
DSProxy #153,545
0 ETH0.02961185177.87570855
Execute139680872022-01-09 0:33:101072 days ago1641688390IN
DSProxy #153,545
0 ETH0.0218264195.08184372
Execute139680792022-01-09 0:32:081072 days ago1641688328IN
DSProxy #153,545
0 ETH0.02165203124.15800668
Execute139626662022-01-08 4:41:311073 days ago1641616891IN
DSProxy #153,545
0 ETH0.0166084899.75424387
Execute139418732022-01-04 23:07:291076 days ago1641337649IN
DSProxy #153,545
0 ETH0.02840417133.79768078
Execute138274692021-12-18 6:25:401094 days ago1639808740IN
DSProxy #153,545
0 ETH0.043288557.92212088
Execute137391382021-12-04 9:53:541108 days ago1638611634IN
DSProxy #153,545
0 ETH0.01907014114.55260215
Execute137170542021-11-30 21:00:241112 days ago1638306024IN
DSProxy #153,545
0 ETH0.03354292145.5331922
View all transactions

Latest 24 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
106650192020-08-15 13:53:311584 days ago1597499611
DSProxy #153,545
55.96 ETH
106650192020-08-15 13:53:311584 days ago1597499611
DSProxy #153,545
55.96 ETH
101136882020-05-22 4:50:171669 days ago1590123017
DSProxy #153,545
0.7 ETH
101136842020-05-22 4:49:241669 days ago1590122964
DSProxy #153,545
1 ETH
100727512020-05-15 20:09:171676 days ago1589573357
DSProxy #153,545
0.75 ETH
100091042020-05-05 23:01:201685 days ago1588719680
DSProxy #153,545
2.1 ETH
99375372020-04-24 21:04:471697 days ago1587762287
DSProxy #153,545
1.45 ETH
98464832020-04-10 19:47:021711 days ago1586548022
DSProxy #153,545
1.83 ETH
98023732020-04-04 0:44:081717 days ago1585961048
DSProxy #153,545
1.8 ETH
97892432020-04-02 0:20:051719 days ago1585786805
DSProxy #153,545
10.6 ETH
97572802020-03-28 2:26:351724 days ago1585362395
DSProxy #153,545
3.98 ETH
97314952020-03-24 2:22:031728 days ago1585016523
DSProxy #153,545
0.75 ETH
97314622020-03-24 2:14:241728 days ago1585016064
DSProxy #153,545
2.9 ETH
97181992020-03-22 0:21:051730 days ago1584836465
DSProxy #153,545
1.9 ETH
97115772020-03-20 23:37:091731 days ago1584747429
DSProxy #153,545
2.72 ETH
97046312020-03-19 21:53:141733 days ago1584654794
DSProxy #153,545
1.52 ETH
96966612020-03-18 16:30:141734 days ago1584549014
DSProxy #153,545
3.98 ETH
96932242020-03-18 3:45:381734 days ago1584503138
DSProxy #153,545
17 ETH
96927672020-03-18 2:06:521734 days ago1584497212
DSProxy #153,545
0.98 ETH
95826522020-03-01 3:06:021751 days ago1583031962
DSProxy #153,545
1.75 ETH
95826522020-03-01 3:06:021751 days ago1583031962
DSProxy #153,545
1.75 ETH
95404642020-02-23 15:40:181758 days ago1582472418
DSProxy #153,545
0.75 ETH
95402972020-02-23 14:58:091758 days ago1582469889
DSProxy #153,545
1 ETH
95402712020-02-23 14:54:341758 days ago1582469674  Contract Creation0 ETH
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 0x31df078f87166a8639a9bc5c7500f34b85e8e61e.

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.