Back to Home

EtherToken

Token
0xb345180d0a2c...b50efa01c81a
FrontierContract #10KSource VerifiedEdit this contract
Deployed February 25, 2016 (10 years ago)Block 1,059,698

An ether wrapper that meets nine of the ten mandatory EIP-20 requirements under execution. Its bounds helper checks a + b > a rather than a + b >= a, so a transfer of zero throws instead of succeeding.

Frontier EraVerified Source

Historical Significance

Deployed in block 1,059,698 on 25 February 2016, this is the closest any contract on Ethereum mainnet came to full EIP-20 compliance before 0xacFD9D15fA769EaBb68410c4c675Ff2030f26416 reached it on 20 March 2016. Tested by execution against the ten mandatory requirements of EIP-20 as finalised, it passes nine. The one it fails is the rule that a transfer of zero must be treated as a normal transfer and must emit the event: its overflow helper returns a + b > a, so adding zero to a balance fails the check and the call throws. The March contract is the same code for its first 2,342 bytes and differs only in that helper, comparing with ADD LT ISZERO where this one compares with ADD GT. A single opcode is the whole distance between the two. It is also an ether wrapper a year before WETH9, with deposit(), withdraw(uint256), a totalSupply() that returns the contract's own ether balance so supply and collateral cannot drift apart, and the Deposit and Withdrawal event topics WETH9 would later carry.

Key Facts
Deployment Block
1,059,698
Deployment Date
Feb 25, 2016, 08:42 PM
Code Size
2.4 KB
Gas at Deploy
658,806

Description

Deployed 25 February 2016. The same ether wrapper as 0xacFD9D15fA769EaBb68410c4c675Ff2030f26416: deposit() credits the caller, withdraw(uint256) pays back, totalSupply() returns the contract's own ether balance, the fallback forwards to deposit(), and the Deposit and Withdrawal event signatures match WETH9's.

The two runtimes agree for their first 2,342 bytes and diverge in one comparison in the tail overflow helper. Here it returns a + b > a; in the March deployment it returns a + b >= a. With the strict form an amount of zero makes the check false and the throw fires, so transfer(to, 0) reverts instead of succeeding and emitting an event. That is the one opcode separating this contract from the first fully EIP-20 compliant one.

Its only transaction is its creation.

Source recovered by compiling against solc v0.3.0+commit.11d67369 with the optimizer off, reproducing the deployed runtime exactly.

Source Verified

exact_runtime_bytecode_match
Compiler: v0.3.0+
Heuristic Analysis

The following characteristics were detected through bytecode analysis and may not be accurate.

Detected Type: Token
Has ERC-20-like patterns

Bytecode Overview

Opcodes2,440
Unique Opcodes169
Jump Instructions70
Storage Operations29

External Links

Related contracts