aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-07-10Merge pull request #7754luigi11111-1/+1
8ff21e1 doc: update IRC references to Libera (fdov)
2021-06-24Merge pull request #7612luigi11114-12/+14
254a133 core: speed up print_coinbase_tx_sum (moneromooo-monero)
2021-06-20doc: update IRC references to Liberafdov1-1/+1
2021-06-10Merge pull request #7684luigi11111-1/+4
ed6f053 blockchain: speed up repeated pops (mostly in tests) (moneromooo-monero)
2021-06-01Merge pull request #7709luigi11111-1/+1
a1c4307 Warnings: unused variable in core/blockchain.cpp (mj-xmr)
2021-05-08Warnings: unused variable in core/blockchain.cppmj-xmr1-1/+1
2021-05-02Warnings: unused var at cryptonote_tx_utils.cppmj-xmr1-1/+3
2021-04-26blockchain: speed up repeated pops (mostly in tests)moneromooo-monero1-1/+4
The heavy rolling median reset only has to be performed after all blocks are popped
2021-04-16Merge pull request #7136luigi11111-0/+1
23aae55 Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-16Merge pull request #7002luigi11111-0/+2
673c6d2 Reduce compilation time of epee/portable_storage_template_helper.h (mj-xmr)
2021-03-28Reduce compilation time of epee/portable_storage_template_helper.hmj-xmr1-0/+2
2021-03-18core: speed up print_coinbase_tx_summoneromooo-monero4-12/+14
It only needs to parse the tx headers, not the full tx data
2021-03-05fix serialization being different on macmoneromooo-monero1-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-18Merge pull request #7355luigi11112-2/+2
bd12984 Remove copies from foreach loops (thanks to Clang) (Lee Clagett) 1572df9 Removing unused namespace alias (Lee Clagett)
2021-02-09Remove unused variables in monero codebaseKevin Barbour2-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-28Remove copies from foreach loops (thanks to Clang)Lee Clagett2-2/+2
2021-01-19Remove payload copy in all outgoing p2p messagesLee Clagett1-0/+1
2021-04-16Revert "Merge pull request #7136"luigi11111-1/+0
This reverts commit 63c7ca07fba2f063c760f786a986fb3e02fb040e, reversing changes made to 2218e23e84a89e9a1e4c0be5d50f891ab836754f.
2021-01-16Remove payload copy in all outgoing p2p messagesLee Clagett1-0/+1
2021-01-02blockchain: lock access to m_blocks_hash_of_hashesmoneromooo-monero1-0/+2
it is accessed both when adding and when prevalidating a set of new hashes from a peer
2020-12-31protocol: more sanity checks in new chain block hashesmoneromooo-monero4-6/+28
2020-12-29rpc: limit the number of txes for get_blocks.binmoneromooo-monero4-8/+9
2020-12-01Merge pull request #7025Alexander Blair1-2/+2
b10878f10 Change Dandelion++ fluff probability to 20%, and embargo timeout to 39s (Lee Clagett)
2020-11-29Merge pull request #7021luigi11114-9/+46
d73cb95 Fix timeout checks for forwarded and Dandelion++ stem txes (Lee Clagett)
2020-11-29Merge pull request #7018luigi11113-3/+16
a9cd5d9 cryptonote_core: dandelion - use local height or median height if syncing (xiphon)
2020-11-29Merge pull request #6924luigi11111-8/+0
874487f blockchain: remove some dead code (moneromooo-monero)
2020-11-29Merge pull request #6922luigi11112-14/+5
a25bc71 Make Blockchain::get_fee_quantization_mask() compile time (SChernykh)
2020-11-25cryptonote_core: dandelion - use local height or median height if syncingxiphon3-3/+16
2020-11-17Change Dandelion++ fluff probability to 20%, and embargo timeout to 39sLee Clagett1-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-15Fix timeout checks for forwarded and Dandelion++ stem txesLee Clagett4-9/+46
2020-10-20blockchain: remove some dead codemoneromooo-monero1-8/+0
This is already done
2020-10-20Make Blockchain::get_fee_quantization_mask() compile timeSChernykh2-14/+5
This also removes potential thread safety bug in that function.
2020-10-19cryptonote_core: Fix missing override warningsNathan Dorfman1-2/+2
2020-10-18Merge pull request #6881Alexander Blair1-1/+4
11b20229c tx_pool: silence spammy harmless warning till we fix the bug (moneromooo-monero)
2020-10-18Merge pull request #6875Alexander Blair2-1/+2
a12a8174e Dandelion++: skip desynced peers in stem phase (xiphon)
2020-10-18blockchain: fix sync at v14 boundarymoneromooo-monero1-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-12tx_pool: silence spammy harmless warning till we fix the bugmoneromooo-monero1-1/+4
2020-10-12Dandelion++: skip desynced peers in stem phasexiphon2-1/+2
2020-09-15blockchain: deterministic UNIX time unlock checksmoneromooo-monero2-28/+64
Based on a patch by TheCharlatan <seb.kung@gmail.com>
2020-09-14build: prepare v0.17selsta1-1/+1
2020-09-07blockchain: fix pow skipping for old blocks without precalc hashmoneromooo-monero1-1/+1
2020-09-06Merge pull request #6111Riccardo Spagni6-26/+101
d20ff4f64 functional_tests: add a large (many randomx epochs) p2p reorg test (moneromooo-monero) 6a0b3b1f8 functional_tests: add randomx tests (moneromooo-monero) 9d42649d5 core: fix mining from a block that's not the current top (moneromooo-monero)
2020-09-03Merge pull request #6757luigi11112-10/+14
6a37da8 threadpool: guard against exceptions in jobs, and armour plating (moneromooo-monero)
2020-09-01threadpool: guard against exceptions in jobs, and armour platingmoneromooo-monero2-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-27functional_tests: add a large (many randomx epochs) p2p reorg testmoneromooo-monero1-4/+35
2020-08-27core: fix mining from a block that's not the current topmoneromooo-monero6-22/+66
2020-08-27Integrate CLSAGs into moneromoneromooo-monero2-4/+55
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27Merge pull request #6767Alexander Blair1-0/+3
07442a605 Fix build with Boost 1.74 (moneromooo-monero)
2020-08-27Merge pull request #6760Alexander Blair1-2/+2
844fb4e94 enforce claiming maximum coinbase amount (moneromooo-monero)
2020-08-21enforce claiming maximum coinbase amountmoneromooo-monero1-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-17Avoid some temporary strings when reading off the databasemoneromooo-monero3-17/+17
2020-08-16Merge pull request #6727Alexander Blair1-0/+11
13eee1d6a rpc: reject wrong sized txid (moneromooo-monero) 92e6b7df2 easylogging++: fix crash with reentrant logging (moneromooo-monero) 6dd95d530 epee: guard against exceptions in RPC handlers (moneromooo-monero) 90016ad74 blockchain: guard against exceptions in add_new_block/children (moneromooo-monero)
2020-08-16Merge pull request #6661Alexander Blair1-1/+1
267ce5b71 avoid a couple needless copies (moneromooo-monero)
2020-08-16Merge pull request #6614Alexander Blair1-3/+2
fb31167b1 Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command (rbrunner7)
2020-08-16Fix build with Boost 1.74moneromooo-monero1-0/+3
Thanks iDunk for testing
2020-08-09Merge pull request #6354Alexander Blair2-10/+54
67ade8005 Add randomized delay when forwarding txes from i2p/tor -> ipv4/6 (Lee Clagett)
2020-07-30blockchain: guard against exceptions in add_new_block/childrenmoneromooo-monero1-0/+11
Reporter requested credit to be given to Decred
2020-07-24Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' commandrbrunner71-3/+2
2020-07-19Merge pull request #6534Alexander Blair4-0/+146
7bd66b01b daemon: guard against rare 'difficulty drift' bug with checkpoints and recalculation (stoffu)
2020-07-19Merge pull request #6526Alexander Blair1-0/+1
5d882f4f1 blockchain: fix theoretical race getting bulk timestamps (moneromooo-monero)
2020-07-19Merge pull request #6512Alexander Blair13-13/+13
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-09tx_pool: mine stem txes in fake chain modemoneromooo-monero3-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-08blockchain: fix timestamp/difficulty cache getting out of syncmoneromooo-monero2-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-07-08Merge pull request #6647luigi11111-1/+1
4d8d121 Fix D++ block template check (vtnerd)
2020-07-08Merge pull request #6629luigi11111-0/+1
795e186 blockchain: fix total_height in getblocks.bin response (moneromooo-monero)
2020-07-08Merge pull request #6568luigi11112-36/+0
f037121 cryptonote_core: remove 'We are most likely forked' message (moneromooo-monero)
2020-07-08Merge pull request #6544luigi11111-5/+72
5741b4d blockchain: detect and log bad difficulty calculations (moneromooo-monero)
2020-06-14avoid a couple needless copiesmoneromooo-monero1-1/+1
2020-06-12Fix D++ block template checkLee Clagett1-1/+1
2020-06-09daemon: guard against rare 'difficulty drift' bug with checkpoints and ↵stoffu4-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-05blockchain: fix total_height in getblocks.bin responsemoneromooo-monero1-0/+1
2020-05-19cryptonote_core: remove "We are most likely forked" messagemoneromooo-monero2-36/+0
It's time based and we don't have forks every 6 months anymore
2020-05-17blockchain: detect and log bad difficulty calculationsmoneromooo-monero1-5/+72
2020-05-15Add randomized delay when forwarding txes from i2p/tor -> ipv4/6Lee Clagett2-10/+54
2020-05-13build: prepare v0.16.0.0 releaseselsta1-1/+1
2020-05-13blockchain: fix theoretical race getting bulk timestampsmoneromooo-monero1-0/+1
2020-05-07Merge pull request #6510luigi11111-2/+0
70609d7 cryptonote_core: take out the time based upgrade warning (moneromooo-monero)
2020-05-06Update copyright year to 2020SomaticFanatic13-13/+13
Update copyright year to 2020
2020-05-06cryptonote_core: take out the time based upgrade warningmoneromooo-monero1-2/+0
It doesn't really work anymore since we don't have a fork soon
2020-05-06Merge pull request #6478luigi11111-1/+1
ee58362 Used legacy category to match insert_key_images behavior (vtnerd)
2020-05-06Merge pull request #6472luigi11111-1/+1
2efbd5f cryptonote: fix reuse of non default tx data when relaying (moneromooo-monero)
2020-05-06Merge pull request #6468luigi11112-4/+5
a813c46 cryptonote_core: skip dns checkpoints on startup if not enforced (xiphon)
2020-05-04Adding ZMQ/Pub support for txpool_add and chain_main eventsLee Clagett4-16/+77
2020-05-01Merge pull request #6436luigi11111-1/+1
688a3e8 Add timelock verification on device (cslashm)
2020-04-29txpool.cpp: rename var to fix for old g++ version (xenial default)Sumo Gr1-2/+2
2020-04-24Used legacy category to match insert_key_images behaviorLee Clagett1-1/+1
2020-04-22cryptonote: fix reuse of non default tx data when relayingmoneromooo-monero1-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-20cryptonote_core: skip dns checkpoints on startup if not enforcedxiphon2-4/+5
2020-04-08Add timelock verification on devicecslashm1-1/+1
2020-04-04Merge pull request #6347luigi11112-10/+20
fcb06f7 cryptonote_core: skip block notify on blockchain switching rollback (xiphon)
2020-04-04Merge pull request #6339luigi11112-3/+3
c61abf8 remove empty statements (shopglobal)
2020-04-04Merge pull request #6328luigi11111-1/+1
9bde70e core: mention time being off in hash rate changes message (moneromooo-monero)
2020-03-31Merge pull request #6336luigi11111-1/+5
760ecf2 console_handler: do not let exception past the dor (moneromooo-monero) 09c8111 threadpool: lock mutex in create (moneromooo-monero) e377977 tx_pool: catch theoretical error in get_block_reward (moneromooo-monero)
2020-03-31Merge pull request #6214luigi11114-0/+53
054b4c7 protocol: request txpool contents when synced (moneromooo-monero)
2020-03-30Always reject duplicate key-images from second txidLee Clagett2-12/+16
2020-03-30Allow unrestricted rpc calls to get full txpool infoLee Clagett2-6/+8
2020-03-27Merge pull request #6289Alexander Blair2-9/+13
ffe7165e wallet: reroll fake outs selection on local tx_sanity_check failure (xiphon)
2020-03-27Merge pull request #6284Alexander Blair1-2/+2
02224e71 Fix check_fee() discrepancy. (UkoeHB)
2020-03-27Merge pull request #6275Alexander Blair2-21/+0
aa93e388 p2p: remove old debug commands (Aaron Hook)
2020-03-26Adding Dandelion++ support to public networks:Lee Clagett2-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-04-10Merge pull request #6403luigi11111-16/+7
5de2295 Correct key image check in tx_pool (vtnerd)
2020-04-10Merge pull request #6358luigi11111-30/+2
8958b4e blockchain_db: faster fetching of consecutive txes (moneromooo-monero)
2020-03-22protocol: request txpool contents when syncedmoneromooo-monero4-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-20p2p: remove old debug commandsAaron Hook2-21/+0
2020-03-14Correct key image check in tx_poolLee Clagett1-16/+7
2020-03-12core: move the LockedTXN class out of txpool so it may be reusedmoneromooo-monero1-30/+12
for example, in the RPC server
2020-02-28Merge pull request #6225Alexander Blair2-5/+5
987c3139 print_coinbase_tx_sum now supports 128 bits sums (moneromooo-monero)
2020-02-28Merge pull request #6211Alexander Blair4-0/+21
5985c5af rpc: add bad-blocks to flush_cache RPC (moneromooo-monero)
2020-02-27blockchain_db: faster fetching of consecutive txesmoneromooo-monero1-30/+2
Useful for wallet refresh or node sync
2020-02-19cryptonote_core: skip block notify on blockchain switching rollbackxiphon2-10/+20
2020-02-17remove empty statementsInterchained2-3/+3
Cleaning up a little around the code base.
2020-02-12tx_pool: catch theoretical error in get_block_rewardmoneromooo-monero1-1/+5
Coverity 196626
2020-02-10core: mention time being off in hash rate changes messagemoneromooo-monero1-1/+1
2020-02-06Merge pull request #6127Alexander Blair1-2/+3
67b4a19e simplewallet: noob-friendly help menu (wowario)
2020-02-06Merge pull request #6078Alexander Blair1-1/+8
b9fc2066 Add a --keep-fakechain option to keep fakechain databases (JamesWrigley)
2020-02-06Merge pull request #6050Alexander Blair1-2/+3
65301c40 core: point out when we hit the block rate visibility limit (moneromooo-monero)
2020-02-04Merge pull request #6233luigi11111-1/+1
8a27645 blockchain: fix flushing txes from the txpool (moneromooo-monero)
2020-01-25Merge pull request #6140Alexander Blair1-3/+10
08635a08 blockchain: speedup fetching pruned contiguous tx blobs (moneromooo-monero)
2020-01-24Merge pull request #6146Alexander Blair2-18/+2
70c9cd3c Change to Tx diffusion (Dandelion++ fluff) instead of flooding (Lee Clagett)
2020-01-16Merge pull request #6124Alexander Blair1-1/+6
21d4c216 blockchain: error out if the builtin hashes data size is wrong (moneromooo-monero)
2020-01-14wallet: reroll fake outs selection on local tx_sanity_check failurexiphon2-9/+13
2020-01-09Fix check_fee() discrepancy.UkoeHB1-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-14blockchain: fix flushing txes from the txpoolmoneromooo-monero1-1/+1
2019-12-12Merge pull request #6055luigi11111-1/+1
886ed25 blockchain: fix comment wrongly refering to SHA-3 rather than Keccak (moneromooo-monero)
2019-12-12Merge pull request #6052luigi11111-2/+2
c96b7ee tx_pool: fix error message assuming incorrectly (moneromooo-monero)
2019-12-12print_coinbase_tx_sum now supports 128 bits sumsmoneromooo-monero2-5/+5
The tail emission will bring the total above 64 bits
2019-12-02rpc: add bad-blocks to flush_cache RPCmoneromooo-monero4-0/+21
Flushes m_invalid_blocks in Blockchain.
2019-11-15blockchain: speedup fetching pruned contiguous tx blobsmoneromooo-monero1-3/+10
About twice as fast, very roughly
2019-11-13simplewallet: noob-friendly help menuwowario1-2/+3
2019-11-12blockchain: error out if the builtin hashes data size is wrongmoneromooo-monero1-1/+6
2019-11-04Change to Tx diffusion (Dandelion++ fluff) instead of floodingLee Clagett2-18/+2
2019-11-02Adding support for hidden (anonymity) txpoolLee Clagett7-205/+334
2019-11-02Merge pull request #6079Riccardo Spagni1-1/+1
e4d1674e8 0.15.0.0 release engineering (Riccardo Spagni)
2019-11-020.15.0.0 release engineeringRiccardo Spagni1-1/+1
2019-11-01Add a --keep-fakechain option to keep fakechain databasesJamesWrigley1-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-31cryptonote: untangle dependency from miner to blockchainmoneromooo-monero2-2/+6
It causes link errors at least on mac
2019-10-29blockchain: fix comment wrongly refering to SHA-3 rather than Keccakmoneromooo-monero1-1/+1
2019-10-29tx_pool: fix error message assuming incorrectlymoneromooo-monero1-2/+2
2019-10-28core: point out when we hit the block rate visibility limitmoneromooo-monero1-2/+3
2019-10-27blockchain: fix unwanted error when probing the pool for a txmoneromooo-monero1-2/+11
2019-10-25Merge pull request #5958luigi11111-15/+19
d25acd7 Add hmac over encrypted value during transaction (clashm) 34f28a7 Add display address (clashm) 235b94e Revert PR #5835 (export view key) (clashm) 32febd2 Fix debug feature (clashm)
2019-10-25Merge pull request #6028luigi11111-1/+1
174a6ac tx_pool: fix divide by 0 in log (moneromooo-monero)
2019-10-25rpc: add a flush_cache RPCmoneromooo-monero2-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-25tx_pool: fix divide by 0 in logmoneromooo-monero1-1/+1
Coverity 205394
2019-10-22Merge pull request #5973luigi11111-5/+1
abd3763 cryptonote: fill in tx weight when syncing from pruned blocks (moneromooo-monero)
2019-10-22Merge pull request #5981luigi11112-2/+3
88c9d90 protocol: initialize block_weight in block_complete_entry ctor (moneromooo-monero) fe443bb cryptonote: don't leave block_weight uninitialized (moneromooo-monero) 1ba9baf tx_pool: do not divide by 0 (moneromooo-monero)
2019-10-22Merge pull request #5974luigi11111-2/+4
7fcd0b5 blockchain: initialize pow to ff..ff (moneromooo-monero)
2019-10-22Merge pull request #5970luigi11111-3/+12
ab96181 blockchain: use effective median block weight for penalty from v12 (moneromooo-monero)
2019-10-22Merge pull request #5966luigi11111-8/+3
be82c40 Support median block size > 4 GB (moneromooo-monero)
2019-10-22Merge pull request #5919luigi11113-0/+86
01f660f blockchain: fill in cumulative block weight for alt blocks (moneromooo-monero)
2019-10-21Support median block size > 4 GBmoneromooo-monero1-8/+3
add a 128/64 division routine so we can use a > 32 bit median block size in calculations
2019-10-16Merge pull request #5962luigi11112-2/+2
ec14abd tx_pool: make spent return-by-reference as intended (stoffu)
2019-10-16blockchain: initialize pow to ff..ffmoneromooo-monero1-2/+4
as a safety to reject if it somehow does not get initialised
2019-10-14Merge pull request #5941luigi11111-1/+2
d37d30f blockchain: tweak fee as a function of median values (moneromooo-monero)
2019-10-14Merge pull request #5933luigi11111-0/+2
3455efa ban peers sending bad pow outright (moneromooo-monero)
2019-10-11blockchain: use effective median block weight for penalty from v12moneromooo-monero1-3/+12
It was using the raw block weight median, which was not what was intended in ArticMine's design
2019-10-11tx_pool: do not divide by 0moneromooo-monero1-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-11cryptonote: don't leave block_weight uninitializedmoneromooo-monero1-0/+1
CID 204467
2019-10-10blockchain: fill in cumulative block weight for alt blocksmoneromooo-monero3-0/+86
2019-10-10cryptonote: fill in tx weight when syncing from pruned blocksmoneromooo-monero1-5/+1
2019-10-08Merge pull request #5915luigi11116-89/+314
8330e77 monerod can now sync from pruned blocks (moneromooo-monero)
2019-10-06tx_pool: make spent return-by-reference as intendedstoffu2-2/+2
2019-10-03Add hmac over encrypted value during transactioncslashm1-15/+19
2019-09-30Merge pull request #5902luigi11111-1/+3
b9da023 blockchain: keep block template timestamp not below recent median (moneromooo-monero)
2019-09-30Merge pull request #5900luigi11111-3/+10
6bbc646 Fix bug in mempool get_transaction_stats histogram calculation (tomsmeding)
2019-09-28blockchain: tweak fee as a function of median valuesmoneromooo-monero1-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-27monerod can now sync from pruned blocksmoneromooo-monero6-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-25RandomX integrationHoward Chu5-6/+119
Support RandomX PoW algorithm
2019-09-25ban peers sending bad pow outrightmoneromooo-monero1-0/+2
PoW is expensive to verify, so be strict
2019-09-24Merge pull request #5882luigi11111-0/+10
a444f06 blockchain: enforce 10 block age for spending outputs (moneromooo-monero)
2019-09-24Merge pull request #5878luigi11111-3/+2
f9b3f6e Removed Berkeley DB and db switching logic (JesusRami)
2019-09-24Merge pull request #5877luigi11113-13/+13
2cd4fd8 Changed the use of boost:value_initialized for C++ list initializer (JesusRami) 4ad191f Removed unused boost/value_init header (whyamiroot) 928f4be Make null hash constants constexpr (whyamiroot)
2019-09-24Merge pull request #5864luigi11111-1/+1
32f725d Properly format multiline logs (moneromooo-monero)
2019-09-19core: move hardforks into its own libmoneromooo-monero4-133/+7
So it can be used by others without encumbrance
2019-09-17blockchain: enforce 10 block age for spending outputsmoneromooo-monero1-0/+10
Some custom wallet code apparently ignores this, which causes users of that code to be fingerprinted
2019-09-16Properly format multiline logsmoneromooo-monero1-1/+1
As a side effect, colouring on Windows should now work regardless of version
2019-09-16Removed Berkeley DB and db switching logicJesus Ramirez2-5/+4
2019-09-14Merge pull request #5865luigi11111-2/+3
11f13da blockchain: fix logging bad number of blocks if first one fails (moneromooo-monero) 19bfe7e simplewallet: fix warnings about useless std::move (moneromooo-monero)
2019-09-14Merge pull request #5854luigi11111-4/+4
2cb22d4 core: make the 'update probably needed soon' message less scary (moneromooo-monero)
2019-09-14Merge pull request #5823luigi11112-13/+39
26072f1 blockchain: forbid v1 coinbase from v12 (moneromooo-monero) 555dc7c core: from v12, require consistent ring size for mixable txes (moneromooo-monero) d22dfb7 blockchain: reject rct signatures in coinbase txes from v12 (moneromooo-monero)
2019-09-11blockchain: keep block template timestamp not below recent medianmoneromooo-monero1-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-04Merge pull request #5819luigi11111-1/+2
07cb087 blockchain: Fix alt chain generated coins overflow (iamamyth)
2019-09-02Changed the use of boost:value_initialized for C++ list initializerJesus Ramirez3-13/+13
2019-08-28blockchain: fix logging bad number of blocks if first one failsmoneromooo-monero1-2/+3
2019-08-28Fix bug in mempool get_transaction_stats histogram calculationTom Smeding1-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-26core: make the "update probably needed soon" message less scarymoneromooo-monero1-4/+4
2019-08-21Merge pull request #5755luigi11111-2/+2
7a3e458 improve tx_sanity_check clarification (vicsn)
2019-08-21Merge pull request #5750luigi11111-0/+15
884df82 wallet: provide original address for outgoing transfers (xiphon)
2019-08-19Merge pull request #5727luigi11111-1/+1
7b9a420 Replace std::random_shuffle with std::shuffle (tomsmeding)
2019-08-19Merge pull request #5721luigi11112-43/+12
c164f90 Remove unnecessary m_check_txin_table, fix const correctness (omartijn)
2019-08-19blockchain: reject rct signatures in coinbase txes from v12moneromooo-monero1-0/+7
2019-08-19core: from v12, require consistent ring size for mixable txesmoneromooo-monero1-8/+23
We're supposed to have a fixed ring size now Already checked by MLSAG verification, but here seems more intuitive
2019-08-19blockchain: forbid v1 coinbase from v12moneromooo-monero2-5/+9
2019-08-18blockchain: Fix alt chain generated coins overflowiamamyth1-1/+2
Apply the overflow logic used for computing already_generated_coins in the main chain to alternative chains.
2019-08-15Merge pull request #5637luigi11111-1/+1
69f9420 core: do not complain about low block rate if disconnected (moneromooo-monero)
2019-08-15Replace std::random_shuffle with std::shuffleTom Smeding1-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-08-14Merge pull request #5525luigi11112-4/+4
0605406 daemon: sort alt chains by height (moneromooo-monero) 4228ee0 daemon: add optional arguments to alt_chain_info (moneromooo-monero) 880ebfd daemon: add more chain specific info in alt_chain_info (moneromooo-monero)
2019-08-14Merge pull request #5487luigi11111-0/+13
df83ed7 consensus: from v12, enforce >= 2 outputs (moneromooo-monero)
2019-07-24Merge pull request #5635luigi11111-1/+1
03aa14e tx_sanity_check: don't print an error when not enough outs to check (monermooo-monero)
2019-07-24Merge pull request #5591luigi11111-2/+0
f17dcde Remove unused txs member in NOTIFY_RESPONSE_GET_OBJECT (Doy-lee)