ETH Price: $2,019.01 (+1.75%)
Gas: 0.11 Gwei

Contract

0x83D8a6150Fca8f8bD2efD34f41C7cc2Ba4E87a81
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep92579192020-01-11 6:19:132268 days ago1578723553IN
0x83D8a615...Ba4E87a81
0 ETH0.0012539322
Transfer92578972020-01-11 6:13:532268 days ago1578723233IN
0x83D8a615...Ba4E87a81
115.1244783 ETH0.000021051
Sweep91545712019-12-24 7:09:222286 days ago1577171362IN
0x83D8a615...Ba4E87a81
0 ETH0.0012539322
Transfer91545442019-12-24 7:02:572286 days ago1577170977IN
0x83D8a615...Ba4E87a81
107.9403629 ETH0.000105255
Sweep88509322019-11-01 5:39:302339 days ago1572586770IN
0x83D8a615...Ba4E87a81
0 ETH0.0011026622
Transfer88509062019-11-01 5:34:182339 days ago1572586458IN
0x83D8a615...Ba4E87a81
86.63165304 ETH0.000023151.1
Sweep86528882019-09-30 22:59:462370 days ago1569884386IN
0x83D8a615...Ba4E87a81
0 ETH0.0011026622
Transfer86528842019-09-30 22:58:492370 days ago1569884329IN
0x83D8a615...Ba4E87a81
93.84164223 ETH0.0002736613
Transfer86528672019-09-30 22:55:072370 days ago1569884107IN
0x83D8a615...Ba4E87a81
93.84164223 ETH0.00025212
Transfer86528562019-09-30 22:52:492370 days ago1569883969IN
0x83D8a615...Ba4E87a81
93.84164223 ETH0.00002311.1
Sweep84597042019-08-31 18:56:592401 days ago1567277819IN
0x83D8a615...Ba4E87a81
0 ETH0.0011026622
Transfer84597002019-08-31 18:56:092401 days ago1567277769IN
0x83D8a615...Ba4E87a81
94.38414346 ETH0.0002105110
Transfer84596852019-08-31 18:52:312401 days ago1567277551IN
0x83D8a615...Ba4E87a81
94.38414346 ETH0.0002110
Sweep82633342019-08-01 6:50:532431 days ago1564642253IN
0x83D8a615...Ba4E87a81
0 ETH0.0015036330
Transfer82633112019-08-01 6:44:212431 days ago1564641861IN
0x83D8a615...Ba4E87a81
76.00228007 ETH0.0005262725
Sweep80753422019-07-03 0:45:512460 days ago1562114751IN
0x83D8a615...Ba4E87a81
0 ETH0.0011026622
Transfer80753222019-07-03 0:42:312460 days ago1562114551IN
0x83D8a615...Ba4E87a81
54.37183539 ETH0.0002105110
Sweep78692662019-05-31 19:40:212493 days ago1559331621IN
0x83D8a615...Ba4E87a81
0 ETH0.0025060550
Transfer78692472019-05-31 19:37:232493 days ago1559331443IN
0x83D8a615...Ba4E87a81
62.53419839 ETH0.0002105110
Sweep76785882019-05-02 1:02:292522 days ago1556758949IN
0x83D8a615...Ba4E87a81
0 ETH0.0025060550
Transfer76785722019-05-02 0:58:402522 days ago1556758720IN
0x83D8a615...Ba4E87a81
103.092785 ETH0.0002105110
Sweep74659442019-03-29 22:03:132555 days ago1553896993IN
0x83D8a615...Ba4E87a81
0 ETH0.0025060550
Transfer74659272019-03-29 22:00:182555 days ago1553896818IN
0x83D8a615...Ba4E87a81
114.7611533 ETH0.0002105110
Sweep74323282019-03-24 15:58:042561 days ago1553443084IN
0x83D8a615...Ba4E87a81
0 ETH0.0023353550
Sweep73360352019-03-09 16:22:022576 days ago1552148522IN
0x83D8a615...Ba4E87a81
0 ETH0.0025060550
View all transactions

Latest 12 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-92579192020-01-11 6:19:132268 days ago1578723553
0x83D8a615...Ba4E87a81
115.1244783 ETH
-91545712019-12-24 7:09:222286 days ago1577171362
0x83D8a615...Ba4E87a81
107.9403629 ETH
-88509322019-11-01 5:39:302339 days ago1572586770
0x83D8a615...Ba4E87a81
86.63165304 ETH
-86528882019-09-30 22:59:462370 days ago1569884386
0x83D8a615...Ba4E87a81
93.84164223 ETH
-84597042019-08-31 18:56:592401 days ago1567277819
0x83D8a615...Ba4E87a81
94.38414346 ETH
-82633342019-08-01 6:50:532431 days ago1564642253
0x83D8a615...Ba4E87a81
76.00228007 ETH
-80753422019-07-03 0:45:512460 days ago1562114751
0x83D8a615...Ba4E87a81
54.37183539 ETH
-78692662019-05-31 19:40:212493 days ago1559331621
0x83D8a615...Ba4E87a81
62.53419839 ETH
-76785882019-05-02 1:02:292522 days ago1556758949
0x83D8a615...Ba4E87a81
103.092785 ETH
-74659442019-03-29 22:03:132555 days ago1553896993
0x83D8a615...Ba4E87a81
114.7611533 ETH
-73360352019-03-09 16:22:022576 days ago1552148522
0x83D8a615...Ba4E87a81
117.5347095 ETH
Transfer50533012018-02-08 13:58:022970 days ago1518098282  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.