Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Code
Read Contract
Write Contract
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
This contract has been partially verified via Sourcify.
View contract in Sourcify repository
- Contract name:
- Forwarder
- Optimization enabled
- false
- Compiler version
- v0.4.24+commit.e67f0147
- EVM Version
- byzantium
- Verified at
- 2026-04-22T03:12:37.227666Z
Forwarder.sol
pragma solidity ^0.4.18;
import "./DelegateProxy.sol";
contract Forwarder is DelegateProxy {
// After compiling contract, `beefbeef...` is replaced in the bytecode by the real target address
address public constant target = 0x1ed7fc52ac5a37aa3ff6d9b94c894724e2f992b1; // checksumed to silence warning
/*
* @dev Forwards all calls to target
*/
function() payable {
delegatedFwd(target, msg.data);
}
}
/
pragma solidity ^0.4.18;
contract DelegateProxy {
/**
* @dev Performs a delegatecall and returns whatever the delegatecall returned (entire context execution will return!)
* @param _dst Destination address to perform the delegatecall
* @param _calldata Calldata for the delegatecall
*/
function delegatedFwd(address _dst, bytes _calldata) internal {
require(isContract(_dst));
assembly {
let result := delegatecall(sub(gas, 10000), _dst, add(_calldata, 0x20), mload(_calldata), 0, 0)
let size := returndatasize
let ptr := mload(0x40)
returndatacopy(ptr, 0, size)
// revert instead of invalid() bc if the underlying call failed with invalid() it already wasted gas.
// if the call returned error data, forward it
switch result case 0 {revert(ptr, size)}
default {return (ptr, size)}
}
}
function isContract(address _target) internal view returns (bool) {
uint256 size;
assembly {size := extcodesize(_target)}
return size > 0;
}
}
Compiler Settings
{"remappings":[],"optimizer":{"runs":200,"enabled":false},"libraries":{},"evmVersion":"byzantium","compilationTarget":{"Forwarder.sol":"Forwarder"}}
Contract ABI
[{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"address","name":""}],"name":"target","inputs":[],"constant":true},{"type":"fallback","stateMutability":"payable","payable":true}]
Contract Creation Code
0x608060405234801561001057600080fd5b50610180806100206000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d4b8399214610094575b610092731ed7fc52ac5a37aa3ff6d9b94c894724e2f992b16000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506100eb565b005b3480156100a057600080fd5b506100a9610129565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f482610141565b15156100ff57600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610125578282f35b8282fd5b731ed7fc52ac5a37aa3ff6d9b94c894724e2f992b181565b600080823b9050600081119150509190505600a165627a7a72305820e526dcd2443997c0ec25f281427290eac2cd8e69aff6f6ca89a7f656eb75adc70029
Deployed ByteCode
0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d4b8399214610094575b610092731ed7fc52ac5a37aa3ff6d9b94c894724e2f992b16000368080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050506100eb565b005b3480156100a057600080fd5b506100a9610129565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f482610141565b15156100ff57600080fd5b600080825160208401856127105a03f43d604051816000823e8260008114610125578282f35b8282fd5b731ed7fc52ac5a37aa3ff6d9b94c894724e2f992b181565b600080823b9050600081119150509190505600a165627a7a72305820e526dcd2443997c0ec25f281427290eac2cd8e69aff6f6ca89a7f656eb75adc70029