ETH Price: $2,059.81 (-3.67%)

Contract

0xaDEa2d8B23Fde0A52B977ed5af3e96D230bBEf76
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Sweep All181804392023-09-20 23:39:35897 days ago1695253175IN
0xaDEa2d8B...230bBEf76
0 ETH0.000590611.3444
Transfer124890212021-05-23 6:37:181748 days ago1621751838IN
0xaDEa2d8B...230bBEf76
0.0507087 ETH0.000021041
Transfer124247492021-05-13 7:34:451758 days ago1620891285IN
0xaDEa2d8B...230bBEf76
0.05274612 ETH0.000021041
Transfer123662392021-05-04 6:42:501767 days ago1620110570IN
0xaDEa2d8B...230bBEf76
0.0508043 ETH0.000021041
Transfer122893632021-04-22 10:09:501779 days ago1619086190IN
0xaDEa2d8B...230bBEf76
0.05003777 ETH0.000021041
Transfer122380812021-04-14 12:03:511786 days ago1618401831IN
0xaDEa2d8B...230bBEf76
0.05016634 ETH0.000021041
Transfer121791092021-04-05 10:23:331796 days ago1617618213IN
0xaDEa2d8B...230bBEf76
0.05001947 ETH0.000021041
Sweep All121638122021-04-03 2:10:411798 days ago1617415841IN
0xaDEa2d8B...230bBEf76
0 ETH0.00565379119.12512461
Transfer121354532021-03-29 17:18:281802 days ago1617038308IN
0xaDEa2d8B...230bBEf76
0.05015422 ETH0.000021041
Transfer120891682021-03-22 14:31:431809 days ago1616423503IN
0xaDEa2d8B...230bBEf76
0.051054 ETH0.000021041
Transfer120463952021-03-16 0:21:061816 days ago1615854066IN
0xaDEa2d8B...230bBEf76
0.05039609 ETH0.000021041
Transfer120045252021-03-09 13:21:391822 days ago1615296099IN
0xaDEa2d8B...230bBEf76
0.05005644 ETH0.000021041
Transfer119615732021-03-02 22:34:441829 days ago1614724484IN
0xaDEa2d8B...230bBEf76
0.05050357 ETH0.000021041
Transfer119208562021-02-24 16:18:351835 days ago1614183515IN
0xaDEa2d8B...230bBEf76
0.05104562 ETH0.000021041
Transfer118850482021-02-19 4:04:081841 days ago1613707448IN
0xaDEa2d8B...230bBEf76
0.05118478 ETH0.000021041
Transfer118496292021-02-13 17:22:451846 days ago1613236965IN
0xaDEa2d8B...230bBEf76
0.0500662 ETH0.000021041
Transfer118159622021-02-08 13:05:401851 days ago1612789540IN
0xaDEa2d8B...230bBEf76
0.05018219 ETH0.000021041
Transfer117857412021-02-03 21:34:591856 days ago1612388099IN
0xaDEa2d8B...230bBEf76
0.05015597 ETH0.000021041
Transfer117528222021-01-29 19:58:161861 days ago1611950296IN
0xaDEa2d8B...230bBEf76
0.05006406 ETH0.000021041
Transfer117152292021-01-24 0:55:541867 days ago1611449754IN
0xaDEa2d8B...230bBEf76
0.05002772 ETH0.000021041
Transfer116813522021-01-18 20:24:341872 days ago1611001474IN
0xaDEa2d8B...230bBEf76
0.05011858 ETH0.000021041
Transfer116402382021-01-12 12:55:361878 days ago1610456136IN
0xaDEa2d8B...230bBEf76
0.05071283 ETH0.000021041
Transfer116077052021-01-07 13:03:091883 days ago1610024589IN
0xaDEa2d8B...230bBEf76
0.05096453 ETH0.000021041
Sweep All115915972021-01-05 1:34:471886 days ago1609810487IN
0xaDEa2d8B...230bBEf76
0 ETH0.00499452105.234234
Transfer115796452021-01-03 5:43:311888 days ago1609652611IN
0xaDEa2d8B...230bBEf76
0.05001962 ETH0.000021041
View all transactions

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer181804392023-09-20 23:39:35897 days ago1695253175
0xaDEa2d8B...230bBEf76
0.30448273 ETH
-121638122021-04-03 2:10:411798 days ago1617415841
0xaDEa2d8B...230bBEf76
0.75668686 ETH
-115915972021-01-05 1:34:471886 days ago1609810487
0xaDEa2d8B...230bBEf76
0.85195931 ETH
-109652132020-09-30 17:59:181982 days ago1601488758
0xaDEa2d8B...230bBEf76
0.95731869 ETH
-105058812020-07-22 0:04:492053 days ago1595376289  Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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

Contract Source Code (Solidity)

/**
 *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

API
[{"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"}]

0x608060405234801561001057600080fd5b5060405160208061026e833981016040525160008054600160a060020a03909216600160a060020a031990921691909117905561021c806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba100290000000000000000000000007142eb34d2220152dedc5868745079bc6ffa0fdd

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 Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.