ETH Price: $2,267.98 (+7.00%)

Contract

0xD070Fc1EA61FA2cEC7f5D4E5b9e2Cc3f0782986B
 

Overview

ETH Balance

0.000000003813741644 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep93680472020-01-28 3:21:502239 days ago1580181710IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer93680312020-01-28 3:18:452239 days ago1580181525IN
0xD070Fc1E...f0782986B
0.0954809 ETH0.000021051
Sweep93223672020-01-21 3:17:042246 days ago1579576624IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer93223472020-01-21 3:11:482246 days ago1579576308IN
0xD070Fc1E...f0782986B
0.32600012 ETH0.000021051
Sweep92766652020-01-14 3:08:492253 days ago1578971329IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer92766462020-01-14 3:04:432253 days ago1578971083IN
0xD070Fc1E...f0782986B
0.45961131 ETH0.000021051
Sweep92309172020-01-07 3:00:212260 days ago1578366021IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer92308952020-01-07 2:54:582260 days ago1578365698IN
0xD070Fc1E...f0782986B
0.67379458 ETH0.000021051
Sweep91888922019-12-31 2:58:522267 days ago1577761132IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer91888732019-12-31 2:54:112267 days ago1577760851IN
0xD070Fc1E...f0782986B
0.37310689 ETH0.000021051
Sweep91536852019-12-24 2:48:042274 days ago1577155684IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer91536692019-12-24 2:44:072274 days ago1577155447IN
0xD070Fc1E...f0782986B
0.24506963 ETH0.000021051
Sweep91185842019-12-17 2:47:112281 days ago1576550831IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer91185662019-12-17 2:41:262281 days ago1576550486IN
0xD070Fc1E...f0782986B
0.13149835 ETH0.000021051
Sweep90807772019-12-10 2:38:262288 days ago1575945506IN
0xD070Fc1E...f0782986B
0 ETH0.0012536722
Transfer90807612019-12-10 2:34:192288 days ago1575945259IN
0xD070Fc1E...f0782986B
0.17007891 ETH0.000021051
Transfer90413352019-12-03 2:29:582295 days ago1575340198IN
0xD070Fc1E...f0782986B
0.01009135 ETH0.000021051
Sweep83586142019-08-16 1:45:132404 days ago1565919913IN
0xD070Fc1E...f0782986B
0 ETH0.0011012522
Transfer83585872019-08-16 1:40:332404 days ago1565919633IN
0xD070Fc1E...f0782986B
0.49949965 ETH0.000021051
Sweep83135032019-08-09 1:43:022411 days ago1565314982IN
0xD070Fc1E...f0782986B
0 ETH0.0011012522
Transfer83134842019-08-09 1:39:132411 days ago1565314753IN
0xD070Fc1E...f0782986B
0.96797369 ETH0.000021051
Sweep82683082019-08-02 1:36:002418 days ago1564709760IN
0xD070Fc1E...f0782986B
0 ETH0.0011012522
Transfer82682922019-08-02 1:32:582418 days ago1564709578IN
0xD070Fc1E...f0782986B
1.0001923 ETH0.000021051
Sweep82234222019-07-26 2:09:452425 days ago1564106985IN
0xD070Fc1E...f0782986B
0 ETH0.0011012522
Transfer82234002019-07-26 2:03:392425 days ago1564106619IN
0xD070Fc1E...f0782986B
1.00031504 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-93680472020-01-28 3:21:502239 days ago1580181710
0xD070Fc1E...f0782986B
0.0954809 ETH
-93223672020-01-21 3:17:042246 days ago1579576624
0xD070Fc1E...f0782986B
0.32600013 ETH
-92766652020-01-14 3:08:492253 days ago1578971329
0xD070Fc1E...f0782986B
0.45961132 ETH
-92309172020-01-07 3:00:212260 days ago1578366021
0xD070Fc1E...f0782986B
0.67379458 ETH
-91888922019-12-31 2:58:522267 days ago1577761132
0xD070Fc1E...f0782986B
0.37310689 ETH
-91536852019-12-24 2:48:042274 days ago1577155684
0xD070Fc1E...f0782986B
0.24506963 ETH
-91185842019-12-17 2:47:112281 days ago1576550831
0xD070Fc1E...f0782986B
0.13149835 ETH
-90807772019-12-10 2:38:262288 days ago1575945506
0xD070Fc1E...f0782986B
0.18017027 ETH
-83586142019-08-16 1:45:132404 days ago1565919913
0xD070Fc1E...f0782986B
0.49949966 ETH
-83135032019-08-09 1:43:022411 days ago1565314982
0xD070Fc1E...f0782986B
0.9679737 ETH
-82683082019-08-02 1:36:002418 days ago1564709760
0xD070Fc1E...f0782986B
1.0001923 ETH
-82234222019-07-26 2:09:452425 days ago1564106985
0xD070Fc1E...f0782986B
1.00031504 ETH
-81789212019-07-19 4:18:032432 days ago1563509883
0xD070Fc1E...f0782986B
0.94859069 ETH
-81341342019-07-12 4:15:552439 days ago1562904955
0xD070Fc1E...f0782986B
0.93536912 ETH
-80890682019-07-05 4:11:562446 days ago1562299916
0xD070Fc1E...f0782986B
1.00069415 ETH
-80462322019-06-28 12:12:222452 days ago1561723942
0xD070Fc1E...f0782986B
1.00058138 ETH
-80058682019-06-22 5:05:042459 days ago1561179904
0xD070Fc1E...f0782986B
0.98852448 ETH
-79611962019-06-15 5:06:022466 days ago1560575162
0xD070Fc1E...f0782986B
1.00062561 ETH
-79233182019-06-09 6:56:512472 days ago1560063411
0xD070Fc1E...f0782986B
1.00017668 ETH
-78817552019-06-02 18:36:402478 days ago1559500600
0xD070Fc1E...f0782986B
1.00004331 ETH
-78423432019-05-27 14:52:212484 days ago1558968741
0xD070Fc1E...f0782986B
1.00008913 ETH
-78017242019-05-21 6:48:392491 days ago1558421319
0xD070Fc1E...f0782986B
1.00046806 ETH
-77653422019-05-15 14:04:042496 days ago1557929044
0xD070Fc1E...f0782986B
1.00056747 ETH
-77273052019-05-09 15:55:592502 days ago1557417359
0xD070Fc1E...f0782986B
1.00056755 ETH
-76902752019-05-03 20:57:032508 days ago1556917023
0xD070Fc1E...f0782986B
1.00040772 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.