Proto commits in cashubtc/nutshell

These 13 commits are when the Protocol Buffers files have changed:

Commit:8eab3b6
Author:a1denvalu3

feat(mint): add keyset and keysets endpoints to management RPC with issued liabilities

Commit:5775b05
Author:a1denvalu3
Committer:GitHub

fix(mint): align mint quote accounting and fix pending state priority (#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>

Commit:05b9cb3
Author:a1denvalu3
Committer:a1denvalu3

feat(management_rpc): include amount_paid, amount_issued, and updated_at fields in GetNut04Quote gRPC response

Commit:135b946
Author:a1denvalu3
Committer:GitHub

Revert "fix: persist and unify mint quote accounting fields on wallet and mint"

Commit:6d615a4
Author:a1denvalu3

feat(management_rpc): include amount_paid, amount_issued, and updated_at fields in GetNut04Quote gRPC response

Commit:c913bab
Author:a1denvalu3
Committer:GitHub

feat(mint): implement NUT-29 batched minting (#958) * feat(mint): implement NUT-29 batch minting * feat(mint): enforce exact amount balance checks per payment method for batched minting * test(mint): add test cases for NUT-29 batched minting endpoints * test(mint): rename test_mint_api_batch.py to test_mint_batch.py * test(mint): separate API tests from direct internal ledger method tests * perf(mint): use batched DB methods with row locks for setting pending quotes * fix(test): accept both UNPAID and PAID states during quote check assertion to handle CI fake wallet auto-settling races * refactor(mint): use dedicated add_batch_features for NUT-29 mint info configuration * test(mint): move batch minting api tests to main api test file * test(mint): add concurrency tests for batch minting race conditions * test(mint): hoist and format imports * feat(mint): rate limit backend checks for mint quotes * fix(mint): regenerate gRPC proto to include last_checked in Nut04Quote * chore: fix ruff and formatting issues on generated gRPC files * fix(mint): prevent mint_batch race condition by adding quote.issued check during pending state transition * test(mint): add race condition regression test for double-mints through permutation deadlocks * fix(mint): fix TOCTOU vulnerability in get_mint_quote allowing state overwrites * fix: prevent TOCTOU race condition in mint quote rate limiting * fix(mint): add missing error codes for NUT-29 batch minting * fix(mint): restore management RPC protobuf import * fix(mint): handle CancelledError in mint_batch * fix(mint): handle CancelledError in mint_batch * chore: revert ledger.py line endings to CRLF * fix(mint): restore async_melt and batch mint models lost in rebase * fix issues * fix issues --------- Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>

Commit:75926d7
Author:a1denvalu3
Committer:GitHub

feat(mint): add issued_time to mint_quotes table (#985)

Commit:99a34e7
Author:a1denvalu3

feat(mint): add issued_time to mint_quotes table

Commit:e645007
Author:Michael
Committer:GitHub

Add GetQuoteTtl Method to Management RPC (#874) * adding getQuoteTTL * fixing failed checks * tiny fix * comments addressed * computing the expiry now and fix failed ruff andformat check * remove redis cache * removed business logic * failed check * cli tested added for getquotettl implementation

Commit:695118d
Author:a1denvalu3
Committer:GitHub

feat: keysets v2 (#798) * feat: keysets v2 implementation * test_wallet patch #2 * patch test_wallet 3 * coincurve: serialize -> format * remove raw kw argument from publickey contructor * fix tests * format * updated v2 derivation scheme + test vectors * update again * further changes to spec * fix tests * remove optional type * target 0.20 * bump docs version to 0.20.0 --------- Co-authored-by: a1denvalu3 <> Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>

Commit:e361cff
Author:lollerfirst
Committer:GitHub

management RPC follow up (#770) * new protobuf file * redis * format

Commit:2957128
Author:lollerfirst
Committer:GitHub

Mint Management gRPC Server (#723) * settings * fix name settings * management rpc * hook up the RPC server * working * format * update build script fix import error * remove accidental commit of vscode extension data * working ✔ * \n * add get mint quote get melt quote * gRPC cli update quotes commands * update mint melt quotes from cli * comment under get cli command group * keyset rotation not yet implemented * try fix * change back contact info default to be empty list * fix import * add server mTLS * ll * script for generating certificates * rename settings * move generation script * do not save TTL expiry into Cache object, rather always load from settings. * update lightning fees * update auth limits * auth rate limit cli * optional arguemnts * better error messages * tests for db update mint/melt quotes * start mint rpc tests * add tos_url field to get-info grpc response * format checks * add types to click groups where it's needed * tests on updating quotes * fix tests * skip updating mint quote state if on regtest * test edge case * unified test_add_remove_contact * mark pytest-asyncio * fix missing db argument * hopefully no more silly errors * fix test_db_update_mint_quote_state * pass in the quote id string. * add keyset rotation * test for keyset rotation through gRPC command * fix logger warning * remove rotation test because it breaks other tests * use different bolt11 invoices * assert returned melt quote has quote * is_postgres * try different things * skip if deprecated api * format checks * update .gitignore * default location for certificates

Commit:d388508
Author:lollerfirst
Committer:GitHub

Mint: Talk to LND via gRPC (#595) * protos + lnd_grpc.py + __init__ + status method * `create_invoice` * `pay_invoice`, `pay_partial_invoice` and router pb2 * `get_invoice_status` * channel keep-alive options * Update lnd_grpc.py * `get_payment_status` + make format * `get_payment_quote` and `paid_invoices_stream`. This was suspiciously easy... * download_and_build script modified to fix the imports on generated code * pyproject with new dependencies * update poetry.lock * fixed errors in `pay_partial_invoice` * update .env.example * make format * enable regtest * update .env.example * suggested fixes * suggested changes pt.2 * Update cashu/core/settings.py Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com> --------- Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>

The documentation is generated from this commit.