diff --git a/client/lcd/lcd_test.go b/client/lcd/lcd_test.go index 72e4153022c0..246885d072e8 100644 --- a/client/lcd/lcd_test.go +++ b/client/lcd/lcd_test.go @@ -581,7 +581,7 @@ func TestBonding(t *testing.T) { require.Len(t, delegatorDels, 1) require.Equal(t, "30.0000000000", delegatorDels[0].GetShares().String()) - redelegation := getRedelegations(t, port, addr, operAddrs[0], operAddrs[1]) + redelegation := getDelegatorRedelegations(t, port, addr, operAddrs[0], operAddrs[1]) require.Len(t, redelegation, 1) require.Equal(t, "30", redelegation[0].Balance.Amount.String()) @@ -589,7 +589,7 @@ func TestBonding(t *testing.T) { require.Len(t, delegatorUbds, 1) require.Equal(t, "30", delegatorUbds[0].Balance.Amount.String()) - delegatorReds := getDelegatorRedelegations(t, port, addr) + delegatorReds := getDelegatorRedelegations(t, port, addr, nil, nil) require.Len(t, delegatorReds, 1) require.Equal(t, "30", delegatorReds[0].Balance.Amount.String()) @@ -997,7 +997,6 @@ func getUndelegation(t *testing.T, port string, delegatorAddr sdk.AccAddress, va return unbond } -<<<<<<< HEAD func getDelegatorDelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress) []stake.Delegation { res, body := Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/delegations", delegatorAddr), nil) require.Equal(t, http.StatusOK, res.StatusCode, body) @@ -1008,17 +1007,6 @@ func getDelegatorDelegations(t *testing.T, port string, delegatorAddr sdk.AccAdd require.Nil(t, err) return dels -======= -func getRedelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress, srcValidatorAddr sdk.ValAddress, dstValidatorAddr sdk.ValAddress) []stake.Redelegation { - res, body := Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations?validator_from=%s&validator_to=%s", delegatorAddr, srcValidatorAddr, dstValidatorAddr), nil) - require.Equal(t, http.StatusOK, res.StatusCode, body) - - var redels []stake.Redelegation - err := cdc.UnmarshalJSON([]byte(body), &redels) - require.Nil(t, err) - - return redels ->>>>>>> use query params } func getDelegatorUnbondingDelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress) []stake.UnbondingDelegation { @@ -1033,16 +1021,27 @@ func getDelegatorUnbondingDelegations(t *testing.T, port string, delegatorAddr s return ubds } -func getDelegatorRedelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress) []stake.Redelegation { - res, body := Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations", delegatorAddr), nil) - require.Equal(t, http.StatusOK, res.StatusCode, body) +func getDelegatorRedelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress, srcValidatorAddr sdk.ValAddress, dstValidatorAddr sdk.ValAddress) []stake.Redelegation { + var res *http.Response + var body string - var reds []stake.Redelegation + if srcValidatorAddr.Empty() && dstValidatorAddr.Empty() { + res, body = Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations", delegatorAddr), nil) + } else if !srcValidatorAddr.Empty() && dstValidatorAddr.Empty() { + res, body = Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations?validator_from=%s", delegatorAddr, srcValidatorAddr), nil) + } else if srcValidatorAddr.Empty() && !dstValidatorAddr.Empty() { + res, body = Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations?validator_to=%s", delegatorAddr, dstValidatorAddr), nil) + } else { + res, body = Request(t, port, "GET", fmt.Sprintf("/stake/delegators/%s/redelegations?validator_from=%s&validator_to=%s", delegatorAddr, srcValidatorAddr, dstValidatorAddr), nil) + } - err := cdc.UnmarshalJSON([]byte(body), &reds) + require.Equal(t, http.StatusOK, res.StatusCode, body) + + var redels []stake.Redelegation + err := cdc.UnmarshalJSON([]byte(body), &redels) require.Nil(t, err) - return reds + return redels } func getBondingTxs(t *testing.T, port string, delegatorAddr sdk.AccAddress, query string) []tx.Info { diff --git a/x/stake/querier/queryable.go b/x/stake/querier/queryable.go index 32e1d9c776a0..a503ecb9b300 100644 --- a/x/stake/querier/queryable.go +++ b/x/stake/querier/queryable.go @@ -197,14 +197,14 @@ func queryDelegatorUnbondingDelegations(ctx sdk.Context, cdc *codec.Codec, req a } func queryDelegatorRedelegations(ctx sdk.Context, cdc *codec.Codec, req abci.RequestQuery, k keep.Keeper) (res []byte, err sdk.Error) { - var params QueryDelegatorParams + var params QueryRedelegationParams errRes := cdc.UnmarshalJSON(req.Data, ¶ms) if errRes != nil { return []byte{}, sdk.ErrUnknownAddress("") } - redelegations := k.GetAllRedelegations(ctx, params.DelegatorAddr) + redelegations := k.GetAllRedelegations(ctx, params.DelegatorAddr, params.SrcValidatorAddr, params.DstValidatorAddr) res, errRes = codec.MarshalJSONIndent(cdc, redelegations) if errRes != nil { diff --git a/x/stake/stake.go b/x/stake/stake.go index de23c1491b8e..9c41a0c5e633 100644 --- a/x/stake/stake.go +++ b/x/stake/stake.go @@ -9,32 +9,11 @@ import ( ) type ( -<<<<<<< HEAD - Keeper = keeper.Keeper - Validator = types.Validator - Description = types.Description - Commission = types.Commission - Delegation = types.Delegation - UnbondingDelegation = types.UnbondingDelegation - Redelegation = types.Redelegation - Params = types.Params - Pool = types.Pool - MsgCreateValidator = types.MsgCreateValidator - MsgEditValidator = types.MsgEditValidator - MsgDelegate = types.MsgDelegate - MsgBeginUnbonding = types.MsgBeginUnbonding - MsgBeginRedelegate = types.MsgBeginRedelegate - GenesisState = types.GenesisState - QueryDelegatorParams = querier.QueryDelegatorParams - QueryValidatorParams = querier.QueryValidatorParams - QueryBondsParams = querier.QueryBondsParams -======= Keeper = keeper.Keeper Validator = types.Validator Description = types.Description Commission = types.Commission Delegation = types.Delegation - DelegationSummary = types.DelegationSummary UnbondingDelegation = types.UnbondingDelegation Redelegation = types.Redelegation Params = types.Params @@ -49,7 +28,6 @@ type ( QueryValidatorParams = querier.QueryValidatorParams QueryBondsParams = querier.QueryBondsParams QueryRedelegationParams = querier.QueryRedelegationParams ->>>>>>> LCD route ) var (