Back to Home

Relay

Utility
Part of The Piper Merriam Collection
0x7ff073dd807c...93daea728346
FrontierSource VerifiedEdit this contract
Deployed September 22, 2015 (10 years ago)Block 273,762

A call forwarder from the Ethereum Alarm Clock: it relays a call to any address, and only the scheduler that created it may ask.

Frontier EraVerified Source

Historical Significance

The Ethereum Alarm Clock answered a problem the EVM has by design: nothing on chain runs unless an account sends a transaction, so a contract cannot wake itself at a future block. Piper Merriam's answer was to pay whoever does send it. A scheduler holds the requester's deposit, anyone may execute the call once its block arrives, and the executor is reimbursed for gas plus a margin. That shape, a public bounty for executing someone else's scheduled work, backed by bonded callers who get first refusal, is the one keeper networks settled on later.

Context

The Alarm Clock was built on mainnet through the autumn of 2015, and each revision was deployed as a complete new set rather than upgraded in place, so several generations of the service sit on chain side by side. The code is Frontier Solidity: no events are emitted, the log statements are commented out, and a failed check signals an error by reading past the end of an empty array so the transaction consumes its gas and reverts.

Key Facts
Deployer
Piper Merriam(0xd3cda9...293601)
Deployment Block
273,762
Deployment Date
Sep 22, 2015, 04:09 PM
Code Size
330.0 B

Description

Relay is the simplest part of the Ethereum Alarm Clock, Piper Merriam's scheduled-call service. It records whoever created it as its operator and exposes one function, relayCall, which forwards a call to a given address with a four-byte signature and a payload. Any other sender is rejected, and the operator cannot be changed.

The scheduler creates two of these in its own constructor, one for calls whose target has authorized the scheduling account and one for calls it has not. Every scheduled call is then delivered through one relay or the other, so the contract being called can tell the two apart by the address it hears from and decide for itself what to trust.

It holds no balance, keeps no records, and cannot be called by anyone but the scheduler that created it.

Heuristic Analysis

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

Detected Type: Utility

Bytecode Overview

Opcodes330
Unique Opcodes59
Jump Instructions9
Storage Operations3

External Links

Related contracts