Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 161 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sweep All | 15247405 | 928 days ago | IN | 0 ETH | 0.00016838 | ||||
Transfer | 14119508 | 1107 days ago | IN | 0.04302436 ETH | 0.00143596 | ||||
Transfer | 14047980 | 1119 days ago | IN | 0.09979708 ETH | 0.00144233 | ||||
Transfer | 13850141 | 1149 days ago | IN | 0.0985562 ETH | 0.00144897 | ||||
Transfer | 13698230 | 1173 days ago | IN | 0.09880622 ETH | 0.00193352 | ||||
Transfer | 13560688 | 1195 days ago | IN | 0.10532021 ETH | 0.00146697 | ||||
Transfer | 13426886 | 1216 days ago | IN | 0.11080499 ETH | 0.00134772 | ||||
Transfer | 13293831 | 1237 days ago | IN | 0.09898059 ETH | 0.00075935 | ||||
Sweep All | 13200548 | 1251 days ago | IN | 0 ETH | 0.00474396 | ||||
Transfer | 13181834 | 1254 days ago | IN | 0.04806249 ETH | 0.0018411 | ||||
Transfer | 13131355 | 1262 days ago | IN | 0.11308147 ETH | 0.00148418 | ||||
Transfer | 13017361 | 1279 days ago | IN | 0.09920559 ETH | 0.00101124 | ||||
Transfer | 12929016 | 1293 days ago | IN | 0.1000312 ETH | 0.00002104 | ||||
Transfer | 12849892 | 1306 days ago | IN | 0.10001854 ETH | 0.00002104 | ||||
Transfer | 12772562 | 1318 days ago | IN | 0.10006977 ETH | 0.00002104 | ||||
Transfer | 12694181 | 1330 days ago | IN | 0.10002275 ETH | 0.00002104 | ||||
Transfer | 12608647 | 1343 days ago | IN | 0.10000423 ETH | 0.00002104 | ||||
Transfer | 12517376 | 1357 days ago | IN | 0.06342612 ETH | 0.00002104 | ||||
Transfer | 12472264 | 1364 days ago | IN | 0.07783218 ETH | 0.00002104 | ||||
Transfer | 12426996 | 1371 days ago | IN | 0.08984335 ETH | 0.00002104 | ||||
Transfer | 12381689 | 1378 days ago | IN | 0.06187519 ETH | 0.00002104 | ||||
Transfer | 12336290 | 1385 days ago | IN | 0.07008671 ETH | 0.00002104 | ||||
Transfer | 12290958 | 1392 days ago | IN | 0.09971031 ETH | 0.00002104 | ||||
Transfer | 12245535 | 1399 days ago | IN | 0.08007968 ETH | 0.00002104 | ||||
Sweep All | 12213013 | 1404 days ago | IN | 0 ETH | 0.00418768 |
Latest 11 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
15247405 | 928 days ago | 0.65528969 ETH | ||||
13200548 | 1251 days ago | 1.30334966 ETH | ||||
12213013 | 1404 days ago | 0.58984174 ETH | ||||
11937003 | 1447 days ago | 0.85092182 ETH | ||||
11630914 | 1494 days ago | 0.65092575 ETH | ||||
11396427 | 1530 days ago | 0.7507136 ETH | ||||
11122852 | 1572 days ago | 0.8664057 ETH | ||||
10876150 | 1610 days ago | 1.46915052 ETH | ||||
10287392 | 1701 days ago | 1.47306928 ETH | ||||
9859116 | 1767 days ago | 1.09095192 ETH | ||||
9405007 | 1837 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 | 31 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.