ETH Price: $2,023.75 (-0.77%)

Contract

0xd9c84fdff125EFDcbE3c02cE2047AfCd2FEb1352
 

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
Sweep110143022020-10-08 10:07:291980 days ago1602151649IN
0xd9c84fdf...d2FEb1352
0 ETH0.0031508452.8
Sweep110095952020-10-07 16:13:001981 days ago1602087180IN
0xd9c84fdf...d2FEb1352
0 ETH0.00635896106.56
Sweep110094362020-10-07 15:38:331981 days ago1602085113IN
0xd9c84fdf...d2FEb1352
0 ETH0.00616015103.20768
Sweep110089102020-10-07 13:37:221981 days ago1602077842IN
0xd9c84fdf...d2FEb1352
0 ETH0.0039848866.76296
Sweep110084382020-10-07 11:56:111981 days ago1602071771IN
0xd9c84fdf...d2FEb1352
0 ETH0.0042974672
Sweep110084072020-10-07 11:49:101981 days ago1602071350IN
0xd9c84fdf...d2FEb1352
0 ETH0.0040718868.2344
Sweep110082392020-10-07 11:11:321981 days ago1602069092IN
0xd9c84fdf...d2FEb1352
0 ETH0.0050853385.2
Sweep110082242020-10-07 11:09:081981 days ago1602068948IN
0xd9c84fdf...d2FEb1352
0 ETH0.004883881.84
Sweep110079512020-10-07 10:05:411981 days ago1602065141IN
0xd9c84fdf...d2FEb1352
0 ETH0.0029837550
Sweep110077672020-10-07 9:27:051981 days ago1602062825IN
0xd9c84fdf...d2FEb1352
0 ETH0.0032230954
Sweep110076552020-10-07 9:00:171981 days ago1602061217IN
0xd9c84fdf...d2FEb1352
0 ETH0.0036226160.6936
Sweep110074262020-10-07 8:02:511981 days ago1602057771IN
0xd9c84fdf...d2FEb1352
0 ETH0.0032940655.2
Sweep110073392020-10-07 7:40:211981 days ago1602056421IN
0xd9c84fdf...d2FEb1352
0 ETH0.0029837550
Sweep110065242020-10-07 4:42:051981 days ago1602045725IN
0xd9c84fdf...d2FEb1352
0 ETH0.0035095958.80000175
Sweep110062572020-10-07 3:42:381982 days ago1602042158IN
0xd9c84fdf...d2FEb1352
0 ETH0.00606536101.64
Sweep110062102020-10-07 3:30:591982 days ago1602041459IN
0xd9c84fdf...d2FEb1352
0 ETH0.00708939118.8
Sweep110061202020-10-07 3:06:381982 days ago1602039998IN
0xd9c84fdf...d2FEb1352
0 ETH0.00693324116.16
Sweep110060752020-10-07 2:56:181982 days ago1602039378IN
0xd9c84fdf...d2FEb1352
0 ETH0.0059164199.144
Sweep110058822020-10-07 2:11:461982 days ago1602036706IN
0xd9c84fdf...d2FEb1352
0 ETH0.00716244120
Sweep110056562020-10-07 1:21:031982 days ago1602033663IN
0xd9c84fdf...d2FEb1352
0 ETH0.0057992497.2
Sweep110049052020-10-06 22:34:161982 days ago1602023656IN
0xd9c84fdf...d2FEb1352
0 ETH0.0033964656.916
Sweep110042932020-10-06 20:20:591982 days ago1602015659IN
0xd9c84fdf...d2FEb1352
0 ETH0.01181802198
Sweep110027242020-10-06 14:28:491982 days ago1601994529IN
0xd9c84fdf...d2FEb1352
0 ETH0.00880803147.6
Sweep105883632020-08-03 18:11:542046 days ago1596478314IN
0xd9c84fdf...d2FEb1352
0 ETH0.0052984893
Transfer105883462020-08-03 18:06:562046 days ago1596478016IN
0xd9c84fdf...d2FEb1352
4 ETH0.0015367273
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-105883632020-08-03 18:11:542046 days ago1596478314
0xd9c84fdf...d2FEb1352
4 ETH
-105763052020-08-01 21:21:272048 days ago1596316887
0xd9c84fdf...d2FEb1352
1.77 ETH
-105762952020-08-01 21:18:422048 days ago1596316722
0xd9c84fdf...d2FEb1352
2.2 ETH
-105762772020-08-01 21:14:542048 days ago1596316494
0xd9c84fdf...d2FEb1352
0.07 ETH
-101713332020-05-31 4:07:312111 days ago1590898051
0xd9c84fdf...d2FEb1352
8 ETH
-101713122020-05-31 4:02:302111 days ago1590897750
0xd9c84fdf...d2FEb1352
3 ETH
-101712832020-05-31 3:57:052111 days ago1590897425
0xd9c84fdf...d2FEb1352
3 ETH
-99521402020-04-27 3:38:592145 days ago1587958739
0xd9c84fdf...d2FEb1352
2.5 ETH
Transfer41712272017-08-18 0:27:593128 days ago1503016079  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.