types

package
v3.2.2 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2024 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Overview

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	// ModuleName defines the module name
	ModuleName = "epochstorage"

	// StoreKey defines the primary module store key
	StoreKey = ModuleName

	// RouterKey is the message route for slashing
	RouterKey = ModuleName

	// QuerierRoute defines the module's query routing key
	QuerierRoute = ModuleName

	// MemStoreKey defines the in-memory store key
	MemStoreKey = "mem_epochstorage"
)
View Source
const (
	NewEpochEventName            = "new_epoch"
	EarliestEpochEventName       = "earliest_epoch"
	FixatedParamChangeEventName  = "fixated_params_change"
	FixatedParamCleanedEventName = "fixated_params_clean"
	StakeStorageKeyUnstakeConst  = "Unstake"
)
View Source
const DefaultIndex uint64 = 1

DefaultIndex is the default capability global index

View Source
const (
	EpochDetailsKey = "EpochDetails-value-"
)
View Source
const FROZEN_BLOCK = regmath.MaxInt64

Frozen provider block const

View Source
const (
	// FixatedParamsKeyPrefix is the prefix to retrieve all FixatedParams
	FixatedParamsKeyPrefix = "FixatedParams/value/"
)

Variables

View Source
var (
	ErrInvalidLengthEndpoint        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowEndpoint          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupEndpoint = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthEpochDetails        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowEpochDetails          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupEpochDetails = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrProviderNotStaked    = sdkerrors.Register(ModuleName, 1000, "provider not staked")
	ErrStakeStorageNotFound = sdkerrors.Register(ModuleName, 1001, "stake storage not found")
)

x/epochstorage module sentinel errors

View Source
var (
	ErrInvalidLengthFixatedParams        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowFixatedParams          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupFixatedParams = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthGenesis        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGenesis          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	KeyEpochBlocks            = []byte("EpochBlocks")
	DefaultEpochBlocks uint64 = 20
)
View Source
var (
	KeyEpochsToSave            = []byte("EpochsToSave")
	DefaultEpochsToSave uint64 = 10
)
View Source
var (
	KeyLatestParamChange            = []byte("LatestParamChange")
	DefaultLatestParamChange uint64 = 0
)
View Source
var (
	ErrInvalidLengthParams        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowParams          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupParams = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthProviderMetadata        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowProviderMetadata          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupProviderMetadata = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthQuery        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowQuery          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	StakeEntriesPrefix                = collections.NewPrefix([]byte("StakeEntries/"))
	StakeEntriesCurrentPrefix         = collections.NewPrefix([]byte("StakeEntriesCurrent/"))
	EpochChainIdProviderIndexesPrefix = collections.NewPrefix([]byte("EpochChainIdProviderIndexes/"))
	ChainIdVaultIndexesPrefix         = collections.NewPrefix([]byte("ChainIdVaultIndexes/"))
	EpochHashesPrefix                 = collections.NewPrefix([]byte("EpochHash/"))
	ProviderMetaDataPrefix            = collections.NewPrefix([]byte("ProviderMetaData/"))
)
View Source
var (
	ErrInvalidLengthStakeEntry        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowStakeEntry          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupStakeEntry = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthStakeStorage        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowStakeStorage          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupStakeStorage = fmt.Errorf("proto: unexpected end of group")
)

Functions

func FixatedParamsKey

func FixatedParamsKey(
	index string,
) []byte

FixatedParamsKey returns the store key to retrieve a FixatedParams from the index fields

func KeyPrefix

func KeyPrefix(p string) []byte

func ParamKeyTable

func ParamKeyTable() paramtypes.KeyTable

ParamKeyTable the param key table for launch module

func RegisterCodec

func RegisterCodec(cdc *codec.LegacyAmino)

func RegisterInterfaces

func RegisterInterfaces(registry cdctypes.InterfaceRegistry)

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

func RegisterQueryHandler

func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterQueryHandler registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterQueryHandlerClient

func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error

RegisterQueryHandlerClient registers the http handlers for service Query to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "QueryClient" to call the correct interceptors.

func RegisterQueryHandlerFromEndpoint

func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterQueryHandlerServer

func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error

RegisterQueryHandlerServer registers the http handlers for service Query to "mux". UnaryRPC :call QueryServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead.

func RegisterQueryServer

func RegisterQueryServer(s grpc1.Server, srv QueryServer)

Types

type AccountKeeper

type AccountKeeper interface {
	GetAccount(ctx sdk.Context, addr sdk.AccAddress) types.AccountI
	GetModuleAddress(moduleName string) sdk.AccAddress
}

AccountKeeper defines the expected account keeper used for simulations (noalias)

type BankKeeper

type BankKeeper interface {
	SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
	GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
}

BankKeeper defines the expected interface needed to retrieve account balances.

type BlockReport

type BlockReport struct {
	Epoch       uint64 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"`
	LatestBlock uint64 `protobuf:"varint,2,opt,name=latest_block,json=latestBlock,proto3" json:"latest_block,omitempty"`
}

BlockReport holds the most up-to-date info regarding blocks of the provider It is set in the relay payment TX logic used by the consumer to calculate the provider's sync score

func (*BlockReport) Descriptor

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

func (*BlockReport) GetEpoch

func (m *BlockReport) GetEpoch() uint64

func (*BlockReport) GetLatestBlock

func (m *BlockReport) GetLatestBlock() uint64

func (*BlockReport) Marshal

func (m *BlockReport) Marshal() (dAtA []byte, err error)

func (*BlockReport) MarshalTo

func (m *BlockReport) MarshalTo(dAtA []byte) (int, error)

func (*BlockReport) MarshalToSizedBuffer

func (m *BlockReport) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*BlockReport) ProtoMessage

func (*BlockReport) ProtoMessage()

func (*BlockReport) Reset

func (m *BlockReport) Reset()

func (*BlockReport) Size

func (m *BlockReport) Size() (n int)

func (*BlockReport) String

func (m *BlockReport) String() string

func (*BlockReport) Unmarshal

func (m *BlockReport) Unmarshal(dAtA []byte) error

func (*BlockReport) XXX_DiscardUnknown

func (m *BlockReport) XXX_DiscardUnknown()

func (*BlockReport) XXX_Marshal

func (m *BlockReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*BlockReport) XXX_Merge

func (m *BlockReport) XXX_Merge(src proto.Message)

func (*BlockReport) XXX_Size

func (m *BlockReport) XXX_Size() int

func (*BlockReport) XXX_Unmarshal

func (m *BlockReport) XXX_Unmarshal(b []byte) error

type ChainIdVaultIndexes

type ChainIdVaultIndexes struct {
	Index *indexes.Unique[collections.Pair[string, string], collections.Pair[string, string], StakeEntry]
}

ChainIdVaultIndexes defines a secondary unique index for the keeper's stakeEntriesCurrent indexed map Normally, a current stake entry can be accessed with the primary key: [chainID, address] The new set of indexes, ChainIdVaultIndexes, allows accessing the stake entries with [chainID, vault]

func (ChainIdVaultIndexes) IndexesList

type Endpoint

type Endpoint struct {
	IPPORT        string   `protobuf:"bytes,1,opt,name=iPPORT,proto3" json:"iPPORT,omitempty"`
	Geolocation   int32    `protobuf:"varint,3,opt,name=geolocation,proto3" json:"geolocation,omitempty"`
	Addons        []string `protobuf:"bytes,4,rep,name=addons,proto3" json:"addons,omitempty"`
	ApiInterfaces []string `protobuf:"bytes,5,rep,name=api_interfaces,json=apiInterfaces,proto3" json:"api_interfaces,omitempty"`
	Extensions    []string `protobuf:"bytes,6,rep,name=extensions,proto3" json:"extensions,omitempty"`
}

func (*Endpoint) Descriptor

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

func (*Endpoint) GetAddons

func (m *Endpoint) GetAddons() []string

func (*Endpoint) GetApiInterfaces

func (m *Endpoint) GetApiInterfaces() []string

func (*Endpoint) GetExtensions

func (m *Endpoint) GetExtensions() []string

func (*Endpoint) GetGeolocation

func (m *Endpoint) GetGeolocation() int32

func (*Endpoint) GetIPPORT

func (m *Endpoint) GetIPPORT() string

func (*Endpoint) GetSupportedServices

func (endpoint *Endpoint) GetSupportedServices() (services []EndpointService)

func (*Endpoint) IsSupportedService

func (endpoint *Endpoint) IsSupportedService(apiInterface, addon, extension string) bool

func (*Endpoint) Marshal

func (m *Endpoint) Marshal() (dAtA []byte, err error)

func (*Endpoint) MarshalTo

func (m *Endpoint) MarshalTo(dAtA []byte) (int, error)

func (*Endpoint) MarshalToSizedBuffer

func (m *Endpoint) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) Reset

func (m *Endpoint) Reset()

func (*Endpoint) SetDefaultApiInterfaces

func (endpoint *Endpoint) SetDefaultApiInterfaces(requiredServices map[EndpointService]struct{})

users are allowed to stake with an empty list of apiInterfaces, this code supports adding the default ones in that case

func (*Endpoint) SetServicesFromAddons

func (endpoint *Endpoint) SetServicesFromAddons(allowedServices map[EndpointService]struct{}, addons, extensions map[string]struct{}) error

users are allowed to send apiInterfaces inside the addons list, this code supports that

func (*Endpoint) Size

func (m *Endpoint) Size() (n int)

func (*Endpoint) String

func (m *Endpoint) String() string

func (*Endpoint) Unmarshal

func (m *Endpoint) Unmarshal(dAtA []byte) error

func (*Endpoint) XXX_DiscardUnknown

func (m *Endpoint) XXX_DiscardUnknown()

func (*Endpoint) XXX_Marshal

func (m *Endpoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Endpoint) XXX_Merge

func (m *Endpoint) XXX_Merge(src proto.Message)

func (*Endpoint) XXX_Size

func (m *Endpoint) XXX_Size() int

func (*Endpoint) XXX_Unmarshal

func (m *Endpoint) XXX_Unmarshal(b []byte) error

type EndpointService

type EndpointService struct {
	ApiInterface string
	Addon        string
	Extension    string
}

func (*EndpointService) String

func (es *EndpointService) String() string

type EpochChainIdProviderIndexes

type EpochChainIdProviderIndexes struct {
	Index *indexes.Unique[collections.Triple[uint64, string, string], collections.Triple[uint64, string, collections.Pair[uint64, string]], StakeEntry]
}

EpochChainIdProviderIndexes defines a secondary unique index for the keeper's stakeEntries indexed map Normally, a stake entry can be accessed with the primary key: [epoch, chainID, stake, address] The new set of indexes, EpochChainIdProviderIndexes, allows accessing the stake entries with [epoch, chainID, address]

func (EpochChainIdProviderIndexes) IndexesList

type EpochDetails

type EpochDetails struct {
	StartBlock    uint64   `protobuf:"varint,1,opt,name=startBlock,proto3" json:"startBlock,omitempty"`
	EarliestStart uint64   `protobuf:"varint,2,opt,name=earliestStart,proto3" json:"earliestStart,omitempty"`
	DeletedEpochs []uint64 `protobuf:"varint,3,rep,packed,name=deletedEpochs,proto3" json:"deletedEpochs,omitempty"`
}

func (*EpochDetails) Descriptor

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

func (*EpochDetails) GetDeletedEpochs

func (m *EpochDetails) GetDeletedEpochs() []uint64

func (*EpochDetails) GetEarliestStart

func (m *EpochDetails) GetEarliestStart() uint64

func (*EpochDetails) GetStartBlock

func (m *EpochDetails) GetStartBlock() uint64

func (*EpochDetails) Marshal

func (m *EpochDetails) Marshal() (dAtA []byte, err error)

func (*EpochDetails) MarshalTo

func (m *EpochDetails) MarshalTo(dAtA []byte) (int, error)

func (*EpochDetails) MarshalToSizedBuffer

func (m *EpochDetails) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EpochDetails) ProtoMessage

func (*EpochDetails) ProtoMessage()

func (*EpochDetails) Reset

func (m *EpochDetails) Reset()

func (*EpochDetails) Size

func (m *EpochDetails) Size() (n int)

func (*EpochDetails) String

func (m *EpochDetails) String() string

func (*EpochDetails) Unmarshal

func (m *EpochDetails) Unmarshal(dAtA []byte) error

func (*EpochDetails) XXX_DiscardUnknown

func (m *EpochDetails) XXX_DiscardUnknown()

func (*EpochDetails) XXX_Marshal

func (m *EpochDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EpochDetails) XXX_Merge

func (m *EpochDetails) XXX_Merge(src proto.Message)

func (*EpochDetails) XXX_Size

func (m *EpochDetails) XXX_Size() int

func (*EpochDetails) XXX_Unmarshal

func (m *EpochDetails) XXX_Unmarshal(b []byte) error

type FixatedParams

type FixatedParams struct {
	Index         string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
	Parameter     []byte `protobuf:"bytes,2,opt,name=parameter,proto3" json:"parameter,omitempty"`
	FixationBlock uint64 `protobuf:"varint,3,opt,name=fixationBlock,proto3" json:"fixationBlock,omitempty"`
}

func (*FixatedParams) Descriptor

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

func (*FixatedParams) GetFixationBlock

func (m *FixatedParams) GetFixationBlock() uint64

func (*FixatedParams) GetIndex

func (m *FixatedParams) GetIndex() string

func (*FixatedParams) GetParameter

func (m *FixatedParams) GetParameter() []byte

func (*FixatedParams) Marshal

func (m *FixatedParams) Marshal() (dAtA []byte, err error)

func (*FixatedParams) MarshalTo

func (m *FixatedParams) MarshalTo(dAtA []byte) (int, error)

func (*FixatedParams) MarshalToSizedBuffer

func (m *FixatedParams) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*FixatedParams) ProtoMessage

func (*FixatedParams) ProtoMessage()

func (*FixatedParams) Reset

func (m *FixatedParams) Reset()

func (*FixatedParams) Size

func (m *FixatedParams) Size() (n int)

func (*FixatedParams) String

func (m *FixatedParams) String() string

func (*FixatedParams) Unmarshal

func (m *FixatedParams) Unmarshal(dAtA []byte) error

func (*FixatedParams) XXX_DiscardUnknown

func (m *FixatedParams) XXX_DiscardUnknown()

func (*FixatedParams) XXX_Marshal

func (m *FixatedParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FixatedParams) XXX_Merge

func (m *FixatedParams) XXX_Merge(src proto.Message)

func (*FixatedParams) XXX_Size

func (m *FixatedParams) XXX_Size() int

func (*FixatedParams) XXX_Unmarshal

func (m *FixatedParams) XXX_Unmarshal(b []byte) error

type GenesisState

type GenesisState struct {
	Params            Params          `protobuf:"bytes,1,opt,name=params,proto3" json:"params"`
	StakeStorageList  []StakeStorage  `protobuf:"bytes,2,rep,name=stakeStorageList,proto3" json:"stakeStorageList"`
	EpochDetails      *EpochDetails   `protobuf:"bytes,3,opt,name=epochDetails,proto3" json:"epochDetails,omitempty"`
	FixatedParamsList []FixatedParams `protobuf:"bytes,4,rep,name=fixatedParamsList,proto3" json:"fixatedParamsList"`
}

GenesisState defines the epochstorage module's genesis state.

func DefaultGenesis

func DefaultGenesis() *GenesisState

DefaultGenesis returns the default Capability genesis state

func (*GenesisState) Descriptor

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

func (*GenesisState) GetEpochDetails

func (m *GenesisState) GetEpochDetails() *EpochDetails

func (*GenesisState) GetFixatedParamsList

func (m *GenesisState) GetFixatedParamsList() []FixatedParams

func (*GenesisState) GetParams

func (m *GenesisState) GetParams() Params

func (*GenesisState) GetStakeStorageList

func (m *GenesisState) GetStakeStorageList() []StakeStorage

func (*GenesisState) Marshal

func (m *GenesisState) Marshal() (dAtA []byte, err error)

func (*GenesisState) MarshalTo

func (m *GenesisState) MarshalTo(dAtA []byte) (int, error)

func (*GenesisState) MarshalToSizedBuffer

func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*GenesisState) ProtoMessage

func (*GenesisState) ProtoMessage()

func (*GenesisState) Reset

func (m *GenesisState) Reset()

func (*GenesisState) Size

func (m *GenesisState) Size() (n int)

func (*GenesisState) String

func (m *GenesisState) String() string

func (*GenesisState) Unmarshal

func (m *GenesisState) Unmarshal(dAtA []byte) error

func (GenesisState) Validate

func (gs GenesisState) Validate() error

Validate performs basic genesis state validation returning an error upon any failure.

func (*GenesisState) XXX_DiscardUnknown

func (m *GenesisState) XXX_DiscardUnknown()

func (*GenesisState) XXX_Marshal

func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GenesisState) XXX_Merge

func (m *GenesisState) XXX_Merge(src proto.Message)

func (*GenesisState) XXX_Size

func (m *GenesisState) XXX_Size() int

func (*GenesisState) XXX_Unmarshal

func (m *GenesisState) XXX_Unmarshal(b []byte) error

type MsgClient

type MsgClient interface {
}

MsgClient is the client API for Msg service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewMsgClient

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgServer

type MsgServer interface {
}

MsgServer is the server API for Msg service.

type Params

type Params struct {
	EpochBlocks       uint64 `protobuf:"varint,2,opt,name=epochBlocks,proto3" json:"epochBlocks,omitempty" yaml:"epoch_blocks"`
	EpochsToSave      uint64 `protobuf:"varint,3,opt,name=epochsToSave,proto3" json:"epochsToSave,omitempty" yaml:"epochs_to_save"`
	LatestParamChange uint64 `protobuf:"varint,4,opt,name=latestParamChange,proto3" json:"latestParamChange,omitempty" yaml:"latest_param_change"`
}

Params defines the parameters for the module.

func DefaultParams

func DefaultParams() Params

DefaultParams returns a default set of parameters

func NewParams

func NewParams(
	epochBlocks uint64,
	epochsToSave uint64,
	latestParamChange uint64,
) Params

NewParams creates a new Params instance

func (*Params) Descriptor

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

func (*Params) GetEpochBlocks

func (m *Params) GetEpochBlocks() uint64

func (*Params) GetEpochsToSave

func (m *Params) GetEpochsToSave() uint64

func (*Params) GetLatestParamChange

func (m *Params) GetLatestParamChange() uint64

func (*Params) Marshal

func (m *Params) Marshal() (dAtA []byte, err error)

func (*Params) MarshalTo

func (m *Params) MarshalTo(dAtA []byte) (int, error)

func (*Params) MarshalToSizedBuffer

func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Params) ParamSetPairs

func (p *Params) ParamSetPairs() paramtypes.ParamSetPairs

ParamSetPairs get the params.ParamSet

func (*Params) ProtoMessage

func (*Params) ProtoMessage()

func (*Params) Reset

func (m *Params) Reset()

func (*Params) Size

func (m *Params) Size() (n int)

func (Params) String

func (p Params) String() string

String implements the Stringer interface.

func (*Params) Unmarshal

func (m *Params) Unmarshal(dAtA []byte) error

func (Params) Validate

func (p Params) Validate() error

Validate validates the set of params

func (*Params) XXX_DiscardUnknown

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal

func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Params) XXX_Merge

func (m *Params) XXX_Merge(src proto.Message)

func (*Params) XXX_Size

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal

func (m *Params) XXX_Unmarshal(b []byte) error

type ProviderMetadata added in v3.2.0

type ProviderMetadata struct {
	Provider           string             `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
	Vault              string             `protobuf:"bytes,2,opt,name=vault,proto3" json:"vault,omitempty"`
	TotalDelegations   types.Coin         `protobuf:"bytes,3,opt,name=total_delegations,json=totalDelegations,proto3" json:"total_delegations"`
	Chains             []string           `protobuf:"bytes,4,rep,name=chains,proto3" json:"chains,omitempty"`
	DelegateCommission uint64             `protobuf:"varint,5,opt,name=delegate_commission,json=delegateCommission,proto3" json:"delegate_commission,omitempty"`
	LastChange         uint64             `protobuf:"varint,6,opt,name=last_change,json=lastChange,proto3" json:"last_change,omitempty"`
	Description        types1.Description `protobuf:"bytes,7,opt,name=description,proto3" json:"description"`
}

func (*ProviderMetadata) Descriptor added in v3.2.0

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

func (*ProviderMetadata) GetChains added in v3.2.0

func (m *ProviderMetadata) GetChains() []string

func (*ProviderMetadata) GetDelegateCommission added in v3.2.0

func (m *ProviderMetadata) GetDelegateCommission() uint64

func (*ProviderMetadata) GetDescription added in v3.2.0

func (m *ProviderMetadata) GetDescription() types1.Description

func (*ProviderMetadata) GetLastChange added in v3.2.0

func (m *ProviderMetadata) GetLastChange() uint64

func (*ProviderMetadata) GetProvider added in v3.2.0

func (m *ProviderMetadata) GetProvider() string

func (*ProviderMetadata) GetTotalDelegations added in v3.2.0

func (m *ProviderMetadata) GetTotalDelegations() types.Coin

func (*ProviderMetadata) GetVault added in v3.2.0

func (m *ProviderMetadata) GetVault() string

func (*ProviderMetadata) Marshal added in v3.2.0

func (m *ProviderMetadata) Marshal() (dAtA []byte, err error)

func (*ProviderMetadata) MarshalTo added in v3.2.0

func (m *ProviderMetadata) MarshalTo(dAtA []byte) (int, error)

func (*ProviderMetadata) MarshalToSizedBuffer added in v3.2.0

func (m *ProviderMetadata) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ProviderMetadata) ProtoMessage added in v3.2.0

func (*ProviderMetadata) ProtoMessage()

func (*ProviderMetadata) Reset added in v3.2.0

func (m *ProviderMetadata) Reset()

func (*ProviderMetadata) Size added in v3.2.0

func (m *ProviderMetadata) Size() (n int)

func (*ProviderMetadata) String added in v3.2.0

func (m *ProviderMetadata) String() string

func (*ProviderMetadata) Unmarshal added in v3.2.0

func (m *ProviderMetadata) Unmarshal(dAtA []byte) error

func (*ProviderMetadata) XXX_DiscardUnknown added in v3.2.0

func (m *ProviderMetadata) XXX_DiscardUnknown()

func (*ProviderMetadata) XXX_Marshal added in v3.2.0

func (m *ProviderMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ProviderMetadata) XXX_Merge added in v3.2.0

func (m *ProviderMetadata) XXX_Merge(src proto.Message)

func (*ProviderMetadata) XXX_Size added in v3.2.0

func (m *ProviderMetadata) XXX_Size() int

func (*ProviderMetadata) XXX_Unmarshal added in v3.2.0

func (m *ProviderMetadata) XXX_Unmarshal(b []byte) error

type QueryAllFixatedParamsRequest

type QueryAllFixatedParamsRequest struct {
	Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

func (*QueryAllFixatedParamsRequest) Descriptor

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

func (*QueryAllFixatedParamsRequest) GetPagination

func (m *QueryAllFixatedParamsRequest) GetPagination() *query.PageRequest

func (*QueryAllFixatedParamsRequest) Marshal

func (m *QueryAllFixatedParamsRequest) Marshal() (dAtA []byte, err error)

func (*QueryAllFixatedParamsRequest) MarshalTo

func (m *QueryAllFixatedParamsRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryAllFixatedParamsRequest) MarshalToSizedBuffer

func (m *QueryAllFixatedParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryAllFixatedParamsRequest) ProtoMessage

func (*QueryAllFixatedParamsRequest) ProtoMessage()

func (*QueryAllFixatedParamsRequest) Reset

func (m *QueryAllFixatedParamsRequest) Reset()

func (*QueryAllFixatedParamsRequest) Size

func (m *QueryAllFixatedParamsRequest) Size() (n int)

func (*QueryAllFixatedParamsRequest) String

func (*QueryAllFixatedParamsRequest) Unmarshal

func (m *QueryAllFixatedParamsRequest) Unmarshal(dAtA []byte) error

func (*QueryAllFixatedParamsRequest) XXX_DiscardUnknown

func (m *QueryAllFixatedParamsRequest) XXX_DiscardUnknown()

func (*QueryAllFixatedParamsRequest) XXX_Marshal

func (m *QueryAllFixatedParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryAllFixatedParamsRequest) XXX_Merge

func (m *QueryAllFixatedParamsRequest) XXX_Merge(src proto.Message)

func (*QueryAllFixatedParamsRequest) XXX_Size

func (m *QueryAllFixatedParamsRequest) XXX_Size() int

func (*QueryAllFixatedParamsRequest) XXX_Unmarshal

func (m *QueryAllFixatedParamsRequest) XXX_Unmarshal(b []byte) error

type QueryAllFixatedParamsResponse

type QueryAllFixatedParamsResponse struct {
	FixatedParams []FixatedParams     `protobuf:"bytes,1,rep,name=fixatedParams,proto3" json:"fixatedParams"`
	Pagination    *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

func (*QueryAllFixatedParamsResponse) Descriptor

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

func (*QueryAllFixatedParamsResponse) GetFixatedParams

func (m *QueryAllFixatedParamsResponse) GetFixatedParams() []FixatedParams

func (*QueryAllFixatedParamsResponse) GetPagination

func (m *QueryAllFixatedParamsResponse) GetPagination() *query.PageResponse

func (*QueryAllFixatedParamsResponse) Marshal

func (m *QueryAllFixatedParamsResponse) Marshal() (dAtA []byte, err error)

func (*QueryAllFixatedParamsResponse) MarshalTo

func (m *QueryAllFixatedParamsResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryAllFixatedParamsResponse) MarshalToSizedBuffer

func (m *QueryAllFixatedParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryAllFixatedParamsResponse) ProtoMessage

func (*QueryAllFixatedParamsResponse) ProtoMessage()

func (*QueryAllFixatedParamsResponse) Reset

func (m *QueryAllFixatedParamsResponse) Reset()

func (*QueryAllFixatedParamsResponse) Size

func (m *QueryAllFixatedParamsResponse) Size() (n int)

func (*QueryAllFixatedParamsResponse) String

func (*QueryAllFixatedParamsResponse) Unmarshal

func (m *QueryAllFixatedParamsResponse) Unmarshal(dAtA []byte) error

func (*QueryAllFixatedParamsResponse) XXX_DiscardUnknown

func (m *QueryAllFixatedParamsResponse) XXX_DiscardUnknown()

func (*QueryAllFixatedParamsResponse) XXX_Marshal

func (m *QueryAllFixatedParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryAllFixatedParamsResponse) XXX_Merge

func (m *QueryAllFixatedParamsResponse) XXX_Merge(src proto.Message)

func (*QueryAllFixatedParamsResponse) XXX_Size

func (m *QueryAllFixatedParamsResponse) XXX_Size() int

func (*QueryAllFixatedParamsResponse) XXX_Unmarshal

func (m *QueryAllFixatedParamsResponse) XXX_Unmarshal(b []byte) error

type QueryAllStakeStorageRequest

type QueryAllStakeStorageRequest struct {
	Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

func (*QueryAllStakeStorageRequest) Descriptor

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

func (*QueryAllStakeStorageRequest) GetPagination

func (m *QueryAllStakeStorageRequest) GetPagination() *query.PageRequest

func (*QueryAllStakeStorageRequest) Marshal

func (m *QueryAllStakeStorageRequest) Marshal() (dAtA []byte, err error)

func (*QueryAllStakeStorageRequest) MarshalTo

func (m *QueryAllStakeStorageRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryAllStakeStorageRequest) MarshalToSizedBuffer

func (m *QueryAllStakeStorageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryAllStakeStorageRequest) ProtoMessage

func (*QueryAllStakeStorageRequest) ProtoMessage()

func (*QueryAllStakeStorageRequest) Reset

func (m *QueryAllStakeStorageRequest) Reset()

func (*QueryAllStakeStorageRequest) Size

func (m *QueryAllStakeStorageRequest) Size() (n int)

func (*QueryAllStakeStorageRequest) String

func (m *QueryAllStakeStorageRequest) String() string

func (*QueryAllStakeStorageRequest) Unmarshal

func (m *QueryAllStakeStorageRequest) Unmarshal(dAtA []byte) error

func (*QueryAllStakeStorageRequest) XXX_DiscardUnknown

func (m *QueryAllStakeStorageRequest) XXX_DiscardUnknown()

func (*QueryAllStakeStorageRequest) XXX_Marshal

func (m *QueryAllStakeStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryAllStakeStorageRequest) XXX_Merge

func (m *QueryAllStakeStorageRequest) XXX_Merge(src proto.Message)

func (*QueryAllStakeStorageRequest) XXX_Size

func (m *QueryAllStakeStorageRequest) XXX_Size() int

func (*QueryAllStakeStorageRequest) XXX_Unmarshal

func (m *QueryAllStakeStorageRequest) XXX_Unmarshal(b []byte) error

type QueryAllStakeStorageResponse

type QueryAllStakeStorageResponse struct {
	StakeStorage []StakeStorage      `protobuf:"bytes,1,rep,name=stakeStorage,proto3" json:"stakeStorage"`
	Pagination   *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

func (*QueryAllStakeStorageResponse) Descriptor

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

func (*QueryAllStakeStorageResponse) GetPagination

func (m *QueryAllStakeStorageResponse) GetPagination() *query.PageResponse

func (*QueryAllStakeStorageResponse) GetStakeStorage

func (m *QueryAllStakeStorageResponse) GetStakeStorage() []StakeStorage

func (*QueryAllStakeStorageResponse) Marshal

func (m *QueryAllStakeStorageResponse) Marshal() (dAtA []byte, err error)

func (*QueryAllStakeStorageResponse) MarshalTo

func (m *QueryAllStakeStorageResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryAllStakeStorageResponse) MarshalToSizedBuffer

func (m *QueryAllStakeStorageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryAllStakeStorageResponse) ProtoMessage

func (*QueryAllStakeStorageResponse) ProtoMessage()

func (*QueryAllStakeStorageResponse) Reset

func (m *QueryAllStakeStorageResponse) Reset()

func (*QueryAllStakeStorageResponse) Size

func (m *QueryAllStakeStorageResponse) Size() (n int)

func (*QueryAllStakeStorageResponse) String

func (*QueryAllStakeStorageResponse) Unmarshal

func (m *QueryAllStakeStorageResponse) Unmarshal(dAtA []byte) error

func (*QueryAllStakeStorageResponse) XXX_DiscardUnknown

func (m *QueryAllStakeStorageResponse) XXX_DiscardUnknown()

func (*QueryAllStakeStorageResponse) XXX_Marshal

func (m *QueryAllStakeStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryAllStakeStorageResponse) XXX_Merge

func (m *QueryAllStakeStorageResponse) XXX_Merge(src proto.Message)

func (*QueryAllStakeStorageResponse) XXX_Size

func (m *QueryAllStakeStorageResponse) XXX_Size() int

func (*QueryAllStakeStorageResponse) XXX_Unmarshal

func (m *QueryAllStakeStorageResponse) XXX_Unmarshal(b []byte) error

type QueryClient

type QueryClient interface {
	// Parameters queries the parameters of the module.
	Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
	// Queries a StakeStorage by index.
	StakeStorage(ctx context.Context, in *QueryGetStakeStorageRequest, opts ...grpc.CallOption) (*QueryGetStakeStorageResponse, error)
	// Queries a list of StakeStorage items.
	StakeStorageAll(ctx context.Context, in *QueryAllStakeStorageRequest, opts ...grpc.CallOption) (*QueryAllStakeStorageResponse, error)
	// Queries a EpochDetails by index.
	EpochDetails(ctx context.Context, in *QueryGetEpochDetailsRequest, opts ...grpc.CallOption) (*QueryGetEpochDetailsResponse, error)
	// Queries a FixatedParams by index.
	FixatedParams(ctx context.Context, in *QueryGetFixatedParamsRequest, opts ...grpc.CallOption) (*QueryGetFixatedParamsResponse, error)
	// Queries a list of FixatedParams items.
	FixatedParamsAll(ctx context.Context, in *QueryAllFixatedParamsRequest, opts ...grpc.CallOption) (*QueryAllFixatedParamsResponse, error)
	// Queries provider metadata.
	ProviderMetaData(ctx context.Context, in *QueryProviderMetaDataRequest, opts ...grpc.CallOption) (*QueryProviderMetaDataResponse, error)
}

QueryClient is the client API for Query service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewQueryClient

func NewQueryClient(cc grpc1.ClientConn) QueryClient

type QueryGetEpochDetailsRequest

type QueryGetEpochDetailsRequest struct {
}

func (*QueryGetEpochDetailsRequest) Descriptor

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

func (*QueryGetEpochDetailsRequest) Marshal

func (m *QueryGetEpochDetailsRequest) Marshal() (dAtA []byte, err error)

func (*QueryGetEpochDetailsRequest) MarshalTo

func (m *QueryGetEpochDetailsRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetEpochDetailsRequest) MarshalToSizedBuffer

func (m *QueryGetEpochDetailsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetEpochDetailsRequest) ProtoMessage

func (*QueryGetEpochDetailsRequest) ProtoMessage()

func (*QueryGetEpochDetailsRequest) Reset

func (m *QueryGetEpochDetailsRequest) Reset()

func (*QueryGetEpochDetailsRequest) Size

func (m *QueryGetEpochDetailsRequest) Size() (n int)

func (*QueryGetEpochDetailsRequest) String

func (m *QueryGetEpochDetailsRequest) String() string

func (*QueryGetEpochDetailsRequest) Unmarshal

func (m *QueryGetEpochDetailsRequest) Unmarshal(dAtA []byte) error

func (*QueryGetEpochDetailsRequest) XXX_DiscardUnknown

func (m *QueryGetEpochDetailsRequest) XXX_DiscardUnknown()

func (*QueryGetEpochDetailsRequest) XXX_Marshal

func (m *QueryGetEpochDetailsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetEpochDetailsRequest) XXX_Merge

func (m *QueryGetEpochDetailsRequest) XXX_Merge(src proto.Message)

func (*QueryGetEpochDetailsRequest) XXX_Size

func (m *QueryGetEpochDetailsRequest) XXX_Size() int

func (*QueryGetEpochDetailsRequest) XXX_Unmarshal

func (m *QueryGetEpochDetailsRequest) XXX_Unmarshal(b []byte) error

type QueryGetEpochDetailsResponse

type QueryGetEpochDetailsResponse struct {
	EpochDetails EpochDetails `protobuf:"bytes,1,opt,name=EpochDetails,proto3" json:"EpochDetails"`
}

func (*QueryGetEpochDetailsResponse) Descriptor

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

func (*QueryGetEpochDetailsResponse) GetEpochDetails

func (m *QueryGetEpochDetailsResponse) GetEpochDetails() EpochDetails

func (*QueryGetEpochDetailsResponse) Marshal

func (m *QueryGetEpochDetailsResponse) Marshal() (dAtA []byte, err error)

func (*QueryGetEpochDetailsResponse) MarshalTo

func (m *QueryGetEpochDetailsResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetEpochDetailsResponse) MarshalToSizedBuffer

func (m *QueryGetEpochDetailsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetEpochDetailsResponse) ProtoMessage

func (*QueryGetEpochDetailsResponse) ProtoMessage()

func (*QueryGetEpochDetailsResponse) Reset

func (m *QueryGetEpochDetailsResponse) Reset()

func (*QueryGetEpochDetailsResponse) Size

func (m *QueryGetEpochDetailsResponse) Size() (n int)

func (*QueryGetEpochDetailsResponse) String

func (*QueryGetEpochDetailsResponse) Unmarshal

func (m *QueryGetEpochDetailsResponse) Unmarshal(dAtA []byte) error

func (*QueryGetEpochDetailsResponse) XXX_DiscardUnknown

func (m *QueryGetEpochDetailsResponse) XXX_DiscardUnknown()

func (*QueryGetEpochDetailsResponse) XXX_Marshal

func (m *QueryGetEpochDetailsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetEpochDetailsResponse) XXX_Merge

func (m *QueryGetEpochDetailsResponse) XXX_Merge(src proto.Message)

func (*QueryGetEpochDetailsResponse) XXX_Size

func (m *QueryGetEpochDetailsResponse) XXX_Size() int

func (*QueryGetEpochDetailsResponse) XXX_Unmarshal

func (m *QueryGetEpochDetailsResponse) XXX_Unmarshal(b []byte) error

type QueryGetFixatedParamsRequest

type QueryGetFixatedParamsRequest struct {
	Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
}

func (*QueryGetFixatedParamsRequest) Descriptor

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

func (*QueryGetFixatedParamsRequest) GetIndex

func (m *QueryGetFixatedParamsRequest) GetIndex() string

func (*QueryGetFixatedParamsRequest) Marshal

func (m *QueryGetFixatedParamsRequest) Marshal() (dAtA []byte, err error)

func (*QueryGetFixatedParamsRequest) MarshalTo

func (m *QueryGetFixatedParamsRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetFixatedParamsRequest) MarshalToSizedBuffer

func (m *QueryGetFixatedParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetFixatedParamsRequest) ProtoMessage

func (*QueryGetFixatedParamsRequest) ProtoMessage()

func (*QueryGetFixatedParamsRequest) Reset

func (m *QueryGetFixatedParamsRequest) Reset()

func (*QueryGetFixatedParamsRequest) Size

func (m *QueryGetFixatedParamsRequest) Size() (n int)

func (*QueryGetFixatedParamsRequest) String

func (*QueryGetFixatedParamsRequest) Unmarshal

func (m *QueryGetFixatedParamsRequest) Unmarshal(dAtA []byte) error

func (*QueryGetFixatedParamsRequest) XXX_DiscardUnknown

func (m *QueryGetFixatedParamsRequest) XXX_DiscardUnknown()

func (*QueryGetFixatedParamsRequest) XXX_Marshal

func (m *QueryGetFixatedParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetFixatedParamsRequest) XXX_Merge

func (m *QueryGetFixatedParamsRequest) XXX_Merge(src proto.Message)

func (*QueryGetFixatedParamsRequest) XXX_Size

func (m *QueryGetFixatedParamsRequest) XXX_Size() int

func (*QueryGetFixatedParamsRequest) XXX_Unmarshal

func (m *QueryGetFixatedParamsRequest) XXX_Unmarshal(b []byte) error

type QueryGetFixatedParamsResponse

type QueryGetFixatedParamsResponse struct {
	FixatedParams FixatedParams `protobuf:"bytes,1,opt,name=fixatedParams,proto3" json:"fixatedParams"`
}

func (*QueryGetFixatedParamsResponse) Descriptor

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

func (*QueryGetFixatedParamsResponse) GetFixatedParams

func (m *QueryGetFixatedParamsResponse) GetFixatedParams() FixatedParams

func (*QueryGetFixatedParamsResponse) Marshal

func (m *QueryGetFixatedParamsResponse) Marshal() (dAtA []byte, err error)

func (*QueryGetFixatedParamsResponse) MarshalTo

func (m *QueryGetFixatedParamsResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetFixatedParamsResponse) MarshalToSizedBuffer

func (m *QueryGetFixatedParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetFixatedParamsResponse) ProtoMessage

func (*QueryGetFixatedParamsResponse) ProtoMessage()

func (*QueryGetFixatedParamsResponse) Reset

func (m *QueryGetFixatedParamsResponse) Reset()

func (*QueryGetFixatedParamsResponse) Size

func (m *QueryGetFixatedParamsResponse) Size() (n int)

func (*QueryGetFixatedParamsResponse) String

func (*QueryGetFixatedParamsResponse) Unmarshal

func (m *QueryGetFixatedParamsResponse) Unmarshal(dAtA []byte) error

func (*QueryGetFixatedParamsResponse) XXX_DiscardUnknown

func (m *QueryGetFixatedParamsResponse) XXX_DiscardUnknown()

func (*QueryGetFixatedParamsResponse) XXX_Marshal

func (m *QueryGetFixatedParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetFixatedParamsResponse) XXX_Merge

func (m *QueryGetFixatedParamsResponse) XXX_Merge(src proto.Message)

func (*QueryGetFixatedParamsResponse) XXX_Size

func (m *QueryGetFixatedParamsResponse) XXX_Size() int

func (*QueryGetFixatedParamsResponse) XXX_Unmarshal

func (m *QueryGetFixatedParamsResponse) XXX_Unmarshal(b []byte) error

type QueryGetStakeStorageRequest

type QueryGetStakeStorageRequest struct {
	Index string `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
}

func (*QueryGetStakeStorageRequest) Descriptor

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

func (*QueryGetStakeStorageRequest) GetIndex

func (m *QueryGetStakeStorageRequest) GetIndex() string

func (*QueryGetStakeStorageRequest) Marshal

func (m *QueryGetStakeStorageRequest) Marshal() (dAtA []byte, err error)

func (*QueryGetStakeStorageRequest) MarshalTo

func (m *QueryGetStakeStorageRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetStakeStorageRequest) MarshalToSizedBuffer

func (m *QueryGetStakeStorageRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetStakeStorageRequest) ProtoMessage

func (*QueryGetStakeStorageRequest) ProtoMessage()

func (*QueryGetStakeStorageRequest) Reset

func (m *QueryGetStakeStorageRequest) Reset()

func (*QueryGetStakeStorageRequest) Size

func (m *QueryGetStakeStorageRequest) Size() (n int)

func (*QueryGetStakeStorageRequest) String

func (m *QueryGetStakeStorageRequest) String() string

func (*QueryGetStakeStorageRequest) Unmarshal

func (m *QueryGetStakeStorageRequest) Unmarshal(dAtA []byte) error

func (*QueryGetStakeStorageRequest) XXX_DiscardUnknown

func (m *QueryGetStakeStorageRequest) XXX_DiscardUnknown()

func (*QueryGetStakeStorageRequest) XXX_Marshal

func (m *QueryGetStakeStorageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetStakeStorageRequest) XXX_Merge

func (m *QueryGetStakeStorageRequest) XXX_Merge(src proto.Message)

func (*QueryGetStakeStorageRequest) XXX_Size

func (m *QueryGetStakeStorageRequest) XXX_Size() int

func (*QueryGetStakeStorageRequest) XXX_Unmarshal

func (m *QueryGetStakeStorageRequest) XXX_Unmarshal(b []byte) error

type QueryGetStakeStorageResponse

type QueryGetStakeStorageResponse struct {
	StakeStorage StakeStorage `protobuf:"bytes,1,opt,name=stakeStorage,proto3" json:"stakeStorage"`
}

func (*QueryGetStakeStorageResponse) Descriptor

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

func (*QueryGetStakeStorageResponse) GetStakeStorage

func (m *QueryGetStakeStorageResponse) GetStakeStorage() StakeStorage

func (*QueryGetStakeStorageResponse) Marshal

func (m *QueryGetStakeStorageResponse) Marshal() (dAtA []byte, err error)

func (*QueryGetStakeStorageResponse) MarshalTo

func (m *QueryGetStakeStorageResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryGetStakeStorageResponse) MarshalToSizedBuffer

func (m *QueryGetStakeStorageResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryGetStakeStorageResponse) ProtoMessage

func (*QueryGetStakeStorageResponse) ProtoMessage()

func (*QueryGetStakeStorageResponse) Reset

func (m *QueryGetStakeStorageResponse) Reset()

func (*QueryGetStakeStorageResponse) Size

func (m *QueryGetStakeStorageResponse) Size() (n int)

func (*QueryGetStakeStorageResponse) String

func (*QueryGetStakeStorageResponse) Unmarshal

func (m *QueryGetStakeStorageResponse) Unmarshal(dAtA []byte) error

func (*QueryGetStakeStorageResponse) XXX_DiscardUnknown

func (m *QueryGetStakeStorageResponse) XXX_DiscardUnknown()

func (*QueryGetStakeStorageResponse) XXX_Marshal

func (m *QueryGetStakeStorageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryGetStakeStorageResponse) XXX_Merge

func (m *QueryGetStakeStorageResponse) XXX_Merge(src proto.Message)

func (*QueryGetStakeStorageResponse) XXX_Size

func (m *QueryGetStakeStorageResponse) XXX_Size() int

func (*QueryGetStakeStorageResponse) XXX_Unmarshal

func (m *QueryGetStakeStorageResponse) XXX_Unmarshal(b []byte) error

type QueryParamsRequest

type QueryParamsRequest struct {
}

QueryParamsRequest is request type for the Query/Params RPC method.

func (*QueryParamsRequest) Descriptor

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

func (*QueryParamsRequest) Marshal

func (m *QueryParamsRequest) Marshal() (dAtA []byte, err error)

func (*QueryParamsRequest) MarshalTo

func (m *QueryParamsRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryParamsRequest) MarshalToSizedBuffer

func (m *QueryParamsRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryParamsRequest) ProtoMessage

func (*QueryParamsRequest) ProtoMessage()

func (*QueryParamsRequest) Reset

func (m *QueryParamsRequest) Reset()

func (*QueryParamsRequest) Size

func (m *QueryParamsRequest) Size() (n int)

func (*QueryParamsRequest) String

func (m *QueryParamsRequest) String() string

func (*QueryParamsRequest) Unmarshal

func (m *QueryParamsRequest) Unmarshal(dAtA []byte) error

func (*QueryParamsRequest) XXX_DiscardUnknown

func (m *QueryParamsRequest) XXX_DiscardUnknown()

func (*QueryParamsRequest) XXX_Marshal

func (m *QueryParamsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryParamsRequest) XXX_Merge

func (m *QueryParamsRequest) XXX_Merge(src proto.Message)

func (*QueryParamsRequest) XXX_Size

func (m *QueryParamsRequest) XXX_Size() int

func (*QueryParamsRequest) XXX_Unmarshal

func (m *QueryParamsRequest) XXX_Unmarshal(b []byte) error

type QueryParamsResponse

type QueryParamsResponse struct {
	// params holds all the parameters of this module.
	Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"`
}

QueryParamsResponse is response type for the Query/Params RPC method.

func (*QueryParamsResponse) Descriptor

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

func (*QueryParamsResponse) GetParams

func (m *QueryParamsResponse) GetParams() Params

func (*QueryParamsResponse) Marshal

func (m *QueryParamsResponse) Marshal() (dAtA []byte, err error)

func (*QueryParamsResponse) MarshalTo

func (m *QueryParamsResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryParamsResponse) MarshalToSizedBuffer

func (m *QueryParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryParamsResponse) ProtoMessage

func (*QueryParamsResponse) ProtoMessage()

func (*QueryParamsResponse) Reset

func (m *QueryParamsResponse) Reset()

func (*QueryParamsResponse) Size

func (m *QueryParamsResponse) Size() (n int)

func (*QueryParamsResponse) String

func (m *QueryParamsResponse) String() string

func (*QueryParamsResponse) Unmarshal

func (m *QueryParamsResponse) Unmarshal(dAtA []byte) error

func (*QueryParamsResponse) XXX_DiscardUnknown

func (m *QueryParamsResponse) XXX_DiscardUnknown()

func (*QueryParamsResponse) XXX_Marshal

func (m *QueryParamsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryParamsResponse) XXX_Merge

func (m *QueryParamsResponse) XXX_Merge(src proto.Message)

func (*QueryParamsResponse) XXX_Size

func (m *QueryParamsResponse) XXX_Size() int

func (*QueryParamsResponse) XXX_Unmarshal

func (m *QueryParamsResponse) XXX_Unmarshal(b []byte) error

type QueryProviderMetaDataRequest added in v3.2.0

type QueryProviderMetaDataRequest struct {
	Provider string `protobuf:"bytes,1,opt,name=provider,proto3" json:"provider,omitempty"`
}

func (*QueryProviderMetaDataRequest) Descriptor added in v3.2.0

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

func (*QueryProviderMetaDataRequest) GetProvider added in v3.2.0

func (m *QueryProviderMetaDataRequest) GetProvider() string

func (*QueryProviderMetaDataRequest) Marshal added in v3.2.0

func (m *QueryProviderMetaDataRequest) Marshal() (dAtA []byte, err error)

func (*QueryProviderMetaDataRequest) MarshalTo added in v3.2.0

func (m *QueryProviderMetaDataRequest) MarshalTo(dAtA []byte) (int, error)

func (*QueryProviderMetaDataRequest) MarshalToSizedBuffer added in v3.2.0

func (m *QueryProviderMetaDataRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryProviderMetaDataRequest) ProtoMessage added in v3.2.0

func (*QueryProviderMetaDataRequest) ProtoMessage()

func (*QueryProviderMetaDataRequest) Reset added in v3.2.0

func (m *QueryProviderMetaDataRequest) Reset()

func (*QueryProviderMetaDataRequest) Size added in v3.2.0

func (m *QueryProviderMetaDataRequest) Size() (n int)

func (*QueryProviderMetaDataRequest) String added in v3.2.0

func (*QueryProviderMetaDataRequest) Unmarshal added in v3.2.0

func (m *QueryProviderMetaDataRequest) Unmarshal(dAtA []byte) error

func (*QueryProviderMetaDataRequest) XXX_DiscardUnknown added in v3.2.0

func (m *QueryProviderMetaDataRequest) XXX_DiscardUnknown()

func (*QueryProviderMetaDataRequest) XXX_Marshal added in v3.2.0

func (m *QueryProviderMetaDataRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryProviderMetaDataRequest) XXX_Merge added in v3.2.0

func (m *QueryProviderMetaDataRequest) XXX_Merge(src proto.Message)

func (*QueryProviderMetaDataRequest) XXX_Size added in v3.2.0

func (m *QueryProviderMetaDataRequest) XXX_Size() int

func (*QueryProviderMetaDataRequest) XXX_Unmarshal added in v3.2.0

func (m *QueryProviderMetaDataRequest) XXX_Unmarshal(b []byte) error

type QueryProviderMetaDataResponse added in v3.2.0

type QueryProviderMetaDataResponse struct {
	MetaData []ProviderMetadata `protobuf:"bytes,1,rep,name=MetaData,proto3" json:"MetaData"`
}

func (*QueryProviderMetaDataResponse) Descriptor added in v3.2.0

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

func (*QueryProviderMetaDataResponse) GetMetaData added in v3.2.0

func (*QueryProviderMetaDataResponse) Marshal added in v3.2.0

func (m *QueryProviderMetaDataResponse) Marshal() (dAtA []byte, err error)

func (*QueryProviderMetaDataResponse) MarshalTo added in v3.2.0

func (m *QueryProviderMetaDataResponse) MarshalTo(dAtA []byte) (int, error)

func (*QueryProviderMetaDataResponse) MarshalToSizedBuffer added in v3.2.0

func (m *QueryProviderMetaDataResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*QueryProviderMetaDataResponse) ProtoMessage added in v3.2.0

func (*QueryProviderMetaDataResponse) ProtoMessage()

func (*QueryProviderMetaDataResponse) Reset added in v3.2.0

func (m *QueryProviderMetaDataResponse) Reset()

func (*QueryProviderMetaDataResponse) Size added in v3.2.0

func (m *QueryProviderMetaDataResponse) Size() (n int)

func (*QueryProviderMetaDataResponse) String added in v3.2.0

func (*QueryProviderMetaDataResponse) Unmarshal added in v3.2.0

func (m *QueryProviderMetaDataResponse) Unmarshal(dAtA []byte) error

func (*QueryProviderMetaDataResponse) XXX_DiscardUnknown added in v3.2.0

func (m *QueryProviderMetaDataResponse) XXX_DiscardUnknown()

func (*QueryProviderMetaDataResponse) XXX_Marshal added in v3.2.0

func (m *QueryProviderMetaDataResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*QueryProviderMetaDataResponse) XXX_Merge added in v3.2.0

func (m *QueryProviderMetaDataResponse) XXX_Merge(src proto.Message)

func (*QueryProviderMetaDataResponse) XXX_Size added in v3.2.0

func (m *QueryProviderMetaDataResponse) XXX_Size() int

func (*QueryProviderMetaDataResponse) XXX_Unmarshal added in v3.2.0

func (m *QueryProviderMetaDataResponse) XXX_Unmarshal(b []byte) error

type QueryServer

type QueryServer interface {
	// Parameters queries the parameters of the module.
	Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
	// Queries a StakeStorage by index.
	StakeStorage(context.Context, *QueryGetStakeStorageRequest) (*QueryGetStakeStorageResponse, error)
	// Queries a list of StakeStorage items.
	StakeStorageAll(context.Context, *QueryAllStakeStorageRequest) (*QueryAllStakeStorageResponse, error)
	// Queries a EpochDetails by index.
	EpochDetails(context.Context, *QueryGetEpochDetailsRequest) (*QueryGetEpochDetailsResponse, error)
	// Queries a FixatedParams by index.
	FixatedParams(context.Context, *QueryGetFixatedParamsRequest) (*QueryGetFixatedParamsResponse, error)
	// Queries a list of FixatedParams items.
	FixatedParamsAll(context.Context, *QueryAllFixatedParamsRequest) (*QueryAllFixatedParamsResponse, error)
	// Queries provider metadata.
	ProviderMetaData(context.Context, *QueryProviderMetaDataRequest) (*QueryProviderMetaDataResponse, error)
}

QueryServer is the server API for Query service.

type SpecKeeper

type SpecKeeper interface {
	// Methods imported from spec should be defined here
	GetAllChainIDs(ctx sdk.Context) (chainIDs []string)
	IsSpecFoundAndActive(ctx sdk.Context, chainID string) (foundAndActive, found bool, providersType spectypes.Spec_ProvidersTypes)
}

type StakeEntry

type StakeEntry struct {
	Stake              types.Coin         `protobuf:"bytes,1,opt,name=stake,proto3" json:"stake"`
	Address            string             `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	StakeAppliedBlock  uint64             `protobuf:"varint,3,opt,name=stake_applied_block,json=stakeAppliedBlock,proto3" json:"stake_applied_block,omitempty"`
	Endpoints          []Endpoint         `protobuf:"bytes,4,rep,name=endpoints,proto3" json:"endpoints"`
	Geolocation        int32              `protobuf:"varint,5,opt,name=geolocation,proto3" json:"geolocation,omitempty"`
	Chain              string             `protobuf:"bytes,6,opt,name=chain,proto3" json:"chain,omitempty"`
	Moniker            string             `protobuf:"bytes,8,opt,name=moniker,proto3" json:"moniker,omitempty"`
	DelegateTotal      types.Coin         `protobuf:"bytes,9,opt,name=delegate_total,json=delegateTotal,proto3" json:"delegate_total"`
	DelegateCommission uint64             `protobuf:"varint,11,opt,name=delegate_commission,json=delegateCommission,proto3" json:"delegate_commission,omitempty"`
	BlockReport        *BlockReport       `protobuf:"bytes,13,opt,name=block_report,json=blockReport,proto3" json:"block_report,omitempty"`
	Vault              string             `protobuf:"bytes,14,opt,name=vault,proto3" json:"vault,omitempty"`
	Description        types1.Description `protobuf:"bytes,15,opt,name=description,proto3" json:"description"`
	Jails              uint64             `protobuf:"varint,16,opt,name=jails,proto3" json:"jails,omitempty"`
	JailEndTime        int64              `protobuf:"varint,17,opt,name=jail_end_time,json=jailEndTime,proto3" json:"jail_end_time,omitempty"`
}

func (*StakeEntry) Descriptor

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

func (*StakeEntry) Freeze

func (stakeEntry *StakeEntry) Freeze()

func (*StakeEntry) GetAddress

func (m *StakeEntry) GetAddress() string

func (*StakeEntry) GetBlockReport

func (m *StakeEntry) GetBlockReport() *BlockReport

func (*StakeEntry) GetChain

func (m *StakeEntry) GetChain() string

func (*StakeEntry) GetDelegateCommission

func (m *StakeEntry) GetDelegateCommission() uint64

func (*StakeEntry) GetDelegateTotal

func (m *StakeEntry) GetDelegateTotal() types.Coin

func (*StakeEntry) GetDescription

func (m *StakeEntry) GetDescription() types1.Description

func (*StakeEntry) GetEndpoints

func (m *StakeEntry) GetEndpoints() []Endpoint

func (*StakeEntry) GetEndpointsSupportingService

func (stakeEntry *StakeEntry) GetEndpointsSupportingService(apiInterface, addon, extension string) (endpoints []*Endpoint)

can be used for both addon and a single extension

func (*StakeEntry) GetGeolocation

func (m *StakeEntry) GetGeolocation() int32

func (*StakeEntry) GetJailEndTime

func (m *StakeEntry) GetJailEndTime() int64

func (*StakeEntry) GetJails

func (m *StakeEntry) GetJails() uint64

func (*StakeEntry) GetMoniker

func (m *StakeEntry) GetMoniker() string

func (*StakeEntry) GetStake

func (m *StakeEntry) GetStake() types.Coin

func (*StakeEntry) GetStakeAppliedBlock

func (m *StakeEntry) GetStakeAppliedBlock() uint64

func (*StakeEntry) GetSupportedServices

func (stakeEntry *StakeEntry) GetSupportedServices() (services []EndpointService)

func (*StakeEntry) GetVault

func (m *StakeEntry) GetVault() string

func (*StakeEntry) IsAddressVaultAndNotProvider

func (stakeEntry *StakeEntry) IsAddressVaultAndNotProvider(address string) bool

func (*StakeEntry) IsAddressVaultOrProvider

func (stakeEntry *StakeEntry) IsAddressVaultOrProvider(address string) bool

func (*StakeEntry) IsFrozen

func (stakeEntry *StakeEntry) IsFrozen() bool

func (*StakeEntry) IsJailed

func (stakeEntry *StakeEntry) IsJailed(time int64) bool

func (*StakeEntry) Marshal

func (m *StakeEntry) Marshal() (dAtA []byte, err error)

func (*StakeEntry) MarshalTo

func (m *StakeEntry) MarshalTo(dAtA []byte) (int, error)

func (*StakeEntry) MarshalToSizedBuffer

func (m *StakeEntry) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StakeEntry) ProtoMessage

func (*StakeEntry) ProtoMessage()

func (*StakeEntry) Reset

func (m *StakeEntry) Reset()

func (*StakeEntry) Size

func (m *StakeEntry) Size() (n int)

func (*StakeEntry) String

func (m *StakeEntry) String() string

func (StakeEntry) TotalStake added in v3.1.5

func (se StakeEntry) TotalStake() math.Int

StakeEntry methods

func (*StakeEntry) UnFreeze

func (stakeEntry *StakeEntry) UnFreeze(currentBlock uint64)

func (*StakeEntry) Unmarshal

func (m *StakeEntry) Unmarshal(dAtA []byte) error

func (*StakeEntry) XXX_DiscardUnknown

func (m *StakeEntry) XXX_DiscardUnknown()

func (*StakeEntry) XXX_Marshal

func (m *StakeEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StakeEntry) XXX_Merge

func (m *StakeEntry) XXX_Merge(src proto.Message)

func (*StakeEntry) XXX_Size

func (m *StakeEntry) XXX_Size() int

func (*StakeEntry) XXX_Unmarshal

func (m *StakeEntry) XXX_Unmarshal(b []byte) error

type StakeStorage

type StakeStorage struct {
	Index          string       `protobuf:"bytes,1,opt,name=index,proto3" json:"index,omitempty"`
	StakeEntries   []StakeEntry `protobuf:"bytes,2,rep,name=stakeEntries,proto3" json:"stakeEntries"`
	EpochBlockHash []byte       `protobuf:"bytes,3,opt,name=epochBlockHash,proto3" json:"epochBlockHash,omitempty"`
}

func (StakeStorage) Copy

func (stksto StakeStorage) Copy() (returnedStorage StakeStorage)

returns a deep copy of the stake storage with the same index

func (*StakeStorage) Descriptor

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

func (*StakeStorage) GetEpochBlockHash

func (m *StakeStorage) GetEpochBlockHash() []byte

func (*StakeStorage) GetIndex

func (m *StakeStorage) GetIndex() string

func (*StakeStorage) GetStakeEntries

func (m *StakeStorage) GetStakeEntries() []StakeEntry

func (*StakeStorage) Marshal

func (m *StakeStorage) Marshal() (dAtA []byte, err error)

func (*StakeStorage) MarshalTo

func (m *StakeStorage) MarshalTo(dAtA []byte) (int, error)

func (*StakeStorage) MarshalToSizedBuffer

func (m *StakeStorage) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*StakeStorage) ProtoMessage

func (*StakeStorage) ProtoMessage()

func (*StakeStorage) Reset

func (m *StakeStorage) Reset()

func (*StakeStorage) Size

func (m *StakeStorage) Size() (n int)

func (*StakeStorage) String

func (m *StakeStorage) String() string

func (*StakeStorage) Unmarshal

func (m *StakeStorage) Unmarshal(dAtA []byte) error

func (*StakeStorage) XXX_DiscardUnknown

func (m *StakeStorage) XXX_DiscardUnknown()

func (*StakeStorage) XXX_Marshal

func (m *StakeStorage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*StakeStorage) XXX_Merge

func (m *StakeStorage) XXX_Merge(src proto.Message)

func (*StakeStorage) XXX_Size

func (m *StakeStorage) XXX_Size() int

func (*StakeStorage) XXX_Unmarshal

func (m *StakeStorage) XXX_Unmarshal(b []byte) error

type StakingKeeper

type StakingKeeper interface {
	BondDenom(ctx sdk.Context) string
}

type UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

type UnimplementedQueryServer

type UnimplementedQueryServer struct {
}

UnimplementedQueryServer can be embedded to have forward compatible implementations.

func (*UnimplementedQueryServer) EpochDetails

func (*UnimplementedQueryServer) FixatedParams

func (*UnimplementedQueryServer) FixatedParamsAll

func (*UnimplementedQueryServer) Params

func (*UnimplementedQueryServer) ProviderMetaData added in v3.2.0

func (*UnimplementedQueryServer) StakeStorage

func (*UnimplementedQueryServer) StakeStorageAll

Directories

Path Synopsis
migrations
v3
v6

Jump to

Keyboard shortcuts

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