Back to Home

Burner

0x430e398aeeb5...bf86da8afb11
ByzantiumSource VerifiedEdit this contract
Deployed November 22, 2017 (8 years ago)Block 4,600,476

A single-purpose key holder: the only thing it can do is call burn on one fixed token, and the only person who can ask is its owner.

Byzantium EraVerified Source

Historical Significance

Contracts this narrow are usually about who holds the key rather than what the code does. A token issuer that wants burning to be possible but not to sit on the same key as minting or ownership can put this in between, hand it to a different party, and know that the worst that party can do is destroy supply. It is access control expressed as a deployment rather than as a role.

Key Facts
Deployment Block
4,600,476
Deployment Date
Nov 22, 2017, 11:50 AM
Code Size
979.0 B

Description

Two addresses in storage, an owner and a token, and three functions. burnTokens checks the caller is the owner, calls burn on the token for the given amount, and asserts the call returned true before logging the amount destroyed.

Using assert rather than require on the token's return value means a refused burn consumes all remaining gas instead of refunding it. In this compiler that is the documented difference between the two, and choosing assert here says the author treated a false return as impossible rather than as an expected outcome.

changeOwner hands over control with no zero-address check and no second step. There is no way to change the token, no way to withdraw anything, and no fallback, so the contract cannot hold ether and cannot be repurposed.

Source Verified

Solidityeh_crack_source_verified
Compiler: v0.4.18

Bytecode Overview

Opcodes979
Unique Opcodes120
Jump Instructions35
Storage Operations10

External Links