ETH Price: $2,147.42 (+3.00%)

Contract

0x49CDCFF1Af69894Cd44d0c194948BBBa74B3ee86
 

Overview

ETH Balance

0.048749718180458536 ETH

Eth Value

$104.69 (@ $2,147.42/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer91294912019-12-19 7:03:532278 days ago1576739033IN
0x49CDCFF1...a74B3ee86
0.04874971 ETH0.000021051
Sweep90931022019-12-12 7:04:162285 days ago1576134256IN
0x49CDCFF1...a74B3ee86
0 ETH0.0012536722
Transfer90930782019-12-12 6:58:552285 days ago1576133935IN
0x49CDCFF1...a74B3ee86
0.12593752 ETH0.000021051
Sweep90535942019-12-05 6:53:532292 days ago1575528833IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer90535772019-12-05 6:49:242292 days ago1575528564IN
0x49CDCFF1...a74B3ee86
0.18306948 ETH0.000021051
Sweep90141262019-11-28 6:49:432299 days ago1574923783IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer90141092019-11-28 6:45:452299 days ago1574923545IN
0x49CDCFF1...a74B3ee86
0.20127049 ETH0.000021051
Sweep89729412019-11-21 6:47:262306 days ago1574318846IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer89729202019-11-21 6:42:232306 days ago1574318543IN
0x49CDCFF1...a74B3ee86
0.25204313 ETH0.000021051
Sweep89310012019-11-14 6:45:472313 days ago1573713947IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer89309772019-11-14 6:40:262313 days ago1573713626IN
0x49CDCFF1...a74B3ee86
0.28415281 ETH0.000021051
Sweep88885622019-11-07 6:46:242320 days ago1573109184IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer88885412019-11-07 6:40:122320 days ago1573108812IN
0x49CDCFF1...a74B3ee86
0.3883267 ETH0.000021051
Sweep88449762019-10-31 6:41:372327 days ago1572504097IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer88449492019-10-31 6:37:392327 days ago1572503859IN
0x49CDCFF1...a74B3ee86
0.35467153 ETH0.000021051
Sweep88014342019-10-24 6:35:162334 days ago1571898916IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer88014202019-10-24 6:33:152334 days ago1571898795IN
0x49CDCFF1...a74B3ee86
0.42206357 ETH0.000021051
Sweep87570012019-10-17 6:32:102341 days ago1571293930IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer87569772019-10-17 6:28:422341 days ago1571293722IN
0x49CDCFF1...a74B3ee86
0.41685108 ETH0.000021051
Sweep87124432019-10-10 6:31:062348 days ago1570689066IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer87124262019-10-10 6:26:572348 days ago1570688817IN
0x49CDCFF1...a74B3ee86
0.29083889 ETH0.000021051
Sweep86676892019-10-03 6:31:172355 days ago1570084277IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer86676712019-10-03 6:25:592355 days ago1570083959IN
0x49CDCFF1...a74B3ee86
0.46834694 ETH0.000021051
Sweep86229132019-09-26 6:26:382362 days ago1569479198IN
0x49CDCFF1...a74B3ee86
0 ETH0.0011012522
Transfer86228972019-09-26 6:24:062362 days ago1569479046IN
0x49CDCFF1...a74B3ee86
0.49597468 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-90931022019-12-12 7:04:162285 days ago1576134256
0x49CDCFF1...a74B3ee86
0.12593752 ETH
-90535942019-12-05 6:53:532292 days ago1575528833
0x49CDCFF1...a74B3ee86
0.18306948 ETH
-90141262019-11-28 6:49:432299 days ago1574923783
0x49CDCFF1...a74B3ee86
0.2012705 ETH
-89729412019-11-21 6:47:262306 days ago1574318846
0x49CDCFF1...a74B3ee86
0.25204314 ETH
-89310012019-11-14 6:45:472313 days ago1573713947
0x49CDCFF1...a74B3ee86
0.28415281 ETH
-88885622019-11-07 6:46:242320 days ago1573109184
0x49CDCFF1...a74B3ee86
0.3883267 ETH
-88449762019-10-31 6:41:372327 days ago1572504097
0x49CDCFF1...a74B3ee86
0.35467153 ETH
-88014342019-10-24 6:35:162334 days ago1571898916
0x49CDCFF1...a74B3ee86
0.42206358 ETH
-87570012019-10-17 6:32:102341 days ago1571293930
0x49CDCFF1...a74B3ee86
0.41685108 ETH
-87124432019-10-10 6:31:062348 days ago1570689066
0x49CDCFF1...a74B3ee86
0.2908389 ETH
-86676892019-10-03 6:31:172355 days ago1570084277
0x49CDCFF1...a74B3ee86
0.46834695 ETH
-86229132019-09-26 6:26:382362 days ago1569479198
0x49CDCFF1...a74B3ee86
0.49597468 ETH
-85781882019-09-19 6:25:372369 days ago1568874337
0x49CDCFF1...a74B3ee86
0.43756175 ETH
-85332412019-09-12 6:19:522376 days ago1568269192
0x49CDCFF1...a74B3ee86
0.38039492 ETH
-84884132019-09-05 6:19:012383 days ago1567664341
0x49CDCFF1...a74B3ee86
0.07561778 ETH
-84433792019-08-29 6:11:542390 days ago1567059114
0x49CDCFF1...a74B3ee86
0.59880272 ETH
-83983992019-08-22 6:09:032397 days ago1566454143
0x49CDCFF1...a74B3ee86
0.57622892 ETH
-83534222019-08-15 6:11:372404 days ago1565849497
0x49CDCFF1...a74B3ee86
0.65410529 ETH
-83082372019-08-08 6:08:082411 days ago1565244488
0x49CDCFF1...a74B3ee86
0.75702128 ETH
-82631562019-08-01 6:06:532418 days ago1564639613
0x49CDCFF1...a74B3ee86
0.73540996 ETH
-82180992019-07-25 6:02:412425 days ago1564034561
0x49CDCFF1...a74B3ee86
0.80032156 ETH
-81729172019-07-18 5:59:582432 days ago1563429598
0x49CDCFF1...a74B3ee86
0.75660828 ETH
-81282232019-07-11 5:59:552439 days ago1562824795
0x49CDCFF1...a74B3ee86
0.57838557 ETH
-80830972019-07-04 5:57:302446 days ago1562219850
0x49CDCFF1...a74B3ee86
0.71494093 ETH
-80382322019-06-27 5:56:272453 days ago1561614987
0x49CDCFF1...a74B3ee86
0.77214944 ETH
View All Internal Transactions
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.