ETH Price: $2,646.79 (-0.77%)

Contract

0x56C1dA41D9702E3D2b193287B5A859B4b882e298
 

Overview

ETH Balance

0.010959286678605124 ETH

Eth Value

$29.01 (@ $2,646.79/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer85440142019-09-13 22:48:351976 days ago1568414915IN
0x56C1dA41...4b882e298
0.01095928 ETH0.000021051
Sweep84991712019-09-06 22:48:101983 days ago1567810090IN
0x56C1dA41...4b882e298
0 ETH0.0010998422
Transfer84991472019-09-06 22:43:451983 days ago1567809825IN
0x56C1dA41...4b882e298
0.06394557 ETH0.000021051
Sweep84542712019-08-30 22:43:371990 days ago1567205017IN
0x56C1dA41...4b882e298
0 ETH0.0010998422
Transfer84542562019-08-30 22:39:421990 days ago1567204782IN
0x56C1dA41...4b882e298
0.07119727 ETH0.000021051
Sweep84093012019-08-23 22:41:441997 days ago1566600104IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer84092802019-08-23 22:37:571997 days ago1566599877IN
0x56C1dA41...4b882e298
0.08036755 ETH0.000021051
Sweep83642192019-08-16 22:37:152004 days ago1565995035IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer83642052019-08-16 22:32:592004 days ago1565994779IN
0x56C1dA41...4b882e298
0.07842735 ETH0.000021051
Sweep83190972019-08-09 22:36:092011 days ago1565390169IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer83190772019-08-09 22:32:132011 days ago1565389933IN
0x56C1dA41...4b882e298
0.07901118 ETH0.000021051
Sweep82739462019-08-02 22:32:422018 days ago1564785162IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer82739282019-08-02 22:28:342018 days ago1564784914IN
0x56C1dA41...4b882e298
0.08081386 ETH0.000021051
Sweep82288502019-07-26 22:28:252025 days ago1564180105IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer82288272019-07-26 22:22:502025 days ago1564179770IN
0x56C1dA41...4b882e298
0.08006229 ETH0.000021051
Sweep81837482019-07-19 22:23:042032 days ago1563574984IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer81837302019-07-19 22:19:222032 days ago1563574762IN
0x56C1dA41...4b882e298
0.07881487 ETH0.000021051
Sweep81389172019-07-12 22:17:172039 days ago1562969837IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer81389032019-07-12 22:13:492039 days ago1562969629IN
0x56C1dA41...4b882e298
0.10026413 ETH0.000021051
Sweep80938812019-07-05 22:16:002046 days ago1562364960IN
0x56C1dA41...4b882e298
0 ETH0.0011012522
Transfer80938672019-07-05 22:13:172046 days ago1562364797IN
0x56C1dA41...4b882e298
0.09851544 ETH0.000021051
Sweep80490002019-06-28 22:17:152053 days ago1561760235IN
0x56C1dA41...4b882e298
0 ETH0.0015017130
Transfer80489772019-06-28 22:12:142053 days ago1561759934IN
0x56C1dA41...4b882e298
0.12606756 ETH0.000021051
Sweep80040422019-06-21 22:12:582060 days ago1561155178IN
0x56C1dA41...4b882e298
0 ETH0.0015017130
Transfer80040272019-06-21 22:10:152060 days ago1561155015IN
0x56C1dA41...4b882e298
0.13788127 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
84991712019-09-06 22:48:101983 days ago1567810090
0x56C1dA41...4b882e298
0.06394557 ETH
84542712019-08-30 22:43:371990 days ago1567205017
0x56C1dA41...4b882e298
0.07119728 ETH
84093012019-08-23 22:41:441997 days ago1566600104
0x56C1dA41...4b882e298
0.08036755 ETH
83642192019-08-16 22:37:152004 days ago1565995035
0x56C1dA41...4b882e298
0.07842736 ETH
83190972019-08-09 22:36:092011 days ago1565390169
0x56C1dA41...4b882e298
0.07901119 ETH
82739462019-08-02 22:32:422018 days ago1564785162
0x56C1dA41...4b882e298
0.08081387 ETH
82288502019-07-26 22:28:252025 days ago1564180105
0x56C1dA41...4b882e298
0.0800623 ETH
81837482019-07-19 22:23:042032 days ago1563574984
0x56C1dA41...4b882e298
0.07881488 ETH
81389172019-07-12 22:17:172039 days ago1562969837
0x56C1dA41...4b882e298
0.10026413 ETH
80938812019-07-05 22:16:002046 days ago1562364960
0x56C1dA41...4b882e298
0.09851545 ETH
80490002019-06-28 22:17:152053 days ago1561760235
0x56C1dA41...4b882e298
0.12606757 ETH
80040422019-06-21 22:12:582060 days ago1561155178
0x56C1dA41...4b882e298
0.13788127 ETH
79593562019-06-14 22:12:122067 days ago1560550332
0x56C1dA41...4b882e298
0.13460549 ETH
79145902019-06-07 22:07:212074 days ago1559945241
0x56C1dA41...4b882e298
0.13919617 ETH
78698892019-05-31 22:02:512081 days ago1559340171
0x56C1dA41...4b882e298
0.14060609 ETH
78249032019-05-24 22:02:072088 days ago1558735327
0x56C1dA41...4b882e298
0.14075816 ETH
77802892019-05-17 21:59:152095 days ago1558130355
0x56C1dA41...4b882e298
0.14591499 ETH
77353252019-05-10 21:56:002102 days ago1557525360
0x56C1dA41...4b882e298
0.1489831 ETH
76905352019-05-03 21:53:192109 days ago1556920399
0x56C1dA41...4b882e298
0.15373842 ETH
76455222019-04-26 21:47:292116 days ago1556315249
0x56C1dA41...4b882e298
0.1533054 ETH
76006772019-04-19 21:48:552123 days ago1555710535
0x56C1dA41...4b882e298
0.15396555 ETH
75556192019-04-12 21:39:592130 days ago1555105199
0x56C1dA41...4b882e298
0.15705515 ETH
75104822019-04-05 21:34:552137 days ago1554500095
0x56C1dA41...4b882e298
0.16673005 ETH
74657982019-03-29 21:31:372144 days ago1553895097
0x56C1dA41...4b882e298
0.1618822 ETH
74209052019-03-22 21:23:122151 days ago1553289792
0x56C1dA41...4b882e298
0.16316475 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.