Ethereum Foundation ABI test contract. bar(uint256) returns the input plus 2. Part of the Sep 20, 2015 EF1 wallet test suite.
Key Facts
Description
EF1 ABI Test Suite
On September 20, 2015, the Ethereum Foundation wallet 0x5eD8Cee6b63b1c6AFce3AD7c92f4fD7E1B8fAd9F deployed three ABI test contracts in a 6-hour window:
| Time (UTC) | Address | Function | Returns |
|---|---|---|---|
| 06:28 | 0xe30608b5 | foo() | uint256(5) |
| 08:48 | 0xdf8eb001 | foo() | address |
| 09:35 | 0x441e72c6 | bar(uint256) | x + 2 |
bar(uint256) (selector 0x0423a132) takes an integer and returns it plus 2. Unlike the other two, this tests calldata input handling -- the most complete ABI test of the three.
The EF1 wallet called bar(0) at 12:39 UTC, 3 hours after deployment, confirming active testing.
Compilation note: Named return variable required -- function bar(uint256 x) returns (uint256 result) compiles to different bytecode than the anonymous variant. Cracked in 2026 with soljson v0.1.4, optimizer off.
Together these three contracts are among the earliest evidence of systematic ABI testing on Ethereum mainnet.
Source Verified
108 bytes. soljson v0.1.4, optimizer OFF. Named return variable required.
Heuristic Analysis
The following characteristics were detected through bytecode analysis and may not be accurate.
Frontier Era
The initial release of Ethereum. A bare-bones implementation for technical users.
Bytecode Overview
Verified Source Available
Source verified through compiler archaeology and exact bytecode matching.
View Verification ProofShow source code (Solidity)
contract C {
function bar(uint256 x) returns (uint256 result) {
result = x + 2;
}
}