ETH Price: $2,444.10 (-1.74%)

Contract

0xaF1755b442C742a9ABB3C59f811D0a8a3cBa2a7C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep159375322022-11-10 5:28:35697 days ago1668058115IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0018740130
Sweep159322282022-11-09 11:39:35698 days ago1667993975IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0021787634.87862192
Sweep155668532022-09-19 10:04:59749 days ago1663581899IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0022286130
Sweep155667792022-09-19 9:49:59749 days ago1663580999IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0022286130
Sweep155667252022-09-19 9:39:11749 days ago1663580351IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0018736530
Sweep150023132022-06-21 12:28:59839 days ago1655814539IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0022286130
Sweep125095792021-05-26 10:58:261230 days ago1622026706IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0017442330.83153768
Transfer125095602021-05-26 10:54:561230 days ago1622026496IN
0xaF1755b4...a3cBa2a7C
1.8 ETH0.0005683727
Sweep124636902021-05-19 8:18:241237 days ago1621412304IN
0xaF1755b4...a3cBa2a7C
0 ETH0.00744509116.15
Sweep124238042021-05-13 4:15:401244 days ago1620879340IN
0xaF1755b4...a3cBa2a7C
0 ETH0.00995401175.95
Transfer124237762021-05-13 4:11:121244 days ago1620879072IN
0xaF1755b4...a3cBa2a7C
0.5 ETH0.00799938380
Sweep123662932021-05-04 6:56:221252 days ago1620111382IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0019055733.6835
Transfer123662702021-05-04 6:51:451252 days ago1620111105IN
0xaF1755b4...a3cBa2a7C
2 ETH0.0007367835
Sweep122980512021-04-23 18:12:551263 days ago1619201575IN
0xaF1755b4...a3cBa2a7C
0 ETH0.004749383.95
Transfer122980292021-04-23 18:07:291263 days ago1619201249IN
0xaF1755b4...a3cBa2a7C
0.7 ETH0.0017682884
Sweep122977472021-04-23 17:07:491263 days ago1619197669IN
0xaF1755b4...a3cBa2a7C
0 ETH0.00821149123.05
Sweep122442952021-04-15 11:05:121271 days ago1618484712IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0040531771.645
Transfer122437812021-04-15 9:17:251271 days ago1618478245IN
0xaF1755b4...a3cBa2a7C
1 ETH0.0018735389
Sweep118942102021-02-20 14:02:071325 days ago1613829727IN
0xaF1755b4...a3cBa2a7C
0 ETH0.01353678237.6
Transfer118941922021-02-20 13:58:181325 days ago1613829498IN
0xaF1755b4...a3cBa2a7C
2 ETH0.00414704197
Sweep116549412021-01-14 18:54:061362 days ago1610650446IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0036610864.26
Transfer116549182021-01-14 18:49:291362 days ago1610650169IN
0xaF1755b4...a3cBa2a7C
1.9684 ETH0.0013472664
Sweep116093852021-01-07 19:17:001369 days ago1610047020IN
0xaF1755b4...a3cBa2a7C
0 ETH0.02192959384.91200141
Transfer116093632021-01-07 19:11:591369 days ago1610046719IN
0xaF1755b4...a3cBa2a7C
3.03 ETH0.00581007276
Sweep109829122020-10-03 12:15:211465 days ago1601727321IN
0xaF1755b4...a3cBa2a7C
0 ETH0.0033089958.08000163
View all transactions

Latest 13 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
125095792021-05-26 10:58:261230 days ago1622026706
0xaF1755b4...a3cBa2a7C
1.8 ETH
124238042021-05-13 4:15:401244 days ago1620879340
0xaF1755b4...a3cBa2a7C
0.5 ETH
123662932021-05-04 6:56:221252 days ago1620111382
0xaF1755b4...a3cBa2a7C
2 ETH
122980512021-04-23 18:12:551263 days ago1619201575
0xaF1755b4...a3cBa2a7C
0.7 ETH
122442952021-04-15 11:05:121271 days ago1618484712
0xaF1755b4...a3cBa2a7C
1 ETH
118942102021-02-20 14:02:071325 days ago1613829727
0xaF1755b4...a3cBa2a7C
2 ETH
116549412021-01-14 18:54:061362 days ago1610650446
0xaF1755b4...a3cBa2a7C
1.9684 ETH
116093852021-01-07 19:17:001369 days ago1610047020
0xaF1755b4...a3cBa2a7C
3.03 ETH
109829122020-10-03 12:15:211465 days ago1601727321
0xaF1755b4...a3cBa2a7C
1 ETH
106665182020-08-15 19:29:401514 days ago1597519780
0xaF1755b4...a3cBa2a7C
1 ETH
99017372020-04-19 8:30:571632 days ago1587285057
0xaF1755b4...a3cBa2a7C
2 ETH
78522882019-05-29 4:15:281959 days ago1559103328
0xaF1755b4...a3cBa2a7C
0.10103072 ETH
49656332018-01-24 19:05:232448 days ago1516820723  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.