ETH Price: $2,678.64 (+2.27%)

Contract

0x9d1F0Df39f42a75075361e9D4034983aeC9C6a33
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All173536892023-05-27 23:33:59627 days ago1685230439IN
0x9d1F0Df3...aeC9C6a33
0 ETH0.0011517522.12312213
Transfer115842422021-01-03 22:30:591501 days ago1609713059IN
0x9d1F0Df3...aeC9C6a33
0.0502014 ETH0.000021041
Transfer115684442021-01-01 12:34:141503 days ago1609504454IN
0x9d1F0Df3...aeC9C6a33
0.05003048 ETH0.000021041
Transfer115506492020-12-29 18:55:391506 days ago1609268139IN
0x9d1F0Df3...aeC9C6a33
0.05001639 ETH0.000021041
Transfer115350012020-12-27 9:28:031509 days ago1609061283IN
0x9d1F0Df3...aeC9C6a33
0.05003542 ETH0.000021041
Transfer115107422020-12-23 15:55:151512 days ago1608738915IN
0x9d1F0Df3...aeC9C6a33
0.01001485 ETH0.000021041
Transfer106109082020-08-07 5:37:051651 days ago1596778625IN
0x9d1F0Df3...aeC9C6a33
0.05003561 ETH0.000021041
Transfer105967262020-08-05 1:15:371653 days ago1596590137IN
0x9d1F0Df3...aeC9C6a33
0.05008875 ETH0.000021041
Transfer105832132020-08-02 23:00:481655 days ago1596409248IN
0x9d1F0Df3...aeC9C6a33
0.05008293 ETH0.000021041
Transfer105689042020-07-31 18:06:081657 days ago1596218768IN
0x9d1F0Df3...aeC9C6a33
0.05002616 ETH0.000021041
Sweep All105573522020-07-29 22:53:531659 days ago1596063233IN
0x9d1F0Df3...aeC9C6a33
0 ETH0.0018621439.23525234
Transfer105560002020-07-29 17:58:411659 days ago1596045521IN
0x9d1F0Df3...aeC9C6a33
0.05010436 ETH0.000021041
Transfer105433732020-07-27 19:24:581661 days ago1595877898IN
0x9d1F0Df3...aeC9C6a33
0.0500211 ETH0.000021041
Transfer105288082020-07-25 13:16:571663 days ago1595683017IN
0x9d1F0Df3...aeC9C6a33
0.0500168 ETH0.000021041
Transfer105086442020-07-22 10:26:361666 days ago1595413596IN
0x9d1F0Df3...aeC9C6a33
0.05009397 ETH0.000021041
Transfer104966812020-07-20 13:38:471668 days ago1595252327IN
0x9d1F0Df3...aeC9C6a33
0.0501185 ETH0.000021041
Transfer104842962020-07-18 15:34:361670 days ago1595086476IN
0x9d1F0Df3...aeC9C6a33
0.05001123 ETH0.000021041
Transfer104664062020-07-15 21:07:421673 days ago1594847262IN
0x9d1F0Df3...aeC9C6a33
0.05003862 ETH0.000021041
Transfer104541602020-07-13 23:26:591675 days ago1594682819IN
0x9d1F0Df3...aeC9C6a33
0.05004764 ETH0.000021041
Transfer104411632020-07-11 23:19:411677 days ago1594509581IN
0x9d1F0Df3...aeC9C6a33
0.05012136 ETH0.000021041
Transfer104280252020-07-09 22:41:061679 days ago1594334466IN
0x9d1F0Df3...aeC9C6a33
0.0500439 ETH0.000021041
Transfer104144152020-07-07 20:09:411681 days ago1594152581IN
0x9d1F0Df3...aeC9C6a33
0.05005926 ETH0.000021041
Transfer104005442020-07-05 16:42:441683 days ago1593967364IN
0x9d1F0Df3...aeC9C6a33
0.05007345 ETH0.000021041
Transfer103863432020-07-03 12:07:471685 days ago1593778067IN
0x9d1F0Df3...aeC9C6a33
0.05002046 ETH0.000021041
Transfer103736042020-07-01 12:46:431687 days ago1593607603IN
0x9d1F0Df3...aeC9C6a33
0.0500565 ETH0.000021041
View all transactions

Latest 6 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
173536892023-05-27 23:33:59627 days ago1685230439
0x9d1F0Df3...aeC9C6a33
0.41053203 ETH
105573522020-07-29 22:53:531659 days ago1596063233
0x9d1F0Df3...aeC9C6a33
1.00123106 ETH
102873912020-06-18 3:48:511701 days ago1592452131
0x9d1F0Df3...aeC9C6a33
1.50702852 ETH
98591162020-04-12 18:18:541767 days ago1586715534
0x9d1F0Df3...aeC9C6a33
1.00100465 ETH
94698062020-02-12 18:32:311827 days ago1581532351
0x9d1F0Df3...aeC9C6a33
0.85055737 ETH
87056432019-10-09 4:52:061954 days ago1570596726  Contract Creation0 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xF2f313A4...Fd1BF0dA9
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.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-02-27
*/

pragma solidity ^0.4.24;

contract AbstractSweeper {
    function sweepAll(address token) public returns (bool);

    function() public { revert(); }

    Controller controller;

    constructor(address _controller) public {
        controller = Controller(_controller);
    }

    modifier canSweep() {
        if(msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()){ revert(); }
        if(controller.halted()){ revert(); }
        _;
    }
}

contract Token {
    function balanceOf(address a) public pure returns (uint) {
        (a);
        return 0;
    }

    function transfer(address a, uint val) public pure returns (bool) {
        (a);
        (val);
        return false;
    }
}

contract DefaultSweeper is AbstractSweeper {
    constructor(address controller) AbstractSweeper(controller) public { }

    function sweepAll(address _token) public canSweep returns (bool) {
        bool success = false;
        address destination = controller.destination();

        if(_token != address(0)){
            Token token = Token(_token);
            success = token.transfer(destination, token.balanceOf(this));
        }else{
            success = destination.send(address(this).balance);
        }
        return success;
    }
}

contract UserWallet {
    AbstractSweeperList sweeperList;
    constructor(address _sweeperlist) public {
        sweeperList = AbstractSweeperList(_sweeperlist);
    }

    function() public payable { }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        (_from);
        (_value);
        (_data);
    }

    function sweepAll(address _token) public returns (bool) {
        return sweeperList.sweeperOf(_token).delegatecall(msg.data);
    }
}

contract AbstractSweeperList {
    function sweeperOf(address _token) public returns (address);
}

contract Controller is AbstractSweeperList {
    address public owner;
    address public authorizedCaller;

    address public destination;

    bool public halted;

    event NewWalletCreated(address receiver);

    modifier onlyOwner() {
        if(msg.sender != owner){ revert(); }
        _;
    }

    modifier onlyAuthorizedCaller() {
        if(msg.sender != authorizedCaller){ revert(); }
        _;
    }

    modifier onlyAdmins() {
        if(msg.sender != authorizedCaller && msg.sender != owner){ revert(); } 
        _;
    }

    constructor() public {
        owner = msg.sender;
        destination = msg.sender;
        authorizedCaller = msg.sender;
    }

    function setAuthorizedCaller(address _newCaller) public onlyOwner {
        authorizedCaller = _newCaller;
    }

    function setDestination(address _dest) public onlyOwner {
        destination = _dest;
    }

    function setOwner(address _owner) public onlyOwner {
        owner = _owner;
    }

    function newWallet() public onlyAdmins returns (address wallet)  {
        wallet = address(new UserWallet(this));
        emit NewWalletCreated(wallet);
    }

    function halt() public onlyAdmins {
        halted = true;
    }

    function start() public onlyOwner {
        halted = false;
    }

    address public defaultSweeper = address(new DefaultSweeper(this));
    mapping (address => address) sweepers;

    function addSweeper(address _token, address _sweeper) public onlyOwner {
        sweepers[_token] = _sweeper;
    }

    function sweeperOf(address _token) public returns (address) {
        address sweeper = sweepers[_token];
        if(sweeper == 0){ sweeper = defaultSweeper; }
        return sweeper;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"sweepAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

Deployed Bytecode

0x60806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba10029

Deployed Bytecode Sourcemap

1322:501:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1539:139:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1539:139:0;;-1:-1:-1;1539:139:0;;-1:-1:-1;;;;;;;1539:139:0;1686:134;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1686:134:0;;;;;;;;;;;;;;;;;;;;;;;;;1539:139;;;;:::o;1686:134::-;1736:4;1760:11;;:29;;;;;;:11;:29;;;;;;;;;:11;;;;;:21;;:29;;;;;;;;;;;;;;1736:4;1760:11;:29;;;5:2:-1;;;;30:1;27;20:12;5:2;1760:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1760:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1760:29:0;:52;;:42;;;;;1803:8;;;;1760:52;1803:8;;;;1760:52;;;;;;;;;;;;;;;;;;;;;;1686:134;-1:-1:-1;;;;1686:134:0:o

Swarm Source

bzzr://ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba1

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.