ETH Price: $2,362.17 (-2.32%)

Contract

0x4a78e05F7a8E29C05c1DC2B445B046936aFF0A32
 

Overview

ETH Balance

0.038920562275765392 ETH

Eth Value

$91.94 (@ $2,362.17/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer88733382019-11-04 20:08:331940 days ago1572898113IN
0x4a78e05F...36aFF0A32
0.03892055 ETH0.000021051
Sweep88302472019-10-28 21:48:501947 days ago1572299330IN
0x4a78e05F...36aFF0A32
0 ETH0.0010998422
Transfer88302272019-10-28 21:42:531947 days ago1572298973IN
0x4a78e05F...36aFF0A32
1.792 ETH0.000021051
Sweep88298572019-10-28 20:14:481947 days ago1572293688IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer88298362019-10-28 20:09:161947 days ago1572293356IN
0x4a78e05F...36aFF0A32
0.65009701 ETH0.000021051
Sweep88080632019-10-25 8:15:011951 days ago1571991301IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer88080472019-10-25 8:10:381951 days ago1571991038IN
0x4a78e05F...36aFF0A32
1.00032384 ETH0.000021051
Sweep87757242019-10-20 5:18:381956 days ago1571548718IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer87757012019-10-20 5:14:111956 days ago1571548451IN
0x4a78e05F...36aFF0A32
1.00010466 ETH0.000021051
Sweep87436522019-10-15 4:04:121961 days ago1571112252IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer87436382019-10-15 3:58:461961 days ago1571111926IN
0x4a78e05F...36aFF0A32
1.00002366 ETH0.000021051
Sweep87130242019-10-10 8:36:291966 days ago1570696589IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer87129982019-10-10 8:32:411966 days ago1570696361IN
0x4a78e05F...36aFF0A32
1.00021825 ETH0.000021051
Sweep86812712019-10-05 9:32:551971 days ago1570267975IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer86812422019-10-05 9:28:071971 days ago1570267687IN
0x4a78e05F...36aFF0A32
1.00042401 ETH0.000021051
Sweep86506702019-09-30 14:47:211976 days ago1569854841IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer86506462019-09-30 14:42:361976 days ago1569854556IN
0x4a78e05F...36aFF0A32
1.00035651 ETH0.000021051
Sweep86210262019-09-25 23:19:261980 days ago1569453566IN
0x4a78e05F...36aFF0A32
0 ETH0.0012013624
Transfer86210112019-09-25 23:15:311980 days ago1569453331IN
0x4a78e05F...36aFF0A32
1.00023606 ETH0.000021051
Sweep85921072019-09-21 10:34:151985 days ago1569062055IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer85920822019-09-21 10:30:331985 days ago1569061833IN
0x4a78e05F...36aFF0A32
1.00005995 ETH0.000021051
Sweep85644912019-09-17 3:10:511989 days ago1568689851IN
0x4a78e05F...36aFF0A32
0 ETH0.0014040928.05
Transfer85644712019-09-17 3:05:001989 days ago1568689500IN
0x4a78e05F...36aFF0A32
1.00017282 ETH0.000021051
Sweep85384552019-09-13 1:38:491993 days ago1568338729IN
0x4a78e05F...36aFF0A32
0 ETH0.0011012522
Transfer85384352019-09-13 1:33:121993 days ago1568338392IN
0x4a78e05F...36aFF0A32
1.00057375 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
88302472019-10-28 21:48:501947 days ago1572299330
0x4a78e05F...36aFF0A32
1.792 ETH
88298572019-10-28 20:14:481947 days ago1572293688
0x4a78e05F...36aFF0A32
0.65009701 ETH
88080632019-10-25 8:15:011951 days ago1571991301
0x4a78e05F...36aFF0A32
1.00032385 ETH
87757242019-10-20 5:18:381956 days ago1571548718
0x4a78e05F...36aFF0A32
1.00010466 ETH
87436522019-10-15 4:04:121961 days ago1571112252
0x4a78e05F...36aFF0A32
1.00002366 ETH
87130242019-10-10 8:36:291966 days ago1570696589
0x4a78e05F...36aFF0A32
1.00021826 ETH
86812712019-10-05 9:32:551971 days ago1570267975
0x4a78e05F...36aFF0A32
1.00042402 ETH
86506702019-09-30 14:47:211976 days ago1569854841
0x4a78e05F...36aFF0A32
1.00035651 ETH
86210262019-09-25 23:19:261980 days ago1569453566
0x4a78e05F...36aFF0A32
1.00023607 ETH
85921072019-09-21 10:34:151985 days ago1569062055
0x4a78e05F...36aFF0A32
1.00005995 ETH
85644912019-09-17 3:10:511989 days ago1568689851
0x4a78e05F...36aFF0A32
1.00017282 ETH
85384552019-09-13 1:38:491993 days ago1568338729
0x4a78e05F...36aFF0A32
1.00057375 ETH
84949032019-09-06 6:51:162000 days ago1567752676
0x4a78e05F...36aFF0A32
1.00076075 ETH
84672132019-09-01 23:12:062004 days ago1567379526
0x4a78e05F...36aFF0A32
1.00036824 ETH
84421282019-08-29 1:28:252008 days ago1567042105
0x4a78e05F...36aFF0A32
1.00079802 ETH
84190222019-08-25 11:10:102012 days ago1566731410
0x4a78e05F...36aFF0A32
1.00091502 ETH
83932942019-08-21 11:06:472016 days ago1566385607
0x4a78e05F...36aFF0A32
1.0007893 ETH
83646152019-08-17 0:03:062020 days ago1566000186
0x4a78e05F...36aFF0A32
1.0009898 ETH
83382652019-08-12 21:53:052024 days ago1565646785
0x4a78e05F...36aFF0A32
0.3152668 ETH
83274052019-08-11 5:28:582026 days ago1565501338
0x4a78e05F...36aFF0A32
2 ETH
81626882019-07-16 15:25:202052 days ago1563290720
0x4a78e05F...36aFF0A32
26.61339308 ETH
73235402019-03-07 17:33:132183 days ago1551979993
0x4a78e05F...36aFF0A32
5.003 ETH
72166322019-02-13 20:44:182204 days ago1550090658
0x4a78e05F...36aFF0A32
121.88 ETH
48972072018-01-12 17:37:242602 days ago1515778644
0x4a78e05F...36aFF0A32
100 ETH
48971682018-01-12 17:27:422602 days ago1515778062
0x4a78e05F...36aFF0A32
112 ETH
View All Internal Transactions
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.