53 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
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
Lee *!* Clagett
8cf0976557 Add /get_version, based on openmonero with a few extra additions (#209) 2025-11-26 19:04:19 -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
151d3092a7 Add from_height to /import_wallet_request (#194) 2025-11-04 20:09:48 -05:00
Lee *!* Clagett
8955547536 Reconnect RMQ on publish failure (#181) 2025-10-15 12:37:10 -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
ecf30672fb Fix import_wallet_response status (#175) 2025-07-24 14:40:46 -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
cf407344e1 Fix /submit_raw_tx_response status (currently outputs 'bool') (#162) 2025-06-07 18:25:41 -04: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
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
Lee *!* Clagett
64dd5d1aa9 Add equivalent check to validate admin endpoint (#131) 2024-09-10 14:48:08 -04:00
Lee *!* Clagett
8fad87a0fe Add (non-standard) 'daemon_status' endpoint to REST API (#124) 2024-08-06 19:06:43 -04:00
Lee *!* Clagett
dca70598cb Fix max_element_count for signature inputs (#123) 2024-06-21 15:00:07 -04:00
Lee *!* Clagett
80604e8133 New accounts are 'pushed' to worker threads (#102) 2024-04-08 14:27:20 -04:00
Lee *!* Clagett
38c4999555 ZMQ Pub Spends (#101) 2024-04-08 14:26:57 -04:00
Lee *!* Clagett
fe9d861dfb Add basic REST tests and fix a few bugs (#103) 2024-04-08 14:26:39 -04:00
Lee *!* Clagett
d49cc0df9a ZMQ pub blocks (#97) 2024-04-08 14:25:53 -04:00
Lee *!* Clagett
f66943dce1 ZMQ Hardening (#96) 2024-04-08 14:25:09 -04:00
Lee *!* Clagett
ffdd8da2a9 Make arrays optional in light_wallet_server api (#95) 2024-04-08 14:23:46 -04:00
Lee *!* Clagett
351ccaa872 Basic "chain hardening" for slightly untrusted daemons (#93) 2024-04-08 14:23:35 -04:00
Lee *!* Clagett
36a8f4e003 Fix response code check for webhooks (again) (#94) 2024-04-03 21:58:04 -04:00
Lee *!* Clagett
e477c174e2 Add unit tests for chain syncing (#87) 2024-04-03 21:47:49 -04:00
Lee *!* Clagett
b4426b4a74 Add (working draft) subaddress support (#83) 2024-04-03 21:46:44 -04:00
Lee *!* Clagett
10dc4801d7 Add /validate endpoint to admin REST api (#81) 2023-11-07 15:01:52 -05:00
Lee *!* Clagett
3b35ce2845 Add RabbitMQ support for payment hooks (#80) 2023-11-07 15:01:34 -05:00
Lee *!* Clagett
aa171b77c3 Webhooks for New Accounts (#79) 2023-11-07 15:01:01 -05:00
Lee *!* Clagett
524e26e1a4 Do not exit when monerod returns json-rpc error for block fetching (#78) 2023-11-07 15:00:02 -05:00
Lee *!* Clagett
15e2be618a Add ZMQ-PUB support for webhooks (#75) 2023-11-07 14:56:21 -05:00
Lee *!* Clagett
fef3693899 Change ZMQ sub timeout (#73) 2023-11-07 14:55:52 -05:00
Lee *!* Clagett
fdbd3669a6 Add zero-confirmation support to webhooks (only) (#72) 2023-11-07 14:55:38 -05:00
Lee *!* Clagett
f827dca8d1 Add fee to get_address_txs (#74) 2023-11-07 14:55:24 -05:00
Lee *!* Clagett
e1bd9541f1 Update ::wire:: to be closer to Monero variant (#70) 2023-11-07 14:54:22 -05:00
Lee *!* Clagett
3e0555e07d Added webhook tx-confirmation support (#66) 2023-11-07 14:52:42 -05:00
Lee *!* Clagett
7b1e1e58f8 Add support for admin REST server (#62) 2023-06-10 18:52:13 -04:00
Lee *!* Clagett
c958ac7963 Added unit tests, and fixed two bugs: (#53)
* Integer conversion checks in src/wire/read.h
 * Missing "boolean" function in wire::writer and derived types
2023-06-10 18:51:29 -04:00
j-berman
04a54ea136 remove per_kb_fee 2022-07-23 12:35:40 -04:00
j-berman
271f0dcb64 Add support for view tags when scanning
- https://github.com/monero-project/monero/pull/8061
- also update import location for epee::misc_utils::get_gmt_time
2022-07-23 12:35:10 -04:00
j-berman
04c6d553c6 keep old usage of per_kb_fee functional 2022-07-23 12:34:52 -04:00
j-berman
f027c15479 per_kb_fee -> per_byte_fee (#25) 2022-07-23 12:34:42 -04:00
Lee *!* Clagett
855dfee333 Update transaction JSON to reflect daemon changes 2021-08-02 01:12:24 +00:00
Lee Clagett
1766276aad Check for JSON-RPC errors, and add better logging for it 2021-03-03 23:27:22 -05:00
Lee Clagett
01b269e3ca Use ISO-8601 format for REST-API timestamps 2021-02-23 12:17:13 -05:00
Lee Clagett
15ab3e48ed Fix builds with older gcc versions (at least 5.4.0) 2020-09-05 18:47:15 -04:00