Documentation ¶
Index ¶
- Constants
- Variables
- func TryIntoTendermintRPC(cl client.TendermintRPC) (tendermintRPC, error)
- type ConsumerStateQuery
- func (csq *ConsumerStateQuery) GetEffectivePolicy(ctx context.Context, consumerAddress, specID string) (*plantypes.Policy, error)
- func (csq *ConsumerStateQuery) GetMaxCUForUser(ctx context.Context, chainID string, epoch uint64) (maxCu uint64, err error)
- func (csq *ConsumerStateQuery) GetPairing(ctx context.Context, chainID string, latestBlock int64) (pairingList []epochstoragetypes.StakeEntry, epoch, nextBlockForUpdate uint64, ...)
- type DowntimeParamsStateQuery
- type DowntimeParamsUpdatable
- type DowntimeParamsUpdater
- func (dpu *DowntimeParamsUpdater) RegisterDowntimeParamsUpdatable(ctx context.Context, downtimeParamsUpdatable *DowntimeParamsUpdatable) error
- func (dpu *DowntimeParamsUpdater) Reset(latestBlock int64)
- func (dpu *DowntimeParamsUpdater) Update(latestBlock int64)
- func (dpu *DowntimeParamsUpdater) UpdaterKey() string
- type EpochStateQuery
- type EpochStateQueryInterface
- type EpochUpdatable
- type EpochUpdatableWithBlockDelay
- type EpochUpdater
- type EventTracker
- type FinalizationConsensusUpdater
- func (fcu *FinalizationConsensusUpdater) RegisterFinalizationConsensus(finalizationConsensus *lavaprotocol.FinalizationConsensus)
- func (fcu *FinalizationConsensusUpdater) Reset(latestBlock int64)
- func (fcu *FinalizationConsensusUpdater) Update(latestBlock int64)
- func (fcu *FinalizationConsensusUpdater) UpdaterKey() string
- type MetricsManagerInf
- type MetricsUpdater
- type PairingUpdatable
- type PairingUpdater
- func (pu *PairingUpdater) RegisterPairing(ctx context.Context, ...) error
- func (pu *PairingUpdater) RegisterPairingUpdatable(ctx context.Context, pairingUpdatable *PairingUpdatable) error
- func (pu *PairingUpdater) Reset(latestBlock int64)
- func (pu *PairingUpdater) Update(latestBlock int64)
- func (pu *PairingUpdater) UpdaterKey() string
- type PaymentUpdatable
- type PaymentUpdater
- type PolicyFetcher
- type PolicySetter
- type PolicyUpdater
- type ProtocolVersionResponse
- type ProviderStateQuery
- func (psq *ProviderStateQuery) EarliestBlockInMemory(ctx context.Context) (uint64, error)
- func (psq *ProviderStateQuery) GetEpochSize(ctx context.Context) (uint64, error)
- func (psq *ProviderStateQuery) GetEpochSizeMultipliedByRecommendedEpochNumToCollectPayment(ctx context.Context) (uint64, error)
- func (psq *ProviderStateQuery) GetMaxCuForUser(ctx context.Context, consumerAddress, chainID string, epoch uint64) (maxCu uint64, err error)
- func (psq *ProviderStateQuery) GetRecommendedEpochNumToCollectPayment(ctx context.Context) (uint64, error)
- func (psq *ProviderStateQuery) VerifyPairing(ctx context.Context, consumerAddress, providerAddress string, epoch uint64, ...) (valid bool, total int64, projectId string, err error)
- func (psq *ProviderStateQuery) VoteEvents(ctx context.Context, latestBlock int64) (votes []*reliabilitymanager.VoteParams, err error)
- type SpecGetter
- type SpecUpdatable
- type SpecUpdater
- func (su *SpecUpdater) RegisterSpecUpdatable(ctx context.Context, specUpdatable *SpecUpdatable, ...) error
- func (su *SpecUpdater) RegisterSpecVerifier(ctx context.Context, specVerifier *SpecVerifier, chainId string) error
- func (su *SpecUpdater) Reset(latestBlock int64)
- func (su *SpecUpdater) Update(latestBlock int64)
- func (su *SpecUpdater) UpdaterKey() string
- type SpecVerifier
- type StateQuery
- type VersionStateQuery
- type VersionUpdater
- type VersionValidationInf
- type VoteUpdatable
- type VoteUpdater
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 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 (*ConsumerStateQuery) GetMaxCUForUser ¶
func (*ConsumerStateQuery) GetPairing ¶
func (csq *ConsumerStateQuery) GetPairing(ctx context.Context, chainID string, latestBlock int64) (pairingList []epochstoragetypes.StakeEntry, epoch, nextBlockForUpdate uint64, errRet 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 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 ¶
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) *FinalizationConsensusUpdater
func (*FinalizationConsensusUpdater) RegisterFinalizationConsensus ¶
func (fcu *FinalizationConsensusUpdater) RegisterFinalizationConsensus(finalizationConsensus *lavaprotocol.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 PairingUpdatable ¶
type PairingUpdatable interface {
UpdateEpoch(epoch uint64)
}
type PairingUpdater ¶
type PairingUpdater struct {
// contains filtered or unexported fields
}
func NewPairingUpdater ¶
func NewPairingUpdater(stateQuery *ConsumerStateQuery) *PairingUpdater
func (*PairingUpdater) RegisterPairing ¶
func (pu *PairingUpdater) RegisterPairing(ctx context.Context, consumerSessionManager *lavasession.ConsumerSessionManager) 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 PolicySetter ¶
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 (*ProviderStateQuery) GetRecommendedEpochNumToCollectPayment ¶
func (psq *ProviderStateQuery) GetRecommendedEpochNumToCollectPayment(ctx context.Context) (uint64, error)
func (*ProviderStateQuery) VerifyPairing ¶
func (*ProviderStateQuery) VoteEvents ¶
func (psq *ProviderStateQuery) VoteEvents(ctx context.Context, latestBlock int64) (votes []*reliabilitymanager.VoteParams, err error)
type SpecGetter ¶
type SpecUpdatable ¶
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 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)
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
Click to show internal directories.
Click to hide internal directories.