package
0.1.1
Repository: https://github.com/goplugin/plugin-libocr.git
Documentation: pkg.go.dev

# Packages

Package observation contains the data structures and logic for handling observations provided by the client DataSource.
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
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.
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.

# Structs

AttestedReportMany consists of attributed observations with aggregated signatures from the oracles which have sent this report to the current epoch leader.
AttestedReportOne is the collated report oracles sign off on, after they've verified the individual signatures in a report-req sent by the current leader.
AttributedObservation succinctly attributes a value reported to an oracle.
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.
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.
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
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.
EventToTransmission is the interface used to pass a completed report to the protocol which will transmit it to the on-chain smart contract.
Message is the interface used to pass an inter-oracle message to the local oracle process.
MessageToPacemaker is the interface used to pass a message to the local leader-election protocol.
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

No description provided by the author
DomainSeparationTag consists of: 11-byte zero padding 16-byte configDigest 4-byte epoch 1-byte round It uniquely identifies a message to a particular group-epoch-round tuple.
Implements heap.Interface and uses interface{} all over the place.