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 }