ETH Price: $2,501.21 (-5.06%)

Contract

0xa1dc9E812B0Fd2eb1eaeFC27A50124644bd90C49
 

Overview

ETH Balance

0.000000002356942635 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep87924812019-10-22 20:43:211836 days ago1571777001IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87924602019-10-22 20:38:551836 days ago1571776735IN
0xa1dc9E81...44bd90C49
0.05004075 ETH0.000021051
Sweep87785392019-10-20 15:56:301838 days ago1571586990IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87785262019-10-20 15:53:311838 days ago1571586811IN
0xa1dc9E81...44bd90C49
0.05002989 ETH0.000021051
Sweep87646032019-10-18 11:27:001840 days ago1571398020IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87645882019-10-18 11:23:281840 days ago1571397808IN
0xa1dc9E81...44bd90C49
0.05008072 ETH0.000021051
Sweep87478072019-10-15 19:46:321843 days ago1571168792IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87477882019-10-15 19:42:011843 days ago1571168521IN
0xa1dc9E81...44bd90C49
0.05011217 ETH0.000021051
Sweep87343192019-10-13 17:05:021845 days ago1570986302IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87342952019-10-13 16:59:191845 days ago1570985959IN
0xa1dc9E81...44bd90C49
0.0500825 ETH0.000021051
Sweep87207362019-10-11 13:43:171847 days ago1570801397IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87207142019-10-11 13:39:091847 days ago1570801149IN
0xa1dc9E81...44bd90C49
0.05010802 ETH0.000021051
Sweep87073172019-10-09 11:07:511849 days ago1570619271IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer87072952019-10-09 11:01:501849 days ago1570618910IN
0xa1dc9E81...44bd90C49
0.05009765 ETH0.000021051
Sweep86934182019-10-07 6:38:111852 days ago1570430291IN
0xa1dc9E81...44bd90C49
0 ETH0.0010984322
Transfer86933932019-10-07 6:33:271852 days ago1570430007IN
0xa1dc9E81...44bd90C49
0.0500403 ETH0.000021051
Sweep86796722019-10-05 3:23:251854 days ago1570245805IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer86796532019-10-05 3:17:241854 days ago1570245444IN
0xa1dc9E81...44bd90C49
0.05005963 ETH0.000021051
Sweep86657642019-10-02 23:22:101856 days ago1570058530IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer86657362019-10-02 23:17:421856 days ago1570058262IN
0xa1dc9E81...44bd90C49
0.05003019 ETH0.000021051
Sweep86520242019-09-30 19:45:301858 days ago1569872730IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
Transfer86520012019-09-30 19:41:201858 days ago1569872480IN
0xa1dc9E81...44bd90C49
0.05006709 ETH0.000021051
Sweep86385722019-09-28 17:16:591860 days ago1569691019IN
0xa1dc9E81...44bd90C49
0 ETH0.0011248422.5
Transfer86385492019-09-28 17:12:311860 days ago1569690751IN
0xa1dc9E81...44bd90C49
0.05002265 ETH0.000021051
Sweep86238502019-09-26 10:02:391862 days ago1569492159IN
0xa1dc9E81...44bd90C49
0 ETH0.0010998422
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
87924812019-10-22 20:43:211836 days ago1571777001
0xa1dc9E81...44bd90C49
0.05004076 ETH
87785392019-10-20 15:56:301838 days ago1571586990
0xa1dc9E81...44bd90C49
0.0500299 ETH
87646032019-10-18 11:27:001840 days ago1571398020
0xa1dc9E81...44bd90C49
0.05008073 ETH
87478072019-10-15 19:46:321843 days ago1571168792
0xa1dc9E81...44bd90C49
0.05011217 ETH
87343192019-10-13 17:05:021845 days ago1570986302
0xa1dc9E81...44bd90C49
0.0500825 ETH
87207362019-10-11 13:43:171847 days ago1570801397
0xa1dc9E81...44bd90C49
0.05010803 ETH
87073172019-10-09 11:07:511849 days ago1570619271
0xa1dc9E81...44bd90C49
0.05009765 ETH
86934182019-10-07 6:38:111852 days ago1570430291
0xa1dc9E81...44bd90C49
0.05004031 ETH
86796722019-10-05 3:23:251854 days ago1570245805
0xa1dc9E81...44bd90C49
0.05005964 ETH
86657642019-10-02 23:22:101856 days ago1570058530
0xa1dc9E81...44bd90C49
0.05003019 ETH
86520242019-09-30 19:45:301858 days ago1569872730
0xa1dc9E81...44bd90C49
0.0500671 ETH
86385722019-09-28 17:16:591860 days ago1569691019
0xa1dc9E81...44bd90C49
0.05002265 ETH
86238502019-09-26 10:02:391862 days ago1569492159
0xa1dc9E81...44bd90C49
0.05003 ETH
86108042019-09-24 8:56:501865 days ago1569315410
0xa1dc9E81...44bd90C49
0.05006582 ETH
85974092019-09-22 6:30:481867 days ago1569133848
0xa1dc9E81...44bd90C49
0.05003912 ETH
85840602019-09-20 4:35:071869 days ago1568954107
0xa1dc9E81...44bd90C49
0.05002369 ETH
85709192019-09-18 3:16:021871 days ago1568776562
0xa1dc9E81...44bd90C49
0.05003156 ETH
85580492019-09-16 3:17:591873 days ago1568603879
0xa1dc9E81...44bd90C49
0.05012111 ETH
85449832019-09-14 2:21:541875 days ago1568427714
0xa1dc9E81...44bd90C49
0.05000247 ETH
85319922019-09-12 1:28:461877 days ago1568251726
0xa1dc9E81...44bd90C49
0.05008172 ETH
85195832019-09-10 3:02:311879 days ago1568084551
0xa1dc9E81...44bd90C49
0.0502197 ETH
85065642019-09-08 2:24:391881 days ago1567909479
0xa1dc9E81...44bd90C49
0.05003714 ETH
84937992019-09-06 2:24:191883 days ago1567736659
0xa1dc9E81...44bd90C49
0.05008263 ETH
84807182019-09-04 1:36:281885 days ago1567560988
0xa1dc9E81...44bd90C49
0.0500735 ETH
84658642019-09-01 18:14:071887 days ago1567361647
0xa1dc9E81...44bd90C49
0.05013194 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.