presenters

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2021 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package presenters allow for the specification and result of a Job, its associated TaskSpecs, and every JobRun and TaskRun to be returned in a user friendly human readable format.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FriendlyBigInt

func FriendlyBigInt(n *big.Int) string

FriendlyBigInt returns a string printing the integer in both decimal and hexadecimal formats.

Types

type ConfigPrinter

type ConfigPrinter struct {
	EnvPrinter
}

ConfigPrinter are the non-secret values of the node

If you add an entry here, you should update NewConfigPrinter and ConfigPrinter#String accordingly.

func NewConfigPrinter

func NewConfigPrinter(store *store.Store) (ConfigPrinter, error)

NewConfigPrinter creates an instance of ConfigPrinter

func (ConfigPrinter) GetID

func (c ConfigPrinter) GetID() string

GetID generates a new ID for jsonapi serialization.

func (*ConfigPrinter) SetID

func (c *ConfigPrinter) SetID(value string) error

SetID is used to conform to the UnmarshallIdentifier interface for deserializing from jsonapi documents.

func (ConfigPrinter) String

func (c ConfigPrinter) String() string

String returns the values as a newline delimited string

type EnvPrinter

type EnvPrinter struct {
	AllowOrigins                          string          `json:"ALLOW_ORIGINS"`
	BalanceMonitorEnabled                 bool            `json:"BALANCE_MONITOR_ENABLED"`
	BlockBackfillDepth                    uint64          `json:"BLOCK_BACKFILL_DEPTH"`
	BridgeResponseURL                     string          `json:"BRIDGE_RESPONSE_URL,omitempty"`
	ChainID                               *big.Int        `json:"ETH_CHAIN_ID"`
	ClientNodeURL                         string          `json:"CLIENT_NODE_URL"`
	DatabaseBackupFrequency               time.Duration   `json:"DATABASE_BACKUP_FREQUENCY"`
	DatabaseBackupMode                    string          `json:"DATABASE_BACKUP_MODE"`
	DatabaseTimeout                       models.Duration `json:"DATABASE_TIMEOUT"`
	DatabaseMaximumTxDuration             time.Duration   `json:"DATABASE_MAXIMUM_TX_DURATION"`
	DefaultHTTPLimit                      int64           `json:"DEFAULT_HTTP_LIMIT"`
	DefaultHTTPTimeout                    models.Duration `json:"DEFAULT_HTTP_TIMEOUT"`
	Dev                                   bool            `json:"PLUGIN_DEV"`
	EnableExperimentalAdapters            bool            `json:"ENABLE_EXPERIMENTAL_ADAPTERS"`
	EnableLegacyJobPipeline               bool            `json:"ENABLE_LEGACY_JOB_PIPELINE"`
	EthBalanceMonitorBlockDelay           uint16          `json:"ETH_BALANCE_MONITOR_BLOCK_DELAY"`
	EthereumDisabled                      bool            `json:"ETH_DISABLED"`
	EthFinalityDepth                      uint            `json:"ETH_FINALITY_DEPTH"`
	EthGasBumpThreshold                   uint64          `json:"ETH_GAS_BUMP_THRESHOLD"`
	EthGasBumpTxDepth                     uint16          `json:"ETH_GAS_BUMP_TX_DEPTH"`
	EthGasBumpWei                         *big.Int        `json:"ETH_GAS_BUMP_WEI"`
	EthGasLimitDefault                    uint64          `json:"ETH_GAS_LIMIT_DEFAULT"`
	EthGasLimitTransfer                   uint64          `json:"ETH_GAS_LIMIT_TRANSFER"`
	EthGasPriceDefault                    *big.Int        `json:"ETH_GAS_PRICE_DEFAULT"`
	EthHeadTrackerHistoryDepth            uint            `json:"ETH_HEAD_TRACKER_HISTORY_DEPTH"`
	EthHeadTrackerMaxBufferSize           uint            `json:"ETH_HEAD_TRACKER_MAX_BUFFER_SIZE"`
	EthMaxGasPriceWei                     *big.Int        `json:"ETH_MAX_GAS_PRICE_WEI"`
	EthereumURL                           string          `json:"ETH_URL"`
	EthereumHTTPURL                       string          `json:"ETH_HTTP_URL"`
	EthereumSecondaryURLs                 []string        `json:"ETH_SECONDARY_URLS"`
	ExplorerURL                           string          `json:"EXPLORER_URL"`
	FeatureExternalInitiators             bool            `json:"FEATURE_EXTERNAL_INITIATORS"`
	FeatureFluxMonitor                    bool            `json:"FEATURE_FLUX_MONITOR"`
	FeatureOffchainReporting              bool            `json:"FEATURE_OFFCHAIN_REPORTING"`
	FlagsContractAddress                  string          `json:"FLAGS_CONTRACT_ADDRESS"`
	GasUpdaterBlockDelay                  uint16          `json:"GAS_UPDATER_BLOCK_DELAY"`
	GasUpdaterBlockHistorySize            uint16          `json:"GAS_UPDATER_BLOCK_HISTORY_SIZE"`
	GasUpdaterEnabled                     bool            `json:"GAS_UPDATER_ENABLED"`
	GasUpdaterTransactionPercentile       uint16          `json:"GAS_UPDATER_TRANSACTION_PERCENTILE"`
	InsecureFastScrypt                    bool            `json:"INSECURE_FAST_SCRYPT"`
	TriggerFallbackDBPollInterval         time.Duration   `json:"JOB_PIPELINE_DB_POLL_INTERVAL"`
	JobPipelineReaperInterval             time.Duration   `json:"JOB_PIPELINE_REAPER_INTERVAL"`
	JobPipelineReaperThreshold            time.Duration   `json:"JOB_PIPELINE_REAPER_THRESHOLD"`
	JSONConsole                           bool            `json:"JSON_CONSOLE"`
	LinkContractAddress                   string          `json:"PLI_CONTRACT_ADDRESS"`
	LogLevel                              orm.LogLevel    `json:"LOG_LEVEL"`
	LogSQLMigrations                      bool            `json:"LOG_SQL_MIGRATIONS"`
	LogSQLStatements                      bool            `json:"LOG_SQL"`
	LogToDisk                             bool            `json:"LOG_TO_DISK"`
	MaximumServiceDuration                models.Duration `json:"MAXIMUM_SERVICE_DURATION"`
	MinIncomingConfirmations              uint32          `json:"MIN_INCOMING_CONFIRMATIONS"`
	MinRequiredOutgoingConfirmations      uint64          `json:"MIN_OUTGOING_CONFIRMATIONS"`
	MinimumServiceDuration                models.Duration `json:"MINIMUM_SERVICE_DURATION"`
	MinimumContractPayment                *assets.Link    `json:"MINIMUM_CONTRACT_PAYMENT_LINK_JUELS"`
	MinimumRequestExpiration              uint64          `json:"MINIMUM_REQUEST_EXPIRATION"`
	OCRBootstrapCheckInterval             time.Duration   `json:"OCR_BOOTSTRAP_CHECK_INTERVAL"`
	OCRContractTransmitterTransmitTimeout time.Duration   `json:"OCR_CONTRACT_TRANSMITTER_TRANSMIT_TIMEOUT"`
	OCRDatabaseTimeout                    time.Duration   `json:"OCR_DATABASE_TIMEOUT"`
	P2PListenIP                           string          `json:"P2P_LISTEN_IP"`
	P2PListenPort                         string          `json:"P2P_LISTEN_PORT"`
	P2PPeerID                             string          `json:"P2P_PEER_ID"`
	P2PBootstrapPeers                     []string        `json:"P2P_BOOTSTRAP_PEERS"`
	OCRIncomingMessageBufferSize          int             `json:"OCR_INCOMING_MESSAGE_BUFFER_SIZE"`
	OCROutgoingMessageBufferSize          int             `json:"OCR_OUTGOING_MESSAGE_BUFFER_SIZE"`
	OCRNewStreamTimeout                   time.Duration   `json:"OCR_NEW_STREAM_TIMEOUT"`
	OCRDHTLookupInterval                  int             `json:"OCR_DHT_LOOKUP_INTERVAL"`
	OCRTraceLogging                       bool            `json:"OCR_TRACE_LOGGING"`
	OperatorContractAddress               common.Address  `json:"OPERATOR_CONTRACT_ADDRESS"`
	OptimismGasFees                       bool            `json:"OPTIMISM_GAS_FEES"`
	Port                                  uint16          `json:"PLUGIN_PORT"`
	ReaperExpiration                      models.Duration `json:"REAPER_EXPIRATION"`
	ReplayFromBlock                       int64           `json:"REPLAY_FROM_BLOCK"`
	RootDir                               string          `json:"ROOT"`
	SecureCookies                         bool            `json:"SECURE_COOKIES"`
	SessionTimeout                        models.Duration `json:"SESSION_TIMEOUT"`
	TLSHost                               string          `json:"PLUGIN_TLS_HOST"`
	TLSPort                               uint16          `json:"PLUGIN_TLS_PORT"`
	TLSRedirect                           bool            `json:"PLUGIN_TLS_REDIRECT"`
}

EnvPrinter contains the supported environment variables

type ExternalInitiatorAuthentication

type ExternalInitiatorAuthentication struct {
	Name           string        `json:"name,omitempty"`
	URL            models.WebURL `json:"url,omitempty"`
	AccessKey      string        `json:"incomingAccessKey,omitempty"`
	Secret         string        `json:"incomingSecret,omitempty"`
	OutgoingToken  string        `json:"outgoingToken,omitempty"`
	OutgoingSecret string        `json:"outgoingSecret,omitempty"`
}

ExternalInitiatorAuthentication includes initiator and authentication details.

func NewExternalInitiatorAuthentication

func NewExternalInitiatorAuthentication(
	ei models.ExternalInitiator,
	eia auth.Token,
) *ExternalInitiatorAuthentication

NewExternalInitiatorAuthentication creates an instance of ExternalInitiatorAuthentication.

func (*ExternalInitiatorAuthentication) GetID

GetID returns the jsonapi ID.

func (*ExternalInitiatorAuthentication) GetName

GetName returns the collection name for jsonapi.

func (*ExternalInitiatorAuthentication) SetID

SetID is used to conform to the UnmarshallIdentifier interface for deserializing from jsonapi documents.

type Initiator

type Initiator struct {
	models.Initiator
}

Initiator holds the Job definition's Initiator.

func (Initiator) FriendlyAddress

func (i Initiator) FriendlyAddress() string

FriendlyAddress returns the Ethereum address if present, and a blank string if not.

func (Initiator) FriendlyRunAt

func (i Initiator) FriendlyRunAt() string

FriendlyRunAt returns a human-readable string for Cron Initiator types.

func (Initiator) MarshalJSON

func (i Initiator) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON data of the Initiator based on its Initiator Type.

type JobRun

type JobRun struct {
	models.JobRun
}

JobRun presents an API friendly version of the data.

func (JobRun) MarshalJSON

func (jr JobRun) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON data of the JobRun and its Initiator.

type JobSpec

type JobSpec struct {
	models.JobSpec
	Errors   []models.JobSpecError `json:"errors"`
	Earnings *assets.Link          `json:"earnings"`
}

JobSpec holds the JobSpec definition together with the total link earned from that job

func (JobSpec) FriendlyCreatedAt

func (job JobSpec) FriendlyCreatedAt() string

FriendlyCreatedAt returns a human-readable string of the Job's CreatedAt field.

func (JobSpec) FriendlyEndAt

func (job JobSpec) FriendlyEndAt() string

FriendlyEndAt returns a human-readable string of the Job's EndAt field.

func (JobSpec) FriendlyInitiators

func (job JobSpec) FriendlyInitiators() string

FriendlyInitiators returns the list of Initiator types as a comma separated string.

func (JobSpec) FriendlyMinPayment

func (job JobSpec) FriendlyMinPayment() string

FriendlyMinPayment returns a formatted string of the Job's Minimum Pli Payment threshold

func (JobSpec) FriendlyStartAt

func (job JobSpec) FriendlyStartAt() string

FriendlyStartAt returns a human-readable string of the Job's StartAt field.

func (JobSpec) FriendlyTasks

func (job JobSpec) FriendlyTasks() string

FriendlyTasks returns the list of Task types as a comma separated string.

func (JobSpec) MarshalJSON

func (job JobSpec) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON data of the Job and its Initiators.

type ServiceAgreement

type ServiceAgreement struct {
	models.ServiceAgreement
}

ServiceAgreement presents an API friendly version of the data.

func (ServiceAgreement) FriendlyAggregator

func (sa ServiceAgreement) FriendlyAggregator() string

FriendlyAggregator returns the ServiceAgreement's aggregator address, in a human readable format.

func (ServiceAgreement) FriendlyAggregatorFulfillMethod

func (sa ServiceAgreement) FriendlyAggregatorFulfillMethod() string

FriendlyAggregatorFulfillMethod returns the ServiceAgreement's aggregator fulfillment (orcale reporting) method's function selector, in a human readable format.

func (ServiceAgreement) FriendlyAggregatorInitMethod

func (sa ServiceAgreement) FriendlyAggregatorInitMethod() string

FriendlyAggregator returns the ServiceAgreement's aggregator initialization method's function selector, in a human readable format.

func (ServiceAgreement) FriendlyCreatedAt

func (sa ServiceAgreement) FriendlyCreatedAt() string

FriendlyCreatedAt returns the ServiceAgreement's created at time in a human readable format.

func (ServiceAgreement) FriendlyExpiration

func (sa ServiceAgreement) FriendlyExpiration() string

FriendlyExpiration returns the ServiceAgreement's Encumbrance expiration time in a human readable format.

func (ServiceAgreement) FriendlyPayment

func (sa ServiceAgreement) FriendlyPayment() string

FriendlyPayment returns the ServiceAgreement's Encumbrance payment amount in a human readable format.

func (ServiceAgreement) MarshalJSON

func (sa ServiceAgreement) MarshalJSON() ([]byte, error)

MarshalJSON presents the ServiceAgreement as public JSON data

type ServiceAgreementPresentation

type ServiceAgreementPresentation struct {
	ID            string             `json:"id"`
	CreatedAt     string             `json:"createdAt"`
	Encumbrance   models.Encumbrance `json:"encumbrance"`
	EncumbranceID int64              `json:"encumbranceID"`
	RequestBody   string             `json:"requestBody"`
	Signature     string             `json:"signature"`
	JobSpec       models.JobSpec     `json:"jobSpec"`
	JobSpecID     string             `json:"jobSpecId"`
}

type TaskSpec

type TaskSpec struct {
	models.TaskSpec
}

TaskSpec holds a task specified in the Job definition.

func (TaskSpec) FriendlyParams

func (t TaskSpec) FriendlyParams() (string, string)

FriendlyParams returns a map of the TaskSpec's parameters.

Jump to

Keyboard shortcuts

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