ETH Price: $2,151.45 (+0.53%)

Contract

0xA3CC14901D267cAC24f85Bc84E4Fc85B60DB954d
 

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
Sweep84390822019-08-28 14:13:512396 days ago1567001631IN
0xA3CC1490...B60DB954d
0 ETH0.0010272622
Sweep84390032019-08-28 13:53:372396 days ago1567000417IN
0xA3CC1490...B60DB954d
0 ETH0.0010272622
Sweep84384112019-08-28 11:35:152396 days ago1566992115IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer84383912019-08-28 11:30:232396 days ago1566991823IN
0xA3CC1490...B60DB954d
14.84141758 ETH0.00008424
Sweep84370522019-08-28 6:24:202396 days ago1566973460IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer84370352019-08-28 6:19:312396 days ago1566973171IN
0xA3CC1490...B60DB954d
14.69013937 ETH0.0008420440
Sweep84086612019-08-23 20:19:422401 days ago1566591582IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer84086372019-08-23 20:16:242401 days ago1566591384IN
0xA3CC1490...B60DB954d
12.68907262 ETH0.000048622.31
Sweep84085732019-08-23 20:03:542401 days ago1566590634IN
0xA3CC1490...B60DB954d
0 ETH0.0010286722
Sweep82184282019-07-25 7:15:232430 days ago1564038923IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer82184122019-07-25 7:11:572430 days ago1564038717IN
0xA3CC1490...B60DB954d
17.89635951 ETH0.00012636
Sweep82180042019-07-25 5:42:302430 days ago1564033350IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer82179972019-07-25 5:41:202430 days ago1564033280IN
0xA3CC1490...B60DB954d
10.67686438 ETH0.00004212
Sweep82179792019-07-25 5:37:272430 days ago1564033047IN
0xA3CC1490...B60DB954d
0 ETH0.0011012522
Transfer82179702019-07-25 5:35:262430 days ago1564032926IN
0xA3CC1490...B60DB954d
11.40182978 ETH0.00004212
Sweep82179582019-07-25 5:33:112430 days ago1564032791IN
0xA3CC1490...B60DB954d
0 ETH0.0011026622
Transfer82179432019-07-25 5:30:282430 days ago1564032628IN
0xA3CC1490...B60DB954d
24.33073513 ETH0.0008420440
Sweep82178562019-07-25 5:10:482430 days ago1564031448IN
0xA3CC1490...B60DB954d
0 ETH0.0011026622
Transfer82178322019-07-25 5:05:142430 days ago1564031114IN
0xA3CC1490...B60DB954d
21.83200948 ETH0.00004212
Sweep80911942019-07-05 11:58:192450 days ago1562327899IN
0xA3CC1490...B60DB954d
0 ETH0.0011026622
Transfer80911722019-07-05 11:52:412450 days ago1562327561IN
0xA3CC1490...B60DB954d
19.11971752 ETH0.00012636
Sweep80910862019-07-05 11:32:322450 days ago1562326352IN
0xA3CC1490...B60DB954d
0 ETH0.0011026622
Transfer80910692019-07-05 11:28:582450 days ago1562326138IN
0xA3CC1490...B60DB954d
22.20542054 ETH0.000063153
Sweep80907082019-07-05 10:13:382450 days ago1562321618IN
0xA3CC1490...B60DB954d
0 ETH0.0011026622
Transfer80906942019-07-05 10:10:242450 days ago1562321424IN
0xA3CC1490...B60DB954d
22.03072388 ETH0.0008420440
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-84384112019-08-28 11:35:152396 days ago1566992115
0xA3CC1490...B60DB954d
14.84141758 ETH
-84370522019-08-28 6:24:202396 days ago1566973460
0xA3CC1490...B60DB954d
14.69013937 ETH
-84086612019-08-23 20:19:422401 days ago1566591582
0xA3CC1490...B60DB954d
12.68907262 ETH
-82184282019-07-25 7:15:232430 days ago1564038923
0xA3CC1490...B60DB954d
17.89635951 ETH
-82180042019-07-25 5:42:302430 days ago1564033350
0xA3CC1490...B60DB954d
10.67686438 ETH
-82179792019-07-25 5:37:272430 days ago1564033047
0xA3CC1490...B60DB954d
11.40182978 ETH
-82179582019-07-25 5:33:112430 days ago1564032791
0xA3CC1490...B60DB954d
24.33073513 ETH
-82178562019-07-25 5:10:482430 days ago1564031448
0xA3CC1490...B60DB954d
21.83200948 ETH
-80911942019-07-05 11:58:192450 days ago1562327899
0xA3CC1490...B60DB954d
19.11971752 ETH
-80910862019-07-05 11:32:322450 days ago1562326352
0xA3CC1490...B60DB954d
22.20542054 ETH
-80907082019-07-05 10:13:382450 days ago1562321618
0xA3CC1490...B60DB954d
22.03072388 ETH
-77777122019-05-17 12:16:252499 days ago1558095385
0xA3CC1490...B60DB954d
10.23066522 ETH
-77695592019-05-16 5:47:512500 days ago1557985671
0xA3CC1490...B60DB954d
8.34331994 ETH
-77688382019-05-16 2:59:422501 days ago1557975582
0xA3CC1490...B60DB954d
15.044333 ETH
-77594622019-05-14 16:14:042502 days ago1557850444
0xA3CC1490...B60DB954d
7.34464555 ETH
-77465232019-05-12 15:48:172504 days ago1557676097
0xA3CC1490...B60DB954d
12.41985728 ETH
-77465112019-05-12 15:45:372504 days ago1557675937
0xA3CC1490...B60DB954d
8.4191486 ETH
-77464932019-05-12 15:40:462504 days ago1557675646
0xA3CC1490...B60DB954d
7.84628449 ETH
-77464032019-05-12 15:18:102504 days ago1557674290
0xA3CC1490...B60DB954d
12.28039741 ETH
-77412412019-05-11 20:00:212505 days ago1557604821
0xA3CC1490...B60DB954d
23.39699915 ETH
-75256282019-04-08 5:35:422538 days ago1554701742
0xA3CC1490...B60DB954d
15.19326161 ETH
-75089342019-04-05 15:47:242541 days ago1554479244
0xA3CC1490...B60DB954d
11.5098507 ETH
-75078612019-04-05 11:39:242541 days ago1554464364
0xA3CC1490...B60DB954d
18.54815013 ETH
-74981912019-04-03 23:22:292543 days ago1554333749
0xA3CC1490...B60DB954d
17.2480288 ETH
-74950472019-04-03 11:30:282543 days ago1554291028
0xA3CC1490...B60DB954d
18.64633775 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.