ETH Price: $3,366.58 (-0.05%)

Contract

0x114bC1aFB916B5D244Edf323B61a4013a9D01b90
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep114179012020-12-09 9:43:181499 days ago1607506998IN
0x114bC1aF...3a9D01b90
0 ETH0.0095356181.6
Sweep114162202020-12-09 3:25:151500 days ago1607484315IN
0x114bC1aF...3a9D01b90
0 ETH0.003257158.8
Sweep111874802020-11-04 0:35:081535 days ago1604450108IN
0x114bC1aF...3a9D01b90
0 ETH0.0019526231.2
Sweep109572252020-09-29 11:47:471570 days ago1601380067IN
0x114bC1aF...3a9D01b90
0 ETH0.00773388129.6
Sweep109361372020-09-26 4:37:341574 days ago1601095054IN
0x114bC1aF...3a9D01b90
0 ETH0.0047514879.56
Sweep108733852020-09-16 13:17:471583 days ago1600262267IN
0x114bC1aF...3a9D01b90
0 ETH0.00873714162
Sweep108613002020-09-14 16:47:521585 days ago1600102072IN
0x114bC1aF...3a9D01b90
0 ETH0.01520651281.952
Sweep107429802020-08-27 13:47:491603 days ago1598536069IN
0x114bC1aF...3a9D01b90
0 ETH0.00845044115.5
Sweep106659242020-08-15 17:13:391615 days ago1597511619IN
0x114bC1aF...3a9D01b90
0 ETH0.0080097150
Sweep106657642020-08-15 16:36:551615 days ago1597509415IN
0x114bC1aF...3a9D01b90
0 ETH0.0080079150
Sweep106435962020-08-12 6:54:551618 days ago1597215295IN
0x114bC1aF...3a9D01b90
0 ETH0.01745844292.50000218
Sweep106182482020-08-08 9:02:201622 days ago1596877340IN
0x114bC1aF...3a9D01b90
0 ETH0.0044317574.25000035
Sweep106039422020-08-06 4:10:571625 days ago1596687057IN
0x114bC1aF...3a9D01b90
0 ETH0.0080487478
Sweep105989872020-08-05 9:35:501625 days ago1596620150IN
0x114bC1aF...3a9D01b90
0 ETH0.0060365558.5
Sweep105923272020-08-04 9:02:031626 days ago1596531723IN
0x114bC1aF...3a9D01b90
0 ETH0.0099061496
Sweep105607472020-07-30 11:46:441631 days ago1596109604IN
0x114bC1aF...3a9D01b90
0 ETH0.0051023188.69579386
Sweep105596992020-07-30 7:39:351631 days ago1596094775IN
0x114bC1aF...3a9D01b90
0 ETH0.00655796114
Sweep105031352020-07-21 14:00:271640 days ago1595340027IN
0x114bC1aF...3a9D01b90
0 ETH0.00814727136.5
Sweep104686102020-07-16 5:18:531646 days ago1594876733IN
0x114bC1aF...3a9D01b90
0 ETH0.0024537145
Sweep103863712020-07-03 12:12:501658 days ago1593778370IN
0x114bC1aF...3a9D01b90
0 ETH0.0040136873.5
Sweep103775372020-07-02 3:15:371660 days ago1593659737IN
0x114bC1aF...3a9D01b90
0 ETH0.0029283753.53125
Sweep103706162020-07-01 1:16:141661 days ago1593566174IN
0x114bC1aF...3a9D01b90
0 ETH0.0024622245
Sweep103674052020-06-30 13:33:461661 days ago1593524026IN
0x114bC1aF...3a9D01b90
0 ETH0.0049244490
Sweep103661342020-06-30 8:54:551661 days ago1593507295IN
0x114bC1aF...3a9D01b90
0 ETH0.0053336497.5
Sweep101849792020-06-02 7:20:341689 days ago1591082434IN
0x114bC1aF...3a9D01b90
0 ETH0.0028495345
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
50388912018-02-06 3:37:192537 days ago1517888239  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.