ETH Price: $2,815.38 (+8.96%)
 

Overview

ETH Balance

0.000000001868056652 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep138109542021-12-15 17:05:231146 days ago1639587923IN
0x381cE000...C0416f857
0 ETH0.0151363267.49673142
Transfer138109272021-12-15 16:57:421146 days ago1639587462IN
0x381cE000...C0416f857
0.97712594 ETH0.00344333163.5713028
Sweep136612222021-11-22 0:02:421170 days ago1637539362IN
0x381cE000...C0416f857
0 ETH0.01291398228.22267618
Transfer136612062021-11-21 23:59:201170 days ago1637539160IN
0x381cE000...C0416f857
0.18556595 ETH0.00333799158.5671881
Sweep135281342021-11-01 1:03:221191 days ago1635728602IN
0x381cE000...C0416f857
0 ETH0.01013479160.90042487
Sweep133694722021-10-07 3:37:341216 days ago1633577854IN
0x381cE000...C0416f857
0 ETH0.00837285147.96954504
Transfer133694482021-10-07 3:33:241216 days ago1633577604IN
0x381cE000...C0416f857
0.78917 ETH0.00402194191.05734664
Sweep123702772021-05-04 21:44:251371 days ago1620164665IN
0x381cE000...C0416f857
0 ETH0.003221156.925
Transfer123702622021-05-04 21:40:561371 days ago1620164456IN
0x381cE000...C0416f857
0.637029 ETH0.00252612120
Sweep122710492021-04-19 14:28:151386 days ago1618842495IN
0x381cE000...C0416f857
0 ETH0.01463941278.3
Transfer50130002018-02-01 18:54:302559 days ago1517511270IN
0x381cE000...C0416f857
1 ETH0.0010550
Transfer50128542018-02-01 18:20:392559 days ago1517509239IN
0x381cE000...C0416f857
1 ETH0.0010550
Transfer50128372018-02-01 18:17:212559 days ago1517509041IN
0x381cE000...C0416f857
0.13320147 ETH0.0010550
Transfer49019642018-01-13 14:19:032578 days ago1515853143IN
0x381cE000...C0416f857
2.99 ETH0.0010550
Sweep49019202018-01-13 14:05:322578 days ago1515852332IN
0x381cE000...C0416f857
0 ETH0.0045051390
Transfer49018922018-01-13 13:59:032578 days ago1515851943IN
0x381cE000...C0416f857
0.80489597 ETH0.0010525550
Transfer48932402018-01-11 23:54:022580 days ago1515714842IN
0x381cE000...C0416f857
0.5 ETH0.00109252
Transfer48931432018-01-11 23:30:502580 days ago1515713450IN
0x381cE000...C0416f857
0.2 ETH0.0018990
Transfer48764132018-01-08 21:07:042583 days ago1515445624IN
0x381cE000...C0416f857
0.2 ETH0.0014770
Sweep47773022017-12-22 14:56:542600 days ago1513954614IN
0x381cE000...C0416f857
0 ETH0.0030034260
Transfer47770422017-12-22 13:48:202600 days ago1513950500IN
0x381cE000...C0416f857
1.07627496 ETH0.0008420440
Sweep43646482017-10-14 9:16:512670 days ago1507972611IN
0x381cE000...C0416f857
0 ETH0.0015517631
Transfer43646422017-10-14 9:14:092670 days ago1507972449IN
0x381cE000...C0416f857
13.86767342 ETH0.0004420721

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
138109542021-12-15 17:05:231146 days ago1639587923
0x381cE000...C0416f857
0.97712595 ETH
136612222021-11-22 0:02:421170 days ago1637539362
0x381cE000...C0416f857
0.18556595 ETH
133694722021-10-07 3:37:341216 days ago1633577854
0x381cE000...C0416f857
0.78917 ETH
123702772021-05-04 21:44:251371 days ago1620164665
0x381cE000...C0416f857
0.637029 ETH
49019202018-01-13 14:05:322578 days ago1515852332
0x381cE000...C0416f857
0.80489597 ETH
47773022017-12-22 14:56:542600 days ago1513954614
0x381cE000...C0416f857
1.07627496 ETH
43646482017-10-14 9:16:512670 days ago1507972611
0x381cE000...C0416f857
13.86767342 ETH
43571892017-10-11 19:24:032672 days ago1507749843  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.