config

package
v2.12.1-starknet-20240805 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2024 License: MIT Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AggregationMethod_name = map[int32]string{
		0: "AGGREGATION_MODE",
		1: "AGGREGATION_MEDIAN",
	}
	AggregationMethod_value = map[string]int32{
		"AGGREGATION_MODE":   0,
		"AGGREGATION_MEDIAN": 1,
	}
)

Enum value maps for AggregationMethod.

View Source
var File_core_services_ocr2_plugins_functions_config_config_types_proto protoreflect.FileDescriptor

Functions

func EncodeReportingPluginConfig

func EncodeReportingPluginConfig(rpConfig *ReportingPluginConfigWrapper) ([]byte, error)

func S4ConfigDecoder added in v2.4.0

func S4ConfigDecoder(config []byte) (*s4PluginConfig.PluginConfig, *types.ReportingPluginLimits, error)

func ValidatePluginConfig

func ValidatePluginConfig(config PluginConfig) error

Types

type AggregationMethod

type AggregationMethod int32
const (
	AggregationMethod_AGGREGATION_MODE   AggregationMethod = 0
	AggregationMethod_AGGREGATION_MEDIAN AggregationMethod = 1
)

func (AggregationMethod) Descriptor

func (AggregationMethod) Enum

func (AggregationMethod) EnumDescriptor deprecated

func (AggregationMethod) EnumDescriptor() ([]byte, []int)

Deprecated: Use AggregationMethod.Descriptor instead.

func (AggregationMethod) Number

func (AggregationMethod) String

func (x AggregationMethod) String() string

func (AggregationMethod) Type

type DecryptionQueueConfig added in v2.4.0

type DecryptionQueueConfig struct {
	MaxQueueLength           uint32 `json:"maxQueueLength"`
	MaxCiphertextBytes       uint32 `json:"maxCiphertextBytes"`
	MaxCiphertextIdLength    uint32 `json:"maxCiphertextIdLength"`
	CompletedCacheTimeoutSec uint32 `json:"completedCacheTimeoutSec"`
	DecryptRequestTimeoutSec uint32 `json:"decryptRequestTimeoutSec"`
}

type PluginConfig

type PluginConfig struct {
	EnableRequestSignatureCheck              bool                                      `json:"enableRequestSignatureCheck"`
	DONID                                    string                                    `json:"donID"`
	ContractVersion                          uint32                                    `json:"contractVersion"`
	MinRequestConfirmations                  uint32                                    `json:"minRequestConfirmations"`
	MinResponseConfirmations                 uint32                                    `json:"minResponseConfirmations"`
	MinIncomingConfirmations                 uint32                                    `json:"minIncomingConfirmations"`
	PastBlocksToPoll                         uint32                                    `json:"pastBlocksToPoll"`
	LogPollerCacheDurationSec                uint32                                    `json:"logPollerCacheDurationSec"` // Duration to cache previously detected request or response logs such that they can be filtered when calling logpoller_wrapper.LatestEvents()
	RequestTimeoutSec                        uint32                                    `json:"requestTimeoutSec"`
	RequestTimeoutCheckFrequencySec          uint32                                    `json:"requestTimeoutCheckFrequencySec"`
	RequestTimeoutBatchLookupSize            uint32                                    `json:"requestTimeoutBatchLookupSize"`
	PruneMaxStoredRequests                   uint32                                    `json:"pruneMaxStoredRequests"`
	PruneCheckFrequencySec                   uint32                                    `json:"pruneCheckFrequencySec"`
	PruneBatchSize                           uint32                                    `json:"pruneBatchSize"`
	ListenerEventHandlerTimeoutSec           uint32                                    `json:"listenerEventHandlerTimeoutSec"`
	ListenerEventsCheckFrequencyMillis       uint32                                    `json:"listenerEventsCheckFrequencyMillis"`
	ContractUpdateCheckFrequencySec          uint32                                    `json:"contractUpdateCheckFrequencySec"`
	MaxRequestSizeBytes                      uint32                                    `json:"maxRequestSizeBytes"`
	MaxRequestSizesList                      []uint32                                  `json:"maxRequestSizesList"`
	MaxSecretsSizesList                      []uint32                                  `json:"maxSecretsSizesList"`
	MinimumSubscriptionBalance               assets.Link                               `json:"minimumSubscriptionBalance"`
	AllowedHeartbeatInitiators               []string                                  `json:"allowedHeartbeatInitiators"`
	GatewayConnectorConfig                   *connector.ConnectorConfig                `json:"gatewayConnectorConfig"`
	OnchainAllowlist                         *allowlist.OnchainAllowlistConfig         `json:"onchainAllowlist"`
	OnchainSubscriptions                     *subscriptions.OnchainSubscriptionsConfig `json:"onchainSubscriptions"`
	RateLimiter                              *common.RateLimiterConfig                 `json:"rateLimiter"`
	S4Constraints                            *s4.Constraints                           `json:"s4Constraints"`
	DecryptionQueueConfig                    *DecryptionQueueConfig                    `json:"decryptionQueueConfig"`
	ExternalAdapterMaxRetries                *uint32                                   `json:"externalAdapterMaxRetries"`
	ExternalAdapterExponentialBackoffBaseSec *uint32                                   `json:"externalAdapterExponentialBackoffBaseSec"`
}

This config is part of the job spec and is loaded only once on node boot/job creation.

type ReportingPluginConfig

type ReportingPluginConfig struct {
	MaxQueryLengthBytes       uint32                          `protobuf:"varint,1,opt,name=maxQueryLengthBytes,proto3" json:"maxQueryLengthBytes,omitempty"`
	MaxObservationLengthBytes uint32                          `protobuf:"varint,2,opt,name=maxObservationLengthBytes,proto3" json:"maxObservationLengthBytes,omitempty"`
	MaxReportLengthBytes      uint32                          `protobuf:"varint,3,opt,name=maxReportLengthBytes,proto3" json:"maxReportLengthBytes,omitempty"`
	MaxRequestBatchSize       uint32                          `protobuf:"varint,4,opt,name=maxRequestBatchSize,proto3" json:"maxRequestBatchSize,omitempty"`
	DefaultAggregationMethod  AggregationMethod               `` /* 148-byte string literal not displayed */
	UniqueReports             bool                            `protobuf:"varint,6,opt,name=uniqueReports,proto3" json:"uniqueReports,omitempty"`
	ThresholdPluginConfig     *ThresholdReportingPluginConfig `protobuf:"bytes,7,opt,name=thresholdPluginConfig,proto3" json:"thresholdPluginConfig,omitempty"`
	S4PluginConfig            *S4ReportingPluginConfig        `protobuf:"bytes,8,opt,name=s4PluginConfig,proto3" json:"s4PluginConfig,omitempty"`
	// Needs to be set in tandem with gas estimator (e.g. [EVM.GasEstimator.LimitJobType] OCR = <limit>)
	// otherwise the report won't go through TX Manager or fail later.
	MaxReportTotalCallbackGas uint32 `protobuf:"varint,9,opt,name=maxReportTotalCallbackGas,proto3" json:"maxReportTotalCallbackGas,omitempty"`
	// contains filtered or unexported fields
}

func (*ReportingPluginConfig) Descriptor deprecated

func (*ReportingPluginConfig) Descriptor() ([]byte, []int)

Deprecated: Use ReportingPluginConfig.ProtoReflect.Descriptor instead.

func (*ReportingPluginConfig) GetDefaultAggregationMethod

func (x *ReportingPluginConfig) GetDefaultAggregationMethod() AggregationMethod

func (*ReportingPluginConfig) GetMaxObservationLengthBytes

func (x *ReportingPluginConfig) GetMaxObservationLengthBytes() uint32

func (*ReportingPluginConfig) GetMaxQueryLengthBytes

func (x *ReportingPluginConfig) GetMaxQueryLengthBytes() uint32

func (*ReportingPluginConfig) GetMaxReportLengthBytes

func (x *ReportingPluginConfig) GetMaxReportLengthBytes() uint32

func (*ReportingPluginConfig) GetMaxReportTotalCallbackGas added in v2.4.0

func (x *ReportingPluginConfig) GetMaxReportTotalCallbackGas() uint32

func (*ReportingPluginConfig) GetMaxRequestBatchSize

func (x *ReportingPluginConfig) GetMaxRequestBatchSize() uint32

func (*ReportingPluginConfig) GetS4PluginConfig added in v2.3.0

func (x *ReportingPluginConfig) GetS4PluginConfig() *S4ReportingPluginConfig

func (*ReportingPluginConfig) GetThresholdPluginConfig added in v2.3.0

func (x *ReportingPluginConfig) GetThresholdPluginConfig() *ThresholdReportingPluginConfig

func (*ReportingPluginConfig) GetUniqueReports

func (x *ReportingPluginConfig) GetUniqueReports() bool

func (*ReportingPluginConfig) ProtoMessage

func (*ReportingPluginConfig) ProtoMessage()

func (*ReportingPluginConfig) ProtoReflect

func (x *ReportingPluginConfig) ProtoReflect() protoreflect.Message

func (*ReportingPluginConfig) Reset

func (x *ReportingPluginConfig) Reset()

func (*ReportingPluginConfig) String

func (x *ReportingPluginConfig) String() string

type ReportingPluginConfigWrapper

type ReportingPluginConfigWrapper struct {
	Config *ReportingPluginConfig
}

This config is stored in the Oracle contract (set via SetConfig()). Every SetConfig() call reloads the reporting plugin (FunctionsReportingPluginFactory.NewReportingPlugin())

func DecodeReportingPluginConfig

func DecodeReportingPluginConfig(raw []byte) (*ReportingPluginConfigWrapper, error)

type S4ReportingPluginConfig added in v2.3.0

type S4ReportingPluginConfig struct {
	MaxQueryLengthBytes       uint32 `protobuf:"varint,1,opt,name=max_query_length_bytes,json=maxQueryLengthBytes,proto3" json:"max_query_length_bytes,omitempty"`
	MaxObservationLengthBytes uint32 `` /* 141-byte string literal not displayed */
	MaxReportLengthBytes      uint32 `` /* 126-byte string literal not displayed */
	NSnapshotShards           uint32 `protobuf:"varint,4,opt,name=n_snapshot_shards,json=nSnapshotShards,proto3" json:"n_snapshot_shards,omitempty"`
	MaxObservationEntries     uint32 `` /* 127-byte string literal not displayed */
	MaxReportEntries          uint32 `protobuf:"varint,6,opt,name=max_report_entries,json=maxReportEntries,proto3" json:"max_report_entries,omitempty"`
	MaxDeleteExpiredEntries   uint32 `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*S4ReportingPluginConfig) Descriptor deprecated added in v2.3.0

func (*S4ReportingPluginConfig) Descriptor() ([]byte, []int)

Deprecated: Use S4ReportingPluginConfig.ProtoReflect.Descriptor instead.

func (*S4ReportingPluginConfig) GetMaxDeleteExpiredEntries added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxDeleteExpiredEntries() uint32

func (*S4ReportingPluginConfig) GetMaxObservationEntries added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxObservationEntries() uint32

func (*S4ReportingPluginConfig) GetMaxObservationLengthBytes added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxObservationLengthBytes() uint32

func (*S4ReportingPluginConfig) GetMaxQueryLengthBytes added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxQueryLengthBytes() uint32

func (*S4ReportingPluginConfig) GetMaxReportEntries added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxReportEntries() uint32

func (*S4ReportingPluginConfig) GetMaxReportLengthBytes added in v2.3.0

func (x *S4ReportingPluginConfig) GetMaxReportLengthBytes() uint32

func (*S4ReportingPluginConfig) GetNSnapshotShards added in v2.3.0

func (x *S4ReportingPluginConfig) GetNSnapshotShards() uint32

func (*S4ReportingPluginConfig) ProtoMessage added in v2.3.0

func (*S4ReportingPluginConfig) ProtoMessage()

func (*S4ReportingPluginConfig) ProtoReflect added in v2.3.0

func (x *S4ReportingPluginConfig) ProtoReflect() protoreflect.Message

func (*S4ReportingPluginConfig) Reset added in v2.3.0

func (x *S4ReportingPluginConfig) Reset()

func (*S4ReportingPluginConfig) String added in v2.3.0

func (x *S4ReportingPluginConfig) String() string

type ThresholdConfigParser added in v2.4.0

type ThresholdConfigParser struct{}

func (ThresholdConfigParser) ParseConfig added in v2.4.0

type ThresholdReportingPluginConfig added in v2.3.0

type ThresholdReportingPluginConfig struct {
	MaxQueryLengthBytes       uint32 `protobuf:"varint,1,opt,name=max_query_length_bytes,json=maxQueryLengthBytes,proto3" json:"max_query_length_bytes,omitempty"`
	MaxObservationLengthBytes uint32 `` /* 141-byte string literal not displayed */
	MaxReportLengthBytes      uint32 `` /* 126-byte string literal not displayed */
	RequestCountLimit         uint32 `protobuf:"varint,4,opt,name=request_count_limit,json=requestCountLimit,proto3" json:"request_count_limit,omitempty"`
	RequestTotalBytesLimit    uint32 ``                                                         /* 132-byte string literal not displayed */
	RequireLocalRequestCheck  bool   ``                                                         /* 138-byte string literal not displayed */
	K                         uint32 `protobuf:"varint,7,opt,name=k,proto3" json:"k,omitempty"` // Number of decryption shares required for assembling plaintext.
	// contains filtered or unexported fields
}

Has to match the corresponding proto in tdh2.

func (*ThresholdReportingPluginConfig) Descriptor deprecated added in v2.3.0

func (*ThresholdReportingPluginConfig) Descriptor() ([]byte, []int)

Deprecated: Use ThresholdReportingPluginConfig.ProtoReflect.Descriptor instead.

func (*ThresholdReportingPluginConfig) GetK added in v2.5.0

func (*ThresholdReportingPluginConfig) GetMaxObservationLengthBytes added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetMaxObservationLengthBytes() uint32

func (*ThresholdReportingPluginConfig) GetMaxQueryLengthBytes added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetMaxQueryLengthBytes() uint32

func (*ThresholdReportingPluginConfig) GetMaxReportLengthBytes added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetMaxReportLengthBytes() uint32

func (*ThresholdReportingPluginConfig) GetRequestCountLimit added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetRequestCountLimit() uint32

func (*ThresholdReportingPluginConfig) GetRequestTotalBytesLimit added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetRequestTotalBytesLimit() uint32

func (*ThresholdReportingPluginConfig) GetRequireLocalRequestCheck added in v2.3.0

func (x *ThresholdReportingPluginConfig) GetRequireLocalRequestCheck() bool

func (*ThresholdReportingPluginConfig) ProtoMessage added in v2.3.0

func (*ThresholdReportingPluginConfig) ProtoMessage()

func (*ThresholdReportingPluginConfig) ProtoReflect added in v2.3.0

func (*ThresholdReportingPluginConfig) Reset added in v2.3.0

func (x *ThresholdReportingPluginConfig) Reset()

func (*ThresholdReportingPluginConfig) String added in v2.3.0

Jump to

Keyboard shortcuts

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