ETH Price: $3,160.56 (+1.41%)
Gas: 2 Gwei

Contract

0x412048eD68B287597c7C282F24bd81be1D5798db
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute97035802020-03-19 18:00:491577 days ago1584640849IN
DSProxy #5,959
0 ETH0.0019955420
Execute97033302020-03-19 17:01:111577 days ago1584637271IN
DSProxy #5,959
0.0054 ETH0.0149575118
Execute97033232020-03-19 16:59:511577 days ago1584637191IN
DSProxy #5,959
0.00528 ETH0.01190969
Execute97026212020-03-19 14:23:401577 days ago1584627820IN
DSProxy #5,959
6.75 ETH0.002847619
Execute97025992020-03-19 14:19:081577 days ago1584627548IN
DSProxy #5,959
0 ETH0.002308411
Execute97023732020-03-19 13:28:551577 days ago1584624535IN
DSProxy #5,959
0 ETH0.0029608417.3
Execute96972392020-03-18 18:32:591578 days ago1584556379IN
DSProxy #5,959
0 ETH0.000260131.2
Execute96648212020-03-13 18:49:351583 days ago1584125375IN
DSProxy #5,959
0 ETH0.0015486311
Execute96648142020-03-13 18:48:021583 days ago1584125282IN
DSProxy #5,959
0 ETH0.000786811
Execute96635632020-03-13 14:07:221583 days ago1584108442IN
DSProxy #5,959
0 ETH0.0028482335
Execute96596632020-03-12 23:24:431583 days ago1584055483IN
DSProxy #5,959
0 ETH0.0119808261
Execute96584772020-03-12 19:04:081584 days ago1584039848IN
DSProxy #5,959
7 ETH0.0105242278
Execute96568302020-03-12 13:03:581584 days ago1584018238IN
DSProxy #5,959
0.01635 ETH0.15074471109
Execute96566282020-03-12 12:17:331584 days ago1584015453IN
DSProxy #5,959
10.7 ETH0.01362752101
Execute96566062020-03-12 12:11:411584 days ago1584015101IN
DSProxy #5,959
0.01425 ETH0.0263610795
Execute96379762020-03-09 15:15:061587 days ago1583766906IN
DSProxy #5,959
0 ETH0.0022456511
Execute96379022020-03-09 14:53:501587 days ago1583765630IN
DSProxy #5,959
0.0015 ETH0.0098893710
Execute96378672020-03-09 14:44:361587 days ago1583765076IN
DSProxy #5,959
0 ETH0.000643759
Execute96316852020-03-08 15:53:401588 days ago1583682820IN
DSProxy #5,959
0 ETH0.0021604711
Execute95927432020-03-02 16:10:021594 days ago1583165402IN
DSProxy #5,959
0 ETH0.001090697
Execute95927202020-03-02 16:05:361594 days ago1583165136IN
DSProxy #5,959
0.0012 ETH0.002272682.4
Execute95739172020-02-28 18:57:021597 days ago1582916222IN
DSProxy #5,959
0.00075 ETH0.006302785
Execute95738802020-02-28 18:49:301597 days ago1582915770IN
DSProxy #5,959
0 ETH0.000071521
Execute95628842020-02-27 2:11:361598 days ago1582769496IN
DSProxy #5,959
0 ETH0.002134749.9
Execute95606962020-02-26 18:11:461599 days ago1582740706IN
DSProxy #5,959
0 ETH0.0026488217
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
97033302020-03-19 17:01:111577 days ago1584637271
DSProxy #5,959
0.0054 ETH
97033302020-03-19 17:01:111577 days ago1584637271
DSProxy #5,959
3.74502051 ETH
97033302020-03-19 17:01:111577 days ago1584637271
DSProxy #5,959
3.74502051 ETH
97033232020-03-19 16:59:511577 days ago1584637191
DSProxy #5,959
0.00393 ETH
97033232020-03-19 16:59:511577 days ago1584637191
DSProxy #5,959
0.00528 ETH
97026212020-03-19 14:23:401577 days ago1584627820
DSProxy #5,959
6.75 ETH
96648212020-03-13 18:49:351583 days ago1584125375
DSProxy #5,959
8.71114464 ETH
96648212020-03-13 18:49:351583 days ago1584125375
DSProxy #5,959
8.71114464 ETH
96584772020-03-12 19:04:081584 days ago1584039848
DSProxy #5,959
7 ETH
96568302020-03-12 13:03:581584 days ago1584018238
DSProxy #5,959
0.01635 ETH
96566282020-03-12 12:17:331584 days ago1584015453
DSProxy #5,959
10.7 ETH
96566062020-03-12 12:11:411584 days ago1584015101
DSProxy #5,959
0.01425 ETH
96379022020-03-09 14:53:501587 days ago1583765630
DSProxy #5,959
17.6615 ETH
96379022020-03-09 14:53:501587 days ago1583765630
DSProxy #5,959
17.66 ETH
96352842020-03-09 5:04:181587 days ago1583730258
DSProxy #5,959
14.40934339 ETH
96352842020-03-09 5:04:181587 days ago1583730258
DSProxy #5,959
14.40934339 ETH
96320052020-03-08 17:04:381588 days ago1583687078
DSProxy #5,959
15.77662231 ETH
96320052020-03-08 17:04:381588 days ago1583687078
DSProxy #5,959
15.77662231 ETH
95927432020-03-02 16:10:021594 days ago1583165402
DSProxy #5,959
4 ETH
95927432020-03-02 16:10:021594 days ago1583165402
DSProxy #5,959
4 ETH
95927202020-03-02 16:05:361594 days ago1583165136
DSProxy #5,959
21.84252494 ETH
95927202020-03-02 16:05:361594 days ago1583165136
DSProxy #5,959
21.84168494 ETH
95927202020-03-02 16:05:361594 days ago1583165136
DSProxy #5,959
0.00084 ETH
95927202020-03-02 16:05:361594 days ago1583165136
DSProxy #5,959
0.0012 ETH
95739172020-02-28 18:57:021597 days ago1582916222
DSProxy #5,959
20.37075 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 0x7e34d5529e347614ceb4690eb8f3e0cf21458dbd.

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.