types

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package types is a generated protocol buffer package.

It is generated from these files:

types/types.proto

It has these top-level messages:

Request
RequestEcho
RequestFlush
RequestInfo
RequestSetOption
RequestDeliverTx
RequestCheckTx
RequestQuery
RequestCommit
RequestInitChain
RequestBeginBlock
RequestEndBlock
RequestSetValidators
Response
ResponseException
ResponseEcho
ResponseFlush
ResponseInfo
ResponseSetOption
ResponseDeliverTx
ResponseCheckTx
ResponseQuery
ResponseCommit
ResponseInitChain
ResponseBeginBlock
ResponseEndBlock
Header
BlockID
PartSetHeader
Validator

Index

Constants

View Source
const Fix = "0" //
View Source
const Maj = "0"
View Source
const Min = "3" // ResponseInfo, ResponseEndBlock
View Source
const Version = Maj + "." + Min + "." + Fix

Variables

View Source
var (
	OK = NewResultOK(nil, "")

	ErrInternalError     = NewError(CodeType_InternalError, "Internal error")
	ErrEncodingError     = NewError(CodeType_EncodingError, "Encoding error")
	ErrBadNonce          = NewError(CodeType_BadNonce, "Error bad nonce")
	ErrUnauthorized      = NewError(CodeType_Unauthorized, "Unauthorized")
	ErrInsufficientFunds = NewError(CodeType_InsufficientFunds, "Insufficient funds")
	ErrUnknownRequest    = NewError(CodeType_UnknownRequest, "Unknown request")

	ErrBaseDuplicateAddress     = NewError(CodeType_BaseDuplicateAddress, "Error (base) duplicate address")
	ErrBaseEncodingError        = NewError(CodeType_BaseEncodingError, "Error (base) encoding error")
	ErrBaseInsufficientFees     = NewError(CodeType_BaseInsufficientFees, "Error (base) insufficient fees")
	ErrBaseInsufficientFunds    = NewError(CodeType_BaseInsufficientFunds, "Error (base) insufficient funds")
	ErrBaseInsufficientGasPrice = NewError(CodeType_BaseInsufficientGasPrice, "Error (base) insufficient gas price")
	ErrBaseInvalidInput         = NewError(CodeType_BaseInvalidInput, "Error (base) invalid input")
	ErrBaseInvalidOutput        = NewError(CodeType_BaseInvalidOutput, "Error (base) invalid output")
	ErrBaseInvalidPubKey        = NewError(CodeType_BaseInvalidPubKey, "Error (base) invalid pubkey")
	ErrBaseInvalidSequence      = NewError(CodeType_BaseInvalidSequence, "Error (base) invalid sequence")
	ErrBaseInvalidSignature     = NewError(CodeType_BaseInvalidSignature, "Error (base) invalid signature")
	ErrBaseUnknownAddress       = NewError(CodeType_BaseUnknownAddress, "Error (base) unknown address")
	ErrBaseUnknownPlugin        = NewError(CodeType_BaseUnknownPlugin, "Error (base) unknown plugin")
	ErrBaseUnknownPubKey        = NewError(CodeType_BaseUnknownPubKey, "Error (base) unknown pubkey")

	ErrUnmashallJson   = NewError(CodeType_EncodingError, "[Trias]Unmashall the tx json error")
	ErrContractExecute = NewError(CodeType_ContractExecuteErr, "[Trias]Execute contract error")
	ErrDeliverTrans    = NewError(CodeType_DeliverTrans, "[Trias] Deliver UTXO error")
	ErrCheckTrans      = NewError(CodeType_CheckTrans, "[Trias] Check UTXO error")
)
View Source
var CodeType_name = map[int32]string{
	0:   "OK",
	1:   "InternalError",
	2:   "EncodingError",
	3:   "BadNonce",
	4:   "Unauthorized",
	5:   "InsufficientFunds",
	6:   "UnknownRequest",
	101: "BaseDuplicateAddress",
	102: "BaseEncodingError",
	103: "BaseInsufficientFees",
	104: "BaseInsufficientFunds",
	105: "BaseInsufficientGasPrice",
	106: "BaseInvalidInput",
	107: "BaseInvalidOutput",
	108: "BaseInvalidPubKey",
	109: "BaseInvalidSequence",
	110: "BaseInvalidSignature",
	111: "BaseUnknownAddress",
	112: "BaseUnknownPubKey",
	113: "BaseUnknownPlugin",
	201: "GovUnknownEntity",
	202: "GovUnknownGroup",
	203: "GovUnknownProposal",
	204: "GovDuplicateGroup",
	205: "GovDuplicateMember",
	206: "GovDuplicateProposal",
	207: "GovDuplicateVote",
	208: "GovInvalidMember",
	209: "GovInvalidVote",
	210: "GovInvalidVotingPower",
}
View Source
var CodeType_value = map[string]int32{
	"OK":                       0,
	"InternalError":            1,
	"EncodingError":            2,
	"BadNonce":                 3,
	"Unauthorized":             4,
	"InsufficientFunds":        5,
	"UnknownRequest":           6,
	"BaseDuplicateAddress":     101,
	"BaseEncodingError":        102,
	"BaseInsufficientFees":     103,
	"BaseInsufficientFunds":    104,
	"BaseInsufficientGasPrice": 105,
	"BaseInvalidInput":         106,
	"BaseInvalidOutput":        107,
	"BaseInvalidPubKey":        108,
	"BaseInvalidSequence":      109,
	"BaseInvalidSignature":     110,
	"BaseUnknownAddress":       111,
	"BaseUnknownPubKey":        112,
	"BaseUnknownPlugin":        113,
	"GovUnknownEntity":         201,
	"GovUnknownGroup":          202,
	"GovUnknownProposal":       203,
	"GovDuplicateGroup":        204,
	"GovDuplicateMember":       205,
	"GovDuplicateProposal":     206,
	"GovDuplicateVote":         207,
	"GovInvalidMember":         208,
	"GovInvalidVote":           209,
	"GovInvalidVotingPower":    210,
}
View Source
var MessageType_name = map[int32]string{
	0:  "NullMessage",
	1:  "Echo",
	2:  "Flush",
	3:  "Info",
	4:  "SetOption",
	5:  "Exception",
	17: "DeliverTx",
	18: "CheckTx",
	19: "Commit",
	20: "Query",
	21: "InitChain",
	22: "BeginBlock",
	23: "EndBlock",
	24: "SetValidators",
}
View Source
var MessageType_value = map[string]int32{
	"NullMessage":   0,
	"Echo":          1,
	"Flush":         2,
	"Info":          3,
	"SetOption":     4,
	"Exception":     5,
	"DeliverTx":     17,
	"CheckTx":       18,
	"Commit":        19,
	"Query":         20,
	"InitChain":     21,
	"BeginBlock":    22,
	"EndBlock":      23,
	"SetValidators": 24,
}

Functions

func ReadMessage

func ReadMessage(r io.Reader, msg proto.Message) error

Read proto message, length delimited

func RegisterABCIApplicationServer

func RegisterABCIApplicationServer(s *grpc.Server, srv ABCIApplicationServer)

func ValidatorsString

func ValidatorsString(vs Validators) string

func WriteMessage

func WriteMessage(msg proto.Message, w io.Writer) error

Write proto message, length delimited

Types

type Application

type Application interface {
	// Info/Query Connection
	Info() ResponseInfo                              // Return application info
	SetOption(key string, value string) (log string) // Set application option
	Query(reqQuery RequestQuery) ResponseQuery       // Query for state

	// Mempool Connection
	CheckTx(tx []byte) Result // Validate a tx for the mempool

	// Consensus Connection
	InitChain(validators []*Validator)       // Initialize blockchain with validators from TendermintCore
	BeginBlock(hash []byte, header *Header)  // Signals the beginning of a block
	DeliverTx(tx []byte) Result              // Deliver a tx for full processing
	EndBlock(height uint64) ResponseEndBlock // Signals the end of a block, returns changes to the validator set
	Commit() Result                          // Commit the state and return the application Merkle root hash
}

Applications

type BaseApplication added in v0.4.0

type BaseApplication struct {
}

func NewBaseApplication added in v0.4.0

func NewBaseApplication() *BaseApplication

func (*BaseApplication) BeginBlock added in v0.4.0

func (app *BaseApplication) BeginBlock(hash []byte, header *Header)

func (*BaseApplication) CheckTx added in v0.4.0

func (app *BaseApplication) CheckTx(tx []byte) Result

func (*BaseApplication) Commit added in v0.4.0

func (app *BaseApplication) Commit() Result

func (*BaseApplication) DeliverTx added in v0.4.0

func (app *BaseApplication) DeliverTx(tx []byte) Result

func (*BaseApplication) EndBlock added in v0.4.0

func (app *BaseApplication) EndBlock(height uint64) (resEndBlock ResponseEndBlock)

func (*BaseApplication) Info added in v0.4.0

func (app *BaseApplication) Info() (resInfo ResponseInfo)

func (*BaseApplication) InitChain added in v0.4.0

func (app *BaseApplication) InitChain(validators []*Validator)

func (*BaseApplication) Query added in v0.4.0

func (app *BaseApplication) Query(reqQuery RequestQuery) (resQuery ResponseQuery)

func (*BaseApplication) SetOption added in v0.4.0

func (app *BaseApplication) SetOption(key string, value string) (log string)

type BlockID

type BlockID struct {
	Hash  []byte         `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Parts *PartSetHeader `protobuf:"bytes,2,opt,name=parts" json:"parts,omitempty"`
}

func (*BlockID) Descriptor

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

func (*BlockID) GetHash

func (m *BlockID) GetHash() []byte

func (*BlockID) GetParts

func (m *BlockID) GetParts() *PartSetHeader

func (*BlockID) ProtoMessage

func (*BlockID) ProtoMessage()

func (*BlockID) Reset

func (m *BlockID) Reset()

func (*BlockID) String

func (m *BlockID) String() string

type CodeType

type CodeType int32
const (
	CodeType_OK CodeType = 0
	// General response codes, 0 ~ 99
	CodeType_InternalError     CodeType = 1
	CodeType_EncodingError     CodeType = 2
	CodeType_BadNonce          CodeType = 3
	CodeType_Unauthorized      CodeType = 4
	CodeType_InsufficientFunds CodeType = 5
	CodeType_UnknownRequest    CodeType = 6
	// Reserved for basecoin, 100 ~ 199
	CodeType_BaseDuplicateAddress     CodeType = 101
	CodeType_BaseEncodingError        CodeType = 102
	CodeType_BaseInsufficientFees     CodeType = 103
	CodeType_BaseInsufficientFunds    CodeType = 104
	CodeType_BaseInsufficientGasPrice CodeType = 105
	CodeType_BaseInvalidInput         CodeType = 106
	CodeType_BaseInvalidOutput        CodeType = 107
	CodeType_BaseInvalidPubKey        CodeType = 108
	CodeType_BaseInvalidSequence      CodeType = 109
	CodeType_BaseInvalidSignature     CodeType = 110
	CodeType_BaseUnknownAddress       CodeType = 111
	CodeType_BaseUnknownPubKey        CodeType = 112
	CodeType_BaseUnknownPlugin        CodeType = 113
	// Reserved for governance, 200 ~ 299
	CodeType_GovUnknownEntity      CodeType = 201
	CodeType_GovUnknownGroup       CodeType = 202
	CodeType_GovUnknownProposal    CodeType = 203
	CodeType_GovDuplicateGroup     CodeType = 204
	CodeType_GovDuplicateMember    CodeType = 205
	CodeType_GovDuplicateProposal  CodeType = 206
	CodeType_GovDuplicateVote      CodeType = 207
	CodeType_GovInvalidMember      CodeType = 208
	CodeType_GovInvalidVote        CodeType = 209
	CodeType_GovInvalidVotingPower CodeType = 210
	// trias execute error
	CodeType_ContractExecuteErr CodeType = 1101
	CodeType_CheckTrans         CodeType = 1201
	CodeType_DeliverTrans       CodeType = 1202
)

func (CodeType) EnumDescriptor

func (CodeType) EnumDescriptor() ([]byte, []int)

func (CodeType) IsOK added in v0.4.0

func (c CodeType) IsOK() bool

func (CodeType) String

func (x CodeType) String() string

type GRPCApplication

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

GRPC wrapper for application

func NewGRPCApplication

func NewGRPCApplication(app Application) *GRPCApplication

func (*GRPCApplication) BeginBlock

func (*GRPCApplication) CheckTx

func (app *GRPCApplication) CheckTx(ctx context.Context, req *RequestCheckTx) (*ResponseCheckTx, error)

func (*GRPCApplication) Commit

func (app *GRPCApplication) Commit(ctx context.Context, req *RequestCommit) (*ResponseCommit, error)

func (*GRPCApplication) DeliverTx

func (*GRPCApplication) Echo

func (app *GRPCApplication) Echo(ctx context.Context, req *RequestEcho) (*ResponseEcho, error)

func (*GRPCApplication) EndBlock

func (*GRPCApplication) Flush

func (app *GRPCApplication) Flush(ctx context.Context, req *RequestFlush) (*ResponseFlush, error)

func (*GRPCApplication) Info

func (app *GRPCApplication) Info(ctx context.Context, req *RequestInfo) (*ResponseInfo, error)

func (*GRPCApplication) InitChain

func (*GRPCApplication) Query

func (app *GRPCApplication) Query(ctx context.Context, req *RequestQuery) (*ResponseQuery, error)

func (*GRPCApplication) SetOption

func (*GRPCApplication) SetValidators added in v0.13.0

type Header struct {
	ChainId        string   `protobuf:"bytes,1,opt,name=chain_id,json=chainId" json:"chain_id,omitempty"`
	Height         uint64   `protobuf:"varint,2,opt,name=height" json:"height,omitempty"`
	Time           uint64   `protobuf:"varint,3,opt,name=time" json:"time,omitempty"`
	NumTxs         uint64   `protobuf:"varint,4,opt,name=num_txs,json=numTxs" json:"num_txs,omitempty"`
	LastBlockId    *BlockID `protobuf:"bytes,5,opt,name=last_block_id,json=lastBlockId" json:"last_block_id,omitempty"`
	LastCommitHash []byte   `protobuf:"bytes,6,opt,name=last_commit_hash,json=lastCommitHash,proto3" json:"last_commit_hash,omitempty"`
	DataHash       []byte   `protobuf:"bytes,7,opt,name=data_hash,json=dataHash,proto3" json:"data_hash,omitempty"`
	ValidatorsHash []byte   `protobuf:"bytes,8,opt,name=validators_hash,json=validatorsHash,proto3" json:"validators_hash,omitempty"`
	AppHash        []byte   `protobuf:"bytes,9,opt,name=app_hash,json=appHash,proto3" json:"app_hash,omitempty"`
}

func (*Header) Descriptor

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

func (*Header) GetAppHash

func (m *Header) GetAppHash() []byte

func (*Header) GetChainId

func (m *Header) GetChainId() string

func (*Header) GetDataHash

func (m *Header) GetDataHash() []byte

func (*Header) GetHeight

func (m *Header) GetHeight() uint64

func (*Header) GetLastBlockId

func (m *Header) GetLastBlockId() *BlockID

func (*Header) GetLastCommitHash

func (m *Header) GetLastCommitHash() []byte

func (*Header) GetNumTxs

func (m *Header) GetNumTxs() uint64

func (*Header) GetTime

func (m *Header) GetTime() uint64

func (*Header) GetValidatorsHash

func (m *Header) GetValidatorsHash() []byte

func (*Header) ProtoMessage

func (*Header) ProtoMessage()

func (*Header) Reset

func (m *Header) Reset()

func (*Header) String

func (m *Header) String() string

type MessageType

type MessageType int32

Not being used Could be added to request/response so we don't have to type switch (would be twice as fast, but we're talking about 15ns)

const (
	MessageType_NullMessage   MessageType = 0
	MessageType_Echo          MessageType = 1
	MessageType_Flush         MessageType = 2
	MessageType_Info          MessageType = 3
	MessageType_SetOption     MessageType = 4
	MessageType_Exception     MessageType = 5
	MessageType_DeliverTx     MessageType = 17
	MessageType_CheckTx       MessageType = 18
	MessageType_Commit        MessageType = 19
	MessageType_Query         MessageType = 20
	MessageType_InitChain     MessageType = 21
	MessageType_BeginBlock    MessageType = 22
	MessageType_EndBlock      MessageType = 23
	MessageType_SetValidators MessageType = 24
)

func (MessageType) EnumDescriptor

func (MessageType) EnumDescriptor() ([]byte, []int)

func (MessageType) String

func (x MessageType) String() string

type PartSetHeader

type PartSetHeader struct {
	Total uint64 `protobuf:"varint,1,opt,name=total" json:"total,omitempty"`
	Hash  []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
}

func (*PartSetHeader) Descriptor

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

func (*PartSetHeader) GetHash

func (m *PartSetHeader) GetHash() []byte

func (*PartSetHeader) GetTotal

func (m *PartSetHeader) GetTotal() uint64

func (*PartSetHeader) ProtoMessage

func (*PartSetHeader) ProtoMessage()

func (*PartSetHeader) Reset

func (m *PartSetHeader) Reset()

func (*PartSetHeader) String

func (m *PartSetHeader) String() string

type Request

type Request struct {
	// Types that are valid to be assigned to Value:
	//	*Request_Echo
	//	*Request_Flush
	//	*Request_Info
	//	*Request_SetOption
	//	*Request_DeliverTx
	//	*Request_CheckTx
	//	*Request_Commit
	//	*Request_Query
	//	*Request_InitChain
	//	*Request_BeginBlock
	//	*Request_EndBlock
	//  *Request_SetValidators
	Value isRequest_Value `protobuf_oneof:"value"`
}

func ToRequestBeginBlock

func ToRequestBeginBlock(hash []byte, header *Header) *Request

func ToRequestCheckTx

func ToRequestCheckTx(txBytes []byte) *Request

func ToRequestCommit

func ToRequestCommit() *Request

func ToRequestDeliverTx

func ToRequestDeliverTx(txBytes []byte) *Request

func ToRequestEcho

func ToRequestEcho(message string) *Request

func ToRequestEndBlock

func ToRequestEndBlock(height uint64) *Request

func ToRequestFlush

func ToRequestFlush() *Request

func ToRequestInfo

func ToRequestInfo() *Request

func ToRequestInitChain

func ToRequestInitChain(validators []*Validator) *Request

func ToRequestQuery

func ToRequestQuery(reqQuery RequestQuery) *Request

func ToRequestSetOption

func ToRequestSetOption(key string, value string) *Request

func ToRequestSetValidatorsAsync added in v0.13.0

func ToRequestSetValidatorsAsync(validators []*Validator) *Request

func (*Request) Descriptor

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

func (*Request) GetBeginBlock

func (m *Request) GetBeginBlock() *RequestBeginBlock

func (*Request) GetCheckTx

func (m *Request) GetCheckTx() *RequestCheckTx

func (*Request) GetCommit

func (m *Request) GetCommit() *RequestCommit

func (*Request) GetDeliverTx

func (m *Request) GetDeliverTx() *RequestDeliverTx

func (*Request) GetEcho

func (m *Request) GetEcho() *RequestEcho

func (*Request) GetEndBlock

func (m *Request) GetEndBlock() *RequestEndBlock

func (*Request) GetFlush

func (m *Request) GetFlush() *RequestFlush

func (*Request) GetInfo

func (m *Request) GetInfo() *RequestInfo

func (*Request) GetInitChain

func (m *Request) GetInitChain() *RequestInitChain

func (*Request) GetQuery

func (m *Request) GetQuery() *RequestQuery

func (*Request) GetSetOption

func (m *Request) GetSetOption() *RequestSetOption

func (*Request) GetSetValidators added in v0.13.0

func (m *Request) GetSetValidators() *RequestSetValidators

func (*Request) GetValue

func (m *Request) GetValue() isRequest_Value

func (*Request) ProtoMessage

func (*Request) ProtoMessage()

func (*Request) Reset

func (m *Request) Reset()

func (*Request) String

func (m *Request) String() string

func (*Request) XXX_OneofFuncs

func (*Request) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type RequestBeginBlock

type RequestBeginBlock struct {
	Hash   []byte  `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
	Header *Header `protobuf:"bytes,2,opt,name=header" json:"header,omitempty"`
}

func (*RequestBeginBlock) Descriptor

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

func (*RequestBeginBlock) GetHash

func (m *RequestBeginBlock) GetHash() []byte

func (*RequestBeginBlock) GetHeader

func (m *RequestBeginBlock) GetHeader() *Header

func (*RequestBeginBlock) ProtoMessage

func (*RequestBeginBlock) ProtoMessage()

func (*RequestBeginBlock) Reset

func (m *RequestBeginBlock) Reset()

func (*RequestBeginBlock) String

func (m *RequestBeginBlock) String() string

type RequestCheckTx

type RequestCheckTx struct {
	Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
}

func (*RequestCheckTx) Descriptor

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

func (*RequestCheckTx) GetTx

func (m *RequestCheckTx) GetTx() []byte

func (*RequestCheckTx) ProtoMessage

func (*RequestCheckTx) ProtoMessage()

func (*RequestCheckTx) Reset

func (m *RequestCheckTx) Reset()

func (*RequestCheckTx) String

func (m *RequestCheckTx) String() string

type RequestCommit

type RequestCommit struct {
}

func (*RequestCommit) Descriptor

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

func (*RequestCommit) ProtoMessage

func (*RequestCommit) ProtoMessage()

func (*RequestCommit) Reset

func (m *RequestCommit) Reset()

func (*RequestCommit) String

func (m *RequestCommit) String() string

type RequestDeliverTx

type RequestDeliverTx struct {
	Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"`
}

func (*RequestDeliverTx) Descriptor

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

func (*RequestDeliverTx) GetTx

func (m *RequestDeliverTx) GetTx() []byte

func (*RequestDeliverTx) ProtoMessage

func (*RequestDeliverTx) ProtoMessage()

func (*RequestDeliverTx) Reset

func (m *RequestDeliverTx) Reset()

func (*RequestDeliverTx) String

func (m *RequestDeliverTx) String() string

type RequestEcho

type RequestEcho struct {
	Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
}

func (*RequestEcho) Descriptor

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

func (*RequestEcho) GetMessage

func (m *RequestEcho) GetMessage() string

func (*RequestEcho) ProtoMessage

func (*RequestEcho) ProtoMessage()

func (*RequestEcho) Reset

func (m *RequestEcho) Reset()

func (*RequestEcho) String

func (m *RequestEcho) String() string

type RequestEndBlock

type RequestEndBlock struct {
	Height uint64 `protobuf:"varint,1,opt,name=height" json:"height,omitempty"`
}

func (*RequestEndBlock) Descriptor

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

func (*RequestEndBlock) GetHeight

func (m *RequestEndBlock) GetHeight() uint64

func (*RequestEndBlock) ProtoMessage

func (*RequestEndBlock) ProtoMessage()

func (*RequestEndBlock) Reset

func (m *RequestEndBlock) Reset()

func (*RequestEndBlock) String

func (m *RequestEndBlock) String() string

type RequestFlush

type RequestFlush struct {
}

func (*RequestFlush) Descriptor

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

func (*RequestFlush) ProtoMessage

func (*RequestFlush) ProtoMessage()

func (*RequestFlush) Reset

func (m *RequestFlush) Reset()

func (*RequestFlush) String

func (m *RequestFlush) String() string

type RequestInfo

type RequestInfo struct {
}

func (*RequestInfo) Descriptor

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

func (*RequestInfo) ProtoMessage

func (*RequestInfo) ProtoMessage()

func (*RequestInfo) Reset

func (m *RequestInfo) Reset()

func (*RequestInfo) String

func (m *RequestInfo) String() string

type RequestInitChain

type RequestInitChain struct {
	Validators []*Validator `protobuf:"bytes,1,rep,name=validators" json:"validators,omitempty"`
}

func (*RequestInitChain) Descriptor

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

func (*RequestInitChain) GetValidators

func (m *RequestInitChain) GetValidators() []*Validator

func (*RequestInitChain) ProtoMessage

func (*RequestInitChain) ProtoMessage()

func (*RequestInitChain) Reset

func (m *RequestInitChain) Reset()

func (*RequestInitChain) String

func (m *RequestInitChain) String() string

type RequestQuery

type RequestQuery struct {
	Data   []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
	Path   string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"`
	Height uint64 `protobuf:"varint,3,opt,name=height" json:"height,omitempty"`
	Prove  bool   `protobuf:"varint,4,opt,name=prove" json:"prove,omitempty"`
}

func (*RequestQuery) Descriptor

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

func (*RequestQuery) GetData added in v0.4.0

func (m *RequestQuery) GetData() []byte

func (*RequestQuery) GetHeight added in v0.4.0

func (m *RequestQuery) GetHeight() uint64

func (*RequestQuery) GetPath added in v0.4.0

func (m *RequestQuery) GetPath() string

func (*RequestQuery) GetProve added in v0.4.0

func (m *RequestQuery) GetProve() bool

func (*RequestQuery) ProtoMessage

func (*RequestQuery) ProtoMessage()

func (*RequestQuery) Reset

func (m *RequestQuery) Reset()

func (*RequestQuery) String

func (m *RequestQuery) String() string

type RequestSetOption

type RequestSetOption struct {
	Key   string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
}

func (*RequestSetOption) Descriptor

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

func (*RequestSetOption) GetKey

func (m *RequestSetOption) GetKey() string

func (*RequestSetOption) GetValue

func (m *RequestSetOption) GetValue() string

func (*RequestSetOption) ProtoMessage

func (*RequestSetOption) ProtoMessage()

func (*RequestSetOption) Reset

func (m *RequestSetOption) Reset()

func (*RequestSetOption) String

func (m *RequestSetOption) String() string

type RequestSetValidators added in v0.13.0

type RequestSetValidators struct {
	Validators []*Validator `protobuf:"bytes,1,rep,name=validators" json:"validators,omitempty"`
}

func (*RequestSetValidators) Descriptor added in v0.13.0

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

func (*RequestSetValidators) GetValidators added in v0.13.0

func (m *RequestSetValidators) GetValidators() []*Validator

func (*RequestSetValidators) ProtoMessage added in v0.13.0

func (*RequestSetValidators) ProtoMessage()

func (*RequestSetValidators) Reset added in v0.13.0

func (m *RequestSetValidators) Reset()

func (*RequestSetValidators) String added in v0.13.0

func (m *RequestSetValidators) String() string

type Request_BeginBlock

type Request_BeginBlock struct {
	BeginBlock *RequestBeginBlock `protobuf:"bytes,10,opt,name=begin_block,json=beginBlock,oneof"`
}

type Request_CheckTx

type Request_CheckTx struct {
	CheckTx *RequestCheckTx `protobuf:"bytes,6,opt,name=check_tx,json=checkTx,oneof"`
}

type Request_Commit

type Request_Commit struct {
	Commit *RequestCommit `protobuf:"bytes,7,opt,name=commit,oneof"`
}

type Request_DeliverTx

type Request_DeliverTx struct {
	DeliverTx *RequestDeliverTx `protobuf:"bytes,5,opt,name=deliver_tx,json=deliverTx,oneof"`
}

type Request_Echo

type Request_Echo struct {
	Echo *RequestEcho `protobuf:"bytes,1,opt,name=echo,oneof"`
}

type Request_EndBlock

type Request_EndBlock struct {
	EndBlock *RequestEndBlock `protobuf:"bytes,11,opt,name=end_block,json=endBlock,oneof"`
}

type Request_Flush

type Request_Flush struct {
	Flush *RequestFlush `protobuf:"bytes,2,opt,name=flush,oneof"`
}

type Request_Info

type Request_Info struct {
	Info *RequestInfo `protobuf:"bytes,3,opt,name=info,oneof"`
}

type Request_InitChain

type Request_InitChain struct {
	InitChain *RequestInitChain `protobuf:"bytes,9,opt,name=init_chain,json=initChain,oneof"`
}

type Request_Query

type Request_Query struct {
	Query *RequestQuery `protobuf:"bytes,8,opt,name=query,oneof"`
}

type Request_SetOption

type Request_SetOption struct {
	SetOption *RequestSetOption `protobuf:"bytes,4,opt,name=set_option,json=setOption,oneof"`
}

type Request_SetValidators added in v0.13.0

type Request_SetValidators struct {
	SetValidators *RequestSetValidators `protobuf:"bytes,12,opt,name=set_validators,json=setValidators,oneof"`
}

type Response

type Response struct {
	// Types that are valid to be assigned to Value:
	//	*Response_Exception
	//	*Response_Echo
	//	*Response_Flush
	//	*Response_Info
	//	*Response_SetOption
	//	*Response_DeliverTx
	//	*Response_CheckTx
	//	*Response_Commit
	//	*Response_Query
	//	*Response_InitChain
	//	*Response_BeginBlock
	//	*Response_EndBlock
	//  *Response_SetValidators
	Value isResponse_Value `protobuf_oneof:"value"`
}

func ToResponseBeginBlock

func ToResponseBeginBlock() *Response

func ToResponseCheckTx

func ToResponseCheckTx(code CodeType, data []byte, log string) *Response

func ToResponseCommit

func ToResponseCommit(code CodeType, data []byte, log string) *Response

func ToResponseDeliverTx

func ToResponseDeliverTx(code CodeType, data []byte, log string) *Response

func ToResponseEcho

func ToResponseEcho(message string) *Response

func ToResponseEndBlock

func ToResponseEndBlock(resEndBlock ResponseEndBlock) *Response

func ToResponseException

func ToResponseException(errStr string) *Response

func ToResponseFlush

func ToResponseFlush() *Response

func ToResponseInfo

func ToResponseInfo(resInfo ResponseInfo) *Response

func ToResponseInitChain

func ToResponseInitChain() *Response

func ToResponseQuery

func ToResponseQuery(resQuery ResponseQuery) *Response

func ToResponseSetOption

func ToResponseSetOption(log string) *Response

func ToResponseSetValidators added in v0.13.0

func ToResponseSetValidators() *Response

func (*Response) Descriptor

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

func (*Response) GetBeginBlock

func (m *Response) GetBeginBlock() *ResponseBeginBlock

func (*Response) GetCheckTx

func (m *Response) GetCheckTx() *ResponseCheckTx

func (*Response) GetCommit

func (m *Response) GetCommit() *ResponseCommit

func (*Response) GetDeliverTx

func (m *Response) GetDeliverTx() *ResponseDeliverTx

func (*Response) GetEcho

func (m *Response) GetEcho() *ResponseEcho

func (*Response) GetEndBlock

func (m *Response) GetEndBlock() *ResponseEndBlock

func (*Response) GetException

func (m *Response) GetException() *ResponseException

func (*Response) GetFlush

func (m *Response) GetFlush() *ResponseFlush

func (*Response) GetInfo

func (m *Response) GetInfo() *ResponseInfo

func (*Response) GetInitChain

func (m *Response) GetInitChain() *ResponseInitChain

func (*Response) GetQuery

func (m *Response) GetQuery() *ResponseQuery

func (*Response) GetSetOption

func (m *Response) GetSetOption() *ResponseSetOption

func (*Response) GetSetValidators added in v0.13.0

func (m *Response) GetSetValidators() *ResponseSetValidators

func (*Response) GetValue

func (m *Response) GetValue() isResponse_Value

func (*Response) ProtoMessage

func (*Response) ProtoMessage()

func (*Response) Reset

func (m *Response) Reset()

func (*Response) String

func (m *Response) String() string

func (*Response) XXX_OneofFuncs

func (*Response) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})

XXX_OneofFuncs is for the internal use of the proto package.

type ResponseBeginBlock

type ResponseBeginBlock struct {
}

func (*ResponseBeginBlock) Descriptor

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

func (*ResponseBeginBlock) ProtoMessage

func (*ResponseBeginBlock) ProtoMessage()

func (*ResponseBeginBlock) Reset

func (m *ResponseBeginBlock) Reset()

func (*ResponseBeginBlock) String

func (m *ResponseBeginBlock) String() string

type ResponseCheckTx

type ResponseCheckTx struct {
	Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
	Data []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	Log  string   `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"`
}

func (*ResponseCheckTx) Descriptor

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

func (*ResponseCheckTx) GetCode

func (m *ResponseCheckTx) GetCode() CodeType

func (*ResponseCheckTx) GetData

func (m *ResponseCheckTx) GetData() []byte

func (*ResponseCheckTx) GetLog

func (m *ResponseCheckTx) GetLog() string

func (*ResponseCheckTx) ProtoMessage

func (*ResponseCheckTx) ProtoMessage()

func (*ResponseCheckTx) Reset

func (m *ResponseCheckTx) Reset()

func (*ResponseCheckTx) Result added in v0.5.0

func (r *ResponseCheckTx) Result() Result

Convert ResponseCheckTx to standard Result

func (*ResponseCheckTx) String

func (m *ResponseCheckTx) String() string

type ResponseCommit

type ResponseCommit struct {
	Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
	Data []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	Log  string   `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"`
}

func (*ResponseCommit) Descriptor

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

func (*ResponseCommit) GetCode

func (m *ResponseCommit) GetCode() CodeType

func (*ResponseCommit) GetData

func (m *ResponseCommit) GetData() []byte

func (*ResponseCommit) GetLog

func (m *ResponseCommit) GetLog() string

func (*ResponseCommit) ProtoMessage

func (*ResponseCommit) ProtoMessage()

func (*ResponseCommit) Reset

func (m *ResponseCommit) Reset()

func (*ResponseCommit) String

func (m *ResponseCommit) String() string

type ResponseDeliverTx

type ResponseDeliverTx struct {
	Code CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
	Data []byte   `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
	Log  string   `protobuf:"bytes,3,opt,name=log" json:"log,omitempty"`
}

func (*ResponseDeliverTx) Descriptor

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

func (*ResponseDeliverTx) GetCode

func (m *ResponseDeliverTx) GetCode() CodeType

func (*ResponseDeliverTx) GetData

func (m *ResponseDeliverTx) GetData() []byte

func (*ResponseDeliverTx) GetLog

func (m *ResponseDeliverTx) GetLog() string

func (*ResponseDeliverTx) ProtoMessage

func (*ResponseDeliverTx) ProtoMessage()

func (*ResponseDeliverTx) Reset

func (m *ResponseDeliverTx) Reset()

func (*ResponseDeliverTx) Result added in v0.5.0

func (r *ResponseDeliverTx) Result() Result

Convert ResponseDeliverTx to standard Result

func (*ResponseDeliverTx) String

func (m *ResponseDeliverTx) String() string

type ResponseEcho

type ResponseEcho struct {
	Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
}

func (*ResponseEcho) Descriptor

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

func (*ResponseEcho) GetMessage

func (m *ResponseEcho) GetMessage() string

func (*ResponseEcho) ProtoMessage

func (*ResponseEcho) ProtoMessage()

func (*ResponseEcho) Reset

func (m *ResponseEcho) Reset()

func (*ResponseEcho) String

func (m *ResponseEcho) String() string

type ResponseEndBlock

type ResponseEndBlock struct {
	Diffs []*Validator `protobuf:"bytes,4,rep,name=diffs" json:"diffs,omitempty"`
}

func (*ResponseEndBlock) Descriptor

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

func (*ResponseEndBlock) GetDiffs

func (m *ResponseEndBlock) GetDiffs() []*Validator

func (*ResponseEndBlock) ProtoMessage

func (*ResponseEndBlock) ProtoMessage()

func (*ResponseEndBlock) Reset

func (m *ResponseEndBlock) Reset()

func (*ResponseEndBlock) String

func (m *ResponseEndBlock) String() string

type ResponseException

type ResponseException struct {
	Error string `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
}

func (*ResponseException) Descriptor

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

func (*ResponseException) GetError

func (m *ResponseException) GetError() string

func (*ResponseException) ProtoMessage

func (*ResponseException) ProtoMessage()

func (*ResponseException) Reset

func (m *ResponseException) Reset()

func (*ResponseException) String

func (m *ResponseException) String() string

type ResponseFlush

type ResponseFlush struct {
}

func (*ResponseFlush) Descriptor

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

func (*ResponseFlush) ProtoMessage

func (*ResponseFlush) ProtoMessage()

func (*ResponseFlush) Reset

func (m *ResponseFlush) Reset()

func (*ResponseFlush) String

func (m *ResponseFlush) String() string

type ResponseInfo

type ResponseInfo struct {
	Data             string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
	Version          string `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
	LastBlockHeight  uint64 `protobuf:"varint,3,opt,name=last_block_height,json=lastBlockHeight" json:"last_block_height,omitempty"`
	LastBlockAppHash []byte `protobuf:"bytes,4,opt,name=last_block_app_hash,json=lastBlockAppHash,proto3" json:"last_block_app_hash,omitempty"`
}

func (*ResponseInfo) Descriptor

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

func (*ResponseInfo) GetData

func (m *ResponseInfo) GetData() string

func (*ResponseInfo) GetLastBlockAppHash

func (m *ResponseInfo) GetLastBlockAppHash() []byte

func (*ResponseInfo) GetLastBlockHeight

func (m *ResponseInfo) GetLastBlockHeight() uint64

func (*ResponseInfo) GetVersion

func (m *ResponseInfo) GetVersion() string

func (*ResponseInfo) ProtoMessage

func (*ResponseInfo) ProtoMessage()

func (*ResponseInfo) Reset

func (m *ResponseInfo) Reset()

func (*ResponseInfo) String

func (m *ResponseInfo) String() string

type ResponseInitChain

type ResponseInitChain struct {
}

func (*ResponseInitChain) Descriptor

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

func (*ResponseInitChain) ProtoMessage

func (*ResponseInitChain) ProtoMessage()

func (*ResponseInitChain) Reset

func (m *ResponseInitChain) Reset()

func (*ResponseInitChain) String

func (m *ResponseInitChain) String() string

type ResponseQuery

type ResponseQuery struct {
	Code   CodeType `protobuf:"varint,1,opt,name=code,enum=types.CodeType" json:"code,omitempty"`
	Index  int64    `protobuf:"varint,2,opt,name=index" json:"index,omitempty"`
	Key    []byte   `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
	Value  []byte   `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
	Proof  []byte   `protobuf:"bytes,5,opt,name=proof,proto3" json:"proof,omitempty"`
	Height uint64   `protobuf:"varint,6,opt,name=height" json:"height,omitempty"`
	Log    string   `protobuf:"bytes,7,opt,name=log" json:"log,omitempty"`
}

func (*ResponseQuery) Descriptor

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

func (*ResponseQuery) GetCode

func (m *ResponseQuery) GetCode() CodeType

func (*ResponseQuery) GetHeight added in v0.4.0

func (m *ResponseQuery) GetHeight() uint64

func (*ResponseQuery) GetIndex added in v0.4.0

func (m *ResponseQuery) GetIndex() int64

func (*ResponseQuery) GetKey added in v0.4.0

func (m *ResponseQuery) GetKey() []byte

func (*ResponseQuery) GetLog

func (m *ResponseQuery) GetLog() string

func (*ResponseQuery) GetProof added in v0.4.0

func (m *ResponseQuery) GetProof() []byte

func (*ResponseQuery) GetValue added in v0.4.0

func (m *ResponseQuery) GetValue() []byte

func (*ResponseQuery) ProtoMessage

func (*ResponseQuery) ProtoMessage()

func (*ResponseQuery) Reset

func (m *ResponseQuery) Reset()

func (*ResponseQuery) Result added in v0.5.0

func (r *ResponseQuery) Result() *ResultQuery

func (*ResponseQuery) String

func (m *ResponseQuery) String() string

type ResponseSetOption

type ResponseSetOption struct {
	Log string `protobuf:"bytes,1,opt,name=log" json:"log,omitempty"`
}

func (*ResponseSetOption) Descriptor

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

func (*ResponseSetOption) GetLog

func (m *ResponseSetOption) GetLog() string

func (*ResponseSetOption) ProtoMessage

func (*ResponseSetOption) ProtoMessage()

func (*ResponseSetOption) Reset

func (m *ResponseSetOption) Reset()

func (*ResponseSetOption) String

func (m *ResponseSetOption) String() string

type ResponseSetValidators added in v0.13.0

type ResponseSetValidators struct {
}

func (*ResponseSetValidators) Descriptor added in v0.13.0

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

func (*ResponseSetValidators) ProtoMessage added in v0.13.0

func (*ResponseSetValidators) ProtoMessage()

func (*ResponseSetValidators) Reset added in v0.13.0

func (m *ResponseSetValidators) Reset()

func (*ResponseSetValidators) String added in v0.13.0

func (m *ResponseSetValidators) String() string

type Response_BeginBlock

type Response_BeginBlock struct {
	BeginBlock *ResponseBeginBlock `protobuf:"bytes,11,opt,name=begin_block,json=beginBlock,oneof"`
}

type Response_CheckTx

type Response_CheckTx struct {
	CheckTx *ResponseCheckTx `protobuf:"bytes,7,opt,name=check_tx,json=checkTx,oneof"`
}

type Response_Commit

type Response_Commit struct {
	Commit *ResponseCommit `protobuf:"bytes,8,opt,name=commit,oneof"`
}

type Response_DeliverTx

type Response_DeliverTx struct {
	DeliverTx *ResponseDeliverTx `protobuf:"bytes,6,opt,name=deliver_tx,json=deliverTx,oneof"`
}

type Response_Echo

type Response_Echo struct {
	Echo *ResponseEcho `protobuf:"bytes,2,opt,name=echo,oneof"`
}

type Response_EndBlock

type Response_EndBlock struct {
	EndBlock *ResponseEndBlock `protobuf:"bytes,12,opt,name=end_block,json=endBlock,oneof"`
}

type Response_Exception

type Response_Exception struct {
	Exception *ResponseException `protobuf:"bytes,1,opt,name=exception,oneof"`
}

type Response_Flush

type Response_Flush struct {
	Flush *ResponseFlush `protobuf:"bytes,3,opt,name=flush,oneof"`
}

type Response_Info

type Response_Info struct {
	Info *ResponseInfo `protobuf:"bytes,4,opt,name=info,oneof"`
}

type Response_InitChain

type Response_InitChain struct {
	InitChain *ResponseInitChain `protobuf:"bytes,10,opt,name=init_chain,json=initChain,oneof"`
}

type Response_Query

type Response_Query struct {
	Query *ResponseQuery `protobuf:"bytes,9,opt,name=query,oneof"`
}

type Response_SetOption

type Response_SetOption struct {
	SetOption *ResponseSetOption `protobuf:"bytes,5,opt,name=set_option,json=setOption,oneof"`
}

type Response_SetValidators added in v0.13.0

type Response_SetValidators struct {
	SetValidators *ResponseSetValidators `protobuf:"bytes,13,opt,name=set_validators,json=setValidators,oneof"`
}

type Result

type Result struct {
	Code CodeType   `json:"code"`
	Data data.Bytes `json:"data"`
	Log  string     `json:"log"` // Can be non-deterministic
}

CONTRACT: a zero Result is OK.

func NewError

func NewError(code CodeType, log string) Result

func NewResult

func NewResult(code CodeType, data []byte, log string) Result

func NewResultOK

func NewResultOK(data []byte, log string) Result

NOTE: if data == nil and log == "", same as zero Result.

func (Result) AppendLog

func (res Result) AppendLog(log string) Result

func (Result) Error

func (res Result) Error() string

func (Result) IsErr

func (res Result) IsErr() bool

func (Result) IsOK

func (res Result) IsOK() bool

func (Result) IsSameCode added in v0.5.0

func (res Result) IsSameCode(compare Result) bool

func (Result) PrependLog

func (res Result) PrependLog(log string) Result

func (Result) SetData

func (res Result) SetData(data []byte) Result

func (Result) SetLog

func (res Result) SetLog(log string) Result

func (Result) String added in v0.4.0

func (res Result) String() string

type ResultQuery added in v0.5.0

type ResultQuery struct {
	Code   CodeType   `json:"code"`
	Index  int64      `json:"index"`
	Key    data.Bytes `json:"key"`
	Value  data.Bytes `json:"value"`
	Proof  data.Bytes `json:"proof"`
	Height uint64     `json:"height"`
	Log    string     `json:"log"`
}

type Validator

type Validator struct {
	PubKey []byte `protobuf:"bytes,1,opt,name=pubKey,proto3" json:"pubKey,omitempty"`
	Power  uint64 `protobuf:"varint,2,opt,name=power" json:"power,omitempty"`
}

func (*Validator) Descriptor

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

func (*Validator) GetPower

func (m *Validator) GetPower() uint64

func (*Validator) GetPubKey

func (m *Validator) GetPubKey() []byte

func (*Validator) ProtoMessage

func (*Validator) ProtoMessage()

func (*Validator) Reset

func (m *Validator) Reset()

func (*Validator) String

func (m *Validator) String() string

type Validators

type Validators []*Validator

func (Validators) Len

func (v Validators) Len() int

func (Validators) Less

func (v Validators) Less(i, j int) bool

XXX: doesn't distinguish same validator with different power

func (Validators) Swap

func (v Validators) Swap(i, j int)

Jump to

Keyboard shortcuts

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