Age | Commit message (Collapse) | Author | Files | Lines |
|
When scanning for outputs used in a set of incoming blocks,
we expect that some of the inputs in their transactions will
not be found in the blockchain, as they could be in previous
blocks in that set. Those outputs will be scanned there at
a later point. In this case, we add a flag to control wehther
an output not being found is expected or not.
|
|
882db8e9 tools: log to the correct file (moneromooo-monero)
142e5e1e tools: set requested log level (moneromooo-monero)
|
|
8bdc86be protocol: speed up sync by minimizing duplicate work (moneromooo-monero)
61dfa310 epee: fix some log macros not printing context nicely (moneromooo-monero)
|
|
8ec2a8d2 net_node: fix spurious warning about using uninitialized data (moneromooo-monero)
|
|
5adcb5a4 tx_pool: add a debug message when adding a tx to the pool (moneromooo-monero)
9faef1f8 cryptonote_protocol: misc fluffy block fixes (moneromooo-monero)
|
|
422ecc98 Fixup choice of easylogging++ vs libunwind stack trace code (moneromooo-monero)
|
|
3b6839cc mlog: move log level changes to global level (moneromooo-monero)
38a1b9c9 rpc: fix daemon mixed style set_log 2,category:level (moneromooo-monero)
28d0b11f mlog: s/Mew/New/ in log (moneromooo-monero)
|
|
cf2e75eb daemon: fix crash on exit when mining (moneromooo-monero)
|
|
b2ac939e Fix GUI building after libcryptonote_core was split (#1626) (iDunk5400)
|
|
f2986ccf db_lmdb: fix bad height saved in tx data (moneromooo-monero)
|
|
|
|
also move a couple logs from INFO to DEBUG
|
|
In particular, the prepare_handle_incoming_blocks call
is pretty lengthy, and entirely pointless in the common
case where several different connections will prepare
the exact same blocks.
|
|
This is only used to load, not save
|
|
|
|
|
|
- fix wrong block being used when a new block is received between
a node elaying a fluffy block and sending a new fluffy block
with txes a peer did not have
- misc a neverending ping pong requesting the same missing txids
when a new block is received in the meantime, causing the top
block to not be the one we need
- send the original fluffy block message block height when sending
a new fluffy block, not the current top height, which might
have been updated since
- avoid sending back the whole block blob when asking for txes,
send only the hash instead
- plus misc cleanup and additional debugging logs
|
|
|
|
When exiting while the miner is running, finding a block after
the p2p layer has been shutdown will cause a crash as the now
uninitialized p2p layer is asked to relay the found block to
any peers.
|
|
|
|
The recent change to not keep separate track of the blockchain
height caused the reported height to jump early in the lmdb
transaction (when the block data is added to the blocks table),
rather than at the end, after everything succeeded. Since the
block data is added before the transaction data, this caused
the transaction data to be saved with a height one more than
its expected value.
Fix this by saving the block data last. This should have no
side effects.
|
|
was resetting bg mining enabled instead of started. Upped the miner threshold. Also moved setting of enabled on start above miner thread creation since starting with true, then stopping, then starting with false resulted in race condition.
|
|
|
|
|
|
|
|
order to be better able to handle failure states.
|
|
plugged in.
|
|
started, and added an explicit sleep in that block to wait for some mining to occur.
|
|
mining::stop then mining::start, idle logic is re-run instead of starting immediately (if it was running before stop).
|
|
source, and CPU has been idle for some time, then begin mining to some
threshold (don't destroy the users' CPU).
This patch only supports windows and linux (I've only tested on Win64 and
Ubuntu).
The variables currently default to pretty conservative values (i.e. 20%
CPU mining threshold).
|
|
9459f331 simplewallet: print error when address is wrong (kenshi84)
|
|
ce7fcbb4 Add server auth to monerod, and client auth to wallet-cli and wallet-rpc (Lee Clagett)
|
|
bceaf4b7 wallet2: fix transactions not considering rct inputs (moneromooo-monero)
|
|
7549116e Wallet API: Easylogger wrapper for gui (Jaquee)
|
|
db0a5392 Clarify in/out connections for users (NanoAkron)
|
|
|
|
|
|
4efc926d Wallet API: Catch error from tools::is_local_address (Jaquee)
|
|
92978b2c common: fix link error on at least one platform (no clue which one) (moneromooo-monero)
|
|
I broke this very recently in 2bf029be172a47ace8134143e1320fdb10d3ea44
and didn't notice in time
|
|
|
|
|
|
|
|
|
|
Bug and fix reported by tdprime
|
|
|
|
|
|
|
|
Makes it possible for GUI to reinit with new daemon without closing and reopening wallet.
|
|
4f5b130d wallet_rpc_server: add address book RPC calls (moneromooo-monero)
|
|
cd34fc65 Use easylogging++'s stack trace facility where possible (moneromooo-monero)
|
|
03ff3639 Fix missing parentheses (Miguel Herranz)
|
|
34719071 simplewallet: cleanup (moneromooo-monero)
a9a9b64b simplewallet: fix build (unqualified type not in current scope) (moneromooo-monero)
|
|
b5cb8861 core: fix integrated addresses breaking with auto zero change (moneromooo-monero)
|
|
f97526e6 simplewallet: option to always ask password for any crytical operations (kenshi84)
|
|
This avoids using libunwind, which often causes trouble.
|
|
|
|
|
|
|
|
Remove empty static function which was refactored, as well as
leftover exception testing code.
|
|
|
|
Zero change is sent to a random address, which confuses the code
which determines which key to use to encrypt the payment id.
Ignore zero amounts for this purpose, so the payment id gets
encrypted with the real destination's key.
|
|
bbcc3a12 Add missing include (Miguel Herranz)
|
|
ca94d0a4 Separate data per P2P port (Miguel Herranz)
|
|
084aef70 Added days uptime to the status message (NanoAkron)
|
|
fba9332d Changed console output for transaction from L0 to L1 (NanoAkron)
|
|
2bf029be wallet2: fix corner case failing to send a second output (moneromooo-monero)
|
|
95f3e193 Update and use blockchain data files defines (Miguel Herranz)
|
|
9bd9906e Factor is_address_local code into a tools function (moneromooo-monero)
|
|
69d2ad39 wallet_rpc_server: fix logs going to the wrong file (moneromooo-monero)
|
|
3ae79a59 core: set missing verifivation_failed flag when rejecting a tx (moneromooo-monero)
ea6549e9 core_tests: decrease trace level from trace to debug (moneromooo-monero)
|
|
48aa9cf0 Add change_password for simplewallet (Ashley Perpetual)
|
|
cc1462e0 Add concurrency check to rpc mining to ensure not too many threads. number of cores times 4 or 257. (Ashley Perpetual)
|
|
Fails to build without it.
|
|
99f58437 Fix invalid + of std::string and int (Timothy D. Prime)
|
|
58e82506 Blockfill - Sort tx pool correctly (Alexis Enston)
5f7a8741 Blockfill - Take TX fees into account properly (Alexis Enston)
4ecab0d8 Consider empty block when filling with TXs (Alexis Enston)
|
|
c02e1cb9 Updates to epee HTTP client code - http_simple_client now uses std::chrono for timeouts - http_simple_client accepts timeouts per connect / invoke call - shortened names of epee http invoke functions - invoke command functions only take relative path, connection is not automatically performed (Lee Clagett)
|
|
66665003 Clear feedback to user when daemon has stopped successfully (NanoAkron)
|
|
55a8e982 moved get_account_address_from_str_or_url from libcommon to libcryptonote_core (kenshi84)
|
|
a39cd745 rpc: fix bc_dyn_stats not setting grace blocks (moneromooo-monero)
|
|
0644eed7 Remove boost/foreach.cpp includes (Miguel Herranz)
36dd3e23 Replace BOOST_REVERSE_FOREACH with ranged for (Miguel Herranz)
629e3101 Replace BOOST_FOREACH with C++11 ranged for (Miguel Herranz)
|
|
Also broke down the time calculations for legibility
|
|
6b14576 Fix clang build failure, caused by mixing C and C++ (tdprime)
|
|
774a213 Wallet API: Create wallet from keys (Jaqueeee)
|
|
|
|
|
|
|
|
|
|
If a rct transaction can be made with just one input, a second
output will be added. This output will be the smallest amount
output available. However, if this output is a non rct output
with less available fake outs than requested, the transaction
will be rejected. We now check the histogram to only consider
outputs with enough available fake outs in the first place.
|
|
|
|
|
|
poolstate.bin and p2pstate.bin are stored in .bitmonero/ if the default
P2P port is being used.
If another port is used both files are stored in
.bitmonero/PORTNUMBER/.
|
|
|
|
This fixes two core rct tests
|
|
of cores times 4 or 257.
|
|
|
|
Easily fixed by moving a C++ header out of 'extern "C" {...}'.
When building with CC=clang CXX=clang++ make,
[ 21%] Building CXX object src/ringct/CMakeFiles/obj_ringct.dir/rctTypes.cpp.o
In file included from /home/tdprime/bitmonero/src/ringct/rctTypes.cpp:31:
In file included from /home/tdprime/bitmonero/src/ringct/rctTypes.h:43:
In file included from /home/tdprime/bitmonero/src/crypto/generic-ops.h:34:
/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/cstring:100:3: error: conflicting types for 'memchr'
memchr(void* __s, int __c, size_t __n)
^
/usr/include/string.h:92:14: note: previous declaration is here
extern void *memchr (const void *__s, int __c, size_t __n)
^
... and 4 more similar errors
|
|
These warnings were emitted by clang++, and they are real bugs.
src/rpc/core_rpc_server.cpp:208:58: warning: adding 'uint64_t'
(aka 'unsigned long') to a string does not append to the string
[-Wstring-plus-int]
res.status = "Error retrieving block at height " + height;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
The obvious intent is achieved by using std::to_string().
|
|
- http_simple_client now uses std::chrono for timeouts
- http_simple_client accepts timeouts per connect / invoke call
- shortened names of epee http invoke functions
- invoke command functions only take relative path, connection
is not automatically performed
|
|
|
|
|
|
|
|
|
|
|
|
This caused a random value to be used, and the resulting
incorrect fee when it wasn't 0.
|
|
8141973e Remove unreachable returns (Miguel Herranz)
|
|
feed6175 fixed typo: monero-wallet-cli,log (kenshi84)
|
|
CATCH_ENTRY_L0 already returns the second value.
|
|
|
|
database before quitting
|
|
|
|
|
|
|
|
|
|
Makes it easier to log just what's going on on P2P
|
|
f0989893 core: cache tx hashes of failing semantics txes (moneromooo-monero)
|
|
20f71527 wallet2: fix sending a rct tx with a single output available (moneromooo-monero)
|
|
b70ab128 rpc: fix orphan_status when getting blocks (moneromooo-monero)
|
|
4cdf0a35 p2p: always recreate a new peer id on startup (moneromooo-monero)
|
|
f8b97aef p2p: show ban/unban logs by default again (moneromooo-monero)
|
|
7c3f79cb core: early out in handle_incoming_tx if already in pool or blockchain (moneromooo-monero)
6cc7d261 ringct: reorder a bit to check quicker tests first (moneromooo-monero)
|
|
a854cec3 Make stack trace show up in log file with default settings (moneromooo-monero)
|
|
|
|
This would have tried to send a second output to make the tx
look like the 2/2 ideal, but it would not fail to find one
because picking an output from preferred_inputs priority list
did not remove it from the unused tranfer/dust outputs, so
it would try to send the same output twice.
While there, I also added a check to avoid sending a second
input if it's related to the first. Better 1/2 than linking
inputs, I think.
|
|
It was always set to false, even for orphan blocks
|
|
This prevents easy fingerprinting when you change IPs, and
will be a must when kovri gets used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A random peer from the gray peer list is selected and a connection is
made to check if the peer is alive.
If the connection and handshake are successful the peer is promoted to
the white peer list, in case of failure the peer is evicted from the
gray peer list.
The connection is closed after the check in either case.
|
|
17246d05 wallet: print exception message on get_random_outs_error (moneromooo-monero)
|
|
cbcdf8ad Honor depth in get_peerlist_head method (Miguel Herranz)
|
|
78d560a9 simplewallet: use MAKE_CORE_RPC_VERSION(1,4) instead of 0x10004 (kenshi84)
|
|
87c658f8 wallet2_api: add API to set log categories (moneromooo-monero)
|
|
843769f8 Tweak some msg loglevels (Howard Chu)
|
|
0e0e6c5f Reduce to one connection per IP (Miguel Herranz)
3f269e98 Limit incoming connections from the same IP (Miguel Herranz)
|
|
|
|
The method returned depth + 2 because:
- push_back was executed before the condition.
- > instead of >= causing one more iteration.
|
|
|
|
|
|
|
|
|
|
a480bf6b fixups in logging init calls, and add missing net context in a log (moneromooo-monero)
|
|
990e08f0 Fix PR#1506, off by one in chain height (Howard Chu)
|
|
|
|
|
|
Mostly getinfo and get_hard_fork_info, which are called
pretty often. This speeds up transfers as a bonus.
|
|
This avoids indirectly leaking the real output to the daemon,
and is faster.
This will still happen for more complex cases, especially
when cancelling a tx and "re-rolling" it.
|
|
|
|
16b8b66a specify restore height by YYYY-MM-DD format (kenshi84)
|
|
|
|
This replaces the epee and data_loggers logging systems with
a single one, and also adds filename:line and explicit severity
levels. Categories may be defined, and logging severity set
by category (or set of categories). epee style 0-4 log level
maps to a sensible severity configuration. Log files now also
rotate when reaching 100 MB.
To select which logs to output, use the MONERO_LOGS environment
variable, with a comma separated list of categories (globs are
supported), with their requested severity level after a colon.
If a log matches more than one such setting, the last one in
the configuration string applies. A few examples:
This one is (mostly) silent, only outputting fatal errors:
MONERO_LOGS=*:FATAL
This one is very verbose:
MONERO_LOGS=*:TRACE
This one is totally silent (logwise):
MONERO_LOGS=""
This one outputs all errors and warnings, except for the
"verify" category, which prints just fatal errors (the verify
category is used for logs about incoming transactions and
blocks, and it is expected that some/many will fail to verify,
hence we don't want the spam):
MONERO_LOGS=*:WARNING,verify:FATAL
Log levels are, in decreasing order of priority:
FATAL, ERROR, WARNING, INFO, DEBUG, TRACE
Subcategories may be added using prefixes and globs. This
example will output net.p2p logs at the TRACE level, but all
other net* logs only at INFO:
MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE
Logs which are intended for the user (which Monero was using
a lot through epee, but really isn't a nice way to go things)
should use the "global" category. There are a few helper macros
for using this category, eg: MGINFO("this shows up by default")
or MGINFO_RED("this is red"), to try to keep a similar look
and feel for now.
Existing epee log macros still exist, and map to the new log
levels, but since they're used as a "user facing" UI element
as much as a logging system, they often don't map well to log
severities (ie, a log level 0 log may be an error, or may be
something we want the user to see, such as an important info).
In those cases, I tried to use the new macros. In other cases,
I left the existing macros in. When modifying logs, it is
probably best to switch to the new macros with explicit levels.
The --log-level options and set_log commands now also accept
category settings, in addition to the epee style log levels.
|
|
ce866d1c macro to define core RPC version for avoiding future mistake (kenshi84)
|
|
6da9335a blockchain_import: fix build after tx_pool::add_tx changes (moneromooo-monero)
|
|
d561f4ad enable clang checks that were disabled (Chris Vickio)
0aefb2f6 remove std::move from return statements (pessimizing-move warning) (Chris Vickio)
629d5b76 change counter from bool to int (deprecated-increment-bool warning) (Chris Vickio)
fb76d439 add extra braces around subobjects (missing-braces warning) (Chris Vickio)
3b6d5f25 make struct/class declarations consistent (mismatched-tags warning) (Chris Vickio)
fcf66925 remove unused fields from network_throttle (unused-private-field warning) (Chris Vickio)
296f8c16 inline unused function (for unused-function warning) (Chris Vickio)
|
|
|
|
|
|
f5f4109f mnemonics: fix language detection with checksum word (moneromooo-monero)
|
|
feb499aa core: check block version for alt chains too (moneromooo-monero)
|
|
ba3968f6 rct: split rct checks between semantics and other (moneromooo-monero)
|
|
d276a165 wallet2: use at least two rct inputs if possible (moneromooo-monero)
|
|
dea53962 fix timeout in check_connection (Jaquee)
|
|
81c384e4 fix do_not_relay not preventing relaying on a timer (moneromooo-monero)
|
|
5b5017e2 rpc: add a command to get info about the current blockchain (moneromooo-monero)
|
|
c9f13c5e wallet2: fix tx reroll not updating fee is going up a kB step (moneromooo-monero)
|
|
50b230d1 core: ensure block size limit is set from the start (moneromooo-monero)
|
|
1d317981 Wallet API: add key image import/export functions (Jaquee)
|
|
36ba311c Prioritize older transactions in the mempool (Miguel Herranz)
|
|
46550c0b Wallet API: add rescanSpent() (Jaquee)
|
|
4a017674 Wallet API: support integrated addresses in address book. (Jaquee)
|
|
3ff54bdd Check for correct thread before ending batch transaction (Howard Chu)
eaf8470b Must wait for previous batch to finish before starting new one (Howard Chu)
c903c554 Don't cache block height, always get from DB (Howard Chu)
eb1fb601 Tweak default db-sync-mode to fast:async:1 (Howard Chu)
0693cff9 Use batch transactions when syncing (Howard Chu)
|
|
|
|
|
|
|
|
If a checksum word is present, language detection would use
just the word prefixes. However, a set of word prefixes may
be found in more than one language, and so the wrong language
may be found first, which could then fail the checksum, since
the check may be done with a different unique prefix length
from the one it was created from.
We now make a checksum test when we we detect a language from
prefixes only, to make sure we have the correct one.
|
|
|
|
|
|
|
|
fsync the DB asynchronously, to allow block download/verification
to proceed while syncing. Sync after every batch. Note that
"fastest" still defaults to fastest:async:1000.
|
|
Faster throughput while avoiding corruption. I.e., makes
running with --db-sync-mode safe more tolerable.
|
|
This is incompatible with block version voting
|
|
If we'd make a rct tx with just one input, we try to add
a second one to match the 2/2 ideal. This means more txes
use that template (and are thus using a larger anonymity
set), and it coalesces outputs "for free". We use the
smallest amount outputs in priority for this, so we can
"clean" the wallet at the same time.
|
|
Semantics can be checked early
|
|
|
|
Also print its value when printing pool
|
|
|
|
|
|
|
|
About the tip of the main chain, and the last N blocks
|
|
|
|
|
|
|
|
|
|
It can now be queried by RPC, so it needs to be set before
it is otherwise needed for consensus, even if no blocks had
to be added (ie, exit and restart quickly).
|
|
|
|
a081b39c Move key image export/import functions to wallet2 (Jaquee)
|