ETH Price: $2,299.82 (-0.32%)

Contract

0x36D79DBC81231f3790DdEf50bd4aE9cA731c483C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute204591002024-08-05 1:32:4744 days ago1722821567IN
DSProxy #145,890
0 ETH0.10867496652.76523494
Execute204590922024-08-05 1:31:1144 days ago1722821471IN
DSProxy #145,890
0 ETH0.21616614653.4864956
Execute203846382024-07-25 16:04:1154 days ago1721923451IN
DSProxy #145,890
0 ETH0.001536866.69301077
Execute199907992024-05-31 15:47:11109 days ago1717170431IN
DSProxy #145,890
0 ETH0.0059521825.92155744
Execute198867402024-05-17 2:33:23124 days ago1715913203IN
DSProxy #145,890
0 ETH0.002103998.46664125
Execute198867312024-05-17 2:31:35124 days ago1715913095IN
DSProxy #145,890
500 ETH0.001443128.8085906
Execute198867262024-05-17 2:30:35124 days ago1715913035IN
DSProxy #145,890
0 ETH0.001602139.0270042
Execute198867222024-05-17 2:29:47124 days ago1715912987IN
DSProxy #145,890
0 ETH0.001542249.22417039
Execute198867132024-05-17 2:27:59124 days ago1715912879IN
DSProxy #145,890
540 ETH0.003060379.49551997
Execute193996912024-03-09 19:40:47192 days ago1710013247IN
DSProxy #145,890
0 ETH0.012751382.3466864
Execute193996582024-03-09 19:34:11192 days ago1710012851IN
DSProxy #145,890
0 ETH0.0135114676.1106167
Execute188733922023-12-27 0:18:59266 days ago1703636339IN
DSProxy #145,890
0 ETH0.0023194914.98306679
Execute188733862023-12-27 0:17:47266 days ago1703636267IN
DSProxy #145,890
0 ETH0.0091453316.55025025
Execute185047572023-11-05 8:56:11318 days ago1699174571IN
DSProxy #145,890
0 ETH0.0037233416.27606777
Execute178273542023-08-02 12:36:59413 days ago1690979819IN
DSProxy #145,890
0 ETH0.0066866725.50374446
Execute178273502023-08-02 12:36:11413 days ago1690979771IN
DSProxy #145,890
1,040 ETH0.008481827.59819737
Execute178273442023-08-02 12:34:35413 days ago1690979675IN
DSProxy #145,890
0 ETH0.004015422.62418339
Execute178273372023-08-02 12:33:11413 days ago1690979591IN
DSProxy #145,890
0 ETH0.0046687127.9235769
Execute178273312023-08-02 12:31:59413 days ago1690979519IN
DSProxy #145,890
0 ETH0.0063902927.69106436
Execute173624102023-05-29 4:55:59478 days ago1685336159IN
DSProxy #145,890
0 ETH0.0052934231.45139712
Execute173624032023-05-29 4:54:35478 days ago1685336075IN
DSProxy #145,890
0 ETH0.0064369328.02003835
Execute166476422023-02-17 9:47:23579 days ago1676627243IN
DSProxy #145,890
0 ETH0.0054400122.87296417
Execute163604322023-01-08 6:58:35619 days ago1673161115IN
DSProxy #145,890
0 ETH0.0043750718.316716
Execute159571112022-11-12 23:06:11675 days ago1668294371IN
DSProxy #145,890
0 ETH0.001613939.69309745
Execute159407122022-11-10 16:08:35677 days ago1668096515IN
DSProxy #145,890
420 ETH0.0064871339.59628628
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
198867312024-05-17 2:31:35124 days ago1715913095
DSProxy #145,890
500 ETH
198867262024-05-17 2:30:35124 days ago1715913035
DSProxy #145,890
500 ETH
198867262024-05-17 2:30:35124 days ago1715913035
DSProxy #145,890
500 ETH
198867132024-05-17 2:27:59124 days ago1715912879
DSProxy #145,890
540 ETH
193996582024-03-09 19:34:11192 days ago1710012851
DSProxy #145,890
540 ETH
193996582024-03-09 19:34:11192 days ago1710012851
DSProxy #145,890
540 ETH
178273502023-08-02 12:36:11413 days ago1690979771
DSProxy #145,890
1,040 ETH
178273442023-08-02 12:34:35413 days ago1690979675
DSProxy #145,890
1,040 ETH
178273442023-08-02 12:34:35413 days ago1690979675
DSProxy #145,890
1,040 ETH
159407122022-11-10 16:08:35677 days ago1668096515
DSProxy #145,890
420 ETH
159406892022-11-10 16:03:59677 days ago1668096239
DSProxy #145,890
423 ETH
159406892022-11-10 16:03:59677 days ago1668096239
DSProxy #145,890
423 ETH
159399032022-11-10 13:25:23678 days ago1668086723
DSProxy #145,890
320 ETH
159398962022-11-10 13:23:59678 days ago1668086639
DSProxy #145,890
320 ETH
159398962022-11-10 13:23:59678 days ago1668086639
DSProxy #145,890
320 ETH
159398902022-11-10 13:22:47678 days ago1668086567
DSProxy #145,890
300 ETH
159398842022-11-10 13:21:23678 days ago1668086483
DSProxy #145,890
300 ETH
159398842022-11-10 13:21:23678 days ago1668086483
DSProxy #145,890
300 ETH
155854282022-09-22 0:51:59727 days ago1663807919
DSProxy #145,890
1,043 ETH
154913282022-09-07 16:21:10741 days ago1662567670
DSProxy #145,890
1,040 ETH
154913282022-09-07 16:21:10741 days ago1662567670
DSProxy #145,890
1,040 ETH
153048592022-08-09 0:38:41771 days ago1660005521
DSProxy #145,890
140 ETH
153048592022-08-09 0:38:41771 days ago1660005521
DSProxy #145,890
140 ETH
152592822022-08-01 22:17:55778 days ago1659392275
DSProxy #145,890
680 ETH
152592132022-08-01 21:59:54778 days ago1659391194
DSProxy #145,890
682.54298214 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 0x3a14e5c91864c5145a21f2dc15f344c9659b1587.

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.