ETH Price: $3,372.04 (+2.97%)
Gas: 4 Gwei

Contract

0x45d961bDdeF7bD389D76B22907EB4856a4383aa6
 

Overview

ETH Balance

0.021258427276973534 ETH

Eth Value

$71.68 (@ $3,372.04/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155554472022-09-17 19:41:23680 days ago1663443683IN
0x45d961bD...6a4383aa6
0.00250011 ETH0.000109475.20051511
Transfer143832182022-03-14 6:49:09868 days ago1647240549IN
0x45d961bD...6a4383aa6
0.00868764 ETH0.000440520.92560771
Transfer116328902021-01-11 9:53:431295 days ago1610358823IN
0x45d961bD...6a4383aa6
0.01007066 ETH0.000021051
Sweep75325942019-04-09 7:35:561938 days ago1554795356IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer75325692019-04-09 7:32:011938 days ago1554795121IN
0x45d961bD...6a4383aa6
0.1501459 ETH0.000021051
Sweep75239542019-04-07 23:16:451939 days ago1554679005IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer75239382019-04-07 23:14:061939 days ago1554678846IN
0x45d961bD...6a4383aa6
0.15009099 ETH0.000021051
Sweep75144852019-04-06 12:09:421941 days ago1554552582IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer75144702019-04-06 12:06:301941 days ago1554552390IN
0x45d961bD...6a4383aa6
0.15028163 ETH0.000021051
Sweep75054852019-04-05 2:38:291942 days ago1554431909IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer75054662019-04-05 2:33:291942 days ago1554431609IN
0x45d961bD...6a4383aa6
0.15034883 ETH0.000021051
Sweep74962602019-04-03 16:10:201943 days ago1554307820IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74962342019-04-03 16:04:381943 days ago1554307478IN
0x45d961bD...6a4383aa6
0.15000219 ETH0.000021051
Sweep74874002019-04-02 6:38:521945 days ago1554187132IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74873832019-04-02 6:33:341945 days ago1554186814IN
0x45d961bD...6a4383aa6
0.15000496 ETH0.000021051
Sweep74776442019-03-31 18:03:131946 days ago1554055393IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74776292019-03-31 17:58:441946 days ago1554055124IN
0x45d961bD...6a4383aa6
0.15017673 ETH0.000021051
Sweep74700552019-03-30 13:51:471947 days ago1553953907IN
0x45d961bD...6a4383aa6
0 ETH0.0024996550
Transfer74700372019-03-30 13:48:441947 days ago1553953724IN
0x45d961bD...6a4383aa6
0.15018012 ETH0.000021051
Sweep74620272019-03-29 7:19:321949 days ago1553843972IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74620112019-03-29 7:15:501949 days ago1553843750IN
0x45d961bD...6a4383aa6
0.15007812 ETH0.000021051
Sweep74539592019-03-28 0:53:591950 days ago1553734439IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74539382019-03-28 0:50:151950 days ago1553734215IN
0x45d961bD...6a4383aa6
0.15024594 ETH0.000021051
Sweep74457022019-03-26 18:09:081951 days ago1553623748IN
0x45d961bD...6a4383aa6
0 ETH0.0025028550
Transfer74456852019-03-26 18:05:471951 days ago1553623547IN
0x45d961bD...6a4383aa6
0.15015198 ETH0.000021051
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
75325942019-04-09 7:35:561938 days ago1554795356
0x45d961bD...6a4383aa6
0.1501459 ETH
75239542019-04-07 23:16:451939 days ago1554679005
0x45d961bD...6a4383aa6
0.150091 ETH
75144852019-04-06 12:09:421941 days ago1554552582
0x45d961bD...6a4383aa6
0.15028164 ETH
75054852019-04-05 2:38:291942 days ago1554431909
0x45d961bD...6a4383aa6
0.15034883 ETH
74962602019-04-03 16:10:201943 days ago1554307820
0x45d961bD...6a4383aa6
0.1500022 ETH
74874002019-04-02 6:38:521945 days ago1554187132
0x45d961bD...6a4383aa6
0.15000496 ETH
74776442019-03-31 18:03:131946 days ago1554055393
0x45d961bD...6a4383aa6
0.15017674 ETH
74700552019-03-30 13:51:471947 days ago1553953907
0x45d961bD...6a4383aa6
0.15018012 ETH
74620272019-03-29 7:19:321949 days ago1553843972
0x45d961bD...6a4383aa6
0.15007812 ETH
74539592019-03-28 0:53:591950 days ago1553734439
0x45d961bD...6a4383aa6
0.15024595 ETH
74457022019-03-26 18:09:081951 days ago1553623748
0x45d961bD...6a4383aa6
0.15015198 ETH
74370082019-03-25 9:22:291953 days ago1553505749
0x45d961bD...6a4383aa6
0.15039008 ETH
74254802019-03-23 14:25:371954 days ago1553351137
0x45d961bD...6a4383aa6
0.15040969 ETH
74159482019-03-22 2:47:371956 days ago1553222857
0x45d961bD...6a4383aa6
0.15013952 ETH
74068772019-03-20 16:47:561957 days ago1553100476
0x45d961bD...6a4383aa6
0.15020158 ETH
73974872019-03-19 5:49:051959 days ago1552974545
0x45d961bD...6a4383aa6
0.15024985 ETH
73872702019-03-17 15:27:081960 days ago1552836428
0x45d961bD...6a4383aa6
0.15004653 ETH
73778962019-03-16 4:26:531962 days ago1552710413
0x45d961bD...6a4383aa6
0.15035259 ETH
73692372019-03-14 20:22:531963 days ago1552594973
0x45d961bD...6a4383aa6
0.15046315 ETH
73605182019-03-13 11:40:091965 days ago1552477209
0x45d961bD...6a4383aa6
0.15021048 ETH
73517402019-03-12 2:47:031966 days ago1552358823
0x45d961bD...6a4383aa6
0.15058313 ETH
73431702019-03-10 18:51:001967 days ago1552243860
0x45d961bD...6a4383aa6
0.15029044 ETH
73347302019-03-09 11:30:411969 days ago1552131041
0x45d961bD...6a4383aa6
0.15014733 ETH
73262192019-03-08 3:27:231970 days ago1552015643
0x45d961bD...6a4383aa6
0.15022373 ETH
73153002019-03-06 10:52:481972 days ago1551869568
0x45d961bD...6a4383aa6
0.15027415 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.