# Functions
* +-----------+
* +----+IN_PROGRESS+----------------+
* | +-----+-----+ |
* | | |
* | v v
* | +------------+ +---------+
* | |RESULT_READY+---------->|TIMED_OUT|
* | +------+-----+ +---------+
* | | ^
* | v |
* | +---------+ |
* +---->|FINALIZED|-----------------+
* +---------+
*
* \ /
* |
* v
* +---------+
* |CONFIRMED|
* +---------+
*/.
internal request ID is a hash of (sender, requestID).
# Constants
CONFIRMED state indicates that we received an on-chain confirmation event (with or without this node's participation in an earlier OCR round).
FINALIZED request is a part of a report produced by OCR2 and has now entered the transmission protocol (i.e.
IN_PROGRESS is the initial state of a request, set right after receiving it in an on-chain event.
caused by internal infra problems, potentially retryable.
Used in place of OnchainMetadata for all offchain requests.
RESULT_READY means that computation has finished executing (with either success or user error).
TIMED_OUT request has been waiting to get confirmed on chain for too long.
caused by user's code (exception, crash, timeout, ...).
# Structs
NOTE: to be extended with raw report and signatures when needed.
# Interfaces
ExternalAdapterClient supports two endpoints: 1.
Simple wrapper around a channel to transmit offchain reports between OCR plugin and Gateway connector.