Back to Home

TestCallExecution

Utility
Part of The Piper Merriam Collection
0x685308c340f9...9e71fc9a751d
FrontierContract #5,583Source VerifiedEdit this contract
Deployed December 23, 2015 (10 years ago)Block 737,976

Test contract for Piper Merriam's Ethereum Alarm Clock, deployed December 2015. Verifies the scheduler can execute set/register/do calls correctly.

Frontier EraVerified Source

Historical Significance

A test fixture put on mainnet because that was where the scheduler under test lived. The Ethereum Alarm Clock had to prove that a call it dispatched actually arrived at the target with the right data, which meant deploying something that would record having been called and then scheduling calls against it. It dates the service to before its first tagged release.

Context

Deployed in December 2015, while the Ethereum Alarm Clock was being built on mainnet. There was no test network in common use for work of this kind, so the fixtures went on the live chain beside the service they exercised, and the scheduler had no tagged release yet.

Key Facts
Deployer
Piper Merriam(0xd3cda9...293601)
Deployment Block
737,976
Deployment Date
Dec 23, 2015, 10:48 PM
Code Size
3.9 KB
Gas at Deploy
1,090,808
Transactions by Year
20153
202410
202626

Description

TestCallExecution is a test fixture for the Ethereum Alarm Clock, Piper Merriam's scheduled-call service. It exists to be called by the scheduler and to record that it was: each of its functions writes a flag or a value into storage and does nothing else, so a scheduled call can be proved to have arrived, with the arguments it was scheduled with, by reading the fixture afterwards.

It holds no funds, has no owner and rejects nothing. Scheduling a call against it and then checking what it recorded is the whole point of the contract.

Source Verified

Solidityauthor_published
Compiler: v0.1.6+

Identified by exact selector match against TestCallExecution ABI in pipermerriam/ethereum-alarm-canary build artifacts (canary/versions/v0.6/build/contracts.json). The published Testers.sol in tagged releases covers the bulk of the contract; two helpers (scheduleSetBool, scheduleSetUInt) appear in the on-chain bytecode but in no tagged release. NOT a byte-for-byte crack: the closest reconstruction (Testers_reconstructed.sol with v0.1.6 optimizer ON) produces 3,932 bytes vs the on-chain 4,005 bytes (73 bytes short). See proofs/testcallexecution-0x685308c3/CRACK_ATTEMPT.md for diff analysis.

Heuristic Analysis

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

Detected Type: Utility

Bytecode Overview

Opcodes4,034
Unique Opcodes204
Jump Instructions196
Storage Operations79

External Links

Related contracts