Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
6d0ca7d1 Tweak concurrency limits (Howard Chu)
510d0d47 Use a threadpool (Howard Chu)
|
|
f761dbae Remove 1.25x multiplier from tx_pool (Nano Akron)
|
|
0299cb77 Fix various oversights/bugs in ZMQ RPC server code (Thomas Winget)
77986023 json serialization for rpc-relevant monero types (Thomas Winget)
5c1e08fe Refactor some things into more composable (smaller) functions (Thomas Winget)
9ac2ad07 DRY refactoring (Thomas Winget)
|
|
Create capacity for 2x max, but lie about it
|
|
Instead of constantly creating and destroying threads
|
|
|
|
9443eec1 core: guard against exceptions in tx verification worker threads (moneromooo-monero)
|
|
a9845cc3 rpc: get_txpool_backlog is now unrestricted (moneromooo-monero)
|
|
e5238adf update checkpoint hashes (Riccardo Spagni)
d4f56bdf update hardcoded checkpoints (Riccardo Spagni)
ed730511 update checkpoints.dat (Riccardo Spagni)
|
|
dbfef643 tx_pool: catch exceptions in LockedTXN dtor (moneromooo-monero)
|
|
6ac61100 Add a --fluffy-blocks option to relay blocks as fluffy blocks (moneromooo-monero)
|
|
|
|
|
|
|
|
|
|
|
|
- Add some RPC commands (and touch up a couple others)
- some bounds checking
- some better pointer management
- const correctness and error handling
-- Thanks @vtnerd for type help with serialization and CMake changes
|
|
Structured {de-,}serialization methods for (many new) types
which are used for requests or responses in the RPC.
New types include RPC requests and responses, and structs which compose
types within those.
# Conflicts:
# src/cryptonote_core/blockchain.cpp
|
|
This commit refactors some of the rpc-related functions in the
Blockchain class to be more composable. This change was made
in order to make implementing the new zmq rpc easier without
trampling on the old rpc.
New functions:
Blockchain::get_num_mature_outputs
Blockchain::get_random_outputs
Blockchain::get_output_key
Blockchain::get_output_key_mask_unlocked
Blockchain::find_blockchain_supplement (overload)
functions which previously had this functionality inline now call these
functions as necessary.
|
|
This might prevent some calls to terminate when the LockedTXN
dtor is called as part of stack unwinding caused by another
exception in the first place.
|
|
Defaults to off, but fluffy blocks are forced enabled on testnet
|
|
|
|
4e0e4e99 blockchain_import: warn for chunks over 500000, not 100000 (moneromooo-monero)
5b29e87f blockchain_import: properly cleanup core/db on exit (moneromooo-monero)
e167c4d9 blockchain_import: do not error out on truncated files (moneromooo-monero)
|
|
e72e625e tx_pool: wrap tx meta updates in a LockedTXN (moneromooo-monero)
|
|
c867357a cryptonote_protocol: error handling on cleanup_handle_incoming_blocks (moneromooo-monero)
ce901fcb Fix blockchain_import wedge on exception in cleanup_handle_incoming_blocks (moneromooo-monero)
84fa015e core: guard against exceptions in handle_incoming_{block,tx} (moneromooo-monero)
|
|
3d19ab70 Revert "Cleanup test impact of moving blockchain_db_types()" (Howard Chu)
a95e460c move db specific options to BlockchainDB (moneromooo-monero)
|
|
63d8dddc cryptonote_protocol: remove old spans when received as old blocks (moneromooo-monero)
|
|
adce8ae4 simplewallet: new "fee" command to display fee information (moneromooo-monero)
|
|
2e338ca5 wallet2: account for huge testnet reorgs for estimating height (moneromooo-monero)
|
|
e3c4395a p2p: init hashes after deserializing a network address (moneromooo-monero)
|
|
0c6c3eb3 Silence stupid fallthru warning in gcc 7 (Howard Chu)
|
|
ea996f91 clarification of parameters for print_coinbase_tx_sum (Matthew Campassi)
|
|
d58700e0 WalletAPI: only allow trusted daemon when importing key images (Jaquee)
8a9bbd26 WalletAPI: copy wallet data when creating a view only wallet (Jaquee)
d27fe32e wallet2: export/import wallet data functions (Jaquee)
225a25f3 import_key_images - allow importing without being connected to daemon (Jaquee)
|
|
We have a lot of 350000 byte blocks now.
|
|
|
|
This will happen often when downloading from a live file
|
|
|
|
|
|
including expected transaction backlog at different priorities
|
|
|
|
|
|
This reverts commit 3dd34a49efd2954b0a5eb020abd168d9379b98c4.
|
|
When one happens, cleanup must be called or the incoming tx
lock will stay locked
|
|
Avoids common depending on blockchain_db, which can cause
link errors.
|
|
fixes getting those in a loop
|
|
1914c999 txpool: update db tx metadata when it changes (moneromooo)
4dbf29bd txpool: add tx size median to the pool stats (moneromooo)
|
|
5807529e blockchain: cap memory size of retrieved blocks (moneromooo-monero)
c1b10381 rpc: decrease memory usage a bit in getblocks.bin (moneromooo-monero)
|
|
c656dd0e Fix refresh counter display (Howard Chu)
c088d38a Simplify readline support (Howard Chu)
|
|
c22d22e2 Cleanup test impact of adding safesyncmode() method (Howard Chu)
9a859844 Toggle SAFE syncmode on and off automatically (Howard Chu)
|
|
3dd34a49 Cleanup test impact of moving blockchain_db_types() (Howard Chu)
80344740 More DB support cleanup (Howard Chu)
4c7f8ac0 DB cleanup (Howard Chu)
|
|
19393115 daemon: fix backlog estimating at max block size (moneromooo-monero)
|
|
It helps keep memory usage down when a wallet refreshes through
a string of large blocks
|
|
|
|
|
|
Block size will pretty much never be fully used, unless all txes
are using max fee.
|
|
|
|
|
|
|
|
|
|
df0cffed cryptonote_protocol: warn if we see a higher top version we expect (moneromooo-monero)
317ab21a cryptonote_protocol: less strict check on top version on connect (moneromooo-monero)
cc81a371 cryptonote_protocol: update target height when syncing too (moneromooo-monero)
e2ad372b cryptonote_protocol: simplify and remove unnecessary casts (moneromooo-monero)
727e67ca cryptonote_protocol: print peer top height along with its version (moneromooo-monero)
b5345ef4 crypto: use malloc instead of alloca (moneromooo-monero)
80794b31 thread_group: set thread size to THREAD_STACK_SIZE (moneromooo-monero)
5524bc31 print peer id in 0 padded hex for consistency (moneromooo-monero)
8f8cc09b contrib: add sync_info to rlwrap command set (moneromooo-monero)
70b8c6d7 cryptonote_protocol: misc fixes to the new sync algorithm (moneromooo-monero)
|
|
ea15e72d tx_pool: fix crash in stats (Howard Chu)
|
|
679a5ab8 daemon: print estimated tx backlog in print_pool_stats (moneromooo-monero)
|
|
64ab8844 rpc_client: print destination host/port when failing to connect (moneromooo-monero)
333f7012 http_client: add getters for host and port (moneromooo-monero)
|
|
if tx receive_time == now. supersedes #2322
|
|
|
|
This allows peers who synced past a fork on the wrong height
to reorg to the right chain after they updated their software
to include the new version.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes multiple connections to the same address
|
|
|
|
|
|
|
|
|
|
Suspend readline when refreshing
|
|
Fix sync wedge corner case:
It could happen if a connection went into standby mode, while
it was the one which had requested the next span, and that span
was still waiting for the data, and that peer is not on the
main chain. Other peers can then start asking for that data
again and again, but never get it as only that forked peer does.
And various other fixes
|
|
|
|
|
|
|
|
|
|
If monerod is started with default sync mode, set it to SAFE after
synchronization completes. Set it back to FAST if synchronization
restarts (e.g. because another peer has a longer blockchain).
If monerod is started with an explicit sync mode, none of this
automation takes effect.
|
|
Hide DB types from db_types.h - no reason to recompile dependencies
when DB types change.
Also remove lingering in-memory DB references, they've been
obsolete since 9e82b694da120708652871b55f639d1ef306a7ec
|
|
Hide LMDB-specific stuff behind blockchain_db.h. Nobody besides blockchain_db.cpp
should ever be including DB-specific headers any more.
|
|
|
|
|
|
|
|
5a283078 cryptonote_protocol: large block sync size before v4 (moneromooo-monero)
7b747607 cryptonote_protocol: kick idle synchronizing peers (moneromooo-monero)
|
|
42b34b35 Consistently print peer id in hex and on 16 chars (moneromooo-monero)
|
|
b59cd074 befor -> before (Nano Akron)
|
|
827afcb7 protocol: pass blockchain cumulative difficulty when syncing (moneromooo-monero)
|
|
|
|
In case they dropped off downloading for any reason, they'll get
sent to download again.
|
|
|
|
Really unique yet consistent spelling mistake
|
|
Not used yet.
|
|
|
|
c6e200a8 core: add --db-salvage command line flag (moneromooo-monero)
|
|
dee41efa simplewallet: mnemonic language command-line arg (Eugene Otto)
|
|
cb2d5ac7 mnemonics: new Esperanto word list (moneromooo-monero)
|
|
8655ba04 wallet_rpc_server: adjust small ring sizes to 5 for v6 (moneromooo-monero)
|
|
d1f204d6 miner: set thread name before logging (moneromooo-monero)
|
|
7fdc178a p2p: fix random peer index being too large (moneromooo-monero)
|
|
e499ff33 simplewallet: factor out message_writer (moneromooo-monero)
7ed5ab47 scoped_message_writer: pause readline to match simplewallet (moneromooo-monero)
|
|
359517c7 wallet_rpc_server: fix possible privacy leak in on_import_key_images() (Jaquee)
20495b27 simplewallet: fix possible privacy leak in import_key_images() (Jaquee)
|
|
a1891ebe tests: fix tests build (moneromooo-monero)
|
|
6ce769c1 p2p: get net log spam down a bit (moneromooo-monero)
|
|
88e83f94 cryptonote_protocol_handler: log versions as unsigned ints (moneromooo-monero)
|
|
cb2d5110 Tweak net logs so we get more info on why networking can't start (moneromooo-monero)
|
|
7591c528 p2p: fallback on seed nodes if we can't make a connection (moneromooo-monero)
|
|
0e8d60c0 cryptonote_protocol: fix recv/send idle time before handshake (moneromooo-monero)
|
|
f90bbe2a cryptonote_protocol: keep target in sync with dropped connections (moneromooo-monero)
|
|
1307e3cc WalletAPI: add getDefaultDataDir() (Jaquee)
|
|
7007bd14 Change default block sync size from 200 to 20 (moneromooo-monero)
|
|
980e476c cryptonote_basic: fix silly CLANG warning about not emitting function (moneromooo-monero)
|
|
74597bd1 wallet2: improve refresh height determination (moneromooo-monero)
|
|
042b86c4 simplewallet: do not ask wallet filename twice when restoring (moneromooo-monero)
|
|
This should prevent "silent" failures to start
|
|
8bbed275 simplewallet: Be explicit about secret keys (Erik de Castro Lopo)
|
|
9707998a wallet2: clear some missing containers in clear() (moneromooo-monero)
|
|
f4f7eeba blockchain: log more info when we reject an orphan (moneromooo-monero)
|
|
71e28760 debug_utilities: only build for debug builds (moneromooo-monero)
55e150ff debug_utilities: new object-sizes debug tool (moneromooo-monero)
fbaf5375 cn_deserialize: move to new debug_utilities subdirectory (moneromooo-monero)
|
|
d732c73e blockchain: remove a few unused variables (moneromooo-monero)
|
|
c8640a3d difficulty: fix misleading comment (Guillaume LE VAILLANT)
|
|
b7d6ec83 simplewallet: add (out of sync) or (no daemon) markers in the prompt (moneromooo-monero)
fa23a500 wallet2: add a is_synced function (moneromooo-monero)
f1307bbd node_rpc_proxy: add a proxy for target height (moneromooo-monero)
|
|
ad4649ac Enable verifying wallet password with having to load wallet. (m2049r)
|
|
5d4ef719 core: speed up output index unique set calculation (moneromooo-monero)
19d7f568 perf_timer: allow profiling more granular than millisecond (moneromooo-monero)
bda8c598 epee: add nanosecond timer and pause/restart profiling macros (moneromooo-monero)
|
|
67ce4910 wallet2: store testnet bool in keys file (Jaquee)
|
|
87b5ede9 miner: fix ignoring battery from command line (moneromooo-monero)
|
|
c97d1bd3 wallet: return unlock_time in get_transfers (moneromooo-monero)
|
|
|
|
This was broken by the reorg fix, since we now have to add blocks
regardless of their starting height. We now check whether we know
the parent for the first block in the next span, or whether it was
requested. If neither, it's an orphan. If it is not known, but was
requested, we wait to get that block.
|
|
|
|
Word list authored by: Engelberg, ProkhorZ
Sources:
Baza Radikaro Oficiala
Reta Vortaro (http://www.reta-vortaro.de/revo/)
Esperanto Panorama - Esperanto-English Dictionary (http://www.esperanto-panorama.net/vortaro/eoen.htm)
ESPDIC - Paul Denisowski (http://www.denisowski.org/Esperanto/ESPDIC/espdic.txt)
|
|
Add `--mnemonic-language` command-line arg so it's possible to generate a wallet
without interacting with the CLI.
|
|
|
|
Use to load the database when the primary meta page is corrupted
|
|
|
|
They're interpreted as characters otherwise
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add get_fork_version and add_ideal_fork_version to core so
cryptonote_protocol does not have to need the Blockchain
class directly, as it's not in its dependencies, and add
those to the fake core classes in tests too.
|
|
This avoids failing to connect to the network in case all
known peers are unavailable (which can happen if the peer
list is small).
|
|
|
|
When a node is dropped, we stop considering its claimed blockchain
height as a factor in the target height calculation. This prevents
a runaway chain from being still thought to be the target even if
the nodes carrying it are dropped.
|
|
Why this was initialized properly before I have no idea, but
it is not anymore. Fix it, which fixes syncing in release mode.
|
|
635929ea protocol: add checks for top block hard fork version (moneromooo-monero)
7482253a epee: fixup KV_SERIALIZE_OPT to work in more cases (moneromooo-monero)
|
|
|
|
We won't even talk to a peer which claims a wrong version
for its top block. This will avoid syncing to known bad
peers in the first place.
Also add IP fails when failing to verify a block.
|
|
This fixes nodes not being able to connect to nodes which use
recent code. While there, init peer_id too.
|
|
With the new sync algorithm, the network overhead will be masked
as the thread adding blocks isn't interrupted by network calls
anymore. This should reduce memory usage a lot during sync.
|
|
|
|
a839a6fa Wallet API: add tx unlock time (Jaquee)
|
|
61770ec2 change mixin to ring size in user visible places (moneromooo-monero)
|
|
|
|
7f7d42f8 core: fix invalid memory access creating tx (moneromooo-monero)
|
|
5d91b26c blockchain: skip checking tx semantics in embedded block hash range (moneromooo-monero)
|
|
|
|
c93b7692 blockchain_import: much faster when verifying with cryptonote::core (moneromooo-monero)
38756d00 core: new API to disable DNS checkpoint lookups (moneromooo-monero)
|
|
e31aac80 walletAPI: add getRefreshFromBlockHeight() (Jaquee)
48c0cb1b wallet api: pause refresh while commiting tx (Jaquee)
f233c01c CMakeLists.txt - ios/xcode fix (Jaquee)
|
|
|
|
|
|
Quick test with the first 56569 blocks from mainnet
version verify batch time
old 0 200 1:16
new 0 200 0:57
old 0 5000 0:53
new 0 5000 0:51
old 1 200 est > 1h
new 1 200 10:21
old 1 5000 est > 1h
new 1 5000 8:27
|
|
|
|
02f13d6c Fix handling of strings & simplify summation of spendkeys (JollyMort)
40fc9d7b Add option to join multisig wallet pieces together (JollyMort)
|
|
158c3ecf core: thread most of handle_incoming_tx (moneromooo-monero)
f57ee382 cryptonote_protocol: retry stale spans early (moneromooo-monero)
90df52e1 cryptonote_protocol: light cleanup (moneromooo-monero)
84e23156 cryptonote_protocol: avoid spurious SYNCHRONIZED OK messages (moneromooo-monero)
5be43fcd cryptonote_protocol_handler: sync speedup (moneromooo-monero)
|
|
328bebbe daemon: some more include cleanup (moneromooo-monero)
|
|
4d873046 blockchain: add testnet v6 fork height at 971400 (moneromooo-monero)
|
|
1c9196b0 cryptonote_protocol: fix days behind calc on testnet (moneromooo-monero)
|
|
600353e2 fix wallet callback signatures (m2049r)
|
|
214fd81e some include cleanup (moneromooo-monero)
|
|
5dd722be core: add a message when loading checkpoints at init time (moneromooo-monero)
|
|
14ec6ed8 tx_pool: remove obsolete unused m_config_folder field (moneromooo-monero)
|
|
d37e8f88 daemon: add average seconds per block in bc_dyn_stats (moneromooo-monero)
|
|
878205f1 core: fix lock ordering bug at init time (moneromooo-monero)
|
|
c6ba7d11 p2p: move m_in_timedsync from connection_context to p2p_connection_context (moneromooo-monero)
|
|
04ebfbfe p2p: close connections when exiting (moneromooo-monero)
9a10148c p2p: fix thread leak (moneromooo-monero)
|
|
d8becf2e blockchain: fix cryptonight buffer leak on exit (moneromooo-monero)
91aa90fc blockchain: ensure all blocks get their longhash precalculated (moneromooo-monero)
ff4bcaed blockchain: pass correct height to get_block_longhash (moneromooo-monero)
|
|
06aea2cf move get_proof_of_trust_hash from util.h to p2p_protocol_defs.h (moneromooo-monero)
|
|
41f935dd network_throttle: remove unneeded heap allocations (moneromooo-monero)
|
|
525975ac wallet-cli: Minor improvement to help output (Erik de Castro Lopo)
|
|
cb0b5594 Move OpenAlias console input back from libs (moneromooo-monero)
|
|
340feede core: randomly shuffle outputs (moneromooo-monero)
|
|
0c57df97 wallet2: fix temporarily missing incoming tx when being mined (moneromooo-monero)
|
|
dc0b312f wallet_rpc_server: optionally return tx blobs on transfer calls (moneromooo-monero)
5eb79983 epee: add a KV_SERIALIZE variant for optional parameters (moneromooo-monero)
|
|
f1b76c84 cryptonote_protocol: Set send_idle_time in connection_info correctly (rbrunner7)
|
|
53af9768 blockchain: one off warning when seeing a block with unknown version (moneromooo-monero)
|
|
16a55347 simplewallet: show payment ids on sign_transfer (moneromooo-monero)
|
|
599436a4 mlog: default to msgwriter logs only for log level 1 (moneromooo-monero)
58f3fc68 Make msgwriter logs go to file only (moneromooo-monero)
|
|
23909bb0 Make successful transfer log message more informative (JollyMort)
|
|
a5031a7d core: forbid duplicate ring members from v6 (moneromooo-monero)
|