ETH Price: $3,481.40 (+5.58%)

Contract

0xf197AFD8bc240ed338B76070dEaE19be5c5aeC9e
 

Overview

ETH Balance

0.025141433428591773 ETH

Eth Value

$87.53 (@ $3,481.40/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer108891062020-09-18 23:23:201581 days ago1600471400IN
0xf197AFD8...e5c5aeC9e
0.02514142 ETH0.000021051
Sweep108435392020-09-11 23:18:541588 days ago1599866334IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0054899196.36
Transfer108435212020-09-11 23:15:451588 days ago1599866145IN
0xf197AFD8...e5c5aeC9e
0.05000652 ETH0.000021051
Sweep108173542020-09-07 22:58:561592 days ago1599519536IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0056061498.4
Transfer108173382020-09-07 22:54:241592 days ago1599519264IN
0xf197AFD8...e5c5aeC9e
0.05004016 ETH0.000021051
Sweep107985642020-09-05 1:55:381595 days ago1599270938IN
0xf197AFD8...e5c5aeC9e
0 ETH0.00689518121
Transfer107985452020-09-05 1:51:401595 days ago1599270700IN
0xf197AFD8...e5c5aeC9e
0.05001805 ETH0.000021051
Transfer107853252020-09-03 1:22:571597 days ago1599096177IN
0xf197AFD8...e5c5aeC9e
0.01022802 ETH0.000021051
Transfer79862392019-06-19 3:08:002039 days ago1560913680IN
0xf197AFD8...e5c5aeC9e
0.02214381 ETH0.000021051
Sweep79414582019-06-12 3:08:292046 days ago1560308909IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer79414372019-06-12 3:03:312046 days ago1560308611IN
0xf197AFD8...e5c5aeC9e
0.05005501 ETH0.000021051
Sweep79197972019-06-08 17:48:282050 days ago1560016108IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer79197792019-06-08 17:44:382050 days ago1560015878IN
0xf197AFD8...e5c5aeC9e
0.05000268 ETH0.000021051
Sweep78997102019-06-05 14:14:572053 days ago1559744097IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer78996962019-06-05 14:09:482053 days ago1559743788IN
0xf197AFD8...e5c5aeC9e
0.05005698 ETH0.000021051
Sweep78786922019-06-02 7:03:502056 days ago1559459030IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer78786732019-06-02 6:58:072056 days ago1559458687IN
0xf197AFD8...e5c5aeC9e
0.05002001 ETH0.000021051
Sweep78565652019-05-29 20:03:432060 days ago1559160223IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer78565422019-05-29 19:59:322060 days ago1559159972IN
0xf197AFD8...e5c5aeC9e
0.05003922 ETH0.000021051
Sweep78354142019-05-26 13:07:332063 days ago1558876053IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer78353992019-05-26 13:04:132063 days ago1558875853IN
0xf197AFD8...e5c5aeC9e
0.05005752 ETH0.000021051
Sweep78148262019-05-23 8:11:042066 days ago1558599064IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer78148012019-05-23 8:06:432066 days ago1558598803IN
0xf197AFD8...e5c5aeC9e
0.05004983 ETH0.000021051
Sweep77872682019-05-19 0:08:312070 days ago1558224511IN
0xf197AFD8...e5c5aeC9e
0 ETH0.0024996550
Transfer77872462019-05-19 0:03:302070 days ago1558224210IN
0xf197AFD8...e5c5aeC9e
0.0500208 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
108435392020-09-11 23:18:541588 days ago1599866334
0xf197AFD8...e5c5aeC9e
0.05000652 ETH
108173542020-09-07 22:58:561592 days ago1599519536
0xf197AFD8...e5c5aeC9e
0.05004016 ETH
107985642020-09-05 1:55:381595 days ago1599270938
0xf197AFD8...e5c5aeC9e
0.0823899 ETH
79414582019-06-12 3:08:292046 days ago1560308909
0xf197AFD8...e5c5aeC9e
0.05005501 ETH
79197972019-06-08 17:48:282050 days ago1560016108
0xf197AFD8...e5c5aeC9e
0.05000268 ETH
78997102019-06-05 14:14:572053 days ago1559744097
0xf197AFD8...e5c5aeC9e
0.05005699 ETH
78786922019-06-02 7:03:502056 days ago1559459030
0xf197AFD8...e5c5aeC9e
0.05002002 ETH
78565652019-05-29 20:03:432060 days ago1559160223
0xf197AFD8...e5c5aeC9e
0.05003922 ETH
78354142019-05-26 13:07:332063 days ago1558876053
0xf197AFD8...e5c5aeC9e
0.05005753 ETH
78148262019-05-23 8:11:042066 days ago1558599064
0xf197AFD8...e5c5aeC9e
0.05004983 ETH
77872682019-05-19 0:08:312070 days ago1558224511
0xf197AFD8...e5c5aeC9e
0.0500208 ETH
77660442019-05-15 16:41:012074 days ago1557938461
0xf197AFD8...e5c5aeC9e
0.05002171 ETH
77454282019-05-12 11:40:172077 days ago1557661217
0xf197AFD8...e5c5aeC9e
0.05002844 ETH
77253282019-05-09 8:25:302080 days ago1557390330
0xf197AFD8...e5c5aeC9e
0.05004968 ETH
77054862019-05-06 5:55:092083 days ago1557122109
0xf197AFD8...e5c5aeC9e
0.05000749 ETH
76850552019-05-03 1:13:132086 days ago1556845993
0xf197AFD8...e5c5aeC9e
0.05000389 ETH
76638372019-04-29 18:05:262090 days ago1556561126
0xf197AFD8...e5c5aeC9e
0.05000962 ETH
76431212019-04-26 12:54:012093 days ago1556283241
0xf197AFD8...e5c5aeC9e
0.05007295 ETH
76238572019-04-23 12:38:102096 days ago1556023090
0xf197AFD8...e5c5aeC9e
0.05007888 ETH
76044052019-04-20 11:54:002099 days ago1555761240
0xf197AFD8...e5c5aeC9e
0.05005537 ETH
75851582019-04-17 12:01:332102 days ago1555502493
0xf197AFD8...e5c5aeC9e
0.05001666 ETH
75656922019-04-14 11:06:072105 days ago1555239967
0xf197AFD8...e5c5aeC9e
0.0500294 ETH
75467512019-04-11 12:31:152108 days ago1554985875
0xf197AFD8...e5c5aeC9e
0.0500036 ETH
75280472019-04-08 14:42:482111 days ago1554734568
0xf197AFD8...e5c5aeC9e
0.05000118 ETH
75092392019-04-05 16:52:482114 days ago1554483168
0xf197AFD8...e5c5aeC9e
0.05000373 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.