| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| | |
36c5987 Fix get_database_size on Windows (iamamyth)
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Replace all calls to epee::file_io::get_file_size with
boost::filesystem::file_size in order to avoid lossy conversions from
paths to strings, which tend to break filename resolution. This commit
fixes a bug on Windows where the get_info RPC call reported a zero
database size because BlockchainLMBD::get_database_size returned zero.
|
| |/ |
|
| | |
|
| |
|
|
| |
The check interferes with raw device/partition support.
|
| |
|
|
|
|
| |
This reverts commit bd96536637724413173271e8d5df1777f7879c29.
The check interferes with raw device/partition support.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |\
| |
| |
| | |
514f8fa LMDB: protection against UB, by not calling virtual methods from destructor (mj-xmr)
|
| | | |
|
| |/ |
|
| |
|
|
|
| |
Turns out at least one arch (armel based) does not have unique_path
implemented and throws
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
These are functions that check whether a tx is in the db, so whether
it is there or not is really not interesting, and it seems to scare
people from time to time
|
| | |
|
| |\
| |
| |
| | |
72cdfa4a2 fix a few typos in error messages (moneromooo-monero)
|
| | |
| |
| |
| | |
Reported by adrelanos
|
| |\ \
| | |
| | |
| | | |
bd9653663 db_lmdb: test for mmap support at init time (moneromooo-monero)
|
| | |/
| |
| |
| |
| | |
It'll make it clearer when a DB init failure is due to being
on a filesystem which does not support mmap
|
| |\ \
| | |
| | |
| | | |
7bd66b01b daemon: guard against rare 'difficulty drift' bug with checkpoints and recalculation (stoffu)
|
| | |/
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
| |
Update copyright year to 2020
|
| |\
| |
| |
| | |
8958b4e blockchain_db: faster fetching of consecutive txes (moneromooo-monero)
|
| | |
| |
| |
| | |
Useful for wallet refresh or node sync
|
| |\ \
| | |
| | |
| | | |
ec01077 db_lmdb: fix race crash using a stale cursor (moneromooo-monero)
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a db resize happened, the txpool meta cursor might be stale,
and was not being renewed when necessary.
It would cause this SEGSEGV:
in mdb_cursor_set ()
in mdb_cursor_get ()
in cryptonote::BlockchainLMDB::get_txpool_tx_blob(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::tx_memory_pool::get_transaction(crypto::hash const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, cryptonote::relay_category) const ()
in cryptonote::t_cryptonote_protocol_handler<cryptonote::core>::handle_notify_new_fluffy_block(int, epee::misc_utils::struct_init<cryptonote::NOTIFY_NEW_FLUFFY_BLOCK::request_t>&, cryptonote::cryptonote_connection_context&) ()
|
| |/
|
|
| |
Cleaning up a little around the code base.
|
| |\
| |
| |
| | |
08635a08 blockchain: speedup fetching pruned contiguous tx blobs (moneromooo-monero)
|
| | |
| |
| |
| | |
About twice as fast, very roughly
|
| |\ \
| | |
| | |
| | | |
402dd207 db_lmdb: guard against non NUL terminated keys (moneromooo-monero)
|
| | |/ |
|
| |/ |
|
| |
|
|
| |
as opposed to an absent record
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
| |
We've added a lot of new indices recently, and 20 isn't enough for them plus
new DBs opened during format migrations.
|
| |\
| |
| |
| | |
06b8f29 blockchain: keep alternative blocks in LMDB (moneromooo-monero)
|
| | |
| |
| |
| |
| | |
Alternative blocks are cleared on startup unless --keep-alt-blocks
is passed on the command line
|
| |\ \
| | |
| | |
| | |
| | | |
25a7cfd add a few checks where it seems appropriate (moneromooo-monero)
1a66a86 remove unused code (moneromooo-monero)
|
| | |/ |
|
| | |
| |
| |
| | |
to avoid errors when the txn is too large
|
| | |
| |
| |
| |
| | |
NULL is valid when size is 0, but memcpy uses nonnull attributes,
so let's not poke the bear
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Use the actual block weight limit, assuming that weight is always
greater or equal to size
|
| |
|
|
|
|
| |
Based on Boolberry work by:
jahrsg <jahr@jahr.me>
cr.zoidberg <crypto.zoidberg@gmail.com>
|