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  }