Conversation
Collaborator
Author
|
Yes, after a fix (with |
Use mdb_stat on the active table instead of environment-wide statistics when estimating copy size. This prevents resizing decisions from being based on the wrong database.
Fixes the following circumstance: 1. Wallet submits tx to node. 2. Node adds tx to pool and queues for relay. 3. Node shuts off before the relay executes in the strand. 4. Node restarts. 5. Now, the fix ensures the node will re-relay the tx in the get_relayable_transactions loop. Also makes sure that stem txs don't have last_relayed_time set to max, which would prevent them from ever being re-relayed on a restart as well. Context: seraphis-migration#365 (comment)
- We select peers to relay to based on their latest known sync height. - This change: A) makes sure to update the peer's latest known sync height upon validating the peer's newly relayed blocks. B) Allows for a wider window so that if we haven't yet received the peer's block or finished validating it, then the peer can still be a valid candidate to receive our new txs.
Identified by @selsta Callers can otherwise misinterpret int -1 as truthy success, e.g. see make_payload_send_txs
Round requested LMDB map sizes upward to the next page boundary. This avoids producing incorrectly aligned map sizes when the requested size is not already page-aligned.
Display the first non-zero change address after verifying that all effective change uses the same address. Foreign change is already rejected during signing, so this only fixes misleading display. Reported by xmrack and the MAGIC Monero Fund.
Reported by zkao, a tool by zkSecurity
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>
The URI parser treats '=' as the parameter delimiter, so leaving it raw in text fields makes make_uri output fail to parse
Reported by zkao, a tool by zkSecurity
…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.
There are duplicate 'amount' headers when using export_transfers all. Column five represents the transaction total while column eleven represents the amount transferred per destination. Rename the columns without changing their order or values. (cherry picked from commit 30ab49d)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
parse_and_validate_txparam that checks blob max size before parsing #11065check_block_timestamp()overloads #11080