* nut-19 sign mint quote
* ephemeral key for quote
* `mint` adjustments + crypto/nut19.py
* wip: mint side working
* fix import
* post-merge fixups
* more fixes
* make format
* move nut19 to nuts directory
* `key` -> `privkey` and `pubkey`
* make format
* mint_info method for nut-19 support
* fix tests imports
* fix signature missing positional argument + fix db migration format not correctly escaped + pass in NUT-19 keypair to `request_mint` `request_mint_with_callback`
* make format
* fix `get_invoice_status`
* rename to xx
* nutxx -> nut20
* mypy
* remove `mint_quote_signature_required` as per spec
* wip edits
* clean up
* fix tests
* fix deprecated api tests
* fix redis tests
* fix cache tests
* fix regtest mint external
* fix mint regtest
* add test without signature
* test pubkeys in quotes
* wip
* add compat
---------
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* fast-api-cache setup
* testing the cache
* fix
* still not working
* asynccontextmanager
* move test
* use redis & custom caching setup (like CDK)
* make format
* poetry lock
* fix format string + log when a cached response is found
* log when a cahced response is found
* fix tests
* poetry lock
* try tests on github
* use docker compose
* maybe we dont need docker
* fix types
* create_task instead of run
* how about we start postgres
* mint features
* format
* remove deprecated setex call
* use global expiry for all cached routes
* refactor feature map and set default to 1 week
* refactor feature construction
* Cache NUT-19
---------
Co-authored-by: callebtc <93376500+callebtc@users.noreply.github.com>
* add websockets for quote updates
* add test (not working)
* wip: emit events to everyone
* wip: emit events to everyone
* wip, lots of things broken but invoice callback works
* wip
* add wip files
* tests almost passing
* add task
* refactor nut constants
* startup fix
* works with old mints
* wip cli
* fix mypy
* remove automatic invoice test now with websockets
* remove comment
* better logging
* send back response
* add rate limiter to websocket
* add rate limiter to subscriptions
* refactor websocket ratelimit
* websocket tests
* subscription kinds
* doesnt start
* remove circular import
* update
* fix mypy
* move test file in test because it fails if it runs later... dunno why
* adjust websocket NUT-06 settings
* local import and small fix
* disable websockets in CLI if "no_check" is selected
* move subscription test to where it was
* check proof state with callback, add tests
* tests: run mint fixture per module instead of per session
* subscription command name fix
* test per session again
* update test race conditions
* fix tests
* clean up
* tmp
* fix db issues and remove cached secrets
* fix tests
* blindly try pipeline
* remove comments
* comments