ETH Price: $2,579.30 (-2.53%)

Contract

0x3e3379fC425DaAAb493Eb6bF52340929C7852c0f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute204745342024-08-07 5:14:3514 days ago1723007675IN
DSProxy #207,201
20 ETH0.000219531.3399886
Execute204745192024-08-07 5:11:3514 days ago1723007495IN
DSProxy #207,201
0 ETH0.000317431.38034265
Execute204619982024-08-05 11:14:4716 days ago1722856487IN
DSProxy #207,201
0 ETH0.0043516929.48781886
Execute204604512024-08-05 6:03:3516 days ago1722837815IN
DSProxy #207,201
0 ETH0.0046083227.67865431
Execute204598722024-08-05 4:07:3516 days ago1722830855IN
DSProxy #207,201
0 ETH0.0058712435.26400713
Execute204598352024-08-05 4:00:1116 days ago1722830411IN
DSProxy #207,201
0 ETH0.004664928.01844894
Execute204598202024-08-05 3:57:1116 days ago1722830231IN
DSProxy #207,201
5.5 ETH0.0046850428.59663681
Execute204595802024-08-05 3:08:5916 days ago1722827339IN
DSProxy #207,201
0 ETH0.011653869.99532568
Execute204594122024-08-05 2:35:2316 days ago1722825323IN
DSProxy #207,201
0 ETH0.02611673156.86291235
Execute204593672024-08-05 2:26:2316 days ago1722824783IN
DSProxy #207,201
0 ETH0.0342216205.54256251
Execute204593412024-08-05 2:21:1116 days ago1722824471IN
DSProxy #207,201
0 ETH0.0506519304.20835324
Execute204592092024-08-05 1:54:4716 days ago1722822887IN
DSProxy #207,201
0 ETH0.0344169206.72801047
Execute204592002024-08-05 1:52:5916 days ago1722822779IN
DSProxy #207,201
0 ETH0.04619025217.69477545
Execute204567872024-08-04 17:48:5916 days ago1722793739IN
DSProxy #207,201
0 ETH0.0114771368.93006857
Execute203133912024-07-15 17:26:1136 days ago1721064371IN
DSProxy #207,201
0 ETH0.0057050524.81546661
Execute202187232024-07-02 12:06:1150 days ago1719921971IN
DSProxy #207,201
0 ETH0.001173825.10428673
Execute200772842024-06-12 17:37:1169 days ago1718213831IN
DSProxy #207,201
0 ETH0.003517715.30034033
Execute194269282024-03-13 15:05:11160 days ago1710342311IN
DSProxy #207,201
4 ETH0.0204780569.69426407
Execute194048092024-03-10 12:51:47164 days ago1710075107IN
DSProxy #207,201
0 ETH0.0112090548.77850408
Execute192899902024-02-23 11:27:35180 days ago1708687655IN
DSProxy #207,201
40 ETH0.0094884532.2664298
Execute187067062023-12-03 15:18:35261 days ago1701616715IN
DSProxy #207,201
0 ETH0.0097621442.39712284
Execute187005942023-12-02 18:45:11262 days ago1701542711IN
DSProxy #207,201
0 ETH0.0078756934.39286259
Execute186903542023-12-01 8:23:59264 days ago1701419039IN
DSProxy #207,201
0 ETH0.0052404529.52119619
Execute186757972023-11-29 7:32:23266 days ago1701243143IN
DSProxy #207,201
0 ETH0.0078562634.23941143
Execute185794402023-11-15 19:42:23279 days ago1700077343IN
DSProxy #207,201
55 ETH0.0073143344.64535827
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
204745342024-08-07 5:14:3514 days ago1723007675
DSProxy #207,201
20 ETH
204598202024-08-05 3:57:1116 days ago1722830231
DSProxy #207,201
5.5 ETH
194269282024-03-13 15:05:11160 days ago1710342311
DSProxy #207,201
4 ETH
192899902024-02-23 11:27:35180 days ago1708687655
DSProxy #207,201
40 ETH
186903542023-12-01 8:23:59264 days ago1701419039
DSProxy #207,201
10 ETH
186903542023-12-01 8:23:59264 days ago1701419039
DSProxy #207,201
10 ETH
185794402023-11-15 19:42:23279 days ago1700077343
DSProxy #207,201
55 ETH
185794232023-11-15 19:38:59279 days ago1700077139
DSProxy #207,201
20 ETH
185343712023-11-09 12:24:47286 days ago1699532687
DSProxy #207,201
250 ETH
185126602023-11-06 11:31:59289 days ago1699270319
DSProxy #207,201
400 ETH
153024762022-08-08 15:56:22743 days ago1659974182
DSProxy #207,201
217 ETH
153024762022-08-08 15:56:22743 days ago1659974182
DSProxy #207,201
217 ETH
151750872022-07-19 19:53:32763 days ago1658260412
DSProxy #207,201
400 ETH
151750872022-07-19 19:53:32763 days ago1658260412
DSProxy #207,201
400 ETH
151750072022-07-19 19:36:32763 days ago1658259392
DSProxy #207,201
20 ETH
151750072022-07-19 19:36:32763 days ago1658259392
DSProxy #207,201
20 ETH
151657492022-07-18 9:11:54765 days ago1658135514
DSProxy #207,201
30 ETH
151657492022-07-18 9:11:54765 days ago1658135514
DSProxy #207,201
30 ETH
149549632022-06-13 8:16:56800 days ago1655108216
DSProxy #207,201
150 ETH
149549632022-06-13 8:16:56800 days ago1655108216
DSProxy #207,201
150 ETH
147549062022-05-11 12:40:16833 days ago1652272816
DSProxy #207,201
68 ETH
146242052022-04-20 20:58:45853 days ago1650488325
DSProxy #207,201
100 ETH
145668202022-04-11 21:37:35862 days ago1649713055
DSProxy #207,201
9 ETH
144771332022-03-28 21:37:15876 days ago1648503435
DSProxy #207,201
640 ETH
143328782022-03-06 10:48:46899 days ago1646563726
DSProxy #207,201
799 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 0xa7b629760165c4dd9633c08b75e9fccc5b84097c.

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.