confighelper

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package confighelper provides helpers for converting between the gethwrappers/OCR2Aggregator.SetConfig event and types.ContractConfig

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ContractSetConfigArgsForEthereumIntegrationTest

func ContractSetConfigArgsForEthereumIntegrationTest(
	oracles []OracleIdentityExtra,
	f int,
	alphaPPB uint64,
) (
	signers []common.Address,
	transmitters []common.Address,
	f_ uint8,
	onchainConfig []byte,
	offchainConfigVersion uint64,
	offchainConfig []byte,
	err error,
)

ContractSetConfigArgsForIntegrationTest generates setConfig args for integration tests in core. Only use this for testing, *not* for production.

func ContractSetConfigArgsForTests

func ContractSetConfigArgsForTests(
	deltaProgress time.Duration,
	deltaResend time.Duration,
	deltaRound time.Duration,
	deltaGrace time.Duration,
	deltaStage time.Duration,
	rMax uint8,
	s []int,
	oracles []OracleIdentityExtra,
	reportingPluginConfig []byte,
	maxDurationQuery time.Duration,
	maxDurationObservation time.Duration,
	maxDurationReport time.Duration,
	maxDurationShouldAcceptFinalizedReport time.Duration,
	maxDurationShouldTransmitAcceptedReport time.Duration,

	f int,
	onchainConfig []byte,
) (
	signers []types.OnchainPublicKey,
	transmitters []types.Account,
	f_ uint8,
	onchainConfig_ []byte,
	offchainConfigVersion uint64,
	offchainConfig []byte,
	err error,
)

ContractSetConfigArgsForTests generates setConfig args from the relevant parameters. Only use this for testing, *not* for production.

func ContractSetConfigArgsForTestsMercuryV02

func ContractSetConfigArgsForTestsMercuryV02(
	deltaProgress time.Duration,
	deltaResend time.Duration,
	deltaRound time.Duration,
	deltaGrace time.Duration,
	deltaStage time.Duration,
	rMax uint8,
	s []int,
	oracles []OracleIdentityExtra,
	reportingPluginConfig []byte,
	maxDurationObservation time.Duration,
	f int,
	onchainConfig []byte,
) (
	signers []types.OnchainPublicKey,
	transmitters []types.Account,
	f_ uint8,
	onchainConfig_ []byte,
	offchainConfigVersion uint64,
	offchainConfig []byte,
	err error,
)

ContractSetConfigArgsForTestsWithAuxiliaryArgsMercuryV02 generates setConfig args for mercury v0.2. Only use this for testing, *not* for production.

func ContractSetConfigArgsForTestsWithAuxiliaryArgs

func ContractSetConfigArgsForTestsWithAuxiliaryArgs(
	deltaProgress time.Duration,
	deltaResend time.Duration,
	deltaRound time.Duration,
	deltaGrace time.Duration,
	deltaStage time.Duration,
	rMax uint8,
	s []int,
	oracles []OracleIdentityExtra,
	reportingPluginConfig []byte,
	maxDurationQuery time.Duration,
	maxDurationObservation time.Duration,
	maxDurationReport time.Duration,
	maxDurationShouldAcceptFinalizedReport time.Duration,
	maxDurationShouldTransmitAcceptedReport time.Duration,

	f int,
	onchainConfig []byte,
	auxiliaryArgs AuxiliaryArgs,
) (
	signers []types.OnchainPublicKey,
	transmitters []types.Account,
	f_ uint8,
	onchainConfig_ []byte,
	offchainConfigVersion uint64,
	offchainConfig []byte,
	err error,
)

ContractSetConfigArgsForTestsWithAuxiliaryArgs generates setConfig args from the relevant parameters. Only use this for testing, *not* for production.

Types

type AuxiliaryArgs

type AuxiliaryArgs struct {
	RNG io.Reader
}

AuxiliaryArgs provides keyword-style extra configuration for calls to ContractSetConfigArgsForTests

type OracleIdentity

type OracleIdentity struct {
	OffchainPublicKey types.OffchainPublicKey
	// For EVM-chains, this an *address*.
	OnchainPublicKey types.OnchainPublicKey
	PeerID           string
	TransmitAccount  types.Account
}

OracleIdentity is identical to the internal type in package config. We intentionally make a copy to make potential future internal modifications easier.

type OracleIdentityExtra

type OracleIdentityExtra struct {
	OracleIdentity
	ConfigEncryptionPublicKey types.ConfigEncryptionPublicKey
}

type PublicConfig

type PublicConfig struct {
	DeltaProgress    time.Duration
	DeltaResend      time.Duration
	DeltaRound       time.Duration
	DeltaGrace       time.Duration
	DeltaStage       time.Duration
	RMax             uint8
	S                []int
	OracleIdentities []OracleIdentity

	ReportingPluginConfig []byte

	MaxDurationQuery                        time.Duration
	MaxDurationObservation                  time.Duration
	MaxDurationReport                       time.Duration
	MaxDurationShouldAcceptFinalizedReport  time.Duration
	MaxDurationShouldTransmitAcceptedReport time.Duration

	F             int
	OnchainConfig []byte
	ConfigDigest  types.ConfigDigest
}

PublicConfig is identical to the internal type in package config. We intentionally make a copy to make potential future internal modifications easier.

func PublicConfigFromContractConfig

func PublicConfigFromContractConfig(skipResourceExhaustionChecks bool, change types.ContractConfig) (PublicConfig, error)

func (PublicConfig) N

func (pc PublicConfig) N() int

Jump to

Keyboard shortcuts

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