# Packages
No description provided by the author
# Functions
Leader will produce an oracle id for the given epoch.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewSimpleNetwork returns a SimpleNetwork for n oracles.
RunOracle runs one oracle instance of the offchain reporting protocol and manages the lifecycle of all underlying goroutines.
Pacemaker keeps track of the state and message handling for an oracle participating in the off-chain reporting protocol.
No description provided by the author
Report Generation protocol corresponding to alg.
TransmissionProtocol tracks the local oracle process's role in the transmission of a report to the on-chain oracle contract.
# Constants
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EventChangeLeader is used to process the "change-leader" event passed by the local oracle from its the reporting protocol to the leader-election protocol.
No description provided by the author
EventProgress is used to process the "progress" event passed by the local oracle from its the reporting protocol to the leader-election protocol.
EventTransmit is used to process the "transmit" event passed by the local reporting protocol to to the local transmit-to-the-onchain-smart-contract protocol.
MessageBuffer implements a fixed capacity ringbuffer for items of type MessageToReportGeneration.
MessageFinal corresponds to the "final" message in alg.
MessageFinalEcho corresponds to the "final-echo" message in alg.
MessageNewEpoch corresponds to the "newepoch(epoch_number)" message from alg.
MessageObserve corresponds to the "observe" message from alg.
MessageObserveReq corresponds to the "observe-req" message from alg.
MessageReport corresponds to the "report" message from alg.
MessageReportReq corresponds to the "report-req" message from alg.
MessageToPacemakerWithSender records a msg with the idx of the sender oracle.
No description provided by the author
MessageToReportGenerationWithSender records a message destined for the oracle reporting.
MessageWithSender records a msg with the index of the sender oracle.
Type safe wrapper around MinHeapTimeToContractReportInternal.
No description provided by the author
No description provided by the author
SimpleNetwork is a strawman (in-memory) implementation of the Network interface.
SimpleNetworkEndpoint is a strawman (in-memory) implementation of NetworkEndpoint, used by SimpleNetwork.
Used only for testing.
# Interfaces
EventToPacemaker is the interface used to pass in-process events to the leader-election protocol.
No description provided by the author
EventToTransmission is the interface used to pass a completed report to the protocol which will transmit it to the on-chain smart contract.
No description provided by the author
MessageToPacemaker is the interface used to pass a message to the local leader-election protocol.
No description provided by the author
MessageToReportGeneration is the interface used to pass an inter-oracle message to the local oracle reporting process.
NetworkEndpoint sends & receives messages to/from other oracles.
NetworkSender sends messages to other oracles.
No description provided by the author
# Type aliases
Implements heap.Interface and uses interface{} all over the place.