ETH Price: $2,638.13 (+1.94%)

Contract

0xED970d4cfcfCd4Ea719a9bb5D5B5F683b07a2f08
 

Overview

ETH Balance

0.00000100369399808 ETH

Eth Value

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

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0xe7baaae567200052018-11-17 7:34:592275 days ago1542440099IN
0xED970d4c...3b07a2f08
0.000001 ETH0.000779324
Sweep65464422018-10-19 21:28:512303 days ago1539984531IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer65464152018-10-19 21:22:342303 days ago1539984154IN
0xED970d4c...3b07a2f08
0.20016015 ETH0.000063153
Sweep64480272018-10-03 21:49:302319 days ago1538603370IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer64479952018-10-03 21:41:252319 days ago1538602885IN
0xED970d4c...3b07a2f08
0.2001636 ETH0.000063153
Sweep63635292018-09-20 0:34:532333 days ago1537403693IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer63635092018-09-20 0:31:102333 days ago1537403470IN
0xED970d4c...3b07a2f08
0.20018819 ETH0.000063153
Sweep63472162018-09-17 8:06:082336 days ago1537171568IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer63471952018-09-17 8:00:172336 days ago1537171217IN
0xED970d4c...3b07a2f08
0.807 ETH0.0005052224
0xe7baaae563290452018-09-14 8:03:462339 days ago1536912226IN
0xED970d4c...3b07a2f08
0.0000001 ETH0.000738524
Sweep62665032018-09-03 21:08:092349 days ago1536008889IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer62664842018-09-03 21:04:302349 days ago1536008670IN
0xED970d4c...3b07a2f08
0.2001962 ETH0.000021051
Sweep61864202018-08-21 8:45:082363 days ago1534841108IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer61863862018-08-21 8:39:112363 days ago1534840751IN
0xED970d4c...3b07a2f08
0.20003666 ETH0.000021051
Sweep60938002018-08-05 17:05:282379 days ago1533488728IN
0xED970d4c...3b07a2f08
0 ETH0.0050057100
Transfer60937742018-08-05 16:59:462379 days ago1533488386IN
0xED970d4c...3b07a2f08
0.20002316 ETH0.000021051
Sweep59140272018-07-06 5:18:342409 days ago1530854314IN
0xED970d4c...3b07a2f08
0 ETH0.00563141112.5
Transfer59140082018-07-06 5:14:542409 days ago1530854094IN
0xED970d4c...3b07a2f08
0.20007504 ETH0.000021051
Sweep57708532018-06-11 15:16:232434 days ago1528730183IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer57708332018-06-11 15:11:332434 days ago1528729893IN
0xED970d4c...3b07a2f08
0.20013291 ETH0.000021051
Sweep56401642018-05-19 10:58:322457 days ago1526727512IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer56401442018-05-19 10:51:532457 days ago1526727113IN
0xED970d4c...3b07a2f08
0.20025658 ETH0.000021051
Sweep55388792018-05-01 17:14:322475 days ago1525194872IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
Transfer55388592018-05-01 17:09:112475 days ago1525194551IN
0xED970d4c...3b07a2f08
0.20031632 ETH0.000021051
Sweep53787262018-04-04 11:07:092502 days ago1522840029IN
0xED970d4c...3b07a2f08
0 ETH0.0025028550
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
65464422018-10-19 21:28:512303 days ago1539984531
0xED970d4c...3b07a2f08
0.20016016 ETH
64480272018-10-03 21:49:302319 days ago1538603370
0xED970d4c...3b07a2f08
0.2001636 ETH
63635292018-09-20 0:34:532333 days ago1537403693
0xED970d4c...3b07a2f08
0.20018819 ETH
63472162018-09-17 8:06:082336 days ago1537171568
0xED970d4c...3b07a2f08
0.8070001 ETH
62665032018-09-03 21:08:092349 days ago1536008889
0xED970d4c...3b07a2f08
0.20019621 ETH
61864202018-08-21 8:45:082363 days ago1534841108
0xED970d4c...3b07a2f08
0.20003666 ETH
60938002018-08-05 17:05:282379 days ago1533488728
0xED970d4c...3b07a2f08
0.20002316 ETH
59140272018-07-06 5:18:342409 days ago1530854314
0xED970d4c...3b07a2f08
0.20007505 ETH
57708532018-06-11 15:16:232434 days ago1528730183
0xED970d4c...3b07a2f08
0.20013291 ETH
56401642018-05-19 10:58:322457 days ago1526727512
0xED970d4c...3b07a2f08
0.20025659 ETH
55388792018-05-01 17:14:322475 days ago1525194872
0xED970d4c...3b07a2f08
0.20031633 ETH
53787262018-04-04 11:07:092502 days ago1522840029
0xED970d4c...3b07a2f08
0.20028095 ETH
52749162018-03-18 3:01:552519 days ago1521342115
0xED970d4c...3b07a2f08
0.20010093 ETH
51920582018-03-04 0:47:462533 days ago1520124466
0xED970d4c...3b07a2f08
0.20046621 ETH
51086622018-02-17 20:39:462547 days ago1518899986
0xED970d4c...3b07a2f08
0.20045035 ETH
50296012018-02-04 14:09:342561 days ago1517753374
0xED970d4c...3b07a2f08
0.20031752 ETH
49519502018-01-22 11:17:322574 days ago1516619852
0xED970d4c...3b07a2f08
0.20039909 ETH
49045802018-01-14 2:00:462582 days ago1515895246
0xED970d4c...3b07a2f08
0.20084655 ETH
48629512018-01-06 10:04:212590 days ago1515233061
0xED970d4c...3b07a2f08
0.20223795 ETH
48195632017-12-29 18:02:062598 days ago1514570526
0xED970d4c...3b07a2f08
0.2014095 ETH
47935462017-12-25 8:48:212602 days ago1514191701
0xED970d4c...3b07a2f08
1.704 ETH
47653402017-12-20 11:39:512607 days ago1513769991
0xED970d4c...3b07a2f08
0.20100938 ETH
47409202017-12-16 5:20:112611 days ago1513401611
0xED970d4c...3b07a2f08
0.3762 ETH
47212822017-12-12 18:45:052615 days ago1513104305
0xED970d4c...3b07a2f08
0.20111258 ETH
46825232017-12-06 0:33:522621 days ago1512520432
0xED970d4c...3b07a2f08
0.20040508 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.