ETH Price: $1,996.10 (-1.16%)

Contract

0x6620e9Cf4E99a4bF1d42c87Fb33E2d3c2525b79E
 

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
Sweep118396252021-02-12 4:25:291871 days ago1613103929IN
0x6620e9Cf...c2525b79E
0 ETH0.00854595150
Transfer118396022021-02-12 4:20:061871 days ago1613103606IN
0x6620e9Cf...c2525b79E
0.5 ETH0.00269452128
Sweep67255802018-11-18 5:30:232688 days ago1542519023IN
0x6620e9Cf...c2525b79E
0 ETH0.0024996550
Transfer67255582018-11-18 5:24:432688 days ago1542518683IN
0x6620e9Cf...c2525b79E
0.5 ETH0.00012636
Sweep63778522018-09-22 9:39:442745 days ago1537609184IN
0x6620e9Cf...c2525b79E
0 ETH0.0024996550
Transfer63778262018-09-22 9:33:062745 days ago1537608786IN
0x6620e9Cf...c2525b79E
0.3 ETH0.0005262725
Sweep59903332018-07-19 5:02:552810 days ago1531976575IN
0x6620e9Cf...c2525b79E
0 ETH0.0049993100
Transfer59903052018-07-19 4:52:442810 days ago1531975964IN
0x6620e9Cf...c2525b79E
0.5 ETH0.000063153
Sweep59844182018-07-18 4:28:092811 days ago1531888089IN
0x6620e9Cf...c2525b79E
0 ETH0.0049993100
Transfer59843762018-07-18 4:17:032811 days ago1531887423IN
0x6620e9Cf...c2525b79E
0.5 ETH0.000070383.34375
Sweep56215972018-05-16 4:11:022874 days ago1526443862IN
0x6620e9Cf...c2525b79E
0 ETH0.0024996550
Transfer56215772018-05-16 4:07:282874 days ago1526443648IN
0x6620e9Cf...c2525b79E
0.5 ETH0.0005262725
Sweep56192042018-05-15 18:07:382874 days ago1526407658IN
0x6620e9Cf...c2525b79E
0 ETH0.0024996550
Transfer56191642018-05-15 17:57:362874 days ago1526407056IN
0x6620e9Cf...c2525b79E
0.2 ETH0.0005262725
Sweep50989002018-02-16 5:31:232963 days ago1518759083IN
0x6620e9Cf...c2525b79E
0 ETH0.0024996550
Transfer50988572018-02-16 5:21:072963 days ago1518758467IN
0x6620e9Cf...c2525b79E
0.27 ETH0.000105255
Sweep49541892018-01-22 20:34:292987 days ago1516653269IN
0x6620e9Cf...c2525b79E
0 ETH0.0045051390
Transfer49541372018-01-22 20:24:102987 days ago1516652650IN
0x6620e9Cf...c2525b79E
0.195 ETH0.0016840880
Sweep47984292017-12-26 4:09:233015 days ago1514261363IN
0x6620e9Cf...c2525b79E
0 ETH0.0025496451
Transfer47983862017-12-26 3:58:343015 days ago1514260714IN
0x6620e9Cf...c2525b79E
0.35 ETH0.0009051943
Sweep47269652017-12-13 18:42:113027 days ago1513190531IN
0x6620e9Cf...c2525b79E
0 ETH0.0025496451
Transfer47268682017-12-13 18:16:473027 days ago1513189007IN
0x6620e9Cf...c2525b79E
0.3 ETH0.0016840880
Sweep46722882017-12-04 4:38:593037 days ago1512362339IN
0x6620e9Cf...c2525b79E
0 ETH0.001399828
Transfer46722062017-12-04 4:16:523037 days ago1512361012IN
0x6620e9Cf...c2525b79E
0.2 ETH0.0006315330
Sweep46311512017-11-27 10:24:233044 days ago1511778263IN
0x6620e9Cf...c2525b79E
0 ETH0.0009998620
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-118396252021-02-12 4:25:291871 days ago1613103929
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer67255802018-11-18 5:30:232688 days ago1542519023
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer63778522018-09-22 9:39:442745 days ago1537609184
0x6620e9Cf...c2525b79E
0.3 ETH
Transfer59903332018-07-19 5:02:552810 days ago1531976575
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer59844182018-07-18 4:28:092811 days ago1531888089
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer56215972018-05-16 4:11:022874 days ago1526443862
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer56192042018-05-15 18:07:382874 days ago1526407658
0x6620e9Cf...c2525b79E
0.2 ETH
Transfer50989002018-02-16 5:31:232963 days ago1518759083
0x6620e9Cf...c2525b79E
0.27 ETH
Transfer49541892018-01-22 20:34:292987 days ago1516653269
0x6620e9Cf...c2525b79E
0.195 ETH
Transfer47984292017-12-26 4:09:233015 days ago1514261363
0x6620e9Cf...c2525b79E
0.35 ETH
Transfer47269652017-12-13 18:42:113027 days ago1513190531
0x6620e9Cf...c2525b79E
0.3 ETH
Transfer46722882017-12-04 4:38:593037 days ago1512362339
0x6620e9Cf...c2525b79E
0.2 ETH
Transfer46311512017-11-27 10:24:233044 days ago1511778263
0x6620e9Cf...c2525b79E
0.15 ETH
Transfer46088702017-11-23 20:11:063047 days ago1511467866
0x6620e9Cf...c2525b79E
0.23 ETH
Transfer45996982017-11-22 8:45:343049 days ago1511340334
0x6620e9Cf...c2525b79E
0.5 ETH
Transfer44436062017-10-28 5:11:163074 days ago1509167476
0x6620e9Cf...c2525b79E
0.4 ETH
Transfer43170072017-09-27 19:38:213104 days ago1506541101
0x6620e9Cf...c2525b79E
0.1 ETH
Transfer43124562017-09-26 5:54:543106 days ago1506405294  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.