ETH Price: $2,657.62 (+1.49%)

Contract

0xa66423eA9b407F483b23998b653bD827b919F863
 

Overview

ETH Balance

0.000000002434351868 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep143185322022-03-04 5:24:061073 days ago1646371446IN
0xa66423eA...7b919F863
0 ETH0.0021540638.06775272
Transfer143185192022-03-04 5:21:111073 days ago1646371271IN
0xa66423eA...7b919F863
0.25654839 ETH0.0007096633.71184266
Sweep133820512021-10-09 2:59:061219 days ago1633748346IN
0xa66423eA...7b919F863
0 ETH0.0049504787.50599013
Transfer133820292021-10-09 2:53:501219 days ago1633748030IN
0xa66423eA...7b919F863
0.0876 ETH0.00246296117
Sweep132523852021-09-18 22:18:461239 days ago1632003526IN
0xa66423eA...7b919F863
0 ETH0.0027483548.57036199
Transfer132523592021-09-18 22:12:091239 days ago1632003129IN
0xa66423eA...7b919F863
0.31412754 ETH0.0008251539.19811115
Sweep131306812021-08-31 2:36:501258 days ago1630377410IN
0xa66423eA...7b919F863
0 ETH0.0126769224.08050937
Transfer131306652021-08-31 2:33:301258 days ago1630377210IN
0xa66423eA...7b919F863
0.0565 ETH0.00951505452
Sweep130650322021-08-20 22:59:081268 days ago1629500348IN
0xa66423eA...7b919F863
0 ETH0.0016968330
Transfer130650182021-08-20 22:56:091268 days ago1629500169IN
0xa66423eA...7b919F863
0.031 ETH0.0007420635.25061106
Transfer130649282021-08-20 22:37:041268 days ago1629499024IN
0xa66423eA...7b919F863
0.0306 ETH0.0006373330.27554176
Sweep130247122021-08-14 17:46:051274 days ago1628963165IN
0xa66423eA...7b919F863
0 ETH0.0033224658.71635834
Transfer130246972021-08-14 17:42:281274 days ago1628962948IN
0xa66423eA...7b919F863
0.21537401 ETH0.0013051662
Sweep129184572021-07-29 3:45:511291 days ago1627530351IN
0xa66423eA...7b919F863
0 ETH0.0016971930
Transfer129184512021-07-29 3:44:591291 days ago1627530299IN
0xa66423eA...7b919F863
0.23 ETH0.0004631222
Transfer129184372021-07-29 3:41:291291 days ago1627530089IN
0xa66423eA...7b919F863
0.24 ETH0.0006330
Sweep129182872021-07-29 3:07:181291 days ago1627528038IN
0xa66423eA...7b919F863
0 ETH0.0016968330
Transfer129182682021-07-29 3:02:251291 days ago1627527745IN
0xa66423eA...7b919F863
0.05 ETH0.0005262725
Sweep128222002021-07-14 1:20:421306 days ago1626225642IN
0xa66423eA...7b919F863
0 ETH0.0020556436.3285
Transfer128221802021-07-14 1:17:171306 days ago1626225437IN
0xa66423eA...7b919F863
0.16839873 ETH0.0009893947

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
143185322022-03-04 5:24:061073 days ago1646371446
0xa66423eA...7b919F863
0.2565484 ETH
133820512021-10-09 2:59:061219 days ago1633748346
0xa66423eA...7b919F863
0.0876 ETH
132523852021-09-18 22:18:461239 days ago1632003526
0xa66423eA...7b919F863
0.31412754 ETH
131306812021-08-31 2:36:501258 days ago1630377410
0xa66423eA...7b919F863
0.0565 ETH
130650322021-08-20 22:59:081268 days ago1629500348
0xa66423eA...7b919F863
0.0616 ETH
130247122021-08-14 17:46:051274 days ago1628963165
0xa66423eA...7b919F863
0.21537401 ETH
129184572021-07-29 3:45:511291 days ago1627530351
0xa66423eA...7b919F863
0.23 ETH
129182872021-07-29 3:07:181291 days ago1627528038
0xa66423eA...7b919F863
0.05 ETH
128222002021-07-14 1:20:421306 days ago1626225642
0xa66423eA...7b919F863
0.16839873 ETH
54802522018-04-21 13:41:142485 days ago1524318074  Contract Creation0 ETH
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.