Back to Home

Bank

DeFi
0x02d8b181ebd7...fb7d26322115
FrontierContract #837Exact Bytecode MatchEdit this contract

Bytecode verified via sibling

This contract shares identical runtime bytecode with Bank (0x8c953fbd...) which has been verified through compiler archaeology.

Deployed September 5, 2015 (11 years ago)Block 187,222

A 541-byte deposit ledger: deposit() records the caller's ether and a timestamp, and only the owner can read a balance back. No withdrawal function exists.

Frontier EraVerified Source

Historical Significance

A ledger without an exit. The contract carefully tracks who deposited how much and when, and then offers no way to pay any of it back, which makes it a clear artifact of the period when the accounting half of a contract was written and tested before the withdrawal half existed. The owner-gated getBalance returning zero instead of reverting is also characteristic: 2015 Solidity had no revert, so access control usually degraded into a silently wrong answer.

Context

Deployed 2015-09-05 by 0xee291517c6290faf94dee71647c27b9737b2a2d2. Three byte-identical copies of this runtime exist. It is one of two near-identical 541-byte variants in the archive that differ in a single character: this one uses numDeposits++ (post-increment, so the first deposit is recorded as id 0), while the sibling variant uses the other form. Source recovered by exact runtime bytecode match, verified on Sourcify and Etherscan.

Key Facts
Deployment Block
187,222
Deployment Date
Sep 5, 2015, 07:26 AM
Code Size
616.0 B
Gas at Deploy
191,804
Transactions by Year
20151
20251

Description

Storage is an owner address in slot 0, three public uints (lastDepositId, numDeposits, lastTs) in slots 1 to 3, and a mapping from address to balance in slot 4. deposit() at selector 0xd0e30db0 bumps the deposit counter, copies it to lastDepositId, stamps lastTs with the block timestamp, and credits msg.value to the caller's entry in the mapping. getBalance(address) at 0xf8b2cb4f returns an entry only when the caller is the owner recorded at construction; every other caller receives zero rather than a revert. There is no withdrawal function of any kind, so ether sent to deposit() is credited in the mapping and then permanently stranded.

Source Verified

SolidityExact bytecode match(616 bytes)
Compiler: v0.1.3+
Heuristic Analysis

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

Detected Type: DeFi

Bytecode Overview

Opcodes616
Unique Opcodes73
Jump Instructions21
Storage Operations19

External Links

Related contracts