github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/apps/29-fee/keeper/genesis.go (about) 1 package keeper 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/apps/29-fee/types" 6 ) 7 8 // InitGenesis initializes the fee middleware application state from a provided genesis state 9 func (k Keeper) InitGenesis(ctx sdk.Context, state types.GenesisState) { 10 for _, identifiedFees := range state.IdentifiedFees { 11 k.SetFeesInEscrow(ctx, identifiedFees.PacketId, types.NewPacketFees(identifiedFees.PacketFees)) 12 } 13 14 for _, registeredPayee := range state.RegisteredPayees { 15 k.SetPayeeAddress(ctx, registeredPayee.Relayer, registeredPayee.Payee, registeredPayee.ChannelId) 16 } 17 18 for _, registeredCounterpartyPayee := range state.RegisteredCounterpartyPayees { 19 k.SetCounterpartyPayeeAddress(ctx, registeredCounterpartyPayee.Relayer, registeredCounterpartyPayee.CounterpartyPayee, registeredCounterpartyPayee.ChannelId) 20 } 21 22 for _, forwardAddr := range state.ForwardRelayers { 23 k.SetRelayerAddressForAsyncAck(ctx, forwardAddr.PacketId, forwardAddr.Address) 24 } 25 26 for _, enabledChan := range state.FeeEnabledChannels { 27 k.SetFeeEnabled(ctx, enabledChan.PortId, enabledChan.ChannelId) 28 } 29 } 30 31 // ExportGenesis returns the fee middleware application exported genesis 32 func (k Keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState { 33 return &types.GenesisState{ 34 IdentifiedFees: k.GetAllIdentifiedPacketFees(ctx), 35 FeeEnabledChannels: k.GetAllFeeEnabledChannels(ctx), 36 RegisteredPayees: k.GetAllPayees(ctx), 37 RegisteredCounterpartyPayees: k.GetAllCounterpartyPayees(ctx), 38 ForwardRelayers: k.GetAllForwardRelayerAddresses(ctx), 39 } 40 }