ETH Price: $3,034.47 (+1.19%)
Gas: 7 Gwei

Contract

0x7961F2cd070E89fc868dC288628b3707c5bAc898
 

Overview

ETH Balance

0.023 ETH

Eth Value

$69.79 (@ $3,034.47/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Sweep All183025982023-10-08 1:50:23222 days ago1696729823IN
0x7961F2cd...7c5bAc898
0 ETH0.000391526.131231
Sweep All153811812022-08-21 1:51:43635 days ago1661046703IN
0x7961F2cd...7c5bAc898
0 ETH0.000199433.12312312
Transfer144931222022-03-31 9:24:10778 days ago1648718650IN
0x7961F2cd...7c5bAc898
0.023 ETH0.000674332.04849299
Sweep All116325132021-01-11 8:26:401222 days ago1610353600IN
0x7961F2cd...7c5bAc898
0 ETH0.00570116120.12312123
Transfer95299122020-02-22 0:41:331546 days ago1582332093IN
0x7961F2cd...7c5bAc898
0.261 ETH0.000736435
Transfer93957352020-02-01 9:28:341567 days ago1580549314IN
0x7961F2cd...7c5bAc898
0.35617719 ETH0.000631230
Sweep All93848522020-01-30 17:21:421568 days ago1580404902IN
0x7961F2cd...7c5bAc898
0 ETH0.00005331.12312312
Transfer93736012020-01-28 23:46:141570 days ago1580255174IN
0x7961F2cd...7c5bAc898
0.88089408 ETH0.000631230
Transfer93019832020-01-18 0:23:001581 days ago1579306980IN
0x7961F2cd...7c5bAc898
0.888 ETH0.000736435
Transfer92529622020-01-10 12:12:081588 days ago1578658328IN
0x7961F2cd...7c5bAc898
1.18468 ETH0.00094545
Transfer91106402019-12-15 13:37:261614 days ago1576417046IN
0x7961F2cd...7c5bAc898
1.39514 ETH0.00094545
Sweep All90988142019-12-13 7:07:441617 days ago1576220864IN
0x7961F2cd...7c5bAc898
0 ETH0.00005331.12312312
Transfer90937412019-12-12 9:47:141618 days ago1576144034IN
0x7961F2cd...7c5bAc898
1.971 ETH0.000736435
Sweep All90060592019-11-26 20:23:121633 days ago1574799792IN
0x7961F2cd...7c5bAc898
0 ETH0.000050911.21323213
Transfer89900642019-11-24 2:59:121636 days ago1574564352IN
0x7961F2cd...7c5bAc898
2.01234 ETH0.00022110.504
Sweep All89342382019-11-14 19:41:151645 days ago1573760475IN
0x7961F2cd...7c5bAc898
0 ETH0.00004621.1010101
Transfer87265322019-10-12 11:41:501679 days ago1570880510IN
0x7961F2cd...7c5bAc898
1.624 ETH0.000736435
Sweep All86079062019-09-23 21:43:281697 days ago1569275008IN
0x7961F2cd...7c5bAc898
0 ETH0.0006978116.62695293
Transfer85993872019-09-22 13:53:031698 days ago1569160383IN
0x7961F2cd...7c5bAc898
3.347272 ETH0.0002188110.4
Sweep All85941492019-09-21 18:10:551699 days ago1569089455IN
0x7961F2cd...7c5bAc898
0 ETH0.0006007114.31326214
Transfer85901592019-09-21 3:24:261700 days ago1569036266IN
0x7961F2cd...7c5bAc898
1.2612842 ETH0.0003008714.3
Transfer85869862019-09-20 15:25:211700 days ago1568993121IN
0x7961F2cd...7c5bAc898
2.01500038 ETH0.000631230
Sweep All85818682019-09-19 20:18:251701 days ago1568924305IN
0x7961F2cd...7c5bAc898
0 ETH0.0008393820
Transfer85712632019-09-18 4:32:411703 days ago1568781161IN
0x7961F2cd...7c5bAc898
2.229 ETH0.000736435
Sweep All85509302019-09-15 0:36:351706 days ago1568507795IN
0x7961F2cd...7c5bAc898
0 ETH0.0005035511.99825656
View all transactions

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
116325132021-01-11 8:26:401222 days ago1610353600
0x7961F2cd...7c5bAc898
0.61717719 ETH
93848522020-01-30 17:21:421568 days ago1580404902
0x7961F2cd...7c5bAc898
1.76889408 ETH
90988142019-12-13 7:07:441617 days ago1576220864
0x7961F2cd...7c5bAc898
1.971 ETH
90060592019-11-26 20:23:121633 days ago1574799792
0x7961F2cd...7c5bAc898
2.01234 ETH
89342382019-11-14 19:41:151645 days ago1573760475
0x7961F2cd...7c5bAc898
1.624 ETH
86079062019-09-23 21:43:281697 days ago1569275008
0x7961F2cd...7c5bAc898
3.347272 ETH
85941492019-09-21 18:10:551699 days ago1569089455
0x7961F2cd...7c5bAc898
3.27628458 ETH
85818682019-09-19 20:18:251701 days ago1568924305
0x7961F2cd...7c5bAc898
2.229 ETH
85509302019-09-15 0:36:351706 days ago1568507795
0x7961F2cd...7c5bAc898
5.357423 ETH
82507382019-07-30 7:53:341753 days ago1564473214  Contract Creation0 ETH
Loading...
Loading

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

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *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

Contract ABI

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

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.