Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 93 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sweep All | 18331869 | 456 days ago | IN | 0 ETH | 0.00032456 | ||||
Transfer | 16033562 | 779 days ago | IN | 0.048232 ETH | 0.00038871 | ||||
Transfer | 15531306 | 849 days ago | IN | 0.05836444 ETH | 0.00018418 | ||||
Transfer | 15519163 | 851 days ago | IN | 0.05567414 ETH | 0.00011963 | ||||
Transfer | 15507022 | 853 days ago | IN | 0.05345859 ETH | 0.00016436 | ||||
Transfer | 15475476 | 858 days ago | IN | 0.07834643 ETH | 0.00025432 | ||||
Sweep All | 15469807 | 859 days ago | IN | 0 ETH | 0.00017973 | ||||
Transfer | 15419276 | 867 days ago | IN | 0.08017797 ETH | 0.00017107 | ||||
Transfer | 15381608 | 873 days ago | IN | 0.1406832 ETH | 0.00005862 | ||||
Transfer | 15369566 | 875 days ago | IN | 0.09085112 ETH | 0.00018898 | ||||
Transfer | 15350530 | 878 days ago | IN | 0.09274372 ETH | 0.00021652 | ||||
Transfer | 15331552 | 881 days ago | IN | 0.09033852 ETH | 0.00018611 | ||||
Transfer | 15267584 | 891 days ago | IN | 0.06742914 ETH | 0.0002158 | ||||
Sweep All | 15247395 | 895 days ago | IN | 0 ETH | 0.00016838 | ||||
Transfer | 15222531 | 898 days ago | IN | 0.08164409 ETH | 0.00019469 | ||||
Transfer | 15158207 | 908 days ago | IN | 0.05479788 ETH | 0.00017243 | ||||
Transfer | 15138979 | 911 days ago | IN | 0.05329419 ETH | 0.00028067 | ||||
Transfer | 15119621 | 914 days ago | IN | 0.05576923 ETH | 0.00025751 | ||||
Transfer | 15074017 | 921 days ago | IN | 0.08799747 ETH | 0.00040739 | ||||
Transfer | 15027311 | 929 days ago | IN | 0.07281296 ETH | 0.00035746 | ||||
Transfer | 15016588 | 931 days ago | IN | 0.08567469 ETH | 0.0005747 | ||||
Transfer | 15000517 | 934 days ago | IN | 0.05799481 ETH | 0.00045238 | ||||
Transfer | 14983753 | 937 days ago | IN | 0.11689009 ETH | 0.00301007 | ||||
Transfer | 14978211 | 938 days ago | IN | 0.02943969 ETH | 0.00064168 | ||||
Sweep All | 14976728 | 939 days ago | IN | 0 ETH | 0.00115175 |
Latest 11 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
18331869 | 456 days ago | 0.29407561 ETH | ||||
15469807 | 859 days ago | 0.56222369 ETH | ||||
15247395 | 895 days ago | 0.69631514 ETH | ||||
14976728 | 939 days ago | 1.095416 ETH | ||||
14552195 | 1007 days ago | 1.28085636 ETH | ||||
13917721 | 1105 days ago | 1.20919094 ETH | ||||
13351544 | 1194 days ago | 1.96955082 ETH | ||||
12622063 | 1308 days ago | 1.11985284 ETH | ||||
12287038 | 1360 days ago | 0.51278182 ETH | ||||
12194930 | 1374 days ago | 0.62928579 ETH | ||||
7446152 | 2117 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
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
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.