ETH Price: $2,555.87 (+4.91%)

Contract

0xaC481d5ECC2E43005b5284E3325142E62Ed574B2
 

Overview

ETH Balance

0.036716271717980829 ETH

Eth Value

$93.84 (@ $2,555.87/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer74148082019-03-21 22:26:262009 days ago1553207186IN
0xaC481d5E...62Ed574B2
0.03671626 ETH0.000021051
Sweep73697842019-03-14 22:28:422016 days ago1552602522IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73697652019-03-14 22:24:332016 days ago1552602273IN
0xaC481d5E...62Ed574B2
0.05016065 ETH0.000021051
Sweep73627112019-03-13 20:03:522017 days ago1552507432IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73626892019-03-13 19:59:122017 days ago1552507152IN
0xaC481d5E...62Ed574B2
0.05005548 ETH0.000021051
Sweep73549202019-03-12 14:46:422018 days ago1552402002IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73548962019-03-12 14:40:492018 days ago1552401649IN
0xaC481d5E...62Ed574B2
0.05017266 ETH0.000021051
Sweep73480532019-03-11 13:07:512019 days ago1552309671IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73480272019-03-11 13:04:352019 days ago1552309475IN
0xaC481d5E...62Ed574B2
0.0500324 ETH0.000021051
Sweep73409952019-03-10 10:55:442021 days ago1552215344IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73409752019-03-10 10:52:032021 days ago1552215123IN
0xaC481d5E...62Ed574B2
0.05012841 ETH0.000021051
Sweep73335422019-03-09 6:58:132022 days ago1552114693IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73335262019-03-09 6:54:202022 days ago1552114460IN
0xaC481d5E...62Ed574B2
0.05012061 ETH0.000021051
Sweep73237442019-03-07 18:18:142023 days ago1551982694IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73237222019-03-07 18:13:402023 days ago1551982420IN
0xaC481d5E...62Ed574B2
0.0501613 ETH0.000021051
Sweep73164362019-03-06 14:58:062024 days ago1551884286IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73164122019-03-06 14:53:202024 days ago1551884000IN
0xaC481d5E...62Ed574B2
0.05008701 ETH0.000021051
Sweep73091022019-03-05 11:34:052026 days ago1551785645IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73090862019-03-05 11:29:032026 days ago1551785343IN
0xaC481d5E...62Ed574B2
0.050238 ETH0.000021051
Sweep73019902019-03-04 8:55:102027 days ago1551689710IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer73019732019-03-04 8:52:512027 days ago1551689571IN
0xaC481d5E...62Ed574B2
0.05000647 ETH0.000021051
Sweep72948042019-03-03 6:00:412028 days ago1551592841IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer72947842019-03-03 5:55:592028 days ago1551592559IN
0xaC481d5E...62Ed574B2
0.05012892 ETH0.000021051
Sweep72875642019-03-02 2:42:332029 days ago1551494553IN
0xaC481d5E...62Ed574B2
0 ETH0.0024996550
Transfer72875462019-03-02 2:37:332029 days ago1551494253IN
0xaC481d5E...62Ed574B2
0.0501141 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
73697842019-03-14 22:28:422016 days ago1552602522
0xaC481d5E...62Ed574B2
0.05016066 ETH
73627112019-03-13 20:03:522017 days ago1552507432
0xaC481d5E...62Ed574B2
0.05005548 ETH
73549202019-03-12 14:46:422018 days ago1552402002
0xaC481d5E...62Ed574B2
0.05017266 ETH
73480532019-03-11 13:07:512019 days ago1552309671
0xaC481d5E...62Ed574B2
0.0500324 ETH
73409952019-03-10 10:55:442021 days ago1552215344
0xaC481d5E...62Ed574B2
0.05012842 ETH
73335422019-03-09 6:58:132022 days ago1552114693
0xaC481d5E...62Ed574B2
0.05012062 ETH
73237442019-03-07 18:18:142023 days ago1551982694
0xaC481d5E...62Ed574B2
0.0501613 ETH
73164362019-03-06 14:58:062024 days ago1551884286
0xaC481d5E...62Ed574B2
0.05008701 ETH
73091022019-03-05 11:34:052026 days ago1551785645
0xaC481d5E...62Ed574B2
0.050238 ETH
73019902019-03-04 8:55:102027 days ago1551689710
0xaC481d5E...62Ed574B2
0.05000647 ETH
72948042019-03-03 6:00:412028 days ago1551592841
0xaC481d5E...62Ed574B2
0.05012893 ETH
72875642019-03-02 2:42:332029 days ago1551494553
0xaC481d5E...62Ed574B2
0.05011411 ETH
72819412019-03-01 4:50:552030 days ago1551415855
0xaC481d5E...62Ed574B2
0.05006092 ETH
72755982019-02-27 19:04:082031 days ago1551294248
0xaC481d5E...62Ed574B2
0.05021834 ETH
72707992019-02-26 16:07:502032 days ago1551197270
0xaC481d5E...62Ed574B2
0.05005583 ETH
72659352019-02-25 12:42:102033 days ago1551098530
0xaC481d5E...62Ed574B2
0.0500485 ETH
72612662019-02-24 10:27:162035 days ago1551004036
0xaC481d5E...62Ed574B2
0.05016384 ETH
72563992019-02-23 7:11:262036 days ago1550905886
0xaC481d5E...62Ed574B2
0.05000881 ETH
72516282019-02-22 4:21:212037 days ago1550809281
0xaC481d5E...62Ed574B2
0.0501192 ETH
72468962019-02-21 1:44:382038 days ago1550713478
0xaC481d5E...62Ed574B2
0.05004947 ETH
72421732019-02-19 22:54:182039 days ago1550616858
0xaC481d5E...62Ed574B2
0.0500097 ETH
72378622019-02-18 22:41:492040 days ago1550529709
0xaC481d5E...62Ed574B2
0.05022581 ETH
72328882019-02-17 18:10:192041 days ago1550427019
0xaC481d5E...62Ed574B2
0.05026984 ETH
72284202019-02-16 16:39:072042 days ago1550335147
0xaC481d5E...62Ed574B2
0.05012994 ETH
72238042019-02-15 14:12:492043 days ago1550239969
0xaC481d5E...62Ed574B2
0.05007154 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.