presenters

package
v0.9.2 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2020 License: MIT Imports: 22 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.

func ShowEthBalance

func ShowEthBalance(store *store.Store) ([]map[string]string, error)

ShowEthBalance returns the current Eth Balance for current Account

func ShowLinkBalance

func ShowLinkBalance(store *store.Store) ([]map[string]string, error)

ShowLinkBalance returns the current Link Balance for current Account

Types

type AccountBalance

type AccountBalance struct {
	Address     string       `json:"address"`
	EthBalance  *assets.Eth  `json:"ethBalance"`
	LinkBalance *assets.Link `json:"linkBalance"`
}

AccountBalance holds the hex representation of the address plus it's ETH & LINK balances

func (AccountBalance) GetID

func (a AccountBalance) GetID() string

GetID returns the ID of this structure for jsonapi serialization.

func (*AccountBalance) SetID

func (a *AccountBalance) SetID(value string) error

SetID is used to set the ID of this structure when deserializing from jsonapi documents.

type ConfigPrinter added in v0.8.17

type ConfigPrinter struct {
	AccountAddress string `json:"accountAddress"`
	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 added in v0.8.17

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

NewConfigPrinter creates an instance of ConfigPrinter

func (ConfigPrinter) GetID added in v0.8.17

func (c ConfigPrinter) GetID() string

GetID generates a new ID for jsonapi serialization.

func (*ConfigPrinter) SetID added in v0.8.17

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

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

func (ConfigPrinter) String added in v0.8.17

func (c ConfigPrinter) String() string

String returns the values as a newline delimited string

type EnvPrinter added in v0.8.17

type EnvPrinter struct {
	AllowOrigins                     string          `json:"allowOrigins"`
	BlockBackfillDepth               uint64          `json:"blockBackfillDepth"`
	BridgeResponseURL                string          `json:"bridgeResponseURL,omitempty"`
	ChainID                          *big.Int        `json:"ethChainId"`
	ClientNodeURL                    string          `json:"clientNodeUrl"`
	DatabaseTimeout                  models.Duration `json:"databaseTimeout"`
	DefaultHTTPLimit                 int64           `json:"defaultHttpLimit"`
	DefaultHTTPTimeout               models.Duration `json:"defaultHttpTimeout"`
	Dev                              bool            `json:"chainlinkDev"`
	EnableBulletproofTxManager       bool            `json:"enableBulletproofTxManager"`
	EnableExperimentalAdapters       bool            `json:"enableExperimentalAdapters"`
	EthBalanceMonitorBlockDelay      uint16          `json:"ethBalanceMonitorBlockDelay"`
	EthereumDisabled                 bool            `json:"ethereumDisabled"`
	EthFinalityDepth                 uint            `json:"ethFinalityDepth"`
	EthGasBumpThreshold              uint64          `json:"ethGasBumpThreshold"`
	EthGasBumpTxDepth                uint16          `json:"ethGasBumpTxDepth"`
	EthGasBumpWei                    *big.Int        `json:"ethGasBumpWei"`
	EthGasLimitDefault               uint64          `json:"ethGasLimitDefault"`
	EthGasPriceDefault               *big.Int        `json:"ethGasPriceDefault"`
	EthHeadTrackerHistoryDepth       uint            `json:"ethHeadTrackerHistoryDepth"`
	EthHeadTrackerMaxBufferSize      uint            `json:"ethHeadTrackerMaxBufferSize"`
	EthMaxGasPriceWei                *big.Int        `json:"ethMaxGasPriceWei"`
	EthereumURL                      string          `json:"ethUrl"`
	EthereumSecondaryURL             string          `json:"ethSecondaryURL"`
	ExplorerURL                      string          `json:"explorerUrl"`
	FeatureExternalInitiators        bool            `json:"featureExternalInitiators"`
	FeatureFluxMonitor               bool            `json:"featureFluxMonitor"`
	FlagsContractAddress             string          `json:"flagsContractAddress"`
	GasUpdaterBlockDelay             uint16          `json:"gasUpdaterBlockDelay"`
	GasUpdaterBlockHistorySize       uint16          `json:"gasUpdaterBlockHistorySize"`
	GasUpdaterEnabled                bool            `json:"gasUpdaterEnabled"`
	GasUpdaterTransactionPercentile  uint16          `json:"gasUpdaterTransactionPercentile"`
	JSONConsole                      bool            `json:"jsonConsole"`
	LinkContractAddress              string          `json:"linkContractAddress"`
	LogLevel                         orm.LogLevel    `json:"logLevel"`
	LogSQLMigrations                 bool            `json:"logSqlMigrations"`
	LogSQLStatements                 bool            `json:"logSqlStatements"`
	LogToDisk                        bool            `json:"logToDisk"`
	MaxRPCCallsPerSecond             uint64          `json:"maxRPCCallsPerSecond"`
	MaximumServiceDuration           models.Duration `json:"maximumServiceDuration"`
	MinIncomingConfirmations         uint32          `json:"minIncomingConfirmations"`
	MinRequiredOutgoingConfirmations uint64          `json:"minOutgoingConfirmations"`
	MinimumServiceDuration           models.Duration `json:"minimumServiceDuration"`
	MinimumContractPayment           *assets.Link    `json:"minimumContractPayment"`
	MinimumRequestExpiration         uint64          `json:"minimumRequestExpiration"`
	OperatorContractAddress          common.Address  `json:"oracleContractAddress"`
	Port                             uint16          `json:"chainlinkPort"`
	ReaperExpiration                 models.Duration `json:"reaperExpiration"`
	ReplayFromBlock                  int64           `json:"replayFromBlock"`
	RootDir                          string          `json:"root"`
	SecureCookies                    bool            `json:"secureCookies"`
	SessionTimeout                   models.Duration `json:"sessionTimeout"`
	TLSHost                          string          `json:"chainlinkTLSHost"`
	TLSPort                          uint16          `json:"chainlinkTLSPort"`
	TLSRedirect                      bool            `json:"chainlinkTLSRedirect"`
	TxAttemptLimit                   uint16          `json:"txAttemptLimit"`
}

EnvPrinter contains the supported environment variables

type ExplorerStatus added in v0.8.2

type ExplorerStatus struct {
	Status string `json:"status"`
	Url    string `json:"url"`
}

ExplorerStatus represents the connected server and status of the connection

func NewExplorerStatus added in v0.8.2

func NewExplorerStatus(statsPusher synchronization.StatsPusher) ExplorerStatus

NewExplorerStatus returns an initialized ExplorerStatus from the store

type ExternalInitiatorAuthentication added in v0.6.6

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 added in v0.6.6

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

NewExternalInitiatorAuthentication creates an instance of ExternalInitiatorAuthentication.

func (*ExternalInitiatorAuthentication) GetID added in v0.6.6

GetID returns the jsonapi ID.

func (*ExternalInitiatorAuthentication) GetName added in v0.6.6

GetName returns the collection name for jsonapi.

func (*ExternalInitiatorAuthentication) SetID added in v0.6.6

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 added in v0.6.6

func (job JobSpec) FriendlyMinPayment() string

FriendlyMinPayment returns a formatted string of the Job's Minimum Link 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 NewAccount

type NewAccount struct {
	*accounts.Account
}

NewAccount is a jsonapi wrapper for an Ethereum account.

func (NewAccount) GetID

func (a NewAccount) GetID() string

GetID returns the jsonapi ID.

func (NewAccount) GetName

func (a NewAccount) GetName() string

GetName returns the collection name for jsonapi.

type ServiceAgreement

type ServiceAgreement struct {
	models.ServiceAgreement
}

ServiceAgreement presents an API friendly version of the data.

func (ServiceAgreement) FriendlyAggregator added in v0.6.8

func (sa ServiceAgreement) FriendlyAggregator() string

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

func (ServiceAgreement) FriendlyAggregatorFulfillMethod added in v0.6.8

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 added in v0.6.8

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 added in v0.6.10

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.

type Tx

type Tx struct {
	Confirmed bool            `json:"confirmed,omitempty"`
	Data      hexutil.Bytes   `json:"data,omitempty"`
	From      *common.Address `json:"from,omitempty"`
	GasLimit  string          `json:"gasLimit,omitempty"`
	GasPrice  string          `json:"gasPrice,omitempty"`
	Hash      common.Hash     `json:"hash,omitempty"`
	Hex       string          `json:"rawHex,omitempty"`
	Nonce     string          `json:"nonce,omitempty"`
	SentAt    string          `json:"sentAt,omitempty"`
	To        *common.Address `json:"to,omitempty"`
	Value     string          `json:"value,omitempty"`
}

Tx is a jsonapi wrapper for an Ethereum Transaction.

func NewTx

func NewTx(tx *models.Tx) Tx

NewTx builds a transaction presenter.

func NewTxFromAttempt

func NewTxFromAttempt(txAttempt models.TxAttempt) Tx

NewTxFromAttempt builds a transaction presenter from a TxAttempt

models.Tx represents a transaction in progress, with a series of models.TxAttempts, each one of these represents an ethereum transaction. A TxAttempt only stores the unique details of an ethereum transaction, with the rest of the details on its related Tx.

So for presenting a TxAttempt, we take its Hash, GasPrice etc. and get the rest of the details from its Tx.

NOTE: We take a copy here as we don't want side effects.

func (Tx) GetID

func (t Tx) GetID() string

GetID returns the jsonapi ID.

func (Tx) GetName

func (Tx) GetName() string

GetName returns the collection name for jsonapi.

func (*Tx) SetID

func (t *Tx) SetID(hex string) error

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

type UserPresenter

type UserPresenter struct {
	*models.User
}

UserPresenter wraps the user record for shipping as a jsonapi response in the API.

func (UserPresenter) GetID

func (u UserPresenter) GetID() string

GetID returns the jsonapi ID.

func (UserPresenter) GetName

func (u UserPresenter) GetName() string

GetName returns the collection name for jsonapi.

func (UserPresenter) MarshalJSON

func (u UserPresenter) MarshalJSON() ([]byte, error)

MarshalJSON returns the User as json.

Jump to

Keyboard shortcuts

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