Skip to content

Commit

Permalink
Merge pull request #310 from MrXJC/jiacheng/docs
Browse files Browse the repository at this point in the history
R4R: Add  the gov docs (English ver.)
  • Loading branch information
zhangyelong authored Sep 27, 2018
2 parents 0cb331a + 8763d31 commit 0bf7b2e
Show file tree
Hide file tree
Showing 27 changed files with 339 additions and 1,362 deletions.
15 changes: 6 additions & 9 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ import (
bam "github.com/irisnet/irishub/baseapp"
"github.com/irisnet/irishub/modules/gov"
"github.com/irisnet/irishub/modules/gov/params"
"github.com/irisnet/irishub/modules/iparams"
"github.com/irisnet/irishub/modules/parameter"
"github.com/irisnet/irishub/modules/iparam"
"github.com/irisnet/irishub/modules/upgrade"
"github.com/irisnet/irishub/modules/upgrade/params"
"github.com/spf13/viper"
Expand Down Expand Up @@ -73,7 +72,6 @@ type IrisApp struct {
slashingKeeper slashing.Keeper
paramsKeeper params.Keeper
govKeeper gov.Keeper
iparamsKeeper iparams.Keeper
upgradeKeeper upgrade.Keeper

// fee manager
Expand Down Expand Up @@ -116,14 +114,13 @@ func NewIrisApp(logger log.Logger, db dbm.DB, traceStore io.Writer, baseAppOptio

// add handlers
app.paramsKeeper = params.NewKeeper(cdc, app.keyParams)
app.iparamsKeeper = iparams.NewKeeper(app.cdc, app.keyIparams)
app.coinKeeper = bank.NewKeeper(app.accountMapper)
app.ibcMapper = ibc.NewMapper(app.cdc, app.keyIBC, app.RegisterCodespace(ibc.DefaultCodespace))
app.stakeKeeper = stake.NewKeeper(app.cdc, app.keyStake, app.coinKeeper, app.RegisterCodespace(stake.DefaultCodespace))
app.slashingKeeper = slashing.NewKeeper(app.cdc, app.keySlashing, app.stakeKeeper, app.paramsKeeper.Getter(), app.RegisterCodespace(slashing.DefaultCodespace))
app.feeCollectionKeeper = auth.NewFeeCollectionKeeper(app.cdc, app.keyFeeCollection)
app.upgradeKeeper = upgrade.NewKeeper(app.cdc, app.keyUpgrade, app.stakeKeeper)
app.govKeeper = gov.NewKeeper(app.cdc, app.keyGov, app.iparamsKeeper.GovSetter(), app.coinKeeper, app.stakeKeeper, app.RegisterCodespace(gov.DefaultCodespace))
app.govKeeper = gov.NewKeeper(app.cdc, app.keyGov, app.coinKeeper, app.stakeKeeper, app.RegisterCodespace(gov.DefaultCodespace))

// register message routes
// need to update each module's msg type
Expand All @@ -135,7 +132,7 @@ func NewIrisApp(logger log.Logger, db dbm.DB, traceStore io.Writer, baseAppOptio
AddRoute("gov", []*sdk.KVStoreKey{app.keyGov, app.keyAccount, app.keyStake, app.keyIparams, app.keyParams}, gov.NewHandler(app.govKeeper)).
AddRoute("upgrade", []*sdk.KVStoreKey{app.keyUpgrade, app.keyStake}, upgrade.NewHandler(app.upgradeKeeper))

app.feeManager = bam.NewFeeManager(app.iparamsKeeper.GlobalGetter(), app.iparamsKeeper.GovGetter())
app.feeManager = bam.NewFeeManager(app.paramsKeeper.Setter())
// initialize BaseApp
app.SetInitChainer(app.initChainer)
app.SetBeginBlocker(app.BeginBlocker)
Expand All @@ -157,14 +154,14 @@ func NewIrisApp(logger log.Logger, db dbm.DB, traceStore io.Writer, baseAppOptio
}

upgrade.RegisterModuleList(app.Router())
parameter.SetParamReadWriter(app.paramsKeeper.Setter(),
iparam.SetParamReadWriter(app.paramsKeeper.Setter(),
&govparams.DepositProcedureParameter,
&govparams.VotingProcedureParameter,
&govparams.TallyingProcedureParameter,
&upgradeparams.CurrentUpgradeProposalIdParameter,
&upgradeparams.ProposalAcceptHeightParameter)

parameter.RegisterGovParamMapping(&govparams.DepositProcedureParameter,
iparam.RegisterGovParamMapping(&govparams.DepositProcedureParameter,
&govparams.VotingProcedureParameter,
&govparams.TallyingProcedureParameter,)

Expand Down Expand Up @@ -257,7 +254,7 @@ func (app *IrisApp) initChainer(ctx sdk.Context, req abci.RequestInitChain) abci
GasPriceThreshold: 20000000000, // 20(glue), 20*10^9, 1 glue = 10^9 lue/gas, 1 iris = 10^18 lue
}

bam.InitGenesis(ctx, app.iparamsKeeper.GlobalSetter(), app.iparamsKeeper.GovSetter(), feeTokenGensisConfig)
bam.InitGenesis(ctx, app.paramsKeeper.Setter(), feeTokenGensisConfig)

// load the address to pubkey map
slashing.InitGenesis(ctx, app.slashingKeeper, genesisState.StakeData)
Expand Down
24 changes: 11 additions & 13 deletions baseapp/fee.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
sdk "github.com/cosmos/cosmos-sdk/types"
"errors"
"github.com/irisnet/irishub/types"
"github.com/irisnet/irishub/modules/iparams"
"github.com/cosmos/cosmos-sdk/x/params"
)

var (
Expand Down Expand Up @@ -54,7 +54,7 @@ func NewFeeRefundHandler(am auth.AccountMapper, fck auth.FeeCollectionKeeper, fm
}
// Refund process will also cost gas, but this is compensation for previous fee deduction.
// It is not reasonable to consume users' gas. So the context gas is reset to transaction gas
ctx = ctx.WithGasMeter(sdk.NewGasMeter(stdTx.Fee.Gas))
ctx = ctx.WithGasMeter(sdk.NewInfiniteGasMeter())

fee := auth.StdFee{
Gas: stdTx.Fee.Gas,
Expand Down Expand Up @@ -99,19 +99,17 @@ func NewFeeRefundHandler(am auth.AccountMapper, fck auth.FeeCollectionKeeper, fm

// FeeManager do fee tokens preprocess according to fee token configuration
type FeeManager struct {
globalGetter iparams.GlobalGetter
govGetter iparams.GovGetter
ps params.Setter
}

func NewFeeManager(globalGetter iparams.GlobalGetter, govGetter iparams.GovGetter) FeeManager {
func NewFeeManager(ps params.Setter) FeeManager {
return FeeManager{
globalGetter: globalGetter,
govGetter: govGetter,
ps:ps,
}
}

func (fck FeeManager) getNativeFeeToken(ctx sdk.Context, coins sdk.Coins) sdk.Coin {
nativeFeeToken, err := fck.globalGetter.GetString(ctx, nativeFeeTokenKey)
nativeFeeToken, err := fck.ps.GetString(ctx, nativeFeeTokenKey)
if err != nil {
panic(err)
}
Expand All @@ -127,11 +125,11 @@ func (fck FeeManager) feePreprocess(ctx sdk.Context, coins sdk.Coins, gasLimit i
if gasLimit <= 0 {
return sdk.ErrInternal(fmt.Sprintf("gaslimit %d should be larger than 0", gasLimit))
}
nativeFeeToken, err := fck.globalGetter.GetString(ctx, nativeFeeTokenKey)
nativeFeeToken, err := fck.ps.GetString(ctx, nativeFeeTokenKey)
if err != nil {
panic(err)
}
nativeGasPriceThreshold, err := fck.govGetter.GetString(ctx, nativeGasPriceThresholdKey)
nativeGasPriceThreshold, err := fck.ps.GetString(ctx, nativeGasPriceThresholdKey)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -177,7 +175,7 @@ type FeeGenesisStateConfig struct {
GasPriceThreshold int64 `json:"gas_price_threshold"`
}

func InitGenesis(ctx sdk.Context, globalSetter iparams.GlobalSetter, govSetter iparams.GovSetter, data FeeGenesisStateConfig) {
globalSetter.SetString(ctx, nativeFeeTokenKey, data.FeeTokenNative)
govSetter.SetString(ctx, nativeGasPriceThresholdKey, sdk.NewInt(data.GasPriceThreshold).String())
func InitGenesis(ctx sdk.Context, ps params.Setter, data FeeGenesisStateConfig) {
ps.SetString(ctx, nativeFeeTokenKey, data.FeeTokenNative)
ps.SetString(ctx, nativeGasPriceThresholdKey, sdk.NewInt(data.GasPriceThreshold).String())
}
14 changes: 7 additions & 7 deletions client/gov/cli/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
govClient "github.com/irisnet/irishub/client/gov"
"github.com/irisnet/irishub/modules/gov"
"github.com/irisnet/irishub/modules/gov/params"
"github.com/irisnet/irishub/modules/parameter"
"github.com/irisnet/irishub/modules/iparam"
"github.com/spf13/cobra"
"github.com/spf13/viper"
cmn "github.com/tendermint/tendermint/libs/common"
Expand Down Expand Up @@ -287,17 +287,17 @@ func GetCmdQueryGovConfig(storeName string, cdc *wire.Codec) *cobra.Command {
}

if keyStr != "" {
parameter.RegisterGovParamMapping(&govparams.DepositProcedureParameter,
iparam.RegisterGovParamMapping(&govparams.DepositProcedureParameter,
&govparams.VotingProcedureParameter,
&govparams.TallyingProcedureParameter)

res, err := ctx.QueryStore([]byte(keyStr), storeName)
if err == nil {
if p, ok := parameter.ParamMapping[keyStr]; ok {
if p, ok := iparam.ParamMapping[keyStr]; ok {
p.GetValueFromRawData(cdc, res) //.(govparams.TallyingProcedure)
PrintParamStr(p, keyStr)
} else {
return sdk.NewError(parameter.DefaultCodespace, parameter.CodeInvalidTallyingProcedure, fmt.Sprintf(keyStr+" is not found"))
return sdk.NewError(iparam.DefaultCodespace, iparam.CodeInvalidTallyingProcedure, fmt.Sprintf(keyStr+" is not found"))
}
} else {
return err
Expand All @@ -314,7 +314,7 @@ func GetCmdQueryGovConfig(storeName string, cdc *wire.Codec) *cobra.Command {
return cmd
}

func PrintParamStr(p parameter.GovParameter, keyStr string) {
func PrintParamStr(p iparam.GovParameter, keyStr string) {
var param gov.Param
param.Key = keyStr
param.Value = p.ToJson()
Expand Down Expand Up @@ -351,7 +351,7 @@ func (pd *ParameterConfigFile) WriteFile(cdc *wire.Codec, res []sdk.KVPair) erro
case "Gov/gov/TallyingProcedure":
cdc.MustUnmarshalBinary(kv.Value, &pd.Govparams.TallyingProcedure)
default:
return sdk.NewError(parameter.DefaultCodespace, parameter.CodeInvalidTallyingProcedure, fmt.Sprintf(string(kv.Key)+" is not found"))
return sdk.NewError(iparam.DefaultCodespace, iparam.CodeInvalidTallyingProcedure, fmt.Sprintf(string(kv.Key)+" is not found"))
}
}
output, err := cdc.MarshalJSONIndent(pd, "", " ")
Expand Down Expand Up @@ -384,7 +384,7 @@ func (pd *ParameterConfigFile) GetParamFromKey(keyStr string, opStr string) (gov
case "Gov/gov/TallyingProcedure":
jsonBytes, err = json.Marshal(pd.Govparams.TallyingProcedure)
default:
return param, sdk.NewError(parameter.DefaultCodespace, parameter.CodeInvalidTallyingProcedure, fmt.Sprintf(keyStr+" is not found"))
return param, sdk.NewError(iparam.DefaultCodespace, iparam.CodeInvalidTallyingProcedure, fmt.Sprintf(keyStr+" is not found"))
}

if err != nil {
Expand Down
7 changes: 2 additions & 5 deletions cmd/irisdebug/hack.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (
"github.com/cosmos/cosmos-sdk/x/stake"

iris "github.com/irisnet/irishub/app"
"github.com/irisnet/irishub/modules/iparams"
"github.com/irisnet/irishub/modules/upgrade"
"github.com/irisnet/irishub/modules/gov"
)
Expand Down Expand Up @@ -151,7 +150,6 @@ type IrisApp struct {
slashingKeeper slashing.Keeper
paramsKeeper params.Keeper
govKeeper gov.Keeper
iparamsKeeper iparams.Keeper
upgradeKeeper upgrade.Keeper

// fee manager
Expand Down Expand Up @@ -189,14 +187,13 @@ func NewIrisApp(logger log.Logger, db dbm.DB, baseAppOptions ...func(*bam.BaseAp

// add handlers
app.paramsKeeper = params.NewKeeper(cdc, app.keyParams)
app.iparamsKeeper = iparams.NewKeeper(app.cdc, app.keyIparams)
app.coinKeeper = bank.NewKeeper(app.accountMapper)
app.ibcMapper = ibc.NewMapper(app.cdc, app.keyIBC, app.RegisterCodespace(ibc.DefaultCodespace))
app.stakeKeeper = stake.NewKeeper(app.cdc, app.keyStake, app.coinKeeper, app.RegisterCodespace(stake.DefaultCodespace))
app.slashingKeeper = slashing.NewKeeper(app.cdc, app.keySlashing, app.stakeKeeper, app.paramsKeeper.Getter(), app.RegisterCodespace(slashing.DefaultCodespace))
app.feeCollectionKeeper = auth.NewFeeCollectionKeeper(app.cdc, app.keyFeeCollection)
app.upgradeKeeper = upgrade.NewKeeper(app.cdc, app.keyUpgrade, app.stakeKeeper, app.iparamsKeeper.GovSetter())
app.govKeeper = gov.NewKeeper(app.cdc, app.keyGov, app.iparamsKeeper.GovSetter(), app.coinKeeper, app.stakeKeeper, app.RegisterCodespace(gov.DefaultCodespace))
app.upgradeKeeper = upgrade.NewKeeper(app.cdc, app.keyUpgrade, app.stakeKeeper)
app.govKeeper = gov.NewKeeper(app.cdc, app.keyGov, app.coinKeeper, app.stakeKeeper, app.RegisterCodespace(gov.DefaultCodespace))

// register message routes
app.Router().
Expand Down
Loading

0 comments on commit 0bf7b2e

Please sign in to comment.