More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 96 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Sweep All | 20200733 | 263 days ago | IN | 0 ETH | 0.0000885 | ||||
Transfer | 15722638 | 891 days ago | IN | 0.00905912 ETH | 0.00053166 | ||||
Transfer | 11958051 | 1479 days ago | IN | 0.12142819 ETH | 0.00170424 | ||||
Sweep All | 7919807 | 2111 days ago | IN | 0 ETH | 0.0000891 | ||||
Transfer | 7914382 | 2112 days ago | IN | 1.270718 ETH | 0.001052 | ||||
Sweep All | 7548255 | 2169 days ago | IN | 0 ETH | 0.0000891 | ||||
Transfer | 7265710 | 2215 days ago | IN | 0.05195551 ETH | 0.00027352 | ||||
Transfer | 7264426 | 2215 days ago | IN | 0.0522696 ETH | 0.00012834 | ||||
Transfer | 7263169 | 2215 days ago | IN | 0.05214238 ETH | 0.00012624 | ||||
Transfer | 7261852 | 2216 days ago | IN | 0.05166743 ETH | 0.00012624 | ||||
Transfer | 7145316 | 2241 days ago | IN | 0.0511818 ETH | 0.00008416 | ||||
Transfer | 7143946 | 2242 days ago | IN | 0.05286023 ETH | 0.00008416 | ||||
Transfer | 7142616 | 2242 days ago | IN | 0.05220132 ETH | 0.00008416 | ||||
Transfer | 7141261 | 2242 days ago | IN | 0.05146006 ETH | 0.00006312 | ||||
Sweep All | 7140217 | 2242 days ago | IN | 0 ETH | 0.00006579 | ||||
Transfer | 7139911 | 2243 days ago | IN | 0.05216745 ETH | 0.00012624 | ||||
Transfer | 7138583 | 2243 days ago | IN | 0.05146807 ETH | 0.00007364 | ||||
Transfer | 7136986 | 2243 days ago | IN | 0.05086574 ETH | 0.00006312 | ||||
Transfer | 7135592 | 2243 days ago | IN | 0.05208463 ETH | 0.00006312 | ||||
Transfer | 7133916 | 2244 days ago | IN | 0.05188989 ETH | 0.00006312 | ||||
Transfer | 7132404 | 2244 days ago | IN | 0.05133435 ETH | 0.00006312 | ||||
Transfer | 7130971 | 2244 days ago | IN | 0.05138562 ETH | 0.00008416 | ||||
Transfer | 7129501 | 2245 days ago | IN | 0.05152692 ETH | 0.00006312 | ||||
Transfer | 7128055 | 2245 days ago | IN | 0.05204595 ETH | 0.00006312 | ||||
Transfer | 7126645 | 2245 days ago | IN | 0.05105036 ETH | 0.00005112 |
Latest 10 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 20200733 | 263 days ago | 0.13048731 ETH | ||||
- | 7919807 | 2111 days ago | 1.270718 ETH | ||||
- | 7548255 | 2169 days ago | 0.41573835 ETH | ||||
- | 7140217 | 2242 days ago | 0.84682731 ETH | ||||
- | 7115149 | 2247 days ago | 1.03679141 ETH | ||||
- | 7082189 | 2254 days ago | 1.24345327 ETH | ||||
- | 7027067 | 2263 days ago | 1.06358374 ETH | ||||
- | 6993628 | 2269 days ago | 1.16837253 ETH | ||||
- | 6959598 | 2275 days ago | 1.56217854 ETH | ||||
Transfer | 6681032 | 2321 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
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"}]
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 | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.