fix: changed how claimed variable is set in staking-payouts #1378
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In
staking-payouts
endpoint, theclaimed
field is returningfalse
even when rewards are actually claimed.Testing
The
claimed
variable is set in this line of code where we check if the requestederaIndex
is included in theclaimedRewards
vector. After testing, it shows that theincludes
function does not work as expected and does not returntrue
when theeraIndex
is included in the array. The reason might be related to types because I tried to useincludes
when changed the type of the eraIndex and it returnedtrue
. However this is still weird because if I check :validatorLedger.claimedRewards.toRawType()
-> it returns'Vec<u32>'
anderaIndex.toRawType()
-> it returns'u32'
so I would expect
includes
to work even if I do not change anything.Proposed Solution
On the other hand, if we use the
indexOf
function it returns correctly the index whereera
is found in the array.This works and we have to make sure to add the query param
unclaimedOnly=false
.