Documentation ¶
Index ¶
Constants ¶
const ( ParseResultTaskName string = "parse_result" ParseErrorTaskName string = "parse_error" ParseDomainsTaskName string = "parse_domains" // TODO: Remove/reduce dependency on pipeline tasks (https://smartcontract-it.atlassian.net/browse/FUN-135) PipelineObservationSource string = `` /* 600-byte string literal not displayed */ )
const RequestIDLength int = 32
Variables ¶
This section is empty.
Functions ¶
func CheckStateTransition ¶
func CheckStateTransition(prev RequestState, next RequestState) error
* +-----------+ * +----+IN_PROGRESS+----------------+ * | +-----+-----+ | * | | | * | v v * | +------------+ +---------+ * | |RESULT_READY+---------->|TIMED_OUT| * | +------+-----+ +---------+ * | | ^ * | v | * | +---------+ | * +---->|FINALIZED|-----------------+ * +---------+ * * \ / * | * v * +---------+ * |CONFIRMED| * +---------+
func ExtractRawBytes ¶
Process result from the EA saved by a jsonparse pipeline task. That value is a valid JSON string so it contains double quote characters. Allowed inputs are:
- "" (2 characters) -> return empty byte array
- "0x<val>" where <val> is a non-empty, valid hex -> return hex-decoded <val>
Types ¶
type FunctionsListener ¶
type FunctionsListener struct { utils.StartStopOnce // contains filtered or unexported fields }
func NewFunctionsListener ¶
func NewFunctionsListener(oracle *ocr2dr_oracle.OCR2DROracle, job job.Job, runner pipeline.Runner, jobORM job.ORM, pluginORM ORM, pluginConfig config.PluginConfig, logBroadcaster log.Broadcaster, lggr logger.Logger, mailMon *utils.MailboxMonitor, urlsMonEndpoint commontypes.MonitoringEndpoint) *FunctionsListener
func (*FunctionsListener) Close ¶
func (l *FunctionsListener) Close() error
Close complies with job.Service
func (*FunctionsListener) HandleLog ¶
func (l *FunctionsListener) HandleLog(lb log.Broadcast)
HandleLog implements log.Listener
func (*FunctionsListener) JobID ¶
func (l *FunctionsListener) JobID() int32
JobID() complies with log.Listener
type ORM ¶
type ORM interface { CreateRequest(requestID RequestID, receivedAt time.Time, requestTxHash *common.Hash, qopts ...pg.QOpt) error SetResult(requestID RequestID, runID int64, computationResult []byte, readyAt time.Time, qopts ...pg.QOpt) error SetError(requestID RequestID, runID int64, errorType ErrType, computationError []byte, readyAt time.Time, readyForProcessing bool, qopts ...pg.QOpt) error SetFinalized(requestID RequestID, reportedResult []byte, reportedError []byte, qopts ...pg.QOpt) error SetConfirmed(requestID RequestID, qopts ...pg.QOpt) error TimeoutExpiredResults(cutoff time.Time, limit uint32, qopts ...pg.QOpt) ([]RequestID, error) FindOldestEntriesByState(state RequestState, limit uint32, qopts ...pg.QOpt) ([]Request, error) FindById(requestID RequestID, qopts ...pg.QOpt) (*Request, error) }
type RequestID ¶
type RequestID [RequestIDLength]byte
type RequestState ¶
type RequestState int8
const ( // IN_PROGRESS is the initial state of a request, set right after receiving it in an on-chain event. IN_PROGRESS RequestState = iota // RESULT_READY means that computation has finished executing (with either success or user error). // OCR2 reporting includes only requests in RESULT_READY state (for Query and Observation phases). RESULT_READY // TIMED_OUT request has been waiting to get confirmed on chain for too long. // It won't be included in OCR2 reporting rounds any more. TIMED_OUT // FINALIZED request is a part of a report produced by OCR2 and has now entered the transmission protocol // (i.e. passed through ShouldAcceptFinalizedReport()). FINALIZED // CONFIRMED state indicates that we received an on-chain confirmation event // (with or without this node's participation in an earlier OCR round). // We can transition here at any time (full fan-in) and cannot transition out (empty fan-out). // This is a desired and expected final state for every request. CONFIRMED )
func (RequestState) String ¶
func (s RequestState) String() string