ETH Price: $2,552.85 (+4.79%)

Contract

0x504f30F958A8DE11C18ef2124f094B5a8a6CBE30
 

Overview

ETH Balance

0.000000001874924458 ETH

Eth Value

Less Than $0.01 (@ $2,552.85/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep73247172019-03-07 21:55:042023 days ago1551995704IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer73247052019-03-07 21:52:342023 days ago1551995554IN
0x504f30F9...a8a6CBE30
0.0780234 ETH0.000021051
Sweep72819412019-03-01 4:50:552030 days ago1551415855IN
0x504f30F9...a8a6CBE30
0 ETH0.0024996550
Transfer72803862019-02-28 21:49:432030 days ago1551390583IN
0x504f30F9...a8a6CBE30
0.06562437 ETH0.000021051
Sweep72504922019-02-21 21:52:172037 days ago1550785937IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer72504782019-02-21 21:45:582037 days ago1550785558IN
0x504f30F9...a8a6CBE30
0.10004778 ETH0.000021051
Sweep72291762019-02-16 20:58:502042 days ago1550350730IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer72291602019-02-16 20:52:342042 days ago1550350354IN
0x504f30F9...a8a6CBE30
0.09963293 ETH0.000021051
Sweep71996122019-02-09 20:49:532049 days ago1549745393IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer71995942019-02-09 20:44:212049 days ago1549745061IN
0x504f30F9...a8a6CBE30
0.10001684 ETH0.000021051
Sweep71779402019-02-05 10:43:052054 days ago1549363385IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer71779232019-02-05 10:38:132054 days ago1549363093IN
0x504f30F9...a8a6CBE30
0.10018662 ETH0.000021051
Sweep71490052019-01-30 13:35:372059 days ago1548855337IN
0x504f30F9...a8a6CBE30
0 ETH0.0024964550
Transfer71489902019-01-30 13:31:192059 days ago1548855079IN
0x504f30F9...a8a6CBE30
0.10010623 ETH0.000021051
Sweep71177962019-01-24 7:21:402066 days ago1548314500IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer71177822019-01-24 7:16:222066 days ago1548314182IN
0x504f30F9...a8a6CBE30
0.10000234 ETH0.000021051
Sweep70817262019-01-17 13:29:272072 days ago1547731767IN
0x504f30F9...a8a6CBE30
0 ETH0.0024996550
Transfer70817082019-01-17 13:25:272072 days ago1547731527IN
0x504f30F9...a8a6CBE30
0.01013272 ETH0.000021051
Transfer63393252018-09-16 0:53:152196 days ago1537059195IN
0x504f30F9...a8a6CBE30
0.04627626 ETH0.000021051
Sweep62972212018-09-09 0:52:292203 days ago1536454349IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer62972012018-09-09 0:47:332203 days ago1536454053IN
0x504f30F9...a8a6CBE30
0.10004372 ETH0.000021051
Sweep62601952018-09-02 19:42:082209 days ago1535917328IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer62601792018-09-02 19:37:202209 days ago1535917040IN
0x504f30F9...a8a6CBE30
0.10003112 ETH0.000021051
Sweep62204452018-08-27 2:40:122216 days ago1535337612IN
0x504f30F9...a8a6CBE30
0 ETH0.0025028550
Transfer62204222018-08-27 2:33:142216 days ago1535337194IN
0x504f30F9...a8a6CBE30
0.10001722 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
73247172019-03-07 21:55:042023 days ago1551995704
0x504f30F9...a8a6CBE30
0.07802341 ETH
72819412019-03-01 4:50:552030 days ago1551415855
0x504f30F9...a8a6CBE30
0.06562438 ETH
72504922019-02-21 21:52:172037 days ago1550785937
0x504f30F9...a8a6CBE30
0.10004778 ETH
72291762019-02-16 20:58:502042 days ago1550350730
0x504f30F9...a8a6CBE30
0.09963294 ETH
71996122019-02-09 20:49:532049 days ago1549745393
0x504f30F9...a8a6CBE30
0.10001684 ETH
71779402019-02-05 10:43:052054 days ago1549363385
0x504f30F9...a8a6CBE30
0.10018662 ETH
71490052019-01-30 13:35:372059 days ago1548855337
0x504f30F9...a8a6CBE30
0.10010624 ETH
71177962019-01-24 7:21:402066 days ago1548314500
0x504f30F9...a8a6CBE30
0.10000234 ETH
70817262019-01-17 13:29:272072 days ago1547731767
0x504f30F9...a8a6CBE30
0.05640899 ETH
62972212018-09-09 0:52:292203 days ago1536454349
0x504f30F9...a8a6CBE30
0.10004373 ETH
62601952018-09-02 19:42:082209 days ago1535917328
0x504f30F9...a8a6CBE30
0.10003112 ETH
62204452018-08-27 2:40:122216 days ago1535337612
0x504f30F9...a8a6CBE30
0.10001723 ETH
61827112018-08-20 17:55:302222 days ago1534787730
0x504f30F9...a8a6CBE30
0.09774463 ETH
61400912018-08-13 12:57:522229 days ago1534165072
0x504f30F9...a8a6CBE30
0.11700505 ETH
60572402018-07-30 12:38:072243 days ago1532954287
0x504f30F9...a8a6CBE30
0.09957261 ETH
60158352018-07-23 12:40:262250 days ago1532349626
0x504f30F9...a8a6CBE30
0.07321664 ETH
59747652018-07-16 12:46:202257 days ago1531745180
0x504f30F9...a8a6CBE30
0.08744175 ETH
59331142018-07-09 12:26:342265 days ago1531139194
0x504f30F9...a8a6CBE30
0.10000295 ETH
58942192018-07-02 19:48:492271 days ago1530560929
0x504f30F9...a8a6CBE30
0.1000783 ETH
58566912018-06-26 9:14:122278 days ago1530004452
0x504f30F9...a8a6CBE30
0.1000723 ETH
58197672018-06-20 1:03:022284 days ago1529456582
0x504f30F9...a8a6CBE30
0.10005257 ETH
57849202018-06-14 2:08:442290 days ago1528942124
0x504f30F9...a8a6CBE30
0.1107411 ETH
57063162018-05-31 4:22:112304 days ago1527740531
0x504f30F9...a8a6CBE30
0.0697553 ETH
56668342018-05-24 4:22:292311 days ago1527135749
0x504f30F9...a8a6CBE30
0.07264487 ETH
56272752018-05-17 4:17:472318 days ago1526530667
0x504f30F9...a8a6CBE30
0.06658475 ETH
View All Internal Transactions
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.