ETH Price: $3,718.94 (+4.40%)

Contract

0x298cf59e570C1D08B5D82B5de86a4c345BbEf44d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute149403712022-06-10 20:23:45903 days ago1654892625IN
DSProxy #9,766
0 ETH0.012473748.47094322
Execute149403342022-06-10 20:14:53903 days ago1654892093IN
DSProxy #9,766
0 ETH0.0149469758.07648483
Execute147597002022-05-12 7:00:28932 days ago1652338828IN
DSProxy #9,766
0 ETH0.07550839293.38801636
Execute147593862022-05-12 5:54:57933 days ago1652334897IN
DSProxy #9,766
0 ETH0.06800232264.24266428
Execute147589862022-05-12 4:17:23933 days ago1652329043IN
DSProxy #9,766
0 ETH0.06754816262.458519
Execute147536552022-05-11 7:53:06933 days ago1652255586IN
DSProxy #9,766
0 ETH0.0251158697.58776048
Execute147446032022-05-09 21:03:22935 days ago1652130202IN
DSProxy #9,766
0 ETH0.0332567129.21900764
Execute147441072022-05-09 19:09:14935 days ago1652123354IN
DSProxy #9,766
0 ETH0.03273987127.22023549
Execute147414732022-05-09 8:48:54935 days ago1652086134IN
DSProxy #9,766
0 ETH0.005740434.47813465
Execute147352922022-05-08 9:34:13936 days ago1652002453IN
DSProxy #9,766
0 ETH0.0051272730.79740053
Execute147335522022-05-08 2:44:05937 days ago1651977845IN
DSProxy #9,766
0 ETH0.0062597237.5973253
Execute147118092022-05-04 15:44:46940 days ago1651679086IN
DSProxy #9,766
0 ETH0.0063854338.35231832
Execute146925322022-05-01 14:36:10943 days ago1651415770IN
DSProxy #9,766
0 ETH0.0077564446.58411967
Execute144741122022-03-28 10:23:07977 days ago1648462987IN
DSProxy #9,766
0 ETH0.0086677437.84247444
Execute144111642022-03-18 15:12:28987 days ago1647616348IN
DSProxy #9,766
0 ETH0.018057178.71656547
Execute143995862022-03-16 19:50:09989 days ago1647460209IN
DSProxy #9,766
0 ETH0.0081963935.8456676
Execute140521682022-01-22 0:44:051043 days ago1642812245IN
DSProxy #9,766
0 ETH0.03322626199.55233896
Execute140510162022-01-21 20:15:091043 days ago1642796109IN
DSProxy #9,766
0 ETH0.03427207205.83336101
Execute139597222022-01-07 17:46:521057 days ago1641577612IN
DSProxy #9,766
0 ETH0.00991296166.4618426
Execute139597222022-01-07 17:46:521057 days ago1641577612IN
DSProxy #9,766
0 ETH0.00766828128.76844764
Execute139597222022-01-07 17:46:521057 days ago1641577612IN
DSProxy #9,766
0 ETH0.01669934100.29395715
Execute139570072022-01-07 7:33:331057 days ago1641540813IN
DSProxy #9,766
0 ETH0.0166067199.73760628
Execute139509642022-01-06 9:11:521058 days ago1641460312IN
DSProxy #9,766
0 ETH0.02058682123.64160801
Execute139509462022-01-06 9:05:491058 days ago1641459949IN
DSProxy #9,766
0 ETH0.0158234495.0334184
Execute139496362022-01-06 4:06:281059 days ago1641441988IN
DSProxy #9,766
0 ETH0.02475173148.65547161
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
149403712022-06-10 20:23:45903 days ago1654892625
DSProxy #9,766
173.86712788 ETH
149403712022-06-10 20:23:45903 days ago1654892625
DSProxy #9,766
173.86712788 ETH
149403342022-06-10 20:14:53903 days ago1654892093
DSProxy #9,766
333 ETH
149403342022-06-10 20:14:53903 days ago1654892093
DSProxy #9,766
333 ETH
147597002022-05-12 7:00:28932 days ago1652338828
DSProxy #9,766
127 ETH
147597002022-05-12 7:00:28932 days ago1652338828
DSProxy #9,766
127 ETH
147593862022-05-12 5:54:57933 days ago1652334897
DSProxy #9,766
50 ETH
147593862022-05-12 5:54:57933 days ago1652334897
DSProxy #9,766
50 ETH
147589862022-05-12 4:17:23933 days ago1652329043
DSProxy #9,766
80 ETH
147589862022-05-12 4:17:23933 days ago1652329043
DSProxy #9,766
80 ETH
147536552022-05-11 7:53:06933 days ago1652255586
DSProxy #9,766
127 ETH
147536552022-05-11 7:53:06933 days ago1652255586
DSProxy #9,766
127 ETH
147446032022-05-09 21:03:22935 days ago1652130202
DSProxy #9,766
75 ETH
147446032022-05-09 21:03:22935 days ago1652130202
DSProxy #9,766
75 ETH
147441072022-05-09 19:09:14935 days ago1652123354
DSProxy #9,766
70 ETH
147441072022-05-09 19:09:14935 days ago1652123354
DSProxy #9,766
70 ETH
127103122021-06-26 14:54:481252 days ago1624719288
DSProxy #9,766
70 ETH
121635672021-04-03 1:17:541337 days ago1617412674
DSProxy #9,766
100 ETH
121635672021-04-03 1:17:541337 days ago1617412674
DSProxy #9,766
100 ETH
119145032021-02-23 16:50:331375 days ago1614099033
DSProxy #9,766
38 ETH
119122282021-02-23 8:30:041375 days ago1614069004
DSProxy #9,766
31 ETH
117065792021-01-22 17:13:141407 days ago1611335594
DSProxy #9,766
100 ETH
116864852021-01-19 15:12:121410 days ago1611069132
DSProxy #9,766
100 ETH
116864852021-01-19 15:12:121410 days ago1611069132
DSProxy #9,766
100 ETH
116854032021-01-19 11:14:061410 days ago1611054846
DSProxy #9,766
44.3 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 0x075f130581d635a3493af12aefc8ca46ea460276.

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.