Source Code
Latest 25 from a total of 33 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Sweep All | 10287393 | 2083 days ago | IN | 0 ETH | 0.00115018 | ||||
| Transfer | 10124543 | 2108 days ago | IN | 1.28590279 ETH | 0.00089367 | ||||
| Sweep All | 10014935 | 2125 days ago | IN | 0 ETH | 0.00019568 | ||||
| Transfer | 9947933 | 2136 days ago | IN | 1.4038847 ETH | 0.00089367 | ||||
| Transfer | 9755114 | 2165 days ago | IN | 0.1831067 ETH | 0.00089367 | ||||
| Transfer | 9611255 | 2188 days ago | IN | 0.00226997 ETH | 0.00006312 | ||||
| Sweep All | 9483362 | 2207 days ago | IN | 0 ETH | 0.00006371 | ||||
| Transfer | 9469744 | 2209 days ago | IN | 0.72448616 ETH | 0.00002104 | ||||
| Sweep All | 9069481 | 2276 days ago | IN | 0 ETH | 0.0000533 | ||||
| Transfer | 9069427 | 2276 days ago | IN | 1.02848252 ETH | 0.00002104 | ||||
| Transfer | 9050453 | 2279 days ago | IN | 1.02489358 ETH | 0.00002104 | ||||
| Sweep All | 9030394 | 2283 days ago | IN | 0 ETH | 0.00004713 | ||||
| Transfer | 9013914 | 2286 days ago | IN | 1.01343239 ETH | 0.00002104 | ||||
| Sweep All | 9006059 | 2287 days ago | IN | 0 ETH | 0.00005091 | ||||
| Transfer | 8975846 | 2292 days ago | IN | 1.01817177 ETH | 0.00002104 | ||||
| Sweep All | 8964786 | 2294 days ago | IN | 0 ETH | 0.00004713 | ||||
| Transfer | 8962486 | 2295 days ago | IN | 1.01217605 ETH | 0.00002104 | ||||
| Sweep All | 8953956 | 2296 days ago | IN | 0 ETH | 0.00004713 | ||||
| Transfer | 8946184 | 2297 days ago | IN | 1.01613849 ETH | 0.00002104 | ||||
| Sweep All | 8934238 | 2299 days ago | IN | 0 ETH | 0.0000462 | ||||
| Transfer | 8924405 | 2301 days ago | IN | 1.01251653 ETH | 0.00002104 | ||||
| Transfer | 8894380 | 2306 days ago | IN | 1.05812659 ETH | 0.00002104 | ||||
| Sweep All | 8882423 | 2308 days ago | IN | 0 ETH | 0.0000891 | ||||
| Transfer | 8871053 | 2310 days ago | IN | 1.01051807 ETH | 0.00002104 | ||||
| Transfer | 8845937 | 2314 days ago | IN | 1.01273989 ETH | 0.00002104 |
Latest 13 internal transactions
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 10287393 | 2083 days ago | 1.28590279 ETH | ||||
| - | 10014935 | 2125 days ago | 1.58926137 ETH | ||||
| - | 9483362 | 2207 days ago | 0.72448616 ETH | ||||
| - | 9069481 | 2276 days ago | 2.0533761 ETH | ||||
| - | 9030394 | 2283 days ago | 1.01343239 ETH | ||||
| - | 9006059 | 2287 days ago | 1.01817177 ETH | ||||
| - | 8964786 | 2294 days ago | 1.01217605 ETH | ||||
| - | 8953956 | 2296 days ago | 1.01613849 ETH | ||||
| - | 8934238 | 2299 days ago | 2.07064312 ETH | ||||
| - | 8882423 | 2308 days ago | 3.03973438 ETH | ||||
| - | 8817077 | 2318 days ago | 3.42753495 ETH | ||||
| - | 8664094 | 2342 days ago | 2.02328659 ETH | ||||
| - | 6959604 | 2622 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
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"}]Contract Creation Code
0x608060405234801561001057600080fd5b5060405160208061026e833981016040525160008054600160a060020a03909216600160a060020a031990921691909117905561021c806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663c0ee0b8a811461004d578063c18cfe86146100c3575b005b34801561005957600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261004b94823573ffffffffffffffffffffffffffffffffffffffff169460248035953695946064949201919081908401838280828437509497506101059650505050505050565b3480156100cf57600080fd5b506100f173ffffffffffffffffffffffffffffffffffffffff6004351661010a565b604080519115158252519081900360200190f35b505050565b60008054604080517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015291519190921691633c18d31891602480830192602092919082900301818787803b15801561017f57600080fd5b505af1158015610193573d6000803e3d6000fd5b505050506040513d60208110156101a957600080fd5b505160405173ffffffffffffffffffffffffffffffffffffffff90911690600090369080838380828437820191505092505050600060405180830381855af49493505050505600a165627a7a72305820ec90d4e55fb69f839fa555767145d6ac7a8f1aa98ed098b09c220c4a34f02ba100290000000000000000000000007142eb34d2220152dedc5868745079bc6ffa0fdd
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
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 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.