Documentation
¶
Overview ¶
Package client enables interaction with APIs of test components like the mockserver and Chainlink nodes
Index ¶
- Constants
- Variables
- func ObservationSourceSpecBridge(bta BridgeTypeAttributes) string
- func ObservationSourceSpecHTTP(url string) string
- type AdapterResponse
- type AdapterResult
- type BasicHTTPClient
- type BlockhashStoreJobSpec
- type BridgeType
- type BridgeTypeAttributes
- type BridgeTypeData
- type CSAKey
- type CSAKeyAttributes
- type CSAKeyData
- type CSAKeys
- type Chainlink
- type ChainlinkConfig
- type ChainlinkProfileResult
- type ChainlinkProfileResults
- type ContractInfoJSON
- type CronJobSpec
- type DecodeLogTaskRun
- type DirectRequestJobSpec
- type DirectRequestTxPipelineSpec
- type EIAttributes
- type EIKey
- type EIKeyCreate
- type EIKeys
- type EIServiceConfig
- type ETHKey
- type ETHKeyAttributes
- type ETHKeyData
- type ETHKeys
- type ExplorerClient
- type ExplorerConfig
- type FluxMonitorJobSpec
- type HttpInitializer
- type HttpRequest
- type HttpResponse
- type Job
- type JobData
- type JobForm
- type JobRunsResponse
- type JobSpec
- type KafkaRestClient
- type KafkaRestConfig
- type KeeperJobSpec
- type MockserverClient
- type MockserverConfig
- type Name
- type NodeAccessKeys
- type NodeInfoJSON
- type OCR2Key
- type OCR2KeyAttributes
- type OCR2KeyData
- type OCR2Keys
- type OCR2TaskJobSpec
- type OCRBootstrapJobSpec
- type OCRKey
- type OCRKeyAttributes
- type OCRKeyData
- type OCRKeys
- type OCRTaskJobSpec
- type P2PData
- type P2PKey
- type P2PKeyAttributes
- type P2PKeyData
- type P2PKeys
- type PathSelector
- type PipelineSpec
- type PostgresConfig
- type PostgresConnector
- type Prometheus
- type ResourcesSummary
- type Response
- type ResponseSlice
- type RunInputs
- type RunsAttributesResponse
- type RunsMetaResponse
- type RunsResponseData
- type SendEtherRequest
- type Session
- type SingleTransactionDataWrapper
- type SolanaChain
- type SolanaChainAttributes
- type SolanaChainConfig
- type SolanaChainCreate
- type SolanaNode
- type SolanaNodeAttributes
- type SolanaNodeCreate
- type Spec
- type SpecData
- type SpecForm
- type TaskRun
- type TerraChain
- type TerraChainAttributes
- type TerraChainConfig
- type TerraChainCreate
- type TerraNode
- type TerraNodeAttributes
- type TerraNodeCreate
- type TransactionAttributes
- type TransactionData
- type TransactionsData
- type TransactionsMetaData
- type TxKey
- type TxKeyAttributes
- type TxKeyData
- type TxKeys
- type VRFExportKey
- type VRFJobSpec
- type VRFKey
- type VRFKeyAttributes
- type VRFKeyData
- type VRFKeys
- type VRFTxPipelineSpec
- type VRFV2JobSpec
- type VRFV2TxPipelineSpec
- type WebhookJobSpec
Constants ¶
const ( QueryMemoryUsage = `` /* 201-byte string literal not displayed */ QueryAllCPUBusyPercentage = `100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[%s])) * 100)` )
Query constants
Variables ¶
var ErrNotFound = errors.New("unexpected response code, got 404")
ErrNotFound Error for not found
var ErrUnprocessableEntity = errors.New("unexpected response code, got 422")
ErrUnprocessableEntity Error for and unprocessable entity
var OneLINK = big.NewFloat(1e18)
OneLINK representation of a single LINK token
Functions ¶
func ObservationSourceSpecBridge ¶
func ObservationSourceSpecBridge(bta BridgeTypeAttributes) string
ObservationSourceSpecBridge creates a bridge task spec for json data
func ObservationSourceSpecHTTP ¶
ObservationSourceSpecHTTP creates a http GET task spec for json data
Types ¶
type AdapterResponse ¶
type AdapterResponse struct {
Id string `json:"id"`
Data AdapterResult `json:"data"`
Error interface{} `json:"error"`
}
AdapterResponse represents a response from an adapter
type AdapterResult ¶
type AdapterResult struct {
Result int `json:"result"`
}
AdapterResult represents an int result for an adapter
type BasicHTTPClient ¶
type BasicHTTPClient struct {
BaseURL string
HttpClient *http.Client
Cookies []*http.Cookie
Header http.Header
}
BasicHTTPClient handles basic http sending logic and cookie handling
func NewBasicHTTPClient ¶
func NewBasicHTTPClient(c *http.Client, baseURL string) *BasicHTTPClient
NewBasicHTTPClient returns new basic http client configured with an base URL
type BlockhashStoreJobSpec ¶
type BlockhashStoreJobSpec struct {
Name string `toml:"name"`
CoordinatorV2Address string `toml:"coordinatorV2Address"` // Address of the VRF Coordinator contract
WaitBlocks int `toml:"waitBlocks"`
LookbackBlocks int `toml:"lookbackBlocks"`
BlockhashStoreAddress string `toml:"blockhashStoreAddress"`
PollPeriod string `toml:"pollPeriod"`
RunTimeout string `toml:"runTimeout"`
EVMChainID string `toml:"evmChainID"`
}
BlockhashStoreJobSpec represents a blockhashstore job
func (*BlockhashStoreJobSpec) String ¶
func (b *BlockhashStoreJobSpec) String() (string, error)
String representation of the job
func (*BlockhashStoreJobSpec) Type ¶
func (b *BlockhashStoreJobSpec) Type() string
Type returns the type of the job
type BridgeType ¶
type BridgeType struct {
Data BridgeTypeData `json:"data"`
}
BridgeType is the model that represents the bridge when read or created on a Chainlink node
type BridgeTypeAttributes ¶
type BridgeTypeAttributes struct {
Name string `json:"name"`
URL string `json:"url"`
RequestData string `json:"requestData,omitempty"`
}
BridgeTypeAttributes is the model that represents the bridge when read or created on a Chainlink node
type BridgeTypeData ¶
type BridgeTypeData struct {
Attributes BridgeTypeAttributes `json:"attributes"`
}
BridgeTypeData is the model that represents the bridge when read or created on a Chainlink node
type CSAKey ¶
type CSAKey struct {
Data CSAKeyData `json:"data"`
}
CSAKey is the model that represents the created CSA key when created
type CSAKeyAttributes ¶
CSAKeyAttributes is the model that represents the attributes of a CSA Key
type CSAKeyData ¶
type CSAKeyData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes CSAKeyAttributes `json:"attributes"`
}
CSAKeyData is the model that represents the created CSA key when read
type CSAKeys ¶
type CSAKeys struct {
Data []CSAKeyData `json:"data"`
}
CSAKeys is the model that represents the created CSA keys when read
type Chainlink ¶
type Chainlink interface {
URL() string
CreateJob(spec JobSpec) (*Job, error)
CreateJobRaw(spec string) (*Job, error)
ReadJobs() (*ResponseSlice, error)
ReadJob(id string) (*Response, error)
DeleteJob(id string) error
CreateSpec(spec string) (*Spec, error)
ReadSpec(id string) (*Response, error)
DeleteSpec(id string) error
CreateBridge(bta *BridgeTypeAttributes) error
ReadBridge(name string) (*BridgeType, error)
DeleteBridge(name string) error
ReadRunsByJob(jobID string) (*JobRunsResponse, error)
CreateOCRKey() (*OCRKey, error)
ReadOCRKeys() (*OCRKeys, error)
DeleteOCRKey(id string) error
CreateOCR2Key(chain string) (*OCR2Key, error)
ReadOCR2Keys() (*OCR2Keys, error)
DeleteOCR2Key(id string) error
CreateP2PKey() (*P2PKey, error)
ReadP2PKeys() (*P2PKeys, error)
DeleteP2PKey(id int) error
ReadETHKeys() (*ETHKeys, error)
ReadPrimaryETHKey() (*ETHKeyData, error)
PrimaryEthAddress() (string, error)
UpdateEthKeyMaxGasPriceGWei(keyId string, gwei int) (*ETHKey, error)
CreateTxKey(chain string) (*TxKey, error)
ReadTxKeys(chain string) (*TxKeys, error)
DeleteTxKey(chain, id string) error
ReadTransactionAttempts() (*TransactionsData, error)
ReadTransactions() (*TransactionsData, error)
SendNativeToken(amount *big.Int, fromAddress, toAddress string) (TransactionData, error)
CreateVRFKey() (*VRFKey, error)
ReadVRFKeys() (*VRFKeys, error)
ExportVRFKey(keyId string) (*VRFExportKey, error)
ImportVRFKey(vrfExportKey *VRFExportKey) (*VRFKey, error)
CreateCSAKey() (*CSAKey, error)
ReadCSAKeys() (*CSAKeys, error)
CreateEI(eia *EIAttributes) (*EIKeyCreate, error)
ReadEIs() (*EIKeys, error)
DeleteEI(name string) error
CreateTerraChain(node *TerraChainAttributes) (*TerraChainCreate, error)
CreateTerraNode(node *TerraNodeAttributes) (*TerraNodeCreate, error)
CreateSolanaChain(node *SolanaChainAttributes) (*SolanaChainCreate, error)
CreateSolanaNode(node *SolanaNodeAttributes) (*SolanaNodeCreate, error)
RemoteIP() string
SetSessionCookie() error
SetPageSize(size int)
Profile(profileTime time.Duration, profileFunction func(Chainlink)) (*ChainlinkProfileResults, error)
// SetClient is used for testing
SetClient(client *http.Client)
}
Chainlink interface that enables interactions with a chainlink node
func ConnectChainlinkNodes ¶
func ConnectChainlinkNodes(e *environment.Environment) ([]Chainlink, error)
ConnectChainlinkNodes creates new chainlink clients
func NewChainlink ¶
func NewChainlink(c *ChainlinkConfig, httpClient *http.Client) (Chainlink, error)
NewChainlink creates a new chainlink model using a provided config
type ChainlinkConfig ¶
ChainlinkConfig represents the variables needed to connect to a Chainlink node
type ChainlinkProfileResult ¶ added in v1.1.22
ChainlinkProfileResult contains the result of a single PPROF run
type ChainlinkProfileResults ¶ added in v1.1.22
type ChainlinkProfileResults struct {
Reports []*ChainlinkProfileResult
ScheduledProfileSeconds int // How long the profile was scheduled to last
ActualRunSeconds int // How long the target function to profile actually took to execute
NodeIndex int
}
ChainlinkProfileResults holds the results of asking the Chainlink node to run a PPROF session
func NewBlankChainlinkProfileResults ¶ added in v1.1.22
func NewBlankChainlinkProfileResults() *ChainlinkProfileResults
NewBlankChainlinkProfileResults returns all the standard types of profile results with blank data
type ContractInfoJSON ¶
type ContractInfoJSON struct {
ContractAddress string `json:"contractAddress"`
ContractVersion int `json:"contractVersion"`
Path string `json:"path"`
Status string `json:"status"`
}
ContractInfoJSON represents an element of the contracts array used to deliver configs to otpe
type CronJobSpec ¶
type CronJobSpec struct {
Schedule string `toml:"schedule"` // CRON job style schedule string
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
}
CronJobSpec represents a cron job spec
func (*CronJobSpec) String ¶
func (c *CronJobSpec) String() (string, error)
String representation of the job
type DecodeLogTaskRun ¶
type DecodeLogTaskRun struct {
Fee int `json:"fee"`
JobID []int `json:"jobID"`
KeyHash []int `json:"keyHash"`
RequestID []byte `json:"requestID"`
Sender string `json:"sender"`
}
DecodeLogTaskRun is "ethabidecodelog" task run info, also used for "RequestID" tracing in perf tests
type DirectRequestJobSpec ¶
type DirectRequestJobSpec struct {
Name string `toml:"name"`
ContractAddress string `toml:"contractAddress"`
ExternalJobID string `toml:"externalJobID"`
MinIncomingConfirmations string `toml:"minIncomingConfirmations"`
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
}
DirectRequestJobSpec represents a direct request spec
func (*DirectRequestJobSpec) String ¶
func (d *DirectRequestJobSpec) String() (string, error)
String representation of the pipeline
func (*DirectRequestJobSpec) Type ¶
func (d *DirectRequestJobSpec) Type() string
Type returns the type of the pipeline
type DirectRequestTxPipelineSpec ¶
type DirectRequestTxPipelineSpec struct {
BridgeTypeAttributes BridgeTypeAttributes
DataPath string
}
DirectRequestTxPipelineSpec oracle request with tx callback
func (*DirectRequestTxPipelineSpec) String ¶
func (d *DirectRequestTxPipelineSpec) String() (string, error)
String representation of the pipeline
func (*DirectRequestTxPipelineSpec) Type ¶
func (d *DirectRequestTxPipelineSpec) Type() string
Type returns the type of the pipeline
type EIAttributes ¶
type EIAttributes struct {
Name string `json:"name,omitempty"`
URL string `json:"url,omitempty"`
IncomingAccessKey string `json:"incomingAccessKey,omitempty"`
AccessKey string `json:"accessKey,omitempty"`
Secret string `json:"incomingSecret,omitempty"`
OutgoingToken string `json:"outgoingToken,omitempty"`
OutgoingSecret string `json:"outgoingSecret,omitempty"`
}
EIAttributes is the model that represents the EI keys when created and read
type EIKey ¶
type EIKey struct {
Attributes EIAttributes `json:"attributes"`
}
EIKey is the model that represents the EI configs when read
type EIKeyCreate ¶
type EIKeyCreate struct {
Data EIKey `json:"data"`
}
EIKeyCreate is the model that represents the EI config when created
type EIKeys ¶
type EIKeys struct {
Data []EIKey `json:"data"`
}
EIKeys is the model that represents the EI configs when read
type EIServiceConfig ¶
type EIServiceConfig struct {
URL string
}
EIServiceConfig represents External Initiator service config
type ETHKey ¶
type ETHKey struct {
Data ETHKeyData `json:"data"`
}
ETHKey is the model that represents the created ETH keys when read
type ETHKeyAttributes ¶
type ETHKeyAttributes struct {
Address string `json:"address"`
ETHBalance string `json:"ethBalance"`
ChainID string `json:"evmChainID"`
}
ETHKeyAttributes is the model that represents the created ETH keys when read
type ETHKeyData ¶
type ETHKeyData struct {
Attributes ETHKeyAttributes `json:"attributes"`
}
ETHKeyData is the model that represents the created ETH keys when read
type ETHKeys ¶
type ETHKeys struct {
Data []ETHKeyData `json:"data"`
}
ETHKeys is the model that represents the created ETH keys when read
type ExplorerClient ¶
type ExplorerClient struct {
*BasicHTTPClient
Config *ExplorerConfig
}
ExplorerClient is used to call Explorer API endpoints
func NewExplorerClient ¶
func NewExplorerClient(cfg *ExplorerConfig) *ExplorerClient
NewExplorerClient creates a new explorer mock client
func (*ExplorerClient) PostAdminNodes ¶
func (em *ExplorerClient) PostAdminNodes(nodeName string) (NodeAccessKeys, error)
PostAdminNodes is used to exercise the POST /api/v1/admin/nodes endpoint This endpoint is used to create access keys for nodes
type ExplorerConfig ¶
ExplorerConfig holds config information for ExplorerClient
type FluxMonitorJobSpec ¶
type FluxMonitorJobSpec struct {
Name string `toml:"name"`
ContractAddress string `toml:"contractAddress"` // Address of the Flux Monitor script
Precision int `toml:"precision"` // Optional
Threshold float32 `toml:"threshold"` // Optional
AbsoluteThreshold float32 `toml:"absoluteThreshold"` // Optional
IdleTimerPeriod time.Duration `toml:"idleTimerPeriod"` // Optional
IdleTimerDisabled bool `toml:"idleTimerDisabled"` // Optional
PollTimerPeriod time.Duration `toml:"pollTimerPeriod"` // Optional
PollTimerDisabled bool `toml:"pollTimerDisabled"` // Optional
MaxTaskDuration time.Duration `toml:"maxTaskDuration"` // Optional
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
}
FluxMonitorJobSpec represents a flux monitor spec
func (*FluxMonitorJobSpec) String ¶
func (f *FluxMonitorJobSpec) String() (string, error)
String representation of the job
func (*FluxMonitorJobSpec) Type ¶
func (f *FluxMonitorJobSpec) Type() string
Type returns the type of the job
type HttpInitializer ¶
type HttpInitializer struct {
Id string `json:"id"`
Request HttpRequest `json:"httpRequest"`
Response HttpResponse `json:"httpResponse"`
}
HttpInitializer represents an element of the initializer array used in the mockserver initializer
type HttpRequest ¶
type HttpRequest struct {
Path string `json:"path"`
}
HttpRequest represents the httpRequest json object used in the mockserver initializer
type HttpResponse ¶
type HttpResponse struct {
Body interface{} `json:"body"`
}
HttpResponse represents the httpResponse json object used in the mockserver initializer
type JobData ¶
type JobData struct {
ID string `json:"id"`
}
JobData contains the ID for a given job
type JobForm ¶
type JobForm struct {
TOML string `json:"toml"`
}
JobForm is the form used when creating a v2 job spec, containing the TOML of the v2 job
type JobRunsResponse ¶
type JobRunsResponse struct {
Data []RunsResponseData `json:"data"`
Meta RunsMetaResponse `json:"meta"`
}
JobRunsResponse job runs
type JobSpec ¶
type JobSpec interface {
Type() string
// String Returns TOML representation of the job
String() (string, error)
}
JobSpec represents the different possible job types that chainlink nodes can handle
type KafkaRestClient ¶
type KafkaRestClient struct {
*BasicHTTPClient
Config *KafkaRestConfig
}
KafkaRestClient kafka-rest client
func NewKafkaRestClient ¶
func NewKafkaRestClient(cfg *KafkaRestConfig) *KafkaRestClient
NewKafkaRestClient creates a new KafkaRestClient
func (*KafkaRestClient) GetTopics ¶
func (krc *KafkaRestClient) GetTopics() ([]string, error)
GetTopics Get a list of Kafka topics.
type KafkaRestConfig ¶
type KafkaRestConfig struct {
URL string
}
KafkaRestConfig holds config information for KafkaRestClient
type KeeperJobSpec ¶
type KeeperJobSpec struct {
Name string `toml:"name"`
ContractAddress string `toml:"contractAddress"`
FromAddress string `toml:"fromAddress"` // Hex representation of the from address
MinIncomingConfirmations int `toml:"minIncomingConfirmations"`
}
KeeperJobSpec represents a V2 keeper spec
func (*KeeperJobSpec) String ¶
func (k *KeeperJobSpec) String() (string, error)
String representation of the job
type MockserverClient ¶
type MockserverClient struct {
*BasicHTTPClient
Config *MockserverConfig
}
MockserverClient mockserver client
func ConnectMockServer ¶
func ConnectMockServer(e *environment.Environment) (*MockserverClient, error)
ConnectMockServer creates a connection to a deployed mockserver in the environment
func NewMockserverClient ¶
func NewMockserverClient(cfg *MockserverConfig) *MockserverClient
NewMockserverClient returns a mockserver client
func (*MockserverClient) ClearExpectation ¶
func (em *MockserverClient) ClearExpectation(body interface{}) error
ClearExpectation clears expectations
func (*MockserverClient) PutExpectations ¶
func (em *MockserverClient) PutExpectations(body interface{}) error
PutExpectations sets the expectations (i.e. mocked responses)
func (*MockserverClient) SetValuePath ¶
func (em *MockserverClient) SetValuePath(path string, v int) error
SetValuePath sets an int for a path
type MockserverConfig ¶
MockserverConfig holds config information for MockserverClient
type NodeAccessKeys ¶
type NodeAccessKeys struct {
ID string `mapstructure:"id" yaml:"id"`
AccessKey string `mapstructure:"accessKey" yaml:"accessKey"`
Secret string `mapstructure:"secret" yaml:"secret"`
}
NodeAccessKeys is the body of the response
type NodeInfoJSON ¶
NodeInfoJSON represents an element of the nodes array used to deliver configs to otpe
type OCR2Key ¶
type OCR2Key struct {
Data OCR2KeyData `json:"data"`
}
OCR2Key is the model that represents the created OCR2 keys when read
type OCR2KeyAttributes ¶
type OCR2KeyAttributes struct {
ChainType string `json:"chainType"`
ConfigPublicKey string `json:"configPublicKey"`
OffChainPublicKey string `json:"offchainPublicKey"`
OnChainPublicKey string `json:"onchainPublicKey"`
}
OCR2KeyAttributes is the model that represents the created OCR2 keys when read
type OCR2KeyData ¶
type OCR2KeyData struct {
Type string `json:"type"`
Attributes OCR2KeyAttributes `json:"attributes"`
ID string `json:"id"`
}
OCR2KeyData is the model that represents the created OCR2 keys when read
type OCR2Keys ¶
type OCR2Keys struct {
Data []OCR2KeyData `json:"data"`
}
OCR2Keys is the model that represents the created OCR2 keys when read
type OCR2TaskJobSpec ¶
type OCR2TaskJobSpec struct {
Name string `toml:"name"`
JobType string `toml:"type"`
ContractID string `toml:"contractID"` // Address of the OCR contract/account(s)
Relay string `toml:"relay"` // Name of blockchain relay to use
PluginType string `toml:"pluginType"` // Type of report plugin to use
RelayConfig map[string]string `toml:"relayConfig"` // Relay spec object in stringified form
P2PV2Bootstrappers []P2PData `toml:"p2pv2Bootstrappers"` // P2P ID of the bootstrap node
OCRKeyBundleID string `toml:"ocrKeyBundleID"` // ID of this node's OCR key bundle
MonitoringEndpoint string `toml:"monitoringEndpoint"` // Typically "chain.link:4321"
TransmitterID string `toml:"transmitterID"` // ID of address this node will use to transmit
BlockChainTimeout time.Duration `toml:"blockchainTimeout"` // Optional
TrackerSubscribeInterval time.Duration `toml:"contractConfigTrackerSubscribeInterval"` // Optional
TrackerPollInterval time.Duration `toml:"contractConfigTrackerPollInterval"` // Optional
ContractConfirmations int `toml:"contractConfigConfirmations"` // Optional
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
JuelsPerFeeCoinSource string `toml:"juelsPerFeeCoinSource"` // List of commands to fetch JuelsPerFeeCoin value (used to calculate ocr payments)
}
OCR2TaskJobSpec represents an OCR2 job that is given to other nodes, meant to communicate with the bootstrap node, and provide their answers
func (*OCR2TaskJobSpec) String ¶
func (o *OCR2TaskJobSpec) String() (string, error)
String representation of the job
func (*OCR2TaskJobSpec) Type ¶
func (o *OCR2TaskJobSpec) Type() string
Type returns the type of the job
type OCRBootstrapJobSpec ¶
type OCRBootstrapJobSpec struct {
Name string `toml:"name"`
BlockChainTimeout time.Duration `toml:"blockchainTimeout"` // Optional
ContractConfirmations int `toml:"contractConfigConfirmations"` // Optional
TrackerPollInterval time.Duration `toml:"contractConfigTrackerPollInterval"` // Optional
TrackerSubscribeInterval time.Duration `toml:"contractConfigTrackerSubscribeInterval"` // Optional
ContractAddress string `toml:"contractAddress"` // Address of the OCR contract
IsBootstrapPeer bool `toml:"isBootstrapPeer"` // Typically true
P2PPeerID string `toml:"p2pPeerID"` // This node's P2P ID
}
OCRBootstrapJobSpec represents the spec for bootstrapping an OCR job, given to one node that then must be linked back to by others by OCRTaskJobSpecs
func (*OCRBootstrapJobSpec) String ¶
func (o *OCRBootstrapJobSpec) String() (string, error)
String representation of the job
func (*OCRBootstrapJobSpec) Type ¶
func (o *OCRBootstrapJobSpec) Type() string
Type returns the type of the job
type OCRKey ¶
type OCRKey struct {
Data OCRKeyData `json:"data"`
}
OCRKey is the model that represents the created OCR keys when read
type OCRKeyAttributes ¶
type OCRKeyAttributes struct {
ConfigPublicKey string `json:"configPublicKey"`
OffChainPublicKey string `json:"offChainPublicKey"`
OnChainSigningAddress string `json:"onChainSigningAddress"`
}
OCRKeyAttributes is the model that represents the created OCR keys when read
type OCRKeyData ¶
type OCRKeyData struct {
Attributes OCRKeyAttributes `json:"attributes"`
ID string `json:"id"`
}
OCRKeyData is the model that represents the created OCR keys when read
type OCRKeys ¶
type OCRKeys struct {
Data []OCRKeyData `json:"data"`
}
OCRKeys is the model that represents the created OCR keys when read
type OCRTaskJobSpec ¶
type OCRTaskJobSpec struct {
Name string `toml:"name"`
BlockChainTimeout time.Duration `toml:"blockchainTimeout"` // Optional
ContractConfirmations int `toml:"contractConfigConfirmations"` // Optional
TrackerPollInterval time.Duration `toml:"contractConfigTrackerPollInterval"` // Optional
TrackerSubscribeInterval time.Duration `toml:"contractConfigTrackerSubscribeInterval"` // Optional
ContractAddress string `toml:"contractAddress"` // Address of the OCR contract
P2PBootstrapPeers []Chainlink `toml:"p2pBootstrapPeers"` // P2P ID of the bootstrap node
IsBootstrapPeer bool `toml:"isBootstrapPeer"` // Typically false
P2PPeerID string `toml:"p2pPeerID"` // This node's P2P ID
KeyBundleID string `toml:"keyBundleID"` // ID of this node's OCR key bundle
MonitoringEndpoint string `toml:"monitoringEndpoint"` // Typically "chain.link:4321"
TransmitterAddress string `toml:"transmitterAddress"` // ETH address this node will use to transmit its answer
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
}
OCRTaskJobSpec represents an OCR job that is given to other nodes, meant to communicate with the bootstrap node, and provide their answers
func (*OCRTaskJobSpec) String ¶
func (o *OCRTaskJobSpec) String() (string, error)
String representation of the job
func (*OCRTaskJobSpec) Type ¶
func (o *OCRTaskJobSpec) Type() string
Type returns the type of the job
type P2PKey ¶
type P2PKey struct {
Data P2PKeyData `json:"data"`
}
P2PKey is the model that represents the created P2P keys when read
type P2PKeyAttributes ¶
type P2PKeyAttributes struct {
ID int `json:"id"`
PeerID string `json:"peerId"`
PublicKey string `json:"publicKey"`
}
P2PKeyAttributes is the model that represents the created P2P keys when read
type P2PKeyData ¶
type P2PKeyData struct {
Attributes P2PKeyAttributes `json:"attributes"`
}
P2PKeyData is the model that represents the created P2P keys when read
type P2PKeys ¶
type P2PKeys struct {
Data []P2PKeyData `json:"data"`
}
P2PKeys is the model that represents the created P2P keys when read
type PathSelector ¶
type PathSelector struct {
Path string `json:"path"`
}
PathSelector represents the json object used to find expectations by path
type PipelineSpec ¶
type PipelineSpec struct {
BridgeTypeAttributes BridgeTypeAttributes
DataPath string
}
PipelineSpec common API call pipeline
func (*PipelineSpec) String ¶
func (d *PipelineSpec) String() (string, error)
String representation of the pipeline
type PostgresConfig ¶
PostgresConfig postgres config for connection string
type PostgresConnector ¶
type PostgresConnector struct {
*sqlx.DB
Cfg *PostgresConfig
}
PostgresConnector sqlx postgres connector
func ConnectChainlinkDBs ¶
func ConnectChainlinkDBs(e *environment.Environment) ([]*PostgresConnector, error)
ConnectChainlinkDBs creates new chainlink DBs clients
func NewPostgresConnector ¶
func NewPostgresConnector(cfg *PostgresConfig) (*PostgresConnector, error)
NewPostgresConnector creates new sqlx postgres connector
type Prometheus ¶
Prometheus ease of use for v1.API
func NewPrometheusClient ¶
func NewPrometheusClient(url string) (*Prometheus, error)
NewPrometheusClient returns a prometheus client
func (*Prometheus) CPUBusyPercentage ¶
func (p *Prometheus) CPUBusyPercentage() (float64, error)
CPUBusyPercentage host CPU busy percentage
func (*Prometheus) GetAlerts ¶
func (p *Prometheus) GetAlerts() (v1.AlertsResult, error)
GetAlerts returns all firing alerts
func (*Prometheus) GetQuery ¶
func (p *Prometheus) GetQuery(query string) (model.Value, error)
GetQuery returns the result of applying a PromQL query
func (*Prometheus) MemoryUsage ¶
func (p *Prometheus) MemoryUsage() (float64, error)
MemoryUsage total memory used by interval
func (*Prometheus) ResourcesSummary ¶
func (p *Prometheus) ResourcesSummary() (float64, float64, error)
ResourcesSummary returns a summary of memory and cpu used
type ResourcesSummary ¶
ResourcesSummary Data for memory and cpu usage
type Response ¶
type Response struct {
Data map[string]interface{}
}
Response is the generic model that can be used for all Chainlink API responses
type ResponseSlice ¶
type ResponseSlice struct {
Data []map[string]interface{}
}
ResponseSlice is the generic model that can be used for all Chainlink API responses that are an slice
type RunsAttributesResponse ¶
type RunsAttributesResponse struct {
Meta interface{} `json:"meta"`
Errors []interface{} `json:"errors"`
Inputs RunInputs `json:"inputs"`
TaskRuns []TaskRun `json:"taskRuns"`
CreatedAt time.Time `json:"createdAt"`
FinishedAt time.Time `json:"finishedAt"`
}
RunsAttributesResponse runs attributes
type RunsMetaResponse ¶
type RunsMetaResponse struct {
Count int `json:"count"`
}
RunsMetaResponse runs meta
type RunsResponseData ¶
type RunsResponseData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes RunsAttributesResponse `json:"attributes"`
}
RunsResponseData runs response data
type SendEtherRequest ¶
type SingleTransactionDataWrapper ¶
type SingleTransactionDataWrapper struct {
Data TransactionData `json:"data"`
}
type SolanaChain ¶
type SolanaChain struct {
Attributes SolanaChainAttributes `json:"attributes"`
}
SolanaChain is the model that represents the solana chain when read
type SolanaChainAttributes ¶
type SolanaChainAttributes struct {
ChainID string `json:"chainID"`
Config SolanaChainConfig `json:"config"`
}
SolanaChainAttributes is the model that represents the solana chain
type SolanaChainConfig ¶
type SolanaChainConfig struct {
BlockRate null.String
ConfirmPollPeriod null.String
OCR2CachePollPeriod null.String
OCR2CacheTTL null.String
TxTimeout null.String
SkipPreflight null.Bool
Commitment null.String
}
type SolanaChainCreate ¶
type SolanaChainCreate struct {
Data SolanaChain `json:"data"`
}
SolanaChainCreate is the model that represents the solana chain when created
type SolanaNode ¶
type SolanaNode struct {
Attributes SolanaNodeAttributes `json:"attributes"`
}
SolanaNode is the model that represents the solana node when read
type SolanaNodeAttributes ¶
type SolanaNodeAttributes struct {
Name string `json:"name"`
SolanaChainID string `json:"solanaChainId" db:"solana_chain_id"`
SolanaURL string `json:"solanaURL" db:"solana_url"`
}
SolanaNodeAttributes is the model that represents the solana noded
type SolanaNodeCreate ¶
type SolanaNodeCreate struct {
Data SolanaNode `json:"data"`
}
SolanaNodeCreate is the model that represents the solana node when created
type Spec ¶
type Spec struct {
Data SpecData `json:"data"`
}
Spec represents a job specification that contains information about the job spec
type SpecData ¶
type SpecData struct {
ID string `json:"id"`
}
SpecData contains the ID of the job spec
type SpecForm ¶
type SpecForm struct {
TOML string `json:"toml"`
}
SpecForm is the form used when creating a v2 job spec, containing the TOML of the v2 job
type TaskRun ¶
type TaskRun struct {
Type string `json:"type"`
CreatedAt time.Time `json:"createdAt"`
FinishedAt time.Time `json:"finishedAt"`
Output string `json:"output"`
Error interface{} `json:"error"`
DotID string `json:"dotId"`
}
TaskRun is pipeline task run info
type TerraChain ¶
type TerraChain struct {
Attributes TerraChainAttributes `json:"attributes"`
}
TerraChain is the model that represents the terra chain when read
type TerraChainAttributes ¶
type TerraChainAttributes struct {
ChainID string `json:"chainID"`
Config TerraChainConfig `json:"config"`
FCDURL string `json:"fcdURL" db:"fcd_url"`
}
TerraChainAttributes is the model that represents the terra chain
type TerraChainConfig ¶
type TerraChainConfig struct {
BlockRate null.String
BlocksUntilTxTimeout null.Int
ConfirmPollPeriod null.String
FallbackGasPriceULuna null.String
GasLimitMultiplier null.Float
MaxMsgsPerBatch null.Int
}
type TerraChainCreate ¶
type TerraChainCreate struct {
Data TerraChain `json:"data"`
}
TerraChainCreate is the model that represents the terra chain when created
type TerraNode ¶
type TerraNode struct {
Attributes TerraNodeAttributes `json:"attributes"`
}
TerraNode is the model that represents the terra node when read
type TerraNodeAttributes ¶
type TerraNodeAttributes struct {
Name string `json:"name"`
TerraChainID string `json:"terraChainId"`
TendermintURL string `json:"tendermintURL" db:"tendermint_url"`
}
TerraNodeAttributes is the model that represents the terra noded
type TerraNodeCreate ¶
type TerraNodeCreate struct {
Data TerraNode `json:"data"`
}
TerraNodeCreate is the model that represents the terra node when created
type TransactionAttributes ¶
type TransactionAttributes struct {
State string `json:"state"`
Data string `json:"data"`
From string `json:"from"`
To string `json:"to"`
Value string `json:"value"`
ChainID string `json:"evmChainID"`
GasLimit string `json:"gasLimit"`
GasPrice string `json:"gasPrice"`
Hash string `json:"hash"`
RawHex string `json:"rawHex"`
Nonce string `json:"nonce"`
SentAt string `json:"sentAt"`
}
type TransactionData ¶
type TransactionData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes TransactionAttributes `json:"attributes"`
}
type TransactionsData ¶
type TransactionsData struct {
Data []TransactionData `json:"data"`
Meta TransactionsMetaData `json:"meta"`
}
type TransactionsMetaData ¶
type TransactionsMetaData struct {
Count int `json:"count"`
}
type TxKey ¶
type TxKey struct {
Data TxKeyData `json:"data"`
}
TxKey is the model that represents the created keys when read
type TxKeyAttributes ¶
type TxKeyAttributes struct {
PublicKey string `json:"publicKey"`
}
TxKeyAttributes is the model that represents the created keys when read
type TxKeyData ¶
type TxKeyData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes TxKeyAttributes `json:"attributes"`
}
TxKeyData is the model that represents the created keys when read
type TxKeys ¶
type TxKeys struct {
Data []TxKeyData `json:"data"`
}
TxKeys is the model that represents the created keys when read
type VRFExportKey ¶ added in v1.1.22
type VRFExportKey struct {
PublicKey string `json:"PublicKey"`
VrfKey struct {
Address string `json:"address"`
Crypto struct {
Cipher string `json:"cipher"`
Ciphertext string `json:"ciphertext"`
Cipherparams struct {
Iv string `json:"iv"`
} `json:"cipherparams"`
Kdf string `json:"kdf"`
Kdfparams struct {
Dklen int `json:"dklen"`
N int `json:"n"`
P int `json:"p"`
R int `json:"r"`
Salt string `json:"salt"`
} `json:"kdfparams"`
Mac string `json:"mac"`
} `json:"crypto"`
Version int `json:"version"`
} `json:"vrf_key"`
}
VRFExportKey is the model that represents the exported VRF key
type VRFJobSpec ¶
type VRFJobSpec struct {
Name string `toml:"name"`
CoordinatorAddress string `toml:"coordinatorAddress"` // Address of the VRF Coordinator contract
PublicKey string `toml:"publicKey"` // Public key of the proving key
ExternalJobID string `toml:"externalJobID"`
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
MinIncomingConfirmations int `toml:"minIncomingConfirmations"`
}
VRFJobSpec represents a VRF job
func (*VRFJobSpec) String ¶
func (v *VRFJobSpec) String() (string, error)
String representation of the job
type VRFKey ¶
type VRFKey struct {
Data VRFKeyData `json:"data"`
}
VRFKey is the model that represents the created VRF key when read
type VRFKeyAttributes ¶
type VRFKeyAttributes struct {
Compressed string `json:"compressed"`
Uncompressed string `json:"uncompressed"`
Hash string `json:"hash"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt interface{} `json:"deletedAt"`
}
VRFKeyAttributes is the model that represents the created VRF key attributes when read
type VRFKeyData ¶
type VRFKeyData struct {
Type string `json:"type"`
ID string `json:"id"`
Attributes VRFKeyAttributes `json:"attributes"`
}
VRFKeyData is the model that represents the created VRF key's data when read
type VRFKeys ¶
type VRFKeys struct {
Data []VRFKey `json:"data"`
}
VRFKeys is the model that represents the created VRF keys when read
type VRFTxPipelineSpec ¶
type VRFTxPipelineSpec struct {
Address string
}
VRFTxPipelineSpec VRF request with tx callback
func (*VRFTxPipelineSpec) String ¶
func (d *VRFTxPipelineSpec) String() (string, error)
String representation of the pipeline
func (*VRFTxPipelineSpec) Type ¶
func (d *VRFTxPipelineSpec) Type() string
Type returns the type of the pipeline
type VRFV2JobSpec ¶
type VRFV2JobSpec struct {
Name string `toml:"name"`
CoordinatorAddress string `toml:"coordinatorAddress"` // Address of the VRF Coordinator contract
PublicKey string `toml:"publicKey"` // Public key of the proving key
ExternalJobID string `toml:"externalJobID"`
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
MinIncomingConfirmations int `toml:"minIncomingConfirmations"`
FromAddress string `toml:"fromAddress"`
EVMChainID string `toml:"evmChainID"`
BatchFulfillmentEnabled bool `toml:"batchFulfillmentEnabled"`
BackOffInitialDelay time.Duration `toml:"backOffInitialDelay"`
BackOffMaxDelay time.Duration `toml:"backOffMaxDelay"`
}
VRFV2JobSpec represents a VRFV2 job
func (*VRFV2JobSpec) String ¶
func (v *VRFV2JobSpec) String() (string, error)
String representation of the job
type VRFV2TxPipelineSpec ¶
type VRFV2TxPipelineSpec struct {
Address string
}
VRFV2TxPipelineSpec VRFv2 request with tx callback
func (*VRFV2TxPipelineSpec) String ¶
func (d *VRFV2TxPipelineSpec) String() (string, error)
String representation of the pipeline
func (*VRFV2TxPipelineSpec) Type ¶
func (d *VRFV2TxPipelineSpec) Type() string
Type returns the type of the pipeline
type WebhookJobSpec ¶
type WebhookJobSpec struct {
Name string `toml:"name"`
Initiator string `toml:"initiator"` // External initiator name
InitiatorSpec string `toml:"initiatorSpec"` // External initiator spec object in stringified form
ObservationSource string `toml:"observationSource"` // List of commands for the chainlink node
}
WebhookJobSpec reprsents a webhook job
func (*WebhookJobSpec) String ¶
func (w *WebhookJobSpec) String() (string, error)
String representation of the job
func (*WebhookJobSpec) Type ¶
func (w *WebhookJobSpec) Type() string
Type returns the type of the job