* fix keys
* fix tests
* backwards compatible api upgrade
* upgrade seems to work
* fix tests
* add deprecated api functions
* add more tests of backwards compat
* add test serialization for nut00
* remove a redundant test
* move mint and melt to new api
* mypy works
* CI: mypy --check-untyped-defs
* add deprecated router
* add hints and remove logs
* fix tests
* cleanup
* use new mint and melt endpoints
* tests passing?
* fix mypy
* make format
* make format
* make format
* commit
* errors gone
* save
* adjust the API
* store quotes in db
* make mypy happy
* add fakewallet settings
* remove LIGHTNING=True and pass quote id for melt
* format
* tests passing
* add CoreLightningRestWallet
* add macaroon loader
* add correct config
* preimage -> proof
* move wallet.status() to cli.helpers.print_status()
* remove statuses from tests
* remove
* make format
* Use httpx in deprecated wallet
* fix cln interface
* create invoice before quote
* internal transactions and deprecated api testing
* fix tests
* add deprecated API tests
* fastapi type hints break things
* fix duplicate wallet error
* make format
* update poetry in CI to 1.7.1
* precommit restore
* remove bolt11
* oops
* default poetry
* store fee reserve for melt quotes and refactor melt()
* works?
* make format
* test
* finally
* fix deprecated models
* rename v1 endpoints to bolt11
* raise restore and check to v1, bump version to 0.15.0
* add version byte to keyset id
* remove redundant fields in json
* checks
* generate bip32 keyset wip
* migrate old keysets
* load duplicate keys
* duplicate old keysets
* revert router changes
* add deprecated /check and /restore endpoints
* try except invalidate
* parse unit from derivation path, adjust keyset id calculation with bytes
* remove keyest id from functions again and rely on self.keyset_id
* mosts tests work
* mint loads multiple derivation paths
* make format
* properly print units
* fix tests
* wallet works with multiple units
* add strike wallet and choose backend dynamically
* fix mypy
* add get_payment_quote to lightning backends
* make format
* fix startup
* fix lnbitswallet
* fix tests
* LightningWallet -> LightningBackend
* remove comments
* make format
* remove msat conversion
* add Amount type
* fix regtest
* use melt_quote as argument for pay_invoice
* test old api
* fees in sats
* fix deprecated fees
* fixes
* print balance correctly
* internally index keyset response by int
* add pydantic validation to input models
* add timestamps to mint db
* store timestamps for invoices, promises, proofs_used
* fix wallet migration
* rotate keys correctly for testing
* remove print
* update latest keyset
* fix tests
* fix test
* make format
* make format with correct black version
* remove nsat and cheese
* test against deprecated mint
* fix tests?
* actually use env var
* mint run with env vars
* moar test
* cleanup
* simplify tests, load all keys
* try out testing with internal invoices
* fix internal melt test
* fix test
* deprecated checkfees expects appropriate fees
* adjust comment
* drop lightning table
* split migration for testing for now, remove it later
* remove unused lightning table
* skip_private_key -> skip_db_read
* throw error on migration error
* reorder
* fix migrations
* fix lnbits fee return value negative
* fix typo
* comments
* add type
* make format
* split must use correct amount
* fix tests
* test deprecated api with internal/external melts
* do not split if not necessary
* refactor
* fix test
* make format with new black
* cleanup and add comments
* add quote state check endpoints
* fix deprecated wallet response
* split -> swap endpoint
* make format
* add expiry to quotes, get quote endpoints, and adjust to nut review comments
* allow overpayment of melt
* add lightning wallet tests
* commiting to save
* fix tests a bit
* make format
* remove comments
* get mint info
* check_spendable default False, and return payment quote checking id
* make format
* bump version in pyproject
* update to /v1/checkstate
* make format
* fix mint api checks
* return witness on /v1/checkstate
* no failfast
* try fail-fast: false in ci.yaml
* fix db lookup
* clean up literals
* first working version but some sats go missing
* back at it
* make format
* restore to main
* move mint database
* fix some tests
* make format
* remove old _construct_outputs we reintroduced in merge with main
* add type annotations
* add wallet private key to tests
* wallet: load proofs
* fix tests
* _generate_secrets with deterministic generation (temporary)
* allow wallet initialization with custom private key
* add pk to wallet api test
* mint scope=module
* remove private_key from test_wallet.py to see if it helps with the github tests
* readd private keys to tests
* workflow without env
* add more private key!
* readd env
* ledger scope session
* add default private key for testing
* generate private keys if not available
* testing
* its working!!!
* first iteration of bip32 working
* get mint info and add many type annotations
* tests
* fix tests with bip32
* restore from multiple mints
* disable profiler
* make format
* failed POST /mint do not increment secret counter
* store derivation path in each token
* fix tests
* refactor migrations so private keys can be generated by the wallet with .with_db() classmethod
* start fixing tests
* all tests passing except those that need to set a specific private key
* bip39 mnemonic to seed - with db but restore doesnt work yet with custom seed
* mnemonic restore works
* enter mnemonic in cli
* fix tests to use different mnemonic
* properly ask user for seed input
* tests: dont ask for inputs
* try to fix tests
* fix cashu -d
* fixing
* bump version and add more text to mnemonic enter
* add more comments
* add many more comments and type annotations in the wallet
* dont print generated mnemonic and dont wait for input
* fix test
* does this fix tests?
* sigh....
* make format
* do not restore from an initialized wallet
* fix mnemonics
* fix nitpicks
* print wallet name if nonstandard wallet
* fix merge error and remove comments
* poetry lock and requirements
* remove unused code
* fix tests
* mnemonic.lower() and add keyset id if not present for backwards compat
* edit comment
* add pending state
* proofs spendable check and tests
* bump version to 0.12.3
* remove sleep for testing
* comment clarify
* use list comprehension in pending list
* p2pk with nostr privatekey and timelocks
* add p2pk
* fix test
* fix test with custom secret
* sign whole split transaction
* p2pk signature now commits to entire secret and thus to a nonce
* use schnorr signatures
* revamp P2SH and P2PK with new Secret model
* test p2pk
* add comments
* add nostr private key to tests
* fix nostr receive
* make format
* test redemption after timelock
* refactor Server.serialize()
* sign sha256(secret)
* add optional refund pubkey that triggers after timelock
* use nostr private key for now (including nsec parser)
* use nostr private key and fix tests
* bump version to 0.12.2
* fix private key derivation
* add backwards compatilibity for old keysets
* bump version
* test pubkeys and private keys
* make format
* reset keys for tests
* fix cli tests
* fix PostMeltRequest and /checkfees to GET
* POST /check -> GET /check
* fix GetCheckSpendableResponse
* rename models
* make format
* revert GET
* bump version to 0.9
* skip nostr test
* adjust tokenv2 and make it backwards compatible
* fix dict to list
* use pydantic object and not the dtoken
* make format
* fix typo in _meltrequest_include_fields
* reorder functions
* fixes and tests working
* bump version to 0.8.3