Back to Home

Meta

Utility
0x4121faff1e00...06384386f826
FrontierContract #1,604Exact Bytecode MatchEdit this contract
Deployed September 25, 2015 (10 years ago)Block 290,127

A 732-byte merchant metadata holder: the deployer stores an arbitrary string that anyone can read, and only the deployer can change it.

Frontier EraVerified Source

Historical Significance

A compact example of the tx.origin authorisation pattern that was ordinary in 2015 and is now a standard audit finding. Because the check looks at the transaction's originating account rather than the immediate caller, any contract the merchant is persuaded to interact with can call setMeta on their behalf. The same idiom appears in the multi-signature wallet of the same period, where it was forced by CALLCODE; here it is simply how access control was written.

Context

Deployed 2015-09-25 by 0xec61e51660f3cefaa16d17500542b5b7b3971b92. Three byte-identical copies of this runtime exist. Source recovered by exact runtime bytecode match, verified on Sourcify and Etherscan. The crack turned on ORIGIN rather than CALLER appearing in the guard: every other candidate matched to 442 of 732 bytes.

Key Facts
Deployment Block
290,127
Deployment Date
Sep 25, 2015, 09:15 PM
Code Size
1.4 KB
Gas at Deploy
557,263

Description

Storage is a merchant address in slot 0 and a string in slot 1. getMerchant() returns the address, getMeta() returns the string, and setMeta(string) overwrites the string after checking the caller. The guard is written against tx.origin rather than msg.sender, so authorisation follows the externally owned account that started the transaction and passes through any intermediate contract that relays the call.

Source Verified

SolidityExact bytecode match(1,426 bytes)
Compiler: v0.1.3+
Heuristic Analysis

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

Detected Type: Utility

Bytecode Overview

Opcodes1,426
Unique Opcodes92
Jump Instructions50
Storage Operations16

External Links

Related contracts