ETH Price: $2,021.00 (+1.92%)

Contract

0x3954fdd984e227FC5F1c3E71e5b30a3Aa35a9FF1
 

Overview

ETH Balance

0.00000000619978989 ETH

Eth Value

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

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep144792282022-03-29 5:29:381460 days ago1648531778IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0016975530
Transfer144792112022-03-29 5:26:031460 days ago1648531563IN
0x3954fdd9...Aa35a9FF1
0.14728279 ETH0.0005683727
Sweep144130072022-03-18 22:07:041470 days ago1647641224IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0038713868.43163128
Transfer144129852022-03-18 22:02:311470 days ago1647640951IN
0x3954fdd9...Aa35a9FF1
0.13547392 ETH0.0010104448
Sweep143805382022-03-13 20:50:421475 days ago1647204642IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0018985533.55227165
Transfer143805242022-03-13 20:48:061475 days ago1647204486IN
0x3954fdd9...Aa35a9FF1
0.07834159 ETH0.0007157334
Sweep137219942021-12-01 16:00:491578 days ago1638374449IN
0x3954fdd9...Aa35a9FF1
0 ETH0.00859691151.92926919
Transfer137219732021-12-01 15:56:281578 days ago1638374188IN
0x3954fdd9...Aa35a9FF1
0.10569186 ETH0.00284188135
Sweep135903302021-11-10 19:23:271598 days ago1636572207IN
0x3954fdd9...Aa35a9FF1
0 ETH0.01574159278.19376852
Transfer135903172021-11-10 19:19:281598 days ago1636571968IN
0x3954fdd9...Aa35a9FF1
0.18563843 ETH0.00378918180
Sweep135444632021-11-03 14:48:371606 days ago1635950917IN
0x3954fdd9...Aa35a9FF1
0 ETH0.01117915197.56389326
Transfer135444462021-11-03 14:43:431606 days ago1635950623IN
0x3954fdd9...Aa35a9FF1
0.22199328 ETH0.00399969190
Sweep134552922021-10-20 15:00:151620 days ago1634742015IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0087717155.01823574
Transfer134552682021-10-20 14:55:071620 days ago1634741707IN
0x3954fdd9...Aa35a9FF1
0.19755217 ETH0.00252612120
Sweep133984942021-10-11 16:53:241629 days ago1633971204IN
0x3954fdd9...Aa35a9FF1
0 ETH0.00739738130.73051148
Transfer133984812021-10-11 16:49:391629 days ago1633970979IN
0x3954fdd9...Aa35a9FF1
0.09758196 ETH0.00263137125
Sweep131413692021-09-01 18:28:471669 days ago1630520927IN
0x3954fdd9...Aa35a9FF1
0 ETH0.01149059203.06793544
Transfer131413542021-09-01 18:26:211669 days ago1630520781IN
0x3954fdd9...Aa35a9FF1
0.13508771 ETH0.00347341165
Sweep130616322021-08-20 10:35:271681 days ago1629455727IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0018810833.2435397
Transfer130616172021-08-20 10:31:271681 days ago1629455487IN
0x3954fdd9...Aa35a9FF1
0.2799514 ETH0.0007157334
Sweep130615892021-08-20 10:25:451681 days ago1629455145IN
0x3954fdd9...Aa35a9FF1
0 ETH0.0016971930
Transfer130615662021-08-20 10:22:191681 days ago1629454939IN
0x3954fdd9...Aa35a9FF1
0.05 ETH0.0007157334
Transfer129991732021-08-10 18:47:151690 days ago1628621235IN
0x3954fdd9...Aa35a9FF1
0.005 ETH0.0010104448
Sweep118394612021-02-12 3:45:061870 days ago1613101506IN
0x3954fdd9...Aa35a9FF1
0 ETH0.00789812138.6
Transfer118394572021-02-12 3:44:411870 days ago1613101481IN
0x3954fdd9...Aa35a9FF1
0.11304753 ETH0.00336816160
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-144792282022-03-29 5:29:381460 days ago1648531778
0x3954fdd9...Aa35a9FF1
0.14728279 ETH
-144130072022-03-18 22:07:041470 days ago1647641224
0x3954fdd9...Aa35a9FF1
0.13547392 ETH
-143805382022-03-13 20:50:421475 days ago1647204642
0x3954fdd9...Aa35a9FF1
0.0783416 ETH
-137219942021-12-01 16:00:491578 days ago1638374449
0x3954fdd9...Aa35a9FF1
0.10569186 ETH
-135903302021-11-10 19:23:271598 days ago1636572207
0x3954fdd9...Aa35a9FF1
0.18563843 ETH
-135444632021-11-03 14:48:371606 days ago1635950917
0x3954fdd9...Aa35a9FF1
0.22199329 ETH
-134552922021-10-20 15:00:151620 days ago1634742015
0x3954fdd9...Aa35a9FF1
0.19755217 ETH
-133984942021-10-11 16:53:241629 days ago1633971204
0x3954fdd9...Aa35a9FF1
0.09758197 ETH
-131413692021-09-01 18:28:471669 days ago1630520927
0x3954fdd9...Aa35a9FF1
0.13508771 ETH
-130616322021-08-20 10:35:271681 days ago1629455727
0x3954fdd9...Aa35a9FF1
0.27995141 ETH
-130615892021-08-20 10:25:451681 days ago1629455145
0x3954fdd9...Aa35a9FF1
0.055 ETH
-118394612021-02-12 3:45:061870 days ago1613101506
0x3954fdd9...Aa35a9FF1
0.11304753 ETH
-118394382021-02-12 3:40:561870 days ago1613101256
0x3954fdd9...Aa35a9FF1
0.11287444 ETH
-115575622020-12-30 20:27:291913 days ago1609360049
0x3954fdd9...Aa35a9FF1
0.19967332 ETH
-115519042020-12-29 23:42:091914 days ago1609285329
0x3954fdd9...Aa35a9FF1
0.061031 ETH
-112123342020-11-07 19:56:361966 days ago1604778996
0x3954fdd9...Aa35a9FF1
1 ETH
-112122702020-11-07 19:42:071966 days ago1604778127
0x3954fdd9...Aa35a9FF1
0.063 ETH
Transfer52937922018-03-21 6:49:472929 days ago1521614987  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.