Documentation ¶
Overview ¶
Package fee implements the packet data structure, state machine handling logic, and encoding details for handling fee payments on top of any ICS application protocol. This implementation is based off the ICS 29 specification (https://github.com/cosmos/ibc/tree/main/spec/app/ics-029-fee-payment) and follows the middleware pattern specified in the ICS 30 specification (https://github.com/cosmos/ibc/tree/main/spec/app/ics-030-middleware).
Index ¶
- type AppModule
- func (AppModule) ConsensusVersion() uint64
- func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage
- func (AppModule) GenerateGenesisState(_ *module.SimulationState)
- func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage)
- func (AppModule) IsAppModule()
- func (AppModule) IsOnePerModuleType()
- func (am AppModule) RegisterServices(cfg module.Configurator)
- func (AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry)
- func (AppModule) WeightedOperations(_ module.SimulationState) []simtypes.WeightedOperation
- type AppModuleBasic
- func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
- func (AppModuleBasic) GetQueryCmd() *cobra.Command
- func (AppModuleBasic) GetTxCmd() *cobra.Command
- func (AppModuleBasic) Name() string
- func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
- func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)
- func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
- type IBCMiddleware
- func (im IBCMiddleware) GetAppVersion(ctx sdk.Context, portID, channelID string) (string, bool)
- func (im IBCMiddleware) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, ...) error
- func (im IBCMiddleware) OnChanCloseConfirm(ctx sdk.Context, portID, channelID string) error
- func (im IBCMiddleware) OnChanCloseInit(ctx sdk.Context, portID, channelID string) error
- func (im IBCMiddleware) OnChanOpenAck(ctx sdk.Context, portID, channelID string, counterpartyChannelID string, ...) error
- func (im IBCMiddleware) OnChanOpenConfirm(ctx sdk.Context, portID, channelID string) error
- func (im IBCMiddleware) OnChanOpenInit(ctx sdk.Context, order channeltypes.Order, connectionHops []string, ...) (string, error)
- func (im IBCMiddleware) OnChanOpenTry(ctx sdk.Context, order channeltypes.Order, connectionHops []string, ...) (string, error)
- func (im IBCMiddleware) OnChanUpgradeAck(ctx sdk.Context, portID, channelID, counterpartyVersion string) error
- func (im IBCMiddleware) OnChanUpgradeInit(ctx sdk.Context, portID string, channelID string, ...) (string, error)
- func (im IBCMiddleware) OnChanUpgradeOpen(ctx sdk.Context, portID, channelID string, proposedOrder channeltypes.Order, ...)
- func (im IBCMiddleware) OnChanUpgradeTry(ctx sdk.Context, portID, channelID string, proposedOrder channeltypes.Order, ...) (string, error)
- func (im IBCMiddleware) OnRecvPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) exported.Acknowledgement
- func (im IBCMiddleware) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress) error
- func (im IBCMiddleware) SendPacket(ctx sdk.Context, chanCap *capabilitytypes.Capability, sourcePort string, ...) (uint64, error)
- func (im IBCMiddleware) UnmarshalPacketData(ctx sdk.Context, portID, channelID string, bz []byte) (interface{}, error)
- func (im IBCMiddleware) WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.PacketI, ...) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppModule ¶
type AppModule struct { AppModuleBasic // contains filtered or unexported fields }
AppModule represents the AppModule for this module
func NewAppModule ¶
NewAppModule creates a new 29-fee module
func (AppModule) ConsensusVersion ¶
ConsensusVersion implements AppModule/ConsensusVersion.
func (AppModule) ExportGenesis ¶
ExportGenesis returns the exported genesis state as raw bytes for the ibc-29-fee module.
func (AppModule) GenerateGenesisState ¶
func (AppModule) GenerateGenesisState(_ *module.SimulationState)
GenerateGenesisState creates a randomized GenState of the 29-fee module.
func (AppModule) InitGenesis ¶
InitGenesis performs genesis initialization for the ibc-29-fee module. It returns no validator updates.
func (AppModule) IsAppModule ¶
func (AppModule) IsAppModule()
IsAppModule implements the appmodule.AppModule interface.
func (AppModule) IsOnePerModuleType ¶
func (AppModule) IsOnePerModuleType()
IsOnePerModuleType implements the depinject.OnePerModuleType interface.
func (AppModule) RegisterServices ¶
func (am AppModule) RegisterServices(cfg module.Configurator)
RegisterServices registers module services.
func (AppModule) RegisterStoreDecoder ¶
func (AppModule) RegisterStoreDecoder(_ simtypes.StoreDecoderRegistry)
RegisterStoreDecoder registers a decoder for 29-fee module's types
func (AppModule) WeightedOperations ¶
func (AppModule) WeightedOperations(_ module.SimulationState) []simtypes.WeightedOperation
WeightedOperations returns the all the 29-fee module operations with their respective weights.
type AppModuleBasic ¶
type AppModuleBasic struct{}
AppModuleBasic is the 29-fee AppModuleBasic
func (AppModuleBasic) DefaultGenesis ¶
func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
DefaultGenesis returns default genesis state as raw bytes for the ibc 29-fee module.
func (AppModuleBasic) GetQueryCmd ¶
func (AppModuleBasic) GetQueryCmd() *cobra.Command
GetQueryCmd implements AppModuleBasic interface
func (AppModuleBasic) GetTxCmd ¶
func (AppModuleBasic) GetTxCmd() *cobra.Command
GetTxCmd implements AppModuleBasic interface
func (AppModuleBasic) Name ¶
func (AppModuleBasic) Name() string
Name implements AppModuleBasic interface
func (AppModuleBasic) RegisterGRPCGatewayRoutes ¶
func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for ics29 fee module.
func (AppModuleBasic) RegisterInterfaces ¶
func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers module concrete types into protobuf Any.
func (AppModuleBasic) RegisterLegacyAminoCodec ¶
func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino)
RegisterLegacyAminoCodec implements AppModuleBasic interface
func (AppModuleBasic) ValidateGenesis ¶
func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
ValidateGenesis performs genesis state validation for the 29-fee module.
type IBCMiddleware ¶
type IBCMiddleware struct {
// contains filtered or unexported fields
}
IBCMiddleware implements the ICS26 callbacks for the fee middleware given the fee keeper and the underlying application.
func NewIBCMiddleware ¶
func NewIBCMiddleware(app porttypes.IBCModule, k keeper.Keeper) IBCMiddleware
NewIBCMiddleware creates a new IBCMiddleware given the keeper and underlying application
func (IBCMiddleware) GetAppVersion ¶
GetAppVersion returns the application version of the underlying application
func (IBCMiddleware) OnAcknowledgementPacket ¶
func (im IBCMiddleware) OnAcknowledgementPacket( ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte, relayer sdk.AccAddress, ) error
OnAcknowledgementPacket implements the IBCMiddleware interface If fees are not enabled, this callback will default to the ibc-core packet callback
func (IBCMiddleware) OnChanCloseConfirm ¶
func (im IBCMiddleware) OnChanCloseConfirm( ctx sdk.Context, portID, channelID string, ) error
OnChanCloseConfirm implements the IBCMiddleware interface
func (IBCMiddleware) OnChanCloseInit ¶
func (im IBCMiddleware) OnChanCloseInit( ctx sdk.Context, portID, channelID string, ) error
OnChanCloseInit implements the IBCMiddleware interface
func (IBCMiddleware) OnChanOpenAck ¶
func (im IBCMiddleware) OnChanOpenAck( ctx sdk.Context, portID, channelID string, counterpartyChannelID string, counterpartyVersion string, ) error
OnChanOpenAck implements the IBCMiddleware interface
func (IBCMiddleware) OnChanOpenConfirm ¶
func (im IBCMiddleware) OnChanOpenConfirm( ctx sdk.Context, portID, channelID string, ) error
OnChanOpenConfirm implements the IBCMiddleware interface
func (IBCMiddleware) OnChanOpenInit ¶
func (im IBCMiddleware) OnChanOpenInit( ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID string, channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, version string, ) (string, error)
OnChanOpenInit implements the IBCMiddleware interface
func (IBCMiddleware) OnChanOpenTry ¶
func (im IBCMiddleware) OnChanOpenTry( ctx sdk.Context, order channeltypes.Order, connectionHops []string, portID, channelID string, chanCap *capabilitytypes.Capability, counterparty channeltypes.Counterparty, counterpartyVersion string, ) (string, error)
OnChanOpenTry implements the IBCMiddleware interface If the channel is not fee enabled the underlying application version will be returned If the channel is fee enabled we merge the underlying application version with the ics29 version
func (IBCMiddleware) OnChanUpgradeAck ¶
func (im IBCMiddleware) OnChanUpgradeAck(ctx sdk.Context, portID, channelID, counterpartyVersion string) error
OnChanUpgradeAck implements the IBCModule interface
func (IBCMiddleware) OnChanUpgradeInit ¶
func (im IBCMiddleware) OnChanUpgradeInit( ctx sdk.Context, portID string, channelID string, proposedOrder channeltypes.Order, proposedConnectionHops []string, proposedVersion string, ) (string, error)
OnChanUpgradeInit implements the IBCModule interface
func (IBCMiddleware) OnChanUpgradeOpen ¶
func (im IBCMiddleware) OnChanUpgradeOpen(ctx sdk.Context, portID, channelID string, proposedOrder channeltypes.Order, proposedConnectionHops []string, proposedVersion string)
OnChanUpgradeOpen implements the IBCModule interface
func (IBCMiddleware) OnChanUpgradeTry ¶
func (im IBCMiddleware) OnChanUpgradeTry(ctx sdk.Context, portID, channelID string, proposedOrder channeltypes.Order, proposedConnectionHops []string, counterpartyVersion string) (string, error)
OnChanUpgradeTry implements the IBCModule interface
func (IBCMiddleware) OnRecvPacket ¶
func (im IBCMiddleware) OnRecvPacket( ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, ) exported.Acknowledgement
OnRecvPacket implements the IBCMiddleware interface. If fees are not enabled, this callback will default to the ibc-core packet callback
func (IBCMiddleware) OnTimeoutPacket ¶
func (im IBCMiddleware) OnTimeoutPacket( ctx sdk.Context, packet channeltypes.Packet, relayer sdk.AccAddress, ) error
OnTimeoutPacket implements the IBCMiddleware interface If fees are not enabled, this callback will default to the ibc-core packet callback
func (IBCMiddleware) SendPacket ¶
func (im IBCMiddleware) SendPacket( ctx sdk.Context, chanCap *capabilitytypes.Capability, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte, ) (uint64, error)
SendPacket implements the ICS4 Wrapper interface
func (IBCMiddleware) UnmarshalPacketData ¶
func (im IBCMiddleware) UnmarshalPacketData(ctx sdk.Context, portID, channelID string, bz []byte) (interface{}, error)
UnmarshalPacketData attempts to use the underlying app to unmarshal the packet data. If the underlying app does not support the PacketDataUnmarshaler interface, an error is returned. This function implements the optional PacketDataUnmarshaler interface required for ADR 008 support.
func (IBCMiddleware) WriteAcknowledgement ¶
func (im IBCMiddleware) WriteAcknowledgement( ctx sdk.Context, chanCap *capabilitytypes.Capability, packet exported.PacketI, ack exported.Acknowledgement, ) error
WriteAcknowledgement implements the ICS4 Wrapper interface