Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-03-17 | verRctNonSemanticsSimpleCached: fix fragility | Jeffrey Ryan | 5 | -73/+279 | |
2023-03-07 | Enforce restricted # pool txs served via RPC + optimize chunked reqs | j-berman | 5 | -37/+74 | |
- `/getblocks.bin` respects the `RESTRICTED_TX_COUNT` (=100) when returning pool txs via a restricted RPC daemon. - A restricted RPC daemon includes a max of `RESTRICTED_TX_COUNT` txs in the `added_pool_txs` field, and returns any remaining pool hashes in the `remaining_added_pool_txids` field. The client then requests the remaining txs via `/gettransactions` in chunks. - `/gettransactions` no longer does expensive no-ops for ALL pool txs if the client requests a subset of pool txs. Instead it searches for the txs the client explicitly requests. - Reset `m_pool_info_query_time` when a user: (1) rescans the chain (so the wallet re-requests the whole pool) (2) changes the daemon their wallets points to (a new daemon would have a different view of the pool) - `/getblocks.bin` respects the `req.prune` field when returning pool txs. - Pool extension fields in response to `/getblocks.bin` are optional with default 0'd values. | |||||
2023-02-26 | Add a size limit for tx_extra in tx pool | tevador | 2 | -0/+11 | |
2023-01-09 | Refactored rx-slow-hash.c | SChernykh | 4 | -43/+41 | |
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)` - Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens - `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance) - New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification) - When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then) - When mining is running, PoW checks now also use dataset for faster verification | |||||
2022-12-30 | wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to 1 call | rbrunner7 | 4 | -19/+258 | |
2022-12-22 | common: move boost_serialization_helper.h out and cleanup includes | Jeffrey Ryan | 2 | -2/+0 | |
2022-12-20 | Cache successful `verRctNonSemanticsSimple` calls | SChernykh | 1 | -1/+1 | |
2022-09-22 | Move update_checkpoints() to a later stage | SChernykh | 1 | -4/+0 | |
update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking. | |||||
2022-09-20 | Second thread pool for IO | SChernykh | 2 | -3/+3 | |
2022-09-12 | wallet2: check wallet compatibility with daemon's hard fork version | j-berman | 1 | -0/+7 | |
2022-09-06 | rpc: skip bootstrap nodes that are lower than last checkpoint | selsta | 3 | -0/+18 | |
2022-08-19 | blockchain: fix invalid memory read getting fee on empty chain | Crypto City | 1 | -1/+1 | |
2022-07-26 | Fixed get_block_template_backlog performance | SChernykh | 2 | -17/+56 | |
Before the fix, it processed all transactions in the mempool which could be very slow when mempool grows to several MBs in size. I observed `get_block_template_backlog` taking up to 15 seconds of CPU time under high mempool load. After the fix, only transactions that can potentially be mined in the next block will be processed (a bit more than the current block median weight). | |||||
2022-07-21 | Publish submitted txs via zmq | j-berman | 4 | -5/+67 | |
2022-07-13 | build: prepare v0.18.0.0 | selsta | 1 | -1/+1 | |
2022-07-01 | continue pool pruning even if a tx can't be found | j-berman | 2 | -5/+31 | |
2022-06-30 | multisig: fix critical vulnerabilities in signing | anon | 3 | -21/+11 | |
2022-05-12 | fix backoff delay logic when re-relaying txs | j-berman | 1 | -4/+4 | |
2022-04-18 | Bump ring size to 16 for v15 & remove set default in wallet cli | j-berman | 1 | -9/+15 | |
2022-04-18 | Add view tags to outputs to reduce wallet scanning time | j-berman | 5 | -32/+62 | |
Implements view tags as proposed by @UkoeHB in MRL issue https://github.com/monero-project/research-lab/issues/73 At tx construction, the sender adds a 1-byte view tag to each output. The view tag is derived from the sender-receiver shared secret. When scanning for outputs, the receiver can check the view tag for a match, in order to reduce scanning time. When the view tag does not match, the wallet avoids the more expensive EC operations when deriving the output public key using the shared secret. | |||||
2022-04-10 | Fee changes from ArticMine | moneromooo-monero | 2 | -7/+146 | |
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf with a change to use 1.7 instead of 2.0 for the max long term increase rate | |||||
2022-04-06 | CMake: Add missing headers via monero_find_all_headers macro | mj-xmr | 1 | -7/+1 | |
2022-04-05 | plug bulletproofs plus into consensus | moneromooo-monero | 2 | -5/+53 | |
2022-03-10 | Remove footgun doc comment in miner TX validation | Luke Parker | 1 | -3/+0 | |
This comment suggests this check is unnecessary, when it is completely necessary as miner TXs can have multiple outputs *which is a statement directly, and incorrectly, contradicted by this comment*. While I don't ever see someone removing this code and getting their edits merged into Monero, someone inexperienced who thinks they're cleaning old code may break their own work, and then there's really just zero benefit to keeping this around. | |||||
2022-03-04 | Compil. time: cryptonote_core minus portable_storage header | mj-xmr | 1 | -1/+0 | |
2022-03-04 | Copyright: Update to 2022 | mj-xmr | 13 | -13/+13 | |
2022-02-22 | multisig key exchange update and refactor | koe | 1 | -1/+0 | |
2021-11-20 | Add calcpow RPC | Howard Chu | 2 | -4/+11 | |
Calculate PoW hash for a block candidate | |||||
2021-11-16 | cryptonote_core: fix unused lambda warning | selsta | 1 | -1/+1 | |
2021-11-01 | tx_pool: full tx revalidation on fork boundaries | moneromooo-monero | 2 | -45/+64 | |
avoids mining txes after a fork that are invalid by this fork's rules, but were valid by the previous fork rules at the time they were verified and added to the txpool. | |||||
2021-10-11 | blockchain: fix pedantic assert | selsta | 1 | -0/+2 | |
2021-09-11 | RPC and ZeroMQ APIs to support p2pool | SChernykh | 7 | -9/+174 | |
Adds the following: - "get_miner_data" to RPC API - "json-miner-data" to ZeroMQ subscriber contexts Both provide the necessary data to create a custom block template. They are used by p2pool. Data provided: - major fork version - current height - previous block id - RandomX seed hash - network difficulty - median block weight - coins mined by the network so far - mineable mempool transactions | |||||
2021-08-20 | daemon: allow proxy configuration | anon | 2 | -3/+6 | |
Co-authored-by: selsta <selsta@sent.at> Co-authored-by: tobtoht <thotbot@protonmail.com> | |||||
2021-06-20 | doc: update IRC references to Libera | fdov | 1 | -1/+1 | |
2021-05-08 | Warnings: unused variable in core/blockchain.cpp | mj-xmr | 1 | -1/+1 | |
2021-05-02 | Warnings: unused var at cryptonote_tx_utils.cpp | mj-xmr | 1 | -1/+3 | |
2021-04-26 | blockchain: speed up repeated pops (mostly in tests) | moneromooo-monero | 1 | -1/+4 | |
The heavy rolling median reset only has to be performed after all blocks are popped | |||||
2021-04-16 | Revert "Merge pull request #7136" | luigi1111 | 1 | -1/+0 | |
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f. | |||||
2021-03-28 | Reduce compilation time of epee/portable_storage_template_helper.h | mj-xmr | 1 | -0/+2 | |
2021-03-18 | core: speed up print_coinbase_tx_sum | moneromooo-monero | 4 | -12/+14 | |
It only needs to parse the tx headers, not the full tx data | |||||
2021-03-05 | fix serialization being different on mac | moneromooo-monero | 1 | -2/+2 | |
On Mac, size_t is a distinct type from uint64_t, and some types (in wallet cache as well as cold/hot wallet transfer data) use pairs/containers with size_t as fields. Mac would save those as full size, while other platforms would save them as varints. Might apply to other platforms where the types are distinct. There's a nasty hack for backward compatibility, which can go after a couple forks. | |||||
2021-02-09 | Remove unused variables in monero codebase | Kevin Barbour | 2 | -3/+0 | |
There are quite a few variables in the code that are no longer (or perhaps never were) in use. These were discovered by enabling compiler warnings for unused variables and cleaning them up. In most cases where the unused variables were the result of a function call the call was left but the variable assignment removed, unless it was obvious that it was a simple getter with no side effects. | |||||
2021-01-28 | Remove copies from foreach loops (thanks to Clang) | Lee Clagett | 2 | -2/+2 | |
2021-01-19 | Remove payload copy in all outgoing p2p messages | Lee Clagett | 1 | -0/+1 | |
2021-01-16 | Remove payload copy in all outgoing p2p messages | Lee Clagett | 1 | -0/+1 | |
2021-01-02 | blockchain: lock access to m_blocks_hash_of_hashes | moneromooo-monero | 1 | -0/+2 | |
it is accessed both when adding and when prevalidating a set of new hashes from a peer | |||||
2020-12-31 | protocol: more sanity checks in new chain block hashes | moneromooo-monero | 4 | -6/+28 | |
2020-12-29 | rpc: limit the number of txes for get_blocks.bin | moneromooo-monero | 4 | -8/+9 | |
2020-11-25 | cryptonote_core: dandelion - use local height or median height if syncing | xiphon | 3 | -3/+16 | |
2020-11-17 | Change Dandelion++ fluff probability to 20%, and embargo timeout to 39s | Lee Clagett | 1 | -2/+2 | |
A 20% fluff probability increases the precision of a spy connected to every node by 10% on average, compared to a network using 0% fluff probability. The current value (10% fluff) should increase precision by ~5% compared to baseline. This decreases the expected stem length from 10 to 5. The embargo timeout was therefore lowered to 39s; the fifth node in a stem is expected to have a 90% chance of being the first to timeout, which is the same probability we currently have with an expected stem length of 10 nodes. | |||||
2020-11-15 | Fix timeout checks for forwarded and Dandelion++ stem txes | Lee Clagett | 4 | -9/+46 | |
2020-10-20 | blockchain: remove some dead code | moneromooo-monero | 1 | -8/+0 | |
This is already done | |||||
2020-10-20 | Make Blockchain::get_fee_quantization_mask() compile time | SChernykh | 2 | -14/+5 | |
This also removes potential thread safety bug in that function. | |||||
2020-10-19 | cryptonote_core: Fix missing override warnings | Nathan Dorfman | 1 | -2/+2 | |
2020-10-18 | blockchain: fix sync at v14 boundary | moneromooo-monero | 1 | -3/+15 | |
Miners with MLSAG txes which they'd already verified included a couple in that block, but the consensus rules had changed in the meantime, so that block is technically invalid and any node which did not already have those two txes in their txpool could not sync. Grandfather them in, since it has no effect in practice. | |||||
2020-10-12 | tx_pool: silence spammy harmless warning till we fix the bug | moneromooo-monero | 1 | -1/+4 | |
2020-10-12 | Dandelion++: skip desynced peers in stem phase | xiphon | 2 | -1/+2 | |
2020-09-15 | blockchain: deterministic UNIX time unlock checks | moneromooo-monero | 2 | -28/+64 | |
Based on a patch by TheCharlatan <seb.kung@gmail.com> | |||||
2020-09-14 | build: prepare v0.17 | selsta | 1 | -1/+1 | |
2020-09-07 | blockchain: fix pow skipping for old blocks without precalc hash | moneromooo-monero | 1 | -1/+1 | |
2020-09-01 | threadpool: guard against exceptions in jobs, and armour plating | moneromooo-monero | 2 | -10/+14 | |
Those would, if uncaught, exit run and leave the waiter to wait indefinitely for the number of active jobs to reach 0 | |||||
2020-08-27 | functional_tests: add a large (many randomx epochs) p2p reorg test | moneromooo-monero | 1 | -4/+35 | |
2020-08-27 | core: fix mining from a block that's not the current top | moneromooo-monero | 6 | -22/+66 | |
2020-08-27 | Integrate CLSAGs into monero | moneromooo-monero | 2 | -4/+55 | |
They are allowed from v12, and MLSAGs are rejected from v13. | |||||
2020-08-21 | enforce claiming maximum coinbase amount | moneromooo-monero | 1 | -2/+2 | |
Claiming a slightly lesser amount does not yield the size gains that were seen pre rct, so this closes a fingerprinting vector | |||||
2020-08-17 | Avoid some temporary strings when reading off the database | moneromooo-monero | 3 | -17/+17 | |
2020-08-16 | Fix build with Boost 1.74 | moneromooo-monero | 1 | -0/+3 | |
Thanks iDunk for testing | |||||
2020-07-30 | blockchain: guard against exceptions in add_new_block/children | moneromooo-monero | 1 | -0/+11 | |
Reporter requested credit to be given to Decred | |||||
2020-07-24 | Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command | rbrunner7 | 1 | -3/+2 | |
2020-07-09 | tx_pool: mine stem txes in fake chain mode | moneromooo-monero | 3 | -6/+14 | |
This fixes the functional tests, since txes would not be mined after being sent to the daemon (they'd be waiting for the dandelion timeout first) | |||||
2020-07-08 | blockchain: fix timestamp/difficulty cache getting out of sync | moneromooo-monero | 2 | -1/+17 | |
The cache is discarded when a block is popped, but then gets rebuilt when the difficulty for next block is requested. While this is all properly locked, it does not take into account the delay caused by a database transaction being only committed (and thus its effects made visible to other threads) later on, which means another thread could request difficulty between the pop and the commit, which would end up using stale database view to build the cache, but that cache would not be invalidated again when the transaction gets committed, which would cause the cache to not match the new database data. To fix this, we now keep track of when the cache is invalidated so we can invalidate it again upon database transaction commit to ensure it gets calculated again with fresh data next time it is nedeed. | |||||
2020-06-14 | avoid a couple needless copies | moneromooo-monero | 1 | -1/+1 | |
2020-06-12 | Fix D++ block template check | Lee Clagett | 1 | -1/+1 | |
2020-06-09 | daemon: guard against rare 'difficulty drift' bug with checkpoints and ↵ | stoffu | 4 | -0/+146 | |
recalculation On startup, it checks against the difficulty checkpoints, and if any mismatch is found, recalculates all the blocks with wrong difficulties. Additionally, once a week it recalculates difficulties of blocks after the last difficulty checkpoint. | |||||
2020-06-05 | blockchain: fix total_height in getblocks.bin response | moneromooo-monero | 1 | -0/+1 | |
2020-05-19 | cryptonote_core: remove "We are most likely forked" message | moneromooo-monero | 2 | -36/+0 | |
It's time based and we don't have forks every 6 months anymore | |||||
2020-05-17 | blockchain: detect and log bad difficulty calculations | moneromooo-monero | 1 | -5/+72 | |
2020-05-15 | Add randomized delay when forwarding txes from i2p/tor -> ipv4/6 | Lee Clagett | 2 | -10/+54 | |
2020-05-13 | build: prepare v0.16.0.0 release | selsta | 1 | -1/+1 | |
2020-05-13 | blockchain: fix theoretical race getting bulk timestamps | moneromooo-monero | 1 | -0/+1 | |
2020-05-06 | Update copyright year to 2020 | SomaticFanatic | 13 | -13/+13 | |
Update copyright year to 2020 | |||||
2020-05-06 | cryptonote_core: take out the time based upgrade warning | moneromooo-monero | 1 | -2/+0 | |
It doesn't really work anymore since we don't have a fork soon | |||||
2020-05-04 | Adding ZMQ/Pub support for txpool_add and chain_main events | Lee Clagett | 4 | -16/+77 | |
2020-04-29 | txpool.cpp: rename var to fix for old g++ version (xenial default) | Sumo Gr | 1 | -2/+2 | |
2020-04-24 | Used legacy category to match insert_key_images behavior | Lee Clagett | 1 | -1/+1 | |
2020-04-22 | cryptonote: fix reuse of non default tx data when relaying | moneromooo-monero | 1 | -1/+1 | |
An automatic tx variable is initialized properly on the first run through the loop, but not the second. Moving the variable inside the loop ensures the ctor is called again to init it. | |||||
2020-04-20 | cryptonote_core: skip dns checkpoints on startup if not enforced | xiphon | 2 | -4/+5 | |
2020-04-08 | Add timelock verification on device | cslashm | 1 | -1/+1 | |
2020-03-30 | Always reject duplicate key-images from second txid | Lee Clagett | 2 | -12/+16 | |
2020-03-30 | Allow unrestricted rpc calls to get full txpool info | Lee Clagett | 2 | -6/+8 | |
2020-03-26 | Adding Dandelion++ support to public networks: | Lee Clagett | 2 | -32/+88 | |
- New flag in NOTIFY_NEW_TRANSACTION to indicate stem mode - Stem loops detected in tx_pool.cpp - Embargo timeout for a blackhole attack during stem phase | |||||
2020-03-22 | protocol: request txpool contents when synced | moneromooo-monero | 4 | -0/+53 | |
A newly synced Alice sends a (typically quite small) list of txids in the local tpxool to a random peer Bob, who then uses the existing tx relay system to send Alice any tx in his txpool which is not in the list Alice sent | |||||
2020-03-20 | p2p: remove old debug commands | Aaron Hook | 2 | -21/+0 | |
2020-03-14 | Correct key image check in tx_pool | Lee Clagett | 1 | -16/+7 | |
2020-03-12 | core: move the LockedTXN class out of txpool so it may be reused | moneromooo-monero | 1 | -30/+12 | |
for example, in the RPC server | |||||
2020-02-27 | blockchain_db: faster fetching of consecutive txes | moneromooo-monero | 1 | -30/+2 | |
Useful for wallet refresh or node sync | |||||
2020-02-19 | cryptonote_core: skip block notify on blockchain switching rollback | xiphon | 2 | -10/+20 | |
2020-02-17 | remove empty statements | Interchained | 2 | -3/+3 | |
Cleaning up a little around the code base. | |||||
2020-02-12 | tx_pool: catch theoretical error in get_block_reward | moneromooo-monero | 1 | -1/+5 | |
Coverity 196626 | |||||
2020-02-10 | core: mention time being off in hash rate changes message | moneromooo-monero | 1 | -1/+1 | |
2020-01-14 | wallet: reroll fake outs selection on local tx_sanity_check failure | xiphon | 2 | -9/+13 | |
2020-01-09 | Fix check_fee() discrepancy. | UkoeHB | 1 | -2/+2 | |
M100 = max{300kb, min{100block_median, m_long_term_effective_median_block_weight}} not M100 = max{300kb, m_long_term_effective_median_block_weight} Fix base reward in get_dynamic_base_fee_estimate(). get_dynamic_base_fee_estimate() should match check_fee() Fee is calculated based on block reward, and the reward penalty takes into account 0.5*max_block_weight (both before and after HF_VERSION_EFFECTIVE_SHORT_TERM_MEDIAN_IN_PENALTY). Moved median calculation according to best practice of 'keep definitions close to where they are used'. | |||||
2019-12-14 | blockchain: fix flushing txes from the txpool | moneromooo-monero | 1 | -1/+1 | |
2019-12-12 | print_coinbase_tx_sum now supports 128 bits sums | moneromooo-monero | 2 | -5/+5 | |
The tail emission will bring the total above 64 bits | |||||
2019-12-02 | rpc: add bad-blocks to flush_cache RPC | moneromooo-monero | 4 | -0/+21 | |
Flushes m_invalid_blocks in Blockchain. | |||||
2019-11-15 | blockchain: speedup fetching pruned contiguous tx blobs | moneromooo-monero | 1 | -3/+10 | |
About twice as fast, very roughly | |||||
2019-11-13 | simplewallet: noob-friendly help menu | wowario | 1 | -2/+3 | |
2019-11-12 | blockchain: error out if the builtin hashes data size is wrong | moneromooo-monero | 1 | -1/+6 | |
2019-11-04 | Change to Tx diffusion (Dandelion++ fluff) instead of flooding | Lee Clagett | 2 | -18/+2 | |
2019-11-02 | Adding support for hidden (anonymity) txpool | Lee Clagett | 7 | -205/+334 | |
2019-11-02 | Merge pull request #6079 | Riccardo Spagni | 1 | -1/+1 | |
e4d1674e8 0.15.0.0 release engineering (Riccardo Spagni) | |||||
2019-11-02 | 0.15.0.0 release engineering | Riccardo Spagni | 1 | -1/+1 | |
2019-11-01 | Add a --keep-fakechain option to keep fakechain databases | JamesWrigley | 1 | -1/+8 | |
This is handy when doing tests that generate a lot of transactions, since that takes time it's preferable to re-use the database for future runs. | |||||
2019-10-31 | cryptonote: untangle dependency from miner to blockchain | moneromooo-monero | 2 | -2/+6 | |
It causes link errors at least on mac | |||||
2019-10-31 | cryptonote: untangle dependency from miner to blockchain | moneromooo-monero | 2 | -2/+6 | |
It causes link errors at least on mac | |||||
2019-10-29 | blockchain: fix comment wrongly refering to SHA-3 rather than Keccak | moneromooo-monero | 1 | -1/+1 | |
2019-10-29 | tx_pool: fix error message assuming incorrectly | moneromooo-monero | 1 | -2/+2 | |
2019-10-28 | core: point out when we hit the block rate visibility limit | moneromooo-monero | 1 | -2/+3 | |
2019-10-27 | blockchain: fix unwanted error when probing the pool for a tx | moneromooo-monero | 1 | -2/+11 | |
2019-10-27 | blockchain: fix unwanted error when probing the pool for a tx | moneromooo-monero | 1 | -2/+11 | |
2019-10-25 | rpc: add a flush_cache RPC | moneromooo-monero | 2 | -0/+13 | |
This allows flushing internal caches (for now, the bad tx cache, which will allow debugging a stuck monerod after it has failed to verify a transaction in a block, since it would otherwise not try again, making subsequent log changes pointless) | |||||
2019-10-25 | tx_pool: fix divide by 0 in log | moneromooo-monero | 1 | -1/+1 | |
Coverity 205394 | |||||
2019-10-21 | Support median block size > 4 GB | moneromooo-monero | 1 | -8/+3 | |
add a 128/64 division routine so we can use a > 32 bit median block size in calculations | |||||
2019-10-16 | blockchain: initialize pow to ff..ff | moneromooo-monero | 1 | -2/+4 | |
as a safety to reject if it somehow does not get initialised | |||||
2019-10-11 | blockchain: use effective median block weight for penalty from v12 | moneromooo-monero | 1 | -3/+12 | |
It was using the raw block weight median, which was not what was intended in ArticMine's design | |||||
2019-10-11 | tx_pool: do not divide by 0 | moneromooo-monero | 1 | -2/+2 | |
In case of a 0 tx weight, we use a placeholder value to insert in the fee-per-byte set. This is used for pruning and mining, and those txes are pruned, so will not be too large, nor added to the block template if mining, so this is safe. CID 204465 | |||||
2019-10-11 | cryptonote: don't leave block_weight uninitialized | moneromooo-monero | 1 | -0/+1 | |
CID 204467 | |||||
2019-10-10 | blockchain: fill in cumulative block weight for alt blocks | moneromooo-monero | 3 | -0/+86 | |
2019-10-10 | cryptonote: fill in tx weight when syncing from pruned blocks | moneromooo-monero | 1 | -5/+1 | |
2019-10-06 | tx_pool: make spent return-by-reference as intended | stoffu | 2 | -2/+2 | |
2019-10-03 | Add hmac over encrypted value during transaction | cslashm | 1 | -15/+19 | |
2019-09-28 | blockchain: tweak fee as a function of median values | moneromooo-monero | 1 | -1/+2 | |
Use the lesser of the short and long terms medians, rather then the long term median alone From ArticMine: I found a bug in the new fee calculation formula with using only the long term median It actually needs to be the lesser of the long term median and the old (modified short term median) short term median with the last 10 blocks calculated as empty Yes the issue occurs if there is a large long term median and, the short term median then falls and tries to then rise again The fees are could be not high enough for example LTM and STM rise to say 2000000 bytes STM falls back to 300000 bytes Fees are now based on 2000000 bytes until LTM also falls So the STM is could prevented from rising back up STM short term median LTM long term median | |||||
2019-09-27 | monerod can now sync from pruned blocks | moneromooo-monero | 6 | -89/+314 | |
If the peer (whether pruned or not itself) supports sending pruned blocks to syncing nodes, the pruned version will be sent along with the hash of the pruned data and the block weight. The original tx hashes can be reconstructed from the pruned txes and theur prunable data hash. Those hashes and the block weights are hashes and checked against the set of precompiled hashes, ensuring the data we received is the original data. It is currently not possible to use this system when not using the set of precompiled hashes, since block weights can not otherwise be checked for validity. This is off by default for now, and is enabled by --sync-pruned-blocks | |||||
2019-09-25 | RandomX integration | Howard Chu | 5 | -6/+119 | |
Support RandomX PoW algorithm | |||||
2019-09-25 | ban peers sending bad pow outright | moneromooo-monero | 1 | -0/+2 | |
PoW is expensive to verify, so be strict | |||||
2019-09-19 | core: move hardforks into its own lib | moneromooo-monero | 4 | -133/+7 | |
So it can be used by others without encumbrance | |||||
2019-09-17 | blockchain: enforce 10 block age for spending outputs | moneromooo-monero | 1 | -0/+10 | |
Some custom wallet code apparently ignores this, which causes users of that code to be fingerprinted | |||||
2019-09-16 | Properly format multiline logs | moneromooo-monero | 1 | -1/+1 | |
As a side effect, colouring on Windows should now work regardless of version | |||||
2019-09-16 | Removed Berkeley DB and db switching logic | Jesus Ramirez | 2 | -5/+4 | |
2019-09-11 | blockchain: keep block template timestamp not below recent median | moneromooo-monero | 1 | -1/+3 | |
Such a template would yield an invalid block, though would require an attacker to have mined a long blockchain with drifting times (assuming the miner's clock is roughly correct) Fixed by crCr62U0 | |||||
2019-09-02 | Changed the use of boost:value_initialized for C++ list initializer | Jesus Ramirez | 3 | -13/+13 | |
2019-08-28 | blockchain: fix logging bad number of blocks if first one fails | moneromooo-monero | 1 | -2/+3 | |
2019-08-28 | Fix bug in mempool get_transaction_stats histogram calculation | Tom Smeding | 1 | -3/+10 | |
The 98th percentile position in the agebytes map was incorrectly calculated: it assumed the transactions in the mempool all have unique timestamps at second-granularity. This commit fixes this by correctly finding the right cumulative number of transactions in the map suffix. This bug could lead to an out-of-bounds write in the rare case that all transactions in the mempool were received (and added to the mempool) at a rate of at least 50 transactions per second. (More specifically, the number of *unique* receive_time values, which have second- granularity, must be at most 2% of the number of transactions in the mempool for this crash to trigger.) If this condition is satisfied, 'it' points to *before* the agebytes map, 'delta' gets a nonsense value, and the value of 'i' in the first stats.histo-filling loop will be out of bounds of stats.histo. | |||||
2019-08-26 | core: make the "update probably needed soon" message less scary | moneromooo-monero | 1 | -4/+4 | |
2019-08-19 | blockchain: reject rct signatures in coinbase txes from v12 | moneromooo-monero | 1 | -0/+7 | |
2019-08-19 | core: from v12, require consistent ring size for mixable txes | moneromooo-monero | 1 | -8/+23 | |
We're supposed to have a fixed ring size now Already checked by MLSAG verification, but here seems more intuitive | |||||
2019-08-19 | blockchain: forbid v1 coinbase from v12 | moneromooo-monero | 2 | -5/+9 | |
2019-08-18 | blockchain: Fix alt chain generated coins overflow | iamamyth | 1 | -1/+2 | |
Apply the overflow logic used for computing already_generated_coins in the main chain to alternative chains. | |||||
2019-08-15 | Replace std::random_shuffle with std::shuffle | Tom Smeding | 1 | -1/+1 | |
According to [1], std::random_shuffle is deprecated in C++14 and removed in C++17. Since std::shuffle is available since C++11 as a replacement and monero already requires C++11, this is a good replacement. A cryptographically secure random number generator is used in all cases to prevent people from perhaps copying an insecure std::shuffle call over to a place where a secure one would be warranted. A form of defense-in-depth. [1]: https://en.cppreference.com/w/cpp/algorithm/random_shuffle | |||||
2019-07-18 | update checkpoints.dat hash | Riccardo Spagni | 1 | -1/+1 | |
2019-07-15 | improve tx_sanity_check clarification | vicsn | 1 | -2/+2 | |
2019-07-15 | Remove unused txs member in NOTIFY_RESPONSE_GET_OBJECT | Doyle | 1 | -2/+0 | |
2019-07-10 | wallet: provide original address for outgoing transfers | xiphon | 1 | -0/+15 | |
2019-07-03 | Remove unnecessary m_check_txin_table, fix const correctness | Martijn Otto | 2 | -43/+12 | |
2019-06-19 | tx_sanity_check: relax the median check a lot | moneromooo-monero | 1 | -1/+1 | |
we don't want to prevent bona fide txes, just obvious bad ones | |||||
2019-06-17 | core: fix --prune-blockchain not pruning if no blockchain exists | moneromooo-monero | 1 | -1/+1 | |
2019-06-16 | blockchain: silence an error getting blocks for pruned nodes | moneromooo-monero | 1 | -4/+8 | |
This happens often when a pre-pruning node asks a pruned node for data it does not have | |||||
2019-06-14 | prep for 0.14.1 release | Riccardo Spagni | 1 | -1/+1 | |
2019-06-13 | core: do not complain about low block rate if disconnected | moneromooo-monero | 1 | -1/+1 | |
In that case, we'll still keep the "Monero is now disconnected from the network" near the end of the log | |||||
2019-06-12 | tx_sanity_check: don't print an error when not enough outs to check | moneromooo-monero | 1 | -1/+1 | |
2019-05-29 | Unused private member m_miner_address | Jesus Ramirez | 2 | -2/+0 | |
2019-05-28 | core: update pruning if using --prune-blockchain on a pruned blockchain | moneromooo-monero | 1 | -1/+7 | |
Avoids a massive amount of spurious warnings if the last update before the daemon exited was a while ago and the daemon was syncing | |||||
2019-05-26 | blockchain: do not try to pop blocks down to the genesis block | moneromooo-monero | 1 | -0/+3 | |
2019-05-25 | core: do not commit half constructed batch db txn | moneromooo-monero | 3 | -14/+35 | |
2019-05-19 | Fix #5553 | Howard Chu | 1 | -1/+2 | |
Make sure the tip hash still matches the cached block | |||||
2019-05-09 | daemon: sort alt chains by height | moneromooo-monero | 2 | -4/+4 | |
2019-05-08 | blockchain: keep alternative blocks in LMDB | moneromooo-monero | 3 | -93/+140 | |
Alternative blocks are cleared on startup unless --keep-alt-blocks is passed on the command line | |||||
2019-05-02 | blockchain: keep a rolling long term block weight median | moneromooo-monero | 2 | -33/+36 | |
2019-05-01 | fix wide difficulty conversion with some versions of boost | moneromooo-monero | 1 | -2/+2 | |
2019-04-29 | remove unused code | moneromooo-monero | 1 | -6/+2 | |
2019-04-29 | add a few checks where it seems appropriate | moneromooo-monero | 1 | -0/+2 | |
2019-04-23 | consensus: from v12, enforce >= 2 outputs | moneromooo-monero | 1 | -0/+13 | |
2019-04-23 | tx_sanity_check: relax uniqueness check a bit | moneromooo-monero | 1 | -2/+2 | |
It triggers easily on testnet | |||||
2019-04-15 | rpc: fix get_block_hashes.bin from wallet on pruned blockchain | moneromooo-monero | 2 | -6/+11 | |
We want to get all blocks here, even pruned ones | |||||
2019-04-15 | blockchain: lock the blockchain while pruning | moneromooo-monero | 1 | -0/+4 | |
2019-04-14 | blockchain_db: fix db txn ending too early | moneromooo-monero | 1 | -29/+23 | |
The db txn in add_block ending caused the entire overarching batch txn to stop. Also add a new guard class so a db txn can be stopped in the face of exceptions. Also use a read only db txn in init when the db itself is read only, and do not save the max tx size in that case. | |||||
2019-04-12 | rpc: new sanity check on relayed transactions | moneromooo-monero | 3 | -0/+138 | |
This will weed out some transactions with silly rings | |||||
2019-04-11 | functional_tests: add more blockchain related tests | moneromooo-monero | 4 | -68/+164 | |
Related to emission, reorgs, getting tx data back, output distribution and histogram | |||||
2019-04-09 | blockchain: remove unused calc of short_term_constraint | stoffu | 1 | -1/+0 | |
2019-04-07 | core: don't check block rate nor fork time in regtest mode | moneromooo-monero | 1 | -1/+4 | |
2019-04-05 | cryptonote: rework block blob size sanity check | moneromooo-monero | 2 | -8/+24 | |
Use the actual block weight limit, assuming that weight is always greater or equal to size | |||||
2019-04-01 | blockchain: some debug info when adding txes-from-block fails | moneromooo-monero | 1 | -0/+2 | |
2019-04-01 | Allow pruning before v10 | moneromooo-monero | 1 | -6/+0 | |
This check is now not needed anymore, and would prevent people from using --prune-blockchain when starting a new sync | |||||
2019-03-30 | blockchain: fix returned height in create_block_template | moneromooo-monero | 2 | -3/+6 | |
It's now needed for CNv4, and was not retained when cached | |||||
2019-03-28 | blockchain: incremental long term block weight cache | moneromooo-monero | 1 | -0/+22 | |
2019-03-28 | blockchain: simple cache for the long term block weights | moneromooo-monero | 2 | -0/+24 | |
2019-03-28 | Add support for V11 protocol with BulletProofV2 and short amount. | cslashm | 1 | -0/+7 | |
New scheme key destination contrfol Fix dummy decryption in debug mode | |||||
2019-03-25 | cryptonote: block parsing + hash calculation speedup | moneromooo-monero | 2 | -5/+8 | |
This saves a duplicate serialization step | |||||
2019-03-25 | blockchain: avoid unneeded block copy | moneromooo-monero | 1 | -1/+2 | |
2019-03-25 | save some database calls when getting top block hash and height | moneromooo-monero | 1 | -0/+1 | |
2019-03-25 | Avoid repeated (de)serialization when syncing | moneromooo-monero | 1 | -2/+1 | |
2019-03-25 | core: improve block rate monitor trigger probabilities | moneromooo-monero | 1 | -1/+17 | |
The original intent of one false positive a week on average was not met, since what we really want is not the probability of having N blocks in T seconds, but either N blocks of fewer in T seconds, or N blocks or more in T seconds. Some of this could be cached since it calculates the same fairly complex floating point values, but it seems pretty fast already. | |||||
2019-03-24 | Make difficulty 128 bit instead of 64 bit | moneromooo-monero | 2 | -3/+7 | |
Based on Boolberry work by: jahrsg <jahr@jahr.me> cr.zoidberg <crypto.zoidberg@gmail.com> | |||||
2019-03-21 | cryptonote: fix calculating coinbase tx hash | moneromooo-monero | 1 | -0/+2 | |
Also set error flag on exception when handling new txes to keep tests working | |||||
2019-03-15 | blockchain: do not try to pop the genesis block | moneromooo-monero | 1 | -0/+2 | |
2019-03-10 | blockchain: fix ahead of time PoW batch calc | moneromooo-monero | 1 | -2/+2 | |
2019-03-08 | blockchain: speed up getting N blocks weights/long term weights | moneromooo-monero | 2 | -15/+24 | |
2019-03-05 | Update 2019 copyright | binaryFate | 10 | -10/+10 | |
2019-03-05 | cryptonote: avoid double parsing blocks when syncing | moneromooo-monero | 2 | -12/+14 | |
2019-03-05 | core: avoid double parsing blocks after hoh | moneromooo-monero | 4 | -16/+23 | |