mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-10-31 21:18:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package committee
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 
 | |
| 	sdk "github.com/cosmos/cosmos-sdk/types"
 | |
| 
 | |
| 	"github.com/kava-labs/kava/x/committee/types"
 | |
| )
 | |
| 
 | |
| // InitGenesis initializes the store state from a genesis state.
 | |
| func InitGenesis(ctx sdk.Context, keeper Keeper, gs GenesisState) {
 | |
| 	if err := gs.Validate(); err != nil {
 | |
| 		panic(fmt.Sprintf("failed to validate %s genesis state: %s", ModuleName, err))
 | |
| 	}
 | |
| 
 | |
| 	keeper.SetNextProposalID(ctx, gs.NextProposalID)
 | |
| 
 | |
| 	for _, com := range gs.Committees {
 | |
| 		keeper.SetCommittee(ctx, com)
 | |
| 	}
 | |
| 	for _, p := range gs.Proposals {
 | |
| 		keeper.SetProposal(ctx, p)
 | |
| 	}
 | |
| 	for _, v := range gs.Votes {
 | |
| 		keeper.SetVote(ctx, v)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| // ExportGenesis returns a GenesisState for a given context and keeper.
 | |
| func ExportGenesis(ctx sdk.Context, keeper Keeper) GenesisState {
 | |
| 
 | |
| 	nextID, err := keeper.GetNextProposalID(ctx)
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 	committees := keeper.GetCommittees(ctx)
 | |
| 	proposals := keeper.GetProposals(ctx)
 | |
| 	votes := keeper.GetVotes(ctx)
 | |
| 
 | |
| 	return types.NewGenesisState(
 | |
| 		nextID,
 | |
| 		committees,
 | |
| 		proposals,
 | |
| 		votes,
 | |
| 	)
 | |
| }
 | 
