| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
0761024 tx_memory_pool: speedup get_complement() for large requests (jeffro256)
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Changes complexity from M*N to (2*N+M)*log2(M). The FCMP++ stressnet recently hit mempool sizes of ~55k txs.
If the requesting node's mempool is populated, this results in an average of (55000*55000)/2
(about 1.5 billion) comparisons for the responding node. Under this commit, this would be reduced to
(55000+55000)*log2(55000) comparisons (about 2.6 million), a 99.83% reduction.
|
| |/ / / |
|
| |\ \ \
| | | |
| | | |
| | | | |
1e6a551 cryptonote_basic: fix add_extra_nonce_to_tx_extra() length (jeffro256)
|
| | |/ /
| | |
| | |
| | | |
Missing unit tests.
|
| |/ / |
|
| |\ \
| | |
| | |
| | | |
48252dd add getter for daemon proxy (woodser)
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
a1a106d build: prepare v0.18.4.6 (selsta)
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
54edc17 p2p: fix inverted ternary in peer list filter (selsta)
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
d4d67c4 multisig: fix kex failure in monero-gen-trusted-multisig (0xFFFC0000)
|
| | | | | | |
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
482daa7 Tweak command_line::add_arg for clang 21 (Lee *!* Clagett)
|
| | | | | | |
|
| | |/ / /
|/| | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
ec34c5b build: prepare v0.18.4.5 (selsta)
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
d8d3cf9 p2p: fix race causing dropped connections during sync (j-berman)
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Without this commit:
1) read height from DB
2) add block to chain in separate thread
3) read chain for block id's and request them from peer
4) ERR in handle_response_chain_entry, peer's first block is the
one that was added to the chain, which has block idx=height from
step 1.
This commit reads the chain for height and highest block id's
in one go while holding the m_blockchain_lock to avoid the race.
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a tx is marked as failed (because it never shows up in the
daemon's pool), its key images get reset back to unspent so they
can be used in future txs.
If the tx re-enters the daemon's pool (e.g. it's removed from the
pool and then relayed back), then the wallet incorrectly maintains
that the tx's key images are unspent.
This change ensures the wallet re-marks the tx's key images as
spent if the tx re-appears in the node's pool.
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
4e4e343 Daemon: relay empty fluffy block on found block (j-berman)
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise we can end up double counting txs towards the weight,
which can over-state the pool weight. E.g. relay tx to node in
stem phase, add its weight to pool weight, then receive tx
from another node, then bump the pool weight again. That double
counts the tx towards the pool weight.
If the weight exceeds the max, the node will "prune" txs from the
pool. Thus, over-counting is probably a cause of, but perhaps
not the only cause of:
https://github.com/seraphis-migration/monero/issues/148
|
| |\ \ \
| | | |
| | | |
| | | | |
26cf4f9 ledger: throw on secret view key export rejection (tobtoht)
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
dafecd0 cryptonote_protocol: accurate next_needed_height when there is an overlap (0xFFFC0000)
|
| | |/ / / |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
64f2d8e build: prepare v0.18.4.4 (selsta)
|
| | |/ / / |
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| |
| | | |
9239d36 wallet: identify spends in pool when scanning (j-berman)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Make sure to mark identified spends in the pool as spends. The
wallet might not know these have been spent if it wasn't the wallet
that relayed the tx to the daemon, or the wallet was cleared via
rescan_bc.
- Make sure to add spends to m_unconfirmed_txs if not present.
- Make sure to process the entire pool again if refreshing for
the first time. The wallet fetches pool and blocks at the same
time. The wallet scans blocks first, then pool. If the wallet
identifies received outputs in the chain, then it may have spent
those received outputs in the pool. So we make sure to re-process
the entire pool again after scanning the chain for the first time.
- Multisig wallets that know about spent key images can now detect
spend txs in the pool. Update tests for that.
|
| |\ \ \
| | | |
| | | |
| | | | |
09f5cbb build: prepare v0.18.4.3 (selsta)
|
| | | |/
| |/| |
|
| |\ \ \
| | | |
| | | |
| | | | |
1829992 wallet2: warn instead of throw when RingDB doesn't include spend (j-berman)
|
| | | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A reorg can end up causing an output's position in the chain to
move. Since the wallet doesn't update the RingDB on reorg, it
may refer to the output's stale position in the chain.
This seems a reasonable solution rather than introducing complex
logic to update the stale ring member's value on rerog, since
RingDB can be deprecated with FCMP++.
|
| |\ \ \
| | | |
| | | |
| | | | |
014f3cd cryptonote_basic: remove redundant call to get_transaction_hash() in overload (jeffro256)
|
| | |/ /
| | |
| | |
| | | |
Issue noticed by DataHoarder.
|
| |\ \ \
| | | |
| | | |
| | | | |
7b53197 Cleaner validation (faster and saner) (j-berman)
|
| | |/ / |
|
| |/ / |
|
| |\ \
| | |
| | |
| | | |
9a45208 Daemon RPC: add max_block_count field to /getblocks.bin (j-berman)
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
13e28ea simplewallet: batch address creation limit to match rpc (nahuhh)
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
39c7a22 Send ZMQ miner notifications after txpool additions (WeebDataHoarder)
|