Source Code
Overview
ETH Balance
0.00000000529526929 ETH
Eth Value
Less Than $0.01 (@ $2,033.86/ETH)Latest 25 from a total of 577 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Sweep | 10579110 | 2035 days ago | IN | 0 ETH | 0.00606762 | ||||
| Transfer | 10579088 | 2035 days ago | IN | 0.06786534 ETH | 0.00002105 | ||||
| Sweep | 10533827 | 2042 days ago | IN | 0 ETH | 0.00512757 | ||||
| Transfer | 10533809 | 2042 days ago | IN | 0.10001048 ETH | 0.00002105 | ||||
| Sweep | 10491068 | 2048 days ago | IN | 0 ETH | 0.00547056 | ||||
| Transfer | 10491044 | 2048 days ago | IN | 0.100083 ETH | 0.00002105 | ||||
| Sweep | 10448693 | 2055 days ago | IN | 0 ETH | 0.00288913 | ||||
| Transfer | 10448673 | 2055 days ago | IN | 0.10001145 ETH | 0.00002105 | ||||
| Sweep | 10404479 | 2062 days ago | IN | 0 ETH | 0.00350457 | ||||
| Transfer | 10404460 | 2062 days ago | IN | 0.10001251 ETH | 0.00002105 | ||||
| Sweep | 10361044 | 2068 days ago | IN | 0 ETH | 0.00350457 | ||||
| Transfer | 10361030 | 2068 days ago | IN | 0.10007441 ETH | 0.00002105 | ||||
| Sweep | 10317486 | 2075 days ago | IN | 0 ETH | 0.00247884 | ||||
| Transfer | 10317469 | 2075 days ago | IN | 0.09921455 ETH | 0.00002105 | ||||
| Sweep | 10272262 | 2082 days ago | IN | 0 ETH | 0.00307719 | ||||
| Transfer | 10272243 | 2082 days ago | IN | 0.11013674 ETH | 0.00002105 | ||||
| Transfer | 10242414 | 2087 days ago | IN | 0.01001095 ETH | 0.00002105 | ||||
| Transfer | 8884598 | 2304 days ago | IN | 0.01149837 ETH | 0.00002105 | ||||
| Transfer | 8841024 | 2311 days ago | IN | 0.01003605 ETH | 0.00002105 | ||||
| Sweep | 7168331 | 2580 days ago | IN | 0 ETH | 0.00250285 | ||||
| Transfer | 7168315 | 2580 days ago | IN | 0.10004451 ETH | 0.00002105 | ||||
| Sweep | 7160484 | 2582 days ago | IN | 0 ETH | 0.00250285 | ||||
| Transfer | 7160470 | 2582 days ago | IN | 0.10040274 ETH | 0.00002105 | ||||
| Sweep | 7153180 | 2583 days ago | IN | 0 ETH | 0.00250285 | ||||
| Transfer | 7153162 | 2583 days ago | IN | 0.10015931 ETH | 0.00002105 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| - | 10579110 | 2035 days ago | 0.06786534 ETH | ||||
| - | 10533827 | 2042 days ago | 0.10001048 ETH | ||||
| - | 10491068 | 2048 days ago | 0.10008301 ETH | ||||
| - | 10448693 | 2055 days ago | 0.10001145 ETH | ||||
| - | 10404479 | 2062 days ago | 0.10001251 ETH | ||||
| - | 10361044 | 2068 days ago | 0.10007442 ETH | ||||
| - | 10317486 | 2075 days ago | 0.09921456 ETH | ||||
| - | 10272262 | 2082 days ago | 0.14168212 ETH | ||||
| - | 7168331 | 2580 days ago | 0.10004452 ETH | ||||
| - | 7160484 | 2582 days ago | 0.10040274 ETH | ||||
| - | 7153180 | 2583 days ago | 0.10015931 ETH | ||||
| - | 7146225 | 2585 days ago | 0.10001906 ETH | ||||
| - | 7138990 | 2586 days ago | 0.10012756 ETH | ||||
| - | 7130302 | 2588 days ago | 0.10028074 ETH | ||||
| - | 7120347 | 2590 days ago | 0.10017147 ETH | ||||
| - | 7112306 | 2592 days ago | 0.10023234 ETH | ||||
| - | 7103731 | 2593 days ago | 0.10024473 ETH | ||||
| - | 7095654 | 2595 days ago | 0.10018791 ETH | ||||
| - | 7086943 | 2596 days ago | 0.10005171 ETH | ||||
| - | 7078648 | 2598 days ago | 0.10009919 ETH | ||||
| - | 7070076 | 2599 days ago | 0.10014937 ETH | ||||
| - | 7061965 | 2601 days ago | 0.10016997 ETH | ||||
| - | 7053914 | 2602 days ago | 0.10008636 ETH | ||||
| - | 7045706 | 2604 days ago | 0.10009297 ETH | ||||
| - | 7037079 | 2605 days ago | 0.1002281 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 0xd1DD82d1...18D918504 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.11+commit.68ef5810
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-08-15
*/
pragma solidity ^0.4.10;
// Copyright 2017 Bittrex
contract AbstractSweeper {
function sweep(address token, uint amount) returns (bool);
function () { throw; }
Controller controller;
function AbstractSweeper(address _controller) {
controller = Controller(_controller);
}
modifier canSweep() {
if (msg.sender != controller.authorizedCaller() && msg.sender != controller.owner()) throw;
if (controller.halted()) throw;
_;
}
}
contract Token {
function balanceOf(address a) returns (uint) {
(a);
return 0;
}
function transfer(address a, uint val) returns (bool) {
(a);
(val);
return false;
}
}
contract DefaultSweeper is AbstractSweeper {
function DefaultSweeper(address controller)
AbstractSweeper(controller) {}
function sweep(address _token, uint _amount)
canSweep
returns (bool) {
bool success = false;
address destination = controller.destination();
if (_token != address(0)) {
Token token = Token(_token);
uint amount = _amount;
if (amount > token.balanceOf(this)) {
return false;
}
success = token.transfer(destination, amount);
}
else {
uint amountInWei = _amount;
if (amountInWei > this.balance) {
return false;
}
success = destination.send(amountInWei);
}
if (success) {
controller.logSweep(this, destination, _token, _amount);
}
return success;
}
}
contract UserWallet {
AbstractSweeperList sweeperList;
function UserWallet(address _sweeperlist) {
sweeperList = AbstractSweeperList(_sweeperlist);
}
function () public payable { }
function tokenFallback(address _from, uint _value, bytes _data) {
(_from);
(_value);
(_data);
}
function sweep(address _token, uint _amount)
returns (bool) {
(_amount);
return sweeperList.sweeperOf(_token).delegatecall(msg.data);
}
}
contract AbstractSweeperList {
function sweeperOf(address _token) returns (address);
}
contract Controller is AbstractSweeperList {
address public owner;
address public authorizedCaller;
address public destination;
bool public halted;
event LogNewWallet(address receiver);
event LogSweep(address indexed from, address indexed to, address indexed token, uint amount);
modifier onlyOwner() {
if (msg.sender != owner) throw;
_;
}
modifier onlyAuthorizedCaller() {
if (msg.sender != authorizedCaller) throw;
_;
}
modifier onlyAdmins() {
if (msg.sender != authorizedCaller && msg.sender != owner) throw;
_;
}
function Controller()
{
owner = msg.sender;
destination = msg.sender;
authorizedCaller = msg.sender;
}
function changeAuthorizedCaller(address _newCaller) onlyOwner {
authorizedCaller = _newCaller;
}
function changeDestination(address _dest) onlyOwner {
destination = _dest;
}
function changeOwner(address _owner) onlyOwner {
owner = _owner;
}
function makeWallet() onlyAdmins returns (address wallet) {
wallet = address(new UserWallet(this));
LogNewWallet(wallet);
}
function halt() onlyAdmins {
halted = true;
}
function start() onlyOwner {
halted = false;
}
address public defaultSweeper = address(new DefaultSweeper(this));
mapping (address => address) sweepers;
function addSweeper(address _token, address _sweeper) onlyOwner {
sweepers[_token] = _sweeper;
}
function sweeperOf(address _token) returns (address) {
address sweeper = sweepers[_token];
if (sweeper == 0) sweeper = defaultSweeper;
return sweeper;
}
function logSweep(address from, address to, address token, uint amount) {
LogSweep(from, to, token, amount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_amount","type":"uint256"}],"name":"sweep","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"tokenFallback","outputs":[],"payable":false,"type":"function"},{"inputs":[{"name":"_sweeperlist","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"}]Contract Creation Code
0x6060604052341561000c57fe5b60405160208061026c83398101604052515b60008054600160a060020a031916600160a060020a0383161790555b505b6102218061004b6000396000f300606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029000000000000000000000000a3c1e324ca1ce40db73ed6026c4a177f099b5770
Deployed Bytecode
0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029
Swarm Source
bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1
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.