ETH Price: $3,186.31 (+5.24%)

Contract

0x7Fce796bece160881080f5E6BC31AB2261B36E2b
 
Transaction Hash
Method
Block
From
To
Sweep106087472020-08-06 21:50:481556 days ago1596750648IN
0x7Fce796b...261B36E2b
0 ETH0.003008852.8
Transfer106087292020-08-06 21:44:471556 days ago1596750287IN
0x7Fce796b...261B36E2b
1.32281168 ETH0.0009262444
Sweep62893182018-09-07 16:50:002255 days ago1536339000IN
0x7Fce796b...261B36E2b
0 ETH0.0024996550
Transfer62893022018-09-07 16:44:352255 days ago1536338675IN
0x7Fce796b...261B36E2b
10 ETH0.000147357
Sweep62892612018-09-07 16:33:562255 days ago1536338036IN
0x7Fce796b...261B36E2b
0 ETH0.0025028550
Transfer62892332018-09-07 16:28:502255 days ago1536337730IN
0x7Fce796b...261B36E2b
4.00497761 ETH0.000136836.5
Sweep62305202018-08-28 19:31:242265 days ago1535484684IN
0x7Fce796b...261B36E2b
0 ETH0.0030510550
Sweep62302172018-08-28 18:19:402265 days ago1535480380IN
0x7Fce796b...261B36E2b
0 ETH0.0030510550
Sweep61999112018-08-23 15:34:252270 days ago1535038465IN
0x7Fce796b...261B36E2b
0 ETH0.0024996550
Transfer61998892018-08-23 15:27:292270 days ago1535038049IN
0x7Fce796b...261B36E2b
1.95 ETH0.0003368116
Sweep61989552018-08-23 11:33:102270 days ago1535023990IN
0x7Fce796b...261B36E2b
0 ETH0.0030980550
Sweep61979152018-08-23 7:16:122271 days ago1535008572IN
0x7Fce796b...261B36E2b
0 ETH0.0030980550
Sweep61956022018-08-22 21:49:092271 days ago1534974549IN
0x7Fce796b...261B36E2b
0 ETH0.0024996550
Transfer61955772018-08-22 21:42:512271 days ago1534974171IN
0x7Fce796b...261B36E2b
6 ETH0.0002736613
Sweep61935792018-08-22 13:33:302271 days ago1534944810IN
0x7Fce796b...261B36E2b
0 ETH0.0030980550
Sweep61905532018-08-22 1:27:442272 days ago1534901264IN
0x7Fce796b...261B36E2b
0 ETH0.0024996550
Transfer61905182018-08-22 1:19:332272 days ago1534900773IN
0x7Fce796b...261B36E2b
3.2 ETH0.000147357
Sweep61639562018-08-17 13:32:332276 days ago1534512753IN
0x7Fce796b...261B36E2b
0 ETH0.0046442100
Sweep61624252018-08-17 7:20:382277 days ago1534490438IN
0x7Fce796b...261B36E2b
0 ETH0.0061961100
Sweep61569772018-08-16 9:21:012277 days ago1534411261IN
0x7Fce796b...261B36E2b
0 ETH0.0062111100
Sweep61567032018-08-16 8:08:512278 days ago1534406931IN
0x7Fce796b...261B36E2b
0 ETH0.00619100
Sweep61533172018-08-15 18:19:322278 days ago1534357172IN
0x7Fce796b...261B36E2b
0 ETH0.00619100
Sweep61532962018-08-15 18:13:012278 days ago1534356781IN
0x7Fce796b...261B36E2b
0 ETH0.00619100
Sweep61532792018-08-15 18:09:412278 days ago1534356581IN
0x7Fce796b...261B36E2b
0 ETH0.00619100
Sweep61478532018-08-14 20:15:542279 days ago1534277754IN
0x7Fce796b...261B36E2b
0 ETH0.0049993100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
106087472020-08-06 21:50:481556 days ago1596750648
0x7Fce796b...261B36E2b
1.32281168 ETH
62893182018-09-07 16:50:002255 days ago1536339000
0x7Fce796b...261B36E2b
10 ETH
62892612018-09-07 16:33:562255 days ago1536338036
0x7Fce796b...261B36E2b
4.00497761 ETH
61999112018-08-23 15:34:252270 days ago1535038465
0x7Fce796b...261B36E2b
1.95 ETH
61956022018-08-22 21:49:092271 days ago1534974549
0x7Fce796b...261B36E2b
6 ETH
61905532018-08-22 1:27:442272 days ago1534901264
0x7Fce796b...261B36E2b
3.2 ETH
61478532018-08-14 20:15:542279 days ago1534277754
0x7Fce796b...261B36E2b
4 ETH
61476762018-08-14 19:34:052279 days ago1534275245
0x7Fce796b...261B36E2b
2 ETH
61435182018-08-14 2:52:442280 days ago1534215164
0x7Fce796b...261B36E2b
1.8 ETH
61433782018-08-14 2:19:292280 days ago1534213169
0x7Fce796b...261B36E2b
13.09644195 ETH
61432142018-08-14 1:39:072280 days ago1534210747
0x7Fce796b...261B36E2b
8 ETH
61423602018-08-13 22:17:002280 days ago1534198620
0x7Fce796b...261B36E2b
5.15857416 ETH
61398122018-08-13 11:46:032280 days ago1534160763
0x7Fce796b...261B36E2b
5.13368881 ETH
61299922018-08-11 19:35:112282 days ago1534016111
0x7Fce796b...261B36E2b
9.50759988 ETH
61288922018-08-11 15:04:372282 days ago1533999877
0x7Fce796b...261B36E2b
5.20580206 ETH
61219802018-08-10 11:16:532283 days ago1533899813
0x7Fce796b...261B36E2b
5.1 ETH
61164212018-08-09 12:47:312284 days ago1533818851
0x7Fce796b...261B36E2b
8.7 ETH
61160342018-08-09 11:08:422284 days ago1533812922
0x7Fce796b...261B36E2b
6.7 ETH
61119172018-08-08 18:23:212285 days ago1533752601
0x7Fce796b...261B36E2b
8 ETH
61117582018-08-08 17:44:062285 days ago1533750246
0x7Fce796b...261B36E2b
8 ETH
61109502018-08-08 14:28:092285 days ago1533738489
0x7Fce796b...261B36E2b
5.00830916 ETH
61091022018-08-08 7:06:022286 days ago1533711962
0x7Fce796b...261B36E2b
8.36 ETH
60990342018-08-06 14:12:012287 days ago1533564721
0x7Fce796b...261B36E2b
1.43283101 ETH
60804212018-08-03 11:08:562290 days ago1533294536
0x7Fce796b...261B36E2b
5.57 ETH
60747862018-08-02 11:57:412291 days ago1533211061
0x7Fce796b...261B36E2b
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.