ETH Price: $2,098.22 (+1.68%)

Contract

0xa2ceCBfDc09f3374cA55DC3ab99ec0DAdea7d5ce
 

Overview

ETH Balance

0.005457288194872073 ETH

Eth Value

$11.45 (@ $2,098.22/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157537152022-10-15 13:08:231236 days ago1665839303IN
0xa2ceCBfD...Adea7d5ce
0.00545728 ETH0.0003417516.23458184
Sweep66708532018-11-09 6:38:222673 days ago1541745502IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer66708092018-11-09 6:28:482673 days ago1541744928IN
0xa2ceCBfD...Adea7d5ce
6.61150492 ETH0.0002736613
Sweep53891242018-04-06 4:25:462890 days ago1522988746IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer53890752018-04-06 4:15:082890 days ago1522988108IN
0xa2ceCBfD...Adea7d5ce
0.16812695 ETH0.000021051
Sweep53469032018-03-30 4:18:432897 days ago1522383523IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer53468752018-03-30 4:11:122897 days ago1522383072IN
0xa2ceCBfD...Adea7d5ce
0.17417329 ETH0.000021051
Sweep53050542018-03-23 4:11:572904 days ago1521778317IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer53050232018-03-23 4:05:102904 days ago1521777910IN
0xa2ceCBfD...Adea7d5ce
0.16716262 ETH0.000021051
Sweep52634742018-03-16 4:10:492911 days ago1521173449IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer52634472018-03-16 4:03:192911 days ago1521172999IN
0xa2ceCBfD...Adea7d5ce
0.17297373 ETH0.000021051
Sweep52241462018-03-09 11:37:242917 days ago1520595444IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer52241102018-03-09 11:29:132917 days ago1520594953IN
0xa2ceCBfD...Adea7d5ce
0.54858963 ETH0.0007367835
Sweep52222892018-03-09 4:06:242918 days ago1520568384IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer52222642018-03-09 3:59:352918 days ago1520567975IN
0xa2ceCBfD...Adea7d5ce
0.17443324 ETH0.000021051
Sweep51810182018-03-02 4:09:002925 days ago1519963740IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer51809732018-03-02 3:57:232925 days ago1519963043IN
0xa2ceCBfD...Adea7d5ce
0.18988096 ETH0.000021051
Sweep51398992018-02-23 4:00:252932 days ago1519358425IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer51398452018-02-23 3:50:342932 days ago1519357834IN
0xa2ceCBfD...Adea7d5ce
0.19720623 ETH0.000021051
Sweep50984962018-02-16 3:57:242939 days ago1518753444IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0025028550
Transfer50984592018-02-16 3:48:242939 days ago1518752904IN
0xa2ceCBfD...Adea7d5ce
0.18907334 ETH0.000021051
Sweep50568562018-02-09 3:49:522946 days ago1518148192IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0045051390
Transfer50568272018-02-09 3:42:272946 days ago1518147747IN
0xa2ceCBfD...Adea7d5ce
0.19399532 ETH0.000021051
Sweep50150942018-02-02 3:49:312953 days ago1517543371IN
0xa2ceCBfD...Adea7d5ce
0 ETH0.0045051390
Transfer50150602018-02-02 3:40:572953 days ago1517542857IN
0xa2ceCBfD...Adea7d5ce
0.22456095 ETH0.000021051
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer66708532018-11-09 6:38:222673 days ago1541745502
0xa2ceCBfD...Adea7d5ce
6.61150492 ETH
Transfer53891242018-04-06 4:25:462890 days ago1522988746
0xa2ceCBfD...Adea7d5ce
0.16812695 ETH
Transfer53469032018-03-30 4:18:432897 days ago1522383523
0xa2ceCBfD...Adea7d5ce
0.1741733 ETH
Transfer53050542018-03-23 4:11:572904 days ago1521778317
0xa2ceCBfD...Adea7d5ce
0.16716262 ETH
Transfer52634742018-03-16 4:10:492911 days ago1521173449
0xa2ceCBfD...Adea7d5ce
0.17297374 ETH
Transfer52241462018-03-09 11:37:242917 days ago1520595444
0xa2ceCBfD...Adea7d5ce
0.54858963 ETH
Transfer52222892018-03-09 4:06:242918 days ago1520568384
0xa2ceCBfD...Adea7d5ce
0.17443324 ETH
Transfer51810182018-03-02 4:09:002925 days ago1519963740
0xa2ceCBfD...Adea7d5ce
0.18988097 ETH
Transfer51398992018-02-23 4:00:252932 days ago1519358425
0xa2ceCBfD...Adea7d5ce
0.19720623 ETH
Transfer50984962018-02-16 3:57:242939 days ago1518753444
0xa2ceCBfD...Adea7d5ce
0.18907335 ETH
Transfer50568562018-02-09 3:49:522946 days ago1518148192
0xa2ceCBfD...Adea7d5ce
0.19399533 ETH
Transfer50150942018-02-02 3:49:312953 days ago1517543371
0xa2ceCBfD...Adea7d5ce
0.22456095 ETH
Transfer49737622018-01-26 3:40:462960 days ago1516938046
0xa2ceCBfD...Adea7d5ce
0.23267097 ETH
Transfer49326582018-01-19 3:37:422967 days ago1516333062
0xa2ceCBfD...Adea7d5ce
0.2726438 ETH
Transfer48941012018-01-12 3:39:202974 days ago1515728360
0xa2ceCBfD...Adea7d5ce
0.29755504 ETH
Transfer48561532018-01-05 3:44:202981 days ago1515123860
0xa2ceCBfD...Adea7d5ce
0.30235656 ETH
Transfer48402562018-01-02 6:35:302984 days ago1514874930
0xa2ceCBfD...Adea7d5ce
0.22599594 ETH
Transfer47932422017-12-25 7:35:232992 days ago1514187323
0xa2ceCBfD...Adea7d5ce
0.65124678 ETH
Transfer45902262017-11-20 19:42:203026 days ago1511206940
0xa2ceCBfD...Adea7d5ce
0.20595865 ETH
Transfer44316322017-10-26 7:02:073052 days ago1509001327  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.