From 8be88f7447fdf632961a91062274e9c5246ccc90 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 1 Mar 2019 22:02:48 +0100 Subject: [PATCH 01/42] Handle error insted of panic --- x/params/subspace/subspace.go | 55 ++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/x/params/subspace/subspace.go b/x/params/subspace/subspace.go index 72cb5f209b0f..b4eb23fc928e 100644 --- a/x/params/subspace/subspace.go +++ b/x/params/subspace/subspace.go @@ -1,6 +1,7 @@ package subspace import ( + "errors" "reflect" "github.com/cosmos/cosmos-sdk/codec" @@ -90,37 +91,31 @@ func concatKeys(key, subkey []byte) (res []byte) { } // Get parameter from store -func (s Subspace) Get(ctx sdk.Context, key []byte, ptr interface{}) { +func (s Subspace) Get(ctx sdk.Context, key []byte, ptr interface{}) error { store := s.kvStore(ctx) bz := store.Get(key) - err := s.cdc.UnmarshalJSON(bz, ptr) - if err != nil { - panic(err) - } + return s.cdc.UnmarshalJSON(bz, ptr) } // GetIfExists do not modify ptr if the stored parameter is nil -func (s Subspace) GetIfExists(ctx sdk.Context, key []byte, ptr interface{}) { +func (s Subspace) GetIfExists(ctx sdk.Context, key []byte, ptr interface{}) error { store := s.kvStore(ctx) bz := store.Get(key) if bz == nil { - return - } - err := s.cdc.UnmarshalJSON(bz, ptr) - if err != nil { - panic(err) + return errors.New("store key does not exist") } + return s.cdc.UnmarshalJSON(bz, ptr) } // GetWithSubkey returns a parameter with a given key and a subkey. -func (s Subspace) GetWithSubkey(ctx sdk.Context, key, subkey []byte, ptr interface{}) { - s.Get(ctx, concatKeys(key, subkey), ptr) +func (s Subspace) GetWithSubkey(ctx sdk.Context, key, subkey []byte, ptr interface{}) error { + return s.Get(ctx, concatKeys(key, subkey), ptr) } // GetWithSubkeyIfExists returns a parameter with a given key and a subkey but does not // modify ptr if the stored parameter is nil. -func (s Subspace) GetWithSubkeyIfExists(ctx sdk.Context, key, subkey []byte, ptr interface{}) { - s.GetIfExists(ctx, concatKeys(key, subkey), ptr) +func (s Subspace) GetWithSubkeyIfExists(ctx sdk.Context, key, subkey []byte, ptr interface{}) error { + return s.GetIfExists(ctx, concatKeys(key, subkey), ptr) } // Get raw bytes of parameter from store @@ -141,10 +136,10 @@ func (s Subspace) Modified(ctx sdk.Context, key []byte) bool { return tstore.Has(key) } -func (s Subspace) checkType(store sdk.KVStore, key []byte, param interface{}) { +func (s Subspace) checkType(store sdk.KVStore, key []byte, param interface{}) error { attr, ok := s.table.m[string(key)] if !ok { - panic("Parameter not registered") + return errors.New("Parameter not registered") } ty := attr.ty @@ -154,45 +149,51 @@ func (s Subspace) checkType(store sdk.KVStore, key []byte, param interface{}) { } if pty != ty { - panic("Type mismatch with registered table") + return errors.New("Type mismatch with registered table") } + return nil } // Set stores the parameter. It returns error if stored parameter has different type from input. // It also set to the transient store to record change. -func (s Subspace) Set(ctx sdk.Context, key []byte, param interface{}) { +func (s Subspace) Set(ctx sdk.Context, key []byte, param interface{}) error { store := s.kvStore(ctx) - s.checkType(store, key, param) + if err := s.checkType(store, key, param); err != nil { + return err + } bz, err := s.cdc.MarshalJSON(param) if err != nil { - panic(err) + return err } store.Set(key, bz) tstore := s.transientStore(ctx) tstore.Set(key, []byte{}) - + return nil } // SetWithSubkey set a parameter with a key and subkey // Checks parameter type only over the key -func (s Subspace) SetWithSubkey(ctx sdk.Context, key []byte, subkey []byte, param interface{}) { +func (s Subspace) SetWithSubkey(ctx sdk.Context, key []byte, subkey []byte, param interface{}) error { store := s.kvStore(ctx) - s.checkType(store, key, param) + if err := s.checkType(store, key, param); err != nil { + return err + } newkey := concatKeys(key, subkey) bz, err := s.cdc.MarshalJSON(param) if err != nil { - panic(err) + return err } store.Set(newkey, bz) tstore := s.transientStore(ctx) tstore.Set(newkey, []byte{}) + return nil } // Get to ParamSet @@ -225,8 +226,8 @@ type ReadOnlySubspace struct { } // Exposes Get -func (ros ReadOnlySubspace) Get(ctx sdk.Context, key []byte, ptr interface{}) { - ros.s.Get(ctx, key, ptr) +func (ros ReadOnlySubspace) Get(ctx sdk.Context, key []byte, ptr interface{}) error { + return ros.s.Get(ctx, key, ptr) } // Exposes GetRaw From 6e474a9dcc9013ad4746d9874d97ee92d4194c00 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 1 Mar 2019 22:03:25 +0100 Subject: [PATCH 02/42] Handle error comming for the store --- x/mint/abci_app.go | 13 ++++++++++--- x/mint/genesis.go | 18 ++++++++++++------ x/mint/keeper.go | 17 ++++++++++------- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/x/mint/abci_app.go b/x/mint/abci_app.go index 5016a464d18a..ea998185a4b0 100644 --- a/x/mint/abci_app.go +++ b/x/mint/abci_app.go @@ -5,11 +5,17 @@ import ( ) // Inflate every block, update inflation parameters once per hour -func BeginBlocker(ctx sdk.Context, k Keeper) { +func BeginBlocker(ctx sdk.Context, k Keeper) error { // fetch stored minter & params - minter := k.GetMinter(ctx) - params := k.GetParams(ctx) + minter, err := k.GetMinter(ctx) + if err != nil { + return err + } + params, err := k.GetParams(ctx) + if err != nil { + return err + } // recalculate inflation rate totalSupply := k.sk.TotalTokens(ctx) @@ -22,5 +28,6 @@ func BeginBlocker(ctx sdk.Context, k Keeper) { mintedCoin := minter.BlockProvision(params) k.fck.AddCollectedFees(ctx, sdk.Coins{mintedCoin}) k.sk.InflateSupply(ctx, mintedCoin.Amount) + return nil } diff --git a/x/mint/genesis.go b/x/mint/genesis.go index 11f96c6f90bb..ce326feaad7d 100644 --- a/x/mint/genesis.go +++ b/x/mint/genesis.go @@ -32,12 +32,18 @@ func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState) { keeper.SetParams(ctx, data.Params) } -// ExportGenesis returns a GenesisState for a given context and keeper. -func ExportGenesis(ctx sdk.Context, keeper Keeper) GenesisState { - - minter := keeper.GetMinter(ctx) - params := keeper.GetParams(ctx) - return NewGenesisState(minter, params) +// ExportGenesis returns a GenesisState for a given context and keeper. The +// GenesisState will contain the pool, and validator/delegator distribution info's +func ExportGenesis(ctx sdk.Context, keeper Keeper) (GenesisState, error) { + minter, err := keeper.GetMinter(ctx) + if err != nil { + return GenesisState{}, err + } + params, err := keeper.GetParams(ctx) + if err != nil { + return GenesisState{}, err + } + return NewGenesisState(minter, params), nil } // ValidateGenesis validates the provided genesis state to ensure the diff --git a/x/mint/keeper.go b/x/mint/keeper.go index e532fa744757..7457282d55c0 100644 --- a/x/mint/keeper.go +++ b/x/mint/keeper.go @@ -1,6 +1,8 @@ package mint import ( + "errors" + "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/params" @@ -56,11 +58,12 @@ const ( //______________________________________________________________________ // get the minter -func (k Keeper) GetMinter(ctx sdk.Context) (minter Minter) { +func (k Keeper) GetMinter(ctx sdk.Context) (minter Minter, err error) { store := ctx.KVStore(k.storeKey) b := store.Get(minterKey) if b == nil { - panic("Stored fee pool should not have been nil") + err = errors.New("Stored fee pool should not have been nil") + return } k.cdc.MustUnmarshalBinaryLengthPrefixed(b, &minter) return @@ -76,13 +79,13 @@ func (k Keeper) SetMinter(ctx sdk.Context, minter Minter) { //______________________________________________________________________ // get inflation params from the global param store -func (k Keeper) GetParams(ctx sdk.Context) Params { +func (k Keeper) GetParams(ctx sdk.Context) (Params, error) { var params Params - k.paramSpace.Get(ctx, ParamStoreKeyParams, ¶ms) - return params + err := k.paramSpace.Get(ctx, ParamStoreKeyParams, ¶ms) + return params, err } // set inflation params from the global param store -func (k Keeper) SetParams(ctx sdk.Context, params Params) { - k.paramSpace.Set(ctx, ParamStoreKeyParams, ¶ms) +func (k Keeper) SetParams(ctx sdk.Context, params Params) error { + return k.paramSpace.Set(ctx, ParamStoreKeyParams, ¶ms) } From d2d398f811dc5863267c9956b7a7d66d56f11d95 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 1 Mar 2019 22:03:43 +0100 Subject: [PATCH 03/42] Handle error on cli level --- cmd/gaia/app/export.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/gaia/app/export.go b/cmd/gaia/app/export.go index 5174c1498a92..217d9a1b3d39 100644 --- a/cmd/gaia/app/export.go +++ b/cmd/gaia/app/export.go @@ -39,12 +39,16 @@ func (app *GaiaApp) ExportAppStateAndValidators(forZeroHeight bool, jailWhiteLis } app.accountKeeper.IterateAccounts(ctx, appendAccount) + mintGenesisState, err := mint.ExportGenesis(ctx, app.mintKeeper) + if err != nil { + return nil, nil, err + } genState := NewGenesisState( accounts, auth.ExportGenesis(ctx, app.accountKeeper, app.feeCollectionKeeper), bank.ExportGenesis(ctx, app.bankKeeper), staking.ExportGenesis(ctx, app.stakingKeeper), - mint.ExportGenesis(ctx, app.mintKeeper), + mintGenesisState, distr.ExportGenesis(ctx, app.distrKeeper), gov.ExportGenesis(ctx, app.govKeeper), crisis.ExportGenesis(ctx, app.crisisKeeper), From fd0918a8e87122ac62dce975b2bd6d86fd19d52d Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 1 Mar 2019 22:03:56 +0100 Subject: [PATCH 04/42] Modify test - catch error insted of panic --- x/params/keeper_test.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/x/params/keeper_test.go b/x/params/keeper_test.go index 4d20e56ad90e..f96081e5fcec 100644 --- a/x/params/keeper_test.go +++ b/x/params/keeper_test.go @@ -108,12 +108,12 @@ func TestKeeper(t *testing.T) { // Test invalid space.Get for i, kv := range kvs { var param bool - require.Panics(t, func() { space.Get(ctx, []byte(kv.key), ¶m) }, "invalid space.Get not panics, tc #%d", i) + require.Error(t, space.Get(ctx, []byte(kv.key), ¶m), "invalid space.Get not error, tc #%d", i) } // Test invalid space.Set for i, kv := range kvs { - require.Panics(t, func() { space.Set(ctx, []byte(kv.key), true) }, "invalid space.Set not panics, tc #%d", i) + require.Error(t, space.Set(ctx, []byte(kv.key), true), "invalid space.Set not error, tc #%d", i) } // Test GetSubspace @@ -122,12 +122,12 @@ func TestKeeper(t *testing.T) { gspace, ok := keeper.GetSubspace("test") require.True(t, ok, "cannot retrieve subspace, tc #%d", i) - require.NotPanics(t, func() { gspace.Get(ctx, []byte(kv.key), &gparam) }) - require.NotPanics(t, func() { space.Get(ctx, []byte(kv.key), ¶m) }) + require.NoError(t, gspace.Get(ctx, []byte(kv.key), &gparam)) + require.NoError(t, space.Get(ctx, []byte(kv.key), ¶m)) require.Equal(t, gparam, param, "GetSubspace().Get not equal with space.Get, tc #%d", i) - require.NotPanics(t, func() { gspace.Set(ctx, []byte(kv.key), int64(i)) }) - require.NotPanics(t, func() { space.Get(ctx, []byte(kv.key), ¶m) }) + require.NoError(t, gspace.Set(ctx, []byte(kv.key), int64(i))) + require.NoError(t, space.Get(ctx, []byte(kv.key), ¶m)) require.Equal(t, int64(i), param, "GetSubspace().Set not equal with space.Get, tc #%d", i) } } @@ -184,27 +184,27 @@ func TestSubspace(t *testing.T) { // Test space.Set, space.Modified for i, kv := range kvs { require.False(t, space.Modified(ctx, []byte(kv.key)), "space.Modified returns true before setting, tc #%d", i) - require.NotPanics(t, func() { space.Set(ctx, []byte(kv.key), kv.param) }, "space.Set panics, tc #%d", i) + require.NoError(t, space.Set(ctx, []byte(kv.key), kv.param), "space.Set error, tc #%d", i) require.True(t, space.Modified(ctx, []byte(kv.key)), "space.Modified returns false after setting, tc #%d", i) } // Test space.Get, space.GetIfExists for i, kv := range kvs { - require.NotPanics(t, func() { space.GetIfExists(ctx, []byte("invalid"), kv.ptr) }, "space.GetIfExists panics when no value exists, tc #%d", i) + require.Error(t, space.GetIfExists(ctx, []byte("invalid"), kv.ptr), "space.GetIfExists error when no value exists, tc #%d", i) require.Equal(t, kv.zero, indirect(kv.ptr), "space.GetIfExists unmarshalls when no value exists, tc #%d", i) - require.Panics(t, func() { space.Get(ctx, []byte("invalid"), kv.ptr) }, "invalid space.Get not panics when no value exists, tc #%d", i) + require.Error(t, space.Get(ctx, []byte("invalid"), kv.ptr), "invalid space.Get not error when no value exists, tc #%d", i) require.Equal(t, kv.zero, indirect(kv.ptr), "invalid space.Get unmarshalls when no value exists, tc #%d", i) - require.NotPanics(t, func() { space.GetIfExists(ctx, []byte(kv.key), kv.ptr) }, "space.GetIfExists panics, tc #%d", i) + require.NoError(t, space.GetIfExists(ctx, []byte(kv.key), kv.ptr), "space.GetIfExists error, tc #%d", i) require.Equal(t, kv.param, indirect(kv.ptr), "stored param not equal, tc #%d", i) - require.NotPanics(t, func() { space.Get(ctx, []byte(kv.key), kv.ptr) }, "space.Get panics, tc #%d", i) + require.NoError(t, space.Get(ctx, []byte(kv.key), kv.ptr), "space.Get error, tc #%d", i) require.Equal(t, kv.param, indirect(kv.ptr), "stored param not equal, tc #%d", i) - require.Panics(t, func() { space.Get(ctx, []byte("invalid"), kv.ptr) }, "invalid space.Get not panics when no value exists, tc #%d", i) + require.Error(t, space.Get(ctx, []byte("invalid"), kv.ptr), "invalid space.Get not error when no value exists, tc #%d", i) require.Equal(t, kv.param, indirect(kv.ptr), "invalid space.Get unmarshalls when no value existt, tc #%d", i) - require.Panics(t, func() { space.Get(ctx, []byte(kv.key), nil) }, "invalid space.Get not panics when the pointer is nil, tc #%d", i) - require.Panics(t, func() { space.Get(ctx, []byte(kv.key), new(invalid)) }, "invalid space.Get not panics when the pointer is different type, tc #%d", i) + require.Error(t, space.Get(ctx, []byte(kv.key), nil), "invalid space.Get not error when the pointer is nil, tc #%d", i) + require.Error(t, space.Get(ctx, []byte(kv.key), new(invalid)), "invalid space.Get not error when the pointer is different type, tc #%d", i) } // Test store.Get equals space.Get From 89620a9feb2e0506e351c3512e0c969f50705ac0 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:00:08 +0100 Subject: [PATCH 05/42] Change types --- types/abci.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/abci.go b/types/abci.go index 0646d21e3223..bbf2e7225d9f 100644 --- a/types/abci.go +++ b/types/abci.go @@ -6,10 +6,10 @@ import abci "github.com/tendermint/tendermint/abci/types" type InitChainer func(ctx Context, req abci.RequestInitChain) abci.ResponseInitChain // run code before the transactions in a block -type BeginBlocker func(ctx Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock +type BeginBlocker func(ctx Context, req abci.RequestBeginBlock) (abci.ResponseBeginBlock, error) // run code after the transactions in a block and return updates to the validator set -type EndBlocker func(ctx Context, req abci.RequestEndBlock) abci.ResponseEndBlock +type EndBlocker func(ctx Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) // respond to p2p filtering queries from Tendermint type PeerFilter func(info string) abci.ResponseQuery From bfb0be8e2f0dcbfdd4112ab0931640df13645df2 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:00:38 +0100 Subject: [PATCH 06/42] Begin/End Blocker error return --- x/distribution/abci_app.go | 4 ++-- x/gov/endblocker.go | 4 ++-- x/gov/test_common.go | 6 +++--- x/slashing/app_test.go | 6 +++--- x/slashing/keeper_test.go | 6 ++++-- x/slashing/tick.go | 6 +++--- x/slashing/tick_test.go | 9 ++++++--- x/staking/app_test.go | 6 +++--- x/staking/handler.go | 4 ++-- 9 files changed, 28 insertions(+), 23 deletions(-) diff --git a/x/distribution/abci_app.go b/x/distribution/abci_app.go index 0a2ef5627a90..46e2652749be 100644 --- a/x/distribution/abci_app.go +++ b/x/distribution/abci_app.go @@ -8,7 +8,7 @@ import ( ) // set the proposer for determining distribution during endblock -func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k keeper.Keeper) { +func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k keeper.Keeper) error { // determine the total power signing the block var previousTotalPower, sumPreviousPrecommitPower int64 @@ -29,5 +29,5 @@ func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k keeper.Keeper) // record the proposer for when we payout on the next block consAddr := sdk.ConsAddress(req.Header.ProposerAddress) k.SetPreviousProposerConsAddr(ctx, consAddr) - + return nil } diff --git a/x/gov/endblocker.go b/x/gov/endblocker.go index 3da7f3a1dac1..ed08ae6c3232 100644 --- a/x/gov/endblocker.go +++ b/x/gov/endblocker.go @@ -8,7 +8,7 @@ import ( ) // Called every block, process inflation, update validator set -func EndBlocker(ctx sdk.Context, keeper Keeper) sdk.Tags { +func EndBlocker(ctx sdk.Context, keeper Keeper) (sdk.Tags, error) { logger := ctx.Logger().With("module", "x/gov") resTags := sdk.NewTags() @@ -78,5 +78,5 @@ func EndBlocker(ctx sdk.Context, keeper Keeper) sdk.Tags { resTags = resTags.AppendTag(tags.ProposalResult, tagValue) } - return resTags + return resTags, nil } diff --git a/x/gov/test_common.go b/x/gov/test_common.go index a14251841d56..1703dfcf528a 100644 --- a/x/gov/test_common.go +++ b/x/gov/test_common.go @@ -58,11 +58,11 @@ func getMockApp(t *testing.T, numGenAccs int, genState GenesisState, genAccs []a // gov and staking endblocker func getEndBlocker(keeper Keeper) sdk.EndBlocker { - return func(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - tags := EndBlocker(ctx, keeper) + return func(ctx sdk.Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) { + tags, err := EndBlocker(ctx, keeper) return abci.ResponseEndBlock{ Tags: tags, - } + }, err } } diff --git a/x/slashing/app_test.go b/x/slashing/app_test.go index 94d53f5889c4..31093fd98ab4 100644 --- a/x/slashing/app_test.go +++ b/x/slashing/app_test.go @@ -47,12 +47,12 @@ func getMockApp(t *testing.T) (*mock.App, staking.Keeper, Keeper) { // staking endblocker func getEndBlocker(keeper staking.Keeper) sdk.EndBlocker { - return func(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - validatorUpdates, tags := staking.EndBlocker(ctx, keeper) + return func(ctx sdk.Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) { + validatorUpdates, tags, err := staking.EndBlocker(ctx, keeper) return abci.ResponseEndBlock{ ValidatorUpdates: validatorUpdates, Tags: tags, - } + }, err } } diff --git a/x/slashing/keeper_test.go b/x/slashing/keeper_test.go index e7501e1af637..0ece68abafe9 100644 --- a/x/slashing/keeper_test.go +++ b/x/slashing/keeper_test.go @@ -394,7 +394,8 @@ func TestValidatorDippingInAndOut(t *testing.T) { newAmt := sdk.TokensFromTendermintPower(101) got = sh(ctx, NewTestMsgCreateValidator(addrs[1], pks[1], newAmt)) require.True(t, got.IsOK()) - validatorUpdates, _ := staking.EndBlocker(ctx, sk) + validatorUpdates, _, err := staking.EndBlocker(ctx, sk) + require.NoError(t, err) require.Equal(t, 2, len(validatorUpdates)) validator, _ := sk.GetValidator(ctx, addr) require.Equal(t, sdk.Unbonding, validator.Status) @@ -407,7 +408,8 @@ func TestValidatorDippingInAndOut(t *testing.T) { delTokens := sdk.TokensFromTendermintPower(3) got = sh(ctx, newTestMsgDelegate(sdk.AccAddress(addrs[2]), addrs[0], delTokens)) require.True(t, got.IsOK()) - validatorUpdates, _ = staking.EndBlocker(ctx, sk) + validatorUpdates, _, err = staking.EndBlocker(ctx, sk) + require.NoError(t, err) require.Equal(t, 2, len(validatorUpdates)) validator, _ = sk.GetValidator(ctx, addr) require.Equal(t, sdk.Bonded, validator.Status) diff --git a/x/slashing/tick.go b/x/slashing/tick.go index bd779973f1ca..0fe4437ad5f1 100644 --- a/x/slashing/tick.go +++ b/x/slashing/tick.go @@ -10,7 +10,7 @@ import ( ) // slashing begin block functionality -func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) sdk.Tags { +func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) (sdk.Tags, error) { // Iterate over all the validators which *should* have signed this block // store whether or not they have actually signed it and slash/unbond any @@ -27,9 +27,9 @@ func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) sdk.Ta case tmtypes.ABCIEvidenceTypeDuplicateVote: sk.handleDoubleSign(ctx, evidence.Validator.Address, evidence.Height, evidence.Time, evidence.Validator.Power) default: - ctx.Logger().With("module", "x/slashing").Error(fmt.Sprintf("ignored unknown evidence type: %s", evidence.Type)) + return nil, fmt.Errorf("ignored unknown evidence type: %s", evidence.Type) } } - return sdk.EmptyTags() + return sdk.EmptyTags(), nil } diff --git a/x/slashing/tick_test.go b/x/slashing/tick_test.go index cc0e5f13b4cb..33bd0d109192 100644 --- a/x/slashing/tick_test.go +++ b/x/slashing/tick_test.go @@ -42,7 +42,8 @@ func TestBeginBlocker(t *testing.T) { }}, }, } - BeginBlocker(ctx, req, keeper) + _, err := BeginBlocker(ctx, req, keeper) + require.NoError(t, err) info, found := keeper.getValidatorSigningInfo(ctx, sdk.ConsAddress(pk.Address())) require.True(t, found) @@ -64,7 +65,8 @@ func TestBeginBlocker(t *testing.T) { }}, }, } - BeginBlocker(ctx, req, keeper) + _, err := BeginBlocker(ctx, req, keeper) + require.NoError(t, err) } // for 500 blocks, mark the validator as having not signed @@ -78,7 +80,8 @@ func TestBeginBlocker(t *testing.T) { }}, }, } - BeginBlocker(ctx, req, keeper) + _, err := BeginBlocker(ctx, req, keeper) + require.NoError(t, err) } // end block diff --git a/x/staking/app_test.go b/x/staking/app_test.go index da8c52ea5b51..0d5de7c5e70f 100644 --- a/x/staking/app_test.go +++ b/x/staking/app_test.go @@ -34,13 +34,13 @@ func getMockApp(t *testing.T) (*mock.App, Keeper) { // getEndBlocker returns a staking endblocker. func getEndBlocker(keeper Keeper) sdk.EndBlocker { - return func(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - validatorUpdates, tags := EndBlocker(ctx, keeper) + return func(ctx sdk.Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) { + validatorUpdates, tags, err := EndBlocker(ctx, keeper) return abci.ResponseEndBlock{ ValidatorUpdates: validatorUpdates, Tags: tags, - } + }, err } } diff --git a/x/staking/handler.go b/x/staking/handler.go index 7da83cec2e5b..dc60b1bb842e 100644 --- a/x/staking/handler.go +++ b/x/staking/handler.go @@ -34,7 +34,7 @@ func NewHandler(k keeper.Keeper) sdk.Handler { } // Called every block, update validator set -func EndBlocker(ctx sdk.Context, k keeper.Keeper) ([]abci.ValidatorUpdate, sdk.Tags) { +func EndBlocker(ctx sdk.Context, k keeper.Keeper) ([]abci.ValidatorUpdate, sdk.Tags, error) { resTags := sdk.NewTags() // Calculate validator set changes. @@ -83,7 +83,7 @@ func EndBlocker(ctx sdk.Context, k keeper.Keeper) ([]abci.ValidatorUpdate, sdk.T )) } - return validatorUpdates, resTags + return validatorUpdates, resTags, nil } // These functions assume everything has been authenticated, From 15e4ca273f4f2abfa1c2e4968fb44f339a3f94f3 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:00:58 +0100 Subject: [PATCH 07/42] Fix cli app --- baseapp/baseapp.go | 12 ++++++++++-- cmd/gaia/app/app.go | 35 ++++++++++++++++++++++------------ cmd/gaia/cmd/gaiadebug/hack.go | 20 ++++++++++--------- 3 files changed, 44 insertions(+), 23 deletions(-) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index b244a98b77c1..2b8dfd3e944c 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -538,6 +538,7 @@ func (app *BaseApp) validateHeight(req abci.RequestBeginBlock) error { // BeginBlock implements the ABCI application interface. func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeginBlock) { + var err error if app.cms.TracingEnabled() { app.cms.SetTracingContext(sdk.TraceContext( map[string]interface{}{"blockHeight": req.Header.Height}, @@ -572,7 +573,10 @@ func (app *BaseApp) BeginBlock(req abci.RequestBeginBlock) (res abci.ResponseBeg app.deliverState.ctx = app.deliverState.ctx.WithBlockGasMeter(gasMeter) if app.beginBlocker != nil { - res = app.beginBlocker(app.deliverState.ctx, req) + res, err = app.beginBlocker(app.deliverState.ctx, req) + if err != nil { + panic(err) + } } // set the signed validators for addition to context in deliverTx @@ -874,12 +878,16 @@ func (app *BaseApp) runTx(mode runTxMode, txBytes []byte, tx sdk.Tx) (result sdk // EndBlock implements the ABCI interface. func (app *BaseApp) EndBlock(req abci.RequestEndBlock) (res abci.ResponseEndBlock) { + var err error if app.deliverState.ms.TracingEnabled() { app.deliverState.ms = app.deliverState.ms.SetTracingContext(nil).(sdk.CacheMultiStore) } if app.endBlocker != nil { - res = app.endBlocker(app.deliverState.ctx, req) + res, err = app.endBlocker(app.deliverState.ctx, req) + if err != nil { + panic(err) + } } return diff --git a/cmd/gaia/app/app.go b/cmd/gaia/app/app.go index bd2c3d92b811..74ec887d6475 100644 --- a/cmd/gaia/app/app.go +++ b/cmd/gaia/app/app.go @@ -222,30 +222,41 @@ func MakeCodec() *codec.Codec { } // application updates every end block -func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock { +func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (abci.ResponseBeginBlock, error) { + var resp abci.ResponseBeginBlock + var err error // mint new tokens for the previous block - mint.BeginBlocker(ctx, app.mintKeeper) + err = mint.BeginBlocker(ctx, app.mintKeeper) + if err != nil { + return resp, err + } // distribute rewards for the previous block - distr.BeginBlocker(ctx, req, app.distrKeeper) + err = distr.BeginBlocker(ctx, req, app.distrKeeper) + if err != nil { + return resp, err + } // slash anyone who double signed. // NOTE: This should happen after distr.BeginBlocker so that // there is nothing left over in the validator fee pool, // so as to keep the CanWithdrawInvariant invariant. // TODO: This should really happen at EndBlocker. - tags := slashing.BeginBlocker(ctx, req, app.slashingKeeper) - - return abci.ResponseBeginBlock{ - Tags: tags.ToKVPairs(), - } + resp.Tags, err = slashing.BeginBlocker(ctx, req, app.slashingKeeper) + return resp, err } // application updates every end block // nolint: unparam -func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - tags := gov.EndBlocker(ctx, app.govKeeper) - validatorUpdates, endBlockerTags := staking.EndBlocker(ctx, app.stakingKeeper) +func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) { + tags, err := gov.EndBlocker(ctx, app.govKeeper) + if err != nil { + return abci.ResponseEndBlock{}, err + } + validatorUpdates, endBlockerTags, err := staking.EndBlocker(ctx, app.stakingKeeper) + if err != nil { + return abci.ResponseEndBlock{}, err + } tags = append(tags, endBlockerTags...) if app.assertInvariantsBlockly { @@ -255,7 +266,7 @@ func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.R return abci.ResponseEndBlock{ ValidatorUpdates: validatorUpdates, Tags: tags, - } + }, nil } // initialize store from a genesis state diff --git a/cmd/gaia/cmd/gaiadebug/hack.go b/cmd/gaia/cmd/gaiadebug/hack.go index 51927592a414..1017f7c457f6 100644 --- a/cmd/gaia/cmd/gaiadebug/hack.go +++ b/cmd/gaia/cmd/gaiadebug/hack.go @@ -218,23 +218,25 @@ func MakeCodec() *codec.Codec { } // application updates every end block -func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) abci.ResponseBeginBlock { - tags := slashing.BeginBlocker(ctx, req, app.slashingKeeper) - - return abci.ResponseBeginBlock{ - Tags: tags.ToKVPairs(), - } +func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (abci.ResponseBeginBlock, error) { + var resp abci.ResponseBeginBlock + var err error + resp.Tags, err = slashing.BeginBlocker(ctx, req, app.slashingKeeper) + return resp, err } // application updates every end block // nolint: unparam -func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) abci.ResponseEndBlock { - validatorUpdates, tags := staking.EndBlocker(ctx, app.stakingKeeper) +func (app *GaiaApp) EndBlocker(ctx sdk.Context, req abci.RequestEndBlock) (abci.ResponseEndBlock, error) { + validatorUpdates, tags, err := staking.EndBlocker(ctx, app.stakingKeeper) + if err != nil { + return abci.ResponseEndBlock{}, err + } return abci.ResponseEndBlock{ ValidatorUpdates: validatorUpdates, Tags: tags, - } + }, nil } // custom logic for gaia initialization From cfe1879db1794d1d980501c4b9432a4bf912fe71 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 08/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 3fb8a02b72253fc986a0a5904efcaac59d9270e3 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 09/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 2a1553f34eab3e6db84178f1b0dfb57faef28dec Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 10/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 922aa1d366324092de6e5578f15c6fa76e0fc041 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 11/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From c9a4d27215de58808aafe7b2b2980a37227eca01 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 27 Mar 2019 16:35:05 +0100 Subject: [PATCH 12/42] check for error on error returning funcs --- x/bank/keeper.go | 6 +++++- x/gov/keeper.go | 36 +++++++++++++++++++++++++++++------ x/mint/genesis.go | 6 +++++- x/params/subspace/subspace.go | 12 ++++++++++-- x/slashing/params.go | 36 +++++++++++++++++++++++++++++------ x/staking/keeper/params.go | 24 +++++++++++++++++++---- 6 files changed, 100 insertions(+), 20 deletions(-) diff --git a/x/bank/keeper.go b/x/bank/keeper.go index c5322ec5c73e..c6f2c2c22bf2 100644 --- a/x/bank/keeper.go +++ b/x/bank/keeper.go @@ -168,7 +168,11 @@ func (keeper BaseSendKeeper) GetSendEnabled(ctx sdk.Context) bool { // SetSendEnabled sets the send enabled func (keeper BaseSendKeeper) SetSendEnabled(ctx sdk.Context, enabled bool) { - keeper.paramSpace.Set(ctx, ParamStoreKeySendEnabled, &enabled) + err := keeper.paramSpace.Set(ctx, ParamStoreKeySendEnabled, &enabled) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } var _ ViewKeeper = (*BaseViewKeeper)(nil) diff --git a/x/gov/keeper.go b/x/gov/keeper.go index 46085cf2d986..81d11fcc76ff 100644 --- a/x/gov/keeper.go +++ b/x/gov/keeper.go @@ -261,34 +261,58 @@ func (keeper Keeper) activateVotingPeriod(ctx sdk.Context, proposal Proposal) { // Returns the current DepositParams from the global param store func (keeper Keeper) GetDepositParams(ctx sdk.Context) DepositParams { var depositParams DepositParams - keeper.paramSpace.Get(ctx, ParamStoreKeyDepositParams, &depositParams) + err := keeper.paramSpace.Get(ctx, ParamStoreKeyDepositParams, &depositParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return depositParams } // Returns the current VotingParams from the global param store func (keeper Keeper) GetVotingParams(ctx sdk.Context) VotingParams { var votingParams VotingParams - keeper.paramSpace.Get(ctx, ParamStoreKeyVotingParams, &votingParams) + err := keeper.paramSpace.Get(ctx, ParamStoreKeyVotingParams, &votingParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return votingParams } // Returns the current TallyParam from the global param store func (keeper Keeper) GetTallyParams(ctx sdk.Context) TallyParams { var tallyParams TallyParams - keeper.paramSpace.Get(ctx, ParamStoreKeyTallyParams, &tallyParams) + err := keeper.paramSpace.Get(ctx, ParamStoreKeyTallyParams, &tallyParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return tallyParams } func (keeper Keeper) setDepositParams(ctx sdk.Context, depositParams DepositParams) { - keeper.paramSpace.Set(ctx, ParamStoreKeyDepositParams, &depositParams) + err := keeper.paramSpace.Set(ctx, ParamStoreKeyDepositParams, &depositParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } func (keeper Keeper) setVotingParams(ctx sdk.Context, votingParams VotingParams) { - keeper.paramSpace.Set(ctx, ParamStoreKeyVotingParams, &votingParams) + err := keeper.paramSpace.Set(ctx, ParamStoreKeyVotingParams, &votingParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } func (keeper Keeper) setTallyParams(ctx sdk.Context, tallyParams TallyParams) { - keeper.paramSpace.Set(ctx, ParamStoreKeyTallyParams, &tallyParams) + err := keeper.paramSpace.Set(ctx, ParamStoreKeyTallyParams, &tallyParams) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } // Votes diff --git a/x/mint/genesis.go b/x/mint/genesis.go index ce326feaad7d..b9546b508324 100644 --- a/x/mint/genesis.go +++ b/x/mint/genesis.go @@ -29,7 +29,11 @@ func DefaultGenesisState() GenesisState { // new mint genesis func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState) { keeper.SetMinter(ctx, data.Minter) - keeper.SetParams(ctx, data.Params) + err := keeper.SetParams(ctx, data.Params) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } // ExportGenesis returns a GenesisState for a given context and keeper. The diff --git a/x/params/subspace/subspace.go b/x/params/subspace/subspace.go index b4eb23fc928e..5ffb415709ed 100644 --- a/x/params/subspace/subspace.go +++ b/x/params/subspace/subspace.go @@ -199,7 +199,11 @@ func (s Subspace) SetWithSubkey(ctx sdk.Context, key []byte, subkey []byte, para // Get to ParamSet func (s Subspace) GetParamSet(ctx sdk.Context, ps ParamSet) { for _, pair := range ps.ParamSetPairs() { - s.Get(ctx, pair.Key, pair.Value) + err := s.Get(ctx, pair.Key, pair.Value) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } } @@ -211,7 +215,11 @@ func (s Subspace) SetParamSet(ctx sdk.Context, ps ParamSet) { // since SetStruct is meant to be used in InitGenesis // so this method will not be called frequently v := reflect.Indirect(reflect.ValueOf(pair.Value)).Interface() - s.Set(ctx, pair.Key, v) + err := s.Set(ctx, pair.Key, v) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } } } diff --git a/x/slashing/params.go b/x/slashing/params.go index 5a4f18f1676f..9a86660890fe 100644 --- a/x/slashing/params.go +++ b/x/slashing/params.go @@ -88,20 +88,32 @@ func DefaultParams() Params { // MaxEvidenceAge - max age for evidence func (k Keeper) MaxEvidenceAge(ctx sdk.Context) (res time.Duration) { - k.paramspace.Get(ctx, KeyMaxEvidenceAge, &res) + err := k.paramspace.Get(ctx, KeyMaxEvidenceAge, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // SignedBlocksWindow - sliding window for downtime slashing func (k Keeper) SignedBlocksWindow(ctx sdk.Context) (res int64) { - k.paramspace.Get(ctx, KeySignedBlocksWindow, &res) + err := k.paramspace.Get(ctx, KeySignedBlocksWindow, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // Downtime slashing threshold func (k Keeper) MinSignedPerWindow(ctx sdk.Context) int64 { var minSignedPerWindow sdk.Dec - k.paramspace.Get(ctx, KeyMinSignedPerWindow, &minSignedPerWindow) + err := k.paramspace.Get(ctx, KeyMinSignedPerWindow, &minSignedPerWindow) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } signedBlocksWindow := k.SignedBlocksWindow(ctx) // NOTE: RoundInt64 will never panic as minSignedPerWindow is @@ -111,19 +123,31 @@ func (k Keeper) MinSignedPerWindow(ctx sdk.Context) int64 { // Downtime unbond duration func (k Keeper) DowntimeJailDuration(ctx sdk.Context) (res time.Duration) { - k.paramspace.Get(ctx, KeyDowntimeJailDuration, &res) + err := k.paramspace.Get(ctx, KeyDowntimeJailDuration, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // SlashFractionDoubleSign func (k Keeper) SlashFractionDoubleSign(ctx sdk.Context) (res sdk.Dec) { - k.paramspace.Get(ctx, KeySlashFractionDoubleSign, &res) + err := k.paramspace.Get(ctx, KeySlashFractionDoubleSign, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // SlashFractionDowntime func (k Keeper) SlashFractionDowntime(ctx sdk.Context) (res sdk.Dec) { - k.paramspace.Get(ctx, KeySlashFractionDowntime, &res) + err := k.paramspace.Get(ctx, KeySlashFractionDowntime, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index dede56b2c19d..96e20ccb5c13 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -20,26 +20,42 @@ func ParamKeyTable() params.KeyTable { // UnbondingTime func (k Keeper) UnbondingTime(ctx sdk.Context) (res time.Duration) { - k.paramstore.Get(ctx, types.KeyUnbondingTime, &res) + err := k.paramstore.Get(ctx, types.KeyUnbondingTime, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // MaxValidators - Maximum number of validators func (k Keeper) MaxValidators(ctx sdk.Context) (res uint16) { - k.paramstore.Get(ctx, types.KeyMaxValidators, &res) + err := k.paramstore.Get(ctx, types.KeyMaxValidators, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // MaxEntries - Maximum number of simultaneous unbonding // delegations or redelegations (per pair/trio) func (k Keeper) MaxEntries(ctx sdk.Context) (res uint16) { - k.paramstore.Get(ctx, types.KeyMaxEntries, &res) + err := k.paramstore.Get(ctx, types.KeyMaxEntries, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } // BondDenom - Bondable coin denomination func (k Keeper) BondDenom(ctx sdk.Context) (res string) { - k.paramstore.Get(ctx, types.KeyBondDenom, &res) + err := k.paramstore.Get(ctx, types.KeyBondDenom, &res) + if err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + } return } From 4f8510f50eebff67c9eba62e8df7a0a23ce2b8e7 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 13/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From b8d5efad4b235c090dde184a1dce2a85497a6905 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 14/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 31ed2e1f95e4cfcd73b8614b5fe28f56b63f6bb6 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 15/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 61cebb5a88e01f164d5086bfd80671178bb792d2 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 16/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 2b693a1992488e00ea3362011333a22f7d95ce56 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 17/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 98fc689ebbfd2631ddfe50b887d954a5849ee2fb Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 18/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From b1b3d6dc39c2861ac58d5908a18c399592413e0c Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 19/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 81761596b4eaab82909c9f313e4d46ae66d57199 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 20/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From c5c1d7ce909103bf509bcfa0201efd0014286dd4 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 21/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From f8d123dcf52e959cfa8bfc079f3b042881c2db51 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 22/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 9dd9cd85cfb1d864643bfb5c2f7ed9d37e3c2c6e Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 23/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 7762f21c61625a17e47951c4ef0309dcbe2c9989 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 24/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 37874b06bad3b30791bf9339564bc1a8ebecb762 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 25/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 25c118ce5d2a9222c418d0f77fbf49b3656bdc7a Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 26/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From c37cbb46a26db861893cdbd1779d440a6565eeb9 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 27/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From a4abe1db97721732bf18d1ab0e7ff9ae1ed4e4d6 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 28/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 96242e90b832f22fbdd783896f399a11f0805b15 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 29/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From d4d2a033e7c187a06effae578296abfe3711c8d3 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 30/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 15721b82b4860c5dafcaf4dc504ed3be48a89e3c Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 31/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 21c7c3923c3469c08b831cfa1c4ae831021beccb Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 32/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 37f50ea3b3f40a886e91bf1a8b3a139fc31980c8 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 33/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From fe85e02dcae6fb3660f9df04dffe2803885db36b Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 34/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 61d28c4aadd62155bfcbd29c61f971c27bfa7c72 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 2 Mar 2019 01:03:33 +0100 Subject: [PATCH 35/42] Updated PENDING.md --- PENDING.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md new file mode 100644 index 000000000000..30e2c8538f14 --- /dev/null +++ b/PENDING.md @@ -0,0 +1,121 @@ +# PENDING CHANGELOG + + + +## BREAKING CHANGES + +### Gaia REST API + +* [\#3641] Remove the ability to use a Keybase from the REST API client: + * `password` and `generate_only` have been removed from the `base_req` object + * All txs that used to sign or use the Keybase now only generate the tx + * `keys` routes completely removed +* [\#3692] Update tx encoding and broadcasting endpoints: + * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` + * The `Tx` field now accepts a `StdTx` and not raw tx bytes + * Move encoding endpoint to `/txs/encode` + +### Gaia CLI + +### Gaia + +* [\#3760] Allow unjailing when a validator has no self-delegation and during +disabled transfers. + +### SDK + +* [\#3669] Ensure consistency in message naming, codec registration, and JSON +tags. +* [\#3666] Improve coins denom validation. +* [\#3751] Disable (temporarily) support for ED25519 account key pairs. + +### Tendermint + + + +## FEATURES + +### Gaia REST API + +### Gaia CLI + +### Gaia + +### SDK + +### Tendermint + + + +## IMPROVEMENTS + +### Gaia REST API + +* Update the `TxResponse` type allowing for the `Logs` result to be JSON +decoded automatically. + +### Gaia CLI + +* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. +* [\#3670] CLI support for showing bech32 addresses in Ledger devices +* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` +CLI flag. +* [\#3738] Improve multisig UX: + * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold + * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold + * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights +* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for +`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. +* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module + +### Gaia + +### SDK + +* \#3753 Remove no-longer-used governance penalty parameter +* \#3679 Consistent operators across Coins, DecCoins, Int, Dec + replaced: Minus->Sub Plus->Add Div->Quo +* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. +* \#3691 Cleanup error messages +* \#3456 Integrate in the Int.ToDec() convenience function +* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. +* [\#3694] Push tagged docker images on docker hub when tag is created. +* [\#3716] Update file permissions the client keys directory and contents to `0700`. +* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic + +### Tendermint + +* [\#3699] Upgrade to Tendermint 0.30.1 + + + +## BUG FIXES + +### Gaia REST API + +### Gaia CLI + +* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix + +### Gaia + +* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty + +### SDK + +* \#3728 Truncate decimal multiplication & division in distribution to ensure + no more than the collected fees / inflation are distributed +* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls +* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding + where validator is unexpectedly slashed throwing off test calculations +* [\#3411] Include the `RequestInitChain.Time` in the block header init during +`InitChain`. +* [\#3717] Update the vesting specification and implementation to cap deduction from +`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where +the undelegation amount may exceed the original delegation amount due to +truncation of undelegation tokens. +* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case + unbonding period was just 1 block and proposer was already deleted. +* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. + +### Tendermint From 9a6c4107839eab62bff24d2978a0a800b239a9f9 Mon Sep 17 00:00:00 2001 From: Marin Date: Sat, 16 Mar 2019 21:41:30 +0100 Subject: [PATCH 36/42] Fix conflict --- PENDING.md | 121 ----------------------------------------------------- 1 file changed, 121 deletions(-) delete mode 100644 PENDING.md diff --git a/PENDING.md b/PENDING.md deleted file mode 100644 index 30e2c8538f14..000000000000 --- a/PENDING.md +++ /dev/null @@ -1,121 +0,0 @@ -# PENDING CHANGELOG - - - -## BREAKING CHANGES - -### Gaia REST API - -* [\#3641] Remove the ability to use a Keybase from the REST API client: - * `password` and `generate_only` have been removed from the `base_req` object - * All txs that used to sign or use the Keybase now only generate the tx - * `keys` routes completely removed -* [\#3692] Update tx encoding and broadcasting endpoints: - * Remove duplicate broadcasting endpoints in favor of POST @ `/txs` - * The `Tx` field now accepts a `StdTx` and not raw tx bytes - * Move encoding endpoint to `/txs/encode` - -### Gaia CLI - -### Gaia - -* [\#3760] Allow unjailing when a validator has no self-delegation and during -disabled transfers. - -### SDK - -* [\#3669] Ensure consistency in message naming, codec registration, and JSON -tags. -* [\#3666] Improve coins denom validation. -* [\#3751] Disable (temporarily) support for ED25519 account key pairs. - -### Tendermint - - - -## FEATURES - -### Gaia REST API - -### Gaia CLI - -### Gaia - -### SDK - -### Tendermint - - - -## IMPROVEMENTS - -### Gaia REST API - -* Update the `TxResponse` type allowing for the `Logs` result to be JSON -decoded automatically. - -### Gaia CLI - -* [\#3653] Prompt user confirmation prior to signing and broadcasting a transaction. -* [\#3670] CLI support for showing bech32 addresses in Ledger devices -* [\#3711] Update `tx sign` to use `--from` instead of the deprecated `--name` -CLI flag. -* [\#3738] Improve multisig UX: - * `gaiacli keys show -o json` now includes constituent pubkeys, respective weights and threshold - * `gaiacli keys show --show-multisig` now displays constituent pubkeys, respective weights and threshold - * `gaiacli tx sign --validate-signatures` now displays multisig signers with their respective weights -* [\#3730](https://github.com/cosmos/cosmos-sdk/issues/3730) Improve workflow for -`gaiad gentx` with offline public keys, by outputting stdtx file that needs to be signed. -* [\#3761](https://github.com/cosmos/cosmos-sdk/issues/3761) Querying account related information using custom querier in auth module - -### Gaia - -### SDK - -* \#3753 Remove no-longer-used governance penalty parameter -* \#3679 Consistent operators across Coins, DecCoins, Int, Dec - replaced: Minus->Sub Plus->Add Div->Quo -* [\#3665] Overhaul sdk.Uint type in preparation for Coins Int -> Uint migration. -* \#3691 Cleanup error messages -* \#3456 Integrate in the Int.ToDec() convenience function -* [\#3300] Update the spec-spec, spec file reorg, and TOC updates. -* [\#3694] Push tagged docker images on docker hub when tag is created. -* [\#3716] Update file permissions the client keys directory and contents to `0700`. -* [\#3782](https://github.com/cosmso/cosmos-sdk/pull/3782) Return errors instead of panic - -### Tendermint - -* [\#3699] Upgrade to Tendermint 0.30.1 - - - -## BUG FIXES - -### Gaia REST API - -### Gaia CLI - -* [\#3731](https://github.com/cosmos/cosmos-sdk/pull/3731) `keys add --interactive` bip32 passphrase regression fix - -### Gaia - -* [\#3777](https://github.com/cosmso/cosmos-sdk/pull/3777) `gaiad export` no longer panics when the database is empty - -### SDK - -* \#3728 Truncate decimal multiplication & division in distribution to ensure - no more than the collected fees / inflation are distributed -* \#3727 Return on zero-length (including []byte{}) PrefixEndBytes() calls -* \#3559 fix occasional failing due to non-determinism in lcd test TestBonding - where validator is unexpectedly slashed throwing off test calculations -* [\#3411] Include the `RequestInitChain.Time` in the block header init during -`InitChain`. -* [\#3717] Update the vesting specification and implementation to cap deduction from -`DelegatedVesting` by at most `DelegatedVesting`. This accounts for the case where -the undelegation amount may exceed the original delegation amount due to -truncation of undelegation tokens. -* [\#3717] Ignore unknown proposers in allocating rewards for proposers, in case - unbonding period was just 1 block and proposer was already deleted. -* [\#3726] Cap(clip) reward to remaining coins in AllocateTokens. - -### Tendermint From 4e34bad5809c7ff2d8a01965e22c7ff32d302e8b Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 29 Mar 2019 21:51:13 +0100 Subject: [PATCH 37/42] Return EmptyTags instead of nil --- x/slashing/tick.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/slashing/tick.go b/x/slashing/tick.go index 0fe4437ad5f1..ab1606e1a5d6 100644 --- a/x/slashing/tick.go +++ b/x/slashing/tick.go @@ -27,7 +27,7 @@ func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, sk Keeper) (sdk.T case tmtypes.ABCIEvidenceTypeDuplicateVote: sk.handleDoubleSign(ctx, evidence.Validator.Address, evidence.Height, evidence.Time, evidence.Validator.Power) default: - return nil, fmt.Errorf("ignored unknown evidence type: %s", evidence.Type) + return sdk.EmptyTags(), fmt.Errorf("ignored unknown evidence type: %s", evidence.Type) } } From 564157353e4647c2b2c9ce6c7d2223794d2c2b49 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 29 Mar 2019 22:00:49 +0100 Subject: [PATCH 38/42] Use named return params --- cmd/gaia/app/app.go | 4 +--- cmd/gaia/cmd/gaiadebug/hack.go | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/cmd/gaia/app/app.go b/cmd/gaia/app/app.go index 74ec887d6475..f0a1f822deb2 100644 --- a/cmd/gaia/app/app.go +++ b/cmd/gaia/app/app.go @@ -222,9 +222,7 @@ func MakeCodec() *codec.Codec { } // application updates every end block -func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (abci.ResponseBeginBlock, error) { - var resp abci.ResponseBeginBlock - var err error +func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (resp abci.ResponseBeginBlock, err error) { // mint new tokens for the previous block err = mint.BeginBlocker(ctx, app.mintKeeper) if err != nil { diff --git a/cmd/gaia/cmd/gaiadebug/hack.go b/cmd/gaia/cmd/gaiadebug/hack.go index 1017f7c457f6..74346a2d9246 100644 --- a/cmd/gaia/cmd/gaiadebug/hack.go +++ b/cmd/gaia/cmd/gaiadebug/hack.go @@ -218,9 +218,7 @@ func MakeCodec() *codec.Codec { } // application updates every end block -func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (abci.ResponseBeginBlock, error) { - var resp abci.ResponseBeginBlock - var err error +func (app *GaiaApp) BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock) (resp abci.ResponseBeginBlock, err error) { resp.Tags, err = slashing.BeginBlocker(ctx, req, app.slashingKeeper) return resp, err } From c02021ff66b2ec0e9652d5d75304d0bad0cf59e2 Mon Sep 17 00:00:00 2001 From: Marin Date: Fri, 29 Mar 2019 22:01:31 +0100 Subject: [PATCH 39/42] Update comment with PR number --- x/bank/keeper.go | 1 + x/gov/keeper.go | 6 ++++++ x/mint/genesis.go | 4 ++-- x/slashing/params.go | 6 ++++++ x/staking/keeper/params.go | 16 ++++++++-------- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/x/bank/keeper.go b/x/bank/keeper.go index c6f2c2c22bf2..cd8bc2c35853 100644 --- a/x/bank/keeper.go +++ b/x/bank/keeper.go @@ -172,6 +172,7 @@ func (keeper BaseSendKeeper) SetSendEnabled(ctx sdk.Context, enabled bool) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } } diff --git a/x/gov/keeper.go b/x/gov/keeper.go index 81d11fcc76ff..297915303a6c 100644 --- a/x/gov/keeper.go +++ b/x/gov/keeper.go @@ -265,6 +265,7 @@ func (keeper Keeper) GetDepositParams(ctx sdk.Context) DepositParams { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return depositParams } @@ -276,6 +277,7 @@ func (keeper Keeper) GetVotingParams(ctx sdk.Context) VotingParams { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return votingParams } @@ -287,6 +289,7 @@ func (keeper Keeper) GetTallyParams(ctx sdk.Context) TallyParams { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return tallyParams } @@ -296,6 +299,7 @@ func (keeper Keeper) setDepositParams(ctx sdk.Context, depositParams DepositPara if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } } @@ -304,6 +308,7 @@ func (keeper Keeper) setVotingParams(ctx sdk.Context, votingParams VotingParams) if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } } @@ -312,6 +317,7 @@ func (keeper Keeper) setTallyParams(ctx sdk.Context, tallyParams TallyParams) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } } diff --git a/x/mint/genesis.go b/x/mint/genesis.go index b9546b508324..0408eb2dfb4b 100644 --- a/x/mint/genesis.go +++ b/x/mint/genesis.go @@ -29,10 +29,10 @@ func DefaultGenesisState() GenesisState { // new mint genesis func InitGenesis(ctx sdk.Context, keeper Keeper, data GenesisState) { keeper.SetMinter(ctx, data.Minter) - err := keeper.SetParams(ctx, data.Params) - if err != nil { + if err := keeper.SetParams(ctx, data.Params); err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } } diff --git a/x/slashing/params.go b/x/slashing/params.go index 9a86660890fe..5dd4ce8346c0 100644 --- a/x/slashing/params.go +++ b/x/slashing/params.go @@ -92,6 +92,7 @@ func (k Keeper) MaxEvidenceAge(ctx sdk.Context) (res time.Duration) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } @@ -102,6 +103,7 @@ func (k Keeper) SignedBlocksWindow(ctx sdk.Context) (res int64) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } @@ -113,6 +115,7 @@ func (k Keeper) MinSignedPerWindow(ctx sdk.Context) int64 { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } signedBlocksWindow := k.SignedBlocksWindow(ctx) @@ -127,6 +130,7 @@ func (k Keeper) DowntimeJailDuration(ctx sdk.Context) (res time.Duration) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } @@ -137,6 +141,7 @@ func (k Keeper) SlashFractionDoubleSign(ctx sdk.Context) (res sdk.Dec) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } @@ -147,6 +152,7 @@ func (k Keeper) SlashFractionDowntime(ctx sdk.Context) (res sdk.Dec) { if err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 96e20ccb5c13..27f7774193d2 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -20,20 +20,20 @@ func ParamKeyTable() params.KeyTable { // UnbondingTime func (k Keeper) UnbondingTime(ctx sdk.Context) (res time.Duration) { - err := k.paramstore.Get(ctx, types.KeyUnbondingTime, &res) - if err != nil { + if err := k.paramstore.Get(ctx, types.KeyUnbondingTime, &res); err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } // MaxValidators - Maximum number of validators func (k Keeper) MaxValidators(ctx sdk.Context) (res uint16) { - err := k.paramstore.Get(ctx, types.KeyMaxValidators, &res) - if err != nil { + if err := k.paramstore.Get(ctx, types.KeyMaxValidators, &res); err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } @@ -41,20 +41,20 @@ func (k Keeper) MaxValidators(ctx sdk.Context) (res uint16) { // MaxEntries - Maximum number of simultaneous unbonding // delegations or redelegations (per pair/trio) func (k Keeper) MaxEntries(ctx sdk.Context) (res uint16) { - err := k.paramstore.Get(ctx, types.KeyMaxEntries, &res) - if err != nil { + if err := k.paramstore.Get(ctx, types.KeyMaxEntries, &res); err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } // BondDenom - Bondable coin denomination func (k Keeper) BondDenom(ctx sdk.Context) (res string) { - err := k.paramstore.Get(ctx, types.KeyBondDenom, &res) - if err != nil { + if err := k.paramstore.Get(ctx, types.KeyBondDenom, &res); err != nil { // TODO: return error - needs rewrite interfaces // and handle error on the caller side + // check PR #3782 } return } From 0a2ac3a7c3deecb0a0240af605d8e12a912b9f3a Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 3 Apr 2019 11:08:09 +0200 Subject: [PATCH 40/42] Add changelog for breaking sdk change --- .pending/breaking/sdk/3782-Return-errors-i | 1 + 1 file changed, 1 insertion(+) create mode 100644 .pending/breaking/sdk/3782-Return-errors-i diff --git a/.pending/breaking/sdk/3782-Return-errors-i b/.pending/breaking/sdk/3782-Return-errors-i new file mode 100644 index 000000000000..6c717963cea8 --- /dev/null +++ b/.pending/breaking/sdk/3782-Return-errors-i @@ -0,0 +1 @@ +#3782 Return errors instead of panic From 00d4bf805279ac9ed415b9d792a8c1f293496c8e Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 3 Apr 2019 11:18:40 +0200 Subject: [PATCH 41/42] Fix assignment mismatch with tests --- x/mint/querier.go | 15 ++++++++++++--- x/mint/querier_test.go | 12 +++++++++--- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/x/mint/querier.go b/x/mint/querier.go index 21d35ce15c8c..c6ab9ef4d50a 100644 --- a/x/mint/querier.go +++ b/x/mint/querier.go @@ -35,7 +35,10 @@ func NewQuerier(k Keeper) sdk.Querier { } func queryParams(ctx sdk.Context, k Keeper) ([]byte, sdk.Error) { - params := k.GetParams(ctx) + params, err := k.GetParams(ctx) + if err != nil { + return nil, sdk.ErrInternal(sdk.AppendMsgToErr("failed to get params", err.Error())) + } res, err := codec.MarshalJSONIndent(k.cdc, params) if err != nil { @@ -46,7 +49,10 @@ func queryParams(ctx sdk.Context, k Keeper) ([]byte, sdk.Error) { } func queryInflation(ctx sdk.Context, k Keeper) ([]byte, sdk.Error) { - minter := k.GetMinter(ctx) + minter, err := k.GetMinter(ctx) + if err != nil { + return nil, sdk.ErrInternal(sdk.AppendMsgToErr("failed to get params", err.Error())) + } res, err := codec.MarshalJSONIndent(k.cdc, minter.Inflation) if err != nil { @@ -57,7 +63,10 @@ func queryInflation(ctx sdk.Context, k Keeper) ([]byte, sdk.Error) { } func queryAnnualProvisions(ctx sdk.Context, k Keeper) ([]byte, sdk.Error) { - minter := k.GetMinter(ctx) + minter, err := k.GetMinter(ctx) + if err != nil { + return nil, sdk.ErrInternal(sdk.AppendMsgToErr("failed to get params", err.Error())) + } res, err := codec.MarshalJSONIndent(k.cdc, minter.AnnualProvisions) if err != nil { diff --git a/x/mint/querier_test.go b/x/mint/querier_test.go index e9f3c8d6c640..9bc963e5f471 100644 --- a/x/mint/querier_test.go +++ b/x/mint/querier_test.go @@ -42,7 +42,9 @@ func TestQueryParams(t *testing.T) { err := input.cdc.UnmarshalJSON(res, ¶ms) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetParams(input.ctx), params) + parm, err := input.mintKeeper.GetParams(input.ctx) + require.NoError(t, err) + require.Equal(t, parm, params) } func TestQueryInflation(t *testing.T) { @@ -56,7 +58,9 @@ func TestQueryInflation(t *testing.T) { err := input.cdc.UnmarshalJSON(res, &inflation) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetMinter(input.ctx).Inflation, inflation) + parm, err := input.mintKeeper.GetMinter(input.ctx) + require.NoError(t, err) + require.Equal(t, parm.Inflation, inflation) } func TestQueryAnnualProvisions(t *testing.T) { @@ -70,5 +74,7 @@ func TestQueryAnnualProvisions(t *testing.T) { err := input.cdc.UnmarshalJSON(res, &annualProvisions) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetMinter(input.ctx).AnnualProvisions, annualProvisions) + parm, err := input.mintKeeper.GetMinter(input.ctx) + require.NoError(t, err) + require.Equal(t, parm.AnnualProvisions, annualProvisions) } From 33ae73cec252889b1afd9ac4bf425c00459ea6d0 Mon Sep 17 00:00:00 2001 From: Marin Date: Wed, 3 Apr 2019 11:27:01 +0200 Subject: [PATCH 42/42] Fix lint errors --- x/crisis/params.go | 12 ++++++++++-- x/mint/test_common.go | 3 ++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/x/crisis/params.go b/x/crisis/params.go index 14c8a2567315..91d68d1bf360 100644 --- a/x/crisis/params.go +++ b/x/crisis/params.go @@ -24,11 +24,19 @@ func ParamKeyTable() params.KeyTable { // GetConstantFee get's the constant fee from the paramSpace func (k Keeper) GetConstantFee(ctx sdk.Context) (constantFee sdk.Coin) { - k.paramSpace.Get(ctx, ParamStoreKeyConstantFee, &constantFee) + if err := k.paramSpace.Get(ctx, ParamStoreKeyConstantFee, &constantFee); err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + // check PR #3782 + } return } // GetConstantFee set's the constant fee in the paramSpace func (k Keeper) SetConstantFee(ctx sdk.Context, constantFee sdk.Coin) { - k.paramSpace.Set(ctx, ParamStoreKeyConstantFee, constantFee) + if err := k.paramSpace.Set(ctx, ParamStoreKeyConstantFee, constantFee); err != nil { + // TODO: return error - needs rewrite interfaces + // and handle error on the caller side + // check PR #3782 + } } diff --git a/x/mint/test_common.go b/x/mint/test_common.go index f699acda2346..7f83a0862ef9 100644 --- a/x/mint/test_common.go +++ b/x/mint/test_common.go @@ -68,7 +68,8 @@ func newTestInput(t *testing.T) testInput { ctx := sdk.NewContext(ms, abci.Header{Time: time.Unix(0, 0)}, false, log.NewTMLogger(os.Stdout)) - mintKeeper.SetParams(ctx, DefaultParams()) + err = mintKeeper.SetParams(ctx, DefaultParams()) + require.Nil(t, err) mintKeeper.SetMinter(ctx, DefaultInitialMinter()) return testInput{ctx, cdc, mintKeeper}