A 180-byte forwarder from November 2017 that delegatecalls a hardcoded ENS name offering contract, one per name listed for sale.
Historical Significance
An early secondary market for ENS names, built within months of the ENS launch in May 2017. Listing a name meant deploying a contract that held it, and the forwarder pattern is what made that cheap enough: a listing cost the gas for 180 bytes rather than a full offering contract.
The fixed 4,096-byte return buffer is a holdover. The forwarding routine was written before the Byzantium fork added RETURNDATASIZE in October 2017, when a proxy had no way to learn how much data the callee returned, and this copy was deployed a few weeks after the fork still carrying the old workaround.
Key Facts
Description
Each copy of this contract is one ENS name put up for sale. The payable fallback delegatecalls a single hardcoded implementation, reverting if that address has no code, passing all but 10,000 of the remaining gas, and always returning a fixed 4,096-byte buffer. A failed delegatecall hits the invalid opcode rather than reverting, so it consumes the remaining gas.
The implementation it points to is an offering contract. Its interface includes construct(bytes32,string,bytes32,address,uint128,uint256) for setting up the listing, buy(), setSettings, unregister, reclaimOwnership, and checks against an ENS registry, a root node and the name's registrar. It reports every change to a shared offeringRegistry through fireOnOfferingChanged and has an emergencyMultisig that can pause it. That interface and the forwarding assembly match the offering contracts of district0x's Name Bazaar, an ENS name marketplace, where a factory deploys one small forwarder per listing and initialises it through the shared implementation.
The source was compiled with solc 0.4.18 and the optimizer on with runs set to 1. The runtime code matches the deployed bytecode; only the trailing swarm metadata hash differs, because the EthereumHistory attribution comment changes the source text. Sourcify records this as a partial match and Etherscan shows it as verified.
Source Verified
Byzantium Era
First Metropolis hard fork. Added zk-SNARK precompiles, REVERT opcode, and staticcall.
Bytecode Overview
Verified Source Available
This contract has verified source code.
View Verification ProofShow source code (Solidity)
// Submitted by EthereumHistory (ethereumhistory.com)
pragma solidity ^0.4.18;
contract Proxy {
function () public payable {
forward(0x7f5dBcAB54cB17cd494477d4F11a2b7Ba470Fb3a, msg.data);
}
function forward(address _target, bytes _data) internal {
assembly {
switch extcodesize(_target)
case 0 { revert(0, 0) }
let ret := 0x1000
let result := delegatecall(sub(gas, 10000), _target, add(_data, 0x20), mload(_data), 0, ret)
switch result
case 0 { invalid() }
return(0, ret)
}
}
}