ETH Price: $3,183.90 (+0.50%)

Contract

0x12A2df4bE985CBE436a53b46FE17386173c19747
 

Overview

ETH Balance

0.009053712071154565 ETH

Eth Value

$28.83 (@ $3,183.90/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155832132022-09-21 17:24:47845 days ago1663781087IN
0x12A2df4b...173c19747
0.00905371 ETH0.0002260410.73779273
Sweep117443872021-01-28 12:48:421446 days ago1611838122IN
0x12A2df4b...173c19747
0 ETH0.0051970391.2
Transfer117443552021-01-28 12:43:371446 days ago1611837817IN
0x12A2df4b...173c19747
0.10002594 ETH0.0006336330.1
Sweep117392442021-01-27 17:36:511447 days ago1611769011IN
0x12A2df4b...173c19747
0 ETH0.0042396874.40000175
Transfer117392222021-01-27 17:32:101447 days ago1611768730IN
0x12A2df4b...173c19747
0.10458907 ETH0.0006336330.1
Sweep117332002021-01-26 19:16:141448 days ago1611688574IN
0x12A2df4b...173c19747
0 ETH0.00594923104.4
Transfer117331862021-01-26 19:12:411448 days ago1611688361IN
0x12A2df4b...173c19747
0.10153046 ETH0.0006336330.1
Sweep117283912021-01-26 1:26:291449 days ago1611624389IN
0x12A2df4b...173c19747
0 ETH0.0030889854.206982
Transfer117283722021-01-26 1:23:241449 days ago1611624204IN
0x12A2df4b...173c19747
0.10389461 ETH0.0006336330.1
Sweep117235372021-01-25 7:41:471450 days ago1611560507IN
0x12A2df4b...173c19747
0 ETH0.0042123373.92
Transfer117234992021-01-25 7:33:341450 days ago1611560014IN
0x12A2df4b...173c19747
0.10256415 ETH0.0006336330.1
Sweep117188152021-01-24 14:13:571450 days ago1611497637IN
0x12A2df4b...173c19747
0 ETH0.003008852.8
Transfer117187892021-01-24 14:09:411450 days ago1611497381IN
0x12A2df4b...173c19747
0.10052418 ETH0.0006336330.1
Sweep117130452021-01-23 17:01:161451 days ago1611421276IN
0x12A2df4b...173c19747
0 ETH0.0052654192.4
Transfer117130252021-01-23 16:56:371451 days ago1611420997IN
0x12A2df4b...173c19747
0.10083816 ETH0.0006336330.1
Sweep117081302021-01-22 22:53:261452 days ago1611356006IN
0x12A2df4b...173c19747
0 ETH0.00588085103.2
Transfer117081172021-01-22 22:49:391452 days ago1611355779IN
0x12A2df4b...173c19747
0.10483884 ETH0.0006336330.1
Sweep117031362021-01-22 4:23:031453 days ago1611289383IN
0x12A2df4b...173c19747
0 ETH0.00793231139.2
Transfer117031182021-01-22 4:18:121453 days ago1611289092IN
0x12A2df4b...173c19747
0.10244515 ETH0.0006336330.1
Sweep116993942021-01-21 14:40:091453 days ago1611240009IN
0x12A2df4b...173c19747
0 ETH0.00951535166.98
Transfer116993762021-01-21 14:35:301453 days ago1611239730IN
0x12A2df4b...173c19747
0.10057493 ETH0.0006336330.1
Sweep116945012021-01-20 20:21:231454 days ago1611174083IN
0x12A2df4b...173c19747
0 ETH0.0049303486.52
Transfer116944772021-01-20 20:17:531454 days ago1611173873IN
0x12A2df4b...173c19747
0.10021318 ETH0.0006336330.1
Sweep116893702021-01-20 1:41:231455 days ago1611106883IN
0x12A2df4b...173c19747
0 ETH0.003008852.80000175
Transfer116893542021-01-20 1:38:101455 days ago1611106690IN
0x12A2df4b...173c19747
0.10392787 ETH0.0006336330.1
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
117443872021-01-28 12:48:421446 days ago1611838122
0x12A2df4b...173c19747
0.10002595 ETH
117392442021-01-27 17:36:511447 days ago1611769011
0x12A2df4b...173c19747
0.10458907 ETH
117332002021-01-26 19:16:141448 days ago1611688574
0x12A2df4b...173c19747
0.10153047 ETH
117283912021-01-26 1:26:291449 days ago1611624389
0x12A2df4b...173c19747
0.10389461 ETH
117235372021-01-25 7:41:471450 days ago1611560507
0x12A2df4b...173c19747
0.10256415 ETH
117188152021-01-24 14:13:571450 days ago1611497637
0x12A2df4b...173c19747
0.10052419 ETH
117130452021-01-23 17:01:161451 days ago1611421276
0x12A2df4b...173c19747
0.10083817 ETH
117081302021-01-22 22:53:261452 days ago1611356006
0x12A2df4b...173c19747
0.10483885 ETH
117031362021-01-22 4:23:031453 days ago1611289383
0x12A2df4b...173c19747
0.10244515 ETH
116993942021-01-21 14:40:091453 days ago1611240009
0x12A2df4b...173c19747
0.10057494 ETH
116945012021-01-20 20:21:231454 days ago1611174083
0x12A2df4b...173c19747
0.10021318 ETH
116893702021-01-20 1:41:231455 days ago1611106883
0x12A2df4b...173c19747
0.10392788 ETH
116845702021-01-19 8:11:331456 days ago1611043893
0x12A2df4b...173c19747
0.1005452 ETH
116790772021-01-18 11:46:341456 days ago1610970394
0x12A2df4b...173c19747
0.10284046 ETH
116735562021-01-17 15:39:481457 days ago1610897988
0x12A2df4b...173c19747
0.10042106 ETH
116680462021-01-16 19:11:431458 days ago1610824303
0x12A2df4b...173c19747
0.10416035 ETH
116634292021-01-16 1:59:311459 days ago1610762371
0x12A2df4b...173c19747
0.10099855 ETH
116586022021-01-15 8:28:341460 days ago1610699314
0x12A2df4b...173c19747
0.10169198 ETH
116538982021-01-14 15:03:161460 days ago1610636596
0x12A2df4b...173c19747
0.10322244 ETH
116486402021-01-13 19:38:541461 days ago1610566734
0x12A2df4b...173c19747
0.10090797 ETH
116436512021-01-13 1:20:521462 days ago1610500852
0x12A2df4b...173c19747
0.10042671 ETH
116388612021-01-12 7:41:501463 days ago1610437310
0x12A2df4b...173c19747
0.10131155 ETH
116351152021-01-11 17:57:141463 days ago1610387834
0x12A2df4b...173c19747
0.10713244 ETH
116322652021-01-11 7:34:011464 days ago1610350441
0x12A2df4b...173c19747
0.10102873 ETH
116288342021-01-10 18:49:211464 days ago1610304561
0x12A2df4b...173c19747
0.10000859 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.