ETH Price: $2,685.78 (-0.97%)
Gas: 0.76 Gwei

Contract

0x294f57e09bE83209B46d41f42e8968978cAff0dc
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All202009142024-06-30 0:26:23234 days ago1719707183IN
0x294f57e0...78cAff0dc
0 ETH0.000078091.5
Sweep All154697712022-09-04 5:15:23898 days ago1662268523IN
0x294f57e0...78cAff0dc
0 ETH0.00020993.45234234
Transfer120103842021-03-10 10:57:061441 days ago1615373826IN
0x294f57e0...78cAff0dc
0.07330965 ETH0.00263125
Sweep All119478962021-02-28 20:15:271451 days ago1614543327IN
0x294f57e0...78cAff0dc
0 ETH0.00504198106.2342344
Transfer119250472021-02-25 7:46:481454 days ago1614239208IN
0x294f57e0...78cAff0dc
0.06300252 ETH0.00324016154
Transfer118871382021-02-19 11:41:341460 days ago1613734894IN
0x294f57e0...78cAff0dc
0.0931029 ETH0.00332432158
Transfer118519662021-02-14 2:05:231466 days ago1613268323IN
0x294f57e0...78cAff0dc
0.06058039 ETH0.00319808152
Transfer118129902021-02-08 2:02:101472 days ago1612749730IN
0x294f57e0...78cAff0dc
0.02227304 ETH0.00258792123
Transfer117106612021-01-23 8:09:011487 days ago1611389341IN
0x294f57e0...78cAff0dc
0.1540164 ETH0.0029456140
Transfer117106172021-01-23 8:00:491487 days ago1611388849IN
0x294f57e0...78cAff0dc
0.15891177 ETH0.0013044862
Transfer116853802021-01-19 11:10:431491 days ago1611054643IN
0x294f57e0...78cAff0dc
0.0909074 ETH0.0020619298
Transfer116707392021-01-17 5:09:461493 days ago1610860186IN
0x294f57e0...78cAff0dc
0.01245079 ETH0.0007995238
Transfer116254162021-01-10 6:22:471500 days ago1610259767IN
0x294f57e0...78cAff0dc
0.07549233 ETH0.0013255263
Sweep All113741302020-12-02 16:18:261539 days ago1606925906IN
0x294f57e0...78cAff0dc
0 ETH0.000907619.123123
Transfer113198542020-11-24 8:09:271547 days ago1606205367IN
0x294f57e0...78cAff0dc
0.03647695 ETH0.0017463283
Transfer113196182020-11-24 7:20:441547 days ago1606202444IN
0x294f57e0...78cAff0dc
0.28684753 ETH0.001998895
Transfer110250232020-10-10 2:35:371593 days ago1602297337IN
0x294f57e0...78cAff0dc
0.09935957 ETH0.0013886466
Transfer110249642020-10-10 2:22:371593 days ago1602296557IN
0x294f57e0...78cAff0dc
0.01800512 ETH0.0010393749.4
Transfer110233842020-10-09 20:35:041593 days ago1602275704IN
0x294f57e0...78cAff0dc
0.3079104 ETH0.0010730451
Sweep All89666302019-11-20 5:35:331917 days ago1574228133IN
0x294f57e0...78cAff0dc
0 ETH0.000047511.13221313
Transfer87806952019-10-21 0:09:181948 days ago1571616558IN
0x294f57e0...78cAff0dc
0.28825663 ETH0.0004418421
Transfer87043612019-10-08 23:55:281960 days ago1570578928IN
0x294f57e0...78cAff0dc
0.66409957 ETH0.0004418421
Sweep All86853542019-10-06 0:34:191963 days ago1570322059IN
0x294f57e0...78cAff0dc
0 ETH0.0009213521.95333314
Transfer86578672019-10-01 17:39:121967 days ago1569951552IN
0x294f57e0...78cAff0dc
0.317 ETH0.0002314411
Transfer85943532019-09-21 18:57:481977 days ago1569092268IN
0x294f57e0...78cAff0dc
0.33208848 ETH0.0005680827
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
202009142024-06-30 0:26:23234 days ago1719707183
0x294f57e0...78cAff0dc
0.07330965 ETH
119478962021-02-28 20:15:271451 days ago1614543327
0x294f57e0...78cAff0dc
0.73073754 ETH
113741302020-12-02 16:18:261539 days ago1606925906
0x294f57e0...78cAff0dc
0.74859957 ETH
89666302019-11-20 5:35:331917 days ago1574228133
0x294f57e0...78cAff0dc
0.9523562 ETH
86853542019-10-06 0:34:191963 days ago1570322059
0x294f57e0...78cAff0dc
1.22618581 ETH
82467712019-07-29 17:14:472031 days ago1564420487
0x294f57e0...78cAff0dc
1.48977052 ETH
80930632019-07-05 19:09:212055 days ago1562353761
0x294f57e0...78cAff0dc
0.67019854 ETH
80495372019-06-29 0:20:532062 days ago1561767653
0x294f57e0...78cAff0dc
0.75692182 ETH
78557272019-05-29 16:59:492092 days ago1559149189
0x294f57e0...78cAff0dc
0.55991984 ETH
75807402019-04-16 19:12:382135 days ago1555441958
0x294f57e0...78cAff0dc
1.34205505 ETH
71114992019-01-23 1:14:552219 days ago1548206095  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.