ETH Price: $2,176.24 (+10.00%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer109831222020-10-03 13:04:351978 days ago1601730275IN
0x76c29B4D...4cB7Fcf8d
13.109 ETH0.00317174108
Transfer Tokens109702802020-10-01 12:57:221980 days ago1601557042IN
0x76c29B4D...4cB7Fcf8d
0 ETH0.0020631461
Transfer Tokens109371392020-09-26 8:20:511985 days ago1601108451IN
0x76c29B4D...4cB7Fcf8d
0 ETH0.0029781461
Transfer108670912020-09-15 14:05:551996 days ago1600178755IN
0x76c29B4D...4cB7Fcf8d
12.119 ETH0.00778252265
Transfer Tokens108245972020-09-09 1:37:462002 days ago1599615466IN
0x76c29B4D...4cB7Fcf8d
0 ETH0.0030757863
Transfer106915682020-08-19 16:15:102023 days ago1597853710IN
0x76c29B4D...4cB7Fcf8d
4.63866586 ETH0.00461077157
Transfer Tokens106787032020-08-17 16:49:272025 days ago1597682967IN
0x76c29B4D...4cB7Fcf8d
0 ETH0.0097644200
Transfer106393672020-08-11 15:20:512031 days ago1597159251IN
0x76c29B4D...4cB7Fcf8d
5.425 ETH0.00478698163
Transfer106204932020-08-08 17:18:202034 days ago1596907100IN
0x76c29B4D...4cB7Fcf8d
3.24 ETH0.00323048110
Transfer105998892020-08-05 13:04:032037 days ago1596632643IN
0x76c29B4D...4cB7Fcf8d
3.26493616 ETH0.0021144972
Transfer105486632020-07-28 14:52:462045 days ago1595947966IN
0x76c29B4D...4cB7Fcf8d
6.11465848 ETH0.0026724891

Latest 7 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
-109831222020-10-03 13:04:351978 days ago1601730275
0x76c29B4D...4cB7Fcf8d
13.109 ETH
-108670912020-09-15 14:05:551996 days ago1600178755
0x76c29B4D...4cB7Fcf8d
12.119 ETH
-106915682020-08-19 16:15:102023 days ago1597853710
0x76c29B4D...4cB7Fcf8d
4.63866586 ETH
-106393672020-08-11 15:20:512031 days ago1597159251
0x76c29B4D...4cB7Fcf8d
5.425 ETH
-106204932020-08-08 17:18:202034 days ago1596907100
0x76c29B4D...4cB7Fcf8d
3.24 ETH
-105998892020-08-05 13:04:032037 days ago1596632643
0x76c29B4D...4cB7Fcf8d
3.26493616 ETH
-105486632020-07-28 14:52:462045 days ago1595947966
0x76c29B4D...4cB7Fcf8d
6.11465848 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x0183b04d...9D0c08B79
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
etherForwarder

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-06-29
*/

pragma solidity 0.5.11;

contract ERC20Interface {
  function transfer(address _to, uint256 _value) public returns (bool success);
  function balanceOf(address _owner) public view returns (uint256 balance);
}

interface BadERC20 {
  function transfer(address to, uint value) external;
}


contract etherForwarder {

  address payable public ownerAddress;
  address payable public trezorAddress;
  
  
  constructor(address payable _trezorAddress) public {
    ownerAddress = msg.sender;
    trezorAddress = _trezorAddress;
  }

  modifier onlyOwner {

    if (msg.sender != ownerAddress) {
      revert();
    }

    _;

  }
  
  modifier onlyTrezorOwner {

    if (msg.sender != trezorAddress) {
      revert();
    }

    _;

  }


  function() external payable {

    if(!trezorAddress.send(msg.value)){
      revert();
    }
  }
  
  function changeOwner(address payable newOwnerAddress) external onlyTrezorOwner {
      trezorAddress = newOwnerAddress;
  }

  function transferTokens(address tokenContractAddress) external onlyOwner {

    ERC20Interface instance = ERC20Interface(tokenContractAddress);
    address forwarderAddress = address(this);
    uint256 forwarderBalance = instance.balanceOf(forwarderAddress);

    if (forwarderBalance == 0) {
      return;
    }
    
    if(!safeTransfer(tokenContractAddress,forwarderBalance)){
        revert();
    }

    //if (!instance.transfer(trezorAddress, forwarderBalance)) {
    //  revert();
    //}

  }

  function withdrawEther() public {

    uint256 balance = address(this).balance;

    if(!trezorAddress.send(balance)){
        revert();
    }

  }
  
  function safeTransfer(address token,  uint value) public returns (bool result) {
        
        BadERC20(token).transfer(trezorAddress,value);

        assembly {
            switch returndatasize()   
                case 0 {                      // This is our BadToken
                    result := not(0)          // result is true
                }
                case 32 {                     // This is our GoodToken
                    returndatacopy(0, 0, 32) 
                    result := mload(0)        // result == returndata of external call
                }
                default {                     // This is not an ERC20 token
                    revert(0, 0) 
                }
        }
    require(result);                          // revert() if result is false
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"internalType":"address","name":"tokenContractAddress","type":"address"}],"name":"transferTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"safeTransfer","outputs":[{"internalType":"bool","name":"result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"trezorAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"newOwnerAddress","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_trezorAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

0x608060405234801561001057600080fd5b5060405161074d38038061074d8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610678806100d56000396000f3fe6080604052600436106100555760003560e01c80630c89a0df146100b7578063423f6cef146101085780637362377b1461017b5780638926a976146101925780638f84aa09146101e9578063a6f9dae114610240575b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050506100b557600080fd5b005b3480156100c357600080fd5b50610106600480360360208110156100da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610291565b005b34801561011457600080fd5b506101616004803603604081101561012b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103db565b604051808215151515815260200191505060405180910390f35b34801561018757600080fd5b506101906104db565b005b34801561019e57600080fd5b506101a761055a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f557600080fd5b506101fe610580565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024c57600080fd5b5061028f6004803603602081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ea57600080fd5b6000819050600030905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561037357600080fd5b505afa158015610387573d6000803e3d6000fd5b505050506040513d602081101561039d57600080fd5b8101908080519060200190929190505050905060008114156103c1575050506103d8565b6103cb84826103db565b6103d457600080fd5b5050505b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b505050503d600081146104b457602081146104be57600080fd5b60001991506104ca565b60206000803e60005191505b50806104d557600080fd5b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505061055757600080fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ff57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea265627a7a7231582014aa0f587f76c325951fb03fcdb3ebd7b0e08bf066b4e87644e9cb9ad30444e364736f6c634300050b00320000000000000000000000009c76e9e677fe83785c53c366dbad424355568105

Deployed Bytecode

0x6080604052600436106100555760003560e01c80630c89a0df146100b7578063423f6cef146101085780637362377b1461017b5780638926a976146101925780638f84aa09146101e9578063a6f9dae114610240575b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050506100b557600080fd5b005b3480156100c357600080fd5b50610106600480360360208110156100da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610291565b005b34801561011457600080fd5b506101616004803603604081101561012b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103db565b604051808215151515815260200191505060405180910390f35b34801561018757600080fd5b506101906104db565b005b34801561019e57600080fd5b506101a761055a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f557600080fd5b506101fe610580565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024c57600080fd5b5061028f6004803603602081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ea57600080fd5b6000819050600030905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561037357600080fd5b505afa158015610387573d6000803e3d6000fd5b505050506040513d602081101561039d57600080fd5b8101908080519060200190929190505050905060008114156103c1575050506103d8565b6103cb84826103db565b6103d457600080fd5b5050505b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b505050503d600081146104b457602081146104be57600080fd5b60001991506104ca565b60206000803e60005191505b50806104d557600080fd5b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505061055757600080fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ff57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea265627a7a7231582014aa0f587f76c325951fb03fcdb3ebd7b0e08bf066b4e87644e9cb9ad30444e364736f6c634300050b0032

Deployed Bytecode Sourcemap

301:2227:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;821:13;;;;;;;;;;;:18;;:29;840:9;821:29;;;;;;;;;;;;;;;;;;;;;;;817:59;;860:8;;;817:59;301:2227;1020:518;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1020:518:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1020:518:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1707:816;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1707:816:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1707:816:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1544:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1544:155:0;;;:::i;:::-;;372:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;372:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;332:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;332:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;889:125;;8:9:-1;5:2;;;30:1;27;20:12;5:2;889:125:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;889:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;1020:518;599:12;;;;;;;;;;;585:26;;:10;:26;;;581:57;;622:8;;;581:57;1102:23;1143:20;1102:62;;1171:24;1206:4;1171:40;;1218:24;1245:8;:18;;;1264:16;1245:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1245:36:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1245:36:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1245:36:0;;;;;;;;;;;;;;;;1218:63;;1314:1;1294:16;:21;1290:50;;;1326:7;;;;;1290:50;1356:51;1369:20;1390:16;1356:12;:51::i;:::-;1352:83;;1419:8;;;1352:83;646:1;;;;1020:518;:::o;1707:816::-;1773:11;1816:5;1807:24;;;1832:13;;;;;;;;;;;1846:5;1807:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1807:45:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1807:45:0;;;;1896:16;1938:1;1933:137;;;;2093:2;2088:208;;;;2405:1;2402;2395:12;1933:137;2022:1;2018:6;2008:16;;1933:137;;2088:208;2185:2;2182:1;2179;2164:24;2227:1;2221:8;2211:18;;1889:538;;2452:6;2444:15;;;;;;1707:816;;;;:::o;1544:155::-;1585:15;1611:4;1603:21;;;1585:39;;1637:13;;;;;;;;;;;:18;;:27;1656:7;1637:27;;;;;;;;;;;;;;;;;;;;;;;1633:59;;1676:8;;;1633:59;1544:155;:::o;372:36::-;;;;;;;;;;;;;:::o;332:35::-;;;;;;;;;;;;;:::o;889:125::-;715:13;;;;;;;;;;;701:27;;:10;:27;;;697:58;;739:8;;;697:58;993:15;977:13;;:31;;;;;;;;;;;;;;;;;;889:125;:::o

Swarm Source

bzzr://14aa0f587f76c325951fb03fcdb3ebd7b0e08bf066b4e87644e9cb9ad30444e3

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
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.