tokens

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TokenStatus_name = map[int32]string{
		0: "ANY",
		1: "QUEUED",
		2: "PROCESSING",
		3: "PROCESSED",
		4: "FAILED",
	}
	TokenStatus_value = map[string]int32{
		"ANY":        0,
		"QUEUED":     1,
		"PROCESSING": 2,
		"PROCESSED":  3,
		"FAILED":     4,
	}
)

Enum value maps for TokenStatus.

View Source
var File_tokens_tokens_proto protoreflect.FileDescriptor
View Source
var Tokens_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "unpack.v1.tokens.Tokens",
	HandlerType: (*TokensServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Filter",
			Handler:    _Tokens_Filter_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _Tokens_Get_Handler,
		},
		{
			MethodName: "Queue",
			Handler:    _Tokens_Queue_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "QueueAndWait",
			Handler:       _Tokens_QueueAndWait_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "Subscribe",
			Handler:       _Tokens_Subscribe_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "tokens/tokens.proto",
}

Tokens_ServiceDesc is the grpc.ServiceDesc for Tokens service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterTokensServer

func RegisterTokensServer(s grpc.ServiceRegistrar, srv TokensServer)

Types

type FilterTokensRequest

type FilterTokensRequest struct {
	StartBlock uint64 `protobuf:"varint,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"`
	EndBlock   uint64 `protobuf:"varint,2,opt,name=end_block,json=endBlock,proto3" json:"end_block,omitempty"`
	Page       uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"`
	PageSize   uint64 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	Status     uint32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*FilterTokensRequest) Descriptor deprecated

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

Deprecated: Use FilterTokensRequest.ProtoReflect.Descriptor instead.

func (*FilterTokensRequest) GetEndBlock

func (x *FilterTokensRequest) GetEndBlock() uint64

func (*FilterTokensRequest) GetPage

func (x *FilterTokensRequest) GetPage() uint64

func (*FilterTokensRequest) GetPageSize

func (x *FilterTokensRequest) GetPageSize() uint64

func (*FilterTokensRequest) GetStartBlock

func (x *FilterTokensRequest) GetStartBlock() uint64

func (*FilterTokensRequest) GetStatus

func (x *FilterTokensRequest) GetStatus() uint32

func (*FilterTokensRequest) ProtoMessage

func (*FilterTokensRequest) ProtoMessage()

func (*FilterTokensRequest) ProtoReflect

func (x *FilterTokensRequest) ProtoReflect() protoreflect.Message

func (*FilterTokensRequest) Reset

func (x *FilterTokensRequest) Reset()

func (*FilterTokensRequest) String

func (x *FilterTokensRequest) String() string

type FilterTokensResponse

type FilterTokensResponse struct {
	Status *Status  `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	Token  []*Token `protobuf:"bytes,2,rep,name=token,proto3" json:"token,omitempty"`
	// contains filtered or unexported fields
}

func (*FilterTokensResponse) Descriptor deprecated

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

Deprecated: Use FilterTokensResponse.ProtoReflect.Descriptor instead.

func (*FilterTokensResponse) GetStatus

func (x *FilterTokensResponse) GetStatus() *Status

func (*FilterTokensResponse) GetToken

func (x *FilterTokensResponse) GetToken() []*Token

func (*FilterTokensResponse) ProtoMessage

func (*FilterTokensResponse) ProtoMessage()

func (*FilterTokensResponse) ProtoReflect

func (x *FilterTokensResponse) ProtoReflect() protoreflect.Message

func (*FilterTokensResponse) Reset

func (x *FilterTokensResponse) Reset()

func (*FilterTokensResponse) String

func (x *FilterTokensResponse) String() string

type GetTokenRequest

type GetTokenRequest struct {
	TokenId uint64 `protobuf:"varint,1,opt,name=token_id,json=tokenId,proto3" json:"token_id,omitempty"`
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*GetTokenRequest) Descriptor deprecated

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

Deprecated: Use GetTokenRequest.ProtoReflect.Descriptor instead.

func (*GetTokenRequest) GetAddress

func (x *GetTokenRequest) GetAddress() string

func (*GetTokenRequest) GetTokenId

func (x *GetTokenRequest) GetTokenId() uint64

func (*GetTokenRequest) ProtoMessage

func (*GetTokenRequest) ProtoMessage()

func (*GetTokenRequest) ProtoReflect

func (x *GetTokenRequest) ProtoReflect() protoreflect.Message

func (*GetTokenRequest) Reset

func (x *GetTokenRequest) Reset()

func (*GetTokenRequest) String

func (x *GetTokenRequest) String() string

type GetTokenResponse

type GetTokenResponse struct {
	Block *Token `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
	// contains filtered or unexported fields
}

func (*GetTokenResponse) Descriptor deprecated

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

Deprecated: Use GetTokenResponse.ProtoReflect.Descriptor instead.

func (*GetTokenResponse) GetBlock

func (x *GetTokenResponse) GetBlock() *Token

func (*GetTokenResponse) ProtoMessage

func (*GetTokenResponse) ProtoMessage()

func (*GetTokenResponse) ProtoReflect

func (x *GetTokenResponse) ProtoReflect() protoreflect.Message

func (*GetTokenResponse) Reset

func (x *GetTokenResponse) Reset()

func (*GetTokenResponse) String

func (x *GetTokenResponse) String() string

type QueueTokenRequest

type QueueTokenRequest struct {
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*QueueTokenRequest) Descriptor deprecated

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

Deprecated: Use QueueTokenRequest.ProtoReflect.Descriptor instead.

func (*QueueTokenRequest) GetAddress

func (x *QueueTokenRequest) GetAddress() string

func (*QueueTokenRequest) ProtoMessage

func (*QueueTokenRequest) ProtoMessage()

func (*QueueTokenRequest) ProtoReflect

func (x *QueueTokenRequest) ProtoReflect() protoreflect.Message

func (*QueueTokenRequest) Reset

func (x *QueueTokenRequest) Reset()

func (*QueueTokenRequest) String

func (x *QueueTokenRequest) String() string

type QueueTokenResponse

type QueueTokenResponse struct {
	Status           *Status     `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	TokenQueueStatus TokenStatus `` /* 146-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*QueueTokenResponse) Descriptor deprecated

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

Deprecated: Use QueueTokenResponse.ProtoReflect.Descriptor instead.

func (*QueueTokenResponse) GetStatus

func (x *QueueTokenResponse) GetStatus() *Status

func (*QueueTokenResponse) GetTokenQueueStatus

func (x *QueueTokenResponse) GetTokenQueueStatus() TokenStatus

func (*QueueTokenResponse) ProtoMessage

func (*QueueTokenResponse) ProtoMessage()

func (*QueueTokenResponse) ProtoReflect

func (x *QueueTokenResponse) ProtoReflect() protoreflect.Message

func (*QueueTokenResponse) Reset

func (x *QueueTokenResponse) Reset()

func (*QueueTokenResponse) String

func (x *QueueTokenResponse) String() string

type Status

type Status struct {

	// A simple error code that can be easily handled by the client. The
	// actual error code is defined by `google.rpc.Code`.
	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
	// A developer-facing human-readable error message in English. It should
	// both explain the error and offer an actionable resolution to it.
	Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	// A developer-facing human-readable error message in English. It should
	// both explain the error and offer an actionable resolution to it.
	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	// Additional error information that the client code can use to handle
	// the error, such as retry info or a help link.
	Details []*any1.Any `protobuf:"bytes,4,rep,name=details,proto3" json:"details,omitempty"`
	// contains filtered or unexported fields
}

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs.

func (*Status) Descriptor deprecated

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

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetCode

func (x *Status) GetCode() int32

func (*Status) GetDetails

func (x *Status) GetDetails() []*any1.Any

func (*Status) GetMessage

func (x *Status) GetMessage() string

func (*Status) GetReason

func (x *Status) GetReason() string

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type SubscribeTokensRequest

type SubscribeTokensRequest struct {
	StartBlock uint64      `protobuf:"varint,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"`
	Status     TokenStatus `protobuf:"varint,2,opt,name=status,proto3,enum=unpack.v1.tokens.TokenStatus" json:"status,omitempty"`
	// contains filtered or unexported fields
}

func (*SubscribeTokensRequest) Descriptor deprecated

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

Deprecated: Use SubscribeTokensRequest.ProtoReflect.Descriptor instead.

func (*SubscribeTokensRequest) GetStartBlock

func (x *SubscribeTokensRequest) GetStartBlock() uint64

func (*SubscribeTokensRequest) GetStatus

func (x *SubscribeTokensRequest) GetStatus() TokenStatus

func (*SubscribeTokensRequest) ProtoMessage

func (*SubscribeTokensRequest) ProtoMessage()

func (*SubscribeTokensRequest) ProtoReflect

func (x *SubscribeTokensRequest) ProtoReflect() protoreflect.Message

func (*SubscribeTokensRequest) Reset

func (x *SubscribeTokensRequest) Reset()

func (*SubscribeTokensRequest) String

func (x *SubscribeTokensRequest) String() string

type SubscriptionTokenResponse

type SubscriptionTokenResponse struct {
	Status               *Status     `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"`
	TokenDiscoveryStatus TokenStatus `` /* 158-byte string literal not displayed */
	Token                *Token      `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"`
	// contains filtered or unexported fields
}

func (*SubscriptionTokenResponse) Descriptor deprecated

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

Deprecated: Use SubscriptionTokenResponse.ProtoReflect.Descriptor instead.

func (*SubscriptionTokenResponse) GetStatus

func (x *SubscriptionTokenResponse) GetStatus() *Status

func (*SubscriptionTokenResponse) GetToken

func (x *SubscriptionTokenResponse) GetToken() *Token

func (*SubscriptionTokenResponse) GetTokenDiscoveryStatus

func (x *SubscriptionTokenResponse) GetTokenDiscoveryStatus() TokenStatus

func (*SubscriptionTokenResponse) ProtoMessage

func (*SubscriptionTokenResponse) ProtoMessage()

func (*SubscriptionTokenResponse) ProtoReflect

func (*SubscriptionTokenResponse) Reset

func (x *SubscriptionTokenResponse) Reset()

func (*SubscriptionTokenResponse) String

func (x *SubscriptionTokenResponse) String() string

type Token

type Token struct {
	Id                       int64                `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	ChainId                  int64                `protobuf:"varint,2,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
	Address                  string               `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	CreatorAddress           string               `protobuf:"bytes,4,opt,name=creator_address,json=creatorAddress,proto3" json:"creator_address,omitempty"`
	OwnerAddress             string               `protobuf:"bytes,5,opt,name=owner_address,json=ownerAddress,proto3" json:"owner_address,omitempty"`
	Name                     string               `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	Description              string               `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
	Symbol                   string               `protobuf:"bytes,8,opt,name=symbol,proto3" json:"symbol,omitempty"`
	Decimals                 int32                `protobuf:"varint,9,opt,name=decimals,proto3" json:"decimals,omitempty"`
	CreationBlockNumber      int64                `protobuf:"varint,10,opt,name=creation_block_number,json=creationBlockNumber,proto3" json:"creation_block_number,omitempty"`
	CreationTransactionHash  string               `` /* 133-byte string literal not displayed */
	CreationTimestamp        *timestamp.Timestamp `protobuf:"bytes,12,opt,name=creation_timestamp,json=creationTimestamp,proto3" json:"creation_timestamp,omitempty"`
	TotalSupply              string               `protobuf:"bytes,13,opt,name=total_supply,json=totalSupply,proto3" json:"total_supply,omitempty"`
	TotalSupplyInCirculation string               `` /* 138-byte string literal not displayed */
	Urls                     *TokenUrls           `protobuf:"bytes,15,opt,name=urls,proto3" json:"urls,omitempty"`
	Security                 *TokenSecurityInfo   `protobuf:"bytes,16,opt,name=security,proto3" json:"security,omitempty"`
	// contains filtered or unexported fields
}

The Token protocol buffer message defines a standardized data format for representing token objects. It includes fields such as the token identifier, blockchain identifier, token name, description, symbol, decimal places, total supply, creation information, owner information, and security information. The message can be used in a variety of contexts to provide a standardized way of representing token objects.

func (*Token) Descriptor deprecated

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

Deprecated: Use Token.ProtoReflect.Descriptor instead.

func (*Token) GetAddress

func (x *Token) GetAddress() string

func (*Token) GetChainId

func (x *Token) GetChainId() int64

func (*Token) GetCreationBlockNumber

func (x *Token) GetCreationBlockNumber() int64

func (*Token) GetCreationTimestamp

func (x *Token) GetCreationTimestamp() *timestamp.Timestamp

func (*Token) GetCreationTransactionHash

func (x *Token) GetCreationTransactionHash() string

func (*Token) GetCreatorAddress

func (x *Token) GetCreatorAddress() string

func (*Token) GetDecimals

func (x *Token) GetDecimals() int32

func (*Token) GetDescription

func (x *Token) GetDescription() string

func (*Token) GetId

func (x *Token) GetId() int64

func (*Token) GetName

func (x *Token) GetName() string

func (*Token) GetOwnerAddress

func (x *Token) GetOwnerAddress() string

func (*Token) GetSecurity

func (x *Token) GetSecurity() *TokenSecurityInfo

func (*Token) GetSymbol

func (x *Token) GetSymbol() string

func (*Token) GetTotalSupply

func (x *Token) GetTotalSupply() string

func (*Token) GetTotalSupplyInCirculation

func (x *Token) GetTotalSupplyInCirculation() string

func (*Token) GetUrls

func (x *Token) GetUrls() *TokenUrls

func (*Token) ProtoMessage

func (*Token) ProtoMessage()

func (*Token) ProtoReflect

func (x *Token) ProtoReflect() protoreflect.Message

func (*Token) Reset

func (x *Token) Reset()

func (*Token) String

func (x *Token) String() string

type TokenSecurityInfo

type TokenSecurityInfo struct {
	OwnershipRenounced bool `protobuf:"varint,1,opt,name=ownership_renounced,json=ownershipRenounced,proto3" json:"ownership_renounced,omitempty"`
	// contains filtered or unexported fields
}

func (*TokenSecurityInfo) Descriptor deprecated

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

Deprecated: Use TokenSecurityInfo.ProtoReflect.Descriptor instead.

func (*TokenSecurityInfo) GetOwnershipRenounced

func (x *TokenSecurityInfo) GetOwnershipRenounced() bool

func (*TokenSecurityInfo) ProtoMessage

func (*TokenSecurityInfo) ProtoMessage()

func (*TokenSecurityInfo) ProtoReflect

func (x *TokenSecurityInfo) ProtoReflect() protoreflect.Message

func (*TokenSecurityInfo) Reset

func (x *TokenSecurityInfo) Reset()

func (*TokenSecurityInfo) String

func (x *TokenSecurityInfo) String() string

type TokenStatus

type TokenStatus int32

The `TokenStatus` defines subscription method when streaming tokens to the clients.

const (
	TokenStatus_ANY        TokenStatus = 0
	TokenStatus_QUEUED     TokenStatus = 1
	TokenStatus_PROCESSING TokenStatus = 2
	TokenStatus_PROCESSED  TokenStatus = 3
	TokenStatus_FAILED     TokenStatus = 4
)

func (TokenStatus) Descriptor

func (TokenStatus) Enum

func (x TokenStatus) Enum() *TokenStatus

func (TokenStatus) EnumDescriptor deprecated

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

Deprecated: Use TokenStatus.Descriptor instead.

func (TokenStatus) Number

func (x TokenStatus) Number() protoreflect.EnumNumber

func (TokenStatus) String

func (x TokenStatus) String() string

func (TokenStatus) Type

type TokenUrls

type TokenUrls struct {
	Website                string `protobuf:"bytes,1,opt,name=website,proto3" json:"website,omitempty"`
	TechnicalDocumentation string `` /* 127-byte string literal not displayed */
	Explorer               string `protobuf:"bytes,3,opt,name=explorer,proto3" json:"explorer,omitempty"`
	Repository             string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"`
	Telegram               string `protobuf:"bytes,5,opt,name=telegram,proto3" json:"telegram,omitempty"`
	Discord                string `protobuf:"bytes,6,opt,name=discord,proto3" json:"discord,omitempty"`
	Medium                 string `protobuf:"bytes,7,opt,name=medium,proto3" json:"medium,omitempty"`
	Twitter                string `protobuf:"bytes,8,opt,name=twitter,proto3" json:"twitter,omitempty"`
	// contains filtered or unexported fields
}

func (*TokenUrls) Descriptor deprecated

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

Deprecated: Use TokenUrls.ProtoReflect.Descriptor instead.

func (*TokenUrls) GetDiscord

func (x *TokenUrls) GetDiscord() string

func (*TokenUrls) GetExplorer

func (x *TokenUrls) GetExplorer() string

func (*TokenUrls) GetMedium

func (x *TokenUrls) GetMedium() string

func (*TokenUrls) GetRepository

func (x *TokenUrls) GetRepository() string

func (*TokenUrls) GetTechnicalDocumentation

func (x *TokenUrls) GetTechnicalDocumentation() string

func (*TokenUrls) GetTelegram

func (x *TokenUrls) GetTelegram() string

func (*TokenUrls) GetTwitter

func (x *TokenUrls) GetTwitter() string

func (*TokenUrls) GetWebsite

func (x *TokenUrls) GetWebsite() string

func (*TokenUrls) ProtoMessage

func (*TokenUrls) ProtoMessage()

func (*TokenUrls) ProtoReflect

func (x *TokenUrls) ProtoReflect() protoreflect.Message

func (*TokenUrls) Reset

func (x *TokenUrls) Reset()

func (*TokenUrls) String

func (x *TokenUrls) String() string

type TokensClient

type TokensClient interface {
	Filter(ctx context.Context, in *FilterTokensRequest, opts ...grpc.CallOption) (*FilterTokensResponse, error)
	Get(ctx context.Context, in *GetTokenRequest, opts ...grpc.CallOption) (*GetTokenResponse, error)
	// Queue new token to the network. Response will only return acknowledgements, not actual
	// token.
	Queue(ctx context.Context, in *QueueTokenRequest, opts ...grpc.CallOption) (*QueueTokenResponse, error)
	// Queue new token to the network and wait for network response about the token
	QueueAndWait(ctx context.Context, opts ...grpc.CallOption) (Tokens_QueueAndWaitClient, error)
	Subscribe(ctx context.Context, in *SubscribeTokensRequest, opts ...grpc.CallOption) (Tokens_SubscribeClient, error)
}

TokensClient is the client API for Tokens service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewTokensClient

func NewTokensClient(cc grpc.ClientConnInterface) TokensClient

type TokensServer

type TokensServer interface {
	Filter(context.Context, *FilterTokensRequest) (*FilterTokensResponse, error)
	Get(context.Context, *GetTokenRequest) (*GetTokenResponse, error)
	// Queue new token to the network. Response will only return acknowledgements, not actual
	// token.
	Queue(context.Context, *QueueTokenRequest) (*QueueTokenResponse, error)
	// Queue new token to the network and wait for network response about the token
	QueueAndWait(Tokens_QueueAndWaitServer) error
	Subscribe(*SubscribeTokensRequest, Tokens_SubscribeServer) error
	// contains filtered or unexported methods
}

TokensServer is the server API for Tokens service. All implementations must embed UnimplementedTokensServer for forward compatibility

type Tokens_QueueAndWaitClient

type Tokens_QueueAndWaitClient interface {
	Send(*QueueTokenRequest) error
	Recv() (*SubscriptionTokenResponse, error)
	grpc.ClientStream
}

type Tokens_QueueAndWaitServer

type Tokens_QueueAndWaitServer interface {
	Send(*SubscriptionTokenResponse) error
	Recv() (*QueueTokenRequest, error)
	grpc.ServerStream
}

type Tokens_SubscribeClient

type Tokens_SubscribeClient interface {
	Recv() (*SubscriptionTokenResponse, error)
	grpc.ClientStream
}

type Tokens_SubscribeServer

type Tokens_SubscribeServer interface {
	Send(*SubscriptionTokenResponse) error
	grpc.ServerStream
}

type UnimplementedTokensServer

type UnimplementedTokensServer struct {
}

UnimplementedTokensServer must be embedded to have forward compatible implementations.

func (UnimplementedTokensServer) Filter

func (UnimplementedTokensServer) Get

func (UnimplementedTokensServer) Queue

func (UnimplementedTokensServer) QueueAndWait

func (UnimplementedTokensServer) Subscribe

type UnsafeTokensServer

type UnsafeTokensServer interface {
	// contains filtered or unexported methods
}

UnsafeTokensServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to TokensServer will result in compilation errors.

Jump to

Keyboard shortcuts

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