ETH Price: $2,791.03 (+4.43%)

Contract

0xabBdaFCF899b74Bd2Bd87a47a2d91977D35C9fC4
 

Overview

ETH Balance

0.000000002176144972 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep160497002022-11-25 21:31:47819 days ago1669411907IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0016971930
Transfer160496802022-11-25 21:27:47819 days ago1669411667IN
0xabBdaFCF...7D35C9fC4
0.04153373 ETH0.0002128710.11245125
Transfer145335572022-04-06 17:10:051053 days ago1649265005IN
0xabBdaFCF...7D35C9fC4
0.01428964 ETH0.0015969875.8627482
Sweep130702882021-08-21 18:33:291280 days ago1629570809IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0032817743.56992157
Sweep121296922021-03-28 19:59:491426 days ago1616961589IN
0xabBdaFCF...7D35C9fC4
0 ETH0.00933984163.9
Transfer121296762021-03-28 19:56:371426 days ago1616961397IN
0xabBdaFCF...7D35C9fC4
0.70711304 ETH0.0032629155
Sweep120361102021-03-14 10:22:181441 days ago1615717338IN
0xabBdaFCF...7D35C9fC4
0 ETH0.00774141135.8500008
Transfer120360892021-03-14 10:17:031441 days ago1615717023IN
0xabBdaFCF...7D35C9fC4
0.97923601 ETH0.00273663130
Sweep119388522021-02-27 10:38:031456 days ago1614422283IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0050773689.1000016
Transfer119388332021-02-27 10:33:011456 days ago1614421981IN
0xabBdaFCF...7D35C9fC4
0.4136844 ETH0.0016840880
Sweep119375482021-02-27 5:46:071456 days ago1614404767IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0050146888
Transfer119375242021-02-27 5:40:221456 days ago1614404422IN
0xabBdaFCF...7D35C9fC4
0.87366952 ETH0.0016840880
Sweep119374882021-02-27 5:33:191456 days ago1614403999IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0051400490.2000016
Transfer119374742021-02-27 5:30:011456 days ago1614403801IN
0xabBdaFCF...7D35C9fC4
0.11556642 ETH0.0016840880
Sweep115897872021-01-04 19:01:591509 days ago1609786919IN
0xabBdaFCF...7D35C9fC4
0 ETH0.00622276109.2
Transfer115897672021-01-04 18:57:451509 days ago1609786665IN
0xabBdaFCF...7D35C9fC4
0.25523262 ETH0.0063153300
Sweep115706102021-01-01 20:26:211512 days ago1609532781IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0027352848
Transfer115705812021-01-01 20:20:271512 days ago1609532427IN
0xabBdaFCF...7D35C9fC4
0.75237004 ETH0.0009472945
Sweep115290652020-12-26 11:29:391519 days ago1608982179IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0029404251.6
Transfer115290432020-12-26 11:24:331519 days ago1608981873IN
0xabBdaFCF...7D35C9fC4
5.35361817 ETH0.0008420440
Sweep98258192020-04-07 15:39:231782 days ago1586273963IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0012536722
Transfer98258022020-04-07 15:35:091782 days ago1586273709IN
0xabBdaFCF...7D35C9fC4
1.09633199 ETH0.0002105110
Sweep98187012020-04-06 13:11:471783 days ago1586178707IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0012536722
Transfer98186862020-04-06 13:09:071783 days ago1586178547IN
0xabBdaFCF...7D35C9fC4
0.68799924 ETH0.0002168210.3
Sweep94992832020-02-17 7:29:291832 days ago1581924569IN
0xabBdaFCF...7D35C9fC4
0 ETH0.0012536722
View all transactions

Latest 20 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
160497002022-11-25 21:31:47819 days ago1669411907
0xabBdaFCF...7D35C9fC4
0.05582339 ETH
121296922021-03-28 19:59:491426 days ago1616961589
0xabBdaFCF...7D35C9fC4
0.70711305 ETH
120361102021-03-14 10:22:181441 days ago1615717338
0xabBdaFCF...7D35C9fC4
0.97923601 ETH
119388522021-02-27 10:38:031456 days ago1614422283
0xabBdaFCF...7D35C9fC4
0.4136844 ETH
119375482021-02-27 5:46:071456 days ago1614404767
0xabBdaFCF...7D35C9fC4
0.87366952 ETH
119374882021-02-27 5:33:191456 days ago1614403999
0xabBdaFCF...7D35C9fC4
0.11556643 ETH
115897872021-01-04 19:01:591509 days ago1609786919
0xabBdaFCF...7D35C9fC4
0.25523262 ETH
115706102021-01-01 20:26:211512 days ago1609532781
0xabBdaFCF...7D35C9fC4
0.75237004 ETH
115290652020-12-26 11:29:391519 days ago1608982179
0xabBdaFCF...7D35C9fC4
5.35361818 ETH
98258192020-04-07 15:39:231782 days ago1586273963
0xabBdaFCF...7D35C9fC4
1.09633199 ETH
98187012020-04-06 13:11:471783 days ago1586178707
0xabBdaFCF...7D35C9fC4
0.68799924 ETH
94992832020-02-17 7:29:291832 days ago1581924569
0xabBdaFCF...7D35C9fC4
0.5677023 ETH
94991072020-02-17 6:47:441832 days ago1581922064
0xabBdaFCF...7D35C9fC4
2.25659745 ETH
94937722020-02-16 11:10:301833 days ago1581851430
0xabBdaFCF...7D35C9fC4
1.39485121 ETH
94900252020-02-15 21:16:181833 days ago1581801378
0xabBdaFCF...7D35C9fC4
6.09465213 ETH
94819392020-02-14 15:26:541835 days ago1581694014
0xabBdaFCF...7D35C9fC4
10.55033788 ETH
81639012019-07-16 20:10:452047 days ago1563307845
0xabBdaFCF...7D35C9fC4
1.995 ETH
81614422019-07-16 10:43:352048 days ago1563273815
0xabBdaFCF...7D35C9fC4
5.19361141 ETH
44082702017-10-22 12:42:082680 days ago1508676128
0xabBdaFCF...7D35C9fC4
0.05463429 ETH
43915312017-10-19 20:35:452682 days ago1508445345  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.