Cesar Rodas cesar

cesar ha pushato nel feature/db-transactional-trait in cesar/cdk

  • cb9737756d WIP 2
  • 09c2ff44d6 Split the database trait into read and transactions. The transaction traits will encapsulate all database changes and also expect READ-and-lock operations to read and lock records from the database for exclusive access, thereby avoiding race conditions. The Transaction trait expects a `rollback` operation on Drop unless the transaction has been committed. TODO: - [ ] Add a set of tests for the database operations - [ ] Move all INSERT, UPDATE and DELETE to their transaction traits
  • 5f9788f68c fix: nutshell wallet test
  • 8d9dea14dd refactor: remove redb mint database
  • 6929cf6644 WIP 2
  • Visualizza comparazione tra questi 13 commit »

1 settimana fa

cesar ha pushato nel feature/db-transactional-trait in cesar/cdk

1 settimana fa

cesar ha pushato nel feature/db-transactional-trait in cesar/cdk

  • 8371586941 Split the database trait into read and transactions. The transaction traits will encapsulate all database changes and also expect READ-and-lock operations to read and lock records from the database for exclusive access, thereby avoiding race conditions. The Transaction trait expects a `rollback` operation on Drop unless the transaction has been committed. TODO: - [ ] Add a set of tests for the database operations - [ ] Move all INSERT, UPDATE and DELETE to their transaction traits
  • a32ca9af65 Merge remote-tracking branch 'thesimplekid/remove_redb_mint'
  • c61fd3830a Keysets V2 (#702) --------- Co-authored-by: thesimplekid <tsk@thesimplekid.com>
  • ad5f29c9a6 Remove `melt_request` (#819) * Fix SQLite race condition Bug: https://github.com/crodas/cdk/actions/runs/15732950296/job/44339804072#step:5:1853 Reason: When melting in parallel, many update the melt status and attempt to add proofs and they fail when adding the proof and the rollback code kicks in. The loser process removes all the proofs, and the winner process has no proof later on. Fix: Modify `update_melt_quote_state` requirements and implementation to allow only one winner. This will be solved by design with a transaction writer trait * Remove `melt_request` Fixes #809 * Remove `get_melt_request` from db trait
  • bcd319b9cf Merge pull request #825 from asmogo/arm_fix fix arm override

1 settimana fa

cesar created new branch feature/db-transactional-trait at cesar/cdk

1 settimana fa

cesar ha pushato nel proto/independent-signatory-with-custom-units in cesar/cdk

2 settimane fa

cesar created new branch proto/independent-signatory-with-custom-units at cesar/cdk

2 settimane fa

cesar ha pushato nel proto/independent-signatory-nut-xxx in cesar/cdk

  • 1c86f2cf3f Implementing https://github.com/cashubtc/nuts/pull/250
  • 47e6822fbc Move all keys and keysets to an ArcSwap. Since the keys and keysets exist in RAM, most wrapping functions are infallible and synchronous, improving performance and adding breaking API changes. The signatory will provide this information on the boot and update when the `rotate_keyset` is executed. Todo: Implement a subscription key to reload the keys when the GRPC server changes the keys. For the embedded mode, that makes no sense since there is a single way to rotate keys, and that bit is already covered.
  • 0b896f0019 Fixed dependency
  • 6a7211ea63 Fixed issue with active auth keyset
  • 2dc0a353e9 Add `sleep` in test

2 settimane fa

cesar created new branch proto/independent-signatory-nut-xxx at cesar/cdk

2 settimane fa

cesar ha pushato nel proto/independent-signatory-new-format in cesar/cdk

  • c45300ad1f Implementing https://github.com/cashubtc/nuts/pull/250
  • 23bbe3dca0 Move all keys and keysets to an ArcSwap. Since the keys and keysets exist in RAM, most wrapping functions are infallible and synchronous, improving performance and adding breaking API changes. The signatory will provide this information on the boot and update when the `rotate_keyset` is executed. Todo: Implement a subscription key to reload the keys when the GRPC server changes the keys. For the embedded mode, that makes no sense since there is a single way to rotate keys, and that bit is already covered.
  • d12535ae93 Fixed dependency
  • d7ba855f0d Fixed issue with active auth keyset
  • ea9f20481a Add `sleep` in test

2 settimane fa

cesar created new branch proto/independent-signatory-new-format at cesar/cdk

2 settimane fa

cesar ha pushato nel fix/race-condition-tests in cesar/cdk

  • 2dec11e1e4 Fix race conditions Because of the nature of Rust tests, the nutshell integration test has a race condition. Triggering the issue in the local environment was hard, but it happens more often in #509 because all the keys are read from memory without blocking the database. The error happens because, by default, Rust tests run in parallel, and maybe by design or by mistake, the external wallet did not increase its counter until the completion of the minting. This led to some tests having the same blinded messages, and the fastest test would mint successfully. The slowest test would result in the CDK failing to sign duplicated blinded messages. In any case, the fix is on the rust side, running the tests sequentially.
  • 15e10c0e90 Merge pull request #730 from crodas/fix/race-condition-state-update Fix race conditions with proof state updates.
  • 25fad98aa8 Fix formatting
  • 5505f0b5d7 Apply suggestions from code review Co-authored-by: thesimplekid <tsk@thesimplekid.com>
  • db14c1aecc Merge pull request #731 from thesimplekid/fix_p2pk_multi_sig Fix p2pk multi sig

2 settimane fa

cesar created new branch fix/race-condition-tests at cesar/cdk

2 settimane fa

cesar ha pushato nel feature/wallet-swap-before-melt in cesar/cdk

  • d5f2b23026 Add tests
  • ffd5ad1b35 Perform a swap before melting by default. Fixes #465 This PR modifies the default `melt` operation, performing a swap to melt exact amounts instead of overpaying and getting the exchange token. Although this may end up costing more in fees, it is more efficient sometimes since the overpaid amount is not unusable until the melt is finalized.
  • 9a62777883 Merge pull request #794 from thesimplekid/mint_info_seq fix: handle old nut15 spec
  • 9c3a64b029 fix: handle old nut15 spec
  • 3c39bd0aec refactor: remove unused fn (#790)

2 settimane fa

cesar created new branch feature/wallet-swap-before-melt at cesar/cdk

2 settimane fa

cesar ha pushato nel feature/wallet-notification in cesar/cdk

  • 71b1c87b8c Disable events on wasm since it relies on tokio tasks
  • 50b9f61b8e Add `new balance` event for the wallet
  • 2f7295401b Enhance the pub_sub generic crate Removed generic and instead use the type defined in the trait to simplify the code
  • a335b269b7 Update ln-bits to support v1 api (#802) * feat: v1 websockets * chore: update lnbits dep
  • edae2abaf2 Merge pull request #807 from crodas/feature/rwlock-instead-of-mutex Use `RwLock` instead of `Mutex`.

2 settimane fa

cesar created new branch feature/wallet-notification at cesar/cdk

2 settimane fa

cesar ha pushato nel feature/rwlock-instead-of-mutex in cesar/cdk

  • 2e2ce0f621 Use `RwLock` instead of `Mutex`. A mutex is too aggressive when the shared object can be accessed read-only most of the time instead of requiring exclusive access.
  • 319133a088 Merge pull request #805 from thesimplekid/docker_publish fix: prevent docker publish from overwritting other arc
  • 3b87fff218 chore: changelog and remove flake box
  • 14efe4a8b8 fix: prevent docker publish from overwritting other arc
  • 7e8913a1cf Merge pull request #804 from coderwander/main chore: add the missing right bracket

2 settimane fa

cesar created new branch feature/rwlock-instead-of-mutex at cesar/cdk

2 settimane fa

cesar ha pushato nel main in cesar/cdk

  • 5a6b28816a Migrate from `sqlx` to rusqlite (#783) * Migrate from `sqlx` to rusqlite 1. Add rusqlite with rusqlite with a working thread 2. Add wallet without a thread (synchronous) 3. Add custom migration Co-authored-by: thesimplekid <tsk@thesimplekid.com>
  • a335b269b7 Update ln-bits to support v1 api (#802) * feat: v1 websockets * chore: update lnbits dep
  • edae2abaf2 Merge pull request #807 from crodas/feature/rwlock-instead-of-mutex Use `RwLock` instead of `Mutex`.
  • 2e2ce0f621 Use `RwLock` instead of `Mutex`. A mutex is too aggressive when the shared object can be accessed read-only most of the time instead of requiring exclusive access.
  • 319133a088 Merge pull request #805 from thesimplekid/docker_publish fix: prevent docker publish from overwritting other arc
  • Visualizza comparazione tra questi 80 commit »

2 settimane fa

cesar ha pushato nel proto/independent-signatory in cesar/cdk

2 mesi fa