Documentation ¶
Index ¶
- Constants
- Variables
- func DeserializeCosmosTx(cdc codec.BinaryCodec, data []byte) ([]sdk.Msg, error)
- func GenerateAddress(ctx sdk.Context, connectionID, portID string) sdk.AccAddress
- func IsPreviousMetadataEqual(previousVersion string, metadata Metadata) bool
- func KeyActiveChannel(portID, connectionID string) []byte
- func KeyOwnerAccount(portID, connectionID string) []byte
- func KeyPort(portID string) []byte
- func NewControllerPortID(owner string) (string, error)
- func NewDefaultMetadataString(controllerConnectionID, hostConnectionID string) string
- func RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func SerializeCosmosTx(cdc codec.BinaryCodec, msgs []sdk.Msg) (bz []byte, err error)
- func ValidateAccountAddress(addr string) error
- func ValidateControllerMetadata(ctx sdk.Context, channelKeeper ChannelKeeper, connectionHops []string, ...) error
- func ValidateHostMetadata(ctx sdk.Context, channelKeeper ChannelKeeper, connectionHops []string, ...) error
- type AccountKeeper
- type ActiveChannel
- func (*ActiveChannel) Descriptor() ([]byte, []int)
- func (m *ActiveChannel) GetChannelId() string
- func (m *ActiveChannel) GetConnectionId() string
- func (m *ActiveChannel) GetPortId() string
- func (m *ActiveChannel) Marshal() (dAtA []byte, err error)
- func (m *ActiveChannel) MarshalTo(dAtA []byte) (int, error)
- func (m *ActiveChannel) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ActiveChannel) ProtoMessage()
- func (m *ActiveChannel) Reset()
- func (m *ActiveChannel) Size() (n int)
- func (m *ActiveChannel) String() string
- func (m *ActiveChannel) Unmarshal(dAtA []byte) error
- func (m *ActiveChannel) XXX_DiscardUnknown()
- func (m *ActiveChannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ActiveChannel) XXX_Merge(src proto.Message)
- func (m *ActiveChannel) XXX_Size() int
- func (m *ActiveChannel) XXX_Unmarshal(b []byte) error
- type ChannelKeeper
- type ControllerGenesisState
- func (*ControllerGenesisState) Descriptor() ([]byte, []int)
- func (m *ControllerGenesisState) GetActiveChannels() []ActiveChannel
- func (m *ControllerGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount
- func (m *ControllerGenesisState) GetParams() types.Params
- func (m *ControllerGenesisState) GetPorts() []string
- func (m *ControllerGenesisState) Marshal() (dAtA []byte, err error)
- func (m *ControllerGenesisState) MarshalTo(dAtA []byte) (int, error)
- func (m *ControllerGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ControllerGenesisState) ProtoMessage()
- func (m *ControllerGenesisState) Reset()
- func (m *ControllerGenesisState) Size() (n int)
- func (m *ControllerGenesisState) String() string
- func (m *ControllerGenesisState) Unmarshal(dAtA []byte) error
- func (gs ControllerGenesisState) Validate() error
- func (m *ControllerGenesisState) XXX_DiscardUnknown()
- func (m *ControllerGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ControllerGenesisState) XXX_Merge(src proto.Message)
- func (m *ControllerGenesisState) XXX_Size() int
- func (m *ControllerGenesisState) XXX_Unmarshal(b []byte) error
- type CosmosTx
- func (*CosmosTx) Descriptor() ([]byte, []int)
- func (ct CosmosTx) GetBytes() []byte
- func (m *CosmosTx) GetMessages() []*types.Any
- func (m *CosmosTx) Marshal() (dAtA []byte, err error)
- func (m *CosmosTx) MarshalTo(dAtA []byte) (int, error)
- func (m *CosmosTx) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*CosmosTx) ProtoMessage()
- func (m *CosmosTx) Reset()
- func (m *CosmosTx) Size() (n int)
- func (m *CosmosTx) String() string
- func (m *CosmosTx) Unmarshal(dAtA []byte) error
- func (ct CosmosTx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error
- func (m *CosmosTx) XXX_DiscardUnknown()
- func (m *CosmosTx) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *CosmosTx) XXX_Merge(src proto.Message)
- func (m *CosmosTx) XXX_Size() int
- func (m *CosmosTx) XXX_Unmarshal(b []byte) error
- type GenesisState
- func (*GenesisState) Descriptor() ([]byte, []int)
- func (m *GenesisState) GetControllerGenesisState() ControllerGenesisState
- func (m *GenesisState) GetHostGenesisState() HostGenesisState
- func (m *GenesisState) Marshal() (dAtA []byte, err error)
- func (m *GenesisState) MarshalTo(dAtA []byte) (int, error)
- func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*GenesisState) ProtoMessage()
- func (m *GenesisState) Reset()
- func (m *GenesisState) Size() (n int)
- func (m *GenesisState) String() string
- func (m *GenesisState) Unmarshal(dAtA []byte) error
- func (gs GenesisState) Validate() error
- func (m *GenesisState) XXX_DiscardUnknown()
- func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GenesisState) XXX_Merge(src proto.Message)
- func (m *GenesisState) XXX_Size() int
- func (m *GenesisState) XXX_Unmarshal(b []byte) error
- type HostGenesisState
- func (*HostGenesisState) Descriptor() ([]byte, []int)
- func (m *HostGenesisState) GetActiveChannels() []ActiveChannel
- func (m *HostGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount
- func (m *HostGenesisState) GetParams() types1.Params
- func (m *HostGenesisState) GetPort() string
- func (m *HostGenesisState) Marshal() (dAtA []byte, err error)
- func (m *HostGenesisState) MarshalTo(dAtA []byte) (int, error)
- func (m *HostGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*HostGenesisState) ProtoMessage()
- func (m *HostGenesisState) Reset()
- func (m *HostGenesisState) Size() (n int)
- func (m *HostGenesisState) String() string
- func (m *HostGenesisState) Unmarshal(dAtA []byte) error
- func (gs HostGenesisState) Validate() error
- func (m *HostGenesisState) XXX_DiscardUnknown()
- func (m *HostGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *HostGenesisState) XXX_Merge(src proto.Message)
- func (m *HostGenesisState) XXX_Size() int
- func (m *HostGenesisState) XXX_Unmarshal(b []byte) error
- type ICS4Wrapper
- type InterchainAccount
- func (*InterchainAccount) Descriptor() ([]byte, []int)
- func (m *InterchainAccount) Marshal() (dAtA []byte, err error)
- func (ia InterchainAccount) MarshalJSON() ([]byte, error)
- func (m *InterchainAccount) MarshalTo(dAtA []byte) (int, error)
- func (m *InterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (ia InterchainAccount) MarshalYAML() ([]byte, error)
- func (*InterchainAccount) ProtoMessage()
- func (m *InterchainAccount) Reset()
- func (ia InterchainAccount) SetPubKey(pubKey crypto.PubKey) error
- func (ia InterchainAccount) SetSequence(seq uint64) error
- func (m *InterchainAccount) Size() (n int)
- func (ia InterchainAccount) String() string
- func (m *InterchainAccount) Unmarshal(dAtA []byte) error
- func (ia *InterchainAccount) UnmarshalJSON(bz []byte) error
- func (ia InterchainAccount) Validate() error
- func (m *InterchainAccount) XXX_DiscardUnknown()
- func (m *InterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *InterchainAccount) XXX_Merge(src proto.Message)
- func (m *InterchainAccount) XXX_Size() int
- func (m *InterchainAccount) XXX_Unmarshal(b []byte) error
- type InterchainAccountI
- type InterchainAccountPacketData
- func (*InterchainAccountPacketData) Descriptor() ([]byte, []int)
- func (iapd InterchainAccountPacketData) GetBytes() []byte
- func (m *InterchainAccountPacketData) GetData() []byte
- func (m *InterchainAccountPacketData) GetMemo() string
- func (m *InterchainAccountPacketData) GetType() Type
- func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error)
- func (m *InterchainAccountPacketData) MarshalTo(dAtA []byte) (int, error)
- func (m *InterchainAccountPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*InterchainAccountPacketData) ProtoMessage()
- func (m *InterchainAccountPacketData) Reset()
- func (m *InterchainAccountPacketData) Size() (n int)
- func (m *InterchainAccountPacketData) String() string
- func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error
- func (iapd InterchainAccountPacketData) ValidateBasic() error
- func (m *InterchainAccountPacketData) XXX_DiscardUnknown()
- func (m *InterchainAccountPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *InterchainAccountPacketData) XXX_Merge(src proto.Message)
- func (m *InterchainAccountPacketData) XXX_Size() int
- func (m *InterchainAccountPacketData) XXX_Unmarshal(b []byte) error
- type MessageRouter
- type Metadata
- func (*Metadata) Descriptor() ([]byte, []int)
- func (m *Metadata) GetAddress() string
- func (m *Metadata) GetControllerConnectionId() string
- func (m *Metadata) GetEncoding() string
- func (m *Metadata) GetHostConnectionId() string
- func (m *Metadata) GetTxType() string
- func (m *Metadata) GetVersion() string
- func (m *Metadata) Marshal() (dAtA []byte, err error)
- func (m *Metadata) MarshalTo(dAtA []byte) (int, error)
- func (m *Metadata) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Metadata) ProtoMessage()
- func (m *Metadata) Reset()
- func (m *Metadata) Size() (n int)
- func (m *Metadata) String() string
- func (m *Metadata) Unmarshal(dAtA []byte) error
- func (m *Metadata) XXX_DiscardUnknown()
- func (m *Metadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Metadata) XXX_Merge(src proto.Message)
- func (m *Metadata) XXX_Size() int
- func (m *Metadata) XXX_Unmarshal(b []byte) error
- type PortKeeper
- type RegisteredInterchainAccount
- func (*RegisteredInterchainAccount) Descriptor() ([]byte, []int)
- func (m *RegisteredInterchainAccount) GetAccountAddress() string
- func (m *RegisteredInterchainAccount) GetConnectionId() string
- func (m *RegisteredInterchainAccount) GetPortId() string
- func (m *RegisteredInterchainAccount) Marshal() (dAtA []byte, err error)
- func (m *RegisteredInterchainAccount) MarshalTo(dAtA []byte) (int, error)
- func (m *RegisteredInterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RegisteredInterchainAccount) ProtoMessage()
- func (m *RegisteredInterchainAccount) Reset()
- func (m *RegisteredInterchainAccount) Size() (n int)
- func (m *RegisteredInterchainAccount) String() string
- func (m *RegisteredInterchainAccount) Unmarshal(dAtA []byte) error
- func (m *RegisteredInterchainAccount) XXX_DiscardUnknown()
- func (m *RegisteredInterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RegisteredInterchainAccount) XXX_Merge(src proto.Message)
- func (m *RegisteredInterchainAccount) XXX_Size() int
- func (m *RegisteredInterchainAccount) XXX_Unmarshal(b []byte) error
- type Type
Constants ¶
const ( EventTypePacket = "ics27_packet" AttributeKeyAckError = "error" AttributeKeyHostChannelID = "host_channel_id" AttributeKeyControllerChannelID = "controller_channel_id" AttributeKeyAckSuccess = "success" )
ICS27 Interchain Accounts events
const ( // ModuleName defines the interchain accounts module name ModuleName = "interchainaccounts" // PortID is the default port id that the interchain accounts host submodule binds to PortID = "icahost" // PortPrefix is the default port prefix that the interchain accounts controller submodule binds to PortPrefix = "icacontroller-" // Version defines the current version for interchain accounts Version = "ics27-1" // StoreKey is the store key string for interchain accounts StoreKey = ModuleName // RouterKey is the message route for interchain accounts RouterKey = ModuleName // QuerierRoute is the querier route for interchain accounts QuerierRoute = ModuleName )
const ( // EncodingProtobuf defines the protocol buffers proto3 encoding format EncodingProtobuf = "proto3" // TxTypeSDKMultiMsg defines the multi message transaction type supported by the Cosmos SDK TxTypeSDKMultiMsg = "sdk_multi_msg" )
const MaxMemoCharLength = 256
MaxMemoCharLength defines the maximum length for the InterchainAccountPacketData memo field
Variables ¶
var ( ErrInvalidLengthAccount = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAccount = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupAccount = fmt.Errorf("proto: unexpected end of group") )
var ( ErrUnknownDataType = sdkerrors.Register(ModuleName, 2, "unknown data type") ErrAccountAlreadyExist = sdkerrors.Register(ModuleName, 3, "account already exist") ErrPortAlreadyBound = sdkerrors.Register(ModuleName, 4, "port is already bound") ErrInvalidChannelFlow = sdkerrors.Register(ModuleName, 5, "invalid message sent to channel end") ErrInvalidOutgoingData = sdkerrors.Register(ModuleName, 6, "invalid outgoing data") ErrInvalidRoute = sdkerrors.Register(ModuleName, 7, "invalid route") ErrInterchainAccountNotFound = sdkerrors.Register(ModuleName, 8, "interchain account not found") ErrInterchainAccountAlreadySet = sdkerrors.Register(ModuleName, 9, "interchain account is already set") ErrActiveChannelAlreadySet = sdkerrors.Register(ModuleName, 10, "active channel already set for this owner") ErrActiveChannelNotFound = sdkerrors.Register(ModuleName, 11, "no active channel for this owner") ErrInvalidVersion = sdkerrors.Register(ModuleName, 12, "invalid interchain accounts version") ErrInvalidAccountAddress = sdkerrors.Register(ModuleName, 13, "invalid account address") ErrUnsupported = sdkerrors.Register(ModuleName, 14, "interchain account does not support this action") ErrInvalidControllerPort = sdkerrors.Register(ModuleName, 15, "invalid controller port") ErrInvalidHostPort = sdkerrors.Register(ModuleName, 16, "invalid host port") ErrInvalidTimeoutTimestamp = sdkerrors.Register(ModuleName, 17, "timeout timestamp must be in the future") ErrInvalidCodec = sdkerrors.Register(ModuleName, 18, "codec is not supported") ErrInvalidAccountReopening = sdkerrors.Register(ModuleName, 19, "invalid account reopening") )
var ( ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") )
var ( // ActiveChannelKeyPrefix defines the key prefix used to store active channels ActiveChannelKeyPrefix = "activeChannel" // OwnerKeyPrefix defines the key prefix used to store interchain accounts OwnerKeyPrefix = "owner" // PortKeyPrefix defines the key prefix used to store ports PortKeyPrefix = "port" )
var ( ErrInvalidLengthMetadata = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowMetadata = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupMetadata = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidLengthPacket = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowPacket = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupPacket = fmt.Errorf("proto: unexpected end of group") )
var DefaultMaxAddrLength = 128
DefaultMaxAddrLength defines the default maximum character length used in validation of addresses
var ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry())
ModuleCdc references the global interchain accounts 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 interchain accounts and defined at the application level.
var Type_name = map[int32]string{
0: "TYPE_UNSPECIFIED",
1: "TYPE_EXECUTE_TX",
}
var Type_value = map[string]int32{
"TYPE_UNSPECIFIED": 0,
"TYPE_EXECUTE_TX": 1,
}
Functions ¶
func DeserializeCosmosTx ¶
DeserializeCosmosTx unmarshals and unpacks a slice of transaction bytes into a slice of sdk.Msg's. Only the ProtoCodec is supported for message deserialization.
func GenerateAddress ¶
func GenerateAddress(ctx sdk.Context, connectionID, portID string) sdk.AccAddress
GenerateAddress returns an sdk.AccAddress derived using a host module account address, host connection ID, the controller portID, the current block app hash, and the current block data hash. The sdk.AccAddress returned is a sub-address of the host module account.
func IsPreviousMetadataEqual ¶
IsPreviousMetadataEqual compares a metadata to a previous version string set in a channel struct. It ensures all fields are equal except the Address string
func KeyActiveChannel ¶
KeyActiveChannel creates and returns a new key used for active channels store operations
func KeyOwnerAccount ¶
KeyOwnerAccount creates and returns a new key used for interchain account store operations
func NewControllerPortID ¶
NewControllerPortID creates and returns a new prefixed controller port identifier using the provided owner string
func NewDefaultMetadataString ¶
NewDefaultMetadataString creates and returns a new JSON encoded version string containing the default ICS27 Metadata values with the provided controller and host connection identifiers
func RegisterInterfaces ¶
func RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers the concrete InterchainAccount implementation against the associated x/auth AccountI and GenesisAccount interfaces
func SerializeCosmosTx ¶
SerializeCosmosTx serializes a slice of sdk.Msg's using the CosmosTx type. The sdk.Msg's are packed into Any's and inserted into the Messages field of a CosmosTx. The proto marshaled CosmosTx bytes are returned. Only the ProtoCodec is supported for serializing messages.
func ValidateAccountAddress ¶
ValidateAccountAddress performs basic validation of interchain account addresses, enforcing constraints on address length and character set
func ValidateControllerMetadata ¶
func ValidateControllerMetadata(ctx sdk.Context, channelKeeper ChannelKeeper, connectionHops []string, metadata Metadata) error
ValidateControllerMetadata performs validation of the provided ICS27 controller metadata parameters
func ValidateHostMetadata ¶
func ValidateHostMetadata(ctx sdk.Context, channelKeeper ChannelKeeper, connectionHops []string, metadata Metadata) error
ValidateHostMetadata performs validation of the provided ICS27 host metadata parameters
Types ¶
type AccountKeeper ¶
type AccountKeeper interface { NewAccount(ctx sdk.Context, acc authtypes.AccountI) authtypes.AccountI GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI SetAccount(ctx sdk.Context, acc authtypes.AccountI) GetModuleAccount(ctx sdk.Context, name string) authtypes.ModuleAccountI GetModuleAddress(name string) sdk.AccAddress }
AccountKeeper defines the expected account keeper
type ActiveChannel ¶
type ActiveChannel struct { ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty" yaml:"connection_id"` PortId string `protobuf:"bytes,2,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"` ChannelId string `protobuf:"bytes,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty" yaml:"channel_id"` }
ActiveChannel contains a connection ID, port ID and associated active channel ID
func (*ActiveChannel) Descriptor ¶
func (*ActiveChannel) Descriptor() ([]byte, []int)
func (*ActiveChannel) GetChannelId ¶
func (m *ActiveChannel) GetChannelId() string
func (*ActiveChannel) GetConnectionId ¶
func (m *ActiveChannel) GetConnectionId() string
func (*ActiveChannel) GetPortId ¶
func (m *ActiveChannel) GetPortId() string
func (*ActiveChannel) Marshal ¶
func (m *ActiveChannel) Marshal() (dAtA []byte, err error)
func (*ActiveChannel) MarshalToSizedBuffer ¶
func (m *ActiveChannel) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ActiveChannel) ProtoMessage ¶
func (*ActiveChannel) ProtoMessage()
func (*ActiveChannel) Reset ¶
func (m *ActiveChannel) Reset()
func (*ActiveChannel) Size ¶
func (m *ActiveChannel) Size() (n int)
func (*ActiveChannel) String ¶
func (m *ActiveChannel) String() string
func (*ActiveChannel) Unmarshal ¶
func (m *ActiveChannel) Unmarshal(dAtA []byte) error
func (*ActiveChannel) XXX_DiscardUnknown ¶
func (m *ActiveChannel) XXX_DiscardUnknown()
func (*ActiveChannel) XXX_Marshal ¶
func (m *ActiveChannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ActiveChannel) XXX_Merge ¶
func (m *ActiveChannel) XXX_Merge(src proto.Message)
func (*ActiveChannel) XXX_Size ¶
func (m *ActiveChannel) XXX_Size() int
func (*ActiveChannel) XXX_Unmarshal ¶
func (m *ActiveChannel) XXX_Unmarshal(b []byte) error
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) GetConnection(ctx sdk.Context, connectionID string) (ibcexported.ConnectionI, error) }
ChannelKeeper defines the expected IBC channel keeper
type ControllerGenesisState ¶
type ControllerGenesisState struct { ActiveChannels []ActiveChannel `protobuf:"bytes,1,rep,name=active_channels,json=activeChannels,proto3" json:"active_channels" yaml:"active_channels"` InterchainAccounts []RegisteredInterchainAccount `` /* 132-byte string literal not displayed */ Ports []string `protobuf:"bytes,3,rep,name=ports,proto3" json:"ports,omitempty"` Params types.Params `protobuf:"bytes,4,opt,name=params,proto3" json:"params"` }
ControllerGenesisState defines the interchain accounts controller genesis state
func DefaultControllerGenesis ¶
func DefaultControllerGenesis() ControllerGenesisState
DefaultControllerGenesis creates and returns the default interchain accounts ControllerGenesisState
func NewControllerGenesisState ¶
func NewControllerGenesisState(channels []ActiveChannel, accounts []RegisteredInterchainAccount, ports []string, controllerParams controllertypes.Params) ControllerGenesisState
NewControllerGenesisState creates a returns a new ControllerGenesisState instance
func (*ControllerGenesisState) Descriptor ¶
func (*ControllerGenesisState) Descriptor() ([]byte, []int)
func (*ControllerGenesisState) GetActiveChannels ¶
func (m *ControllerGenesisState) GetActiveChannels() []ActiveChannel
func (*ControllerGenesisState) GetInterchainAccounts ¶
func (m *ControllerGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount
func (*ControllerGenesisState) GetParams ¶
func (m *ControllerGenesisState) GetParams() types.Params
func (*ControllerGenesisState) GetPorts ¶
func (m *ControllerGenesisState) GetPorts() []string
func (*ControllerGenesisState) Marshal ¶
func (m *ControllerGenesisState) Marshal() (dAtA []byte, err error)
func (*ControllerGenesisState) MarshalTo ¶
func (m *ControllerGenesisState) MarshalTo(dAtA []byte) (int, error)
func (*ControllerGenesisState) MarshalToSizedBuffer ¶
func (m *ControllerGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ControllerGenesisState) ProtoMessage ¶
func (*ControllerGenesisState) ProtoMessage()
func (*ControllerGenesisState) Reset ¶
func (m *ControllerGenesisState) Reset()
func (*ControllerGenesisState) Size ¶
func (m *ControllerGenesisState) Size() (n int)
func (*ControllerGenesisState) String ¶
func (m *ControllerGenesisState) String() string
func (*ControllerGenesisState) Unmarshal ¶
func (m *ControllerGenesisState) Unmarshal(dAtA []byte) error
func (ControllerGenesisState) Validate ¶
func (gs ControllerGenesisState) Validate() error
Validate performs basic validation of the ControllerGenesisState
func (*ControllerGenesisState) XXX_DiscardUnknown ¶
func (m *ControllerGenesisState) XXX_DiscardUnknown()
func (*ControllerGenesisState) XXX_Marshal ¶
func (m *ControllerGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ControllerGenesisState) XXX_Merge ¶
func (m *ControllerGenesisState) XXX_Merge(src proto.Message)
func (*ControllerGenesisState) XXX_Size ¶
func (m *ControllerGenesisState) XXX_Size() int
func (*ControllerGenesisState) XXX_Unmarshal ¶
func (m *ControllerGenesisState) XXX_Unmarshal(b []byte) error
type CosmosTx ¶
type CosmosTx struct {
Messages []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
}
CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain.
func (*CosmosTx) Descriptor ¶
func (*CosmosTx) GetMessages ¶
func (*CosmosTx) MarshalToSizedBuffer ¶
func (*CosmosTx) ProtoMessage ¶
func (*CosmosTx) ProtoMessage()
func (CosmosTx) UnpackInterfaces ¶
func (ct CosmosTx) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error
UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces
func (*CosmosTx) XXX_DiscardUnknown ¶
func (m *CosmosTx) XXX_DiscardUnknown()
func (*CosmosTx) XXX_Marshal ¶
func (*CosmosTx) XXX_Unmarshal ¶
type GenesisState ¶
type GenesisState struct { ControllerGenesisState ControllerGenesisState `` /* 151-byte string literal not displayed */ HostGenesisState HostGenesisState `` /* 127-byte string literal not displayed */ }
GenesisState defines the interchain accounts genesis state
func DefaultGenesis ¶
func DefaultGenesis() *GenesisState
DefaultGenesis creates and returns the interchain accounts GenesisState
func NewGenesisState ¶
func NewGenesisState(controllerGenesisState ControllerGenesisState, hostGenesisState HostGenesisState) *GenesisState
NewGenesisState creates and returns a new GenesisState instance from the provided controller and host genesis state types
func (*GenesisState) Descriptor ¶
func (*GenesisState) Descriptor() ([]byte, []int)
func (*GenesisState) GetControllerGenesisState ¶
func (m *GenesisState) GetControllerGenesisState() ControllerGenesisState
func (*GenesisState) GetHostGenesisState ¶
func (m *GenesisState) GetHostGenesisState() HostGenesisState
func (*GenesisState) Marshal ¶
func (m *GenesisState) Marshal() (dAtA []byte, err 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 validation of the interchain accounts GenesisState
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 HostGenesisState ¶
type HostGenesisState struct { ActiveChannels []ActiveChannel `protobuf:"bytes,1,rep,name=active_channels,json=activeChannels,proto3" json:"active_channels" yaml:"active_channels"` InterchainAccounts []RegisteredInterchainAccount `` /* 132-byte string literal not displayed */ Port string `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` Params types1.Params `protobuf:"bytes,4,opt,name=params,proto3" json:"params"` }
HostGenesisState defines the interchain accounts host genesis state
func DefaultHostGenesis ¶
func DefaultHostGenesis() HostGenesisState
DefaultHostGenesis creates and returns the default interchain accounts HostGenesisState
func NewHostGenesisState ¶
func NewHostGenesisState(channels []ActiveChannel, accounts []RegisteredInterchainAccount, port string, hostParams hosttypes.Params) HostGenesisState
NewHostGenesisState creates a returns a new HostGenesisState instance
func (*HostGenesisState) Descriptor ¶
func (*HostGenesisState) Descriptor() ([]byte, []int)
func (*HostGenesisState) GetActiveChannels ¶
func (m *HostGenesisState) GetActiveChannels() []ActiveChannel
func (*HostGenesisState) GetInterchainAccounts ¶
func (m *HostGenesisState) GetInterchainAccounts() []RegisteredInterchainAccount
func (*HostGenesisState) GetParams ¶
func (m *HostGenesisState) GetParams() types1.Params
func (*HostGenesisState) GetPort ¶
func (m *HostGenesisState) GetPort() string
func (*HostGenesisState) Marshal ¶
func (m *HostGenesisState) Marshal() (dAtA []byte, err error)
func (*HostGenesisState) MarshalToSizedBuffer ¶
func (m *HostGenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*HostGenesisState) ProtoMessage ¶
func (*HostGenesisState) ProtoMessage()
func (*HostGenesisState) Reset ¶
func (m *HostGenesisState) Reset()
func (*HostGenesisState) Size ¶
func (m *HostGenesisState) Size() (n int)
func (*HostGenesisState) String ¶
func (m *HostGenesisState) String() string
func (*HostGenesisState) Unmarshal ¶
func (m *HostGenesisState) Unmarshal(dAtA []byte) error
func (HostGenesisState) Validate ¶
func (gs HostGenesisState) Validate() error
Validate performs basic validation of the HostGenesisState
func (*HostGenesisState) XXX_DiscardUnknown ¶
func (m *HostGenesisState) XXX_DiscardUnknown()
func (*HostGenesisState) XXX_Marshal ¶
func (m *HostGenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*HostGenesisState) XXX_Merge ¶
func (m *HostGenesisState) XXX_Merge(src proto.Message)
func (*HostGenesisState) XXX_Size ¶
func (m *HostGenesisState) XXX_Size() int
func (*HostGenesisState) XXX_Unmarshal ¶
func (m *HostGenesisState) XXX_Unmarshal(b []byte) error
type ICS4Wrapper ¶
type ICS4Wrapper interface { SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool) }
ICS4Wrapper defines the expected ICS4Wrapper for middleware
type InterchainAccount ¶
type InterchainAccount struct { *types.BaseAccount `` /* 136-byte string literal not displayed */ AccountOwner string `protobuf:"bytes,2,opt,name=account_owner,json=accountOwner,proto3" json:"account_owner,omitempty" yaml:"account_owner"` }
An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain
func NewInterchainAccount ¶
func NewInterchainAccount(ba *authtypes.BaseAccount, accountOwner string) *InterchainAccount
NewInterchainAccount creates and returns a new InterchainAccount type
func (*InterchainAccount) Descriptor ¶
func (*InterchainAccount) Descriptor() ([]byte, []int)
func (*InterchainAccount) Marshal ¶
func (m *InterchainAccount) Marshal() (dAtA []byte, err error)
func (InterchainAccount) MarshalJSON ¶
func (ia InterchainAccount) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON representation of the InterchainAccount
func (*InterchainAccount) MarshalTo ¶
func (m *InterchainAccount) MarshalTo(dAtA []byte) (int, error)
func (*InterchainAccount) MarshalToSizedBuffer ¶
func (m *InterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (InterchainAccount) MarshalYAML ¶
func (ia InterchainAccount) MarshalYAML() ([]byte, error)
MarshalYAML returns the YAML representation of the InterchainAccount
func (*InterchainAccount) ProtoMessage ¶
func (*InterchainAccount) ProtoMessage()
func (*InterchainAccount) Reset ¶
func (m *InterchainAccount) Reset()
func (InterchainAccount) SetPubKey ¶
func (ia InterchainAccount) SetPubKey(pubKey crypto.PubKey) error
SetPubKey implements the authtypes.AccountI interface
func (InterchainAccount) SetSequence ¶
func (ia InterchainAccount) SetSequence(seq uint64) error
SetSequence implements the authtypes.AccountI interface
func (*InterchainAccount) Size ¶
func (m *InterchainAccount) Size() (n int)
func (InterchainAccount) String ¶
func (ia InterchainAccount) String() string
String returns a string representation of the InterchainAccount
func (*InterchainAccount) Unmarshal ¶
func (m *InterchainAccount) Unmarshal(dAtA []byte) error
func (*InterchainAccount) UnmarshalJSON ¶
func (ia *InterchainAccount) UnmarshalJSON(bz []byte) error
UnmarshalJSON unmarshals raw JSON bytes into the InterchainAccount
func (InterchainAccount) Validate ¶
func (ia InterchainAccount) Validate() error
Validate implements basic validation of the InterchainAccount
func (*InterchainAccount) XXX_DiscardUnknown ¶
func (m *InterchainAccount) XXX_DiscardUnknown()
func (*InterchainAccount) XXX_Marshal ¶
func (m *InterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*InterchainAccount) XXX_Merge ¶
func (m *InterchainAccount) XXX_Merge(src proto.Message)
func (*InterchainAccount) XXX_Size ¶
func (m *InterchainAccount) XXX_Size() int
func (*InterchainAccount) XXX_Unmarshal ¶
func (m *InterchainAccount) XXX_Unmarshal(b []byte) error
type InterchainAccountI ¶
InterchainAccountI wraps the authtypes.AccountI interface
type InterchainAccountPacketData ¶
type InterchainAccountPacketData struct { Type Type `protobuf:"varint,1,opt,name=type,proto3,enum=ibc.applications.interchain_accounts.v1.Type" json:"type,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` Memo string `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` }
InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field.
func (*InterchainAccountPacketData) Descriptor ¶
func (*InterchainAccountPacketData) Descriptor() ([]byte, []int)
func (InterchainAccountPacketData) GetBytes ¶
func (iapd InterchainAccountPacketData) GetBytes() []byte
GetBytes returns the JSON marshalled interchain account packet data.
func (*InterchainAccountPacketData) GetData ¶
func (m *InterchainAccountPacketData) GetData() []byte
func (*InterchainAccountPacketData) GetMemo ¶
func (m *InterchainAccountPacketData) GetMemo() string
func (*InterchainAccountPacketData) GetType ¶
func (m *InterchainAccountPacketData) GetType() Type
func (*InterchainAccountPacketData) Marshal ¶
func (m *InterchainAccountPacketData) Marshal() (dAtA []byte, err error)
func (*InterchainAccountPacketData) MarshalTo ¶
func (m *InterchainAccountPacketData) MarshalTo(dAtA []byte) (int, error)
func (*InterchainAccountPacketData) MarshalToSizedBuffer ¶
func (m *InterchainAccountPacketData) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*InterchainAccountPacketData) ProtoMessage ¶
func (*InterchainAccountPacketData) ProtoMessage()
func (*InterchainAccountPacketData) Reset ¶
func (m *InterchainAccountPacketData) Reset()
func (*InterchainAccountPacketData) Size ¶
func (m *InterchainAccountPacketData) Size() (n int)
func (*InterchainAccountPacketData) String ¶
func (m *InterchainAccountPacketData) String() string
func (*InterchainAccountPacketData) Unmarshal ¶
func (m *InterchainAccountPacketData) Unmarshal(dAtA []byte) error
func (InterchainAccountPacketData) ValidateBasic ¶
func (iapd InterchainAccountPacketData) ValidateBasic() error
ValidateBasic performs basic validation of the interchain account packet data. The memo may be empty.
func (*InterchainAccountPacketData) XXX_DiscardUnknown ¶
func (m *InterchainAccountPacketData) XXX_DiscardUnknown()
func (*InterchainAccountPacketData) XXX_Marshal ¶
func (m *InterchainAccountPacketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*InterchainAccountPacketData) XXX_Merge ¶
func (m *InterchainAccountPacketData) XXX_Merge(src proto.Message)
func (*InterchainAccountPacketData) XXX_Size ¶
func (m *InterchainAccountPacketData) XXX_Size() int
func (*InterchainAccountPacketData) XXX_Unmarshal ¶
func (m *InterchainAccountPacketData) XXX_Unmarshal(b []byte) error
type MessageRouter ¶
type MessageRouter interface {
Handler(msg sdk.Msg) baseapp.MsgServiceHandler
}
MessageRouter ADR 031 request type routing https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-031-msg-service.md
type Metadata ¶
type Metadata struct { // version defines the ICS27 protocol version Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // controller_connection_id is the connection identifier associated with the controller chain ControllerConnectionId string `` /* 161-byte string literal not displayed */ // host_connection_id is the connection identifier associated with the host chain HostConnectionId string `` /* 137-byte string literal not displayed */ // address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step // NOTE: the address field is empty on the OnChanOpenInit handshake step Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` // encoding defines the supported codec format Encoding string `protobuf:"bytes,5,opt,name=encoding,proto3" json:"encoding,omitempty"` // tx_type defines the type of transactions the interchain account can execute TxType string `protobuf:"bytes,6,opt,name=tx_type,json=txType,proto3" json:"tx_type,omitempty"` }
Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring See ICS004: https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and-packet-semantics#Versioning
func NewDefaultMetadata ¶
NewDefaultMetadata creates and returns a new ICS27 Metadata instance containing the default ICS27 Metadata values with the provided controller and host connection identifiers
func NewMetadata ¶
func NewMetadata(version, controllerConnectionID, hostConnectionID, accAddress, encoding, txType string) Metadata
NewMetadata creates and returns a new ICS27 Metadata instance
func (*Metadata) Descriptor ¶
func (*Metadata) GetAddress ¶
func (*Metadata) GetControllerConnectionId ¶
func (*Metadata) GetEncoding ¶
func (*Metadata) GetHostConnectionId ¶
func (*Metadata) GetVersion ¶
func (*Metadata) MarshalToSizedBuffer ¶
func (*Metadata) ProtoMessage ¶
func (*Metadata) ProtoMessage()
func (*Metadata) XXX_DiscardUnknown ¶
func (m *Metadata) XXX_DiscardUnknown()
func (*Metadata) XXX_Marshal ¶
func (*Metadata) XXX_Unmarshal ¶
type PortKeeper ¶
type PortKeeper interface { BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability IsBound(ctx sdk.Context, portID string) bool }
PortKeeper defines the expected IBC port keeper
type RegisteredInterchainAccount ¶
type RegisteredInterchainAccount struct { ConnectionId string `protobuf:"bytes,1,opt,name=connection_id,json=connectionId,proto3" json:"connection_id,omitempty" yaml:"connection_id"` PortId string `protobuf:"bytes,2,opt,name=port_id,json=portId,proto3" json:"port_id,omitempty" yaml:"port_id"` AccountAddress string `` /* 126-byte string literal not displayed */ }
RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address
func (*RegisteredInterchainAccount) Descriptor ¶
func (*RegisteredInterchainAccount) Descriptor() ([]byte, []int)
func (*RegisteredInterchainAccount) GetAccountAddress ¶
func (m *RegisteredInterchainAccount) GetAccountAddress() string
func (*RegisteredInterchainAccount) GetConnectionId ¶
func (m *RegisteredInterchainAccount) GetConnectionId() string
func (*RegisteredInterchainAccount) GetPortId ¶
func (m *RegisteredInterchainAccount) GetPortId() string
func (*RegisteredInterchainAccount) Marshal ¶
func (m *RegisteredInterchainAccount) Marshal() (dAtA []byte, err error)
func (*RegisteredInterchainAccount) MarshalTo ¶
func (m *RegisteredInterchainAccount) MarshalTo(dAtA []byte) (int, error)
func (*RegisteredInterchainAccount) MarshalToSizedBuffer ¶
func (m *RegisteredInterchainAccount) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RegisteredInterchainAccount) ProtoMessage ¶
func (*RegisteredInterchainAccount) ProtoMessage()
func (*RegisteredInterchainAccount) Reset ¶
func (m *RegisteredInterchainAccount) Reset()
func (*RegisteredInterchainAccount) Size ¶
func (m *RegisteredInterchainAccount) Size() (n int)
func (*RegisteredInterchainAccount) String ¶
func (m *RegisteredInterchainAccount) String() string
func (*RegisteredInterchainAccount) Unmarshal ¶
func (m *RegisteredInterchainAccount) Unmarshal(dAtA []byte) error
func (*RegisteredInterchainAccount) XXX_DiscardUnknown ¶
func (m *RegisteredInterchainAccount) XXX_DiscardUnknown()
func (*RegisteredInterchainAccount) XXX_Marshal ¶
func (m *RegisteredInterchainAccount) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RegisteredInterchainAccount) XXX_Merge ¶
func (m *RegisteredInterchainAccount) XXX_Merge(src proto.Message)
func (*RegisteredInterchainAccount) XXX_Size ¶
func (m *RegisteredInterchainAccount) XXX_Size() int
func (*RegisteredInterchainAccount) XXX_Unmarshal ¶
func (m *RegisteredInterchainAccount) XXX_Unmarshal(b []byte) error
type Type ¶
type Type int32
Type defines a classification of message issued from a controller chain to its associated interchain accounts host