-
Notifications
You must be signed in to change notification settings - Fork 285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(core-api): include multipayment in forged amount #3733
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ghost
added
Complexity: High
labels
May 25, 2020
@rainydio conflicts |
ghost
mentioned this pull request
May 31, 2020
2 tasks
ghost
deleted the
fix/core-api/multipayment-total-amount
branch
June 1, 2020 11:11
ghost
removed
the
Status: Needs Review
label
Jun 1, 2020
ghost
mentioned this pull request
Jun 7, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Fixes #3495
Block
totalAmount
property is signed and is used to checksum database. It cannot be changed to include multipayment transactions without milestone. So this is implemented on API level, but things there aren't that simple either.I cannot simply pull all transactions with every block that is loaded from database. Otherwise this will significantly stress database on
/blocks
and/blocks/search
endpoints. Second there israw=true
parameter which presumably still has to return raw block data that can be used to check signature (so without multipayment included in total).BlockHistoryService
now has capability of joining transactions (...byCriteriaJoinTransactions
methods).BlockWithTransactionsResource
was added. Only itstransform
method is used which walks through transactions and calculates forged total that includes multipayment.BlockResource
usages are now usingBlockWithTransactionsResource
.BlockWithTransactionsResource
use new..byCriteriaJoinTransactions
methods to also join multipayment transactions only so forged total includes multipayment transactions.Checklist