types

package
v0.47.0-rc1 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2023 License: Apache-2.0 Imports: 42 Imported by: 13

Documentation

Overview

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	// module name
	ModuleName = "auth"

	// StoreKey is string representation of the store key for auth
	StoreKey = "acc"

	// FeeCollectorName the root string for the fee collector account address
	FeeCollectorName = "fee_collector"

	// QuerierRoute is the querier route for auth
	QuerierRoute = ModuleName
)
View Source
const (
	DefaultMaxMemoCharacters      uint64 = 256
	DefaultTxSigLimit             uint64 = 7
	DefaultTxSizeCostPerByte      uint64 = 10
	DefaultSigVerifyCostED25519   uint64 = 590
	DefaultSigVerifyCostSecp256k1 uint64 = 1000
)

Default parameter values

View Source
const (
	Minter  = "minter"
	Burner  = "burner"
	Staking = "staking"
)

permissions

View Source
const (
	QueryAccount = "account"
	QueryParams  = "params"
)

query endpoints supported by the auth Querier

Variables

View Source
var (
	ErrInvalidLengthAuth        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowAuth          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupAuth = 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 (
	// AddressStoreKeyPrefix prefix for account-by-address store
	AddressStoreKeyPrefix = []byte{0x01}

	// GlobalAccountNumberKey is param key for global account number
	GlobalAccountNumberKey = []byte("globalAccountNumber")
)
View Source
var (
	KeyMaxMemoCharacters      = []byte("MaxMemoCharacters")
	KeyTxSigLimit             = []byte("TxSigLimit")
	KeyTxSizeCostPerByte      = []byte("TxSizeCostPerByte")
	KeySigVerifyCostED25519   = []byte("SigVerifyCostED25519")
	KeySigVerifyCostSecp256k1 = []byte("SigVerifyCostSecp256k1")
)

Parameter keys

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 (
	ModuleCdc = codec.NewAminoCodec(amino)
)

Functions

func AddressStoreKey

func AddressStoreKey(addr sdk.AccAddress) []byte

AddressStoreKey turn an address to key used to get it from the account store

func NewModuleAddress added in v0.43.0

func NewModuleAddress(name string) sdk.AccAddress

NewModuleAddress creates an AccAddress from the hash of the module's name

func PackAccounts added in v0.43.0

func PackAccounts(accounts GenesisAccounts) ([]*types.Any, error)

PackAccounts converts GenesisAccounts to Any slice

func ParamKeyTable

func ParamKeyTable() paramtypes.KeyTable

ParamKeyTable for auth module

func RegisterInterfaces added in v0.43.0

func RegisterInterfaces(registry types.InterfaceRegistry)

RegisterInterfaces associates protoName with AccountI interface and creates a registry of it's concrete implementations

func RegisterLegacyAminoCodec added in v0.43.0

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the account interfaces and concrete types on the provided LegacyAmino codec. These types are used for Amino JSON serialization

func RegisterMsgServer added in v0.43.0

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

func RegisterQueryHandler added in v0.43.0

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 added in v0.43.0

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 added in v0.43.0

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 added in v0.43.0

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 (such as grpc.SendHeader, etc) to stop working. Consider using RegisterQueryHandlerFromEndpoint instead.

func RegisterQueryServer added in v0.43.0

func RegisterQueryServer(s grpc1.Server, srv QueryServer)

func ValidateGenAccounts

func ValidateGenAccounts(accounts GenesisAccounts) error

ValidateGenAccounts validates an array of GenesisAccounts and checks for duplicates

func ValidateGenesis

func ValidateGenesis(data GenesisState) error

ValidateGenesis performs basic validation of auth genesis data returning an error for any failed validation criteria.

Types

type AccountI added in v0.43.0

type AccountI interface {
	proto.Message

	GetAddress() sdk.AccAddress
	SetAddress(sdk.AccAddress) error // errors if already set.

	GetPubKey() cryptotypes.PubKey // can return nil.
	SetPubKey(cryptotypes.PubKey) error

	GetAccountNumber() uint64
	SetAccountNumber(uint64) error

	GetSequence() uint64
	SetSequence(uint64) error

	// Ensure that account implements stringer
	String() string
}

AccountI is an interface used to store coins at a given address within state. It presumes a notion of sequence numbers for replay protection, a notion of account numbers for replay protection for previously pruned accounts, and a pubkey for authentication purposes.

Many complex conditions can be used in the concrete struct which implements AccountI.

func ProtoBaseAccount

func ProtoBaseAccount() AccountI

ProtoBaseAccount - a prototype function for BaseAccount

type AccountRetriever

type AccountRetriever struct{}

AccountRetriever defines the properties of a type that can be used to retrieve accounts.

func (AccountRetriever) EnsureExists

func (ar AccountRetriever) EnsureExists(clientCtx client.Context, addr sdk.AccAddress) error

EnsureExists returns an error if no account exists for the given address else nil.

func (AccountRetriever) GetAccount

func (ar AccountRetriever) GetAccount(clientCtx client.Context, addr sdk.AccAddress) (client.Account, error)

GetAccount queries for an account given an address and a block height. An error is returned if the query or decoding fails.

func (AccountRetriever) GetAccountNumberSequence

func (ar AccountRetriever) GetAccountNumberSequence(clientCtx client.Context, addr sdk.AccAddress) (uint64, uint64, error)

GetAccountNumberSequence returns sequence and account number for the given address. It returns an error if the account couldn't be retrieved from the state.

func (AccountRetriever) GetAccountWithHeight

func (ar AccountRetriever) GetAccountWithHeight(clientCtx client.Context, addr sdk.AccAddress) (client.Account, int64, error)

GetAccountWithHeight queries for an account given an address. Returns the height of the query with the account. An error is returned if the query or decoding fails.

type BankKeeper added in v0.43.0

type BankKeeper interface {
	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
}

BankKeeper defines the contract needed for supply related APIs (noalias)

type BaseAccount

type BaseAccount struct {
	Address       string     `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	PubKey        *types.Any `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"public_key,omitempty" yaml:"public_key"`
	AccountNumber uint64     `protobuf:"varint,3,opt,name=account_number,json=accountNumber,proto3" json:"account_number,omitempty" yaml:"account_number"`
	Sequence      uint64     `protobuf:"varint,4,opt,name=sequence,proto3" json:"sequence,omitempty"`
}

BaseAccount defines a base account type. It contains all the necessary fields for basic account functionality. Any custom account type should extend this type for additional functionality (e.g. vesting).

func NewBaseAccount

func NewBaseAccount(address sdk.AccAddress, pubKey cryptotypes.PubKey, accountNumber, sequence uint64) *BaseAccount

NewBaseAccount creates a new BaseAccount object

func NewBaseAccountWithAddress

func NewBaseAccountWithAddress(addr sdk.AccAddress) *BaseAccount

NewBaseAccountWithAddress - returns a new base account with a given address leaving AccountNumber and Sequence to zero.

func (*BaseAccount) Descriptor added in v0.43.0

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

func (BaseAccount) GetAccountNumber

func (acc BaseAccount) GetAccountNumber() uint64

GetAccountNumber - Implements AccountI

func (BaseAccount) GetAddress

func (acc BaseAccount) GetAddress() sdk.AccAddress

GetAddress - Implements sdk.AccountI.

func (BaseAccount) GetPubKey

func (acc BaseAccount) GetPubKey() (pk cryptotypes.PubKey)

GetPubKey - Implements sdk.AccountI.

func (BaseAccount) GetSequence

func (acc BaseAccount) GetSequence() uint64

GetSequence - Implements sdk.AccountI.

func (*BaseAccount) Marshal added in v0.43.0

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

func (*BaseAccount) MarshalTo added in v0.43.0

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

func (*BaseAccount) MarshalToSizedBuffer added in v0.43.0

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

func (BaseAccount) MarshalYAML

func (acc BaseAccount) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of an account.

func (*BaseAccount) ProtoMessage added in v0.43.0

func (*BaseAccount) ProtoMessage()

func (*BaseAccount) Reset added in v0.43.0

func (m *BaseAccount) Reset()

func (*BaseAccount) SetAccountNumber

func (acc *BaseAccount) SetAccountNumber(accNumber uint64) error

SetAccountNumber - Implements AccountI

func (*BaseAccount) SetAddress

func (acc *BaseAccount) SetAddress(addr sdk.AccAddress) error

SetAddress - Implements sdk.AccountI.

func (*BaseAccount) SetPubKey

func (acc *BaseAccount) SetPubKey(pubKey cryptotypes.PubKey) error

SetPubKey - Implements sdk.AccountI.

func (*BaseAccount) SetSequence

func (acc *BaseAccount) SetSequence(seq uint64) error

SetSequence - Implements sdk.AccountI.

func (*BaseAccount) Size added in v0.43.0

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

func (BaseAccount) String

func (acc BaseAccount) String() string

func (*BaseAccount) Unmarshal added in v0.43.0

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

func (BaseAccount) UnpackInterfaces added in v0.43.0

func (acc BaseAccount) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces

func (BaseAccount) Validate

func (acc BaseAccount) Validate() error

Validate checks for errors on the account fields

func (*BaseAccount) XXX_DiscardUnknown added in v0.43.0

func (m *BaseAccount) XXX_DiscardUnknown()

func (*BaseAccount) XXX_Marshal added in v0.43.0

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

func (*BaseAccount) XXX_Merge added in v0.43.0

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

func (*BaseAccount) XXX_Size added in v0.43.0

func (m *BaseAccount) XXX_Size() int

func (*BaseAccount) XXX_Unmarshal added in v0.43.0

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

type GenesisAccount added in v0.43.0

type GenesisAccount interface {
	AccountI

	Validate() error
}

GenesisAccount defines a genesis account that embeds an AccountI with validation capabilities.

type GenesisAccountIterator

type GenesisAccountIterator struct{}

GenesisAccountIterator implements genesis account iteration.

func (GenesisAccountIterator) IterateGenesisAccounts

func (GenesisAccountIterator) IterateGenesisAccounts(
	cdc codec.Codec, appGenesis map[string]json.RawMessage, cb func(AccountI) (stop bool),
)

IterateGenesisAccounts iterates over all the genesis accounts found in appGenesis and invokes a callback on each genesis account. If any call returns true, iteration stops.

type GenesisAccounts added in v0.43.0

type GenesisAccounts []GenesisAccount

GenesisAccounts defines a slice of GenesisAccount objects

func SanitizeGenesisAccounts

func SanitizeGenesisAccounts(genAccs GenesisAccounts) GenesisAccounts

SanitizeGenesisAccounts sorts accounts and coin sets.

func UnpackAccounts added in v0.43.0

func UnpackAccounts(accountsAny []*types.Any) (GenesisAccounts, error)

UnpackAccounts converts Any slice to GenesisAccounts

func (GenesisAccounts) Contains added in v0.43.0

func (ga GenesisAccounts) Contains(addr sdk.Address) bool

Contains returns true if the given address exists in a slice of GenesisAccount objects.

type GenesisState

type GenesisState struct {
	// params defines all the paramaters of the module.
	Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"`
	// accounts are the accounts present at genesis.
	Accounts []*types.Any `protobuf:"bytes,2,rep,name=accounts,proto3" json:"accounts,omitempty"`
}

GenesisState defines the auth module's genesis state.

func DefaultGenesisState

func DefaultGenesisState() *GenesisState

DefaultGenesisState - Return a default genesis state

func GetGenesisStateFromAppState

func GetGenesisStateFromAppState(cdc codec.Codec, appState map[string]json.RawMessage) GenesisState

GetGenesisStateFromAppState returns x/auth GenesisState given raw application genesis state.

func NewGenesisState

func NewGenesisState(params Params, accounts GenesisAccounts) *GenesisState

NewGenesisState - Create a new genesis state

func (*GenesisState) Descriptor added in v0.43.0

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

func (*GenesisState) GetAccounts added in v0.43.0

func (m *GenesisState) GetAccounts() []*types.Any

func (*GenesisState) GetParams added in v0.43.0

func (m *GenesisState) GetParams() Params

func (*GenesisState) Marshal added in v0.43.0

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

func (*GenesisState) MarshalTo added in v0.43.0

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

func (*GenesisState) MarshalToSizedBuffer added in v0.43.0

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

func (*GenesisState) ProtoMessage added in v0.43.0

func (*GenesisState) ProtoMessage()

func (*GenesisState) Reset added in v0.43.0

func (m *GenesisState) Reset()

func (*GenesisState) Size added in v0.43.0

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

func (*GenesisState) String added in v0.43.0

func (m *GenesisState) String() string

func (*GenesisState) Unmarshal added in v0.43.0

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

func (GenesisState) UnpackInterfaces added in v0.43.0

func (g GenesisState) UnpackInterfaces(unpacker types.AnyUnpacker) error

UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces

func (*GenesisState) XXX_DiscardUnknown added in v0.43.0

func (m *GenesisState) XXX_DiscardUnknown()

func (*GenesisState) XXX_Marshal added in v0.43.0

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

func (*GenesisState) XXX_Merge added in v0.43.0

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

func (*GenesisState) XXX_Size added in v0.43.0

func (m *GenesisState) XXX_Size() int

func (*GenesisState) XXX_Unmarshal added in v0.43.0

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

type ModuleAccount added in v0.43.0

type ModuleAccount struct {
	*BaseAccount ``       /* 136-byte string literal not displayed */
	Name         string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Permissions  []string `protobuf:"bytes,3,rep,name=permissions,proto3" json:"permissions,omitempty"`
}

ModuleAccount defines an account for modules that holds coins on a pool.

func NewEmptyModuleAccount added in v0.43.0

func NewEmptyModuleAccount(name string, permissions ...string) *ModuleAccount

NewEmptyModuleAccount creates a empty ModuleAccount from a string

func NewModuleAccount added in v0.43.0

func NewModuleAccount(ba *BaseAccount, name string, permissions ...string) *ModuleAccount

NewModuleAccount creates a new ModuleAccount instance

func (*ModuleAccount) Descriptor added in v0.43.0

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

func (ModuleAccount) GetName added in v0.43.0

func (ma ModuleAccount) GetName() string

GetName returns the the name of the holder's module

func (ModuleAccount) GetPermissions added in v0.43.0

func (ma ModuleAccount) GetPermissions() []string

GetPermissions returns permissions granted to the module account

func (ModuleAccount) HasPermission added in v0.43.0

func (ma ModuleAccount) HasPermission(permission string) bool

HasPermission returns whether or not the module account has permission.

func (*ModuleAccount) Marshal added in v0.43.0

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

func (ModuleAccount) MarshalJSON added in v0.43.0

func (ma ModuleAccount) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON representation of a ModuleAccount.

func (*ModuleAccount) MarshalTo added in v0.43.0

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

func (*ModuleAccount) MarshalToSizedBuffer added in v0.43.0

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

func (ModuleAccount) MarshalYAML added in v0.43.0

func (ma ModuleAccount) MarshalYAML() (interface{}, error)

MarshalYAML returns the YAML representation of a ModuleAccount.

func (*ModuleAccount) ProtoMessage added in v0.43.0

func (*ModuleAccount) ProtoMessage()

func (*ModuleAccount) Reset added in v0.43.0

func (m *ModuleAccount) Reset()

func (ModuleAccount) SetPubKey added in v0.43.0

func (ma ModuleAccount) SetPubKey(pubKey cryptotypes.PubKey) error

SetPubKey - Implements AccountI

func (*ModuleAccount) Size added in v0.43.0

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

func (ModuleAccount) String added in v0.43.0

func (ma ModuleAccount) String() string

func (*ModuleAccount) Unmarshal added in v0.43.0

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

func (*ModuleAccount) UnmarshalJSON added in v0.43.0

func (ma *ModuleAccount) UnmarshalJSON(bz []byte) error

UnmarshalJSON unmarshals raw JSON bytes into a ModuleAccount.

func (ModuleAccount) Validate added in v0.43.0

func (ma ModuleAccount) Validate() error

Validate checks for errors on the account fields

func (*ModuleAccount) XXX_DiscardUnknown added in v0.43.0

func (m *ModuleAccount) XXX_DiscardUnknown()

func (*ModuleAccount) XXX_Marshal added in v0.43.0

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

func (*ModuleAccount) XXX_Merge added in v0.43.0

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

func (*ModuleAccount) XXX_Size added in v0.43.0

func (m *ModuleAccount) XXX_Size() int

func (*ModuleAccount) XXX_Unmarshal added in v0.43.0

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

type ModuleAccountI added in v0.43.0

type ModuleAccountI interface {
	AccountI

	GetName() string
	GetPermissions() []string
	HasPermission(string) bool
}

ModuleAccountI defines an account interface for modules that hold tokens in an escrow.

type MsgClient added in v0.43.0

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 added in v0.43.0

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgServer added in v0.43.0

type MsgServer interface {
}

MsgServer is the server API for Msg service.

type Params

type Params struct {
	MaxMemoCharacters      uint64 `` /* 142-byte string literal not displayed */
	TxSigLimit             uint64 `protobuf:"varint,2,opt,name=tx_sig_limit,json=txSigLimit,proto3" json:"tx_sig_limit,omitempty" yaml:"tx_sig_limit"`
	TxSizeCostPerByte      uint64 `` /* 148-byte string literal not displayed */
	SigVerifyCostED25519   uint64 `` /* 157-byte string literal not displayed */
	SigVerifyCostSecp256k1 uint64 `` /* 165-byte string literal not displayed */
}

Params defines the parameters for the auth module.

func DefaultParams

func DefaultParams() Params

DefaultParams returns a default set of parameters.

func NewParams

func NewParams(
	maxMemoCharacters, txSigLimit, txSizeCostPerByte, sigVerifyCostED25519, sigVerifyCostSecp256k1 uint64,
) Params

NewParams creates a new Params object

func (*Params) Descriptor added in v0.43.0

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

func (*Params) Equal

func (this *Params) Equal(that interface{}) bool

func (*Params) GetMaxMemoCharacters added in v0.43.0

func (m *Params) GetMaxMemoCharacters() uint64

func (*Params) GetSigVerifyCostED25519 added in v0.43.0

func (m *Params) GetSigVerifyCostED25519() uint64

func (*Params) GetSigVerifyCostSecp256k1 added in v0.43.0

func (m *Params) GetSigVerifyCostSecp256k1() uint64

func (*Params) GetTxSigLimit added in v0.43.0

func (m *Params) GetTxSigLimit() uint64

func (*Params) GetTxSizeCostPerByte added in v0.43.0

func (m *Params) GetTxSizeCostPerByte() uint64

func (*Params) Marshal added in v0.43.0

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

func (*Params) MarshalTo added in v0.43.0

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

func (*Params) MarshalToSizedBuffer added in v0.43.0

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

func (*Params) ParamSetPairs

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

ParamSetPairs implements the ParamSet interface and returns all the key/value pairs pairs of auth module's parameters.

func (*Params) ProtoMessage added in v0.43.0

func (*Params) ProtoMessage()

func (*Params) Reset added in v0.43.0

func (m *Params) Reset()

func (Params) SigVerifyCostSecp256r1 added in v0.46.0

func (p Params) SigVerifyCostSecp256r1() uint64

SigVerifyCostSecp256r1 returns gas fee of secp256r1 signature verification. Set by benchmarking current implementation:

BenchmarkSig/secp256k1     4334   277167 ns/op   4128 B/op   79 allocs/op
BenchmarkSig/secp256r1    10000   108769 ns/op   1672 B/op   33 allocs/op

Based on the results above secp256k1 is 2.7x is slwer. However we propose to discount it because we are we don't compare the cgo implementation of secp256k1, which is faster.

func (*Params) Size added in v0.43.0

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

func (Params) String

func (p Params) String() string

String implements the stringer interface.

func (*Params) Unmarshal added in v0.43.0

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

func (Params) Validate

func (p Params) Validate() error

Validate checks that the parameters have valid values.

func (*Params) XXX_DiscardUnknown added in v0.43.0

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal added in v0.43.0

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

func (*Params) XXX_Merge added in v0.43.0

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

func (*Params) XXX_Size added in v0.43.0

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal added in v0.43.0

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

type PermissionsForAddress added in v0.43.0

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

PermissionsForAddress defines all the registered permissions for an address

func NewPermissionsForAddress added in v0.43.0

func NewPermissionsForAddress(name string, permissions []string) PermissionsForAddress

NewPermissionsForAddress creates a new PermissionsForAddress object

func (PermissionsForAddress) GetAddress added in v0.43.0

func (pa PermissionsForAddress) GetAddress() sdk.AccAddress

GetAddress returns the address of the PermissionsForAddress object

func (PermissionsForAddress) GetPermissions added in v0.43.0

func (pa PermissionsForAddress) GetPermissions() []string

GetPermissions returns the permissions granted to the address

func (PermissionsForAddress) HasPermission added in v0.43.0

func (pa PermissionsForAddress) HasPermission(permission string) bool

HasPermission returns whether the PermissionsForAddress contains permission.

type QueryAccountRequest added in v0.43.0

type QueryAccountRequest struct {
	// address defines the address to query for.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
}

QueryAccountRequest is the request type for the Query/Account RPC method.

func (*QueryAccountRequest) Descriptor added in v0.43.0

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

func (*QueryAccountRequest) Marshal added in v0.43.0

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

func (*QueryAccountRequest) MarshalTo added in v0.43.0

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

func (*QueryAccountRequest) MarshalToSizedBuffer added in v0.43.0

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

func (*QueryAccountRequest) ProtoMessage added in v0.43.0

func (*QueryAccountRequest) ProtoMessage()

func (*QueryAccountRequest) Reset added in v0.43.0

func (m *QueryAccountRequest) Reset()

func (*QueryAccountRequest) Size added in v0.43.0

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

func (*QueryAccountRequest) String added in v0.43.0

func (m *QueryAccountRequest) String() string

func (*QueryAccountRequest) Unmarshal added in v0.43.0

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

func (*QueryAccountRequest) XXX_DiscardUnknown added in v0.43.0

func (m *QueryAccountRequest) XXX_DiscardUnknown()

func (*QueryAccountRequest) XXX_Marshal added in v0.43.0

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

func (*QueryAccountRequest) XXX_Merge added in v0.43.0

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

func (*QueryAccountRequest) XXX_Size added in v0.43.0

func (m *QueryAccountRequest) XXX_Size() int

func (*QueryAccountRequest) XXX_Unmarshal added in v0.43.0

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

type QueryAccountResponse added in v0.43.0

type QueryAccountResponse struct {
	// account defines the account of the corresponding address.
	Account *types.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
}

QueryAccountResponse is the response type for the Query/Account RPC method.

func (*QueryAccountResponse) Descriptor added in v0.43.0

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

func (*QueryAccountResponse) GetAccount added in v0.43.0

func (m *QueryAccountResponse) GetAccount() *types.Any

func (*QueryAccountResponse) Marshal added in v0.43.0

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

func (*QueryAccountResponse) MarshalTo added in v0.43.0

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

func (*QueryAccountResponse) MarshalToSizedBuffer added in v0.43.0

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

func (*QueryAccountResponse) ProtoMessage added in v0.43.0

func (*QueryAccountResponse) ProtoMessage()

func (*QueryAccountResponse) Reset added in v0.43.0

func (m *QueryAccountResponse) Reset()

func (*QueryAccountResponse) Size added in v0.43.0

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

func (*QueryAccountResponse) String added in v0.43.0

func (m *QueryAccountResponse) String() string

func (*QueryAccountResponse) Unmarshal added in v0.43.0

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

func (*QueryAccountResponse) UnpackInterfaces added in v0.43.0

func (m *QueryAccountResponse) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error

func (*QueryAccountResponse) XXX_DiscardUnknown added in v0.43.0

func (m *QueryAccountResponse) XXX_DiscardUnknown()

func (*QueryAccountResponse) XXX_Marshal added in v0.43.0

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

func (*QueryAccountResponse) XXX_Merge added in v0.43.0

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

func (*QueryAccountResponse) XXX_Size added in v0.43.0

func (m *QueryAccountResponse) XXX_Size() int

func (*QueryAccountResponse) XXX_Unmarshal added in v0.43.0

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

type QueryAccountsRequest added in v0.46.0

type QueryAccountsRequest struct {
	// pagination defines an optional pagination for the request.
	Pagination *query.PageRequest `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

QueryAccountsRequest is the request type for the Query/Accounts RPC method.

Since: cosmos-sdk 0.43

func (*QueryAccountsRequest) Descriptor added in v0.46.0

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

func (*QueryAccountsRequest) GetPagination added in v0.46.0

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

func (*QueryAccountsRequest) Marshal added in v0.46.0

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

func (*QueryAccountsRequest) MarshalTo added in v0.46.0

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

func (*QueryAccountsRequest) MarshalToSizedBuffer added in v0.46.0

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

func (*QueryAccountsRequest) ProtoMessage added in v0.46.0

func (*QueryAccountsRequest) ProtoMessage()

func (*QueryAccountsRequest) Reset added in v0.46.0

func (m *QueryAccountsRequest) Reset()

func (*QueryAccountsRequest) Size added in v0.46.0

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

func (*QueryAccountsRequest) String added in v0.46.0

func (m *QueryAccountsRequest) String() string

func (*QueryAccountsRequest) Unmarshal added in v0.46.0

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

func (*QueryAccountsRequest) XXX_DiscardUnknown added in v0.46.0

func (m *QueryAccountsRequest) XXX_DiscardUnknown()

func (*QueryAccountsRequest) XXX_Marshal added in v0.46.0

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

func (*QueryAccountsRequest) XXX_Merge added in v0.46.0

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

func (*QueryAccountsRequest) XXX_Size added in v0.46.0

func (m *QueryAccountsRequest) XXX_Size() int

func (*QueryAccountsRequest) XXX_Unmarshal added in v0.46.0

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

type QueryAccountsResponse added in v0.46.0

type QueryAccountsResponse struct {
	// accounts are the existing accounts
	Accounts []*types.Any `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"`
	// pagination defines the pagination in the response.
	Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

QueryAccountsResponse is the response type for the Query/Accounts RPC method.

Since: cosmos-sdk 0.43

func (*QueryAccountsResponse) Descriptor added in v0.46.0

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

func (*QueryAccountsResponse) GetAccounts added in v0.46.0

func (m *QueryAccountsResponse) GetAccounts() []*types.Any

func (*QueryAccountsResponse) GetPagination added in v0.46.0

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

func (*QueryAccountsResponse) Marshal added in v0.46.0

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

func (*QueryAccountsResponse) MarshalTo added in v0.46.0

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

func (*QueryAccountsResponse) MarshalToSizedBuffer added in v0.46.0

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

func (*QueryAccountsResponse) ProtoMessage added in v0.46.0

func (*QueryAccountsResponse) ProtoMessage()

func (*QueryAccountsResponse) Reset added in v0.46.0

func (m *QueryAccountsResponse) Reset()

func (*QueryAccountsResponse) Size added in v0.46.0

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

func (*QueryAccountsResponse) String added in v0.46.0

func (m *QueryAccountsResponse) String() string

func (*QueryAccountsResponse) Unmarshal added in v0.46.0

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

func (*QueryAccountsResponse) XXX_DiscardUnknown added in v0.46.0

func (m *QueryAccountsResponse) XXX_DiscardUnknown()

func (*QueryAccountsResponse) XXX_Marshal added in v0.46.0

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

func (*QueryAccountsResponse) XXX_Merge added in v0.46.0

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

func (*QueryAccountsResponse) XXX_Size added in v0.46.0

func (m *QueryAccountsResponse) XXX_Size() int

func (*QueryAccountsResponse) XXX_Unmarshal added in v0.46.0

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

type QueryClient added in v0.43.0

type QueryClient interface {
	// Accounts returns all the existing accounts
	//
	// Since: cosmos-sdk 0.43
	Accounts(ctx context.Context, in *QueryAccountsRequest, opts ...grpc.CallOption) (*QueryAccountsResponse, error)
	// Account returns account details based on address.
	Account(ctx context.Context, in *QueryAccountRequest, opts ...grpc.CallOption) (*QueryAccountResponse, error)
	// Params queries all parameters.
	Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
	// ModuleAccountByName returns the module account info by module name
	ModuleAccountByName(ctx context.Context, in *QueryModuleAccountByNameRequest, opts ...grpc.CallOption) (*QueryModuleAccountByNameResponse, 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 added in v0.43.0

func NewQueryClient(cc grpc1.ClientConn) QueryClient

type QueryModuleAccountByNameRequest added in v0.46.0

type QueryModuleAccountByNameRequest struct {
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}

QueryModuleAccountByNameRequest is the request type for the Query/ModuleAccountByName RPC method.

func (*QueryModuleAccountByNameRequest) Descriptor added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) GetName added in v0.46.0

func (*QueryModuleAccountByNameRequest) Marshal added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) MarshalTo added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) MarshalToSizedBuffer added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) ProtoMessage added in v0.46.0

func (*QueryModuleAccountByNameRequest) ProtoMessage()

func (*QueryModuleAccountByNameRequest) Reset added in v0.46.0

func (*QueryModuleAccountByNameRequest) Size added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) String added in v0.46.0

func (*QueryModuleAccountByNameRequest) Unmarshal added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) XXX_DiscardUnknown added in v0.46.0

func (m *QueryModuleAccountByNameRequest) XXX_DiscardUnknown()

func (*QueryModuleAccountByNameRequest) XXX_Marshal added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) XXX_Merge added in v0.46.0

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

func (*QueryModuleAccountByNameRequest) XXX_Size added in v0.46.0

func (m *QueryModuleAccountByNameRequest) XXX_Size() int

func (*QueryModuleAccountByNameRequest) XXX_Unmarshal added in v0.46.0

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

type QueryModuleAccountByNameResponse added in v0.46.0

type QueryModuleAccountByNameResponse struct {
	Account *types.Any `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"`
}

QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method.

func (*QueryModuleAccountByNameResponse) Descriptor added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) GetAccount added in v0.46.0

func (m *QueryModuleAccountByNameResponse) GetAccount() *types.Any

func (*QueryModuleAccountByNameResponse) Marshal added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) MarshalTo added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) MarshalToSizedBuffer added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) ProtoMessage added in v0.46.0

func (*QueryModuleAccountByNameResponse) ProtoMessage()

func (*QueryModuleAccountByNameResponse) Reset added in v0.46.0

func (*QueryModuleAccountByNameResponse) Size added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) String added in v0.46.0

func (*QueryModuleAccountByNameResponse) Unmarshal added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) XXX_DiscardUnknown added in v0.46.0

func (m *QueryModuleAccountByNameResponse) XXX_DiscardUnknown()

func (*QueryModuleAccountByNameResponse) XXX_Marshal added in v0.46.0

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

func (*QueryModuleAccountByNameResponse) XXX_Merge added in v0.46.0

func (*QueryModuleAccountByNameResponse) XXX_Size added in v0.46.0

func (m *QueryModuleAccountByNameResponse) XXX_Size() int

func (*QueryModuleAccountByNameResponse) XXX_Unmarshal added in v0.46.0

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

type QueryParamsRequest added in v0.43.0

type QueryParamsRequest struct {
}

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

func (*QueryParamsRequest) Descriptor added in v0.43.0

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

func (*QueryParamsRequest) Marshal added in v0.43.0

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

func (*QueryParamsRequest) MarshalTo added in v0.43.0

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

func (*QueryParamsRequest) MarshalToSizedBuffer added in v0.43.0

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

func (*QueryParamsRequest) ProtoMessage added in v0.43.0

func (*QueryParamsRequest) ProtoMessage()

func (*QueryParamsRequest) Reset added in v0.43.0

func (m *QueryParamsRequest) Reset()

func (*QueryParamsRequest) Size added in v0.43.0

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

func (*QueryParamsRequest) String added in v0.43.0

func (m *QueryParamsRequest) String() string

func (*QueryParamsRequest) Unmarshal added in v0.43.0

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

func (*QueryParamsRequest) XXX_DiscardUnknown added in v0.43.0

func (m *QueryParamsRequest) XXX_DiscardUnknown()

func (*QueryParamsRequest) XXX_Marshal added in v0.43.0

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

func (*QueryParamsRequest) XXX_Merge added in v0.43.0

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

func (*QueryParamsRequest) XXX_Size added in v0.43.0

func (m *QueryParamsRequest) XXX_Size() int

func (*QueryParamsRequest) XXX_Unmarshal added in v0.43.0

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

type QueryParamsResponse added in v0.43.0

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

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

func (*QueryParamsResponse) Descriptor added in v0.43.0

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

func (*QueryParamsResponse) GetParams added in v0.43.0

func (m *QueryParamsResponse) GetParams() Params

func (*QueryParamsResponse) Marshal added in v0.43.0

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

func (*QueryParamsResponse) MarshalTo added in v0.43.0

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

func (*QueryParamsResponse) MarshalToSizedBuffer added in v0.43.0

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

func (*QueryParamsResponse) ProtoMessage added in v0.43.0

func (*QueryParamsResponse) ProtoMessage()

func (*QueryParamsResponse) Reset added in v0.43.0

func (m *QueryParamsResponse) Reset()

func (*QueryParamsResponse) Size added in v0.43.0

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

func (*QueryParamsResponse) String added in v0.43.0

func (m *QueryParamsResponse) String() string

func (*QueryParamsResponse) Unmarshal added in v0.43.0

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

func (*QueryParamsResponse) XXX_DiscardUnknown added in v0.43.0

func (m *QueryParamsResponse) XXX_DiscardUnknown()

func (*QueryParamsResponse) XXX_Marshal added in v0.43.0

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

func (*QueryParamsResponse) XXX_Merge added in v0.43.0

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

func (*QueryParamsResponse) XXX_Size added in v0.43.0

func (m *QueryParamsResponse) XXX_Size() int

func (*QueryParamsResponse) XXX_Unmarshal added in v0.43.0

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

type QueryServer added in v0.43.0

type QueryServer interface {
	// Accounts returns all the existing accounts
	//
	// Since: cosmos-sdk 0.43
	Accounts(context.Context, *QueryAccountsRequest) (*QueryAccountsResponse, error)
	// Account returns account details based on address.
	Account(context.Context, *QueryAccountRequest) (*QueryAccountResponse, error)
	// Params queries all parameters.
	Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
	// ModuleAccountByName returns the module account info by module name
	ModuleAccountByName(context.Context, *QueryModuleAccountByNameRequest) (*QueryModuleAccountByNameResponse, error)
}

QueryServer is the server API for Query service.

type RandomGenesisAccountsFn added in v0.43.0

type RandomGenesisAccountsFn func(simState *module.SimulationState) GenesisAccounts

RandomGenesisAccountsFn defines the function required to generate custom account types

type UnimplementedMsgServer added in v0.43.0

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

type UnimplementedQueryServer added in v0.43.0

type UnimplementedQueryServer struct {
}

UnimplementedQueryServer can be embedded to have forward compatible implementations.

func (*UnimplementedQueryServer) Account added in v0.43.0

func (*UnimplementedQueryServer) Accounts added in v0.46.0

func (*UnimplementedQueryServer) ModuleAccountByName added in v0.46.0

func (*UnimplementedQueryServer) Params added in v0.43.0

Jump to

Keyboard shortcuts

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