ETH Price: $2,178.86 (-5.54%)

Contract

0x9f36fD2f84497584B09cd9E061a35253CAEF69d3
 

Overview

ETH Balance

0.000000009460516424 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep155488582022-09-16 21:30:35895 days ago1663363835IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0016975530
Transfer155488352022-09-16 21:25:59895 days ago1663363559IN
0x9f36fD2f...3CAEF69d3
0.72487186 ETH0.000147296.99703707
Sweep147406252022-05-09 5:35:491026 days ago1652074549IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0018921433.44605004
Transfer147406102022-05-09 5:32:111026 days ago1652074331IN
0x9f36fD2f...3CAEF69d3
0.99953536 ETH0.0005644226.81209193
Sweep47065942017-12-10 5:31:032637 days ago1512883863IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0028732757.4
Transfer47065592017-12-10 5:21:072637 days ago1512883267IN
0x9f36fD2f...3CAEF69d3
0.20324128 ETH0.0008630941
Transfer47050842017-12-09 23:11:342637 days ago1512861094IN
0x9f36fD2f...3CAEF69d3
0.02044559 ETH0.0010525550
Sweep47050832017-12-09 23:11:232637 days ago1512861083IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0035039970
Transfer47050492017-12-09 23:03:142637 days ago1512860594IN
0x9f36fD2f...3CAEF69d3
0.09046148 ETH0.0010525550
Sweep45737592017-11-18 4:24:432659 days ago1510979083IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0010011420
Transfer45737532017-11-18 4:23:432659 days ago1510979023IN
0x9f36fD2f...3CAEF69d3
3.0278 ETH0.0005262725
Sweep43805962017-10-18 2:28:382690 days ago1508293718IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0015497831
Transfer43805842017-10-18 2:25:262690 days ago1508293526IN
0x9f36fD2f...3CAEF69d3
1.24 ETH0.0004420721
Sweep43507532017-10-09 14:08:482699 days ago1507558128IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0015517631
Transfer43507382017-10-09 14:02:572699 days ago1507557777IN
0x9f36fD2f...3CAEF69d3
0.16432769 ETH0.0004420721
Sweep43318372017-10-03 0:43:482705 days ago1506991428IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0015517631
Transfer43318292017-10-03 0:39:032705 days ago1506991143IN
0x9f36fD2f...3CAEF69d3
2.29127214 ETH0.0006525831
Sweep42791042017-09-16 4:33:272722 days ago1505536407IN
0x9f36fD2f...3CAEF69d3
0 ETH0.002552951
Transfer42790912017-09-16 4:28:512722 days ago1505536131IN
0x9f36fD2f...3CAEF69d3
0.27454786 ETH0.0006177129.34363377
Sweep42790912017-09-16 4:28:512722 days ago1505536131IN
0x9f36fD2f...3CAEF69d3
0 ETH0.0025496451
Transfer42790752017-09-16 4:22:142722 days ago1505535734IN
0x9f36fD2f...3CAEF69d3
0.1 ETH0.0006609731.39863094

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
155488582022-09-16 21:30:35895 days ago1663363835
0x9f36fD2f...3CAEF69d3
0.72487186 ETH
147406252022-05-09 5:35:491026 days ago1652074549
0x9f36fD2f...3CAEF69d3
0.99953536 ETH
47065942017-12-10 5:31:032637 days ago1512883863
0x9f36fD2f...3CAEF69d3
0.22368687 ETH
47050832017-12-09 23:11:232637 days ago1512861083
0x9f36fD2f...3CAEF69d3
0.09046148 ETH
45737592017-11-18 4:24:432659 days ago1510979083
0x9f36fD2f...3CAEF69d3
3.0278 ETH
43805962017-10-18 2:28:382690 days ago1508293718
0x9f36fD2f...3CAEF69d3
1.24 ETH
43507532017-10-09 14:08:482699 days ago1507558128
0x9f36fD2f...3CAEF69d3
0.16432769 ETH
43318372017-10-03 0:43:482705 days ago1506991428
0x9f36fD2f...3CAEF69d3
2.29127214 ETH
42791042017-09-16 4:33:272722 days ago1505536407
0x9f36fD2f...3CAEF69d3
0.27454786 ETH
42790912017-09-16 4:28:512722 days ago1505536131
0x9f36fD2f...3CAEF69d3
0.1 ETH
42789132017-09-16 3:21:292722 days ago1505532089  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

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"}]

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.