ETH Price: $2,639.12 (+0.85%)

Contract

0xc355dcb08A4744CF29b71EA006A6753F49Da634E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute194031482024-03-10 7:16:47220 days ago1710055007IN
DSProxy #143,819
0 ETH0.0352789746.28328487
Execute183386032023-10-13 2:48:35370 days ago1697165315IN
DSProxy #143,819
5 ETH0.00089935.4891628
Execute171397952023-04-27 20:09:47538 days ago1682626187IN
DSProxy #143,819
25 ETH0.0117003338.14464747
Execute140677732022-01-24 10:24:10996 days ago1643019850IN
DSProxy #143,819
0 ETH0.03795778140
Execute140677632022-01-24 10:22:17996 days ago1643019737IN
DSProxy #143,819
0 ETH0.04140887152.78447986
Execute140586392022-01-23 0:23:44998 days ago1642897424IN
DSProxy #143,819
175 ETH0.04902377175.24513459
Execute140578262022-01-22 21:28:51998 days ago1642886931IN
DSProxy #143,819
250 ETH0.03496126119.24276081
Execute139583622022-01-07 12:33:391013 days ago1641558819IN
DSProxy #143,819
0 ETH0.02916258107.56458957
Execute139583452022-01-07 12:29:561013 days ago1641558596IN
DSProxy #143,819
0 ETH0.023821287.89529608
Execute139575612022-01-07 9:34:571013 days ago1641548097IN
DSProxy #143,819
275 ETH0.0264502990.59717191
Execute139567982022-01-07 6:52:271013 days ago1641538347IN
DSProxy #143,819
0 ETH0.0255105494.09075374
Execute139567852022-01-07 6:50:061013 days ago1641538206IN
DSProxy #143,819
0 ETH0.0354052130.6330085
Execute139567702022-01-07 6:47:051013 days ago1641538025IN
DSProxy #143,819
0 ETH0.03130018115.48690149
Execute139567592022-01-07 6:44:211013 days ago1641537861IN
DSProxy #143,819
0 ETH0.02220046125.05611934
Execute139567492022-01-07 6:41:501013 days ago1641537710IN
DSProxy #143,819
0 ETH0.01973029117.2294003
Execute139562262022-01-07 4:44:111013 days ago1641530651IN
DSProxy #143,819
15 ETH0.03109466189.79606139
Execute139396202022-01-04 14:54:241016 days ago1641308064IN
DSProxy #143,819
60 ETH0.0194816869.77880441
Execute139323992022-01-03 12:13:031017 days ago1641211983IN
DSProxy #143,819
130 ETH0.0165324559.22340754
Execute139320942022-01-03 11:05:031017 days ago1641207903IN
DSProxy #143,819
260 ETH0.0232146779.14130979
Execute137852602021-12-11 17:43:031040 days ago1639244583IN
DSProxy #143,819
0 ETH0.0176146164.9705294
Execute137852462021-12-11 17:41:031040 days ago1639244463IN
DSProxy #143,819
0 ETH0.02152979.43461937
Execute137852382021-12-11 17:38:581040 days ago1639244338IN
DSProxy #143,819
0 ETH0.01810266.79017167
Execute137851422021-12-11 17:16:441040 days ago1639243004IN
DSProxy #143,819
220 ETH0.0204135473.2127342
Execute137851172021-12-11 17:11:321040 days ago1639242692IN
DSProxy #143,819
321 ETH0.03191192108.95904159
Execute137780602021-12-10 14:57:231041 days ago1639148243IN
DSProxy #143,819
0 ETH0.0259617895.75859756
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
183386032023-10-13 2:48:35370 days ago1697165315
DSProxy #143,819
5 ETH
171397952023-04-27 20:09:47538 days ago1682626187
DSProxy #143,819
25 ETH
140677732022-01-24 10:24:10996 days ago1643019850
DSProxy #143,819
225 ETH
140677732022-01-24 10:24:10996 days ago1643019850
DSProxy #143,819
225 ETH
140677632022-01-24 10:22:17996 days ago1643019737
DSProxy #143,819
200 ETH
140677632022-01-24 10:22:17996 days ago1643019737
DSProxy #143,819
200 ETH
140586392022-01-23 0:23:44998 days ago1642897424
DSProxy #143,819
175 ETH
140578262022-01-22 21:28:51998 days ago1642886931
DSProxy #143,819
250 ETH
139583622022-01-07 12:33:391013 days ago1641558819
DSProxy #143,819
9 ETH
139583622022-01-07 12:33:391013 days ago1641558819
DSProxy #143,819
9 ETH
139583452022-01-07 12:29:561013 days ago1641558596
DSProxy #143,819
266 ETH
139583452022-01-07 12:29:561013 days ago1641558596
DSProxy #143,819
266 ETH
139575612022-01-07 9:34:571013 days ago1641548097
DSProxy #143,819
275 ETH
139567982022-01-07 6:52:271013 days ago1641538347
DSProxy #143,819
190 ETH
139567982022-01-07 6:52:271013 days ago1641538347
DSProxy #143,819
190 ETH
139567852022-01-07 6:50:061013 days ago1641538206
DSProxy #143,819
125 ETH
139567852022-01-07 6:50:061013 days ago1641538206
DSProxy #143,819
125 ETH
139567702022-01-07 6:47:051013 days ago1641538025
DSProxy #143,819
100 ETH
139567702022-01-07 6:47:051013 days ago1641538025
DSProxy #143,819
100 ETH
139567592022-01-07 6:44:211013 days ago1641537861
DSProxy #143,819
50 ETH
139567592022-01-07 6:44:211013 days ago1641537861
DSProxy #143,819
50 ETH
139562262022-01-07 4:44:111013 days ago1641530651
DSProxy #143,819
15 ETH
139396202022-01-04 14:54:241016 days ago1641308064
DSProxy #143,819
60 ETH
139323992022-01-03 12:13:031017 days ago1641211983
DSProxy #143,819
130 ETH
139320942022-01-03 11:05:031017 days ago1641207903
DSProxy #143,819
260 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 0xa042cc0a6de310d4dbceae56c31767cb371735f8.

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.