More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 827 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sweep All | 20200731 | 81 days ago | IN | 0 ETH | 0.0000885 | ||||
Transfer | 16081621 | 659 days ago | IN | 0.01410875 ETH | 0.00028447 | ||||
Transfer | 15994669 | 671 days ago | IN | 0.02111312 ETH | 0.00029789 | ||||
Transfer | 15973207 | 674 days ago | IN | 0.03659669 ETH | 0.00034179 | ||||
Transfer | 15888168 | 686 days ago | IN | 0.01678232 ETH | 0.00051576 | ||||
Transfer | 15823763 | 695 days ago | IN | 0.01265392 ETH | 0.00024838 | ||||
Transfer | 15729505 | 708 days ago | IN | 0.03197887 ETH | 0.00046733 | ||||
Sweep All | 14726573 | 866 days ago | IN | 0 ETH | 0.00131899 | ||||
Transfer | 14702400 | 870 days ago | IN | 0.02168802 ETH | 0.00167429 | ||||
Transfer | 13625264 | 1038 days ago | IN | 0.00018453 ETH | 0.0025248 | ||||
Transfer | 13625261 | 1038 days ago | IN | 0.00012167 ETH | 0.0025248 | ||||
Transfer | 13625211 | 1038 days ago | IN | 0.00822224 ETH | 0.0025248 | ||||
Transfer | 13625155 | 1038 days ago | IN | 0.00006274 ETH | 0.0025248 | ||||
Transfer | 13625056 | 1038 days ago | IN | 0.0001275 ETH | 0.0025248 | ||||
Transfer | 13363727 | 1079 days ago | IN | 0.01638039 ETH | 0.00247792 | ||||
Transfer | 13274987 | 1093 days ago | IN | 0.01818097 ETH | 0.00087305 | ||||
Transfer | 13210760 | 1103 days ago | IN | 0.01377462 ETH | 0.00081051 | ||||
Transfer | 13156943 | 1111 days ago | IN | 0.04079338 ETH | 0.00229385 | ||||
Transfer | 13105209 | 1119 days ago | IN | 0.02148801 ETH | 0.00128138 | ||||
Transfer | 13060284 | 1126 days ago | IN | 0.01757563 ETH | 0.00065401 | ||||
Transfer | 13014520 | 1133 days ago | IN | 0.02254589 ETH | 0.00066421 | ||||
Transfer | 12950218 | 1143 days ago | IN | 0.0187752 ETH | 0.00082876 | ||||
Transfer | 12899597 | 1151 days ago | IN | 0.02322899 ETH | 0.0003825 | ||||
Transfer | 12861203 | 1157 days ago | IN | 0.04316295 ETH | 0.00166815 | ||||
Transfer | 12842072 | 1160 days ago | IN | 0.02347001 ETH | 0.00057376 |
Latest 17 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20200731 | 81 days ago | 0.13323367 ETH | ||||
14726573 | 866 days ago | 0.86788757 ETH | ||||
11638116 | 1346 days ago | 0.62057374 ETH | ||||
11439660 | 1376 days ago | 0.80274288 ETH | ||||
11162915 | 1419 days ago | 1.19899756 ETH | ||||
10959722 | 1450 days ago | 1.12446982 ETH | ||||
10856486 | 1466 days ago | 1.68030902 ETH | ||||
10600954 | 1505 days ago | 0.83056143 ETH | ||||
9841502 | 1623 days ago | 1.0230004 ETH | ||||
9384852 | 1693 days ago | 1.0162625 ETH | ||||
8975850 | 1763 days ago | 0.5613659 ETH | ||||
8685367 | 1810 days ago | 0.81222423 ETH | ||||
8345122 | 1863 days ago | 0.922549 ETH | ||||
7964628 | 1922 days ago | 0.50148344 ETH | ||||
7744277 | 1957 days ago | 0.68280421 ETH | ||||
7477650 | 1998 days ago | 0.75896316 ETH | ||||
7145064 | 2059 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 | 27 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.