ETH Price: $2,052.56 (-4.47%)

Contract

0xD01aC79BFEcdcB2157a34F8602B56bf9Bc17CD20
 

Overview

ETH Balance

0.044438247114375953 ETH

Eth Value

$91.21 (@ $2,052.56/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer99606042020-04-28 10:59:562158 days ago1588071596IN
0xD01aC79B...9Bc17CD20
0.04443824 ETH0.000021051
Sweep99154192020-04-21 10:59:132165 days ago1587466753IN
0xD01aC79B...9Bc17CD20
0 ETH0.0012536722
Transfer99153902020-04-21 10:55:172165 days ago1587466517IN
0xD01aC79B...9Bc17CD20
0.04869325 ETH0.000021051
Transfer98701492020-04-14 10:58:072172 days ago1586861887IN
0xD01aC79B...9Bc17CD20
0.04893007 ETH0.000021051
Sweep98245672020-04-07 10:54:412179 days ago1586256881IN
0xD01aC79B...9Bc17CD20
0 ETH0.001253422
Transfer98245442020-04-07 10:50:242179 days ago1586256624IN
0xD01aC79B...9Bc17CD20
0.05044862 ETH0.000021051
Sweep97790542020-03-31 10:51:082186 days ago1585651868IN
0xD01aC79B...9Bc17CD20
0 ETH0.0012536722
Transfer97790402020-03-31 10:47:462186 days ago1585651666IN
0xD01aC79B...9Bc17CD20
0.05032648 ETH0.000021051
Transfer97337322020-03-24 10:48:072193 days ago1585046887IN
0xD01aC79B...9Bc17CD20
0.04930581 ETH0.000021051
Sweep96885682020-03-17 10:46:232200 days ago1584441983IN
0xD01aC79B...9Bc17CD20
0 ETH0.0012536722
Transfer96885522020-03-17 10:42:232200 days ago1584441743IN
0xD01aC79B...9Bc17CD20
0.04717874 ETH0.000021051
Transfer96432392020-03-10 10:34:382207 days ago1583836478IN
0xD01aC79B...9Bc17CD20
0.04864257 ETH0.000021051
Sweep95976682020-03-03 10:36:152214 days ago1583231775IN
0xD01aC79B...9Bc17CD20
0 ETH0.0012536722
Transfer95976482020-03-03 10:32:152214 days ago1583231535IN
0xD01aC79B...9Bc17CD20
0.04966366 ETH0.000021051
Transfer95520582020-02-25 10:25:252221 days ago1582626325IN
0xD01aC79B...9Bc17CD20
0.04862786 ETH0.000021051
Sweep95065512020-02-18 10:27:022228 days ago1582021622IN
0xD01aC79B...9Bc17CD20
0 ETH0.0012531422
Transfer95065322020-02-18 10:22:052228 days ago1582021325IN
0xD01aC79B...9Bc17CD20
0.05126463 ETH0.000021051
Sweep94611022020-02-11 10:23:142235 days ago1581416594IN
0xD01aC79B...9Bc17CD20
0 ETH0.001253422
Transfer94610852020-02-11 10:18:582235 days ago1581416338IN
0xD01aC79B...9Bc17CD20
0.05278334 ETH0.000021051
Sweep94155342020-02-04 10:19:032242 days ago1580811543IN
0xD01aC79B...9Bc17CD20
0 ETH0.001253422
Transfer94155162020-02-04 10:15:292242 days ago1580811329IN
0xD01aC79B...9Bc17CD20
0.0527381 ETH0.000021051
Sweep93699212020-01-28 10:15:352249 days ago1580206535IN
0xD01aC79B...9Bc17CD20
0 ETH0.001253422
Transfer93698982020-01-28 10:11:202249 days ago1580206280IN
0xD01aC79B...9Bc17CD20
0.05106858 ETH0.000021051
Sweep93242402020-01-21 10:12:132256 days ago1579601533IN
0xD01aC79B...9Bc17CD20
0 ETH0.001253422
Transfer93242192020-01-21 10:07:492256 days ago1579601269IN
0xD01aC79B...9Bc17CD20
0.05176521 ETH0.000021051
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-99154192020-04-21 10:59:132165 days ago1587466753
0xD01aC79B...9Bc17CD20
0.09762333 ETH
-98245672020-04-07 10:54:412179 days ago1586256881
0xD01aC79B...9Bc17CD20
0.05044862 ETH
-97790542020-03-31 10:51:082186 days ago1585651868
0xD01aC79B...9Bc17CD20
0.09963231 ETH
-96885682020-03-17 10:46:232200 days ago1584441983
0xD01aC79B...9Bc17CD20
0.09582132 ETH
-95976682020-03-03 10:36:152214 days ago1583231775
0xD01aC79B...9Bc17CD20
0.09829153 ETH
-95065512020-02-18 10:27:022228 days ago1582021622
0xD01aC79B...9Bc17CD20
0.05126464 ETH
-94611022020-02-11 10:23:142235 days ago1581416594
0xD01aC79B...9Bc17CD20
0.05278334 ETH
-94155342020-02-04 10:19:032242 days ago1580811543
0xD01aC79B...9Bc17CD20
0.0527381 ETH
-93699212020-01-28 10:15:352249 days ago1580206535
0xD01aC79B...9Bc17CD20
0.05106859 ETH
-93242402020-01-21 10:12:132256 days ago1579601533
0xD01aC79B...9Bc17CD20
0.05176521 ETH
-92785362020-01-14 10:07:582263 days ago1578996478
0xD01aC79B...9Bc17CD20
0.05243491 ETH
-92328342020-01-07 10:04:272270 days ago1578391467
0xD01aC79B...9Bc17CD20
0.05011198 ETH
-91903212019-12-31 10:08:122277 days ago1577786892
0xD01aC79B...9Bc17CD20
0.07969767 ETH
Transfer49428092018-01-20 21:47:082987 days ago1516484828  Contract Creation0 ETH
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.