func NewDepositParams(minDeposit Coins, maxDepositPeriod time.Duration) DepositParams {
	return DepositParams{
		MinDeposit:       minDeposit,
		MaxDepositPeriod: maxDepositPeriod,
	}
}
NewDepositParams creates a new DepositParams object
package types
import (
	"fmt"
	"time"
	"github.com/KuChainNetwork/kuchain/chain/types"
	"github.com/KuChainNetwork/kuchain/x/gov/external"
	paramtypes "github.com/KuChainNetwork/kuchain/x/params/types"
	stakingexport "github.com/KuChainNetwork/kuchain/x/staking/exported"
	sdk "github.com/cosmos/cosmos-sdk/types"
	"gopkg.in/yaml.v2"
)
const (
	DefaultPeriod       time.Duration = time.Hour * 24 * 14  
	DefaultPunishPeriod time.Duration = time.Hour * 24 * 7   
)
var (
	DefaultMinDepositTokens = external.TokensFromConsensusPower(500)
	DefaultQuorum           = sdk.NewDecWithPrec(334, 3)
	DefaultThreshold        = sdk.NewDecWithPrec(5, 1)
	DefaultVeto             = sdk.NewDecWithPrec(334, 3)
	DefaultEmergengcy       = sdk.NewDecWithPrec(667, 3)
	DefaultSlashFraction    = types.NewDec(1).Quo(types.NewDec(10000))
)
var (
	ParamStoreKeyDepositParams = []byte("depositparams")
	ParamStoreKeyVotingParams  = []byte("votingparams")
	ParamStoreKeyTallyParams   = []byte("tallyparams")
)
func ParamKeyTable() paramtypes.KeyTable {
	return paramtypes.NewKeyTable(
		paramtypes.NewParamSetPair(ParamStoreKeyDepositParams, DepositParams{}, validateDepositParams),
		paramtypes.NewParamSetPair(ParamStoreKeyVotingParams, VotingParams{}, validateVotingParams),
		paramtypes.NewParamSetPair(ParamStoreKeyTallyParams, TallyParams{}, validateTallyParams),
	)
}
type DepositParams struct {
	MinDeposit       Coins         `json:"min_deposit,omitempty" yaml:"min_deposit,omitempty"`                
	MaxDepositPeriod time.Duration `json:"max_deposit_period,omitempty" yaml:"max_deposit_period,omitempty"`  
}