ETH Price: $2,064.95 (-2.71%)

Contract

0xd745cB2ffFF857532C47263328fEfDfd2BC4176C
 

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
Sweep121956512021-04-07 23:20:321814 days ago1617837632IN
0xd745cB2f...d2BC4176C
0 ETH0.00670572117.7
Transfer121956342021-04-07 23:18:051814 days ago1617837485IN
0xd745cB2f...d2BC4176C
0.5 ETH0.00237876113
Sweep120112932021-03-10 14:19:581842 days ago1615385998IN
0xd745cB2f...d2BC4176C
0 ETH0.00683106119.9
Transfer120112762021-03-10 14:17:171842 days ago1615385837IN
0xd745cB2f...d2BC4176C
1 ETH0.0022735108
Sweep119874552021-03-06 21:59:221846 days ago1615067962IN
0xd745cB2f...d2BC4176C
0 ETH0.00626835110
Transfer119874382021-03-06 21:55:401846 days ago1615067740IN
0xd745cB2f...d2BC4176C
0.86677385 ETH0.00277873132
Sweep119815622021-03-06 0:28:461847 days ago1614990526IN
0xd745cB2f...d2BC4176C
0 ETH0.00620435108.9
Transfer119815472021-03-06 0:24:041847 days ago1614990244IN
0xd745cB2f...d2BC4176C
4.5 ETH0.0019998495
Sweep79394332019-06-11 19:27:472480 days ago1560281267IN
0xd745cB2f...d2BC4176C
0 ETH0.003110250
Sweep67210702018-11-17 11:45:162686 days ago1542455116IN
0xd745cB2f...d2BC4176C
0 ETH0.0024996550
Transfer67210562018-11-17 11:40:002686 days ago1542454800IN
0xd745cB2f...d2BC4176C
1 ETH0.00012636
Sweep63997892018-09-26 0:03:242739 days ago1537920204IN
0xd745cB2f...d2BC4176C
0 ETH0.0025028550
Transfer63997602018-09-25 23:55:472739 days ago1537919747IN
0xd745cB2f...d2BC4176C
0.22 ETH0.0002315611
Transfer63576132018-09-19 1:22:072746 days ago1537320127IN
0xd745cB2f...d2BC4176C
0.0145 ETH0.00016848
Sweep63242042018-09-13 13:01:322751 days ago1536843692IN
0xd745cB2f...d2BC4176C
0 ETH0.0024996550
Transfer63241632018-09-13 12:52:332751 days ago1536843153IN
0xd745cB2f...d2BC4176C
0.18 ETH0.000189459
Sweep63214442018-09-13 1:57:372752 days ago1536803857IN
0xd745cB2f...d2BC4176C
0 ETH0.0024996550
Transfer63214262018-09-13 1:53:152752 days ago1536803595IN
0xd745cB2f...d2BC4176C
0.21 ETH0.00012636
Sweep63149812018-09-12 0:13:112753 days ago1536711191IN
0xd745cB2f...d2BC4176C
0 ETH0.0025028550
Transfer63149602018-09-12 0:08:212753 days ago1536710901IN
0xd745cB2f...d2BC4176C
0.1057197 ETH0.00012636
Sweep63148572018-09-11 23:43:322753 days ago1536709412IN
0xd745cB2f...d2BC4176C
0 ETH0.0025028550
Transfer63148352018-09-11 23:39:102753 days ago1536709150IN
0xd745cB2f...d2BC4176C
0.10561095 ETH0.00012636
Sweep63075952018-09-10 18:52:012754 days ago1536605521IN
0xd745cB2f...d2BC4176C
0 ETH0.0025028550
Transfer63075812018-09-10 18:48:052754 days ago1536605285IN
0xd745cB2f...d2BC4176C
0.136254 ETH0.00016848
Sweep63075242018-09-10 18:31:422754 days ago1536604302IN
0xd745cB2f...d2BC4176C
0 ETH0.0024996550
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-121956512021-04-07 23:20:321814 days ago1617837632
0xd745cB2f...d2BC4176C
0.5 ETH
-120112932021-03-10 14:19:581842 days ago1615385998
0xd745cB2f...d2BC4176C
1 ETH
-119874552021-03-06 21:59:221846 days ago1615067962
0xd745cB2f...d2BC4176C
0.86677385 ETH
-119815622021-03-06 0:28:461847 days ago1614990526
0xd745cB2f...d2BC4176C
4.5 ETH
Transfer67210702018-11-17 11:45:162686 days ago1542455116
0xd745cB2f...d2BC4176C
1 ETH
Transfer63997892018-09-26 0:03:242739 days ago1537920204
0xd745cB2f...d2BC4176C
0.2345 ETH
Transfer63242042018-09-13 13:01:322751 days ago1536843692
0xd745cB2f...d2BC4176C
0.18 ETH
Transfer63214442018-09-13 1:57:372752 days ago1536803857
0xd745cB2f...d2BC4176C
0.21 ETH
Transfer63149812018-09-12 0:13:112753 days ago1536711191
0xd745cB2f...d2BC4176C
0.1057197 ETH
Transfer63148572018-09-11 23:43:322753 days ago1536709412
0xd745cB2f...d2BC4176C
0.10561095 ETH
Transfer63075952018-09-10 18:52:012754 days ago1536605521
0xd745cB2f...d2BC4176C
0.136254 ETH
Transfer63075242018-09-10 18:31:422754 days ago1536604302
0xd745cB2f...d2BC4176C
0.05555555 ETH
Transfer50440472018-02-07 0:21:282970 days ago1517962888  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.