ETH Price: $1,974.04 (-4.95%)

Contract

0x285f0Df581Fa7EAEe78A9842685f62fd0E8D1CEa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep161477672022-12-09 14:34:231183 days ago1670596463IN
0x285f0Df5...d0E8D1CEa
0 ETH0.001954230
Sweep133203492021-09-29 11:21:151619 days ago1632914475IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0038852759.64499678
Sweep132649472021-09-20 21:00:321627 days ago1632171632IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0064156698.49035669
Sweep132534262021-09-19 2:14:461629 days ago1632017686IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0029256444.91316676
Sweep132498152021-09-18 13:05:361630 days ago1631970336IN
0x285f0Df5...d0E8D1CEa
0 ETH0.002965345.52200856
Sweep131992782021-09-10 17:06:051638 days ago1631293565IN
0x285f0Df5...d0E8D1CEa
0 ETH0.00913949140.30541384
Sweep131936522021-09-09 20:14:551638 days ago1631218495IN
0x285f0Df5...d0E8D1CEa
0 ETH0.00867629133.1945963
Sweep131860212021-09-08 15:50:401640 days ago1631116240IN
0x285f0Df5...d0E8D1CEa
0 ETH0.02758037423.32356749
Sweep131795252021-09-07 15:44:301641 days ago1631029470IN
0x285f0Df5...d0E8D1CEa
0 ETH0.03018055463.23298506
Sweep131740942021-09-06 19:32:061641 days ago1630956726IN
0x285f0Df5...d0E8D1CEa
0 ETH0.00769571118.14114655
Sweep131536832021-09-03 15:54:021645 days ago1630684442IN
0x285f0Df5...d0E8D1CEa
0 ETH0.01099296168.75912081
Sweep131482772021-09-02 19:52:021645 days ago1630612322IN
0x285f0Df5...d0E8D1CEa
0 ETH0.01010945155.19588132
Sweep131403902021-09-01 14:41:221647 days ago1630507282IN
0x285f0Df5...d0E8D1CEa
0 ETH0.00725069111.30946284
Sweep131339582021-08-31 14:54:491648 days ago1630421689IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0076336117.18772712
Sweep131324072021-08-31 9:02:261648 days ago1630400546IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0053109280.31768463
Sweep131277392021-08-30 15:34:341649 days ago1630337674IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0063140796.93079874
Sweep131032902021-08-26 20:51:501652 days ago1630011110IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0057824688.7534274
Sweep131030542021-08-26 19:58:411652 days ago1630007921IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0060350492.64732742
Sweep131030232021-08-26 19:51:571652 days ago1630007517IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0063391197.33315897
Sweep116768822021-01-18 3:46:291873 days ago1610941589IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0050155290
Sweep116355092021-01-11 19:23:521879 days ago1610393032IN
0x285f0Df5...d0E8D1CEa
0 ETH0.00814224142.884
Transfer116354832021-01-11 19:20:201879 days ago1610392820IN
0x285f0Df5...d0E8D1CEa
0.16506728 ETH0.00307344146
Transfer116163182021-01-08 20:41:321882 days ago1610138492IN
0x285f0Df5...d0E8D1CEa
0.16506728 ETH0.0020619398.1875
Sweep58734192018-06-29 6:33:202807 days ago1530254000IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0024996550
Sweep58586662018-06-26 17:30:382810 days ago1530034238IN
0x285f0Df5...d0E8D1CEa
0 ETH0.0024996550
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-116355092021-01-11 19:23:521879 days ago1610393032
0x285f0Df5...d0E8D1CEa
0.16506728 ETH
Transfer58734192018-06-29 6:33:202807 days ago1530254000
0x285f0Df5...d0E8D1CEa
0.44 ETH
Transfer58733952018-06-29 6:27:382807 days ago1530253658
0x285f0Df5...d0E8D1CEa
0.44 ETH
Transfer58586662018-06-26 17:30:382810 days ago1530034238
0x285f0Df5...d0E8D1CEa
0.2 ETH
Transfer58586272018-06-26 17:23:552810 days ago1530033835
0x285f0Df5...d0E8D1CEa
0.2 ETH
Transfer58586072018-06-26 17:19:422810 days ago1530033582
0x285f0Df5...d0E8D1CEa
0.2 ETH
Transfer58585692018-06-26 17:10:222810 days ago1530033022
0x285f0Df5...d0E8D1CEa
0.2 ETH
Transfer50305132018-02-04 17:48:412952 days ago1517766521  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xd1DD82d1...18D918504
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
UserWallet

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-08-15
*/

pragma solidity ^0.4.10;

// Copyright 2017 Bittrex

contract AbstractSweeper {
    function sweep(address token, uint amount) returns (bool);

    function () { throw; }

    Controller controller;

    function AbstractSweeper(address _controller) {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if (msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()) throw;
        if (controller.halted()) throw;
        _;
    }
}

contract Token {
    function balanceOf(address a) returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    function DefaultSweeper(address controller)
             AbstractSweeper(controller) {}

    function sweep(address _token, uint _amount)
    canSweep
    returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if (_token != address(0)) {
            Token token = Token(_token);
            uint amount = _amount;
            if (amount > token.balanceOf(this)) {
                return false;
            }

            success = token.transfer(destination, amount);
        }
        else {
            uint amountInWei = _amount;
            if (amountInWei > this.balance) {
                return false;
            }

            success = destination.send(amountInWei);
        }

        if (success) {
            controller.logSweep(this, destination, _token, _amount);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    function UserWallet(address _sweeperlist) {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function () public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) {
        (_from);
        (_value);
        (_data);
     }

    function sweep(address _token, uint _amount)
    returns (bool) {
        (_amount);
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event LogNewWallet(address receiver);
    event LogSweep(address indexed from, address indexed to, address indexed token, uint amount);
    
    modifier onlyOwner() {
        if (msg.sender != owner) throw; 
        _;
    }

    modifier onlyAuthorizedCaller() {
        if (msg.sender != authorizedCaller) throw; 
        _;
    }

    modifier onlyAdmins() {
        if (msg.sender != authorizedCaller && msg.sender != owner) throw; 
        _;
    }

    function Controller() 
    {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function changeAuthorizedCaller(address _newCaller) onlyOwner {
        authorizedCaller = _newCaller;
    }

    function changeDestination(address _dest) onlyOwner {
        destination = _dest;
    }

    function changeOwner(address _owner) onlyOwner {
        owner = _owner;
    }

    function makeWallet() onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        LogNewWallet(wallet);
    }

    function halt() onlyAdmins {
        halted = true;
    }

    function start() onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) returns (address) {
        address sweeper = sweepers[_token];
        if (sweeper == 0) sweeper = defaultSweeper;
        return sweeper;
    }

    function logSweep(address from, address to, address token, uint amount) {
        LogSweep(from, to, token, amount);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"sweep","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.