updaters

package
v2.5.3 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2024 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package updaters is a generated GoMock package.

Index

Constants

View Source
const (
	CacheMaxCost                = 10 * 1024 // 10K cost
	CacheNumCounters            = 100000    // expect 10K items
	DefaultTimeToLiveExpiration = 30 * time.Minute
	PairingRespKey              = "pairing-resp"
	VerifyPairingRespKey        = "verify-pairing-resp"
	MaxCuResponseKey            = "max-cu-resp"
	EffectivePolicyRespKey      = "effective-policy-resp"
)
View Source
const (
	BlockResultRetry = 20
)
View Source
const (
	CallbackKeyForDowntimeParamsUpdate = "downtime-params-update"
)
View Source
const (
	CallbackKeyForEpochUpdate = "epoch-update"
)
View Source
const (
	CallbackKeyForFinalizationConsensusUpdate = "finalization-consensus-update"
)
View Source
const (
	CallbackKeyForMetricUpdate = "metric-update"
)
View Source
const (
	CallbackKeyForPairingUpdate = "pairing-update"
)
View Source
const (
	CallbackKeyForPaymentUpdate = "payment-update"
)
View Source
const (
	CallbackKeyForPolicyUpdate = "policy-update"
)
View Source
const (
	CallbackKeyForSpecUpdate = "spec-update"
)
View Source
const (
	CallbackKeyForVersionUpdate = "version-update"
)
View Source
const (
	CallbackKeyForVoteUpdate = "vote-update"
)

Variables

View Source
var TimeOutForFetchingLavaBlocks = time.Second * 5

Functions

func TryIntoTendermintRPC

func TryIntoTendermintRPC(cl client.TendermintRPC) (tendermintRPC, error)

Types

type ConsumerSessionManagerInf added in v2.5.3

type ConsumerSessionManagerInf interface {
	RPCEndpoint() lavasession.RPCEndpoint
	UpdateAllProviders(epoch uint64, pairingList map[uint64]*lavasession.ConsumerSessionsWithProvider) error
}

type ConsumerStateQuery

type ConsumerStateQuery struct {
	StateQuery
	// contains filtered or unexported fields
}

func NewConsumerStateQuery

func NewConsumerStateQuery(ctx context.Context, clientCtx client.Context) *ConsumerStateQuery

func (*ConsumerStateQuery) GetEffectivePolicy

func (csq *ConsumerStateQuery) GetEffectivePolicy(ctx context.Context, consumerAddress, specID string) (*plantypes.Policy, error)

func (*ConsumerStateQuery) GetMaxCUForUser

func (csq *ConsumerStateQuery) GetMaxCUForUser(ctx context.Context, chainID string, epoch uint64) (maxCu uint64, err error)

func (*ConsumerStateQuery) GetPairing

func (csq *ConsumerStateQuery) GetPairing(ctx context.Context, chainID string, latestBlock int64) (pairingList []epochstoragetypes.StakeEntry, epoch, nextBlockForUpdate uint64, errRet error)

type ConsumerStateQueryInf added in v2.5.3

type ConsumerStateQueryInf interface {
	GetPairing(ctx context.Context, chainID string, blockHeight int64) ([]epochstoragetypes.StakeEntry, uint64, uint64, error)
	GetMaxCUForUser(ctx context.Context, chainID string, epoch uint64) (uint64, error)
}

type DowntimeParamsStateQuery

type DowntimeParamsStateQuery interface {
	GetDowntimeParams(ctx context.Context) (*downtimev1.Params, error)
}

type DowntimeParamsUpdatable

type DowntimeParamsUpdatable interface {
	SetDowntimeParams(downtimev1.Params)
}

type DowntimeParamsUpdater

type DowntimeParamsUpdater struct {
	// contains filtered or unexported fields
}

DowntimeParamsUpdater update downtime params for registered updatables after params change proposals

func NewDowntimeParamsUpdater

func NewDowntimeParamsUpdater(downtimeParamsStateQuery DowntimeParamsStateQuery, eventTracker *EventTracker) *DowntimeParamsUpdater

func (*DowntimeParamsUpdater) RegisterDowntimeParamsUpdatable

func (dpu *DowntimeParamsUpdater) RegisterDowntimeParamsUpdatable(ctx context.Context, downtimeParamsUpdatable *DowntimeParamsUpdatable) error

func (*DowntimeParamsUpdater) Reset

func (dpu *DowntimeParamsUpdater) Reset(latestBlock int64)

func (*DowntimeParamsUpdater) Update

func (dpu *DowntimeParamsUpdater) Update(latestBlock int64)

func (*DowntimeParamsUpdater) UpdaterKey

func (dpu *DowntimeParamsUpdater) UpdaterKey() string

type EpochStateQuery

type EpochStateQuery struct {
	StateQuery
}

func NewEpochStateQuery

func NewEpochStateQuery(stateQuery *StateQuery) *EpochStateQuery

func (*EpochStateQuery) CurrentEpochStart

func (esq *EpochStateQuery) CurrentEpochStart(ctx context.Context) (uint64, error)

type EpochStateQueryInterface

type EpochStateQueryInterface interface {
	CurrentEpochStart(ctx context.Context) (uint64, error)
}

type EpochUpdatable

type EpochUpdatable interface {
	UpdateEpoch(epoch uint64)
}

type EpochUpdatableWithBlockDelay

type EpochUpdatableWithBlockDelay struct {
	EpochUpdatable
	// contains filtered or unexported fields
}

func (*EpochUpdatableWithBlockDelay) UpdateOnBlock

func (euwbd *EpochUpdatableWithBlockDelay) UpdateOnBlock(currentEpoch uint64, latestBlock int64)

Add a method to EpochUpdatableWithBlockDelay to update based on block delay.

type EpochUpdater

type EpochUpdater struct {
	// contains filtered or unexported fields
}

func NewEpochUpdater

func NewEpochUpdater(stateQuery EpochStateQueryInterface) *EpochUpdater

func (*EpochUpdater) RegisterEpochUpdatable

func (eu *EpochUpdater) RegisterEpochUpdatable(ctx context.Context, epochUpdatable EpochUpdatable, blocksUpdateDelay int64)

func (*EpochUpdater) Reset

func (eu *EpochUpdater) Reset(latestBlock int64)

func (*EpochUpdater) Update

func (eu *EpochUpdater) Update(latestBlock int64)

func (*EpochUpdater) UpdaterKey

func (eu *EpochUpdater) UpdaterKey() string

type EventTracker

type EventTracker struct {
	ClientCtx client.Context
	// contains filtered or unexported fields
}

func (*EventTracker) UpdateBlockResults

func (et *EventTracker) UpdateBlockResults(latestBlock int64) (err error)

type FinalizationConsensusUpdater

type FinalizationConsensusUpdater struct {
	// contains filtered or unexported fields
}

func NewFinalizationConsensusUpdater

func NewFinalizationConsensusUpdater(stateQuery *ConsumerStateQuery, specId string) *FinalizationConsensusUpdater

func (*FinalizationConsensusUpdater) RegisterFinalizationConsensus

func (fcu *FinalizationConsensusUpdater) RegisterFinalizationConsensus(finalizationConsensus *finalizationconsensus.FinalizationConsensus)

func (*FinalizationConsensusUpdater) Reset

func (fcu *FinalizationConsensusUpdater) Reset(latestBlock int64)

func (*FinalizationConsensusUpdater) Update

func (fcu *FinalizationConsensusUpdater) Update(latestBlock int64)

func (*FinalizationConsensusUpdater) UpdaterKey

func (fcu *FinalizationConsensusUpdater) UpdaterKey() string

type MetricsManagerInf

type MetricsManagerInf interface {
	SetBlock(int64)
}

type MetricsUpdater

type MetricsUpdater struct {
	// contains filtered or unexported fields
}

func NewMetricsUpdater

func NewMetricsUpdater(consumerMetricsManager MetricsManagerInf) *MetricsUpdater

func (*MetricsUpdater) Reset

func (mu *MetricsUpdater) Reset(latestBlock int64)

func (*MetricsUpdater) Update

func (mu *MetricsUpdater) Update(latestBlock int64)

func (*MetricsUpdater) UpdaterKey

func (mu *MetricsUpdater) UpdaterKey() string

type MockConsumerSessionManagerInf added in v2.5.3

type MockConsumerSessionManagerInf struct {
	// contains filtered or unexported fields
}

MockConsumerSessionManagerInf is a mock of ConsumerSessionManagerInf interface.

func NewMockConsumerSessionManagerInf added in v2.5.3

func NewMockConsumerSessionManagerInf(ctrl *gomock.Controller) *MockConsumerSessionManagerInf

NewMockConsumerSessionManagerInf creates a new mock instance.

func (*MockConsumerSessionManagerInf) EXPECT added in v2.5.3

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockConsumerSessionManagerInf) RPCEndpoint added in v2.5.3

RPCEndpoint mocks base method.

func (*MockConsumerSessionManagerInf) UpdateAllProviders added in v2.5.3

func (m *MockConsumerSessionManagerInf) UpdateAllProviders(epoch uint64, pairingList map[uint64]*lavasession.ConsumerSessionsWithProvider) error

UpdateAllProviders mocks base method.

type MockConsumerSessionManagerInfMockRecorder added in v2.5.3

type MockConsumerSessionManagerInfMockRecorder struct {
	// contains filtered or unexported fields
}

MockConsumerSessionManagerInfMockRecorder is the mock recorder for MockConsumerSessionManagerInf.

func (*MockConsumerSessionManagerInfMockRecorder) RPCEndpoint added in v2.5.3

RPCEndpoint indicates an expected call of RPCEndpoint.

func (*MockConsumerSessionManagerInfMockRecorder) UpdateAllProviders added in v2.5.3

func (mr *MockConsumerSessionManagerInfMockRecorder) UpdateAllProviders(epoch, pairingList interface{}) *gomock.Call

UpdateAllProviders indicates an expected call of UpdateAllProviders.

type MockConsumerStateQueryInf added in v2.5.3

type MockConsumerStateQueryInf struct {
	// contains filtered or unexported fields
}

MockConsumerStateQueryInf is a mock of ConsumerStateQueryInf interface.

func NewMockConsumerStateQueryInf added in v2.5.3

func NewMockConsumerStateQueryInf(ctrl *gomock.Controller) *MockConsumerStateQueryInf

NewMockConsumerStateQueryInf creates a new mock instance.

func (*MockConsumerStateQueryInf) EXPECT added in v2.5.3

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockConsumerStateQueryInf) GetMaxCUForUser added in v2.5.3

func (m *MockConsumerStateQueryInf) GetMaxCUForUser(ctx context.Context, chainID string, epoch uint64) (uint64, error)

GetMaxCUForUser mocks base method.

func (*MockConsumerStateQueryInf) GetPairing added in v2.5.3

func (m *MockConsumerStateQueryInf) GetPairing(ctx context.Context, chainID string, blockHeight int64) ([]types.StakeEntry, uint64, uint64, error)

GetPairing mocks base method.

type MockConsumerStateQueryInfMockRecorder added in v2.5.3

type MockConsumerStateQueryInfMockRecorder struct {
	// contains filtered or unexported fields
}

MockConsumerStateQueryInfMockRecorder is the mock recorder for MockConsumerStateQueryInf.

func (*MockConsumerStateQueryInfMockRecorder) GetMaxCUForUser added in v2.5.3

func (mr *MockConsumerStateQueryInfMockRecorder) GetMaxCUForUser(ctx, chainID, epoch interface{}) *gomock.Call

GetMaxCUForUser indicates an expected call of GetMaxCUForUser.

func (*MockConsumerStateQueryInfMockRecorder) GetPairing added in v2.5.3

func (mr *MockConsumerStateQueryInfMockRecorder) GetPairing(ctx, chainID, blockHeight interface{}) *gomock.Call

GetPairing indicates an expected call of GetPairing.

type MockPairingUpdatable added in v2.5.3

type MockPairingUpdatable struct {
	// contains filtered or unexported fields
}

MockPairingUpdatable is a mock of PairingUpdatable interface.

func NewMockPairingUpdatable added in v2.5.3

func NewMockPairingUpdatable(ctrl *gomock.Controller) *MockPairingUpdatable

NewMockPairingUpdatable creates a new mock instance.

func (*MockPairingUpdatable) EXPECT added in v2.5.3

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockPairingUpdatable) UpdateEpoch added in v2.5.3

func (m *MockPairingUpdatable) UpdateEpoch(epoch uint64)

UpdateEpoch mocks base method.

type MockPairingUpdatableMockRecorder added in v2.5.3

type MockPairingUpdatableMockRecorder struct {
	// contains filtered or unexported fields
}

MockPairingUpdatableMockRecorder is the mock recorder for MockPairingUpdatable.

func (*MockPairingUpdatableMockRecorder) UpdateEpoch added in v2.5.3

func (mr *MockPairingUpdatableMockRecorder) UpdateEpoch(epoch interface{}) *gomock.Call

UpdateEpoch indicates an expected call of UpdateEpoch.

type PairingUpdatable

type PairingUpdatable interface {
	UpdateEpoch(epoch uint64)
}

type PairingUpdater

type PairingUpdater struct {
	// contains filtered or unexported fields
}

func NewPairingUpdater

func NewPairingUpdater(stateQuery ConsumerStateQueryInf, specId string) *PairingUpdater

func (*PairingUpdater) RegisterPairing

func (pu *PairingUpdater) RegisterPairing(ctx context.Context, consumerSessionManager ConsumerSessionManagerInf, staticProviders []*lavasession.RPCProviderEndpoint) error

func (*PairingUpdater) RegisterPairingUpdatable

func (pu *PairingUpdater) RegisterPairingUpdatable(ctx context.Context, pairingUpdatable *PairingUpdatable) error

func (*PairingUpdater) Reset

func (pu *PairingUpdater) Reset(latestBlock int64)

func (*PairingUpdater) Update

func (pu *PairingUpdater) Update(latestBlock int64)

func (*PairingUpdater) UpdaterKey

func (pu *PairingUpdater) UpdaterKey() string

type PaymentUpdatable

type PaymentUpdatable interface {
	PaymentHandler(*rewardserver.PaymentRequest)
	Description() string
}

type PaymentUpdater

type PaymentUpdater struct {
	// contains filtered or unexported fields
}

func NewPaymentUpdater

func NewPaymentUpdater(eventTracker *EventTracker) *PaymentUpdater

func (*PaymentUpdater) RegisterPaymentUpdatable

func (pu *PaymentUpdater) RegisterPaymentUpdatable(ctx context.Context, paymentUpdatable *PaymentUpdatable)

func (*PaymentUpdater) Reset

func (pu *PaymentUpdater) Reset(latestBlock int64)

func (*PaymentUpdater) Update

func (pu *PaymentUpdater) Update(latestBlock int64)

func (*PaymentUpdater) UpdaterKey

func (pu *PaymentUpdater) UpdaterKey() string

type PolicyFetcher

type PolicyFetcher interface {
	GetConsumerPolicy(ctx context.Context, consumerAddress, chainID string) (*plantypes.Policy, error)
}

type PolicySetter

type PolicySetter interface {
	SetPolicy(policy chainlib.PolicyInf, chainId string, apiInterface string) error
}

type PolicyUpdater

type PolicyUpdater struct {
	// contains filtered or unexported fields
}

func NewPolicyUpdater

func NewPolicyUpdater(chainId string, policyFetcher PolicyFetcher, consumerAddress string, policyUpdatable PolicySetter, endpoint lavasession.RPCEndpoint) *PolicyUpdater

func (*PolicyUpdater) AddPolicySetter

func (pu *PolicyUpdater) AddPolicySetter(policyUpdatable PolicySetter, endpoint lavasession.RPCEndpoint) error

func (*PolicyUpdater) UpdateEpoch

func (pu *PolicyUpdater) UpdateEpoch(epoch uint64)

func (*PolicyUpdater) UpdaterKey

func (pu *PolicyUpdater) UpdaterKey() string

type ProtocolVersionResponse

type ProtocolVersionResponse struct {
	Version     *protocoltypes.Version
	BlockNumber string
}

type ProviderStateQuery

type ProviderStateQuery struct {
	StateQuery
	EpochStateQuery
	// contains filtered or unexported fields
}

func NewProviderStateQuery

func NewProviderStateQuery(ctx context.Context, clientCtx client.Context) *ProviderStateQuery

func (*ProviderStateQuery) EarliestBlockInMemory

func (psq *ProviderStateQuery) EarliestBlockInMemory(ctx context.Context) (uint64, error)

func (*ProviderStateQuery) GetEpochSize

func (psq *ProviderStateQuery) GetEpochSize(ctx context.Context) (uint64, error)

func (*ProviderStateQuery) GetEpochSizeMultipliedByRecommendedEpochNumToCollectPayment

func (psq *ProviderStateQuery) GetEpochSizeMultipliedByRecommendedEpochNumToCollectPayment(ctx context.Context) (uint64, error)

func (*ProviderStateQuery) GetMaxCuForUser

func (psq *ProviderStateQuery) GetMaxCuForUser(ctx context.Context, consumerAddress, chainID string, epoch uint64) (maxCu uint64, err error)

func (*ProviderStateQuery) GetRecommendedEpochNumToCollectPayment

func (psq *ProviderStateQuery) GetRecommendedEpochNumToCollectPayment(ctx context.Context) (uint64, error)

func (*ProviderStateQuery) VerifyPairing

func (psq *ProviderStateQuery) VerifyPairing(ctx context.Context, consumerAddress, providerAddress string, epoch uint64, chainID string) (valid bool, total int64, projectId string, err error)

func (*ProviderStateQuery) VoteEvents

func (psq *ProviderStateQuery) VoteEvents(ctx context.Context, latestBlock int64) (votes []*reliabilitymanager.VoteParams, err error)

type SpecGetter

type SpecGetter interface {
	GetSpec(ctx context.Context, chainID string) (*spectypes.Spec, error)
}

type SpecUpdatable

type SpecUpdatable interface {
	SetSpec(spectypes.Spec)
	Active() bool
	GetUniqueName() string
}

type SpecUpdater

type SpecUpdater struct {
	// contains filtered or unexported fields
}

func NewSpecUpdater

func NewSpecUpdater(chainId string, specGetter SpecGetter, eventTracker *EventTracker) *SpecUpdater

func (*SpecUpdater) RegisterSpecUpdatable

func (su *SpecUpdater) RegisterSpecUpdatable(ctx context.Context, specUpdatable *SpecUpdatable, endpoint lavasession.RPCEndpoint) error

func (*SpecUpdater) RegisterSpecVerifier

func (su *SpecUpdater) RegisterSpecVerifier(ctx context.Context, specVerifier *SpecVerifier, chainId string) error

func (*SpecUpdater) Reset

func (su *SpecUpdater) Reset(latestBlock int64)

func (*SpecUpdater) Update

func (su *SpecUpdater) Update(latestBlock int64)

func (*SpecUpdater) UpdaterKey

func (su *SpecUpdater) UpdaterKey() string

type SpecVerifier

type SpecVerifier interface {
	VerifySpec(spectypes.Spec)
	GetUniqueName() string
}

type StateQuery

type StateQuery struct {
	SpecQueryClient         spectypes.QueryClient
	PairingQueryClient      pairingtypes.QueryClient
	EpochStorageQueryClient epochstoragetypes.QueryClient
	ProtocolClient          protocoltypes.QueryClient
	DowntimeClient          downtimev1.QueryClient
	ResponsesCache          *ristretto.Cache
}

func NewStateQuery

func NewStateQuery(ctx context.Context, clientCtx client.Context) *StateQuery

func (*StateQuery) GetDowntimeParams

func (csq *StateQuery) GetDowntimeParams(ctx context.Context) (*downtimev1.Params, error)

func (*StateQuery) GetProtocolVersion

func (csq *StateQuery) GetProtocolVersion(ctx context.Context) (*ProtocolVersionResponse, error)

func (*StateQuery) GetSpec

func (csq *StateQuery) GetSpec(ctx context.Context, chainID string) (*spectypes.Spec, error)

type VersionStateQuery

type VersionStateQuery interface {
	GetProtocolVersion(ctx context.Context) (*ProtocolVersionResponse, error)
}

type VersionUpdater

type VersionUpdater struct {
	Lock sync.RWMutex

	VersionStateQuery    VersionStateQuery
	LastKnownVersion     *ProtocolVersionResponse
	VersionValidationInf // embedding the interface, this tells: VersionUpdater has ValidateProtocolVersion method
	// contains filtered or unexported fields
}

func NewVersionUpdater

func NewVersionUpdater(versionStateQuery VersionStateQuery, eventTracker *EventTracker, version *protocoltypes.Version, versionValidator VersionValidationInf) *VersionUpdater

func (*VersionUpdater) RegisterVersionUpdatable

func (vu *VersionUpdater) RegisterVersionUpdatable()

func (*VersionUpdater) Reset

func (vu *VersionUpdater) Reset(latestBlock int64)

func (*VersionUpdater) Update

func (vu *VersionUpdater) Update(latestBlock int64)

func (*VersionUpdater) UpdaterKey

func (vu *VersionUpdater) UpdaterKey() string

type VersionValidationInf

type VersionValidationInf interface {
	ValidateProtocolVersion(lastKnownVersion *ProtocolVersionResponse) error
}

type VoteUpdatable

type VoteUpdatable interface {
	VoteHandler(*reliabilitymanager.VoteParams, uint64) error
}

type VoteUpdater

type VoteUpdater struct {
	// contains filtered or unexported fields
}

func NewVoteUpdater

func NewVoteUpdater(eventTracker *EventTracker) *VoteUpdater

func (*VoteUpdater) RegisterVoteUpdatable

func (vu *VoteUpdater) RegisterVoteUpdatable(ctx context.Context, voteUpdatable *VoteUpdatable, endpoint lavasession.RPCEndpoint)

func (*VoteUpdater) Reset

func (vu *VoteUpdater) Reset(latestBlock int64)

func (*VoteUpdater) Update

func (vu *VoteUpdater) Update(latestBlock int64)

func (*VoteUpdater) UpdaterKey

func (vu *VoteUpdater) UpdaterKey() string

Jump to

Keyboard shortcuts

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