# README

Client

Contains code to interact with different blockchains, as well as chainlink nodes.

# Packages

Package chaos handles the setup necessary to run chaos tests across chainlnk nodes and blockchains.

# Functions

EthereumMultiNodeURLs returns the websocket URLs for a deployed Ethereum multi-node setup.
NewBasicHTTPClient returns new basic http client configured with an base URL.
NewChainlink creates a new chainlink model using a provided config.
NewChainlinkClients creates new chainlink clients.
NewChainlinkClientsByCharts creates new chainlink clients by charts.
NewEthereumClient returns an instantiated instance of the Ethereum client that has connected to the server.
NewEthereumMultiNodeClient returns an instantiated instance of all Ethereum client connected to all nodes.
NewEthereumWallet returns the instantiated ETH wallet based on a given private key.
NewExplorerClient creates a new explorer mock client.
NewGasStats creates new gas stats collector.
NewKafkaRestClient creates a new KafkaRestClient.
NewMockserverClient returns a mockserver client.
NewMockServerClientFromEnv creates new mockserver from env.
NewNetworkRegistry returns an instance of the network registry with the default supported networks registered.
NewPrometheusClient returns a prometheus client.
NewTransactionConfirmer returns a new instance of the transaction confirmer that waits for on-chain minimum confirmations.
ObservationSourceKeeperDefault is a basic keeper default that checks and performs upkeep of the contract address.
ObservationSourceSpecBridge creates a bridge task spec for json data.
ObservationSourceSpecHTTP creates a http GET task spec for json data.
UnmarshalNetworkConfig is a generic function to unmarshal a yaml map into a given object.

# Constants

ETH one eth in wei.
Commonly used blockchain network types.
GWei one giga-wei used for gas calculations.
Commonly used blockchain network types.
Query constants.
Query constants.

# Variables

ErrNotFound Error for not found.
ErrUnprocessableEntity Error for and unprocessable entity.
OneEth represents 1 Ethereum.
OneGWei represents 1 GWei.
OneLINK representation of a single LINK token.

# Structs

AdapterResponse represents a response from an adapter.
AdapterResult represents an int result for an adapter.
BasicHTTPClient handles basic http sending logic and cookie handling.
BridgeType is the model that represents the bridge when read or created on a Chainlink node.
BridgeTypeAttributes is the model that represents the bridge when read or created on a Chainlink node.
BridgeTypeData is the model that represents the bridge when read or created on a Chainlink node.
ChainlinkConfig represents the variables needed to connect to a Chainlink node.
ContractInfoJSON represents an element of the contracts array used to deliver configs to otpe.
CronJobSpec represents a cron job spec.
DecodeLogTaskRun is "ethabidecodelog" task run info, also used for "RequestID" tracing in perf tests.
DirectRequestJobSpec represents a direct request spec.
DirectRequestTxPipelineSpec oracle request with tx callback.
EIAttributes is the model that represents the EI keys when created and read.
EIKey is the model that represents the EI configs when read.
EIKeyCreate is the model that represents the EI config when created.
EIKeys is the model that represents the EI configs when read.
EIServiceConfig represents External Initiator service config.
EthereumClient wraps the client and the BlockChain network to interact with an EVM based Blockchain.
EthereumMultinodeClient wraps the client and the BlockChain network to interact with an EVM based Blockchain with multiple nodes.
EthereumWallet is the implementation to allow testing with ETH based wallets.
ETHKey is the model that represents the created ETH keys when read.
ETHKeyAttributes is the model that represents the created ETH keys when read.
ETHKeyData is the model that represents the created ETH keys when read.
ETHKeys is the model that represents the created ETH keys when read.
ExplorerClient is used to call Explorer API endpoints.
ExplorerConfig holds config information for ExplorerClient.
FluxMonitorJobSpec represents a flux monitor spec.
GasStats helper struct to determine gas metrics across all txs of a test.
HttpInitializer represents an element of the initializer array used in the mockserver initializer.
HttpRequest represents the httpRequest json object used in the mockserver initializer.
HttpResponse represents the httpResponse json object used in the mockserver initializer.
InstantConfirmations is a no-op confirmer as all transactions are instantly mined so no confirmations are needed.
Job contains the job data for a given job.
JobData contains the ID for a given job.
JobForm is the form used when creating a v2 job spec, containing the TOML of the v2 job.
JobRunsResponse job runs.
KafkaRestClient kafka-rest client.
KafkaRestConfig holds config information for KafkaRestClient.
KeeperV1JobSpec represents a V2 keeper spec.
KeeperV2JobSpec represents a V2 keeper spec.
MockserverClient mockserver client.
MockserverConfig holds config information for MockserverClient.
Name is the body of the request.
NetworkRegistry holds all the registered network types that can be initialized, allowing external libraries to register alternative network types to use.
Networks is a thin wrapper that just selects client connected to some network if there is only one client it is chosen as Default if there is multiple you just get clients you need in test.
NodeAccessKeys is the body of the response.
NodeBlock block with a node ID which mined it.
NodeInfoJSON represents an element of the nodes array used to deliver configs to otpe.
OCR2Key is the model that represents the created OCR2 keys when read.
OCR2KeyAttributes is the model that represents the created OCR2 keys when read.
OCR2KeyData is the model that represents the created OCR2 keys when read.
OCR2Keys is the model that represents the created OCR2 keys when read.
OCR2TaskJobSpec represents an OCR2 job that is given to other nodes, meant to communicate with the bootstrap node, and provide their answers.
OCRBootstrapJobSpec represents the spec for bootstrapping an OCR job, given to one node that then must be linked back to by others by OCRTaskJobSpecs.
OCRKey is the model that represents the created OCR keys when read.
OCRKeyAttributes is the model that represents the created OCR keys when read.
OCRKeyData is the model that represents the created OCR keys when read.
OCRKeys is the model that represents the created OCR keys when read.
OCRTaskJobSpec represents an OCR job that is given to other nodes, meant to communicate with the bootstrap node, and provide their answers.
P2PData holds the remote ip and the peer id and port.
P2PKey is the model that represents the created P2P keys when read.
P2PKeyAttributes is the model that represents the created P2P keys when read.
P2PKeyData is the model that represents the created P2P keys when read.
P2PKeys is the model that represents the created P2P keys when read.
PathSelector represents the json object used to find expectations by path.
PipelineSpec common API call pipeline.
Prometheus ease of use for v1.API.
ResourcesSummary Data for memory and cpu usage.
Response is the generic model that can be used for all Chainlink API responses.
ResponseSlice is the generic model that can be used for all Chainlink API responses that are an slice.
RunInputs run inputs (value).
RunsAttributesResponse runs attributes.
RunsMetaResponse runs meta.
RunsResponseData runs response data.
Session is the form structure used for authenticating.
Spec represents a job specification that contains information about the job spec.
SpecData contains the ID of the job spec.
SpecForm is the form used when creating a v2 job spec, containing the TOML of the v2 job.
TaskRun is pipeline task run info.
TransactionConfirmer is an implementation of HeaderEventSubscription that checks whether tx are confirmed.
TXGasData transaction gas data.
TxKey is the model that represents the created keys when read.
TxKeyAttributes is the model that represents the created keys when read.
TxKeyData is the model that represents the created keys when read.
TxKeys is the model that represents the created keys when read.
VRFJobSpec represents a VRF job.
VRFKey is the model that represents the created VRF key when read.
VRFKeyAttributes is the model that represents the created VRF key attributes when read.
VRFKeyData is the model that represents the created VRF key's data when read.
VRFKeys is the model that represents the created VRF keys when read.
VRFTxPipelineSpec VRF request with tx callback.
WebhookJobSpec reprsents a webhook job.

# Interfaces

BlockchainClient is the interface that wraps a given client implementation for a blockchain, to allow for switching of network types within the test suite BlockchainClient can be connected to a single or multiple nodes,.
Chainlink interface that enables interactions with a chainlink node.
HeaderEventSubscription is an interface for allowing callbacks when the client receives a new header.
JobSpec represents the different possible job types that chainlink nodes can handle.

# Type aliases

BlockchainClientURLFn are used to be able to return a list of URLs from the environment to connect.
ContractDeployer acts as a go-between function for general contract deployment.
NewBlockchainClientFn external client implementation function networkName must match a key in "networks" in networks.yaml config networkConfig is just an arbitrary config you provide in "networks" for your key.