ETH Price: $3,352.23 (-0.98%)

Contract

0x00A74D98856e50b7135851D1BFA9cf1CAD506E2E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep105396632020-07-27 5:18:521616 days ago1595827132IN
0x00A74D98...CAD506E2E
0 ETH0.0056403299
Transfer105396422020-07-27 5:14:391616 days ago1595826879IN
0x00A74D98...CAD506E2E
0.051 ETH0.0012630660
Sweep104743022020-07-17 2:39:361626 days ago1594953576IN
0x00A74D98...CAD506E2E
0 ETH0.0033329258.50000218
Transfer104742812020-07-17 2:34:371626 days ago1594953277IN
0x00A74D98...CAD506E2E
0.051 ETH0.0008841442
Sweep102115882020-06-06 10:20:271667 days ago1591438827IN
0x00A74D98...CAD506E2E
0 ETH0.0016237328.5
Transfer102115682020-06-06 10:17:091667 days ago1591438629IN
0x00A74D98...CAD506E2E
0.051 ETH0.0008420440
Sweep102049842020-06-05 9:38:541668 days ago1591349934IN
0x00A74D98...CAD506E2E
0 ETH0.0029056251
Transfer102049692020-06-05 9:35:591668 days ago1591349759IN
0x00A74D98...CAD506E2E
0.051 ETH0.0008420440
Sweep101831952020-06-02 0:22:481671 days ago1591057368IN
0x00A74D98...CAD506E2E
0 ETH0.0025637845.00000185
Transfer101831732020-06-02 0:17:371671 days ago1591057057IN
0x00A74D98...CAD506E2E
0.051 ETH0.0004841723
Sweep101702002020-05-30 23:56:501673 days ago1590883010IN
0x00A74D98...CAD506E2E
0 ETH0.0015382727
Transfer101701852020-05-30 23:53:411673 days ago1590882821IN
0x00A74D98...CAD506E2E
0.092 ETH0.0008420440
Sweep101567702020-05-28 22:00:521675 days ago1590703252IN
0x00A74D98...CAD506E2E
0 ETH0.0025643245
Transfer101567532020-05-28 21:54:091675 days ago1590702849IN
0x00A74D98...CAD506E2E
0.101 ETH0.0008420440
Sweep101317112020-05-25 0:14:061679 days ago1590365646IN
0x00A74D98...CAD506E2E
0 ETH0.0012862622.572
Transfer101316872020-05-25 0:09:291679 days ago1590365369IN
0x00A74D98...CAD506E2E
0.093 ETH0.0003578617
Sweep101282552020-05-24 11:26:491680 days ago1590319609IN
0x00A74D98...CAD506E2E
0 ETH0.0020253935.55
Transfer101282272020-05-24 11:21:461680 days ago1590319306IN
0x00A74D98...CAD506E2E
0.222 ETH0.0005052224
Sweep101222102020-05-23 12:56:471681 days ago1590238607IN
0x00A74D98...CAD506E2E
0 ETH0.0015550327.3
Transfer101221902020-05-23 12:52:321681 days ago1590238352IN
0x00A74D98...CAD506E2E
0.07 ETH0.0004631222
Sweep101123712020-05-22 0:00:311682 days ago1590105631IN
0x00A74D98...CAD506E2E
0 ETH0.0017091930.00000185
Transfer101123472020-05-21 23:55:461682 days ago1590105346IN
0x00A74D98...CAD506E2E
0.22 ETH0.0004420721
Sweep101045322020-05-20 18:55:221683 days ago1590000922IN
0x00A74D98...CAD506E2E
0 ETH0.0017091930
Transfer101045072020-05-20 18:50:321683 days ago1590000632IN
0x00A74D98...CAD506E2E
0.11 ETH0.0004210220
Sweep100256052020-05-08 12:37:031696 days ago1588941423IN
0x00A74D98...CAD506E2E
0 ETH0.0012818922.5
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
105396632020-07-27 5:18:521616 days ago1595827132
0x00A74D98...CAD506E2E
0.051 ETH
104743022020-07-17 2:39:361626 days ago1594953576
0x00A74D98...CAD506E2E
0.051 ETH
102115882020-06-06 10:20:271667 days ago1591438827
0x00A74D98...CAD506E2E
0.051 ETH
102049842020-06-05 9:38:541668 days ago1591349934
0x00A74D98...CAD506E2E
0.051 ETH
101831952020-06-02 0:22:481671 days ago1591057368
0x00A74D98...CAD506E2E
0.051 ETH
101702002020-05-30 23:56:501673 days ago1590883010
0x00A74D98...CAD506E2E
0.092 ETH
101567702020-05-28 22:00:521675 days ago1590703252
0x00A74D98...CAD506E2E
0.101 ETH
101317112020-05-25 0:14:061679 days ago1590365646
0x00A74D98...CAD506E2E
0.093 ETH
101282552020-05-24 11:26:491680 days ago1590319609
0x00A74D98...CAD506E2E
0.222 ETH
101222102020-05-23 12:56:471681 days ago1590238607
0x00A74D98...CAD506E2E
0.07 ETH
101123712020-05-22 0:00:311682 days ago1590105631
0x00A74D98...CAD506E2E
0.22 ETH
101045322020-05-20 18:55:221683 days ago1590000922
0x00A74D98...CAD506E2E
0.11 ETH
100256052020-05-08 12:37:031696 days ago1588941423
0x00A74D98...CAD506E2E
0.051 ETH
99639502020-04-28 23:33:321705 days ago1588116812
0x00A74D98...CAD506E2E
0.055 ETH
99502632020-04-26 20:30:551707 days ago1587933055
0x00A74D98...CAD506E2E
0.051 ETH
99307952020-04-23 20:10:491710 days ago1587672649
0x00A74D98...CAD506E2E
0.12 ETH
99025782020-04-19 11:26:261715 days ago1587295586
0x00A74D98...CAD506E2E
0.157 ETH
98696532020-04-14 9:12:521720 days ago1586855572
0x00A74D98...CAD506E2E
0.1 ETH
98108082020-04-05 7:53:171729 days ago1586073197
0x00A74D98...CAD506E2E
0.099 ETH
97814462020-03-31 19:49:051733 days ago1585684145
0x00A74D98...CAD506E2E
0.1 ETH
96854612020-03-16 23:06:011748 days ago1584399961
0x00A74D98...CAD506E2E
0.11 ETH
96687702020-03-14 9:27:431751 days ago1584178063
0x00A74D98...CAD506E2E
0.1 ETH
96450732020-03-10 17:30:351755 days ago1583861435
0x00A74D98...CAD506E2E
0.1 ETH
96301352020-03-08 10:00:241757 days ago1583661624
0x00A74D98...CAD506E2E
0.054 ETH
96040402020-03-04 9:58:101761 days ago1583315890
0x00A74D98...CAD506E2E
0.051 ETH
View All Internal Transactions
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

[{"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.