encoding

package
v2.8.1-mercury-2023121... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 7, 2024 License: MIT Imports: 9 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// NOTE: This enum should be kept in sync with evmregistry/v21/mercury/upkeep_failure_reasons.go
	// TODO (AUTO-7928) Remove this duplication
	// upkeep failure onchain reasons
	UpkeepFailureReasonNone                    uint8 = 0
	UpkeepFailureReasonUpkeepCancelled         uint8 = 1
	UpkeepFailureReasonUpkeepPaused            uint8 = 2
	UpkeepFailureReasonTargetCheckReverted     uint8 = 3
	UpkeepFailureReasonUpkeepNotNeeded         uint8 = 4
	UpkeepFailureReasonPerformDataExceedsLimit uint8 = 5
	UpkeepFailureReasonInsufficientBalance     uint8 = 6
	UpkeepFailureReasonMercuryCallbackReverted uint8 = 7
	UpkeepFailureReasonRevertDataExceedsLimit  uint8 = 8
	UpkeepFailureReasonRegistryPaused          uint8 = 9
	// leaving a gap here for more onchain failure reasons in the future
	// upkeep failure offchain reasons
	UpkeepFailureReasonMercuryAccessNotAllowed uint8 = 32
	UpkeepFailureReasonTxHashNoLongerExists    uint8 = 33
	UpkeepFailureReasonInvalidRevertDataInput  uint8 = 34
	UpkeepFailureReasonSimulationFailed        uint8 = 35
	UpkeepFailureReasonTxHashReorged           uint8 = 36

	// NOTE: This enum should be kept in sync with evmregistry/v21/mercury/upkeep_states.go
	// TODO (AUTO-7928) Remove this duplication
	// pipeline execution error
	NoPipelineError        uint8 = 0
	CheckBlockTooOld       uint8 = 1
	CheckBlockInvalid      uint8 = 2
	RpcFlakyFailure        uint8 = 3
	MercuryFlakyFailure    uint8 = 4
	PackUnpackDecodeFailed uint8 = 5
	MercuryUnmarshalError  uint8 = 6
	InvalidMercuryRequest  uint8 = 7
	InvalidMercuryResponse uint8 = 8 // this will only happen if Mercury server sends bad responses
	UpkeepNotAuthorized    uint8 = 9
)

Variables

View Source
var (
	ErrEmptyResults = fmt.Errorf("empty results; cannot encode")
)

Functions

func GetIneligibleCheckResultWithoutPerformData

func GetIneligibleCheckResultWithoutPerformData(p ocr2keepers.UpkeepPayload, reason uint8, state uint8, retryable bool) ocr2keepers.CheckResult

GetIneligibleCheckResultWithoutPerformData returns an ineligible check result with ineligibility reason and pipeline execution state but without perform data

func NewAbiPacker

func NewAbiPacker() *abiPacker

func NewReportEncoder

func NewReportEncoder(p Packer) ocr2keepers.Encoder

Types

type Packer

type Packer interface {
	UnpackCheckResult(payload ocr2keepers.UpkeepPayload, raw string) (ocr2keepers.CheckResult, error)
	UnpackCheckCallbackResult(callbackResp []byte) (uint8, bool, []byte, uint8, *big.Int, error)
	UnpackPerformResult(raw string) (uint8, bool, error)
	UnpackLogTriggerConfig(raw []byte) (automation_utils_2_1.LogTriggerConfig, error)
	PackReport(report automation_utils_2_1.KeeperRegistryBase21Report) ([]byte, error)
	UnpackReport(raw []byte) (automation_utils_2_1.KeeperRegistryBase21Report, error)
	PackGetUpkeepPrivilegeConfig(upkeepId *big.Int) ([]byte, error)
	UnpackGetUpkeepPrivilegeConfig(resp []byte) ([]byte, error)
	DecodeStreamsLookupRequest(data []byte) (*mercury.StreamsLookupError, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL