Age | Commit message (Collapse) | Author | Files | Lines |
|
This will trigger if a reorg is seen. This may be used to do things
like stop automated withdrawals on large reorgs.
%s is replaced by the height at the split point
%h is replaced by the height of the new chain
%n is replaced by the number of new blocks after the reorg
|
|
|
|
b6534c40 ringct: remove unused senderPk from ecdhTuple (moneromooo-monero)
7d375981 ringct: the commitment mask is now deterministic (moneromooo-monero)
99d946e6 ringct: encode 8 byte amount, saving 24 bytes per output (moneromooo-monero)
cdc3ccec ringct: save 3 bytes on bulletproof size (moneromooo-monero)
f931e16c add a bulletproof version, new bulletproof type, and rct config (moneromooo-monero)
|
|
This makes it easier to modify the bulletproof format
|
|
The blockchain prunes seven eighths of prunable tx data.
This saves about two thirds of the blockchain size, while
keeping the node useful as a sync source for an eighth
of the blockchain.
No other data is currently pruned.
There are three ways to prune a blockchain:
- run monerod with --prune-blockchain
- run "prune_blockchain" in the monerod console
- run the monero-blockchain-prune utility
The first two will prune in place. Due to how LMDB works, this
will not reduce the blockchain size on disk. Instead, it will
mark parts of the file as free, so that future data will use
that free space, causing the file to not grow until free space
grows scarce.
The third way will create a second database, a pruned copy of
the original one. Since this is a new file, this one will be
smaller than the original one.
Once the database is pruned, it will stay pruned as it syncs.
That is, there is no need to use --prune-blockchain again, etc.
|
|
c6d38718 core: include a dummy encrypted payment id when no payment is used (moneromooo-monero)
b7441c4a core, wallet: remember original text version of destination address (moneromooo-monero)
a9b1c04a crptonote_core: do not error out sending unparsable extra field (moneromooo-monero)
|
|
a67b77a9 blockchain: don't propagate exception past dtor (moneromooo-monero)
|
|
For better transaction uniformity, even though this wastes space.
|
|
|
|
extra is arbitrary, and the user may well want to send custom data
|
|
5ee6f037 blockchain: fix wrong hf version when popping multiple blocks (moneromooo-monero)
634d359a blockchain: use the version passed as parameter, not a new one (moneromooo-monero)
94a375d5 hardfork: remove batch transactions setup (moneromooo-monero)
|
|
6f2081f8 cryptonote_core: revert extra_tx_map (moneromooo-monero)
|
|
b8342dd5 blockchain: fix block rate check for empty blockchains (moneromooo-monero)
|
|
008647d7 blockchain_db: speedup tx output gathering (moneromooo-monero)
|
|
Coverity 190660
|
|
Since we keep track of the hf version in the db, we pick it up
from there instead of doing the full reorg call, which is quite
expensive
|
|
|
|
6644b9b blockchain_db: remove a couple unused functions (moneromooo-monero)
ce594f5 blockchain_db: allocate known size vector only once (moneromooo-monero)
8332698 db_lmdb: inline check_open, it's trivial and called everywhere (moneromooo-monero)
5511563 db_lmdb: avoid pointless division (moneromooo-monero)
d1efe3d cryptonote: set tx hash on newly parsed txes when known (moneromooo-monero)
9cc68a2 tx_pool: add a few std::move where it can make a difference (moneromooo-monero)
|
|
9e64a71 blockchain: call deinit in dtor (moneromooo-monero)
|
|
affff94 blockchain: fix race between two external mining threads (moneromooo-monero)
|
|
While the lookups are faster, the zeroCommit calls have to be
done again when storing the new outputs in the db, which ends
up making the whole thing slower after all, and the ways this
can be cached aren't very nice code wise, so let's forget it
since the gains aren't very large anyway.
|
|
|
|
We know all the data we'll want for getblocks.bin is contiguous
|
|
aba9a9c2 daemon: stop miner before we bring the whole thing down (moneromooo-monero)
|
|
e98ae34e core: fix adding new pre-hoh block when a tx is already in the pool (moneromooo-monero)
|
|
756684bb blockchain: avoid unnecessary DB lookups when syncing (moneromooo-monero)
|
|
dc1c1252 add command pop_blocks (Jason Wong)
|
|
3dba7f25 protocol: option to pad transaction relay to the next kB (moneromooo-monero)
|
|
|
|
|
|
This ensures the io service that runs in another thread cannot
access data after it's deleted
|
|
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero)
1a0733e5 windows_service: fix memory leak (moneromooo-monero)
0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero)
5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero)
d4f50cb1 remove some unused code (moneromooo-monero)
61163971 a few minor (but easy) performance tweaks (moneromooo-monero)
30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
|
|
|
|
60f36386 Avoid unnecessary temp block and copy ctor (moneromooo-monero)
|
|
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
|
|
|
|
This avoids the miner erroring out trying to submit blocks
to a core that's already shut down (and avoids pegging
the CPU while we're busy shutting down).
|
|
add new public method to Blockchain and update according to code review
update after review: better lock/unlock, try catch and coding style
|
|
Some of the inputs for block in a span will be from other earlier
blocks in that span. Keep track of those outputs so we don't have
to look them up again after those early blocks are added to the
blockchain.
|
|
|
|
|
|
Found by codacy.com
|
|
Found by codacy.com
|
|
block already has a default ctor, and the extra object
churn due to its innards (vectors, etc) is pointless.
|
|
|
|
This prevents asking for just 0, and the RPC layer already does this
|
|
This reverts commit b2bb9312a75781e714acf3c406634b3d4cded418.
|
|
ac23b10f blockchain: fix innocuous difficulty cache inconsistency (moneromooo-monero)
3b14d972 blockchain: use uint64_t for block height, not size_t (moneromooo-monero)
|
|
cf552c75 tx_pool: allow take_tx to work without m_txs_by_fee_and_receive_time (moneromooo-monero)
|
|
09dbd9cb tx_pool: fix comment about transaction_prefix (moneromooo-monero)
|
|
|
|
5808530f blockchain: remove unused output_scan_worker parameter (moneromooo-monero)
1426209a blockchain: don't run threads if we have just one function to run (moneromooo-monero)
6f7a5fd4 db_lmdb: slight speedup getting array data from the blockchain (moneromooo-monero)
99fbe100 db_lmdb: save some string copies for readonly db keys/values (moneromooo-monero)
bf31447e tx_pool: speed up take_tx for transactions from blocks (moneromooo-monero)
4f005a77 tx_pool: remove unnecessary get_transaction_hash (moneromooo-monero)
593ef598 perf_timer: call reserve on new timer array (moneromooo-monero)
6ecc99ad core: avoid unnecessary tx/blob conversions (moneromooo-monero)
00cc1a16 unit_tests: notify test special case for the usual weirdo (moneromooo-monero)
|
|
73e504c1 rpc: adjust ring size error message now that too high is also possible (moneromooo-monero)
a5ca7f4f core: fix unmixable special case allowing ring size below 11 (moneromooo-monero)
|
|
To help protect one's privacy from traffic volume analysis
for people using Tor or I2P. This will really fly once we
relay txes on a timer rather than on demand, though.
Off by default for now since it's wasteful and doesn't bring
anything until I2P's in.
|
|
This inconsistent state would not actually be used in practice
|
|
for consistency
|
|
|
|
5a2e54a1 Fix prune using receive time as tx_weight (doy-lee)
|
|
3a85af40 core: fix handle_incoming_tx* comment about return value (moneromooo-monero)
|
|
|
|
|
|
|
|
This happens for every historical tx when syncing, and the
unnecessary parsing is actually showing up on profile.
Since these are kept cached for just one block, this does
not increase memory usage after syncing.
|
|
|
|
|
|
This should make it possible to have two daemons running on the
same database again.
|
|
It was leftover from a change that was undone before commit,
but the comment change was let through
|
|
|
|
fd62b6e7 blocks: use auto-generated .c files instead of 'LD -r -b binary' (xiphon)
|
|
341b3931 cryptonote_core: warn when the block rate deviates from expectations (moneromooo-monero)
|
|
9907ea06 cryptonote: sort tx_extra fields (moneromooo-monero)
|
|
|
|
|
|
|
|
a39c0358 blockchain: add check test options are given for fakechain mode (moneromooo-monero)
|
|
cf75ee72 blockchain: move two new verification errors to the verify category (moneromooo-monero)
|
|
c39e0a17 core: don't verify range proofs multiple times (moneromooo-monero)
|
|
Lest we get people get scared again
|
|
|
|
|
|
6844ae1b tx_pool: avoid parsing a whole tx if only the prefix is needed (moneromooo-monero)
|
|
get_transaction_pool RPC
Inspired by https://github.com/masari-project/masari/issues/93
|
|
This reverts commit 79d46c4d551a9b1261801960095bf4d24967211a, reversing
changes made to c9fc61dbb56cca442c775faa2554a7460879b637.
|
|
Coverity 188616
|
|
|
|
This removes some small amount of fingerprinting entropy.
There is no consensus rule to require this since this field
is technically free form, and a transaction is free to have
custom data in it.
|
|
|
|
fa9e54b6 build: fix gcc false positive 'stringop-overflow' warning (xiphon)
|
|
fa942ef6 daemon: silence daemon update warnings on testnet (iDunk5400)
|
|
|
|
73403004 add --block-notify to monerod and --tx-notify to monero-wallet-{cli,rpc} (moneromooo-monero)
|
|
|
|
357441a2 add checkpoints for testnet and mainnet (Riccardo Spagni)
d9f666d7 update checkpoints.dat (Riccardo Spagni)
6b1b4e83 update version to 13.0 (Riccardo Spagni)
6f153533 update readme with v13.0 (Riccardo Spagni)
|
|
c39ad0cd tx_pool: fix tx removal at startup keeping references (moneromooo-monero)
|
|
|
|
|
|
|
|
ac934663 rpc: add a "is an update available" flag in get_info (moneromooo-monero)
|
|
b2bb9312 blockchain: simplify output distribution code (moneromooo-monero)
befdcbf4 db_lmdb: do not use base for cumulative distribution (moneromooo-monero)
|
|
The warning threshold is set to allow a false positive every
ten days on average.
|
|
4e1e9a60 blockchain: add mainnet v8 height targetting 18 october (moneromooo-monero)
|
|
1660b0e7 tx_pool: make the max tx size a consensus rule from v8 (moneromooo-monero)
|
|
|
|
Make it easier for a user to be told when to update
|
|
|
|
|
|
So that bulletproofs become mandatory
|
|
|
|
|
|
Also constrains bulletproofs to simple rct, for simplicity
|
|
Ported from sarang's java code
|
|
|
|
48a7bc4 tx_pool: fix infinite loop when failing to find a meta record (moneromooo-monero)
|
|
1f2409e Do memwipe for critical secret keys copied to rct::key (stoffu)
|
|
and v9 a day later
|
|
83f5587 blockchain: use uint64_t for height, not size_t (moneromooo-monero)
|
|
b278b83 core: sync database based on bytes added, not blocks added (moneromooo-monero)
|
|
|
|
|
|
This avoids constant rechecking of the same things each time
a miner asks for the block template. The tx pool maintains
a cookie to allow users to detect when the pool state changed,
which means the block template needs rebuilding.
|
|
8e24533 blockchain: some batch tx scanning speedup (moneromooo-monero)
|
|
Blocks have a very wide range, whereas actual size is the relevant
quantity to consider when syncing
|
|
|
|
8c05237 blockchain: cache next block difficulty after adding a block (moneromooo-monero)
|
|
|
|
d95bc44 blockchain: fix getting invalid block data on failure (moneromooo-monero)
|
|
aa0ea0a blockchain: set the m_verifivation_failed flag in a couple more places (moneromooo-monero)
|
|
41b4bf9 tx_pool: cache check_tx_inputs results (moneromooo-monero)
|
|
45e419b db: store cumulative rct output distribution in the db for speed (moneromooo-monero)
|
|
50af357 alt_chain_info can now give more info about a particular alt chain (moneromooo-monero)
|
|
149da42 db_lmdb: enable batch transactions by default (stoffu)
34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn)
9e1403e update get_info RPC and bump RPC version (vicsn)
207b66e first new functional tests (vicsn)
|
|
This gets rid of the temporary precalc cache.
Also make the RPC able to send data back in binary or JSON,
since there can be a lot of data
This bumps the LMDB database format to v3, with migration.
|
|
It's not 100% certain it'll be needed, but it avoids getinfo
needing the blockchain lock and potentially blocking
|
|
|
|
on_generateblocks RPC call combines functionality from the on_getblocktemplate and on_submitblock RPC calls to allow rapid block creation. Difficulty is set permanently to 1 for regtest.
Makes use of FAKECHAIN network type, but takes hard fork heights from mainchain
Default reserve_size in generate_blocks RPC call is now 1. If it is 0, the following error occurs 'Failed to calculate offset for'.
Queries hard fork heights info of other network types
|
|
when a block being added to the main chain is invalid.
This ensures the peer is banned after a number of these.
|
|
|
|
b628503 Remove old logic saved in comments. (jeandudey)
|
|
08b85a8 cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X (stoffu)
0cf80ba net_node: resolve host for node addresses given via command line flags (stoffu)
|
|
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
|
|
Decrease the number of worker threads by one to account
for the fact the calling thread acts as a worker thread now
|
|
|
|
|
|
also use reserve where appropriate
|
|
|
|
2d5921e blockchain: avoid duplicate db query for height (moneromooo-monero)
|
|
d81e042 tx_pool: initialize bitflags padding since it gets written to storage (moneromooo-monero)
|
|
This is called a lot when creating a block template, and
does not change until the blockchain changes.
This also avoids tx parsing when cached.
|
|
ace2eda blockchain: pop forked blocks only when DB is not read-only (stoffu)
|
|
4f3a4fb blockchain: return error when requesting non existent output (moneromooo-monero)
|
|
2b0c632 tx_pool: hold off parsing a tx blob till we actually need it (moneromooo-monero)
|
|
16e209e core: lock incoming tx lock when checking the txpool and chain (moneromooo-monero)
|
|
db55263 threadpool: allow constructing an object, and misc tweaks (moneromooo-monero)
ce173cb core: remove threadpool dependency from header (moneromooo-monero)
3147468 unit_tests: add threadpool unit test (moneromooo-monero)
|
|
fa0839f Ensure m_timestamps has the correct number for computing difficulty. (thaerkh)
|
|
b5cb1bc blockchain: avoid exception if asked for a block we do not have (moneromooo-monero)
|
|
6b13976 blockchain: log in DEBUG when a block is found, and where (moneromooo-monero)
|
|
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
|
|
config::testnet::X : stagenet ? config::stagenet::X : config::X
|
|
|
|
827ca3f bump version for 0.12.2 point release (fluffypony)
95ccf50 update checkpoints.dat for point release (fluffypony)
|
|
3b941be core: add get_earliest_ideal_height_for_version() (stoffu)
|
|
f24cbc5 blockchain: fix deadlock with the difficulty cache (moneromooo-monero)
|
|
|
|
Avoids valgrind reporting uninitialized data usage
|
|
|
|
This data comes from untrusted peers, and validation failures
are therefore normal.
|
|
|
|
|
|
avoids RPC thread dying, causing the wallet to timeout
|
|
66a659b blockchain: add scope guard to waiter for threaded txv1 verification (stoffu)
|
|
740da1b core: fix automatic safe db sync mode switching (moneromooo-monero)
e942d34 protocol: do not switch to unsafe sync mode for just a few blocks (moneromooo-monero)
|
|
a66f152 Use median timestamp if current time renders a block invalid. (thaerkh)
|
|
b9389e5 db_lmdb: save pruned and prunable tx data separately (moneromooo-monero)
|
|
a6b8d3f tx_pool: remove old comment from fill_block_template() (stoffu)
|
|
a6a54fa blockchain: cache difficulty for next block (moneromooo-monero)
|
|
|
|
|
|
This bumps DB version to 2, migration code will run for v1 DBs
|
|
|
|
ce63ab09 blockchain: invalidate misc caches when popping blocks (moneromooo-monero)
|
|
cb9c7972 Fix output shuffling for multisig (stoffu)
|
|
|
|
872cb4ef blockchain: pop top if block version disagrees with the ideal fork version (stoffu)
|
|
|
|
|
|
This gets rid of an innocuous race trying to add the same tx
twice to the txpool
|
|
|
|
This can happen if a peer tries to obtain the next span from other
peers if that span is needed for not downloaded yet. Also if the
peer maliciously requests a non existent block hash.
|
|
Might be a bit heavy handed, but conservative.
|
|
|
|
|
|
|
|
dad10775 Only log an error if fork version is higher AND is not known. (Thaer Khawaja)
|
|
Eases up debugging
|
|
This skips the vast majority of "dust" output amounts with just
one instance on the chain. Clocks in at 0.15% of the original
time on testnet.
|
|
|
|
08343aba tx_pool: fix loading with colliding key images (moneromooo-monero)
|
|
eb59f7c5 cryptonote_tx_util: make destinations properly shuffled (stoffu)
|
|
11c933e1 fix lambda compile error on openbsd (moneromooo-monero)
|
|
A key image may be present more than once if all but one of the
txes spending that key image are coming from blocks. When loading
a txpool from storage, we must load the one that's not from a
block first to avoid rejection
|