173 Commits

Author SHA1 Message Date
jwinterm
97877eda27 Port monero-lws to wownero-lws
Adapts monero-lws for Wownero cryptocurrency:

- Rename all monero-lws-* binaries to wownero-lws-*
- Update submodule to point to official Wownero repo
- Use Wownero default ports (RPC: 34568, ZMQ: 34569)
- Update data directory to ~/.wownero/light_wallet_server
- Adapt next_difficulty() calls for Wownero API signature

Key technical changes for Wownero compatibility:

- BulletproofPlus (RCTTypeBulletproofPlus, type 8) commitment verification:
  Wownero stores BP+ commitments in 'divided by 8' form. Must call
  rct::scalarmult8() on outPk commitment before comparing with computed
  commitment (mask*G + amount*H). This is essential for amount decryption.

- Pass rct_type to decode_amount() for proper commitment handling

- Handle Wownero's ZMQ JSON format for ecdhTuple (32-byte mask/amount fields)

No fork of Wownero is required - uses official codeberg.org/wownero/wownero.
2026-01-04 20:04:42 -05:00
Lee *!* Clagett
f2b3534002 Add EXCLUDE_FROM_ALL for monero dependency (#221) 2025-12-19 18:53:40 -05:00
Lee *!* Clagett
6c0b957e95 lookahead optimization for users that disabled subaddresses (#220) 2025-12-19 18:53:32 -05:00
Lee *!* Clagett
332c969c74 Fix divide by zero in db code (#219) 2025-12-18 10:20:02 -05:00
Lee *!* Clagett
770e3b0ca4 A few odds and ends after lookahead patch (#215) 2025-12-18 10:19:53 -05:00
Lee *!* Clagett
16111cae2c Add support for subaddress lookahead (#195) 2025-12-18 10:19:43 -05:00
everoddandeven
e8b889e95f Fix missing regtest option (#214) 2025-12-18 10:19:07 -05:00
Lee *!* Clagett
b621d088b8 Update Dockerfile unbound to 1.24.2 2025-12-04 18:04:54 -05:00
Lee *!* Clagett
506c3a871d Print version on monero-lws-daemon startup (#213) 2025-12-02 20:28:45 -05:00
Lee *!* Clagett
24bdbb43d4 Fix usage of mdb_cursor_put with invalid memory references (#210) 2025-12-01 09:00:50 -05:00
Lee *!* Clagett
8cf0976557 Add /get_version, based on openmonero with a few extra additions (#209) 2025-11-26 19:04:19 -05:00
Lee *!* Clagett
c65a1f488b Don't log MDB_NOTFOUND with subaddress lookup (#208) 2025-11-23 17:33:37 -05:00
Lee *!* Clagett
320cf03b2b Improve LMDB error logging (#205) 2025-11-19 11:00:58 -05:00
Lee *!* Clagett
f7af8d3b7a Add rabbitmq to default Dockerfile build (#206) 2025-11-18 20:15:43 -05:00
William Swanson
e08480cbc1 Logging Improvements (#198)
* Log ZMQ SUB address at startup
* Log current thread number and block height
* fixup! Log current thread number and block height
2025-11-14 13:00:43 -05:00
Lee *!* Clagett
0caec18f84 Fix locked_funds computation (#200) 2025-11-14 12:45:22 -05:00
Lee *!* Clagett
26a882965f Hopefully fix issue with db corruption (bad data size) (#199) 2025-11-13 11:14:33 -05:00
Lee *!* Clagett
151d3092a7 Add from_height to /import_wallet_request (#194) 2025-11-04 20:09:48 -05:00
everoddandeven
01374ec620 Add regtest option (#193)
Disable checkpoints check on storage::sync_chain when regtest mode is enabled
2025-11-04 20:09:22 -05:00
Lee *!* Clagett
d76a19f8a9 Drop macos-13 and add macos-15 (#192) 2025-11-03 17:30:56 -05:00
Lee *!* Clagett
73fb2f7794 Update limits for get_random_outs (#190) 2025-10-29 19:46:41 -04:00
Lee *!* Clagett
653fbfd637 Update Dockerfile to use newest unbound 2025-10-22 19:26:57 -04:00
Lee *!* Clagett
c06dd12162 Update README and set Dockerfile to perform Release builds 2025-10-17 14:53:12 -04:00
Lee *!* Clagett
3d12cc1c06 Add GH workflow for docker build and push (#186) 2025-10-17 14:53:06 -04:00
Lee *!* Clagett
8955547536 Reconnect RMQ on publish failure (#181) 2025-10-15 12:37:10 -04:00
Lee *!* Clagett
48060d1111 Add sanitizer option to build and add CI that uses it (#184) 2025-09-23 11:15:27 -04:00
Lee *!* Clagett
a11482c123 Fix ringct+coinbase output tracking, and update rescan rollbacks (#178) 2025-09-04 23:17:20 -04:00
Lee *!* Clagett
44278d0d11 Restarting on reorg is broken; fix asio::io_context::restart calls (#177) 2025-09-02 11:09:13 -04:00
Lee *!* Clagett
8d854e9bc6 Fix build (Boost::system and unit tests) (#176) 2025-09-02 11:08:58 -04:00
Lee *!* Clagett
ecf30672fb Fix import_wallet_response status (#175) 2025-07-24 14:40:46 -04:00
Lee *!* Clagett
28eb0e8fe3 Remove redundant workflows from CI 2025-07-21 12:31:38 -04:00
Lee *!* Clagett
e593fd5fb2 Add support for dynamic fees over ZMQ (#166)
* Add support for dynamic fees over ZMQ
* Fix build after upstream change
* Fix unit tests
2025-07-20 13:19:50 -04:00
Lee *!* Clagett
b63000d21a Update README.md (#173) 2025-07-20 13:19:41 -04:00
Lee *!* Clagett
d382c73b51 Add optional support for git submodule building (#172) 2025-07-20 13:19:09 -04:00
Lee *!* Clagett
448c6740f4 Set longer timeouts for requests after login (#171) 2025-06-22 19:51:00 -04:00
Lee *!* Clagett
c944a72b99 Fix template function call in unit tests (#163) 2025-06-07 18:25:49 -04:00
Lee *!* Clagett
cf407344e1 Fix /submit_raw_tx_response status (currently outputs 'bool') (#162) 2025-06-07 18:25:41 -04:00
Lee Clagett
95848bd75f Fix /get_random_outs with Boost 1.87+ 2025-06-05 13:51:52 -04:00
everoddandeven
4e85e3c828 Return lws::error::not_enough_amount when received is less than requested amount (#154) 2025-04-19 14:26:49 -04:00
Lee *!* Clagett
450fc0b2cc Remove ubuntu-20.04 runner that is no longer available (#159) 2025-04-19 14:26:42 -04:00
nahuhh
e20dc2133d readme: use $HOME and ../release folder (#158) 2025-04-19 14:26:32 -04:00
Lee *!* Clagett
b1421f55ad Fixing build (upstream ZMQ CMake changes) (#155) 2025-02-24 18:24:52 -05:00
Lee *!* Clagett
b5d0844bbd Update deprecated features removed in Boost ASIO 1.87 (#153) 2025-02-24 18:24:44 -05:00
Lee *!* Clagett
29358f1323 Switch from epee http client to boost::beast. All HTTP now non-blocking. (#150) 2025-02-24 18:24:38 -05:00
Lee *!* Clagett
66b7497a34 Update boost::asio usage to conform to newer standards: (#144)
* Convert boost::asio::io_service to boost::asio::io_context
  * Convert strand.wrap(...) to boost::asio::bind_executor(strand, ...)
  * Convert strand.dispatch(...) to boost::asio::dispatch(strand, ...)
  * Convert io_context.reset() to io_context.restart()
  * Convert null_buffers() usage to socket.async_wait(...)
  * Drop usage of GET_IO_SERVICE macro from monero
  * Refactor REST server to manage resources better
2025-02-24 18:24:31 -05:00
Lee *!* Clagett
5796dad3b8 /get_random_outs is now fully async using stackful coroutines (#142) 2025-02-24 18:23:59 -05:00
Lee *!* Clagett
ed6fde7f28 Fixing shutdown request during sync-phase (#143) 2025-02-24 18:21:58 -05:00
Lee *!* Clagett
075dc5d7c2 Switch from epee http server to boost::beast http server. Min boost 1.70 (#136)
There is roughly a 7.4% increase in performance in the switch to
boost::beast. Additionally, the REST endpoints `/daemon_status`,
`/get_unspent_outs`, and `/submit_raw_tx` do not block in ZMQ calls,
allowing for better response times regardless of `monerod` status.

The REST endpoints `/login and `/get_random_outs` still need updates
to prevent blocking (`/login` is conditional on DB state).
2025-02-24 18:21:18 -05:00
Lee *!* Clagett
8080159fc8 Fix several bugs found in new server scanner code (#146) 2025-02-24 18:12:37 -05:00
Lee *!* Clagett
cd62461578 Add support for remote scanning via custom TCP (#118) 2025-02-24 18:11:17 -05:00