ETH Price: $2,729.76 (-0.85%)

Contract

0x9acd42bA08Ec18795b18149d70eD85f8e38410a1
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep61144222018-08-09 4:32:252390 days ago1533789145IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer61144022018-08-09 4:28:052390 days ago1533788885IN
0x9acd42bA...8e38410a1
0.10798587 ETH0.0019787994
Sweep61023732018-08-07 3:42:522392 days ago1533613372IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer61023582018-08-07 3:38:032393 days ago1533613083IN
0x9acd42bA...8e38410a1
0.13769875 ETH0.0008167738.8
Sweep60903922018-08-05 3:08:212395 days ago1533438501IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60903742018-08-05 3:05:092395 days ago1533438309IN
0x9acd42bA...8e38410a1
0.13944027 ETH0.0007620436.2
Sweep60786122018-08-03 3:35:342397 days ago1533267334IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60785922018-08-03 3:31:532397 days ago1533267113IN
0x9acd42bA...8e38410a1
0.13727498 ETH0.0007788837
Sweep60669712018-08-01 4:03:452398 days ago1533096225IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60669552018-08-01 3:58:252398 days ago1533095905IN
0x9acd42bA...8e38410a1
0.13941351 ETH0.0007686736.515
Sweep60550862018-07-30 3:59:372400 days ago1532923177IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60550642018-07-30 3:54:342400 days ago1532922874IN
0x9acd42bA...8e38410a1
0.13904694 ETH0.0007578536.001
Sweep60432382018-07-28 4:33:112402 days ago1532752391IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60432252018-07-28 4:30:362402 days ago1532752236IN
0x9acd42bA...8e38410a1
0.13763206 ETH0.0007580436.01
Sweep60321722018-07-26 7:31:442404 days ago1532590304IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60321452018-07-26 7:24:042404 days ago1532589844IN
0x9acd42bA...8e38410a1
0.13267809 ETH0.0007620436.2
Sweep60207122018-07-24 8:46:542406 days ago1532422014IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer60206602018-07-24 8:35:312406 days ago1532421331IN
0x9acd42bA...8e38410a1
0.1079929 ETH0.0007830937.2
Sweep59972802018-07-20 9:24:192410 days ago1532078659IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer59972412018-07-20 9:13:542410 days ago1532078034IN
0x9acd42bA...8e38410a1
0.13104671 ETH0.0008420440
Sweep59842822018-07-18 3:54:502412 days ago1531886090IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer59842542018-07-18 3:46:212412 days ago1531885581IN
0x9acd42bA...8e38410a1
0.13768029 ETH0.0008630941
Sweep59727652018-07-16 4:23:132414 days ago1531714993IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
Transfer59727332018-07-16 4:14:052414 days ago1531714445IN
0x9acd42bA...8e38410a1
0.1332124 ETH0.0008630941
Sweep59606092018-07-14 3:58:452416 days ago1531540725IN
0x9acd42bA...8e38410a1
0 ETH0.0050057100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
61144222018-08-09 4:32:252390 days ago1533789145
0x9acd42bA...8e38410a1
0.10798587 ETH
61023732018-08-07 3:42:522392 days ago1533613372
0x9acd42bA...8e38410a1
0.13769875 ETH
60903922018-08-05 3:08:212395 days ago1533438501
0x9acd42bA...8e38410a1
0.13944027 ETH
60786122018-08-03 3:35:342397 days ago1533267334
0x9acd42bA...8e38410a1
0.13727498 ETH
60669712018-08-01 4:03:452398 days ago1533096225
0x9acd42bA...8e38410a1
0.13941351 ETH
60550862018-07-30 3:59:372400 days ago1532923177
0x9acd42bA...8e38410a1
0.13904694 ETH
60432382018-07-28 4:33:112402 days ago1532752391
0x9acd42bA...8e38410a1
0.13763206 ETH
60321722018-07-26 7:31:442404 days ago1532590304
0x9acd42bA...8e38410a1
0.13267809 ETH
60207122018-07-24 8:46:542406 days ago1532422014
0x9acd42bA...8e38410a1
0.1079929 ETH
59972802018-07-20 9:24:192410 days ago1532078659
0x9acd42bA...8e38410a1
0.13104671 ETH
59842822018-07-18 3:54:502412 days ago1531886090
0x9acd42bA...8e38410a1
0.13768029 ETH
59727652018-07-16 4:23:132414 days ago1531714993
0x9acd42bA...8e38410a1
0.1332124 ETH
59606092018-07-14 3:58:452416 days ago1531540725
0x9acd42bA...8e38410a1
0.13150604 ETH
59485492018-07-12 3:41:252419 days ago1531366885
0x9acd42bA...8e38410a1
0.13488019 ETH
59380902018-07-10 8:51:092420 days ago1531212669
0x9acd42bA...8e38410a1
0.13273373 ETH
59253422018-07-08 4:10:312422 days ago1531023031
0x9acd42bA...8e38410a1
0.14230678 ETH
59138642018-07-06 4:42:102424 days ago1530852130
0x9acd42bA...8e38410a1
0.135101 ETH
59025732018-07-04 6:09:392426 days ago1530684579
0x9acd42bA...8e38410a1
0.13725362 ETH
58912012018-07-02 7:21:492428 days ago1530516109
0x9acd42bA...8e38410a1
0.13683282 ETH
58789842018-06-30 5:29:332430 days ago1530336573
0x9acd42bA...8e38410a1
0.13569351 ETH
58670522018-06-28 4:17:122432 days ago1530159432
0x9acd42bA...8e38410a1
0.12903434 ETH
58554252018-06-26 3:58:002434 days ago1529985480
0x9acd42bA...8e38410a1
0.1319065 ETH
58440152018-06-24 4:18:342436 days ago1529813914
0x9acd42bA...8e38410a1
0.13850305 ETH
58322062018-06-22 4:04:522438 days ago1529640292
0x9acd42bA...8e38410a1
0.13644459 ETH
58204812018-06-20 4:00:262440 days ago1529467226
0x9acd42bA...8e38410a1
0.13793826 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.