ETH Price: $2,291.25 (+1.19%)

Contract

0xFF794A8da79E0DCA51203Ba0D88Ee09110BD5E12
 

Overview

ETH Balance

0.016846626706113129 ETH

Eth Value

$38.60 (@ $2,291.25/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer186426502023-11-24 16:06:59288 days ago1700842019IN
0xFF794A8d...110BD5E12
0.01684662 ETH0.0009170643.56416313
Sweep186423142023-11-24 14:59:23288 days ago1700837963IN
0xFF794A8d...110BD5E12
0 ETH0.0029751234.60571659
Sweep186422382023-11-24 14:44:11288 days ago1700837051IN
0xFF794A8d...110BD5E12
0 ETH0.0018102531.99186212
Sweep186422282023-11-24 14:42:11288 days ago1700836931IN
0xFF794A8d...110BD5E12
0 ETH0.0029475534.28505855
Transfer186422182023-11-24 14:40:11288 days ago1700836811IN
0xFF794A8d...110BD5E12
0.24666054 ETH0.0006003628.51949694
Sweep186419802023-11-24 13:51:59288 days ago1700833919IN
0xFF794A8d...110BD5E12
0 ETH0.0032549937.86110286
Sweep186419482023-11-24 13:45:23288 days ago1700833523IN
0xFF794A8d...110BD5E12
0 ETH0.0029214433.98139699
Sweep186417632023-11-24 13:07:47288 days ago1700831267IN
0xFF794A8d...110BD5E12
0 ETH0.0032387137.67168915
Sweep186417302023-11-24 13:01:11288 days ago1700830871IN
0xFF794A8d...110BD5E12
0 ETH0.0030554335.53990515
Sweep186407222023-11-24 9:38:35288 days ago1700818715IN
0xFF794A8d...110BD5E12
0 ETH0.002790432.45717815
Sweep186407102023-11-24 9:36:11288 days ago1700818571IN
0xFF794A8d...110BD5E12
0 ETH0.0028493633.14293781
Sweep186406202023-11-24 9:18:11288 days ago1700817491IN
0xFF794A8d...110BD5E12
0 ETH0.0032302537.57328144
Sweep186401712023-11-24 7:47:47288 days ago1700812067IN
0xFF794A8d...110BD5E12
0 ETH0.0026359130.66015063
Sweep186400692023-11-24 7:27:23288 days ago1700810843IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186399802023-11-24 7:09:11288 days ago1700809751IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186394282023-11-24 5:17:11289 days ago1700803031IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186393412023-11-24 4:59:23289 days ago1700801963IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186391542023-11-24 4:21:47289 days ago1700799707IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186391432023-11-24 4:19:35289 days ago1700799575IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186391112023-11-24 4:12:59289 days ago1700799179IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186390682023-11-24 4:04:23289 days ago1700798663IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186390572023-11-24 4:02:11289 days ago1700798531IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186390252023-11-24 3:55:47289 days ago1700798147IN
0xFF794A8d...110BD5E12
0 ETH0.0025791630
Sweep186363522023-11-23 18:54:59289 days ago1700765699IN
0xFF794A8d...110BD5E12
0 ETH0.0029388134.18345116
Sweep186363182023-11-23 18:48:11289 days ago1700765291IN
0xFF794A8d...110BD5E12
0 ETH0.0032024237.24965849
View all transactions

Latest 18 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
186422382023-11-24 14:44:11288 days ago1700837051
0xFF794A8d...110BD5E12
0.24666055 ETH
127443402021-07-01 22:08:261164 days ago1625177306
0xFF794A8d...110BD5E12
2.08872645 ETH
127169132021-06-27 15:39:431168 days ago1624808383
0xFF794A8d...110BD5E12
2.20564316 ETH
127080362021-06-26 6:21:121169 days ago1624688472
0xFF794A8d...110BD5E12
2.24092878 ETH
125985652021-06-09 5:48:331186 days ago1623217713
0xFF794A8d...110BD5E12
2.51973744 ETH
125827972021-06-06 19:22:481189 days ago1623007368
0xFF794A8d...110BD5E12
0.9398822 ETH
122015732021-04-08 21:12:321248 days ago1617916352
0xFF794A8d...110BD5E12
0.78960806 ETH
99869042020-05-02 13:07:031589 days ago1588424823
0xFF794A8d...110BD5E12
0.14553154 ETH
99826062020-05-01 20:54:251590 days ago1588366465
0xFF794A8d...110BD5E12
0.07625339 ETH
99232732020-04-22 16:15:111599 days ago1587572111
0xFF794A8d...110BD5E12
0.05872244 ETH
99229362020-04-22 14:58:281599 days ago1587567508
0xFF794A8d...110BD5E12
0.0587928 ETH
99228952020-04-22 14:47:551599 days ago1587566875
0xFF794A8d...110BD5E12
0.05919703 ETH
99223032020-04-22 12:35:231599 days ago1587558923
0xFF794A8d...110BD5E12
0.06017335 ETH
99221832020-04-22 12:07:521599 days ago1587557272
0xFF794A8d...110BD5E12
0.059947 ETH
99221242020-04-22 11:57:441599 days ago1587556664
0xFF794A8d...110BD5E12
0.05895014 ETH
99219272020-04-22 11:16:001599 days ago1587554160
0xFF794A8d...110BD5E12
0.07947795 ETH
99217292020-04-22 10:31:561599 days ago1587551516
0xFF794A8d...110BD5E12
0.06029353 ETH
50729782018-02-11 20:47:252400 days ago1518382045  Contract Creation0 ETH
Loading...
Loading

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
/**
 *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

Contract ABI

[{"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"}]

Deployed Bytecode

0x606060405236156100495763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ea056a98114610052578063c0ee0b8a14610092575b6100505b5b565b005b341561005a57fe5b61007e73ffffffffffffffffffffffffffffffffffffffff60043516602435610104565b604080519115158252519081900360200190f35b341561009a57fe5b604080516020600460443581810135601f810184900484028501840190955284845261005094823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496506101ef95505050505050565b005b6000805460408051602090810184905281517f3c18d31800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015292519290931692633c18d318926024808301939282900301818787803b151561017b57fe5b6102c65a03f1151561018957fe5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1660003660006040516020015260405180838380828437820191505092505050602060405180830381856102c65a03f415156101e057fe5b50506040515190505b92915050565b5b5050505600a165627a7a723058204cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd10029

Swarm Source

bzzr://4cdd69fdcf3cf6cbee9677fe380fa5f044048aa9e060ec5619a21ca5a5bd4cd1

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.