ETH Price: $2,442.13 (+3.58%)

Contract

0x4722489574649D46FeeE51630B55fDbB73D37e86
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep96446792020-03-10 16:00:311648 days ago1583856031IN
0x47224895...B73D37e86
0 ETH0.001253422
Transfer96446612020-03-10 15:55:161648 days ago1583855716IN
0x47224895...B73D37e86
16.7 ETH0.000189459
Sweep96421772020-03-10 6:36:381648 days ago1583822198IN
0x47224895...B73D37e86
0 ETH0.0012536722
Transfer96421522020-03-10 6:31:481648 days ago1583821908IN
0x47224895...B73D37e86
20.7 ETH0.000147357
Sweep96418072020-03-10 5:18:371648 days ago1583817517IN
0x47224895...B73D37e86
0 ETH0.0012536722
Transfer96417932020-03-10 5:15:271648 days ago1583817327IN
0x47224895...B73D37e86
20.7 ETH0.00016848
Sweep96417522020-03-10 5:09:021648 days ago1583816942IN
0x47224895...B73D37e86
0 ETH0.0012536722
Transfer96417302020-03-10 5:05:121648 days ago1583816712IN
0x47224895...B73D37e86
20.7 ETH0.00016848
Sweep96416052020-03-10 4:37:121648 days ago1583815032IN
0x47224895...B73D37e86
0 ETH0.0012536722
Transfer96415822020-03-10 4:32:551648 days ago1583814775IN
0x47224895...B73D37e86
20.7 ETH0.000147357
Sweep96395302020-03-09 20:52:171649 days ago1583787137IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96394372020-03-09 20:35:041649 days ago1583786104IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96393732020-03-09 20:20:171649 days ago1583785217IN
0x47224895...B73D37e86
0 ETH0.001253422
Sweep96393542020-03-09 20:17:271649 days ago1583785047IN
0x47224895...B73D37e86
0 ETH0.0013661522
Transfer96393532020-03-09 20:17:061649 days ago1583785026IN
0x47224895...B73D37e86
16.6 ETH0.000147357
Sweep96392642020-03-09 19:57:501649 days ago1583783870IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96391592020-03-09 19:34:511649 days ago1583782491IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96384362020-03-09 16:54:201649 days ago1583772860IN
0x47224895...B73D37e86
0 ETH0.001253422
Transfer96384232020-03-09 16:51:331649 days ago1583772693IN
0x47224895...B73D37e86
17.4 ETH0.0002105110
Sweep96380942020-03-09 15:40:091649 days ago1583768409IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96378422020-03-09 14:39:441649 days ago1583764784IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96376742020-03-09 14:02:591649 days ago1583762579IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96375242020-03-09 13:34:041649 days ago1583760844IN
0x47224895...B73D37e86
0 ETH0.0013661522
Sweep96371992020-03-09 12:22:161649 days ago1583756536IN
0x47224895...B73D37e86
0 ETH0.0012536722
Transfer96371782020-03-09 12:17:431649 days ago1583756263IN
0x47224895...B73D37e86
19.8 ETH0.0002105110
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
96446792020-03-10 16:00:311648 days ago1583856031
0x47224895...B73D37e86
16.7 ETH
96421772020-03-10 6:36:381648 days ago1583822198
0x47224895...B73D37e86
20.7 ETH
96418072020-03-10 5:18:371648 days ago1583817517
0x47224895...B73D37e86
20.7 ETH
96417522020-03-10 5:09:021648 days ago1583816942
0x47224895...B73D37e86
20.7 ETH
96416052020-03-10 4:37:121648 days ago1583815032
0x47224895...B73D37e86
20.7 ETH
96393732020-03-09 20:20:171649 days ago1583785217
0x47224895...B73D37e86
16.6 ETH
96384362020-03-09 16:54:201649 days ago1583772860
0x47224895...B73D37e86
17.4 ETH
96371992020-03-09 12:22:161649 days ago1583756536
0x47224895...B73D37e86
19.8 ETH
96351512020-03-09 4:35:521649 days ago1583728552
0x47224895...B73D37e86
19.8 ETH
96348762020-03-09 3:31:181649 days ago1583724678
0x47224895...B73D37e86
18.7 ETH
96347312020-03-09 2:57:011649 days ago1583722621
0x47224895...B73D37e86
15.9 ETH
96340172020-03-09 0:19:551649 days ago1583713195
0x47224895...B73D37e86
19.8 ETH
96338892020-03-08 23:51:261650 days ago1583711486
0x47224895...B73D37e86
18.2 ETH
96337542020-03-08 23:20:141650 days ago1583709614
0x47224895...B73D37e86
19.2 ETH
96334462020-03-08 22:13:431650 days ago1583705623
0x47224895...B73D37e86
17.7 ETH
96333652020-03-08 21:52:251650 days ago1583704345
0x47224895...B73D37e86
19.8 ETH
96321172020-03-08 17:29:141650 days ago1583688554
0x47224895...B73D37e86
16.9 ETH
96319792020-03-08 16:59:211650 days ago1583686761
0x47224895...B73D37e86
18.2 ETH
96318142020-03-08 16:25:131650 days ago1583684713
0x47224895...B73D37e86
15.4 ETH
96316382020-03-08 15:42:331650 days ago1583682153
0x47224895...B73D37e86
15.1 ETH
96314572020-03-08 15:00:011650 days ago1583679601
0x47224895...B73D37e86
17.8 ETH
96212162020-03-07 1:25:541651 days ago1583544354
0x47224895...B73D37e86
18 ETH
96175712020-03-06 12:06:381652 days ago1583496398
0x47224895...B73D37e86
18 ETH
96142652020-03-05 23:59:511653 days ago1583452791
0x47224895...B73D37e86
16 ETH
96027512020-03-04 5:11:521654 days ago1583298712
0x47224895...B73D37e86
18.5 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.