ETH Price: $2,606.27 (-2.41%)

Contract

0x7ee277A3B038CA81Cd0d774B2f41fA6a3D3c807E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep186163722023-11-20 23:48:23330 days ago1700524103IN
0x7ee277A3...a3D3c807E
0 ETH0.0022289730
Sweep160175642022-11-21 9:42:47695 days ago1669023767IN
0x7ee277A3...a3D3c807E
0 ETH0.0022289730
Sweep149875402022-06-18 22:58:10850 days ago1655593090IN
0x7ee277A3...a3D3c807E
0 ETH0.0034836453.73840372
Sweep149874622022-06-18 22:37:33850 days ago1655591853IN
0x7ee277A3...a3D3c807E
0 ETH0.00733991111.72039079
Sweep149797812022-06-17 14:54:46851 days ago1655477686IN
0x7ee277A3...a3D3c807E
0 ETH0.0044879452.20239515
Sweep148838432022-06-01 8:33:56868 days ago1654072436IN
0x7ee277A3...a3D3c807E
0 ETH0.0033685444.52034351
Sweep148405922022-05-25 7:33:33875 days ago1653464013IN
0x7ee277A3...a3D3c807E
0 ETH0.0022698930
Sweep147986982022-05-18 11:53:24882 days ago1652874804IN
0x7ee277A3...a3D3c807E
0 ETH0.0027817230
Sweep146497752022-04-24 21:16:53905 days ago1650835013IN
0x7ee277A3...a3D3c807E
0 ETH0.0025863339.95269318
Sweep146439722022-04-23 23:16:01906 days ago1650755761IN
0x7ee277A3...a3D3c807E
0 ETH0.0019420530
Sweep146438862022-04-23 22:58:34906 days ago1650754714IN
0x7ee277A3...a3D3c807E
0 ETH0.0019416930
Sweep145057942022-04-02 8:49:41928 days ago1648889381IN
0x7ee277A3...a3D3c807E
0 ETH0.0027824844.36014315
Sweep144740682022-03-28 10:10:54933 days ago1648462254IN
0x7ee277A3...a3D3c807E
0 ETH0.0036973830
Sweep143992592022-03-16 18:32:22944 days ago1647455542IN
0x7ee277A3...a3D3c807E
0 ETH0.0054305582.43107834
Sweep143938372022-03-15 22:23:47945 days ago1647383027IN
0x7ee277A3...a3D3c807E
0 ETH0.0041950563.50655685
Sweep143070902022-03-02 10:41:33959 days ago1646217693IN
0x7ee277A3...a3D3c807E
0 ETH0.0021936834.6477265
Sweep142905052022-02-27 20:49:57961 days ago1645994997IN
0x7ee277A3...a3D3c807E
0 ETH0.0053775684.74340094
Sweep142304172022-02-18 13:36:21971 days ago1645191381IN
0x7ee277A3...a3D3c807E
0 ETH0.00737307111.63710743
Sweep141657152022-02-08 13:34:13981 days ago1644327253IN
0x7ee277A3...a3D3c807E
0 ETH0.0048787864.48047573
Sweep140493552022-01-21 14:07:12998 days ago1642774032IN
0x7ee277A3...a3D3c807E
0 ETH0.008463129.89638508
Sweep140294272022-01-18 12:14:061002 days ago1642508046IN
0x7ee277A3...a3D3c807E
0 ETH0.0059253790.96368673
Sweep140252692022-01-17 20:42:301002 days ago1642452150IN
0x7ee277A3...a3D3c807E
0 ETH0.01212529160.25397036
Sweep139797222022-01-10 19:47:031009 days ago1641844023IN
0x7ee277A3...a3D3c807E
0 ETH0.01373895210.87534078
Sweep139228832022-01-02 0:47:071018 days ago1641084427IN
0x7ee277A3...a3D3c807E
0 ETH0.0075029499.16261934
Sweep138964582021-12-28 22:36:131022 days ago1640730973IN
0x7ee277A3...a3D3c807E
0 ETH0.01654248100.44986735
View all transactions

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
107117042020-08-22 18:33:301515 days ago1598121210
0x7ee277A3...a3D3c807E
0.99400604 ETH
61273862018-08-11 9:06:382258 days ago1533978398
0x7ee277A3...a3D3c807E
1.98854 ETH
48393062018-01-02 2:49:062479 days ago1514861346
0x7ee277A3...a3D3c807E
0.5 ETH
48083692017-12-27 20:11:152484 days ago1514405475  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.