Skip to content

Commit

Permalink
[R4R] address harvest preliminary audit exhibits (#686)
Browse files Browse the repository at this point in the history
* resolve KAV-01

* resolve KAV-02

* resolve KAV-03

* resolve KAV-04
  • Loading branch information
karzak authored Oct 12, 2020
1 parent 5764c71 commit a9c253c
Showing 1 changed file with 25 additions and 43 deletions.
68 changes: 25 additions & 43 deletions x/harvest/keeper/querier.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func NewQuerier(k Keeper) sdk.Querier {
}
}

func queryGetParams(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, error) {
func queryGetParams(ctx sdk.Context, _ abci.RequestQuery, k Keeper) ([]byte, error) {
// Get params
params := k.GetParams(ctx)

Expand Down Expand Up @@ -78,54 +78,45 @@ func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte,
if err != nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
}
depositDenom := false
owner := false
depositType := false

if len(params.DepositDenom) > 0 {
depositDenom = true
}
if len(params.Owner) > 0 {
owner = true
}
if len(params.DepositType) > 0 {
depositType = true
}
depositDenom := len(params.DepositDenom) > 0
owner := len(params.Owner) > 0
depositType := len(params.DepositType) > 0

var deposits []types.Deposit
if depositDenom && owner && depositType {
switch {
case depositDenom && owner && depositType:
deposit, found := k.GetDeposit(ctx, params.Owner, params.DepositDenom, params.DepositType)
if found {
deposits = append(deposits, deposit)
}
} else if depositDenom && owner {
case depositDenom && owner:
for _, dt := range types.DepositTypesDepositQuery {
deposit, found := k.GetDeposit(ctx, params.Owner, params.DepositDenom, dt)
if found {
deposits = append(deposits, deposit)
}
}
} else if depositDenom && depositType {
case depositDenom && depositType:
k.IterateDepositsByTypeAndDenom(ctx, params.DepositType, params.DepositDenom, func(deposit types.Deposit) (stop bool) {
deposits = append(deposits, deposit)
return false
})
} else if owner && depositType {
case owner && depositType:
schedules := k.GetParams(ctx).LiquidityProviderSchedules
for _, lps := range schedules {
deposit, found := k.GetDeposit(ctx, params.Owner, lps.DepositDenom, params.DepositType)
if found {
deposits = append(deposits, deposit)
}
}
} else if depositDenom {
case depositDenom:
for _, dt := range types.DepositTypesDepositQuery {
k.IterateDepositsByTypeAndDenom(ctx, dt, params.DepositDenom, func(deposit types.Deposit) (stop bool) {
deposits = append(deposits, deposit)
return false
})
}
} else if owner {
case owner:
schedules := k.GetParams(ctx).LiquidityProviderSchedules
for _, lps := range schedules {
for _, dt := range types.DepositTypesDepositQuery {
Expand All @@ -135,15 +126,15 @@ func queryGetDeposits(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte,
}
}
}
} else if depositType {
case depositType:
schedules := k.GetParams(ctx).LiquidityProviderSchedules
for _, lps := range schedules {
k.IterateDepositsByTypeAndDenom(ctx, params.DepositType, lps.DepositDenom, func(deposit types.Deposit) (stop bool) {
deposits = append(deposits, deposit)
return false
})
}
} else {
default:
k.IterateDeposits(ctx, func(deposit types.Deposit) (stop bool) {
deposits = append(deposits, deposit)
return false
Expand Down Expand Up @@ -172,39 +163,30 @@ func queryGetClaims(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, e
if err != nil {
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
}
depositDenom := false
owner := false
depositType := false

if len(params.DepositDenom) > 0 {
depositDenom = true
}
if len(params.Owner) > 0 {
owner = true
}
if len(params.DepositType) > 0 {
depositType = true
}
depositDenom := len(params.DepositDenom) > 0
owner := len(params.Owner) > 0
depositType := len(params.DepositType) > 0

var claims []types.Claim
if depositDenom && owner && depositType {
switch {
case depositDenom && owner && depositType:
claim, found := k.GetClaim(ctx, params.Owner, params.DepositDenom, params.DepositType)
if found {
claims = append(claims, claim)
}
} else if depositDenom && owner {
case depositDenom && owner:
for _, dt := range types.DepositTypesClaimQuery {
claim, found := k.GetClaim(ctx, params.Owner, params.DepositDenom, dt)
if found {
claims = append(claims, claim)
}
}
} else if depositDenom && depositType {
case depositDenom && depositType:
k.IterateClaimsByTypeAndDenom(ctx, params.DepositType, params.DepositDenom, func(claim types.Claim) (stop bool) {
claims = append(claims, claim)
return false
})
} else if owner && depositType {
case owner && depositType:
harvestParams := k.GetParams(ctx)
for _, lps := range harvestParams.LiquidityProviderSchedules {
claim, found := k.GetClaim(ctx, params.Owner, lps.DepositDenom, params.DepositType)
Expand All @@ -218,14 +200,14 @@ func queryGetClaims(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, e
claims = append(claims, claim)
}
}
} else if depositDenom {
case depositDenom:
for _, dt := range types.DepositTypesClaimQuery {
k.IterateClaimsByTypeAndDenom(ctx, dt, params.DepositDenom, func(claim types.Claim) (stop bool) {
claims = append(claims, claim)
return false
})
}
} else if owner {
case owner:
harvestParams := k.GetParams(ctx)
for _, lps := range harvestParams.LiquidityProviderSchedules {
claim, found := k.GetClaim(ctx, params.Owner, lps.DepositDenom, types.LP)
Expand All @@ -239,7 +221,7 @@ func queryGetClaims(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, e
claims = append(claims, claim)
}
}
} else if depositType {
case depositType:
harvestParams := k.GetParams(ctx)
for _, lps := range harvestParams.LiquidityProviderSchedules {
k.IterateClaimsByTypeAndDenom(ctx, params.DepositType, lps.DepositDenom, func(claim types.Claim) (stop bool) {
Expand All @@ -253,7 +235,7 @@ func queryGetClaims(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, e
return false
})
}
} else {
default:
k.IterateClaims(ctx, func(claim types.Claim) (stop bool) {
claims = append(claims, claim)
return false
Expand Down

0 comments on commit a9c253c

Please sign in to comment.