ETH Price: $2,173.92 (+0.85%)

Contract

0xf84aa56E37a7CA76ea4786D5Bc1fda4e084c0C4E
 

Overview

ETH Balance

0.00000000819688848 ETH

Eth Value

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

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep97197902020-03-22 6:36:562194 days ago1584859016IN
0xf84aa56E...e084c0C4E
0 ETH0.001253422
Transfer97197722020-03-22 6:32:322194 days ago1584858752IN
0xf84aa56E...e084c0C4E
0.05002554 ETH0.0002105110
Sweep95824552020-03-01 2:23:442215 days ago1583029424IN
0xf84aa56E...e084c0C4E
0 ETH0.001253422
Transfer95824382020-03-01 2:18:342215 days ago1583029114IN
0xf84aa56E...e084c0C4E
0.05005216 ETH0.0003157615
Sweep94381082020-02-07 21:39:052238 days ago1581111545IN
0xf84aa56E...e084c0C4E
0 ETH0.001253422
Transfer94380912020-02-07 21:34:182238 days ago1581111258IN
0xf84aa56E...e084c0C4E
0.05002708 ETH0.0003157615
Sweep93007952020-01-17 20:02:502259 days ago1579291370IN
0xf84aa56E...e084c0C4E
0 ETH0.001253422
Transfer93007792020-01-17 19:59:362259 days ago1579291176IN
0xf84aa56E...e084c0C4E
0.05001447 ETH0.0003157615
Sweep91700402019-12-27 9:08:152280 days ago1577437695IN
0xf84aa56E...e084c0C4E
0 ETH0.0012531422
Transfer91700242019-12-27 9:01:092280 days ago1577437269IN
0xf84aa56E...e084c0C4E
0.05000633 ETH0.0003157615
Sweep90388102019-12-02 15:40:142305 days ago1575301214IN
0xf84aa56E...e084c0C4E
0 ETH0.0010998422
Transfer90387962019-12-02 15:36:262305 days ago1575300986IN
0xf84aa56E...e084c0C4E
0.05000577 ETH0.0003157615
Sweep88942552019-11-08 4:55:382329 days ago1573188938IN
0xf84aa56E...e084c0C4E
0 ETH0.0010998422
Transfer88942342019-11-08 4:49:242329 days ago1573188564IN
0xf84aa56E...e084c0C4E
0.05000256 ETH0.0003157615
Sweep87160702019-10-10 20:09:312358 days ago1570738171IN
0xf84aa56E...e084c0C4E
0 ETH0.0010998422
Transfer87160522019-10-10 20:04:272358 days ago1570737867IN
0xf84aa56E...e084c0C4E
0.05000707 ETH0.0003157615
Sweep85599672019-09-16 10:30:122382 days ago1568629812IN
0xf84aa56E...e084c0C4E
0 ETH0.0014997930
Transfer85599432019-09-16 10:24:502382 days ago1568629490IN
0xf84aa56E...e084c0C4E
0.05000116 ETH0.0002105110
Sweep84171142019-08-25 4:17:242404 days ago1566706644IN
0xf84aa56E...e084c0C4E
0 ETH0.0010998422
Transfer84170932019-08-25 4:12:422404 days ago1566706362IN
0xf84aa56E...e084c0C4E
0.05000771 ETH0.0002105110
Sweep80035732019-06-21 20:26:562469 days ago1561148816IN
0xf84aa56E...e084c0C4E
0 ETH0.0014997930
Transfer80035562019-06-21 20:20:382469 days ago1561148438IN
0xf84aa56E...e084c0C4E
0.0500168 ETH0.0002105110
Sweep78757422019-06-01 20:10:102489 days ago1559419810IN
0xf84aa56E...e084c0C4E
0 ETH0.0024996550
Transfer78757182019-06-01 20:04:592489 days ago1559419499IN
0xf84aa56E...e084c0C4E
0.05000403 ETH0.0002105110
Sweep77399482019-05-11 15:13:092510 days ago1557587589IN
0xf84aa56E...e084c0C4E
0 ETH0.0024996550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-97197902020-03-22 6:36:562194 days ago1584859016
0xf84aa56E...e084c0C4E
0.05002554 ETH
-95824552020-03-01 2:23:442215 days ago1583029424
0xf84aa56E...e084c0C4E
0.05005217 ETH
-94381082020-02-07 21:39:052238 days ago1581111545
0xf84aa56E...e084c0C4E
0.05002708 ETH
-93007952020-01-17 20:02:502259 days ago1579291370
0xf84aa56E...e084c0C4E
0.05001448 ETH
-91700402019-12-27 9:08:152280 days ago1577437695
0xf84aa56E...e084c0C4E
0.05000633 ETH
-90388102019-12-02 15:40:142305 days ago1575301214
0xf84aa56E...e084c0C4E
0.05000578 ETH
-88942552019-11-08 4:55:382329 days ago1573188938
0xf84aa56E...e084c0C4E
0.05000257 ETH
-87160702019-10-10 20:09:312358 days ago1570738171
0xf84aa56E...e084c0C4E
0.05000707 ETH
-85599672019-09-16 10:30:122382 days ago1568629812
0xf84aa56E...e084c0C4E
0.05000116 ETH
-84171142019-08-25 4:17:242404 days ago1566706644
0xf84aa56E...e084c0C4E
0.05000772 ETH
-80035732019-06-21 20:26:562469 days ago1561148816
0xf84aa56E...e084c0C4E
0.0500168 ETH
-78757422019-06-01 20:10:102489 days ago1559419810
0xf84aa56E...e084c0C4E
0.05000403 ETH
-77399482019-05-11 15:13:092510 days ago1557587589
0xf84aa56E...e084c0C4E
0.05000759 ETH
-76222972019-04-23 6:52:052528 days ago1556002325
0xf84aa56E...e084c0C4E
0.05001298 ETH
-72819202019-03-01 4:45:082581 days ago1551415508
0xf84aa56E...e084c0C4E
0.05000726 ETH
-71822132019-02-06 7:44:352604 days ago1549439075
0xf84aa56E...e084c0C4E
0.05001206 ETH
-70939702019-01-19 17:26:062622 days ago1547918766
0xf84aa56E...e084c0C4E
0.05001625 ETH
-70028012019-01-03 10:22:212638 days ago1546510941
0xf84aa56E...e084c0C4E
0.0500059 ETH
-69054482018-12-17 21:43:392655 days ago1545083019
0xf84aa56E...e084c0C4E
0.05001173 ETH
-68120252018-12-02 10:49:132670 days ago1543747753
0xf84aa56E...e084c0C4E
0.05002045 ETH
Transfer67013082018-11-14 6:07:152688 days ago1542175635
0xf84aa56E...e084c0C4E
0.05003189 ETH
Transfer65675662018-10-23 8:18:582710 days ago1540282738
0xf84aa56E...e084c0C4E
0.05000107 ETH
Transfer64401782018-10-02 15:01:202731 days ago1538492480
0xf84aa56E...e084c0C4E
0.05043765 ETH
Transfer63119122018-09-11 11:58:242752 days ago1536667104
0xf84aa56E...e084c0C4E
0.05002586 ETH
Transfer61772002018-08-19 19:26:332775 days ago1534706793
0xf84aa56E...e084c0C4E
0.05000195 ETH
View All Internal Transactions
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.