Back to Home

Shares(SHARE)

0xe2de3fed034c...00b81ae7a638
ByzantiumSource VerifiedEdit this contract
Deployed July 10, 2018 (8 years ago)Block 5,937,093

Augur v1 share token shell: a delegator that looks up its logic contract by name in the Augur Controller on every call and delegatecalls into it.

Byzantium EraVerified Source

Historical Significance

Augur was the first large prediction market on Ethereum, and the Delegator is how it made per-market contracts affordable in 2018. Every outcome of every market needed its own share token, and deploying a full ERC20 for each would have cost far more gas than a shell pointing at shared code.

The design is an early registry-resolved proxy, predating the ERC-1967 storage slot convention and the ERC-1167 minimal proxy. The upgrade path runs through a name lookup in a central Controller rather than through anything stored in the proxy itself, which made the Controller's owner the single point that could change the code behind every market.

Token Information
Token Name
Shares
Symbol
SHARE
Decimals
0
Key Facts
Deployment Block
5,937,093
Deployment Date
Jul 10, 2018, 04:47 AM
Code Size
663.0 B
Transactions by Year
20181

Description

Augur v1 did not deploy full contracts for every market object. It deployed Delegators, small shells that hold their own storage but no business logic of their own. Each one stores two things: the address of the Augur Controller and a bytes32 lookup key. This one was created by Augur's ShareTokenFactory in July 2018, days after the v1 mainnet launch, and its key reads "ShareToken".

The fallback function is the whole mechanism. If the lookup key is empty it returns without doing anything. Otherwise it asks the Controller which address is currently registered under that key, copies the calldata into memory, and delegatecalls that address, returning or reverting with whatever comes back. Because the logic address is resolved on every call rather than fixed at deployment, Augur could repoint every share token at once by registering a new implementation in the Controller.

The source is Augur's own Delegator contract with its Controlled and DelegationTarget parents, compiled with solc 0.4.20 and the optimizer on. 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

Solidityeh_crack_source_verified
Compiler: v0.4.20

Bytecode Overview

Opcodes663
Unique Opcodes105
Jump Instructions29
Storage Operations11

External Links