ETH Price: $2,019.09 (+1.47%)

Contract

0x7770ABA9878d2f19792f9cE0104e0bB68f8c92D3
 

Overview

ETH Balance

0.014239164415107133 ETH

Eth Value

$28.75 (@ $2,019.09/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer53664802018-04-02 10:23:112917 days ago1522664591IN
0x7770ABA9...68f8c92D3
0.01423915 ETH0.000021051
Sweep53246852018-03-26 10:23:312924 days ago1522059811IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer53246582018-03-26 10:18:112924 days ago1522059491IN
0x7770ABA9...68f8c92D3
0.05001189 ETH0.000021051
Sweep52831982018-03-19 12:11:592931 days ago1521461519IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer52831602018-03-19 12:03:192931 days ago1521460999IN
0x7770ABA9...68f8c92D3
0.05002699 ETH0.000021051
Sweep52469282018-03-13 8:23:362937 days ago1520929416IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer52468962018-03-13 8:16:292937 days ago1520928989IN
0x7770ABA9...68f8c92D3
0.05001361 ETH0.000021051
Sweep52085352018-03-06 19:55:322943 days ago1520366132IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer52085082018-03-06 19:49:472943 days ago1520365787IN
0x7770ABA9...68f8c92D3
0.05000488 ETH0.000021051
Sweep51739582018-02-28 23:21:252949 days ago1519860085IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer51739162018-02-28 23:12:442949 days ago1519859564IN
0x7770ABA9...68f8c92D3
0.05000858 ETH0.000021051
Sweep51410192018-02-23 8:35:062955 days ago1519374906IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer51409552018-02-23 8:20:092955 days ago1519374009IN
0x7770ABA9...68f8c92D3
0.0500446 ETH0.000021051
Sweep51071102018-02-17 14:21:512961 days ago1518877311IN
0x7770ABA9...68f8c92D3
0 ETH0.0024996550
Transfer51070642018-02-17 14:08:572961 days ago1518876537IN
0x7770ABA9...68f8c92D3
0.05000313 ETH0.000021051
Sweep50738152018-02-12 0:09:182966 days ago1518394158IN
0x7770ABA9...68f8c92D3
0 ETH0.0044993790
Transfer50737852018-02-12 0:02:212966 days ago1518393741IN
0x7770ABA9...68f8c92D3
0.05001928 ETH0.000021051
Sweep50423902018-02-06 17:49:222971 days ago1517939362IN
0x7770ABA9...68f8c92D3
0 ETH0.0044993790
Transfer50423652018-02-06 17:44:082971 days ago1517939048IN
0x7770ABA9...68f8c92D3
0.05000408 ETH0.000021051
Sweep50116622018-02-01 13:10:492977 days ago1517490649IN
0x7770ABA9...68f8c92D3
0 ETH0.0044993790
Transfer50116262018-02-01 13:00:462977 days ago1517490046IN
0x7770ABA9...68f8c92D3
0.05001387 ETH0.000021051
Sweep49810622018-01-27 9:13:342982 days ago1517044414IN
0x7770ABA9...68f8c92D3
0 ETH0.0044993790
Transfer49810282018-01-27 9:04:532982 days ago1517043893IN
0x7770ABA9...68f8c92D3
0.0500303 ETH0.000021051
Sweep49542882018-01-22 20:59:172986 days ago1516654757IN
0x7770ABA9...68f8c92D3
0 ETH0.0044993790
Transfer49542532018-01-22 20:49:182986 days ago1516654158IN
0x7770ABA9...68f8c92D3
0.05003943 ETH0.000021051
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer53246852018-03-26 10:23:312924 days ago1522059811
0x7770ABA9...68f8c92D3
0.05001189 ETH
Transfer52831982018-03-19 12:11:592931 days ago1521461519
0x7770ABA9...68f8c92D3
0.050027 ETH
Transfer52469282018-03-13 8:23:362937 days ago1520929416
0x7770ABA9...68f8c92D3
0.05001361 ETH
Transfer52085352018-03-06 19:55:322943 days ago1520366132
0x7770ABA9...68f8c92D3
0.05000488 ETH
Transfer51739582018-02-28 23:21:252949 days ago1519860085
0x7770ABA9...68f8c92D3
0.05000859 ETH
Transfer51410192018-02-23 8:35:062955 days ago1519374906
0x7770ABA9...68f8c92D3
0.0500446 ETH
Transfer51071102018-02-17 14:21:512961 days ago1518877311
0x7770ABA9...68f8c92D3
0.05000314 ETH
Transfer50738152018-02-12 0:09:182966 days ago1518394158
0x7770ABA9...68f8c92D3
0.05001929 ETH
Transfer50423902018-02-06 17:49:222971 days ago1517939362
0x7770ABA9...68f8c92D3
0.05000408 ETH
Transfer50116622018-02-01 13:10:492977 days ago1517490649
0x7770ABA9...68f8c92D3
0.05001387 ETH
Transfer49810622018-01-27 9:13:342982 days ago1517044414
0x7770ABA9...68f8c92D3
0.05003031 ETH
Transfer49542882018-01-22 20:59:172986 days ago1516654757
0x7770ABA9...68f8c92D3
0.05003944 ETH
Transfer49197102018-01-16 19:53:472992 days ago1516132427
0x7770ABA9...68f8c92D3
0.05001003 ETH
Transfer48989732018-01-13 1:15:412996 days ago1515806141
0x7770ABA9...68f8c92D3
0.05002144 ETH
Transfer48804502018-01-09 15:08:203000 days ago1515510500
0x7770ABA9...68f8c92D3
0.05005953 ETH
Transfer48594732018-01-05 18:25:033003 days ago1515176703
0x7770ABA9...68f8c92D3
0.0500479 ETH
Transfer48380342018-01-01 21:41:503007 days ago1514842910
0x7770ABA9...68f8c92D3
0.05000847 ETH
Transfer48146122017-12-28 21:32:373011 days ago1514496757
0x7770ABA9...68f8c92D3
0.05005803 ETH
Transfer47907952017-12-24 21:53:203015 days ago1514152400
0x7770ABA9...68f8c92D3
0.05000977 ETH
Transfer47687552017-12-21 2:25:583019 days ago1513823158
0x7770ABA9...68f8c92D3
0.05003231 ETH
Transfer47474772017-12-17 8:17:063023 days ago1513498626
0x7770ABA9...68f8c92D3
0.05004651 ETH
Transfer47268312017-12-13 18:06:533026 days ago1513188413
0x7770ABA9...68f8c92D3
0.05004384 ETH
Transfer46886582017-12-07 3:24:083033 days ago1512617048  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.