ETH Price: $2,625.71 (-2.65%)

Contract

0xfd184294Db10B384ea9c94B29531eFDEc57d9822
 

Overview

ETH Balance

0.000000006440079708 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep116911142021-01-20 8:12:361479 days ago1611130356IN
0xfd184294...Ec57d9822
0 ETH0.0032139556.4
Transfer116910912021-01-20 8:06:301479 days ago1611129990IN
0xfd184294...Ec57d9822
0.10727472 ETH0.000063153
Sweep116131052021-01-08 8:59:141491 days ago1610096354IN
0xfd184294...Ec57d9822
0 ETH0.0045815980.40000175
Transfer116130832021-01-08 8:54:111491 days ago1610096051IN
0xfd184294...Ec57d9822
0.11133967 ETH0.000063153
Sweep115541792020-12-30 7:59:251500 days ago1609315165IN
0xfd184294...Ec57d9822
0 ETH0.0052654192.4
Transfer115541592020-12-30 7:54:061500 days ago1609314846IN
0xfd184294...Ec57d9822
0.10987409 ETH0.000063153
Sweep115021622020-12-22 8:22:071508 days ago1608625327IN
0xfd184294...Ec57d9822
0 ETH0.0030361653.2800021
Transfer115021402020-12-22 8:17:261508 days ago1608625046IN
0xfd184294...Ec57d9822
0.10009414 ETH0.000063153
Sweep114564792020-12-15 8:13:171515 days ago1608019997IN
0xfd184294...Ec57d9822
0 ETH0.0049918887.60000175
Transfer114564602020-12-15 8:08:101515 days ago1608019690IN
0xfd184294...Ec57d9822
0.11400495 ETH0.000063153
Sweep114113702020-12-08 9:34:521522 days ago1607420092IN
0xfd184294...Ec57d9822
0 ETH0.0031455755.2
Transfer114113372020-12-08 9:30:091522 days ago1607419809IN
0xfd184294...Ec57d9822
0.10205178 ETH0.000063153
Sweep113654962020-12-01 8:19:501529 days ago1606810790IN
0xfd184294...Ec57d9822
0 ETH0.00581247102
Transfer113654792020-12-01 8:15:051529 days ago1606810505IN
0xfd184294...Ec57d9822
0.10309922 ETH0.000063153
Sweep113264762020-11-25 8:29:531535 days ago1606292993IN
0xfd184294...Ec57d9822
0 ETH0.003419160
Transfer113264582020-11-25 8:24:331535 days ago1606292673IN
0xfd184294...Ec57d9822
0.10776893 ETH0.000063153
Sweep112893672020-11-19 15:48:541541 days ago1605800934IN
0xfd184294...Ec57d9822
0 ETH0.0038293967.2
Transfer112893522020-11-19 15:44:371541 days ago1605800677IN
0xfd184294...Ec57d9822
0.07449454 ETH0.000021051
Sweep112615282020-11-15 9:13:001545 days ago1605431580IN
0xfd184294...Ec57d9822
0 ETH0.0017095530
Transfer112615142020-11-15 9:09:481545 days ago1605431388IN
0xfd184294...Ec57d9822
0.10769291 ETH0.000021051
Sweep112224952020-11-09 9:32:151551 days ago1604914335IN
0xfd184294...Ec57d9822
0 ETH0.0021882238.40000175
Transfer112224702020-11-09 9:27:421551 days ago1604914062IN
0xfd184294...Ec57d9822
0.10318437 ETH0.000021051
Sweep111900052020-11-04 9:57:511556 days ago1604483871IN
0xfd184294...Ec57d9822
0 ETH0.0017095530
Transfer111899892020-11-04 9:54:031556 days ago1604483643IN
0xfd184294...Ec57d9822
0.10028984 ETH0.000021051
Sweep111573432020-10-30 9:27:201561 days ago1604050040IN
0xfd184294...Ec57d9822
0 ETH0.00521191.4452031
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
116911142021-01-20 8:12:361479 days ago1611130356
0xfd184294...Ec57d9822
0.10727473 ETH
116131052021-01-08 8:59:141491 days ago1610096354
0xfd184294...Ec57d9822
0.11133967 ETH
115541792020-12-30 7:59:251500 days ago1609315165
0xfd184294...Ec57d9822
0.1098741 ETH
115021622020-12-22 8:22:071508 days ago1608625327
0xfd184294...Ec57d9822
0.10009415 ETH
114564792020-12-15 8:13:171515 days ago1608019997
0xfd184294...Ec57d9822
0.11400495 ETH
114113702020-12-08 9:34:521522 days ago1607420092
0xfd184294...Ec57d9822
0.10205179 ETH
113654962020-12-01 8:19:501529 days ago1606810790
0xfd184294...Ec57d9822
0.10309922 ETH
113264762020-11-25 8:29:531535 days ago1606292993
0xfd184294...Ec57d9822
0.10776894 ETH
112893672020-11-19 15:48:541541 days ago1605800934
0xfd184294...Ec57d9822
0.07449454 ETH
112615282020-11-15 9:13:001545 days ago1605431580
0xfd184294...Ec57d9822
0.10769292 ETH
112224952020-11-09 9:32:151551 days ago1604914335
0xfd184294...Ec57d9822
0.10318437 ETH
111900052020-11-04 9:57:511556 days ago1604483871
0xfd184294...Ec57d9822
0.10028984 ETH
111573432020-10-30 9:27:201561 days ago1604050040
0xfd184294...Ec57d9822
0.11226121 ETH
111183272020-10-24 9:39:301567 days ago1603532370
0xfd184294...Ec57d9822
0.10141531 ETH
52086252018-03-06 20:21:452530 days ago1520367705
0xfd184294...Ec57d9822
0.65111784 ETH
49623482018-01-24 5:33:422572 days ago1516772022  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.