Redelegation Querier (#2559)
This commit is contained in:
committed by
Jack Zampolin
parent
26fc5163e3
commit
f4fb3608c0
@@ -455,11 +455,15 @@ 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])
|
||||
require.Len(t, redelegation, 1)
|
||||
require.Equal(t, "30", redelegation[0].Balance.Amount.String())
|
||||
|
||||
delegatorUbds := getDelegatorUnbondingDelegations(t, port, addr)
|
||||
require.Len(t, delegatorUbds, 1)
|
||||
require.Equal(t, "30", delegatorUbds[0].Balance.Amount.String())
|
||||
|
||||
delegatorReds := getDelegatorRedelegations(t, port, addr)
|
||||
delegatorReds := getRedelegations(t, port, addr, nil, nil)
|
||||
require.Len(t, delegatorReds, 1)
|
||||
require.Equal(t, "30", delegatorReds[0].Balance.Amount.String())
|
||||
|
||||
@@ -467,7 +471,7 @@ func TestBonding(t *testing.T) {
|
||||
require.Len(t, validatorUbds, 1)
|
||||
require.Equal(t, "30", validatorUbds[0].Balance.Amount.String())
|
||||
|
||||
validatorReds := getValidatorRedelegations(t, port, operAddrs[0])
|
||||
validatorReds := getRedelegations(t, port, nil, operAddrs[0], nil)
|
||||
require.Len(t, validatorReds, 1)
|
||||
require.Equal(t, "30", validatorReds[0].Balance.Amount.String())
|
||||
|
||||
|
||||
@@ -803,15 +803,25 @@ paths:
|
||||
description: Invalid delegator address or validator address
|
||||
500:
|
||||
description: Internal Server Error
|
||||
/stake/delegators/{delegatorAddr}/redelegations:
|
||||
/stake/redelegations:
|
||||
parameters:
|
||||
- in: path
|
||||
name: delegatorAddr
|
||||
description: Bech32 AccAddress of Delegator
|
||||
required: true
|
||||
type: string
|
||||
- in: query
|
||||
name: delegator
|
||||
description: Bech32 AccAddress of Delegator
|
||||
required: false
|
||||
type: string
|
||||
- in: query
|
||||
name: validator_from
|
||||
description: Bech32 ValAddress of SrcValidator
|
||||
required: false
|
||||
type: string
|
||||
- in: query
|
||||
name: validator_to
|
||||
description: Bech32 ValAddress of DstValidator
|
||||
required: false
|
||||
type: string
|
||||
get:
|
||||
summary: Get all redelegations from a delegator
|
||||
summary: Get all redelegations (filter by query params)
|
||||
tags:
|
||||
- ICS21
|
||||
produces:
|
||||
@@ -823,10 +833,15 @@ paths:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/definitions/Redelegation"
|
||||
400:
|
||||
description: Invalid delegator address
|
||||
500:
|
||||
description: Internal Server Error
|
||||
description: Internal Server Error
|
||||
/stake/delegators/{delegatorAddr}/redelegations:
|
||||
parameters:
|
||||
- in: path
|
||||
name: delegatorAddr
|
||||
description: Bech32 AccAddress of Delegator
|
||||
required: true
|
||||
type: string
|
||||
post:
|
||||
summary: Submit a redelegation
|
||||
parameters:
|
||||
@@ -1037,30 +1052,6 @@ paths:
|
||||
description: Invalid validator address
|
||||
500:
|
||||
description: Internal Server Error
|
||||
/stake/validators/{validatorAddr}/redelegations:
|
||||
parameters:
|
||||
- in: path
|
||||
name: validatorAddr
|
||||
description: Bech32 OperatorAddress of validator
|
||||
required: true
|
||||
type: string
|
||||
get:
|
||||
summary: Get all outgoing redelegations from a validator
|
||||
tags:
|
||||
- ICS21
|
||||
produces:
|
||||
- application/json
|
||||
responses:
|
||||
200:
|
||||
description: OK
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: "#/definitions/Redelegation"
|
||||
400:
|
||||
description: Invalid validator address
|
||||
500:
|
||||
description: Internal Server Error
|
||||
/stake/pool:
|
||||
get:
|
||||
summary: Get the current state of the staking pool
|
||||
|
||||
+18
-21
@@ -886,17 +886,26 @@ func getDelegatorUnbondingDelegations(t *testing.T, port string, delegatorAddr s
|
||||
return ubds
|
||||
}
|
||||
|
||||
// GET /stake/delegators/{delegatorAddr}/redelegations Get all redelegations from a delegator
|
||||
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)
|
||||
// GET /stake/redelegations?delegator=0xdeadbeef&validator_from=0xdeadbeef&validator_to=0xdeadbeef& Get redelegations filters by params passed in
|
||||
func getRedelegations(t *testing.T, port string, delegatorAddr sdk.AccAddress, srcValidatorAddr sdk.ValAddress, dstValidatorAddr sdk.ValAddress) []stake.Redelegation {
|
||||
var res *http.Response
|
||||
var body string
|
||||
endpoint := "/stake/redelegations?"
|
||||
if !delegatorAddr.Empty() {
|
||||
endpoint += fmt.Sprintf("delegator=%s&", delegatorAddr)
|
||||
}
|
||||
if !srcValidatorAddr.Empty() {
|
||||
endpoint += fmt.Sprintf("validator_from=%s&", srcValidatorAddr)
|
||||
}
|
||||
if !dstValidatorAddr.Empty() {
|
||||
endpoint += fmt.Sprintf("validator_to=%s&", dstValidatorAddr)
|
||||
}
|
||||
res, body = Request(t, port, "GET", endpoint, nil)
|
||||
require.Equal(t, http.StatusOK, res.StatusCode, body)
|
||||
|
||||
var reds []stake.Redelegation
|
||||
|
||||
err := cdc.UnmarshalJSON([]byte(body), &reds)
|
||||
var redels []stake.Redelegation
|
||||
err := cdc.UnmarshalJSON([]byte(body), &redels)
|
||||
require.Nil(t, err)
|
||||
|
||||
return reds
|
||||
return redels
|
||||
}
|
||||
|
||||
// GET /stake/delegators/{delegatorAddr}/validators Query all validators that a delegator is bonded to
|
||||
@@ -1016,18 +1025,6 @@ func getValidatorUnbondingDelegations(t *testing.T, port string, validatorAddr s
|
||||
return ubds
|
||||
}
|
||||
|
||||
// GET /stake/validators/{validatorAddr}/redelegations Get all outgoing redelegations from a validator
|
||||
func getValidatorRedelegations(t *testing.T, port string, validatorAddr sdk.ValAddress) []stake.Redelegation {
|
||||
res, body := Request(t, port, "GET", fmt.Sprintf("/stake/validators/%s/redelegations", validatorAddr.String()), nil)
|
||||
require.Equal(t, http.StatusOK, res.StatusCode, body)
|
||||
|
||||
var reds []stake.Redelegation
|
||||
err := cdc.UnmarshalJSON([]byte(body), &reds)
|
||||
require.Nil(t, err)
|
||||
|
||||
return reds
|
||||
}
|
||||
|
||||
// GET /stake/pool Get the current state of the staking pool
|
||||
func getStakePool(t *testing.T, port string) stake.Pool {
|
||||
res, body := Request(t, port, "GET", "/stake/pool", nil)
|
||||
|
||||
Reference in New Issue
Block a user