| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| | |
f370093 build: prepare v0.16.0.3 release (selsta)
|
| | | |
|
| |/
|
|
| |
Reporter requested credit to be given to Decred
|
| |\
| |
| |
| | |
fa199f2 build: prepare v0.16.0.1 release (selsta)
|
| | | |
|
| |\ \
| |/
|/|
| | |
a67c634 blockchain: fix timestamp/difficulty cache getting out of sync (moneromooo-monero)
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/ |
|
| | |
|
| | |
|
| |\
| |
| |
| | |
8958b4e blockchain_db: faster fetching of consecutive txes (moneromooo-monero)
|
| | |
| |
| |
| | |
Useful for wallet refresh or node sync
|
| |\ \
| | |
| | |
| | | |
fcb06f7 cryptonote_core: skip block notify on blockchain switching rollback (xiphon)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
c61abf8 remove empty statements (shopglobal)
|
| | |/
| |
| |
| | |
Cleaning up a little around the code base.
|
| |\ \
| | |
| | |
| | | |
02224e71 Fix check_fee() discrepancy. (UkoeHB)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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'.
|
| |\ \ \
| |_|/
|/| |
| | | |
5985c5af rpc: add bad-blocks to flush_cache RPC (moneromooo-monero)
|
| | | |
| | |
| | |
| | | |
Flushes m_invalid_blocks in Blockchain.
|
| |\ \ \
| | | |
| | | |
| | | | |
8a27645 blockchain: fix flushing txes from the txpool (moneromooo-monero)
|
| | | |/
| |/| |
|
| |\ \ \
| | | |
| | | |
| | | | |
08635a08 blockchain: speedup fetching pruned contiguous tx blobs (moneromooo-monero)
|
| | | |/
| |/|
| | |
| | | |
About twice as fast, very roughly
|
| |\ \ \
| |_|/
|/| |
| | | |
21d4c216 blockchain: error out if the builtin hashes data size is wrong (moneromooo-monero)
|
| | |/ |
|
| |/ |
|
| | |
|
| | |
|
| |\
| |
| |
| | |
7fcd0b5 blockchain: initialize pow to ff..ff (moneromooo-monero)
|
| | |
| |
| |
| | |
as a safety to reject if it somehow does not get initialised
|
| |\ \
| | |
| | |
| | | |
ab96181 blockchain: use effective median block weight for penalty from v12 (moneromooo-monero)
|
| | |/
| |
| |
| |
| | |
It was using the raw block weight median, which was not what was
intended in ArticMine's design
|
| |\ \
| | |
| | |
| | | |
be82c40 Support median block size > 4 GB (moneromooo-monero)
|
| | | |
| | |
| | |
| | |
| | | |
add a 128/64 division routine so we can use a > 32 bit median block
size in calculations
|
| |\ \ \
| | | |
| | | |
| | | | |
01f660f blockchain: fill in cumulative block weight for alt blocks (moneromooo-monero)
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | | |
d37d30f blockchain: tweak fee as a function of median values (moneromooo-monero)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| |\ \ \ \ \
| |_|_|_|/
|/| | | |
| | | | | |
3455efa ban peers sending bad pow outright (moneromooo-monero)
|
| | | | | |
| | | | |
| | | | |
| | | | | |
PoW is expensive to verify, so be strict
|
| |\ \ \ \ \
| |_|_|_|/
|/| | | |
| | | | | |
8330e77 monerod can now sync from pruned blocks (moneromooo-monero)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | | |
b9da023 blockchain: keep block template timestamp not below recent median (moneromooo-monero)
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | |/ /
|/| |
| | |
| | | |
Support RandomX PoW algorithm
|
| |\ \ \
| | | |
| | | |
| | | | |
a444f06 blockchain: enforce 10 block age for spending outputs (moneromooo-monero)
|
| | | |/
| |/|
| | |
| | |
| | | |
Some custom wallet code apparently ignores this, which causes users
of that code to be fingerprinted
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
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)
|
| | | | | |
|