Documentation
¶
Index ¶
- type BridgeResource
- type CronSpec
- type DirectRequestSpec
- type ETHKeyResource
- type EthTxResource
- type FluxMonitorSpec
- type JAID
- type JobError
- type JobResource
- type JobSpecType
- type KeeperSpec
- type LogResource
- type NewETHKeyOption
- type OffChainReportingSpec
- type P2PKeyResource
- type PipelineSpec
- type UserResource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BridgeResource ¶ added in v0.10.5
type BridgeResource struct {
JAID
Name string `json:"name"`
URL string `json:"url"`
Confirmations uint32 `json:"confirmations"`
// The IncomingToken is only provided when creating a Bridge
IncomingToken string `json:"incomingToken,omitempty"`
OutgoingToken string `json:"outgoingToken"`
MinimumContractPayment *assets.Link `json:"minimumContractPayment"`
CreatedAt time.Time `json:"createdAt"`
}
BridgeResource represents a Bridge JSONAPI resource.
func NewBridgeResource ¶ added in v0.10.5
func NewBridgeResource(b models.BridgeType) *BridgeResource
NewBridgeResource constructs a new BridgeResource
func (BridgeResource) GetName ¶ added in v0.10.5
func (r BridgeResource) GetName() string
GetName implements the api2go EntityNamer interface
type CronSpec ¶ added in v0.10.5
type CronSpec struct {
CronSchedule string `json:"schedule" tom:"schedule"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
CronSpec defines the spec details of a Cron Job
func NewCronSpec ¶ added in v0.10.5
NewCronSpec generates a new CronSpec from a job.CronSpec
type DirectRequestSpec ¶
type DirectRequestSpec struct {
ContractAddress models.EIP55Address `json:"contractAddress"`
OnChainJobSpecID string `json:"onChainJobSpecId"`
Initiator string `json:"initiator"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
DirectRequestSpec defines the spec details of a DirectRequest Job
func NewDirectRequestSpec ¶
func NewDirectRequestSpec(spec *job.DirectRequestSpec) *DirectRequestSpec
NewDirectRequestSpec initializes a new DirectRequestSpec from a job.DirectRequestSpec
type ETHKeyResource ¶ added in v0.10.5
type ETHKeyResource struct {
JAID
Address string `json:"address"`
EthBalance *assets.Eth `json:"ethBalance"`
LinkBalance *assets.Link `json:"linkBalance"`
NextNonce int64 `json:"nextNonce"`
LastUsed *time.Time `json:"lastUsed"`
IsFunding bool `json:"isFunding"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt gorm.DeletedAt `json:"deletedAt"`
}
ETHKeyResource represents a ETH key JSONAPI resource. It holds the hex representation of the address plus it's ETH & LINK balances
func NewETHKeyResource ¶ added in v0.10.5
func NewETHKeyResource(k models.Key, opts ...NewETHKeyOption) (*ETHKeyResource, error)
NewETHKeyResource constructs a new ETHKeyResource from a Key.
Use the functional options to inject the ETH and LINK balances
func (ETHKeyResource) GetName ¶ added in v0.10.5
func (r ETHKeyResource) GetName() string
GetName implements the api2go EntityNamer interface
This is named as such for backwards compatibility with the operator ui TODO - Standardise this to ethKeys
type EthTxResource ¶ added in v0.10.5
type EthTxResource struct {
JAID
State string `json:"state"`
Data hexutil.Bytes `json:"data"`
From *common.Address `json:"from"`
GasLimit string `json:"gasLimit"`
GasPrice string `json:"gasPrice"`
Hash common.Hash `json:"hash"`
Hex string `json:"rawHex"`
Nonce string `json:"nonce"`
SentAt string `json:"sentAt"`
To *common.Address `json:"to"`
Value string `json:"value"`
}
EthTxResource represents a Ethereum Transaction JSONAPI resource.
func NewEthTxResource ¶ added in v0.10.5
func NewEthTxResource(tx models.EthTx) EthTxResource
NewEthTxResource generates a EthTxResource from an Eth.Tx.
For backwards compatibility, there is no id set when initializing from an EthTx as the id being used was the EthTxAttempt Hash. This should really use it's proper id
func NewEthTxResourceFromAttempt ¶ added in v0.10.5
func NewEthTxResourceFromAttempt(txa models.EthTxAttempt) EthTxResource
func (EthTxResource) GetName ¶ added in v0.10.5
func (EthTxResource) GetName() string
GetName implements the api2go EntityNamer interface
type FluxMonitorSpec ¶
type FluxMonitorSpec struct {
ContractAddress models.EIP55Address `json:"contractAddress"`
Precision int32 `json:"precision"`
Threshold float32 `json:"threshold"`
AbsoluteThreshold float32 `json:"absoluteThreshold"`
PollTimerPeriod string `json:"pollTimerPeriod"`
PollTimerDisabled bool `json:"pollTimerDisabled"`
IdleTimerPeriod string `json:"idleTimerPeriod"`
IdleTimerDisabled bool `json:"idleTimerDisabled"`
MinPayment *assets.Link `json:"minPayment"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
FluxMonitorSpec defines the spec details of a FluxMonitor Job
func NewFluxMonitorSpec ¶
func NewFluxMonitorSpec(spec *job.FluxMonitorSpec) *FluxMonitorSpec
NewFluxMonitorSpec initializes a new DirectFluxMonitorSpec from a job.FluxMonitorSpec
type JAID ¶
type JAID struct {
ID string `json:"-"`
}
JAID represents a JSON API ID. It implements the api2go MarshalIdentifier and UnmarshalIdentitier interface.
func NewJAIDInt64 ¶ added in v0.10.5
NewJAIDInt64 converts an int64 into a JAID
type JobError ¶
type JobError struct {
ID int64 `json:"id"`
Description string `json:"description"`
Occurrences uint `json:"occurrences"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
JobError represents errors on the job
func NewJobError ¶
type JobResource ¶
type JobResource struct {
JAID
Name string `json:"name"`
Type JobSpecType `json:"type"`
SchemaVersion uint32 `json:"schemaVersion"`
MaxTaskDuration models.Interval `json:"maxTaskDuration"`
DirectRequestSpec *DirectRequestSpec `json:"directRequestSpec"`
FluxMonitorSpec *FluxMonitorSpec `json:"fluxMonitorSpec"`
OffChainReportingSpec *OffChainReportingSpec `json:"offChainReportingOracleSpec"`
KeeperSpec *KeeperSpec `json:"keeperSpec"`
CronSpec *CronSpec `json:"cronSpec"`
PipelineSpec PipelineSpec `json:"pipelineSpec"`
Errors []JobError `json:"errors"`
}
JobResource represents a JobResource
func NewJobResource ¶
func NewJobResource(j job.Job) *JobResource
NewJobResource initializes a new JSONAPI job resource
func NewJobResources ¶
func NewJobResources(js []job.Job) []JobResource
NewJobResources initializes a slice of JSONAPI job resources
func (JobResource) GetName ¶
func (r JobResource) GetName() string
GetName implements the api2go EntityNamer interface
type JobSpecType ¶
type JobSpecType string
JobSpecType defines the the the spec type of the job
const ( // DirectRequestJobSpec defines a Direct Request Job DirectRequestJobSpec JobSpecType = "directrequest" // FluxMonitorJobSpec defines a Flux Monitor Job FluxMonitorJobSpec JobSpecType = "fluxmonitor" // OffChainReportingJobSpec defines an OCR Job OffChainReportingJobSpec JobSpecType = "offchainreporting" // Keeper defines a Keeper Job KeeperJobSpec JobSpecType = "keeper" )
func (JobSpecType) String ¶
func (t JobSpecType) String() string
type KeeperSpec ¶
type KeeperSpec struct {
ContractAddress models.EIP55Address `json:"contractAddress"`
FromAddress models.EIP55Address `json:"fromAddress"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
KeeperSpec defines the spec details of a Keeper Job
func NewKeeperSpec ¶
func NewKeeperSpec(spec *job.KeeperSpec) *KeeperSpec
NewKeeperSpec generates a new KeeperSpec from a job.KeeperSpec
type LogResource ¶ added in v0.10.4
func (LogResource) GetName ¶ added in v0.10.4
func (r LogResource) GetName() string
GetName implements the api2go EntityNamer interface
type NewETHKeyOption ¶ added in v0.10.5
type NewETHKeyOption func(*ETHKeyResource) error
NewETHKeyOption defines a functional option which allows customisation of the EthKeyResource
func SetETHKeyEthBalance ¶ added in v0.10.5
func SetETHKeyEthBalance(ethBalance *assets.Eth) NewETHKeyOption
func SetETHKeyLinkBalance ¶ added in v0.10.5
func SetETHKeyLinkBalance(linkBalance *assets.Link) NewETHKeyOption
type OffChainReportingSpec ¶
type OffChainReportingSpec struct {
ContractAddress models.EIP55Address `json:"contractAddress"`
P2PPeerID *models.PeerID `json:"p2pPeerID"`
P2PBootstrapPeers pq.StringArray `json:"p2pBootstrapPeers"`
IsBootstrapPeer bool `json:"isBootstrapPeer"`
EncryptedOCRKeyBundleID *models.Sha256Hash `json:"keyBundleID"`
TransmitterAddress *models.EIP55Address `json:"transmitterAddress"`
ObservationTimeout models.Interval `json:"observationTimeout"`
BlockchainTimeout models.Interval `json:"blockchainTimeout"`
ContractConfigTrackerSubscribeInterval models.Interval `json:"contractConfigTrackerSubscribeInterval"`
ContractConfigTrackerPollInterval models.Interval `json:"contractConfigTrackerPollInterval"`
ContractConfigConfirmations uint16 `json:"contractConfigConfirmations"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
OffChainReportingSpec defines the spec details of a OffChainReporting Job
func NewOffChainReportingSpec ¶
func NewOffChainReportingSpec(spec *job.OffchainReportingOracleSpec) *OffChainReportingSpec
NewOffChainReportingSpec initializes a new OffChainReportingSpec from a job.OffchainReportingOracleSpec
type P2PKeyResource ¶ added in v0.10.5
type P2PKeyResource struct {
JAID
PeerID string `json:"peerId"`
PubKey string `json:"publicKey"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt *time.Time `json:"deletedAt"`
}
P2PKeyResource represents a P2P key JSONAPI resource.
func NewP2PKeyResource ¶ added in v0.10.5
func NewP2PKeyResource(key p2pkey.EncryptedP2PKey) *P2PKeyResource
func NewP2PKeyResources ¶ added in v0.10.5
func NewP2PKeyResources(keys []p2pkey.EncryptedP2PKey) []P2PKeyResource
func (P2PKeyResource) GetName ¶ added in v0.10.5
func (P2PKeyResource) GetName() string
GetName implements the api2go EntityNamer interface
type PipelineSpec ¶
PipelineSpec defines the spec details of the pipeline
func NewPipelineSpec ¶
func NewPipelineSpec(spec *pipeline.Spec) PipelineSpec
NewPipelineSpec generates a new PipelineSpec from a pipeline.Spec
type UserResource ¶ added in v0.10.5
type UserResource struct {
JAID
Email string `json:"email"`
CreatedAt time.Time `json:"createdAt"`
}
UserResource represents a User JSONAPI resource.
func NewUserResource ¶ added in v0.10.5
func NewUserResource(u models.User) *UserResource
NewUserResource constructs a new UserResource.
A User does not have an ID primary key, so we must use the email
func (UserResource) GetName ¶ added in v0.10.5
func (r UserResource) GetName() string
GetName implements the api2go EntityNamer interface