ETH Price: $2,074.11 (-3.58%)

Contract

0x8d7cDB1fD791BC2B4f17a21CDB2DBFf4b221dB1d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep147764302022-05-14 23:01:351399 days ago1652569295IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0022289730
Sweep147026152022-05-03 4:46:571411 days ago1651553217IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0039186652.74179686
Sweep136022642021-11-12 16:05:541582 days ago1636733154IN
0x8d7cDB1f...4b221dB1d
0 ETH0.00920635123.90958004
Sweep135792962021-11-09 1:32:121586 days ago1636421532IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01722495231.83295605
Sweep134945262021-10-26 18:11:431599 days ago1635271903IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01255487221.87630689
Transfer134945032021-10-26 18:06:331599 days ago1635271593IN
0x8d7cDB1f...4b221dB1d
12.63470262 ETH0.00364175172.99680582
Sweep134944502021-10-26 17:55:571599 days ago1635270957IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01230677217.53798052
Transfer134944282021-10-26 17:50:481599 days ago1635270648IN
0x8d7cDB1f...4b221dB1d
0.07116754 ETH0.00402582191.24172871
Sweep134940612021-10-26 16:27:591599 days ago1635265679IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01615814285.61588437
Transfer134940472021-10-26 16:25:391599 days ago1635265539IN
0x8d7cDB1f...4b221dB1d
0.02398684 ETH0.00618524293.8220969
Transfer134927812021-10-26 11:42:031600 days ago1635248523IN
0x8d7cDB1f...4b221dB1d
0.04 ETH0.0018389887.35872511
Sweep134628842021-10-21 19:28:341604 days ago1634844514IN
0x8d7cDB1f...4b221dB1d
0 ETH0.00769586103.57969985
Sweep125596112021-06-03 5:19:121745 days ago1622697552IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0019229730
Sweep125512782021-06-01 22:26:051746 days ago1622586365IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0019229730
Sweep124001682021-05-09 12:28:211770 days ago1620563301IN
0x8d7cDB1f...4b221dB1d
0 ETH0.00715024111.55
Sweep123986362021-05-09 6:39:071770 days ago1620542347IN
0x8d7cDB1f...4b221dB1d
0 ETH0.00678167105.8
Sweep120918162021-03-23 0:17:111817 days ago1616458631IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01090922191.4
Transfer120918142021-03-23 0:17:081817 days ago1616458628IN
0x8d7cDB1f...4b221dB1d
29.88359708 ETH0.0040561192.68000024
Sweep120917862021-03-23 0:10:201817 days ago1616458220IN
0x8d7cDB1f...4b221dB1d
0 ETH0.01146866201.3
Transfer120917672021-03-23 0:06:301817 days ago1616457990IN
0x8d7cDB1f...4b221dB1d
1 ETH0.00402074191
Sweep115239402020-12-25 16:44:031904 days ago1608914643IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0033690362.4
Sweep115238582020-12-25 16:26:201904 days ago1608913580IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0037398869.28416
Sweep111273392020-10-25 19:07:321965 days ago1603652852IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0017909730
Sweep110776912020-10-18 4:14:151973 days ago1602994455IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0017909730
Sweep106023772020-08-05 22:11:232046 days ago1596665483IN
0x8d7cDB1f...4b221dB1d
0 ETH0.0029843550
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-134945262021-10-26 18:11:431599 days ago1635271903
0x8d7cDB1f...4b221dB1d
12.63470262 ETH
-134944502021-10-26 17:55:571599 days ago1635270957
0x8d7cDB1f...4b221dB1d
0.07116754 ETH
-134940612021-10-26 16:27:591599 days ago1635265679
0x8d7cDB1f...4b221dB1d
0.06398684 ETH
-120918162021-03-23 0:17:111817 days ago1616458631
0x8d7cDB1f...4b221dB1d
29.88359708 ETH
-120917862021-03-23 0:10:201817 days ago1616458220
0x8d7cDB1f...4b221dB1d
1 ETH
-85931752019-09-21 14:36:162365 days ago1569076576
0x8d7cDB1f...4b221dB1d
2.80124426 ETH
-85876112019-09-20 17:37:052366 days ago1569001025
0x8d7cDB1f...4b221dB1d
0.48552728 ETH
-83040892019-08-07 14:36:242410 days ago1565188584
0x8d7cDB1f...4b221dB1d
3.4572 ETH
-80216572019-06-24 15:56:222454 days ago1561391782
0x8d7cDB1f...4b221dB1d
0.2960518 ETH
-71516972019-01-31 2:28:302599 days ago1548901710
0x8d7cDB1f...4b221dB1d
14.39309718 ETH
-71378002019-01-28 6:16:342602 days ago1548656194
0x8d7cDB1f...4b221dB1d
14.77139872 ETH
Transfer67852102018-11-28 0:36:572663 days ago1543365417
0x8d7cDB1f...4b221dB1d
2.89747691 ETH
Transfer67846812018-11-27 22:36:552663 days ago1543358215
0x8d7cDB1f...4b221dB1d
1.73334874 ETH
Transfer67846542018-11-27 22:30:412663 days ago1543357841
0x8d7cDB1f...4b221dB1d
2.039114 ETH
Transfer67368542018-11-20 1:52:382671 days ago1542678758
0x8d7cDB1f...4b221dB1d
2.80073306 ETH
Transfer67365932018-11-20 0:54:552671 days ago1542675295
0x8d7cDB1f...4b221dB1d
2.6154 ETH
Transfer67163042018-11-16 16:58:452674 days ago1542387525
0x8d7cDB1f...4b221dB1d
1.356 ETH
Transfer64238112018-09-29 22:29:492722 days ago1538260189
0x8d7cDB1f...4b221dB1d
1.23768589 ETH
Transfer62858582018-09-07 2:56:502745 days ago1536289010
0x8d7cDB1f...4b221dB1d
1.23578399 ETH
Transfer62490702018-08-31 22:44:502751 days ago1535755490
0x8d7cDB1f...4b221dB1d
0.55846778 ETH
Transfer62058032018-08-24 15:22:012758 days ago1535124121
0x8d7cDB1f...4b221dB1d
0.10639325 ETH
Transfer50411202018-02-06 12:38:592958 days ago1517920739  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.