ETH Price: $2,714.08 (+1.75%)

Contract

0xA3Db93cDf409A36BEF4C047211CF47f064d73168
 

Overview

ETH Balance

0.000000003890178664 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep80161902019-06-23 19:38:092067 days ago1561318689IN
0xA3Db93cD...064d73168
0 ETH0.0014997930
Transfer80161702019-06-23 19:33:012067 days ago1561318381IN
0xA3Db93cD...064d73168
3.2091872 ETH0.00012636
Sweep75246902019-04-08 2:08:532144 days ago1554689333IN
0xA3Db93cD...064d73168
0 ETH0.0025028550
Transfer75246692019-04-08 2:06:032144 days ago1554689163IN
0xA3Db93cD...064d73168
13.00778437 ETH0.000147357
Sweep63036172018-09-10 2:49:022354 days ago1536547742IN
0xA3Db93cD...064d73168
0 ETH0.0025060550
Transfer63036132018-09-10 2:47:332354 days ago1536547653IN
0xA3Db93cD...064d73168
24.69060099 ETH0.0004420721
Sweep63035882018-09-10 2:42:162354 days ago1536547336IN
0xA3Db93cD...064d73168
0 ETH0.0024996550
Transfer63035732018-09-10 2:38:362354 days ago1536547116IN
0xA3Db93cD...064d73168
1 ETH0.0004420721
Sweep58300742018-06-21 19:21:062434 days ago1529608866IN
0xA3Db93cD...064d73168
0 ETH0.0025028550
Transfer58300422018-06-21 19:12:272434 days ago1529608347IN
0xA3Db93cD...064d73168
0.35217 ETH0.00008424.0002
Sweep56196432018-05-15 20:07:042471 days ago1526414824IN
0xA3Db93cD...064d73168
0 ETH0.0025028550
Transfer56196232018-05-15 20:00:382471 days ago1526414438IN
0xA3Db93cD...064d73168
0.26887 ETH0.0002105110
Transfer48675522018-01-07 6:20:242600 days ago1515306024IN
0xA3Db93cD...064d73168
0.03301 ETH0.0002105110
Sweep48599582018-01-05 20:41:282601 days ago1515184888IN
0xA3Db93cD...064d73168
0 ETH0.0049993100
Transfer48599432018-01-05 20:37:292601 days ago1515184649IN
0xA3Db93cD...064d73168
0.22 ETH0.0004420721
Sweep48599222018-01-05 20:31:242601 days ago1515184284IN
0xA3Db93cD...064d73168
0 ETH0.0049993100
Transfer48599002018-01-05 20:25:042601 days ago1515183904IN
0xA3Db93cD...064d73168
0.387 ETH0.00252612120
Transfer48598942018-01-05 20:23:322601 days ago1515183812IN
0xA3Db93cD...064d73168
0.033 ETH0.0004420721
Sweep48594452018-01-05 18:18:312601 days ago1515176311IN
0xA3Db93cD...064d73168
0 ETH0.0049993100
Transfer48594032018-01-05 18:07:592601 days ago1515175679IN
0xA3Db93cD...064d73168
0.14 ETH0.00263137125

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
80161902019-06-23 19:38:092067 days ago1561318689
0xA3Db93cD...064d73168
3.2091872 ETH
75246902019-04-08 2:08:532144 days ago1554689333
0xA3Db93cD...064d73168
13.00778438 ETH
63036172018-09-10 2:49:022354 days ago1536547742
0xA3Db93cD...064d73168
24.69060099 ETH
63035882018-09-10 2:42:162354 days ago1536547336
0xA3Db93cD...064d73168
1 ETH
58300742018-06-21 19:21:062434 days ago1529608866
0xA3Db93cD...064d73168
0.35217 ETH
56196432018-05-15 20:07:042471 days ago1526414824
0xA3Db93cD...064d73168
0.30188 ETH
48599582018-01-05 20:41:282601 days ago1515184888
0xA3Db93cD...064d73168
0.22 ETH
48599222018-01-05 20:31:242601 days ago1515184284
0xA3Db93cD...064d73168
0.42 ETH
48594452018-01-05 18:18:312601 days ago1515176311
0xA3Db93cD...064d73168
0.14 ETH
47738962017-12-22 0:31:492616 days ago1513902709  Contract Creation0 ETH
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.