The Ethereum Alarm Clock infrastructure consists of the following contracts:
TransactionRequest: Represents a single scheduled transaction.
RequestFactory: Low level API for creating
RequestTracker: Tracks the scheduled transactions.
BlockScheduler: High level API for creating
TransactionRequestcontracts configured to be executed at a specified block number.
TimestampScheduler: High level API for creating
TransactionRequestcontracts configured to be executed at a certain time, as specified by a timestamp.
Actual functionality of most of the contracts is housed separately in various libraries.
RequestTracker is a database contract which tracks upcoming
transaction requests. It exposes an API suitable for someone wishing to
execute transaction requests to be able to query which requests are scheduled
next as well as other common needs.
RequestTracker database indexes requests based on the address that submits them.
RequestTracker is un-permissioned and allows any address
to report scheduled transactions and to have them stored in their own personal
index. The address which submits the transaction request is referred to as the
The flexibility of the RequestTracker storage enables those executing transaction requests to choose which scheduler addresses they wish to watch for upcoming transactions.
Parameter validation is available, but not mandatory.
It provides an API for creating new