ETH Price: $3,119.57 (-5.92%)
 

Overview

ETH Balance

0.023136124856566508 ETH

Eth Value

$72.17 (@ $3,119.57/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute201306392024-06-20 4:44:47226 days ago1718858687IN
DSProxy #199,032
2 ETH0.002335694.90126961
Execute201306262024-06-20 4:41:59226 days ago1718858519IN
DSProxy #199,032
0 ETH0.001076284.73878064
Execute201306122024-06-20 4:39:11226 days ago1718858351IN
DSProxy #199,032
0 ETH0.001120224.93248365
Execute200380402024-06-07 6:04:35239 days ago1717740275IN
DSProxy #199,032
0 ETH0.002100769.24992481
Execute200369772024-06-07 2:31:23239 days ago1717727483IN
DSProxy #199,032
0 ETH0.006518477.96579355
Execute178240382023-08-02 1:29:35549 days ago1690939775IN
DSProxy #199,032
0 ETH0.007225130.28352368
Execute167824432023-03-08 8:46:23696 days ago1678265183IN
DSProxy #199,032
0 ETH0.0027999920.43863547
Execute158348392022-10-26 21:08:59829 days ago1666818539IN
DSProxy #199,032
0 ETH0.0257476633.35176504
Execute157707272022-10-17 22:11:59838 days ago1666044719IN
DSProxy #199,032
0 ETH0.13909761169.33841193
Execute156227792022-09-27 6:02:47858 days ago1664258567IN
DSProxy #199,032
0 ETH0.007381218.7552888
Execute156227682022-09-27 6:00:35858 days ago1664258435IN
DSProxy #199,032
100 ETH0.002262819.05345206
Execute155423082022-09-15 23:19:35870 days ago1663283975IN
DSProxy #199,032
0 ETH0.003638168.69503869
Execute155423032022-09-15 23:18:35870 days ago1663283915IN
DSProxy #199,032
0 ETH0.0035029.10851872
Execute155423002022-09-15 23:17:59870 days ago1663283879IN
DSProxy #199,032
0.125 ETH0.003502029.0388108
Execute155422852022-09-15 23:14:47870 days ago1663283687IN
DSProxy #199,032
2.75 ETH0.004346259.22067442
Execute155421202022-09-15 22:41:11870 days ago1663281671IN
DSProxy #199,032
0 ETH0.0211450512.92434262
Execute154198532022-08-27 5:47:37889 days ago1661579257IN
DSProxy #199,032
0 ETH0.010767348.47044664
Execute153808552022-08-21 0:40:04895 days ago1661042404IN
DSProxy #199,032
0 ETH0.006215644.76154264
Execute153652112022-08-18 13:14:03898 days ago1660828443IN
DSProxy #199,032
0 ETH0.010416158.04074675
Execute153316982022-08-13 5:57:46903 days ago1660370266IN
DSProxy #199,032
0 ETH0.008553146.86473823
Execute152080532022-07-24 22:39:36923 days ago1658702376IN
DSProxy #199,032
0 ETH0.00875187.01957302
Execute151655612022-07-18 8:26:44929 days ago1658132804IN
DSProxy #199,032
0 ETH0.0349727730.09692302
Execute149955322022-06-20 8:21:10957 days ago1655713270IN
DSProxy #199,032
0 ETH0.032428524.69270397
Execute149955262022-06-20 8:20:03957 days ago1655713203IN
DSProxy #199,032
0 ETH0.0349365624.51621889
Execute149955212022-06-20 8:19:01957 days ago1655713141IN
DSProxy #199,032
0 ETH0.0335081422.67322047
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201306392024-06-20 4:44:47226 days ago1718858687
DSProxy #199,032
2 ETH
201306262024-06-20 4:41:59226 days ago1718858519
DSProxy #199,032
111.4 ETH
201306262024-06-20 4:41:59226 days ago1718858519
DSProxy #199,032
111.4 ETH
201306122024-06-20 4:39:11226 days ago1718858351
DSProxy #199,032
1 ETH
201306122024-06-20 4:39:11226 days ago1718858351
DSProxy #199,032
1 ETH
200380402024-06-07 6:04:35239 days ago1717740275
DSProxy #199,032
0.1 ETH
200380402024-06-07 6:04:35239 days ago1717740275
DSProxy #199,032
0.1 ETH
156227682022-09-27 6:00:35858 days ago1664258435
DSProxy #199,032
100 ETH
155423082022-09-15 23:19:35870 days ago1663283975
DSProxy #199,032
103.49909115 ETH
155423082022-09-15 23:19:35870 days ago1663283975
DSProxy #199,032
103.49909115 ETH
155423082022-09-15 23:19:35870 days ago1663283975
DSProxy #199,032
103.49909115 ETH
155423082022-09-15 23:19:35870 days ago1663283975
DSProxy #199,032
103.49909115 ETH
155423002022-09-15 23:17:59870 days ago1663283879
DSProxy #199,032
0.125 ETH
155422852022-09-15 23:14:47870 days ago1663283687
DSProxy #199,032
2.75 ETH
155421202022-09-15 22:41:11870 days ago1663281671
DSProxy #199,032
200 ETH
155421202022-09-15 22:41:11870 days ago1663281671
DSProxy #199,032
200 ETH
154198532022-08-27 5:47:37889 days ago1661579257
DSProxy #199,032
50.73622105 ETH
154198532022-08-27 5:47:37889 days ago1661579257
DSProxy #199,032
50.73622105 ETH
153808552022-08-21 0:40:04895 days ago1661042404
DSProxy #199,032
25.13222388 ETH
153808552022-08-21 0:40:04895 days ago1661042404
DSProxy #199,032
25.13222388 ETH
153652112022-08-18 13:14:03898 days ago1660828443
DSProxy #199,032
25.17201775 ETH
153652112022-08-18 13:14:03898 days ago1660828443
DSProxy #199,032
25.17201775 ETH
153316982022-08-13 5:57:46903 days ago1660370266
DSProxy #199,032
25 ETH
153316982022-08-13 5:57:46903 days ago1660370266
DSProxy #199,032
25 ETH
152080532022-07-24 22:39:36923 days ago1658702376
DSProxy #199,032
25.70833445 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 0x33a189a044fbd681608451c9917fee6b26f2f202.

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.