diff --git a/.pending/breaking/rest/_The-balance-field-i b/.pending/breaking/rest/_The-balance-field-i new file mode 100644 index 000000000..163828427 --- /dev/null +++ b/.pending/breaking/rest/_The-balance-field-i @@ -0,0 +1 @@ +#4783 The balance field in the DelegationResponse type is now sdk.Coin instead of sdk.Int diff --git a/client/lcd/swagger-ui/swagger.yaml b/client/lcd/swagger-ui/swagger.yaml index 6d9ebe6db..90ffc68bf 100644 --- a/client/lcd/swagger-ui/swagger.yaml +++ b/client/lcd/swagger-ui/swagger.yaml @@ -2381,8 +2381,8 @@ definitions: type: string shares: type: string - height: - type: integer + balance: + $ref: "#/definitions/Coin" UnbondingDelegationPair: type: object properties: diff --git a/x/staking/keeper/querier.go b/x/staking/keeper/querier.go index 4cc4be19d..19464aabc 100644 --- a/x/staking/keeper/querier.go +++ b/x/staking/keeper/querier.go @@ -350,7 +350,7 @@ func delegationToDelegationResponse(ctx sdk.Context, k Keeper, del types.Delegat del.DelegatorAddress, del.ValidatorAddress, del.Shares, - val.TokensFromShares(del.Shares).TruncateInt(), + sdk.NewCoin(k.BondDenom(ctx), val.TokensFromShares(del.Shares).TruncateInt()), ), nil } diff --git a/x/staking/keeper/querier_test.go b/x/staking/keeper/querier_test.go index 039002e9f..c029bd0cd 100644 --- a/x/staking/keeper/querier_test.go +++ b/x/staking/keeper/querier_test.go @@ -91,7 +91,7 @@ func TestNewQuerier(t *testing.T) { func TestQueryParametersPool(t *testing.T) { cdc := codec.New() ctx, _, keeper, _ := CreateTestInput(t, false, 1000) - bondDenom := keeper.BondDenom(ctx) + bondDenom := sdk.DefaultBondDenom res, err := queryParameters(ctx, keeper) require.Nil(t, err) @@ -268,7 +268,7 @@ func TestQueryDelegation(t *testing.T) { require.Equal(t, delegation.ValidatorAddress, delegationRes.ValidatorAddress) require.Equal(t, delegation.DelegatorAddress, delegationRes.DelegatorAddress) - require.Equal(t, delegation.Shares.TruncateInt(), delegationRes.Balance) + require.Equal(t, sdk.NewCoin(sdk.DefaultBondDenom, delegation.Shares.TruncateInt()), delegationRes.Balance) // Query Delegator Delegations query = abci.RequestQuery{ @@ -285,7 +285,7 @@ func TestQueryDelegation(t *testing.T) { require.Len(t, delegatorDelegations, 1) require.Equal(t, delegation.ValidatorAddress, delegatorDelegations[0].ValidatorAddress) require.Equal(t, delegation.DelegatorAddress, delegatorDelegations[0].DelegatorAddress) - require.Equal(t, delegation.Shares.TruncateInt(), delegatorDelegations[0].Balance) + require.Equal(t, sdk.NewCoin(sdk.DefaultBondDenom, delegation.Shares.TruncateInt()), delegatorDelegations[0].Balance) // error unknown request query.Data = bz[:len(bz)-1] @@ -312,7 +312,7 @@ func TestQueryDelegation(t *testing.T) { require.Len(t, delegatorDelegations, 1) require.Equal(t, delegation.ValidatorAddress, delegationsRes[0].ValidatorAddress) require.Equal(t, delegation.DelegatorAddress, delegationsRes[0].DelegatorAddress) - require.Equal(t, delegation.Shares.TruncateInt(), delegationsRes[0].Balance) + require.Equal(t, sdk.NewCoin(sdk.DefaultBondDenom, delegation.Shares.TruncateInt()), delegationsRes[0].Balance) // Query unbonging delegation unbondingTokens := sdk.TokensFromConsensusPower(10) diff --git a/x/staking/types/delegation.go b/x/staking/types/delegation.go index d25059a50..3c483a953 100644 --- a/x/staking/types/delegation.go +++ b/x/staking/types/delegation.go @@ -352,10 +352,10 @@ func (d Redelegations) String() (out string) { // in addition to shares which is more suitable for client responses. type DelegationResponse struct { Delegation - Balance sdk.Int `json:"balance" yaml:"balance"` + Balance sdk.Coin `json:"balance" yaml:"balance"` } -func NewDelegationResp(d sdk.AccAddress, v sdk.ValAddress, s sdk.Dec, b sdk.Int) DelegationResponse { +func NewDelegationResp(d sdk.AccAddress, v sdk.ValAddress, s sdk.Dec, b sdk.Coin) DelegationResponse { return DelegationResponse{NewDelegation(d, v, s), b} } diff --git a/x/staking/types/delegation_test.go b/x/staking/types/delegation_test.go index ae7995599..07496e056 100644 --- a/x/staking/types/delegation_test.go +++ b/x/staking/types/delegation_test.go @@ -80,8 +80,10 @@ func TestRedelegationString(t *testing.T) { func TestDelegationResponses(t *testing.T) { cdc := codec.New() - dr1 := NewDelegationResp(sdk.AccAddress(valAddr1), valAddr2, sdk.NewDec(5), sdk.NewInt(5)) - dr2 := NewDelegationResp(sdk.AccAddress(valAddr1), valAddr3, sdk.NewDec(5), sdk.NewInt(5)) + dr1 := NewDelegationResp(sdk.AccAddress(valAddr1), valAddr2, sdk.NewDec(5), + sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5))) + dr2 := NewDelegationResp(sdk.AccAddress(valAddr1), valAddr3, sdk.NewDec(5), + sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(5))) drs := DelegationResponses{dr1, dr2} bz1, err := json.Marshal(dr1)