-
Notifications
You must be signed in to change notification settings - Fork 103
feat: grant spent amounts #3757
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
Draft
BlairCurrey
wants to merge
10
commits into
main
Choose a base branch
from
bc/raf-1031/grant-spent-amounts
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains hidden or 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
* feat: add grant spent amount table * fix: change interval start/end string to timestamp * feat: fix filename, update op grant table * fix: rm erroneously added migration to tsconfig
* feat: calculate grant spent amounts from new table * chore: linting * fix: revise grant spent amounts calc to track interval * fix: throw better error, dont inti interval amounts unless they exist * fix: linter, wip commented out code * refactor(backend): rename interval statuses * fix: ensure correct amount (interval/total) is used for grant spent amount * test(backend): grant spent amounts * fix(backend): make logic more typesafe, avoid having to defend w/ internal server error * test(backend): legacy grant calculations * test(backend): classify payment interval fn * test(backend): rm commented-out classify payment interval case * refactor(backend): improve semantics of interval helper fn * test(backend): add non-interval cases to create op * Apply suggestions from code review Co-authored-by: Max Kurapov <[email protected]> * refactor: simplifiy interval calc * chore: rm unused imports * refactor: validate grant payment logic * refactor: improve grant spent amount calc type safety * refactor: improve grant spent amount calc type safety * fix: missing trx * chore: handle bad interval state * chore: rm some superfluous comments * chore: format --------- Co-authored-by: Max Kurapov <[email protected]>
) * feat: calculate grant spent amounts from new table * chore: linting * fix: revise grant spent amounts calc to track interval * fix: throw better error, dont inti interval amounts unless they exist * fix: linter, wip commented out code * refactor(backend): rename interval statuses * fix: ensure correct amount (interval/total) is used for grant spent amount * test(backend): grant spent amounts * fix(backend): make logic more typesafe, avoid having to defend w/ internal server error * test(backend): legacy grant calculations * test(backend): classify payment interval fn * test(backend): rm commented-out classify payment interval case * refactor(backend): improve semantics of interval helper fn * test(backend): add non-interval cases to create op * Apply suggestions from code review Co-authored-by: Max Kurapov <[email protected]> * feat: partially handled grant spent amount scenarios on settle * feat: handle non-interval partial settleamount cases * test(backend): failure grant spent amount case for sucessive payment * test(backend): some grant calc interval cases * test(backend): counting grant payments across interval boundaries * chore(backend): rm commented out test * test(backend): new grant spent amount on payment completion * test(backend): improve interval grant calc test to show summation * test(backend): failure edge case * chore(backend): rm comment * chore(backend): fix lint errors * chore(backend): rm debug logs * test(backend): fix failing * Update packages/backend/src/open_payments/payment/outgoing/lifecycle.ts Co-authored-by: Max Kurapov <[email protected]> * fix(backend): rm extra spent amount record check * feat(backend): return debit amount from .pay * test(backend): failing test for grant spent amount bug - if 2 payments are create then 2 payments are processed, it assocaites the wrong spent amount with the wrong payment * fix(backend): grant spent amounts calc race conditions - partially implemented fix (missing interval stuff), not fully validated by tests yet * test(backend): grant calc race condition * fix(backend): grant spent amount race conditions with failure * chore(backend): format * test(backend): add failing interval race condition test * fix(backend): interval boundary/race condition edge case - edge case is when there are create/complete race conditions around interval boundaries * test(backend): improve edge case test - ensures we are testing that the latest interval amount is used as the base for interval amounts, not just the payment in the interval being completed * fix(backend): dont query for latest interval payment unecunnecessarily - not necessary if we are within the interval of the payment being completed * fix(backend): type mismatch * test(backend): payment retries do not add additional spent record * fix(backend): use correct debit amount for spent amount recalc * fix(backend): set correct payment state on grant spent amount updates * refactor(backend): dedupe revert/handle grant spent amounts - turned duplicated logic into shared functions - example fn where revert/update is all in one, but felt it was more complicated * chore: rm unused fn * test(backend): fix ilp pay return expectations * refactor(backend): move revert/update grant spent amounts to op service * chore: rm unused import * fix: handle grant spent amounts on payment cancellation * chore: cleanup commented out code * chore: rm submodule added in error * chore(backend): add error logs * fix(backend): explicit grant spent amount formation, more test assertions * refactor(backend): only return receive amt from .pay * fix(backend): build error --------- Co-authored-by: Max Kurapov <[email protected]>
✅ Deploy Preview for brilliant-pasca-3e80ec canceled.
|
🚀 Performance Test ResultsTest Configuration:
Test Metrics:
📜 Logs |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
pkg: backend
Changes in the backend package.
type: source
Changes business logic
type: tests
Testing related
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.
No description provided.