Documentation ¶
Index ¶
- Constants
- func CalculateSegments(payloadSize, segmentSize uint64) uint64
- func NewMsgServerImpl(keeper Keeper) types.MsgServer
- func RandomObjectId(seed []byte, objectCount sdkmath.Uint) sdkmath.Uint
- func RandomRedundancyIndex(seed []byte, sps uint64) int32
- func RandomSegmentIndex(seed []byte, segments uint64) uint32
- func SeedFromRandaoMix(randaoMix []byte, number uint64) []byte
- type BlsSignedMsg
- type Keeper
- func (k Keeper) AppendAttestedChallenge(ctx sdk.Context, challenge *types.AttestedChallenge)
- func (k Keeper) AttestedChallenge(goCtx context.Context, req *types.QueryAttestedChallengeRequest) (*types.QueryAttestedChallengeResponse, error)
- func (k Keeper) ClearSpSlashAmount(ctx sdk.Context)
- func (k Keeper) ExistsChallenge(ctx sdk.Context, challengeId uint64) bool
- func (k Keeper) ExistsSlash(ctx sdk.Context, spId uint32, objectId sdkmath.Uint) bool
- func (k Keeper) GetAttestedChallenges(ctx sdk.Context) []*types.AttestedChallenge
- func (k Keeper) GetAuthority() string
- func (k Keeper) GetChallengeCountCurrentBlock(ctx sdk.Context) uint64
- func (k Keeper) GetChallengeId(ctx sdk.Context) uint64
- func (k Keeper) GetParams(ctx sdk.Context) (p types.Params)
- func (k Keeper) GetSpSlashAmount(ctx sdk.Context, spId uint32) sdkmath.Int
- func (k Keeper) IncrChallengeCountCurrentBlock(ctx sdk.Context)
- func (k Keeper) InturnAttestationSubmitter(goCtx context.Context, req *types.QueryInturnAttestationSubmitterRequest) (*types.QueryInturnAttestationSubmitterResponse, error)
- func (k Keeper) LatestAttestedChallenges(goCtx context.Context, req *types.QueryLatestAttestedChallengesRequest) (*types.QueryLatestAttestedChallengesResponse, error)
- func (k Keeper) Logger(ctx sdk.Context) log.Logger
- func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
- func (k Keeper) RemoveChallengeUntil(ctx sdk.Context, height uint64)
- func (k Keeper) RemoveSlashUntil(ctx sdk.Context, height uint64)
- func (k Keeper) SaveChallenge(ctx sdk.Context, challenge types.Challenge)
- func (k Keeper) SaveSlash(ctx sdk.Context, slash types.Slash)
- func (k Keeper) SetParams(ctx sdk.Context, params types.Params) error
- func (k Keeper) SetSpSlashAmount(ctx sdk.Context, spId uint32, amount sdkmath.Int)
Constants ¶
const RandaoMixLength = 64
RandaoMixLength is the length of randao mix in Tendermint header
Variables ¶
This section is empty.
Functions ¶
func CalculateSegments ¶
CalculateSegments calculates the number of segments for the payload size.
func NewMsgServerImpl ¶
NewMsgServerImpl returns an implementation of the MsgServer interface for the provided Keeper.
func RandomObjectId ¶
RandomObjectId generates a random object id for challenge. Be noted: id starts from 1.
func RandomRedundancyIndex ¶
RandomRedundancyIndex generates a random redundancy index (storage provider) for challenge. Be noted: RedundancyIndex starts from -1 (the primary sp).
func RandomSegmentIndex ¶
RandomSegmentIndex generates a random segment index for challenge.
func SeedFromRandaoMix ¶
SeedFromRandaoMix generates seed from randao mix.
Types ¶
type BlsSignedMsg ¶
type BlsSignedMsg interface { // GetBlsSignBytes returns the bls signed message in bytes. GetBlsSignBytes(chainId string) [32]byte // GetVoteValidatorSet returns the validators who signed the message. GetVoteValidatorSet() []uint64 // GetVoteAggSignature returns the aggregated bls signature. GetVoteAggSignature() []byte }
BlsSignedMsg defined the interface of a bls signed message.
type Keeper ¶
type Keeper struct { StorageKeeper types.StorageKeeper SpKeeper types.SpKeeper // contains filtered or unexported fields }
func NewKeeper ¶
func NewKeeper( cdc codec.BinaryCodec, storeKey, tKey storetypes.StoreKey, bankKeeper types.BankKeeper, storageKeeper types.StorageKeeper, spKeeper types.SpKeeper, stakingKeeper types.StakingKeeper, paymentKeeper types.PaymentKeeper, authority string, ) *Keeper
func (Keeper) AppendAttestedChallenge ¶ added in v0.2.2
func (k Keeper) AppendAttestedChallenge(ctx sdk.Context, challenge *types.AttestedChallenge)
AppendAttestedChallenge sets the new id of challenge to the store
func (Keeper) AttestedChallenge ¶ added in v0.2.3
func (k Keeper) AttestedChallenge(goCtx context.Context, req *types.QueryAttestedChallengeRequest) (*types.QueryAttestedChallengeResponse, error)
func (Keeper) ClearSpSlashAmount ¶ added in v0.2.3
func (Keeper) ExistsChallenge ¶ added in v0.0.10
ExistsChallenge check whether there exists ongoing challenge for an id
func (Keeper) ExistsSlash ¶
ExistsSlash check whether there exists recent slash for a pair of sp and object info or not
func (Keeper) GetAttestedChallenges ¶ added in v0.2.2
func (k Keeper) GetAttestedChallenges(ctx sdk.Context) []*types.AttestedChallenge
GetAttestedChallenges gets the latest attested challenges
func (Keeper) GetAuthority ¶ added in v0.2.0
func (Keeper) GetChallengeCountCurrentBlock ¶
GetChallengeCountCurrentBlock gets the count of challenges
func (Keeper) GetChallengeId ¶ added in v0.0.10
GetChallengeId gets the challenge id
func (Keeper) GetSpSlashAmount ¶ added in v0.2.3
func (Keeper) IncrChallengeCountCurrentBlock ¶
IncrChallengeCountCurrentBlock increases the count of challenge by one
func (Keeper) InturnAttestationSubmitter ¶ added in v0.1.2
func (k Keeper) InturnAttestationSubmitter(goCtx context.Context, req *types.QueryInturnAttestationSubmitterRequest) (*types.QueryInturnAttestationSubmitterResponse, error)
func (Keeper) LatestAttestedChallenges ¶ added in v0.1.2
func (k Keeper) LatestAttestedChallenges(goCtx context.Context, req *types.QueryLatestAttestedChallengesRequest) (*types.QueryLatestAttestedChallengesResponse, error)
func (Keeper) Params ¶
func (k Keeper) Params(c context.Context, req *types.QueryParamsRequest) (*types.QueryParamsResponse, error)
func (Keeper) RemoveChallengeUntil ¶ added in v0.0.10
RemoveChallengeUntil removes challenges which are expired
func (Keeper) RemoveSlashUntil ¶
RemoveSlashUntil removes slashes which are created earlier
func (Keeper) SaveChallenge ¶ added in v0.0.10
SaveChallenge set a specific challenge in the store