Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 125 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sweep All | 19780224 | 287 days ago | IN | 0 ETH | 0.00020824 | ||||
Transfer | 14881581 | 989 days ago | IN | 0.11460966 ETH | 0.00121904 | ||||
Transfer | 14772516 | 1006 days ago | IN | 0.01701412 ETH | 0.00061064 | ||||
Transfer | 14748377 | 1010 days ago | IN | 0.09560331 ETH | 0.00059681 | ||||
Transfer | 14643802 | 1027 days ago | IN | 0.09562681 ETH | 0.00066127 | ||||
Sweep All | 14573715 | 1038 days ago | IN | 0 ETH | 0.00125587 | ||||
Transfer | 14540261 | 1043 days ago | IN | 0.09563125 ETH | 0.00142318 | ||||
Transfer | 14447895 | 1057 days ago | IN | 0.04560871 ETH | 0.0004329 | ||||
Transfer | 14403370 | 1064 days ago | IN | 0.09952535 ETH | 0.00060425 | ||||
Transfer | 14287444 | 1082 days ago | IN | 0.099623 ETH | 0.00038126 | ||||
Transfer | 13947917 | 1135 days ago | IN | 0.09505225 ETH | 0.00551438 | ||||
Transfer | 13839439 | 1151 days ago | IN | 0.09887769 ETH | 0.00114253 | ||||
Transfer | 13739544 | 1167 days ago | IN | 0.09808237 ETH | 0.00183386 | ||||
Transfer | 13665734 | 1179 days ago | IN | 0.09759549 ETH | 0.00317001 | ||||
Transfer | 13579380 | 1192 days ago | IN | 0.09501769 ETH | 0.00479549 | ||||
Transfer | 13500044 | 1205 days ago | IN | 0.09775497 ETH | 0.00363191 | ||||
Transfer | 13431489 | 1216 days ago | IN | 0.09848925 ETH | 0.00156916 | ||||
Sweep All | 13424689 | 1217 days ago | IN | 0 ETH | 0.00664558 | ||||
Transfer | 13358508 | 1227 days ago | IN | 0.09832876 ETH | 0.0019966 | ||||
Transfer | 13283867 | 1239 days ago | IN | 0.0984539 ETH | 0.00160176 | ||||
Transfer | 13217144 | 1249 days ago | IN | 0.0991968 ETH | 0.00089675 | ||||
Transfer | 13149082 | 1260 days ago | IN | 0.09845617 ETH | 0.0021538 | ||||
Transfer | 13079410 | 1270 days ago | IN | 0.09855335 ETH | 0.00156112 | ||||
Transfer | 13012066 | 1281 days ago | IN | 0.09941728 ETH | 0.00068547 | ||||
Transfer | 12907748 | 1297 days ago | IN | 0.06896232 ETH | 0.00002104 |
Latest 10 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
19780224 | 287 days ago | 0.20824425 ETH | ||||
14573715 | 1038 days ago | 1.02125807 ETH | ||||
13424689 | 1217 days ago | 1.07547777 ETH | ||||
12213013 | 1405 days ago | 0.5807821 ETH | ||||
11965702 | 1443 days ago | 0.81463513 ETH | ||||
11591597 | 1501 days ago | 0.85116761 ETH | ||||
11244315 | 1554 days ago | 0.90124792 ETH | ||||
10876151 | 1611 days ago | 1.34810671 ETH | ||||
9483504 | 1826 days ago | 0.55005405 ETH | ||||
6940201 | 2244 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.