ETH Price: $2,629.43 (+0.53%)

Contract

0x4A737Ef2c45fD7B6EbD9C4F03aC3F9A6A81485d9
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep48503282018-01-04 2:00:012593 days ago1515031201IN
0x4A737Ef2...6A81485d9
0 ETH0.0025496451
Sweep47145112017-12-11 14:20:162617 days ago1513002016IN
0x4A737Ef2...6A81485d9
0 ETH0.0025496451
Transfer47143182017-12-11 13:37:352617 days ago1512999455IN
0x4A737Ef2...6A81485d9
0.54 ETH0.0008630941
Sweep47026692017-12-09 13:19:402619 days ago1512825580IN
0x4A737Ef2...6A81485d9
0 ETH0.0038494677
Transfer47026312017-12-09 13:09:432619 days ago1512824983IN
0x4A737Ef2...6A81485d9
10 ETH0.0005262725
Sweep46758592017-12-04 19:47:452623 days ago1512416865IN
0x4A737Ef2...6A81485d9
0 ETH0.0014697929.4
Transfer46758182017-12-04 19:36:182623 days ago1512416178IN
0x4A737Ef2...6A81485d9
10 ETH0.0006188929.4
Sweep45628472017-11-16 10:19:532642 days ago1510827593IN
0x4A737Ef2...6A81485d9
0 ETH0.0010011420
Sweep45627722017-11-16 10:01:402642 days ago1510826500IN
0x4A737Ef2...6A81485d9
0 ETH0.0010024220
Sweep45626432017-11-16 9:32:142642 days ago1510824734IN
0x4A737Ef2...6A81485d9
0 ETH0.0009998620
Sweep45625612017-11-16 9:14:252642 days ago1510823665IN
0x4A737Ef2...6A81485d9
0 ETH0.0010011420
Sweep44942492017-11-05 9:26:402653 days ago1509874000IN
0x4A737Ef2...6A81485d9
0 ETH0.0009998620
Sweep44140232017-10-23 11:01:482666 days ago1508756508IN
0x4A737Ef2...6A81485d9
0 ETH0.0015497831
Transfer44140112017-10-23 10:58:372666 days ago1508756317IN
0x4A737Ef2...6A81485d9
1 ETH0.0004420721
Sweep44067882017-10-22 7:04:532667 days ago1508655893IN
0x4A737Ef2...6A81485d9
0 ETH0.0015497831
Sweep43719952017-10-16 16:33:492672 days ago1508171629IN
0x4A737Ef2...6A81485d9
0 ETH0.0015497831
Transfer43719852017-10-16 16:31:192672 days ago1508171479IN
0x4A737Ef2...6A81485d9
2.5 ETH0.0006525831
Sweep43224672017-09-29 17:32:122689 days ago1506706332IN
0x4A737Ef2...6A81485d9
0 ETH0.0025496451
Transfer43224582017-09-29 17:25:112689 days ago1506705911IN
0x4A737Ef2...6A81485d9
11.75 ETH0.0012630660
Sweep42666822017-09-12 17:39:562706 days ago1505237996IN
0x4A737Ef2...6A81485d9
0 ETH0.0025496451
Transfer42666722017-09-12 17:35:282706 days ago1505237728IN
0x4A737Ef2...6A81485d9
12 ETH0.0008209839

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
48503282018-01-04 2:00:012593 days ago1515031201
0x4A737Ef2...6A81485d9
0.2 ETH
48499072018-01-04 0:01:132593 days ago1515024073
0x4A737Ef2...6A81485d9
0.2 ETH
47145112017-12-11 14:20:162617 days ago1513002016
0x4A737Ef2...6A81485d9
0.54 ETH
47026692017-12-09 13:19:402619 days ago1512825580
0x4A737Ef2...6A81485d9
10 ETH
46758592017-12-04 19:47:452623 days ago1512416865
0x4A737Ef2...6A81485d9
10 ETH
45628472017-11-16 10:19:532642 days ago1510827593
0x4A737Ef2...6A81485d9
20 ETH
45628272017-11-16 10:15:332642 days ago1510827333
0x4A737Ef2...6A81485d9
20 ETH
45627722017-11-16 10:01:402642 days ago1510826500
0x4A737Ef2...6A81485d9
20.09776566 ETH
45627652017-11-16 9:59:242642 days ago1510826364
0x4A737Ef2...6A81485d9
14.47776566 ETH
45627622017-11-16 9:58:452642 days ago1510826325
0x4A737Ef2...6A81485d9
5.62 ETH
45626432017-11-16 9:32:142642 days ago1510824734
0x4A737Ef2...6A81485d9
4 ETH
45626252017-11-16 9:28:402642 days ago1510824520
0x4A737Ef2...6A81485d9
4 ETH
45625612017-11-16 9:14:252642 days ago1510823665
0x4A737Ef2...6A81485d9
20 ETH
45625442017-11-16 9:11:042642 days ago1510823464
0x4A737Ef2...6A81485d9
20 ETH
44942492017-11-05 9:26:402653 days ago1509874000
0x4A737Ef2...6A81485d9
15 ETH
44942352017-11-05 9:23:332653 days ago1509873813
0x4A737Ef2...6A81485d9
15 ETH
44140232017-10-23 11:01:482666 days ago1508756508
0x4A737Ef2...6A81485d9
1 ETH
44067882017-10-22 7:04:532667 days ago1508655893
0x4A737Ef2...6A81485d9
10 ETH
44067812017-10-22 7:03:062667 days ago1508655786
0x4A737Ef2...6A81485d9
10 ETH
43719952017-10-16 16:33:492672 days ago1508171629
0x4A737Ef2...6A81485d9
2.5 ETH
43224672017-09-29 17:32:122689 days ago1506706332
0x4A737Ef2...6A81485d9
11.75 ETH
42666822017-09-12 17:39:562706 days ago1505237996
0x4A737Ef2...6A81485d9
12 ETH
42602812017-09-10 22:32:482708 days ago1505082768  Contract Creation0 ETH
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
/**
 *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

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

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.