ETH Price: $2,139.66 (-2.26%)

Contract

0xaC45A54e21CF2D76D483E8bEB76Ce3E5DeCFB0aF
 

Overview

ETH Balance

0.020529470285192589 ETH

Eth Value

$43.93 (@ $2,139.66/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer75738382019-04-15 17:24:172530 days ago1555349057IN
0xaC45A54e...5DeCFB0aF
0.02052946 ETH0.000021051
Sweep75288002019-04-08 17:20:252537 days ago1554744025IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer75287822019-04-08 17:16:292537 days ago1554743789IN
0xaC45A54e...5DeCFB0aF
0.22302515 ETH0.000021051
Sweep74838562019-04-01 17:12:402544 days ago1554138760IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer74838382019-04-01 17:09:182544 days ago1554138558IN
0xaC45A54e...5DeCFB0aF
0.22951933 ETH0.000021051
Sweep74390922019-03-25 17:11:112551 days ago1553533871IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer74390732019-03-25 17:06:572551 days ago1553533617IN
0xaC45A54e...5DeCFB0aF
0.21648272 ETH0.000021051
Sweep73941412019-03-18 17:07:442558 days ago1552928864IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer73941232019-03-18 17:02:562558 days ago1552928576IN
0xaC45A54e...5DeCFB0aF
0.21269934 ETH0.000021051
Sweep73490952019-03-11 17:04:272565 days ago1552323867IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer73490742019-03-11 16:59:532565 days ago1552323593IN
0xaC45A54e...5DeCFB0aF
0.20755939 ETH0.000021051
Sweep73041602019-03-04 17:04:432572 days ago1551719083IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer73041422019-03-04 16:59:442572 days ago1551718784IN
0xaC45A54e...5DeCFB0aF
0.20626668 ETH0.000021051
Sweep72666962019-02-25 16:59:072579 days ago1551113947IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer72666812019-02-25 16:51:562579 days ago1551113516IN
0xaC45A54e...5DeCFB0aF
0.21156164 ETH0.000021051
Sweep72368122019-02-18 16:48:532586 days ago1550508533IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer72367972019-02-18 16:43:402586 days ago1550508220IN
0xaC45A54e...5DeCFB0aF
0.21805169 ETH0.000021051
Sweep72074792019-02-11 16:46:402593 days ago1549903600IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer72074582019-02-11 16:40:452593 days ago1549903245IN
0xaC45A54e...5DeCFB0aF
0.24232437 ETH0.000021051
Sweep71741992019-02-04 16:40:212600 days ago1549298421IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer71741822019-02-04 16:35:102600 days ago1549298110IN
0xaC45A54e...5DeCFB0aF
0.24696328 ETH0.000021051
Sweep71399242019-01-28 16:42:512607 days ago1548693771IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer71398962019-01-28 16:35:412607 days ago1548693341IN
0xaC45A54e...5DeCFB0aF
0.21183204 ETH0.000021051
Sweep71045462019-01-21 16:31:272614 days ago1548088287IN
0xaC45A54e...5DeCFB0aF
0 ETH0.0025028550
Transfer71045302019-01-21 16:25:142614 days ago1548087914IN
0xaC45A54e...5DeCFB0aF
0.22069338 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-75288002019-04-08 17:20:252537 days ago1554744025
0xaC45A54e...5DeCFB0aF
0.22302516 ETH
-74838562019-04-01 17:12:402544 days ago1554138760
0xaC45A54e...5DeCFB0aF
0.22951934 ETH
-74390922019-03-25 17:11:112551 days ago1553533871
0xaC45A54e...5DeCFB0aF
0.21648272 ETH
-73941412019-03-18 17:07:442558 days ago1552928864
0xaC45A54e...5DeCFB0aF
0.21269934 ETH
-73490952019-03-11 17:04:272565 days ago1552323867
0xaC45A54e...5DeCFB0aF
0.20755939 ETH
-73041602019-03-04 17:04:432572 days ago1551719083
0xaC45A54e...5DeCFB0aF
0.20626669 ETH
-72666962019-02-25 16:59:072579 days ago1551113947
0xaC45A54e...5DeCFB0aF
0.21156164 ETH
-72368122019-02-18 16:48:532586 days ago1550508533
0xaC45A54e...5DeCFB0aF
0.2180517 ETH
-72074792019-02-11 16:46:402593 days ago1549903600
0xaC45A54e...5DeCFB0aF
0.24232437 ETH
-71741992019-02-04 16:40:212600 days ago1549298421
0xaC45A54e...5DeCFB0aF
0.24696329 ETH
-71399242019-01-28 16:42:512607 days ago1548693771
0xaC45A54e...5DeCFB0aF
0.21183204 ETH
-71045462019-01-21 16:31:272614 days ago1548088287
0xaC45A54e...5DeCFB0aF
0.22069338 ETH
-70657052019-01-14 16:31:262621 days ago1547483486
0xaC45A54e...5DeCFB0aF
0.22160442 ETH
-70266042019-01-07 16:21:502628 days ago1546878110
0xaC45A54e...5DeCFB0aF
0.23143305 ETH
-69866642018-12-31 16:17:432635 days ago1546273063
0xaC45A54e...5DeCFB0aF
0.24326074 ETH
-69452292018-12-24 16:16:082642 days ago1545668168
0xaC45A54e...5DeCFB0aF
0.26492709 ETH
-69040562018-12-17 16:08:452649 days ago1545062925
0xaC45A54e...5DeCFB0aF
0.26231858 ETH
-68617222018-12-10 16:03:302656 days ago1544457810
0xaC45A54e...5DeCFB0aF
0.24833642 ETH
-68193692018-12-03 16:03:232663 days ago1543853003
0xaC45A54e...5DeCFB0aF
0.24112185 ETH
Transfer67770262018-11-26 16:01:192670 days ago1543248079
0xaC45A54e...5DeCFB0aF
0.21139521 ETH
Transfer67343932018-11-19 16:05:102677 days ago1542643510
0xaC45A54e...5DeCFB0aF
0.19499295 ETH
Transfer66915472018-11-12 15:52:112684 days ago1542037931
0xaC45A54e...5DeCFB0aF
0.19346777 ETH
Transfer66488462018-11-05 15:56:112691 days ago1541433371
0xaC45A54e...5DeCFB0aF
0.19358968 ETH
Transfer66061972018-10-29 15:56:282698 days ago1540828588
0xaC45A54e...5DeCFB0aF
0.19572013 ETH
Transfer65633322018-10-22 15:54:132705 days ago1540223653
0xaC45A54e...5DeCFB0aF
0.18287371 ETH
View All Internal Transactions
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.