chore: migrate dependency management to uv#1
Closed
callebtc wants to merge 54 commits into
Closed
Conversation
…egtest-hang fix(wallet): resolve hanging proof CLI tests in regtest
…ting feat(crypto): align NUT-20/29 signatures with spec change
…-batch-minting Revert "feat(crypto): align NUT-20/29 signatures with spec change"
…mpatibility
lnd v0.21.0-beta removed the deprecated lnrpc.SendPaymentSync RPC and its
REST route POST /v1/channels/transactions, which both LND backends used to
pay invoices. Every melt against an lnd 0.21 node fails immediately with
{"code":5,"message":"Not Found"} from the REST proxy (or the gRPC
equivalent) before any payment attempt is made.
Migrate pay_invoice in lndrest and lnd_grpc to the streaming
routerrpc.SendPaymentV2 (POST /v2/router/send), consuming updates until a
terminal payment status is reached, mirroring the TrackPaymentV2 handling
already used by get_payment_status. Invoice creation, status checks and the
MPP path (SendToRouteV2) were already on non-removed endpoints.
A transport/RPC error or a mid-stream gateway error does not tell us
whether the payment was attempted or is in flight. Returning FAILED in
those cases asserts a failure we cannot prove. Report UNKNOWN instead so
the ledger re-checks the real state via TrackPaymentV2; FAILED is now
returned only when LND explicitly rejects the request pre-initiation or
reports a terminal Payment.status == FAILED.
- lnd_grpc: AioRpcError -> UNKNOWN
- lndrest: mid-stream {"error": ...} envelope -> UNKNOWN (immediate
pre-initiation rejection stays FAILED)
- add mocked test for the lndrest stream-error case
…ymentv2 fix(lightning): migrate LND backends to SendPaymentV2 (SendPaymentSync removed in lnd 0.21)
fix(mint): handle background melt exceptions
…12 workflow updates
…to avoid import-time event loop binding
…id connection exhaustion
…-workflows fix(mint): resolve regtest lnbits, event loop teardown, and python 3.12 workflow updates
…er, align test mock
…nding, and rate limiting
…expiry fix(mint): resolve auth ledger schema, audience validation, and rate limit issues
…1010) * feat(crypto): deterministic DLEQ nonce derivation (NUT-12) Derive the DLEQ nonce `r` deterministically from the private key and proof context instead of from the RNG: r = HMAC-SHA256(key=a, "Cashu_DLEQ_R_v1" || A || B' || C' || ctr) mod n This removes the dependency on RNG quality. Reusing `r` across two proofs with different challenges would leak the private key. `step2_bob` now emits deterministic nonces for every signature; DLEQ verification is unaffected since (e, s) remain valid proofs. The `p_bytes` override is retained for the existing test vectors. Adds the NUT-12 deterministic-nonce test vector (cashubtc/nuts#368) plus reproducibility and context-sensitivity tests. * test(crypto): exclude unreachable DLEQ nonce raise from coverage * fix(crypto): reject out-of-range DLEQ nonce instead of mod n * refactor(crypto): rename DLEQ nonce candidate x to r Match the variable name to the NUT-12 notation (r) used throughout the surrounding docs and comments. No behaviour change.
* feat(core): add method name to settings * chore: emit the method_name and test added
- invalid_signature: generate one secret to match the single output - mixed_locked_unlocked: make the second quote actually unlocked (request_mint always sets a NUT-20 pubkey, so both were locked) - drop expired_quotes: mint quote expiry is not persisted/enforced - atomicity_one_invalid: trigger the failure via an invalid signature instead of (unenforced) expiry
…ounting feat(mint): align NUT-04 with amount_paid/issued + updated_at
…leanly from amount_paid and amount_issued
… protobuf message
…_at fields in GetNut04Quote gRPC response
add more batch mint tests
fix: persist and unify mint quote accounting fields on wallet and mint
…uote-accounting Revert "fix: persist and unify mint quote accounting fields on wallet and mint"
…cashubtc#1070) * fix(wallet): persist mint quote accounting fields received from the mint * fix(mint): persist mint quote accounting fields in the mint database * fix(core): make state property dynamically derive from amount_paid and amount_issued * fix(core): remove state_db, aliases, and make state property derive cleanly from amount_paid and amount_issued * fix(management_rpc): exclude new accounting fields from GetNut04Quote protobuf message * fix(core): convert PostgreSQL datetime timestamp for updated_at in from_row * feat(management_rpc): include amount_paid, amount_issued, and updated_at fields in GetNut04Quote gRPC response * format * fix(wallet): avoid setting paid_time when updating unpaid mint quotes * fix(core): ensure PENDING mint quote state is not overridden by accounting values * fix(core): preserve accounting fields when setting mint quote state to PENDING * wallet migration None fix * fix(mint): bump updated_at on mint quote state transitions * fix(wallet): prioritize PENDING state in from_resp_wallet --------- Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* bump remaining versions strings to 0.20.2 * update readme too
Owner
Author
|
Closing this one because it was opened against the fork by mistake. Correct upstream PR: cashubtc#1075 |
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
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:
Verification: