ETH Price: $2,073.15 (+2.15%)

Contract

0x4f4E1d1a093DbF36D3cC36d4832aB91d1211BfeD
 

Overview

ETH Balance

0.024703247313395174 ETH

Eth Value

$51.21 (@ $2,073.15/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer114467552020-12-13 20:13:211914 days ago1607890401IN
0x4f4E1d1a...d1211BfeD
0.02470323 ETH0.000021051
Sweep114012242020-12-06 20:06:381921 days ago1607285198IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0017091930
Transfer114012062020-12-06 20:02:441921 days ago1607284964IN
0x4f4E1d1a...d1211BfeD
0.06304585 ETH0.000021051
Sweep113556302020-11-29 19:59:531928 days ago1606679993IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0017091930
Transfer113556122020-11-29 19:52:441928 days ago1606679564IN
0x4f4E1d1a...d1211BfeD
0.06314183 ETH0.000021051
Sweep113100352020-11-22 19:51:081935 days ago1606074668IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0032132756.4
Transfer113100182020-11-22 19:46:321935 days ago1606074392IN
0x4f4E1d1a...d1211BfeD
0.05304302 ETH0.000021051
Transfer112915622020-11-19 23:49:471937 days ago1605829787IN
0x4f4E1d1a...d1211BfeD
0.00001803 ETH0.000021051
Sweep112644422020-11-15 19:51:421942 days ago1605469902IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0017091930
Transfer112644182020-11-15 19:47:131942 days ago1605469633IN
0x4f4E1d1a...d1211BfeD
0.01002133 ETH0.000021051
Transfer68745082018-12-12 18:45:222646 days ago1544640322IN
0x4f4E1d1a...d1211BfeD
0.04329582 ETH0.000021051
Sweep68321442018-12-05 18:46:532653 days ago1544035613IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer68321262018-12-05 18:42:052653 days ago1544035325IN
0x4f4E1d1a...d1211BfeD
0.07803817 ETH0.000021051
Sweep67897662018-11-28 18:46:552660 days ago1543430815IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer67897502018-11-28 18:43:072660 days ago1543430587IN
0x4f4E1d1a...d1211BfeD
0.10361244 ETH0.000021051
Sweep67471592018-11-21 18:43:302667 days ago1542825810IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer67471372018-11-21 18:38:302667 days ago1542825510IN
0x4f4E1d1a...d1211BfeD
0.10849685 ETH0.000021051
Sweep67044472018-11-14 18:38:132674 days ago1542220693IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer67044182018-11-14 18:32:152674 days ago1542220335IN
0x4f4E1d1a...d1211BfeD
0.1281522 ETH0.000021051
Sweep66616862018-11-07 18:29:042681 days ago1541615344IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer66616702018-11-07 18:25:532681 days ago1541615153IN
0x4f4E1d1a...d1211BfeD
0.13263661 ETH0.000021051
Sweep66190362018-10-31 18:20:272688 days ago1541010027IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer66190112018-10-31 18:15:442688 days ago1541009744IN
0x4f4E1d1a...d1211BfeD
0.12060771 ETH0.000021051
Sweep65762762018-10-24 18:25:222695 days ago1540405522IN
0x4f4E1d1a...d1211BfeD
0 ETH0.0025028550
Transfer65762402018-10-24 18:16:172695 days ago1540404977IN
0x4f4E1d1a...d1211BfeD
0.12652868 ETH0.000021051
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-114012242020-12-06 20:06:381921 days ago1607285198
0x4f4E1d1a...d1211BfeD
0.06304585 ETH
-113556302020-11-29 19:59:531928 days ago1606679993
0x4f4E1d1a...d1211BfeD
0.06314184 ETH
-113100352020-11-22 19:51:081935 days ago1606074668
0x4f4E1d1a...d1211BfeD
0.05306106 ETH
-112644422020-11-15 19:51:421942 days ago1605469902
0x4f4E1d1a...d1211BfeD
0.05331716 ETH
-68321442018-12-05 18:46:532653 days ago1544035613
0x4f4E1d1a...d1211BfeD
0.07803818 ETH
Transfer67897662018-11-28 18:46:552660 days ago1543430815
0x4f4E1d1a...d1211BfeD
0.10361244 ETH
Transfer67471592018-11-21 18:43:302667 days ago1542825810
0x4f4E1d1a...d1211BfeD
0.10849685 ETH
Transfer67044472018-11-14 18:38:132674 days ago1542220693
0x4f4E1d1a...d1211BfeD
0.12815221 ETH
Transfer66616862018-11-07 18:29:042681 days ago1541615344
0x4f4E1d1a...d1211BfeD
0.13263662 ETH
Transfer66190362018-10-31 18:20:272688 days ago1541010027
0x4f4E1d1a...d1211BfeD
0.12060771 ETH
Transfer65762762018-10-24 18:25:222695 days ago1540405522
0x4f4E1d1a...d1211BfeD
0.12652869 ETH
Transfer65333722018-10-17 18:18:252702 days ago1539800305
0x4f4E1d1a...d1211BfeD
0.12329452 ETH
Transfer64903672018-10-10 18:19:582709 days ago1539195598
0x4f4E1d1a...d1211BfeD
0.12139054 ETH
Transfer64471132018-10-03 18:15:302716 days ago1538590530
0x4f4E1d1a...d1211BfeD
0.09088352 ETH
Transfer64044072018-09-26 18:07:552723 days ago1537985275
0x4f4E1d1a...d1211BfeD
0.12333749 ETH
Transfer63618762018-09-19 18:06:062730 days ago1537380366
0x4f4E1d1a...d1211BfeD
0.11646126 ETH
Transfer63194762018-09-12 18:06:592737 days ago1536775619
0x4f4E1d1a...d1211BfeD
0.13578097 ETH
Transfer62359892018-08-29 17:51:312751 days ago1535565091
0x4f4E1d1a...d1211BfeD
0.11730945 ETH
Transfer61946572018-08-22 17:56:252758 days ago1534960585
0x4f4E1d1a...d1211BfeD
0.09468829 ETH
Transfer61532142018-08-15 17:53:382765 days ago1534355618
0x4f4E1d1a...d1211BfeD
0.11637678 ETH
Transfer61117582018-08-08 17:44:062772 days ago1533750246
0x4f4E1d1a...d1211BfeD
0.11638315 ETH
Transfer50368252018-02-05 19:20:342956 days ago1517858434  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.