ETH Price: $2,150.59 (+0.85%)

Contract

0xd54d322EEb2ceCD7f3C8aE5343Ba0bCA0d47C3F0
 

Overview

ETH Balance

0.008844705506070215 ETH

Eth Value

$19.02 (@ $2,150.59/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer135101362021-10-29 4:55:581604 days ago1635483358IN
0xd54d322E...A0d47C3F0
0.00236369 ETH0.00245315116.53402588
Transfer130830372021-08-23 17:58:581671 days ago1629741538IN
0xd54d322E...A0d47C3F0
0.00648099 ETH0.001579675.03694511
Sweep58041912018-06-17 9:36:032834 days ago1529228163IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer58041422018-06-17 9:25:002834 days ago1529227500IN
0xd54d322E...A0d47C3F0
0.01392837 ETH0.000021051
Transfer57638322018-06-10 9:16:562841 days ago1528622216IN
0xd54d322E...A0d47C3F0
0.01002778 ETH0.000021051
Transfer56703292018-05-24 19:33:102858 days ago1527190390IN
0xd54d322E...A0d47C3F0
0.01371824 ETH0.000021051
Transfer56309122018-05-17 19:29:292865 days ago1526585369IN
0xd54d322E...A0d47C3F0
0.01930468 ETH0.000021051
Sweep55909652018-05-10 19:33:572872 days ago1525980837IN
0xd54d322E...A0d47C3F0
0 ETH0.0025028550
Transfer55909282018-05-10 19:23:162872 days ago1525980196IN
0xd54d322E...A0d47C3F0
0.03763111 ETH0.000021051
Transfer55507542018-05-03 19:21:272879 days ago1525375287IN
0xd54d322E...A0d47C3F0
0.03782762 ETH0.000021051
Transfer55107062018-04-26 19:16:072886 days ago1524770167IN
0xd54d322E...A0d47C3F0
0.01001224 ETH0.000021051
Sweep54575212018-04-17 15:37:422895 days ago1523979462IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer54574882018-04-17 15:30:262895 days ago1523979026IN
0xd54d322E...A0d47C3F0
0.02356149 ETH0.000021051
Transfer54160272018-04-10 15:25:422902 days ago1523373942IN
0xd54d322E...A0d47C3F0
0.01572878 ETH0.000021051
Transfer53737272018-04-03 15:20:242909 days ago1522768824IN
0xd54d322E...A0d47C3F0
0.01582108 ETH0.000021051
Sweep53318382018-03-27 15:23:142916 days ago1522164194IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer53318062018-03-27 15:15:142916 days ago1522163714IN
0xd54d322E...A0d47C3F0
0.05082019 ETH0.000021051
Sweep52901042018-03-20 16:23:522923 days ago1521563032IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer52900632018-03-20 16:12:362923 days ago1521562356IN
0xd54d322E...A0d47C3F0
0.03161115 ETH0.000021051
Transfer52488252018-03-13 16:12:042930 days ago1520957524IN
0xd54d322E...A0d47C3F0
0.03231509 ETH0.000021051
Sweep52076252018-03-06 16:16:042937 days ago1520352964IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer52075982018-03-06 16:09:282937 days ago1520352568IN
0xd54d322E...A0d47C3F0
0.06806849 ETH0.000021051
Sweep51663122018-02-27 16:12:022944 days ago1519747922IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
Transfer51662702018-02-27 16:03:132944 days ago1519747393IN
0xd54d322E...A0d47C3F0
0.06306299 ETH0.000021051
Sweep51253422018-02-20 16:16:402951 days ago1519143400IN
0xd54d322E...A0d47C3F0
0 ETH0.0024996550
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer58041912018-06-17 9:36:032834 days ago1529228163
0xd54d322E...A0d47C3F0
0.05697909 ETH
Transfer55909652018-05-10 19:33:572872 days ago1525980837
0xd54d322E...A0d47C3F0
0.08547098 ETH
Transfer54575212018-04-17 15:37:422895 days ago1523979462
0xd54d322E...A0d47C3F0
0.05511136 ETH
Transfer53318382018-03-27 15:23:142916 days ago1522164194
0xd54d322E...A0d47C3F0
0.0508202 ETH
Transfer52901042018-03-20 16:23:522923 days ago1521563032
0xd54d322E...A0d47C3F0
0.06392625 ETH
Transfer52076252018-03-06 16:16:042937 days ago1520352964
0xd54d322E...A0d47C3F0
0.06806849 ETH
Transfer51663122018-02-27 16:12:022944 days ago1519747922
0xd54d322E...A0d47C3F0
0.06306299 ETH
Transfer51253422018-02-20 16:16:402951 days ago1519143400
0xd54d322E...A0d47C3F0
0.06263334 ETH
Transfer50836982018-02-13 15:58:072958 days ago1518537487
0xd54d322E...A0d47C3F0
0.07675088 ETH
Transfer50419412018-02-06 15:59:162965 days ago1517932756
0xd54d322E...A0d47C3F0
0.08015707 ETH
Transfer50005582018-01-30 16:00:142972 days ago1517328014
0xd54d322E...A0d47C3F0
0.12763613 ETH
Transfer49188022018-01-16 15:52:072986 days ago1516117927
0xd54d322E...A0d47C3F0
0.12351509 ETH
Transfer48806132018-01-09 15:53:192993 days ago1515513199
0xd54d322E...A0d47C3F0
0.12823351 ETH
Transfer48424182018-01-02 15:47:003000 days ago1514908020
0xd54d322E...A0d47C3F0
0.11899693 ETH
Transfer48013512017-12-26 15:48:303007 days ago1514303310
0xd54d322E...A0d47C3F0
0.12802128 ETH
Transfer47606982017-12-19 15:45:303014 days ago1513698330
0xd54d322E...A0d47C3F0
0.13329381 ETH
Transfer47207442017-12-12 16:28:393021 days ago1513096119
0xd54d322E...A0d47C3F0
0.15904558 ETH
Transfer46213952017-11-25 20:20:513037 days ago1511641251  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.