Commit Graph
8786 Commits
Author SHA1 Message Date
tobtoht 9881dabff2 Merge pull request #11183
a3deaab wallet2: fix infinite loop in estimate_tx_size_and_weight on large n_outputs (Masamune)

ACKs: thomasbuilds*, selsta, plowsof, jpk68
2026-09-09 20:00:50 +00:00
tobtoht c482bc8b23 Merge pull request #11178
772d856 blockchain_utilities: fix memory safety bugs (jpk68)

ACKs: selsta, tobtoht
2026-09-09 20:00:01 +00:00
tobtoht 1577f64637 Merge pull request #11168
bc870e0 blockchain: limit offsets cache size (j-berman)

ACKs: jeffro256, selsta, jpk68, thomasbuilds, plowsof
2026-09-09 19:58:53 +00:00
tobtoht bc73a32fee Merge pull request #11123
29922e1 device_trezor: show error when device is disconnected (jpk68)

ACKs: selsta, SNeedlewoods
2026-09-09 19:57:58 +00:00
tobtoht 98889c4b1f Merge pull request #11122
617cb6a device_trezor: show error when operations are cancelled (jpk68)

ACKs: selsta, SNeedlewoods
2026-09-09 19:57:30 +00:00
tobtoht b7a89f8b88 Merge pull request #11076
1a8ca87 wallet: add pending_tx sanity checker (koe)

ACKs: j-berman, jpk68, selsta, thomasbuilds
2026-09-09 19:56:38 +00:00
tobtoht d029a08ff4 Merge pull request #11068
91d851a blockchain_db: resume interrupted pruning (Samy)

ACKs: selsta, jpk68
2026-09-09 19:53:54 +00:00
tobtoht 6b37a7e75d Merge pull request #11054
2b7ed47 cmake: add more compiler warnings (jpk68)

ACKs: SNeedlewoods*, selsta, thomasbuilds
2026-09-09 19:53:01 +00:00
tobtoht c24468b430 Merge pull request #10969
94034af blockchain_utilities: resume interrupted exports safely (Samy)

ACKs: selsta, jpk68
2026-09-09 19:52:11 +00:00
tobtoht a9e3a5a20e Merge pull request #10669
c7a2d4f crypto: reduce crypto.h header weight (jeffro256)

ACKs: selsta, jpk68
2026-09-09 19:50:28 +00:00
jeffro256 c7a2d4f66a crypto: reduce crypto.h header weight 2026-09-07 21:32:29 -05:00
Samy 91d851a85b blockchain_db: resume interrupted pruning
Initial pruning commits the pruning seed at its first checkpoint. If it is interrupted after that point, startup selects incremental pruning and leaves the historical scan unfinished.

Store the last processed transaction hash in the same transaction as each checkpoint. On restart, prune newly matured tip records, continue after the marker, and clear it with the final commit.

Databases interrupted by older binaries have no marker and still require the existing manual prune_blockchain command.
2026-09-05 16:31:39 +02:00
Samy 94034af4a2 blockchain_utilities: resume interrupted exports safely
Use the file size to distinguish a clean EOF from an incomplete trailing chunk before resuming an export

Truncate only that incomplete tail and keep malformed chunks or I/O failures non-destructive
2026-09-05 16:27:41 +02:00
koeandj-berman 1a8ca87e88 wallet: add pending_tx sanity checker
Co-authored-by: j-berman <justinberman@protonmail.com>
2026-09-04 15:42:22 -05:00
tobtoht 3d3920d748 Merge pull request #10875
773e307 simplewallet: reject donations when not on mainnet (jpk68)

ACKs: SNeedlewoods*, thomasbuilds, selsta
2026-09-03 13:34:56 +00:00
Masamune a3deaab98a wallet2: fix infinite loop in estimate_tx_size_and_weight on large n_outputs
estimate_rct_tx_size() and estimate_tx_weight() compute the Bulletproof padded
output count with `while ((1<<log_padded_outputs) < n_outputs)`, shifting a
signed int. For n_outputs > 2^30 this reaches `1 << 31` (signed overflow, UB),
and once the shift count exceeds the int width the value cycles and never
reaches n_outputs, so the loop never terminates. estimate_tx_size_and_weight()
accepts n_outputs up to INT_MAX (only negative is rejected), so a single
wallet-rpc call spins the handling thread forever.

Shift an unsigned 64-bit one and compare in uint64_t at all three shift sites,
and accumulate the estimated size in size_t (cast the per-input and per-output
terms) so the size arithmetic cannot overflow for large counts.
2026-09-03 11:45:52 +07:00
tobtoht fdb030df51 Merge pull request #11199
b93ce60 common: handle case-insensitive Content-Range (Samy)

ACKs: jpk68, selsta
2026-09-02 10:19:30 +00:00
tobtoht df8b21b153 Merge pull request #11035
eeb8245 wallet_api: reject transaction file signing with hardware wallets (selsta)

ACKs: SNeedlewoods, jpk68
2026-09-01 19:12:49 +00:00
Samy b93ce60e7a common: handle case-insensitive Content-Range 2026-09-01 20:03:12 +02:00
tobtoht 8e99188c5e Merge pull request #11194
683f539 fcmp_pp_rust: build with cargo --locked (Thomas)

ACKs: jpk68, selsta
2026-08-31 18:53:41 +00:00
tobtoht f7a927ad4a Merge pull request #11197
cd8beb7 depends: protobuf: don't use android system logging (tobtoht)

ACKs: jpk68, selsta
2026-08-31 18:39:57 +00:00
tobtoht 3bd4a991a1 Merge pull request #11179
3e35bfa src: reduce unnecessary copies/allocations (jpk68)

ACKs: selsta, jeffro256
2026-08-31 18:36:37 +00:00
tobtoht 5cde0ac62a Merge pull request #11174
ce7a081 miner: allow zero background mining sleep (Samy)

ACKs: jpk68, selsta
2026-08-31 18:21:04 +00:00
tobtoht 396c4d837c Merge pull request #11170
fd86262 simplewallet: suggest hw_reconnect on refresh (Samy)

ACKs: jpk68, selsta
2026-08-31 18:18:15 +00:00
tobtoht 5b85e2d70a Merge pull request #11121
ddf0786 simplewallet: fix crash in sweep commands when address is omitted (jpk68)

ACKs: selsta, SNeedlewoods
2026-08-31 18:17:47 +00:00
tobtoht f6fb95f0ff Merge pull request #11175
a496b49 rpc: further restrict and clean up get_transaction_pool (selsta)

ACKs: thomasbuilds, plowsof, jpk68
2026-08-31 18:16:29 +00:00
tobtoht 78fb311ebb Merge pull request #10605
59702e0 rpc: speedup block&tx RPC calls (jeffro256)

ACKs: thomasbuilds*, selsta, jpk68
2026-08-28 07:58:16 +00:00
jeffro256 59702e0275 rpc: speedup block&tx RPC calls
In RPC calls `get_blocks.bin` and `get_transactions`:
  1. Skip deserializing then re-serializing tx blobs
  2. Provide full unpruned transaction from mempool in `get_transactions` when `!req.prune`
  3. Change `on_get_transactions()` response sort time from O(N^2) to O(N)
  4. Generally improve memory usage and lookups in `on_get_transactions()`

Reviewed-by: selsta <selsta@sent.at>
Reviewed-by: j-berman <justinberman@protonmail.com>
Reviewed-by: jpk68 <jpk68@tutanota.com>
2026-08-27 15:08:57 -05:00
jpk68 3e35bfad7e src: reduce unnecessary copies/allocations 2026-08-27 15:59:55 -04:00
tobtoht e5dbb3286c Merge pull request #11169
fde06da wallet2: fix data races in refresh error handlers (Thomas)

ACKs: jpk68, selsta
2026-08-27 18:00:19 +00:00
tobtoht 9f31349249 Merge pull request #11163
6a4e1d9 simplewallet: fix show_transfer confirmations (Samy)

ACKs: jpk68, selsta
2026-08-27 17:58:40 +00:00
tobtoht a520681b90 Merge pull request #10820
0a47ee2 tests: harden RPC fuzz harness setup (selsta)

ACKs: thomasbuilds, jpk68
2026-08-27 17:57:49 +00:00
tobtoht cd8beb75b9 depends: protobuf: don't use android system logging 2026-08-26 21:39:33 +02:00
selsta 0a47ee2c94 tests: harden RPC fuzz harness setup
Initialize RPC server state used by direct handler calls,
let fuzz input choose restricted or unrestricted mode,
and skip iterations when the dummy core fails to initialize.

Also update the RPC fuzz harness documentation after removal
of the old RPC payment setup.
2026-08-26 20:23:47 +02:00
tobtoht 97345e6097 Merge pull request #11152
b7817d0 wallet2: validate key image domain in reserve proofs (selsta)

ACKs: jpk68, tobtoht
2026-08-26 18:09:14 +00:00
tobtoht 81bc3137f1 Merge pull request #11166
7835582 protocol: reduce log level for one-block sync candidates (selsta)

ACKs: jpk68, thomasbuilds
2026-08-26 18:08:11 +00:00
Thomas 683f539ab0 fcmp_pp_rust: build with cargo --locked 2026-08-26 15:04:35 +02:00
tobtoht 833c91e5db Merge pull request #11134
5066fd0 wallet2: abort in-flight daemon request on shutdown (woodser)

ACKs: amin404ala*, thomasbuilds, selsta
2026-08-26 07:33:16 +00:00
tobtoht a2174be257 Merge pull request #11141
9dc5cf5 rpc, common: remove dead code (Thomas)

ACKs: jpk68, selsta
2026-08-26 07:29:42 +00:00
tobtoht 2ff2e154d9 Merge pull request #11124
881e7a7 simplewallet: update error message (jpk68)

ACKs: SNeedlewoods, thomasbuilds, selsta
2026-08-25 19:19:14 +00:00
jpk68 772d856605 blockchain_utilities: fix memory safety bugs 2026-08-25 14:58:24 -04:00
Thomas 9dc5cf51c3 rpc, common: remove dead code 2026-08-25 19:47:08 +02:00
selsta a496b4981c rpc: further restrict and clean up get_transaction_pool 2026-08-25 19:29:30 +02:00
tobtoht 52ece983c1 Merge pull request #11142
c1df77c cryptonote_basic: remove dead code (Thomas)

ACKs: jpk68, UkoeHB
2026-08-25 16:42:23 +00:00
tobtoht ab34db1b11 Merge pull request #11146
92c8206 rpc: redact txpool age in restricted mode (selsta)
265f7b2 txpool: fix time_in_pool age calculation (selsta)

ACKs: tobtoht, jpk68
2026-08-25 16:39:10 +00:00
tobtoht 7a4645e15e Merge pull request #11150
2cec172 wallet2: fix task lifetime during parsed block processing (selsta)

ACKs: j-berman, jpk68
2026-08-25 16:37:20 +00:00
tobtoht f8b9faed89 Merge pull request #11156
f320abd p2p: use connection state to detect duplicate handshakes (selsta)

ACKs: j-berman, jpk68
2026-08-25 16:34:00 +00:00
tobtoht 94dd676e34 Merge pull request #11158
b51e8d4 lmdb: refine batch size estimation (selsta)

ACKs: j-berman, jpk68
2026-08-25 16:33:27 +00:00
woodser 5066fd05f1 wallet2: abort in-flight daemon request on shutdown 2026-08-25 07:11:53 -04:00
tobtoht b5f1886d08 Merge pull request #10865
894fd06 wallet: export generated key images (Samy)

ACKs: selsta, jpk68
2026-08-25 06:51:15 +00:00