ETH Price: $3,674.22 (+1.53%)

Contract

0xF0649a7b51eAd80eaBDc7cA2acE638771CBB0016
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute143451062022-03-08 8:20:46998 days ago1646727646IN
DSProxy #156,156
0 ETH0.0100126522.58856068
Execute128810172021-07-23 6:24:571226 days ago1627021497IN
DSProxy #156,156
0 ETH0.0067301919
Execute128810102021-07-23 6:24:111226 days ago1627021451IN
DSProxy #156,156
0 ETH0.0290772519
Execute128658972021-07-20 21:41:391228 days ago1626817299IN
DSProxy #156,156
0 ETH0.0063311620
Execute128641112021-07-20 15:05:511229 days ago1626793551IN
DSProxy #156,156
0 ETH0.0085470627
Execute128099532021-07-12 3:05:501237 days ago1626059150IN
DSProxy #156,156
0 ETH0.0008909916
Execute128096792021-07-12 2:07:291237 days ago1626055649IN
DSProxy #156,156
0 ETH0.0077490519
Execute128095852021-07-12 1:45:201237 days ago1626054320IN
DSProxy #156,156
0 ETH0.0068127617
Execute128095692021-07-12 1:41:191237 days ago1626054079IN
DSProxy #156,156
0 ETH0.00540118
Execute127884632021-07-08 18:57:451240 days ago1625770665IN
DSProxy #156,156
0 ETH0.0071684636
Execute127884572021-07-08 18:56:351240 days ago1625770595IN
DSProxy #156,156
0 ETH0.0380544138
Execute127883642021-07-08 18:34:261240 days ago1625769266IN
DSProxy #156,156
0 ETH0.010980131
Execute127883302021-07-08 18:27:201240 days ago1625768840IN
DSProxy #156,156
0 ETH0.0576631931
Execute127883002021-07-08 18:21:381240 days ago1625768498IN
DSProxy #156,156
0 ETH0.0066751134
Execute127882832021-07-08 18:17:521240 days ago1625768272IN
DSProxy #156,156
0 ETH0.0329328932
Execute127874992021-07-08 15:27:001240 days ago1625758020IN
DSProxy #156,156
0 ETH0.03764730
Execute127867342021-07-08 12:36:311241 days ago1625747791IN
DSProxy #156,156
0 ETH0.0014395431
Execute127866772021-07-08 12:24:221241 days ago1625747062IN
DSProxy #156,156
0 ETH0.0019755330
Execute127858222021-07-08 9:07:021241 days ago1625735222IN
DSProxy #156,156
0 ETH0.0022575640
Execute127850112021-07-08 6:05:091241 days ago1625724309IN
DSProxy #156,156
0 ETH0.0067074731
Execute127848082021-07-08 5:16:081241 days ago1625721368IN
DSProxy #156,156
0 ETH0.0013931130
Execute127844862021-07-08 4:04:181241 days ago1625717058IN
DSProxy #156,156
0 ETH0.0092088126
Execute127842952021-07-08 3:23:411241 days ago1625714621IN
DSProxy #156,156
0 ETH0.002031836
Execute127842792021-07-08 3:20:421241 days ago1625714442IN
DSProxy #156,156
0 ETH0.008654840
Execute127842472021-07-08 3:13:511241 days ago1625714031IN
DSProxy #156,156
0 ETH0.064298239
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
126211412021-06-12 18:07:121266 days ago1623521232
DSProxy #156,156
54.03469832 ETH
126211412021-06-12 18:07:121266 days ago1623521232
DSProxy #156,156
54.03469832 ETH
126026832021-06-09 21:21:181269 days ago1623273678
DSProxy #156,156
14.03346422 ETH
126026832021-06-09 21:21:181269 days ago1623273678
DSProxy #156,156
14.03346422 ETH
125581692021-06-02 23:53:021276 days ago1622677982
DSProxy #156,156
40 ETH
125540002021-06-02 8:44:231277 days ago1622623463
DSProxy #156,156
1,714.9832329 ETH
125540002021-06-02 8:44:231277 days ago1622623463
DSProxy #156,156
1,714.9832329 ETH
125540002021-06-02 8:44:231277 days ago1622623463
DSProxy #156,156
1,714.9832329 ETH
125540002021-06-02 8:44:231277 days ago1622623463
DSProxy #156,156
1,714.9832329 ETH
124474152021-05-16 19:33:111293 days ago1621193591
DSProxy #156,156
151.92265577 ETH
124474152021-05-16 19:33:111293 days ago1621193591
DSProxy #156,156
151.92265577 ETH
124473932021-05-16 19:28:081293 days ago1621193288
DSProxy #156,156
300 ETH
124473932021-05-16 19:28:081293 days ago1621193288
DSProxy #156,156
300 ETH
124473422021-05-16 19:18:111293 days ago1621192691
DSProxy #156,156
10.5 ETH
124466492021-05-16 16:43:121293 days ago1621183392
DSProxy #156,156
32 ETH
124352122021-05-14 22:20:441295 days ago1621030844
DSProxy #156,156
15 ETH
124352122021-05-14 22:20:441295 days ago1621030844
DSProxy #156,156
15 ETH
124212922021-05-12 18:59:411297 days ago1620845981
DSProxy #156,156
32 ETH
123836642021-05-06 23:14:321303 days ago1620342872
DSProxy #156,156
25 ETH
119883272021-03-07 1:09:261364 days ago1615079366
DSProxy #156,156
16 ETH
119883272021-03-07 1:09:261364 days ago1615079366
DSProxy #156,156
16 ETH
118390162021-02-12 2:02:291387 days ago1613095349
DSProxy #156,156
11 ETH
118390162021-02-12 2:02:291387 days ago1613095349
DSProxy #156,156
11 ETH
118088932021-02-07 11:08:091392 days ago1612696089
DSProxy #156,156
41 ETH
118088932021-02-07 11:08:091392 days ago1612696089
DSProxy #156,156
41 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 0xce3f17ff0f62bc9b2e27c64ed9b6838828ac73ba.

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.