ETH Price: $2,677.31 (-0.00%)

Contract

0x3FCC2b03311C559df04b4369947d8C7a08Ced655
 

Overview

ETH Balance

0.000000004597987306 ETH

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep117972062021-02-05 15:57:321474 days ago1612540652IN
0x3FCC2b03...a08Ced655
0 ETH0.02174547381.6
Transfer117971772021-02-05 15:51:511474 days ago1612540311IN
0x3FCC2b03...a08Ced655
0.01090124 ETH0.01033604491
Sweep116276352021-01-10 14:20:421500 days ago1610288442IN
0x3FCC2b03...a08Ced655
0 ETH0.0030735953.94832843
Transfer116276132021-01-10 14:17:261500 days ago1610288246IN
0x3FCC2b03...a08Ced655
0.02326096 ETH0.0012630660
Sweep72586132019-02-23 19:28:172187 days ago1550950097IN
0x3FCC2b03...a08Ced655
0 ETH0.0024996550
Transfer72585952019-02-23 19:21:322187 days ago1550949692IN
0x3FCC2b03...a08Ced655
2.9 ETH0.0008420440
Sweep72419542019-02-19 21:43:512191 days ago1550612631IN
0x3FCC2b03...a08Ced655
0 ETH0.0025028550
Transfer72419342019-02-19 21:37:182191 days ago1550612238IN
0x3FCC2b03...a08Ced655
6.823122 ETH0.0010946552
Sweep68656792018-12-11 7:41:212261 days ago1544514081IN
0x3FCC2b03...a08Ced655
0 ETH0.0025028550
Transfer68656602018-12-11 7:37:182261 days ago1544513838IN
0x3FCC2b03...a08Ced655
0.11106883 ETH0.0002105110
Sweep68656592018-12-11 7:36:582261 days ago1544513818IN
0x3FCC2b03...a08Ced655
0 ETH0.003300650
Sweep63955312018-09-25 7:19:582338 days ago1537859998IN
0x3FCC2b03...a08Ced655
0 ETH0.0024996550
Transfer63954912018-09-25 7:10:172338 days ago1537859417IN
0x3FCC2b03...a08Ced655
0.85 ETH0.0003157615
Sweep60709932018-08-01 20:47:352393 days ago1533156455IN
0x3FCC2b03...a08Ced655
0 ETH0.0050057100
Transfer60709742018-08-01 20:42:402393 days ago1533156160IN
0x3FCC2b03...a08Ced655
4.32087682 ETH0.00004212
Sweep60433812018-07-28 5:11:392398 days ago1532754699IN
0x3FCC2b03...a08Ced655
0 ETH0.0050057100
Transfer60433662018-07-28 5:06:402398 days ago1532754400IN
0x3FCC2b03...a08Ced655
2.15934993 ETH0.000021261.01
Sweep51077562018-02-17 17:04:262558 days ago1518887066IN
0x3FCC2b03...a08Ced655
0 ETH0.0025028550
Transfer51076942018-02-17 16:50:322558 days ago1518886232IN
0x3FCC2b03...a08Ced655
1.9244705 ETH0.0018945990
Sweep50974612018-02-15 23:49:142560 days ago1518738554IN
0x3FCC2b03...a08Ced655
0 ETH0.0024996550
Transfer50974102018-02-15 23:35:432560 days ago1518737743IN
0x3FCC2b03...a08Ced655
0.55 ETH0.0004210220
Sweep48613322018-01-06 2:53:532601 days ago1515207233IN
0x3FCC2b03...a08Ced655
0 ETH0.01099326219.615
Transfer48613042018-01-06 2:45:072601 days ago1515206707IN
0x3FCC2b03...a08Ced655
1.30466188 ETH0.00308207146.41

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
117972062021-02-05 15:57:321474 days ago1612540652
0x3FCC2b03...a08Ced655
0.23053687 ETH
117863572021-02-03 23:48:521476 days ago1612396132
0x3FCC2b03...a08Ced655
0.21963562 ETH
116276352021-01-10 14:20:421500 days ago1610288442
0x3FCC2b03...a08Ced655
0.06826096 ETH
116275082021-01-10 13:57:331500 days ago1610287053
0x3FCC2b03...a08Ced655
0.045 ETH
72586132019-02-23 19:28:172187 days ago1550950097
0x3FCC2b03...a08Ced655
2.9 ETH
72419542019-02-19 21:43:512191 days ago1550612631
0x3FCC2b03...a08Ced655
6.823122 ETH
68656792018-12-11 7:41:212261 days ago1544514081
0x3FCC2b03...a08Ced655
0.11106883 ETH
63955312018-09-25 7:19:582338 days ago1537859998
0x3FCC2b03...a08Ced655
0.85 ETH
60709932018-08-01 20:47:352393 days ago1533156455
0x3FCC2b03...a08Ced655
4.32087682 ETH
60433812018-07-28 5:11:392398 days ago1532754699
0x3FCC2b03...a08Ced655
2.15934993 ETH
51077562018-02-17 17:04:262558 days ago1518887066
0x3FCC2b03...a08Ced655
1.9244705 ETH
50974612018-02-15 23:49:142560 days ago1518738554
0x3FCC2b03...a08Ced655
0.55 ETH
48613322018-01-06 2:53:532601 days ago1515207233
0x3FCC2b03...a08Ced655
1.30466188 ETH
48402952018-01-02 6:46:132604 days ago1514875573  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.