ETH Price: $2,090.00 (+2.87%)

Contract

0xA2103CbDe35dA67E2c34f263D4dcdf563Ca10858
 

Overview

ETH Balance

0.000000003549395473 ETH

Eth Value

Less Than $0.01 (@ $2,090.00/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep100888272020-05-18 8:10:002143 days ago1589789400IN
0xA2103CbD...63Ca10858
0 ETH0.0027043645.3
Sweep100887752020-05-18 7:57:212143 days ago1589788641IN
0xA2103CbD...63Ca10858
0 ETH0.0027301345.75
Sweep95375892020-02-23 4:55:022228 days ago1582433702IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer95375712020-02-23 4:51:522228 days ago1582433512IN
0xA2103CbD...63Ca10858
0.7226146 ETH0.000021051
Sweep94920142020-02-16 4:52:332235 days ago1581828753IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer94919982020-02-16 4:48:242235 days ago1581828504IN
0xA2103CbD...63Ca10858
1.00078745 ETH0.000021051
Sweep94601532020-02-11 6:51:022240 days ago1581403862IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer94601372020-02-11 6:48:042240 days ago1581403684IN
0xA2103CbD...63Ca10858
1.00014598 ETH0.000021051
Sweep94300752020-02-06 16:00:592245 days ago1581004859IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer94300542020-02-06 15:56:162245 days ago1581004576IN
0xA2103CbD...63Ca10858
1.00141414 ETH0.000021051
Sweep94003452020-02-02 2:26:392249 days ago1580610399IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer94003272020-02-02 2:22:132249 days ago1580610133IN
0xA2103CbD...63Ca10858
1.00156809 ETH0.000021051
Sweep93681562020-01-28 3:43:312254 days ago1580183011IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer93681312020-01-28 3:38:232254 days ago1580182703IN
0xA2103CbD...63Ca10858
1.00029739 ETH0.000021051
Sweep93372132020-01-23 9:51:202259 days ago1579773080IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer93371852020-01-23 9:46:322259 days ago1579772792IN
0xA2103CbD...63Ca10858
1.00022771 ETH0.000021051
Sweep93084042020-01-19 0:02:322263 days ago1579392152IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer93083832020-01-18 23:57:302263 days ago1579391850IN
0xA2103CbD...63Ca10858
1.00158684 ETH0.000021051
Sweep92795332020-01-14 13:46:032268 days ago1579009563IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer92795202020-01-14 13:42:232268 days ago1579009343IN
0xA2103CbD...63Ca10858
1.00027375 ETH0.000021051
Sweep92389902020-01-08 8:36:272274 days ago1578472587IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer92389772020-01-08 8:33:172274 days ago1578472397IN
0xA2103CbD...63Ca10858
1.00013041 ETH0.000021051
Sweep92048102020-01-03 3:22:142279 days ago1578021734IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
Transfer92047882020-01-03 3:16:112279 days ago1578021371IN
0xA2103CbD...63Ca10858
1.00054738 ETH0.000021051
Sweep91742392019-12-28 5:08:252285 days ago1577509705IN
0xA2103CbD...63Ca10858
0 ETH0.0012536722
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-95375892020-02-23 4:55:022228 days ago1582433702
0xA2103CbD...63Ca10858
0.72261461 ETH
-94920142020-02-16 4:52:332235 days ago1581828753
0xA2103CbD...63Ca10858
1.00078745 ETH
-94601532020-02-11 6:51:022240 days ago1581403862
0xA2103CbD...63Ca10858
1.00014599 ETH
-94300752020-02-06 16:00:592245 days ago1581004859
0xA2103CbD...63Ca10858
1.00141414 ETH
-94003452020-02-02 2:26:392249 days ago1580610399
0xA2103CbD...63Ca10858
1.0015681 ETH
-93681562020-01-28 3:43:312254 days ago1580183011
0xA2103CbD...63Ca10858
1.00029739 ETH
-93372132020-01-23 9:51:202259 days ago1579773080
0xA2103CbD...63Ca10858
1.00022772 ETH
-93084042020-01-19 0:02:322263 days ago1579392152
0xA2103CbD...63Ca10858
1.00158685 ETH
-92795332020-01-14 13:46:032268 days ago1579009563
0xA2103CbD...63Ca10858
1.00027375 ETH
-92389902020-01-08 8:36:272274 days ago1578472587
0xA2103CbD...63Ca10858
1.00013041 ETH
-92048102020-01-03 3:22:142279 days ago1578021734
0xA2103CbD...63Ca10858
1.00054739 ETH
-91742392019-12-28 5:08:252285 days ago1577509705
0xA2103CbD...63Ca10858
1.00058835 ETH
-91423102019-12-21 20:24:262292 days ago1576959866
0xA2103CbD...63Ca10858
0.83696214 ETH
-91069992019-12-14 20:23:502299 days ago1576355030
0xA2103CbD...63Ca10858
0.49678745 ETH
-90680142019-12-07 20:13:552306 days ago1575749635
0xA2103CbD...63Ca10858
0.48454497 ETH
-90285692019-11-30 20:11:332313 days ago1575144693
0xA2103CbD...63Ca10858
0.54491954 ETH
-89883352019-11-23 20:04:462320 days ago1574539486
0xA2103CbD...63Ca10858
0.82115618 ETH
-89463352019-11-16 20:01:472327 days ago1573934507
0xA2103CbD...63Ca10858
1.0000471 ETH
-89058282019-11-10 2:07:132333 days ago1573351633
0xA2103CbD...63Ca10858
1.00010899 ETH
-88763772019-11-05 7:55:302338 days ago1572940530
0xA2103CbD...63Ca10858
1.0006371 ETH
-88512422019-11-01 6:52:162342 days ago1572591136
0xA2103CbD...63Ca10858
1.00009201 ETH
-88269692019-10-28 9:18:072346 days ago1572254287
0xA2103CbD...63Ca10858
1.00147996 ETH
-88056202019-10-24 22:31:332350 days ago1571956293
0xA2103CbD...63Ca10858
1.00017621 ETH
-87832742019-10-21 9:58:342353 days ago1571651914
0xA2103CbD...63Ca10858
1.00070564 ETH
-87552862019-10-16 23:57:522357 days ago1571270272
0xA2103CbD...63Ca10858
1.00026678 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.