Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
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
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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
0x608060405234801561001057600080fd5b5060405161074d38038061074d8339818101604052602081101561003357600080fd5b8101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610678806100d56000396000f3fe6080604052600436106100555760003560e01c80630c89a0df146100b7578063423f6cef146101085780637362377b1461017b5780638926a976146101925780638f84aa09146101e9578063a6f9dae114610240575b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050506100b557600080fd5b005b3480156100c357600080fd5b50610106600480360360208110156100da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610291565b005b34801561011457600080fd5b506101616004803603604081101561012b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103db565b604051808215151515815260200191505060405180910390f35b34801561018757600080fd5b506101906104db565b005b34801561019e57600080fd5b506101a761055a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101f557600080fd5b506101fe610580565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561024c57600080fd5b5061028f6004803603602081101561026357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a5565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102ea57600080fd5b6000819050600030905060008273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561037357600080fd5b505afa158015610387573d6000803e3d6000fd5b505050506040513d602081101561039d57600080fd5b8101908080519060200190929190505050905060008114156103c1575050506103d8565b6103cb84826103db565b6103d457600080fd5b5050505b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b505050503d600081146104b457602081146104be57600080fd5b60001991506104ca565b60206000803e60005191505b50806104d557600080fd5b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505061055757600080fd5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105ff57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fea265627a7a7231582014aa0f587f76c325951fb03fcdb3ebd7b0e08bf066b4e87644e9cb9ad30444e364736f6c634300050b00320000000000000000000000005640c59f1a4acc7961f667e6dca80d2ca2c661d5
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
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
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.