keeper

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2020 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RollingSeedSizeInBytes = 32
)

Variables

This section is empty.

Functions

func ContainsEID

func ContainsEID(rawRequests []types.RawRequest, target types.ExternalID) bool

ContainsEID returns whether the given slice of raw requests contains the target id.

func ContainsVal

func ContainsVal(vals []sdk.ValAddress, target sdk.ValAddress) bool

ContainsVal returns whether the given slice of validators contains the target validator.

func NewQuerier

func NewQuerier(keeper Keeper) sdk.Querier

NewQuerier is the module level router for state queries.

func ParamKeyTable

func ParamKeyTable() params.KeyTable

ParamKeyTable returns the parameter key table for oracle module.

Types

type Keeper

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

func NewKeeper

func NewKeeper(
	cdc *codec.Codec, key sdk.StoreKey, fileDir string, feeCollectorName string,
	paramSpace params.Subspace, supplyKeeper types.SupplyKeeper,
	stakingKeeper types.StakingKeeper, distrKeeper types.DistrKeeper,
) Keeper

NewKeeper creates a new oracle Keeper instance.

func (Keeper) Activate

func (k Keeper) Activate(ctx sdk.Context, val sdk.ValAddress) error

Activate changes the given validator's status to active. Returns error if the validator is already active or was deactivated recently, as specified by InactivePenaltyDuration parameter.

func (Keeper) AddDataSource

func (k Keeper) AddDataSource(ctx sdk.Context, dataSource types.DataSource) types.DataSourceID

AddDataSource adds the given data source to the storage.

func (Keeper) AddExecutableFile

func (k Keeper) AddExecutableFile(file []byte) string

AddExecutableFile saves the given executable file to a file to filecahe storage and returns its sha256sum reference name. Returns do-not-modify symbol if the input is do-not-modify.

func (Keeper) AddOracleScript

func (k Keeper) AddOracleScript(ctx sdk.Context, oracleScript types.OracleScript) types.OracleScriptID

AddOracleScript adds the given oracle script to the storage.

func (Keeper) AddOracleScriptFile

func (k Keeper) AddOracleScriptFile(file []byte) (string, error)

AddOracleScriptFile compiles Wasm code (see go-owasm), adds the compiled file to filecache, and returns its sha256 reference name. Returns do-not-modify symbol if input is do-not-modify.

func (Keeper) AddPendingRequest

func (k Keeper) AddPendingRequest(ctx sdk.Context, id types.RequestID)

AddPendingRequest adds the request to the pending list. DO NOT add same request more than once.

func (Keeper) AddReport

func (k Keeper) AddReport(ctx sdk.Context, rid types.RequestID, rep types.Report) error

AddReports performs sanity checks and adds a new batch from one validator to one request to the store. Note that we expect each validator to report to all raw data requests at once.

func (Keeper) AddReporter

func (k Keeper) AddReporter(ctx sdk.Context, val sdk.ValAddress, addr sdk.AccAddress) error

AddReporter adds the reporter address to the list of reporters of the given validator.

func (Keeper) AddRequest

func (k Keeper) AddRequest(ctx sdk.Context, req types.Request) types.RequestID

AddRequest attempts to create and save a new request.

func (Keeper) AllocateTokens

func (k Keeper) AllocateTokens(ctx sdk.Context, previousVotes []abci.VoteInfo)

AllocateTokens allocates a portion of fee collected in the previous blocks to validators that that are actively performing oracle tasks. Note that this reward is also subjected to comm tax.

func (Keeper) DeleteReports

func (k Keeper) DeleteReports(ctx sdk.Context, rid types.RequestID)

DeleteReports removes all reports for the given request ID.

func (Keeper) DeleteRequest

func (k Keeper) DeleteRequest(ctx sdk.Context, id types.RequestID)

DeleteRequest removes the given data request from the store.

func (Keeper) GetAllDataSources

func (k Keeper) GetAllDataSources(ctx sdk.Context) (dataSources []types.DataSource)

GetAllDataSources returns the list of all data sources in the store, or nil if there is none.

func (Keeper) GetAllOracleScripts

func (k Keeper) GetAllOracleScripts(ctx sdk.Context) (oracleScripts []types.OracleScript)

GetAllOracleScripts returns the list of all oracle scripts in the store, or nil if there is none.

func (Keeper) GetDataSource

func (k Keeper) GetDataSource(ctx sdk.Context, id types.DataSourceID) (types.DataSource, error)

GetDataSource returns the data source struct for the given ID or error if not exists.

func (Keeper) GetDataSourceCount

func (k Keeper) GetDataSourceCount(ctx sdk.Context) int64

GetDataSourceCount returns the current number of all data sources ever exist.

func (Keeper) GetFile

func (k Keeper) GetFile(name string) []byte

GetFile loads the file from the file storage. Panics if the file does not exist.

func (Keeper) GetNextDataSourceID

func (k Keeper) GetNextDataSourceID(ctx sdk.Context) types.DataSourceID

GetNextDataSourceID increments and returns the current number of data sources.

func (Keeper) GetNextOracleScriptID

func (k Keeper) GetNextOracleScriptID(ctx sdk.Context) types.OracleScriptID

GetNextOracleScriptID increments and returns the current number of oracle scripts.

func (Keeper) GetNextRequestID

func (k Keeper) GetNextRequestID(ctx sdk.Context) types.RequestID

GetNextRequestID increments and returns the current number of requests.

func (Keeper) GetOracleScript

func (k Keeper) GetOracleScript(ctx sdk.Context, id types.OracleScriptID) (types.OracleScript, error)

GetOracleScript returns the oracle script struct for the given ID or error if not exists.

func (Keeper) GetOracleScriptCount

func (k Keeper) GetOracleScriptCount(ctx sdk.Context) int64

GetOracleScriptCount returns the current number of all oracle scripts ever exist.

func (Keeper) GetParam

func (k Keeper) GetParam(ctx sdk.Context, key []byte) (res uint64)

GetParam returns the parameter as specified by key as an uint64.

func (Keeper) GetParams

func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)

GetParams returns all current parameters as a types.Params instance.

func (Keeper) GetPendingResolveList

func (k Keeper) GetPendingResolveList(ctx sdk.Context) (ids []types.RequestID)

GetPendingResolveList returns the list of pending requests to be executed during EndBlock.

func (Keeper) GetRandomValidators

func (k Keeper) GetRandomValidators(ctx sdk.Context, size int, id int64) ([]sdk.ValAddress, error)

GetRandomValidators returns a pseudorandom subset of active validators. Each validator has chance of getting selected directly proportional to the amount of voting power it has.

func (Keeper) GetReportCount

func (k Keeper) GetReportCount(ctx sdk.Context, rid types.RequestID) (count uint64)

GetReportCount returns the number of reports for the given request ID.

func (Keeper) GetReportIterator

func (k Keeper) GetReportIterator(ctx sdk.Context, rid types.RequestID) sdk.Iterator

GetReportIterator returns the iterator for all reports of the given request ID.

func (Keeper) GetReporters

func (k Keeper) GetReporters(ctx sdk.Context, val sdk.ValAddress) (reporters []sdk.AccAddress)

GetReporters returns the reporter list of the given validator.

func (Keeper) GetReports

func (k Keeper) GetReports(ctx sdk.Context, rid types.RequestID) (reports []types.Report)

GetReports returns all reports for the given request ID, or nil if there is none.

func (Keeper) GetRequest

func (k Keeper) GetRequest(ctx sdk.Context, id types.RequestID) (types.Request, error)

GetRequest returns the request struct for the given ID or error if not exists.

func (Keeper) GetRequestCount

func (k Keeper) GetRequestCount(ctx sdk.Context) int64

GetRequestCount returns the current number of all requests ever exist.

func (Keeper) GetRequestLastExpired

func (k Keeper) GetRequestLastExpired(ctx sdk.Context) types.RequestID

GetRequestLastExpired returns the ID of the last expired request.

func (Keeper) GetResult

func (k Keeper) GetResult(ctx sdk.Context, id types.RequestID) (types.Result, error)

GetResult returns the result for the given request ID or error if not exists.

func (Keeper) GetRollingSeed

func (k Keeper) GetRollingSeed(ctx sdk.Context) []byte

GetRollingSeed returns the current rolling seed value.

func (Keeper) GetValidatorStatus

func (k Keeper) GetValidatorStatus(ctx sdk.Context, val sdk.ValAddress) types.ValidatorStatus

GetValidatorStatus returns the validator status for the given validator. Note that validator status is default to [inactive, 0], so new validators start with inactive state.

func (Keeper) HasDataSource

func (k Keeper) HasDataSource(ctx sdk.Context, id types.DataSourceID) bool

HasDataSource checks if the data source of this ID exists in the storage.

func (Keeper) HasOracleScript

func (k Keeper) HasOracleScript(ctx sdk.Context, id types.OracleScriptID) bool

HasOracleScript checks if the oracle script of this ID exists in the storage.

func (Keeper) HasReport

func (k Keeper) HasReport(ctx sdk.Context, rid types.RequestID, val sdk.ValAddress) bool

HasReport checks if the report of this ID triple exists in the storage.

func (Keeper) HasRequest

func (k Keeper) HasRequest(ctx sdk.Context, id types.RequestID) bool

HasRequest checks if the request of this ID exists in the storage.

func (Keeper) HasResult

func (k Keeper) HasResult(ctx sdk.Context, id types.RequestID) bool

HasResult checks if the result of this request ID exists in the storage.

func (Keeper) IsReporter

func (k Keeper) IsReporter(ctx sdk.Context, val sdk.ValAddress, addr sdk.AccAddress) bool

IsReporter returns true iff the address is an authorized reporter for the given validator.

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

func (Keeper) MissReport

func (k Keeper) MissReport(ctx sdk.Context, val sdk.ValAddress, requestTime time.Time)

MissReport changes the given validator's status to inactive. No-op if already inactive or if the validator was active after the time the request happened.

func (Keeper) MustEditDataSource

func (k Keeper) MustEditDataSource(ctx sdk.Context, id types.DataSourceID, new types.DataSource)

MustEditDataSource edits the given data source by id and flushes it to the storage.

func (Keeper) MustEditOracleScript

func (k Keeper) MustEditOracleScript(ctx sdk.Context, id types.OracleScriptID, new types.OracleScript)

MustEditOracleScript edits the given oracle script by id and flushes it to the storage. Panic if not exists.

func (Keeper) MustGetDataSource

func (k Keeper) MustGetDataSource(ctx sdk.Context, id types.DataSourceID) types.DataSource

MustGetDataSource returns the data source struct for the given ID. Panic if not exists.

func (Keeper) MustGetOracleScript

func (k Keeper) MustGetOracleScript(ctx sdk.Context, id types.OracleScriptID) types.OracleScript

MustGetOracleScript returns the oracle script struct for the given ID. Panic if not exists.

func (Keeper) MustGetRequest

func (k Keeper) MustGetRequest(ctx sdk.Context, id types.RequestID) types.Request

MustGetRequest returns the request struct for the given ID. Panics error if not exists.

func (Keeper) MustGetResult

func (k Keeper) MustGetResult(ctx sdk.Context, id types.RequestID) types.Result

MustGetResult returns the result for the given request ID. Panics on error.

func (Keeper) PrepareRequest

func (k Keeper) PrepareRequest(ctx sdk.Context, r types.RequestSpec) error

PrepareRequest takes an request specification object, performs the prepare call, and saves the request object to store. Also emits events related to the request.

func (Keeper) ProcessExpiredRequests

func (k Keeper) ProcessExpiredRequests(ctx sdk.Context)

ProcessExpiredRequests resolves all expired requests and deactivates missed validators.

func (Keeper) RemoveReporter

func (k Keeper) RemoveReporter(ctx sdk.Context, val sdk.ValAddress, addr sdk.AccAddress) error

RemoveReporter removes the reporter address from the list of reporters of the given validator.

func (Keeper) ResolveExpired

func (k Keeper) ResolveExpired(ctx sdk.Context, id types.RequestID)

ResolveExpired resolves the given request as expired.

func (Keeper) ResolveFailure

func (k Keeper) ResolveFailure(ctx sdk.Context, id types.RequestID, reason string)

ResolveFailure resolves the given request as failure with the given reason.

func (Keeper) ResolveRequest

func (k Keeper) ResolveRequest(ctx sdk.Context, reqID types.RequestID)

ResolveRequest resolves the given request and saves the result to the store. The function assumes that the given request is in a resolvable state with sufficient reporters.

func (Keeper) ResolveSuccess

func (k Keeper) ResolveSuccess(ctx sdk.Context, id types.RequestID, result []byte, gasUsed uint32)

ResolveSuccess resolves the given request as success with the given result.

func (Keeper) SaveResult

func (k Keeper) SaveResult(
	ctx sdk.Context, id types.RequestID, status types.ResolveStatus, result []byte,
)

SaveResult saves the result packets for the request with the given resolve status and result.

func (Keeper) SetDataSource

func (k Keeper) SetDataSource(ctx sdk.Context, id types.DataSourceID, dataSource types.DataSource)

SetDataSource saves the given data source to the storage without performing validation.

func (Keeper) SetDataSourceCount

func (k Keeper) SetDataSourceCount(ctx sdk.Context, count int64)

SetDataSourceCount sets the number of data source count to the given value.

func (Keeper) SetOracleScript

func (k Keeper) SetOracleScript(ctx sdk.Context, id types.OracleScriptID, oracleScript types.OracleScript)

SetOracleScript saves the given oracle script to the storage without performing validation.

func (Keeper) SetOracleScriptCount

func (k Keeper) SetOracleScriptCount(ctx sdk.Context, count int64)

SetOracleScriptCount sets the number of oracle script count to the given value.

func (Keeper) SetParam

func (k Keeper) SetParam(ctx sdk.Context, key []byte, value uint64)

SetParam saves the given key-value parameter to the store.

func (Keeper) SetPendingResolveList

func (k Keeper) SetPendingResolveList(ctx sdk.Context, ids []types.RequestID)

SetPendingResolveList saves the list of pending request that will be resolved at end block.

func (Keeper) SetReport

func (k Keeper) SetReport(ctx sdk.Context, rid types.RequestID, rep types.Report)

SetDataReport saves the report to the storage without performing validation.

func (Keeper) SetRequest

func (k Keeper) SetRequest(ctx sdk.Context, id types.RequestID, request types.Request)

SetRequest saves the given data request to the store without performing any validation.

func (Keeper) SetRequestCount

func (k Keeper) SetRequestCount(ctx sdk.Context, count int64)

SetRequestCount sets the number of request count to the given value. Useful for genesis state.

func (Keeper) SetRequestLastExpired

func (k Keeper) SetRequestLastExpired(ctx sdk.Context, id types.RequestID)

SetRequestLastExpired sets the ID of the last expired request.

func (Keeper) SetResult

func (k Keeper) SetResult(ctx sdk.Context, reqID types.RequestID, result types.Result)

SetResult sets result to the store.

func (Keeper) SetRollingSeed

func (k Keeper) SetRollingSeed(ctx sdk.Context, rollingSeed []byte)

SetRollingSeed sets the rolling seed value to be provided value.

func (Keeper) SetValidatorStatus

func (k Keeper) SetValidatorStatus(ctx sdk.Context, val sdk.ValAddress, status types.ValidatorStatus)

SetValidatorStatus sets the validator status for the given validator.

Jump to

Keyboard shortcuts

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