types

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2021 License: MIT Imports: 39 Imported by: 128

Documentation

Overview

Package types is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	EventTypeTimeout      = "timeout"
	EventTypePacket       = "fungible_token_packet"
	EventTypeTransfer     = "ibc_transfer"
	EventTypeChannelClose = "channel_closed"
	EventTypeDenomTrace   = "denomination_trace"

	AttributeKeyReceiver       = "receiver"
	AttributeKeyDenom          = "denom"
	AttributeKeyAmount         = "amount"
	AttributeKeyRefundReceiver = "refund_receiver"
	AttributeKeyRefundDenom    = "refund_denom"
	AttributeKeyRefundAmount   = "refund_amount"
	AttributeKeyAckSuccess     = "success"
	AttributeKeyAck            = "acknowledgement"
	AttributeKeyAckError       = "error"
	AttributeKeyTraceHash      = "trace_hash"
)

IBC transfer events

View Source
const (
	// ModuleName defines the IBC transfer name
	ModuleName = "transfer"

	// Version defines the current version the IBC tranfer
	// module supports
	Version = "ics20-1"

	// PortID is the default port id that transfer module binds to
	PortID = "transfer"

	// StoreKey is the store key string for IBC transfer
	StoreKey = ModuleName

	// RouterKey is the message route for IBC transfer
	RouterKey = ModuleName

	// QuerierRoute is the querier route for IBC transfer
	QuerierRoute = ModuleName

	// DenomPrefix is the prefix used for internal SDK coin representation.
	DenomPrefix = "ibc"
)
View Source
const (
	// DefaultSendEnabled enabled
	DefaultSendEnabled = true
	// DefaultReceiveEnabled enabled
	DefaultReceiveEnabled = true
)
View Source
const (
	TypeMsgTransfer = "transfer"
)

msg types

Variables

View Source
var (

	// ModuleCdc references the global x/ibc-transfer module codec. Note, the codec
	// should ONLY be used in certain instances of tests and for JSON encoding.
	//
	// The actual codec used for serialization should be provided to x/ibc transfer and
	// defined at the application level.
	ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry())

	// AminoCdc is a amino codec created to support amino json compatible msgs.
	AminoCdc = codec.NewAminoCodec(amino)
)
View Source
var (
	ErrInvalidPacketTimeout    = sdkerrors.Register(ModuleName, 2, "invalid packet timeout")
	ErrInvalidDenomForTransfer = sdkerrors.Register(ModuleName, 3, "invalid denomination for cross-chain transfer")
	ErrInvalidVersion          = sdkerrors.Register(ModuleName, 4, "invalid ICS20 version")
	ErrInvalidAmount           = sdkerrors.Register(ModuleName, 5, "invalid token amount")
	ErrTraceNotFound           = sdkerrors.Register(ModuleName, 6, "denomination trace not found")
	ErrSendDisabled            = sdkerrors.Register(ModuleName, 7, "fungible token transfers from this chain are disabled")
	ErrReceiveDisabled         = sdkerrors.Register(ModuleName, 8, "fungible token transfers to this chain are disabled")
	ErrMaxTransferChannels     = sdkerrors.Register(ModuleName, 9, "max transfer channels")
)

IBC channel sentinel errors

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 (
	// PortKey defines the key to store the port ID in store
	PortKey = []byte{0x01}
	// DenomTraceKey defines the key to store the denomination trace info in store
	DenomTraceKey = []byte{0x02}
)
View Source
var (
	// DefaultRelativePacketTimeoutHeight is the default packet timeout height (in blocks) relative
	// to the current block height of the counterparty chain provided by the client state. The
	// timeout is disabled when set to 0.
	DefaultRelativePacketTimeoutHeight = "0-1000"

	// DefaultRelativePacketTimeoutTimestamp is the default packet timeout timestamp (in nanoseconds)
	// relative to the current block timestamp of the counterparty chain provided by the client
	// state. The timeout is disabled when set to 0. The default is currently set to a 10 minute
	// timeout.
	DefaultRelativePacketTimeoutTimestamp = uint64((time.Duration(10) * time.Minute).Nanoseconds())
)
View Source
var (
	// KeySendEnabled is store's key for SendEnabled Params
	KeySendEnabled = []byte("SendEnabled")
	// KeyReceiveEnabled is store's key for ReceiveEnabled Params
	KeyReceiveEnabled = []byte("ReceiveEnabled")
)
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 (
	ErrInvalidLengthTransfer        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTransfer          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTransfer = fmt.Errorf("proto: unexpected end of group")
)
View Source
var (
	ErrInvalidLengthTx        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowTx          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group")
)

Functions

func GetDenomPrefix

func GetDenomPrefix(portID, channelID string) string

GetDenomPrefix returns the receiving denomination prefix

func GetEscrowAddress

func GetEscrowAddress(portID, channelID string) sdk.AccAddress

GetEscrowAddress returns the escrow address for the specified channel. The escrow address follows the format as outlined in ADR 028: https://github.com/cosmos/cosmos-sdk/blob/master/docs/architecture/adr-028-public-key-addresses.md

func GetPrefixedDenom

func GetPrefixedDenom(portID, channelID, baseDenom string) string

GetPrefixedDenom returns the denomination with the portID and channelID prefixed

func GetTransferCoin

func GetTransferCoin(portID, channelID, baseDenom string, amount int64) sdk.Coin

GetTransferCoin creates a transfer coin with the port ID and channel ID prefixed to the base denom.

func ParamKeyTable

func ParamKeyTable() paramtypes.KeyTable

ParamKeyTable type declaration for parameters

func ParseHexHash

func ParseHexHash(hexHash string) (tmbytes.HexBytes, error)

ParseHexHash parses a hex hash in string format to bytes and validates its correctness.

func ReceiverChainIsSource

func ReceiverChainIsSource(sourcePort, sourceChannel, denom string) bool

ReceiverChainIsSource returns true if the denomination originally came from the receiving chain and false otherwise.

func RegisterInterfaces

func RegisterInterfaces(registry codectypes.InterfaceRegistry)

RegisterInterfaces register the ibc transfer module interfaces to protobuf Any.

func RegisterLegacyAminoCodec

func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)

RegisterLegacyAminoCodec registers the necessary x/ibc transfer interfaces and concrete types on the provided LegacyAmino codec. These types are used for Amino JSON serialization.

func RegisterMsgServer

func RegisterMsgServer(s grpc1.Server, srv MsgServer)

func RegisterQueryHandler

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

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

func RegisterQueryHandlerClient

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

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

func RegisterQueryHandlerFromEndpoint

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

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

func RegisterQueryHandlerServer

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

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

func RegisterQueryServer

func RegisterQueryServer(s grpc1.Server, srv QueryServer)

func SenderChainIsSource

func SenderChainIsSource(sourcePort, sourceChannel, denom string) bool

SenderChainIsSource returns false if the denomination originally came from the receiving chain and true otherwise.

func ValidateIBCDenom

func ValidateIBCDenom(denom string) error

ValidateIBCDenom validates that the given denomination is either:

func ValidatePrefixedDenom

func ValidatePrefixedDenom(denom string) error

ValidatePrefixedDenom checks that the denomination for an IBC fungible token packet denom is correctly prefixed. The function will return no error if the given string follows one of the two formats:

  • Prefixed denomination: '{portIDN}/{channelIDN}/.../{portID0}/{channelID0}/baseDenom'
  • Unprefixed denomination: 'baseDenom'

Types

type AccountKeeper

type AccountKeeper interface {
	GetModuleAddress(name string) sdk.AccAddress
	GetModuleAccount(ctx sdk.Context, name string) types.ModuleAccountI
}

AccountKeeper defines the contract required for account APIs.

type BankKeeper

type BankKeeper interface {
	SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
	MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
	BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error
	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
}

BankKeeper defines the expected bank keeper

type ChannelKeeper

type ChannelKeeper interface {
	GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool)
	GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool)
	SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error
}

ChannelKeeper defines the expected IBC channel keeper

type ClientKeeper

type ClientKeeper interface {
	GetClientConsensusState(ctx sdk.Context, clientID string) (connection ibcexported.ConsensusState, found bool)
}

ClientKeeper defines the expected IBC client keeper

type ConnectionKeeper

type ConnectionKeeper interface {
	GetConnection(ctx sdk.Context, connectionID string) (connection connectiontypes.ConnectionEnd, found bool)
}

ConnectionKeeper defines the expected IBC connection keeper

type DenomTrace

type DenomTrace struct {
	// path defines the chain of port/channel identifiers used for tracing the
	// source of the fungible token.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// base denomination of the relayed fungible token.
	BaseDenom string `protobuf:"bytes,2,opt,name=base_denom,json=baseDenom,proto3" json:"base_denom,omitempty"`
}

DenomTrace contains the base denomination for ICS20 fungible tokens and the source tracing information path.

func ParseDenomTrace

func ParseDenomTrace(rawDenom string) DenomTrace

ParseDenomTrace parses a string with the ibc prefix (denom trace) and the base denomination into a DenomTrace type.

Examples:

  • "portidone/channelidone/uatom" => DenomTrace{Path: "portidone/channelidone", BaseDenom: "uatom"}
  • "uatom" => DenomTrace{Path: "", BaseDenom: "uatom"}

func (*DenomTrace) Descriptor

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

func (*DenomTrace) GetBaseDenom

func (m *DenomTrace) GetBaseDenom() string

func (DenomTrace) GetFullDenomPath

func (dt DenomTrace) GetFullDenomPath() string

GetFullDenomPath returns the full denomination according to the ICS20 specification: tracePath + "/" + baseDenom If there exists no trace then the base denomination is returned.

func (*DenomTrace) GetPath

func (m *DenomTrace) GetPath() string

func (DenomTrace) GetPrefix

func (dt DenomTrace) GetPrefix() string

GetPrefix returns the receiving denomination prefix composed by the trace info and a separator.

func (DenomTrace) Hash

func (dt DenomTrace) Hash() tmbytes.HexBytes

Hash returns the hex bytes of the SHA256 hash of the DenomTrace fields using the following formula:

hash = sha256(tracePath + "/" + baseDenom)

func (DenomTrace) IBCDenom

func (dt DenomTrace) IBCDenom() string

IBCDenom a coin denomination for an ICS20 fungible token in the format 'ibc/{hash(tracePath + baseDenom)}'. If the trace is empty, it will return the base denomination.

func (*DenomTrace) Marshal

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

func (*DenomTrace) MarshalTo

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

func (*DenomTrace) MarshalToSizedBuffer

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

func (*DenomTrace) ProtoMessage

func (*DenomTrace) ProtoMessage()

func (*DenomTrace) Reset

func (m *DenomTrace) Reset()

func (*DenomTrace) Size

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

func (*DenomTrace) String

func (m *DenomTrace) String() string

func (*DenomTrace) Unmarshal

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

func (DenomTrace) Validate

func (dt DenomTrace) Validate() error

Validate performs a basic validation of the DenomTrace fields.

func (*DenomTrace) XXX_DiscardUnknown

func (m *DenomTrace) XXX_DiscardUnknown()

func (*DenomTrace) XXX_Marshal

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

func (*DenomTrace) XXX_Merge

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

func (*DenomTrace) XXX_Size

func (m *DenomTrace) XXX_Size() int

func (*DenomTrace) XXX_Unmarshal

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

type FungibleTokenPacketData

type FungibleTokenPacketData struct {
	// the token denomination to be transferred
	Denom string `protobuf:"bytes,1,opt,name=denom,proto3" json:"denom,omitempty"`
	// the token amount to be transferred
	Amount uint64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
	// the sender address
	Sender string `protobuf:"bytes,3,opt,name=sender,proto3" json:"sender,omitempty"`
	// the recipient address on the destination chain
	Receiver string `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"`
}

FungibleTokenPacketData defines a struct for the packet payload See FungibleTokenPacketData spec: https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures

func NewFungibleTokenPacketData

func NewFungibleTokenPacketData(
	denom string, amount uint64,
	sender, receiver string,
) FungibleTokenPacketData

NewFungibleTokenPacketData contructs a new FungibleTokenPacketData instance

func (*FungibleTokenPacketData) Descriptor

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

func (*FungibleTokenPacketData) GetAmount

func (m *FungibleTokenPacketData) GetAmount() uint64

func (FungibleTokenPacketData) GetBytes

func (ftpd FungibleTokenPacketData) GetBytes() []byte

GetBytes is a helper for serialising

func (*FungibleTokenPacketData) GetDenom

func (m *FungibleTokenPacketData) GetDenom() string

func (*FungibleTokenPacketData) GetReceiver

func (m *FungibleTokenPacketData) GetReceiver() string

func (*FungibleTokenPacketData) GetSender

func (m *FungibleTokenPacketData) GetSender() string

func (*FungibleTokenPacketData) Marshal

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

func (*FungibleTokenPacketData) MarshalTo

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

func (*FungibleTokenPacketData) MarshalToSizedBuffer

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

func (*FungibleTokenPacketData) ProtoMessage

func (*FungibleTokenPacketData) ProtoMessage()

func (*FungibleTokenPacketData) Reset

func (m *FungibleTokenPacketData) Reset()

func (*FungibleTokenPacketData) Size

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

func (*FungibleTokenPacketData) String

func (m *FungibleTokenPacketData) String() string

func (*FungibleTokenPacketData) Unmarshal

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

func (FungibleTokenPacketData) ValidateBasic

func (ftpd FungibleTokenPacketData) ValidateBasic() error

ValidateBasic is used for validating the token transfer. NOTE: The addresses formats are not validated as the sender and recipient can have different formats defined by their corresponding chains that are not known to IBC.

func (*FungibleTokenPacketData) XXX_DiscardUnknown

func (m *FungibleTokenPacketData) XXX_DiscardUnknown()

func (*FungibleTokenPacketData) XXX_Marshal

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

func (*FungibleTokenPacketData) XXX_Merge

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

func (*FungibleTokenPacketData) XXX_Size

func (m *FungibleTokenPacketData) XXX_Size() int

func (*FungibleTokenPacketData) XXX_Unmarshal

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

type GenesisState

type GenesisState struct {
	PortId      string `protobuf:"bytes,1,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"`
	DenomTraces Traces `protobuf:"bytes,2,rep,name=denom_traces,json=denomTraces,proto3,castrepeated=Traces" json:"denom_traces" yaml:"denom_traces"`
	Params      Params `protobuf:"bytes,3,opt,name=params,proto3" json:"params"`
}

GenesisState defines the ibc-transfer genesis state

func DefaultGenesisState

func DefaultGenesisState() *GenesisState

DefaultGenesisState returns a GenesisState with "transfer" as the default PortID.

func NewGenesisState

func NewGenesisState(portID string, denomTraces Traces, params Params) *GenesisState

NewGenesisState creates a new ibc-transfer GenesisState instance.

func (*GenesisState) Descriptor

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

func (*GenesisState) GetDenomTraces

func (m *GenesisState) GetDenomTraces() Traces

func (*GenesisState) GetParams

func (m *GenesisState) GetParams() Params

func (*GenesisState) GetPortId

func (m *GenesisState) GetPortId() string

func (*GenesisState) Marshal

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

func (*GenesisState) MarshalTo

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

func (*GenesisState) MarshalToSizedBuffer

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

func (*GenesisState) ProtoMessage

func (*GenesisState) ProtoMessage()

func (*GenesisState) Reset

func (m *GenesisState) Reset()

func (*GenesisState) Size

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

func (*GenesisState) String

func (m *GenesisState) String() string

func (*GenesisState) Unmarshal

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

func (GenesisState) Validate

func (gs GenesisState) Validate() error

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

func (*GenesisState) XXX_DiscardUnknown

func (m *GenesisState) XXX_DiscardUnknown()

func (*GenesisState) XXX_Marshal

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

func (*GenesisState) XXX_Merge

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

func (*GenesisState) XXX_Size

func (m *GenesisState) XXX_Size() int

func (*GenesisState) XXX_Unmarshal

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

type MsgClient

type MsgClient interface {
	// Transfer defines a rpc handler method for MsgTransfer.
	Transfer(ctx context.Context, in *MsgTransfer, opts ...grpc.CallOption) (*MsgTransferResponse, error)
}

MsgClient is the client API for Msg service.

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

func NewMsgClient

func NewMsgClient(cc grpc1.ClientConn) MsgClient

type MsgServer

type MsgServer interface {
	// Transfer defines a rpc handler method for MsgTransfer.
	Transfer(context.Context, *MsgTransfer) (*MsgTransferResponse, error)
}

MsgServer is the server API for Msg service.

type MsgTransfer

type MsgTransfer struct {
	// the port on which the packet will be sent
	SourcePort string `protobuf:"bytes,1,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty" yaml:"source_port"`
	// the channel by which the packet will be sent
	SourceChannel string `protobuf:"bytes,2,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty" yaml:"source_channel"`
	// the tokens to be transferred
	Token types.Coin `protobuf:"bytes,3,opt,name=token,proto3" json:"token"`
	// the sender address
	Sender string `protobuf:"bytes,4,opt,name=sender,proto3" json:"sender,omitempty"`
	// the recipient address on the destination chain
	Receiver string `protobuf:"bytes,5,opt,name=receiver,proto3" json:"receiver,omitempty"`
	// Timeout height relative to the current block height.
	// The timeout is disabled when set to 0.
	TimeoutHeight types1.Height `protobuf:"bytes,6,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height" yaml:"timeout_height"`
	// Timeout timestamp (in nanoseconds) relative to the current block timestamp.
	// The timeout is disabled when set to 0.
	TimeoutTimestamp uint64 `` /* 135-byte string literal not displayed */
}

MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between ICS20 enabled chains. See ICS Spec here: https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures

func NewMsgTransfer

func NewMsgTransfer(
	sourcePort, sourceChannel string,
	token sdk.Coin, sender, receiver string,
	timeoutHeight clienttypes.Height, timeoutTimestamp uint64,
) *MsgTransfer

NewMsgTransfer creates a new MsgTransfer instance

func (*MsgTransfer) Descriptor

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

func (MsgTransfer) GetSignBytes

func (msg MsgTransfer) GetSignBytes() []byte

GetSignBytes implements sdk.Msg.

func (MsgTransfer) GetSigners

func (msg MsgTransfer) GetSigners() []sdk.AccAddress

GetSigners implements sdk.Msg

func (*MsgTransfer) Marshal

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

func (*MsgTransfer) MarshalTo

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

func (*MsgTransfer) MarshalToSizedBuffer

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

func (*MsgTransfer) ProtoMessage

func (*MsgTransfer) ProtoMessage()

func (*MsgTransfer) Reset

func (m *MsgTransfer) Reset()

func (MsgTransfer) Route

func (MsgTransfer) Route() string

Route implements sdk.Msg

func (*MsgTransfer) Size

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

func (*MsgTransfer) String

func (m *MsgTransfer) String() string

func (MsgTransfer) Type

func (MsgTransfer) Type() string

Type implements sdk.Msg

func (*MsgTransfer) Unmarshal

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

func (MsgTransfer) ValidateBasic

func (msg MsgTransfer) ValidateBasic() error

ValidateBasic performs a basic check of the MsgTransfer fields. NOTE: timeout height or timestamp values can be 0 to disable the timeout. NOTE: The recipient addresses format is not validated as the format defined by the chain is not known to IBC.

func (*MsgTransfer) XXX_DiscardUnknown

func (m *MsgTransfer) XXX_DiscardUnknown()

func (*MsgTransfer) XXX_Marshal

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

func (*MsgTransfer) XXX_Merge

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

func (*MsgTransfer) XXX_Size

func (m *MsgTransfer) XXX_Size() int

func (*MsgTransfer) XXX_Unmarshal

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

type MsgTransferResponse

type MsgTransferResponse struct {
}

MsgTransferResponse defines the Msg/Transfer response type.

func (*MsgTransferResponse) Descriptor

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

func (*MsgTransferResponse) Marshal

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

func (*MsgTransferResponse) MarshalTo

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

func (*MsgTransferResponse) MarshalToSizedBuffer

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

func (*MsgTransferResponse) ProtoMessage

func (*MsgTransferResponse) ProtoMessage()

func (*MsgTransferResponse) Reset

func (m *MsgTransferResponse) Reset()

func (*MsgTransferResponse) Size

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

func (*MsgTransferResponse) String

func (m *MsgTransferResponse) String() string

func (*MsgTransferResponse) Unmarshal

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

func (*MsgTransferResponse) XXX_DiscardUnknown

func (m *MsgTransferResponse) XXX_DiscardUnknown()

func (*MsgTransferResponse) XXX_Marshal

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

func (*MsgTransferResponse) XXX_Merge

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

func (*MsgTransferResponse) XXX_Size

func (m *MsgTransferResponse) XXX_Size() int

func (*MsgTransferResponse) XXX_Unmarshal

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

type Params

type Params struct {
	// send_enabled enables or disables all cross-chain token transfers from this
	// chain.
	SendEnabled bool `protobuf:"varint,1,opt,name=send_enabled,json=sendEnabled,proto3" json:"send_enabled,omitempty" yaml:"send_enabled"`
	// receive_enabled enables or disables all cross-chain token transfers to this
	// chain.
	ReceiveEnabled bool `` /* 127-byte string literal not displayed */
}

Params defines the set of IBC transfer parameters. NOTE: To prevent a single token from being transferred, set the TransfersEnabled parameter to true and then set the bank module's SendEnabled parameter for the denomination to false.

func DefaultParams

func DefaultParams() Params

DefaultParams is the default parameter configuration for the ibc-transfer module

func NewParams

func NewParams(enableSend, enableReceive bool) Params

NewParams creates a new parameter configuration for the ibc transfer module

func (*Params) Descriptor

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

func (*Params) GetReceiveEnabled

func (m *Params) GetReceiveEnabled() bool

func (*Params) GetSendEnabled

func (m *Params) GetSendEnabled() bool

func (*Params) Marshal

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

func (*Params) MarshalTo

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

func (*Params) MarshalToSizedBuffer

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

func (*Params) ParamSetPairs

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

ParamSetPairs implements params.ParamSet

func (*Params) ProtoMessage

func (*Params) ProtoMessage()

func (*Params) Reset

func (m *Params) Reset()

func (*Params) Size

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

func (*Params) String

func (m *Params) String() string

func (*Params) Unmarshal

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

func (Params) Validate

func (p Params) Validate() error

Validate all ibc-transfer module parameters

func (*Params) XXX_DiscardUnknown

func (m *Params) XXX_DiscardUnknown()

func (*Params) XXX_Marshal

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

func (*Params) XXX_Merge

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

func (*Params) XXX_Size

func (m *Params) XXX_Size() int

func (*Params) XXX_Unmarshal

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

type PortKeeper

type PortKeeper interface {
	BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability
}

PortKeeper defines the expected IBC port keeper

type QueryClient

type QueryClient interface {
	// DenomTrace queries a denomination trace information.
	DenomTrace(ctx context.Context, in *QueryDenomTraceRequest, opts ...grpc.CallOption) (*QueryDenomTraceResponse, error)
	// DenomTraces queries all denomination traces.
	DenomTraces(ctx context.Context, in *QueryDenomTracesRequest, opts ...grpc.CallOption) (*QueryDenomTracesResponse, error)
	// Params queries all parameters of the ibc-transfer module.
	Params(ctx context.Context, in *QueryParamsRequest, opts ...grpc.CallOption) (*QueryParamsResponse, error)
}

QueryClient is the client API for Query service.

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

func NewQueryClient

func NewQueryClient(cc grpc1.ClientConn) QueryClient

type QueryDenomTraceRequest

type QueryDenomTraceRequest struct {
	// hash (in hex format) of the denomination trace information.
	Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`
}

QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC method

func (*QueryDenomTraceRequest) Descriptor

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

func (*QueryDenomTraceRequest) GetHash

func (m *QueryDenomTraceRequest) GetHash() string

func (*QueryDenomTraceRequest) Marshal

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

func (*QueryDenomTraceRequest) MarshalTo

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

func (*QueryDenomTraceRequest) MarshalToSizedBuffer

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

func (*QueryDenomTraceRequest) ProtoMessage

func (*QueryDenomTraceRequest) ProtoMessage()

func (*QueryDenomTraceRequest) Reset

func (m *QueryDenomTraceRequest) Reset()

func (*QueryDenomTraceRequest) Size

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

func (*QueryDenomTraceRequest) String

func (m *QueryDenomTraceRequest) String() string

func (*QueryDenomTraceRequest) Unmarshal

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

func (*QueryDenomTraceRequest) XXX_DiscardUnknown

func (m *QueryDenomTraceRequest) XXX_DiscardUnknown()

func (*QueryDenomTraceRequest) XXX_Marshal

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

func (*QueryDenomTraceRequest) XXX_Merge

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

func (*QueryDenomTraceRequest) XXX_Size

func (m *QueryDenomTraceRequest) XXX_Size() int

func (*QueryDenomTraceRequest) XXX_Unmarshal

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

type QueryDenomTraceResponse

type QueryDenomTraceResponse struct {
	// denom_trace returns the requested denomination trace information.
	DenomTrace *DenomTrace `protobuf:"bytes,1,opt,name=denom_trace,json=denomTrace,proto3" json:"denom_trace,omitempty"`
}

QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC method.

func (*QueryDenomTraceResponse) Descriptor

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

func (*QueryDenomTraceResponse) GetDenomTrace

func (m *QueryDenomTraceResponse) GetDenomTrace() *DenomTrace

func (*QueryDenomTraceResponse) Marshal

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

func (*QueryDenomTraceResponse) MarshalTo

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

func (*QueryDenomTraceResponse) MarshalToSizedBuffer

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

func (*QueryDenomTraceResponse) ProtoMessage

func (*QueryDenomTraceResponse) ProtoMessage()

func (*QueryDenomTraceResponse) Reset

func (m *QueryDenomTraceResponse) Reset()

func (*QueryDenomTraceResponse) Size

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

func (*QueryDenomTraceResponse) String

func (m *QueryDenomTraceResponse) String() string

func (*QueryDenomTraceResponse) Unmarshal

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

func (*QueryDenomTraceResponse) XXX_DiscardUnknown

func (m *QueryDenomTraceResponse) XXX_DiscardUnknown()

func (*QueryDenomTraceResponse) XXX_Marshal

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

func (*QueryDenomTraceResponse) XXX_Merge

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

func (*QueryDenomTraceResponse) XXX_Size

func (m *QueryDenomTraceResponse) XXX_Size() int

func (*QueryDenomTraceResponse) XXX_Unmarshal

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

type QueryDenomTracesRequest

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

QueryConnectionsRequest is the request type for the Query/DenomTraces RPC method

func (*QueryDenomTracesRequest) Descriptor

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

func (*QueryDenomTracesRequest) GetPagination

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

func (*QueryDenomTracesRequest) Marshal

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

func (*QueryDenomTracesRequest) MarshalTo

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

func (*QueryDenomTracesRequest) MarshalToSizedBuffer

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

func (*QueryDenomTracesRequest) ProtoMessage

func (*QueryDenomTracesRequest) ProtoMessage()

func (*QueryDenomTracesRequest) Reset

func (m *QueryDenomTracesRequest) Reset()

func (*QueryDenomTracesRequest) Size

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

func (*QueryDenomTracesRequest) String

func (m *QueryDenomTracesRequest) String() string

func (*QueryDenomTracesRequest) Unmarshal

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

func (*QueryDenomTracesRequest) XXX_DiscardUnknown

func (m *QueryDenomTracesRequest) XXX_DiscardUnknown()

func (*QueryDenomTracesRequest) XXX_Marshal

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

func (*QueryDenomTracesRequest) XXX_Merge

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

func (*QueryDenomTracesRequest) XXX_Size

func (m *QueryDenomTracesRequest) XXX_Size() int

func (*QueryDenomTracesRequest) XXX_Unmarshal

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

type QueryDenomTracesResponse

type QueryDenomTracesResponse struct {
	// denom_traces returns all denominations trace information.
	DenomTraces Traces `protobuf:"bytes,1,rep,name=denom_traces,json=denomTraces,proto3,castrepeated=Traces" json:"denom_traces"`
	// pagination defines the pagination in the response.
	Pagination *query.PageResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
}

QueryConnectionsResponse is the response type for the Query/DenomTraces RPC method.

func (*QueryDenomTracesResponse) Descriptor

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

func (*QueryDenomTracesResponse) GetDenomTraces

func (m *QueryDenomTracesResponse) GetDenomTraces() Traces

func (*QueryDenomTracesResponse) GetPagination

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

func (*QueryDenomTracesResponse) Marshal

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

func (*QueryDenomTracesResponse) MarshalTo

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

func (*QueryDenomTracesResponse) MarshalToSizedBuffer

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

func (*QueryDenomTracesResponse) ProtoMessage

func (*QueryDenomTracesResponse) ProtoMessage()

func (*QueryDenomTracesResponse) Reset

func (m *QueryDenomTracesResponse) Reset()

func (*QueryDenomTracesResponse) Size

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

func (*QueryDenomTracesResponse) String

func (m *QueryDenomTracesResponse) String() string

func (*QueryDenomTracesResponse) Unmarshal

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

func (*QueryDenomTracesResponse) XXX_DiscardUnknown

func (m *QueryDenomTracesResponse) XXX_DiscardUnknown()

func (*QueryDenomTracesResponse) XXX_Marshal

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

func (*QueryDenomTracesResponse) XXX_Merge

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

func (*QueryDenomTracesResponse) XXX_Size

func (m *QueryDenomTracesResponse) XXX_Size() int

func (*QueryDenomTracesResponse) XXX_Unmarshal

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

type QueryParamsRequest

type QueryParamsRequest struct {
}

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

func (*QueryParamsRequest) Descriptor

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

func (*QueryParamsRequest) Marshal

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

func (*QueryParamsRequest) MarshalTo

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

func (*QueryParamsRequest) MarshalToSizedBuffer

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

func (*QueryParamsRequest) ProtoMessage

func (*QueryParamsRequest) ProtoMessage()

func (*QueryParamsRequest) Reset

func (m *QueryParamsRequest) Reset()

func (*QueryParamsRequest) Size

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

func (*QueryParamsRequest) String

func (m *QueryParamsRequest) String() string

func (*QueryParamsRequest) Unmarshal

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

func (*QueryParamsRequest) XXX_DiscardUnknown

func (m *QueryParamsRequest) XXX_DiscardUnknown()

func (*QueryParamsRequest) XXX_Marshal

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

func (*QueryParamsRequest) XXX_Merge

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

func (*QueryParamsRequest) XXX_Size

func (m *QueryParamsRequest) XXX_Size() int

func (*QueryParamsRequest) XXX_Unmarshal

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

type QueryParamsResponse

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

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

func (*QueryParamsResponse) Descriptor

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

func (*QueryParamsResponse) GetParams

func (m *QueryParamsResponse) GetParams() *Params

func (*QueryParamsResponse) Marshal

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

func (*QueryParamsResponse) MarshalTo

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

func (*QueryParamsResponse) MarshalToSizedBuffer

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

func (*QueryParamsResponse) ProtoMessage

func (*QueryParamsResponse) ProtoMessage()

func (*QueryParamsResponse) Reset

func (m *QueryParamsResponse) Reset()

func (*QueryParamsResponse) Size

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

func (*QueryParamsResponse) String

func (m *QueryParamsResponse) String() string

func (*QueryParamsResponse) Unmarshal

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

func (*QueryParamsResponse) XXX_DiscardUnknown

func (m *QueryParamsResponse) XXX_DiscardUnknown()

func (*QueryParamsResponse) XXX_Marshal

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

func (*QueryParamsResponse) XXX_Merge

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

func (*QueryParamsResponse) XXX_Size

func (m *QueryParamsResponse) XXX_Size() int

func (*QueryParamsResponse) XXX_Unmarshal

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

type QueryServer

type QueryServer interface {
	// DenomTrace queries a denomination trace information.
	DenomTrace(context.Context, *QueryDenomTraceRequest) (*QueryDenomTraceResponse, error)
	// DenomTraces queries all denomination traces.
	DenomTraces(context.Context, *QueryDenomTracesRequest) (*QueryDenomTracesResponse, error)
	// Params queries all parameters of the ibc-transfer module.
	Params(context.Context, *QueryParamsRequest) (*QueryParamsResponse, error)
}

QueryServer is the server API for Query service.

type Traces

type Traces []DenomTrace

Traces defines a wrapper type for a slice of DenomTrace.

func (Traces) Len

func (t Traces) Len() int

Len implements sort.Interface for Traces

func (Traces) Less

func (t Traces) Less(i, j int) bool

Less implements sort.Interface for Traces

func (Traces) Sort

func (t Traces) Sort() Traces

Sort is a helper function to sort the set of denomination traces in-place

func (Traces) Swap

func (t Traces) Swap(i, j int)

Swap implements sort.Interface for Traces

func (Traces) Validate

func (t Traces) Validate() error

Validate performs a basic validation of each denomination trace info.

type UnimplementedMsgServer

type UnimplementedMsgServer struct {
}

UnimplementedMsgServer can be embedded to have forward compatible implementations.

func (*UnimplementedMsgServer) Transfer

type UnimplementedQueryServer

type UnimplementedQueryServer struct {
}

UnimplementedQueryServer can be embedded to have forward compatible implementations.

func (*UnimplementedQueryServer) DenomTrace

func (*UnimplementedQueryServer) DenomTraces

func (*UnimplementedQueryServer) Params

Jump to

Keyboard shortcuts

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