github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/feesplit/genesis.go (about)

     1  package feesplit
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  
     6  	"github.com/fibonacci-chain/fbc/x/feesplit/keeper"
     7  	"github.com/fibonacci-chain/fbc/x/feesplit/types"
     8  )
     9  
    10  // InitGenesis import module genesis
    11  func InitGenesis(
    12  	ctx sdk.Context,
    13  	k keeper.Keeper,
    14  	data types.GenesisState,
    15  ) {
    16  	k.SetParams(ctx, data.Params)
    17  
    18  	for _, feeSplit := range data.FeeSplits {
    19  		contract := feeSplit.ContractAddress
    20  		deployer := feeSplit.DeployerAddress
    21  		withdrawer := feeSplit.WithdrawerAddress
    22  
    23  		// Set initial contracts receiving transaction fees
    24  		k.SetFeeSplit(ctx, feeSplit)
    25  		k.SetDeployerMap(ctx, deployer, contract)
    26  		k.SetWithdrawerMap(ctx, withdrawer, contract)
    27  	}
    28  }
    29  
    30  // ExportGenesis export module state
    31  func ExportGenesis(ctx sdk.Context, k keeper.Keeper) *types.GenesisState {
    32  	return &types.GenesisState{
    33  		Params:    k.GetParams(ctx),
    34  		FeeSplits: k.GetFeeSplits(ctx),
    35  	}
    36  }