Back to Home

Contract 0x2ed778bb966a...f13d0c2c8efb

Utility
Part of The Cyrus Adkisson Collection
0x2ed778bb966a...f13d0c2c8efb
FrontierContract #1,692DecompiledEdit this contract
Deployed September 30, 2015 (10 years ago)Block 312,977

A three by three tile map written into storage at construction: nine elevations passed in as a fixed array and read back as a grid.

Frontier Era

Historical Significance

Multi-dimensional arrays crossing the ABI boundary were new and unreliable in 2015, and this contract exists to find out whether they worked. It is also a record of the standard library that early Solidity shipped with, where a contract could write import mortal and get one.

Context

Deployed in the autumn of 2015 from the dapp-bin examples collection. Solidity then included a small bundled library of base contracts that the compiler resolved by name, a feature later dropped in favour of explicit imports, and contracts using it can no longer be compiled from their original source alone.

Key Facts
Deployer
Cyrus Adkisson(0xcf684d...ad1bac)
Deployment Block
312,977
Deployment Date
Sep 30, 2015, 03:59 PM
Code Size
1.1 KB
Gas at Deploy
379,794
Transactions by Year
20151

Description

An example contract from the dapp-bin Solidity examples, written to test whether arrays could be passed into a constructor and returned from a function. It declares a three by three grid of tiles, each tile holding an elevation, and its constructor takes nine elevations as a fixed-size array and walks them into the grid.

getElevations() reads the grid back as a two dimensional array. A commented-out struct member in the source shows where a pointer to a second contract describing what a tile looks like was meant to go.

It inherits mortal, the kill-only base of the period, through a bare import of the compiler's own standard library, which is why the source cannot be compiled today without supplying that library separately.

Heuristic Analysis

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

Detected Type: Utility

Bytecode Overview

Opcodes1,081
Unique Opcodes72
Jump Instructions41
Storage Operations17

External Links

Related contracts