ETH Price: $3,313.20 (-4.53%)

Contract

0x81D41c38F6854c4Ecea0FA6601C9Bd083F799eAb
 

Overview

ETH Balance

0.000000003987487223 ETH

Eth Value

Less Than $0.01 (@ $3,313.20/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep143663662022-03-11 15:33:331021 days ago1647012813IN
0x81D41c38...83F799eAb
0 ETH0.0027649548.86372699
Transfer143663482022-03-11 15:30:401021 days ago1647012640IN
0x81D41c38...83F799eAb
0.19939771 ETH0.0010990152.20703381
Sweep143511472022-03-09 6:56:161023 days ago1646808976IN
0x81D41c38...83F799eAb
0 ETH0.0024568943.41954661
Transfer143511322022-03-09 6:54:281023 days ago1646808868IN
0x81D41c38...83F799eAb
0.19783394 ETH0.0007590536.05809208
Transfer143511302022-03-09 6:54:041023 days ago1646808844IN
0x81D41c38...83F799eAb
0.3976069 ETH0.0008443240.10837612
Sweep143161242022-03-03 20:12:241029 days ago1646338344IN
0x81D41c38...83F799eAb
0 ETH0.0025739645.48846084
Transfer143161062022-03-03 20:08:251029 days ago1646338105IN
0x81D41c38...83F799eAb
0.5003684 ETH0.0008763141.62839509
Sweep142913732022-02-28 0:09:371032 days ago1646006977IN
0x81D41c38...83F799eAb
0 ETH0.003343359.08458874
Transfer142913532022-02-28 0:04:411032 days ago1646006681IN
0x81D41c38...83F799eAb
0.79629522 ETH0.0012469859.23615803
Sweep142724442022-02-25 1:54:361035 days ago1645754076IN
0x81D41c38...83F799eAb
0 ETH0.0026127246.17346503
Transfer142724282022-02-25 1:51:591035 days ago1645753919IN
0x81D41c38...83F799eAb
0.5025217 ETH0.0009970847.36522693
Sweep142095012022-02-15 7:54:271045 days ago1644911667IN
0x81D41c38...83F799eAb
0 ETH0.0024395543.11301711
Transfer142094842022-02-15 7:51:311045 days ago1644911491IN
0x81D41c38...83F799eAb
0.98995267 ETH0.000844440.11232923
Sweep141906812022-02-12 10:25:001048 days ago1644661500IN
0x81D41c38...83F799eAb
0 ETH0.0023586341.68304782
Transfer141906632022-02-12 10:21:131048 days ago1644661273IN
0x81D41c38...83F799eAb
0.69597679 ETH0.0006707131.86130874
Sweep140688352022-01-24 14:28:211067 days ago1643034501IN
0x81D41c38...83F799eAb
0 ETH0.01511798267.1729339
Transfer140688252022-01-24 14:25:161067 days ago1643034316IN
0x81D41c38...83F799eAb
0.19411532 ETH0.00324262154.03667188
Transfer140688212022-01-24 14:24:401067 days ago1643034280IN
0x81D41c38...83F799eAb
0.38924843 ETH0.00364588173.19311095
Sweep140231182022-01-17 12:50:011074 days ago1642423801IN
0x81D41c38...83F799eAb
0 ETH0.00567475100.28726127
Transfer140231062022-01-17 12:46:391074 days ago1642423599IN
0x81D41c38...83F799eAb
0.39864396 ETH0.0020502797.39557095
Transfer140231032022-01-17 12:45:261074 days ago1642423526IN
0x81D41c38...83F799eAb
0.32605419 ETH0.001933891.86286101
Sweep139899302022-01-12 9:32:021079 days ago1641979922IN
0x81D41c38...83F799eAb
0 ETH0.00874935154.62329959
Transfer139899072022-01-12 9:27:201079 days ago1641979640IN
0x81D41c38...83F799eAb
0.47337801 ETH0.00324467154.13409639
Sweep139578292022-01-07 10:41:241084 days ago1641552084IN
0x81D41c38...83F799eAb
0 ETH0.0052371692.55401611
Transfer139578052022-01-07 10:36:151084 days ago1641551775IN
0x81D41c38...83F799eAb
0.46392723 ETH0.00221383105.16526029
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
143663662022-03-11 15:33:331021 days ago1647012813
0x81D41c38...83F799eAb
0.19939772 ETH
143511472022-03-09 6:56:161023 days ago1646808976
0x81D41c38...83F799eAb
0.59544084 ETH
143161242022-03-03 20:12:241029 days ago1646338344
0x81D41c38...83F799eAb
0.5003684 ETH
142913732022-02-28 0:09:371032 days ago1646006977
0x81D41c38...83F799eAb
0.79629522 ETH
142724442022-02-25 1:54:361035 days ago1645754076
0x81D41c38...83F799eAb
0.5025217 ETH
142095012022-02-15 7:54:271045 days ago1644911667
0x81D41c38...83F799eAb
0.98995268 ETH
141906812022-02-12 10:25:001048 days ago1644661500
0x81D41c38...83F799eAb
0.6959768 ETH
140688352022-01-24 14:28:211067 days ago1643034501
0x81D41c38...83F799eAb
0.58336377 ETH
140231182022-01-17 12:50:011074 days ago1642423801
0x81D41c38...83F799eAb
0.72469816 ETH
139899302022-01-12 9:32:021079 days ago1641979922
0x81D41c38...83F799eAb
0.47337801 ETH
139578292022-01-07 10:41:241084 days ago1641552084
0x81D41c38...83F799eAb
0.46392724 ETH
139548512022-01-06 23:32:391084 days ago1641511959
0x81D41c38...83F799eAb
0.19179394 ETH
139482552022-01-05 22:51:271085 days ago1641423087
0x81D41c38...83F799eAb
0.19179394 ETH
139251672022-01-02 9:21:001089 days ago1641115260
0x81D41c38...83F799eAb
0.32313825 ETH
139032362021-12-29 23:34:321092 days ago1640820872
0x81D41c38...83F799eAb
0.19627697 ETH
138959862021-12-28 20:50:231093 days ago1640724623
0x81D41c38...83F799eAb
0.1992375 ETH
138872822021-12-27 12:23:171095 days ago1640607797
0x81D41c38...83F799eAb
1.00159583 ETH
138542952021-12-22 9:52:121100 days ago1640166732
0x81D41c38...83F799eAb
0.3132291 ETH
138003452021-12-14 1:16:371108 days ago1639444597
0x81D41c38...83F799eAb
0.42709535 ETH
137485482021-12-05 22:07:021116 days ago1638742022
0x81D41c38...83F799eAb
0.49729701 ETH
137485102021-12-05 22:00:091116 days ago1638741609
0x81D41c38...83F799eAb
0.79924534 ETH
136662452021-11-22 19:07:131130 days ago1637608033
0x81D41c38...83F799eAb
1.74741366 ETH
136234292021-11-16 0:12:071136 days ago1637021527
0x81D41c38...83F799eAb
0.74272898 ETH
136196182021-11-15 9:47:451137 days ago1636969665
0x81D41c38...83F799eAb
1.27656 ETH
135453912021-11-03 18:09:271149 days ago1635962967
0x81D41c38...83F799eAb
1.85770649 ETH
View All Internal Transactions
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.