Commit Graph
100 Commits
Author SHA1 Message Date
moneromooo-monero a96f9baeb4 core: disable tx/block hash cache
Looks like it doesn't work on win64
2017-03-26 02:21:01 +01:00
moneromooo-monero 6e6794786a mnemonics: sanity checks for word lists
and a test to go with it

Remember to run the test when changing word lists, or simplewallet
will throw uncaught if that word list is used.
2017-03-25 12:14:01 +00:00
moneromooo-monero e98f1114a0 mnemonics: misc cleanup
Pass relevant information to the base class instead of overwriting
default values later, use objects instead of pointers to objects
to avoid having to new objects unnecessarily.
2017-03-25 11:51:04 +00:00
moneromooo-monero a50c4a4fad wallet: option to merge destinations
With the change from the original transfer method to the new
algorithm, payments to the same destination were merged. It
seemed like a good idea, optimizing space. However, it is a
useful tool for people who want to split large outputs into
several smaller ones (ie, service providers making frequent
payments, and who do not like a large chunk of their balance
being locked for 10 blocks after each payment).

Default to off, which is a change from the previous behavior.
2017-03-25 11:44:04 +00:00
moneromooo-monero 6d315459b6 core: avoid possible reordering bugs wth tx/bloch hash cache 2017-03-25 09:18:53 +00:00
moneromooo-monero 0ad87db01f wallet: try to save large outputs when using an unneeded second input
When a single input is enough to satisfy a transfer, the code would
previously try to add a second input, to match the "canonical" makeup
of a transaction with two inputs and two outputs. This would cause
wallets to slowly merge outputs till all the monero ends up in a
single output, which causes trouble when making two transactions
one after the other, since change is locked for 10 blocks, and an
increasing portion of the remaining balance would end up locked on
each transaction.

There are two new settings (min-output-count and min-output-value)
which can control when to stop adding such unneeded second outputs.
The idea is that small "dust" outputs will still get added, but
larger ones will not.

Enable with, eg:

set min-output-count 10
set min-output-value 30

to avoid using an unneeded second output of 30 monero or more, if
there would be less than 10 such outputs left.

This does not invalidate any other reason why such outputs would
be used (ie, when they're really needed to satisfy a transfer, or
when randomly picked in the normal course of selection). This may
be improved in the future.
2017-03-24 21:04:08 +00:00
moneromooo-monero 5a7983585e blockchain: offset v5 addition date on testnet
to silence the update warning, since v5 was done very early
on testnet
2017-03-24 10:01:15 +00:00
moneromooo-monero 91d4109023 tx_pool: ensure txes loaded from poolstate.bin have their txid cached
The txid is not saved, and we want to make sure the transactions
have their txid cached while in the pool, since get_transactions
copies the transaction object, so any txid calculation on those
copies would not benefit any later caller, since the original tx
would be left without a cached txid.
2017-03-23 09:25:33 +00:00
moneromooo-monero aaeb164cf6 tx_pool: remove transactions if they're in the blockchain
When starting up, if the pool state was not saved, the pool
might contain transactions which made it into the blockchain,
so these need removing
2017-03-23 09:25:29 +00:00
moneromooo-monero 558cfc31ca core, wallet: faster tx pool scanning
Includes a new RPC to get tx pool hashes fast.
2017-03-23 09:25:22 +00:00
moneromooo-monero f065234b71 core: cache tx and block hashes in the respective classes
An idea from smooth
2017-03-23 09:25:17 +00:00
moneromooo-monero 00cbf72064 ringct: move ge_frombytes_vartime failure error to warning
Avoids scaring people when seeing some invalid txes
2017-03-22 21:26:38 +00:00
moneromooo-monero c94f8facf5 daemon: better error reporting in commands 2017-03-21 19:21:00 +00:00
moneromooo-monero 2242d8ebd6 tx_pool: silence use of uninitialized warning
The result is not actually used when uninitialized
2017-03-21 12:21:19 +00:00
moneromooo-monero 995969b190 wallet: fix set_log not handling 0,xxx style settings 2017-03-21 11:17:05 +00:00
moneromooo-monero 350e99ae57 wallet2: cache which pool txes were scanned already
This massively speeds up the wallet updating the pool on mainnet,
where the tx backlog is more than 500 txes.
2017-03-21 10:30:25 +00:00
moneromooo-monero 7c03349869 blockchain: lower the relay fee by 2%
This ensures we accept txes with a fee that's slightly too small,
to accomodate blockchain median jitter
2017-03-20 19:14:12 +00:00
moneromooo-monero 266492e919 tx_pool: use new filling algorithm from v5 only 2017-03-20 18:46:57 +00:00
moneromooo-monero 5b7c6ced80 wallet2: start using new fee priorities at v5, not 14 days laer
Waiting would mean the fee used is 1x base, but the base will
have suddenly dropped
2017-03-20 18:34:56 +00:00
moneromooo-monero c1e9ccc794 wallet2: speed up transactions using remote nodes
Asking for a full histogram from a remote node (since it's
untrusted) is pretty slow, and spams the remote node, so
we replace it by only adding a second input if we have rct
ones, which are for all intents and purposes always mixable.
2017-03-20 08:44:28 +00:00
moneromooo-monero a6f1d8fc4c core: call {prepare|cleanup}_handle_incoming_blocks when adding a mined block
This ensures that a batch can't also be started/stopped out of
sync by another thread and us getting in the middle
2017-03-19 12:40:26 +00:00
moneromooo-monero 0effe196e4 Revert "Increase the log level for the info about log levels"
We want to know which log categories are active.

This reverts commit 4f7bce6d20.
2017-03-19 09:39:28 +00:00
moneromooo-monero 24ae71404f wallet: increase node_rpc_proxy timeout to match wallet2 2017-03-18 23:06:06 +00:00
moneromooo-monero d5fbfd677c daemon: fix missing close parenthesis in alt_chain_info output
Reported by assylias_ on IRC
2017-03-18 19:19:32 +00:00
moneromooo-monero f9a2b5279d simplewallet: allow setting tx priority in watch wallets
Those can create unsigned transactions
2017-03-18 18:07:54 +00:00
moneromooo-monero 63d7cd8882 daemon: alt_chain_info now prints fork depth 2017-03-18 16:59:57 +00:00
moneromooo-monero e9175cec07 wallet_rpc_server: make a few RPCs unavailable in restricted mode
Address book modification, setting tx nodes, importing key images
2017-03-18 13:01:53 +00:00
moneromooo-monero d023831327 use const references in catch blocks 2017-03-18 12:56:07 +00:00
moneromooo-monero 3fa5975520 wallet2: call is_key_image_spent in blocks in rescan_spent
This is a potentially long lasting daemon RPC call
2017-03-18 12:47:07 +00:00
moneromooo-monero 9d134e8647 wallet_rpc_server: add a rescan_spent RPC 2017-03-18 12:04:17 +00:00
moneromooo-monero 1a666c3016 simplewallet: catch case where no transactions are made
This would otherwise be a silent noop, which is confusing.
This can happen if the daemon is started, but not yet ready
to service all requests, and this is a safe catch all.
2017-03-18 11:44:31 +00:00
moneromooo-monero c1c9eeaaf7 p2p: use the fallback seed IPs when not enough seeds are found
In case the DNS seed(s) is/are down, which would otherwise
cause the fallback seeds to never be used. Also if the seeds
resolve to too few IPs.
2017-03-18 11:40:28 +00:00
moneromooo-monero 3396a9f2af Add intervening v5 fork for increased min block size
Minimum mixin 4 and enforced ringct is moved from v5 to v6.
v5 is now used for an increased minimum block size (from 60000
to 300000) to cater for larger typical/minimum transaction size.

The fee algorithm is also changed to decrease the base per kB
fee, and add a cheap tier for those transactions which we do
not care if they get delayed (or even included in a block).
2017-03-15 08:32:51 +00:00
moneromooo-monero b54e19d00e protocol: fix wrong tx being looked up from fluffy block
Found by smooth
2017-03-13 19:16:25 +00:00
moneromooo-monero 74b216a17f core: don't try to re-relay an empty set of pool transactions 2017-03-12 14:57:58 +00:00
moneromooo-monero 09e060febb protocol: fix fluffy to normal block dropping txes 2017-03-12 14:14:51 +00:00
moneromooo-monero cfa2564a40 blockchain: don't try to load an empty block hash set
If the blocks aren't being linked against a binary (such as
one of the blockchain utilities), the symbol will not be
NULL, but the size will be 0. This avoids a apurious warning
about the data hash.
2017-03-05 19:46:55 +00:00
moneromooo-monero 3835903650 blockchain_import: make --log-level understand categories 2017-03-05 19:45:22 +00:00
moneromooo-monero 5fee85616d blockchain_export: make --log-level understand categories 2017-03-05 19:45:00 +00:00
moneromooo-monero 50ebf66150 blockchain_import: error out nicely on exceptions 2017-03-05 19:25:01 +00:00
moneromooo-monero 87d57d9c59 blockchain_export: error out nicely on exceptions 2017-03-05 19:24:47 +00:00
moneromooo-monero b553c282fb rpc: fix BUILD_TAG mispelling (BUILDTAG)
This ensures a manual or RPC update tries the right build tag,
rather than source, which is currently not setup
2017-03-05 16:59:39 +00:00
moneromooo-monero 02097c87eb core: print the "new update found" message in cyan, for visibility 2017-03-05 16:59:36 +00:00
moneromooo-monero 749ebacebd download: check available disk space before downloading
We don't check *while* the download happens, so it might
still be that we don't have enough space later
2017-03-05 16:59:32 +00:00
moneromooo-monero f36c5f1e08 download: give download threads distinct names 2017-03-05 16:59:29 +00:00
moneromooo-monero f6211322e5 core: make update download cancellable 2017-03-05 16:59:25 +00:00
moneromooo-monero 63f0e074eb download: async API 2017-03-05 16:58:48 +00:00
moneromooo-monero 9bf017edf2 http_client: allow cancelling a download 2017-03-05 16:23:34 +00:00
moneromooo-monero 0d90123cac http_client: allow derived class to get headers at start 2017-03-05 16:23:29 +00:00
moneromooo-monero 4b48565c9e wallet: add password command
Also tweak wallet2 password code to verify password without
saying it's a new wallet, because it's assuming things.
2017-03-05 14:53:46 +00:00
moneromooo-monero f75477819c unit_tests: fix fee tests after quantization change 2017-03-04 22:45:49 +00:00
moneromooo-monero 223fe5bbe2 wallet: fix get_tranfers with multiple incoming txes with same pid 2017-03-04 21:47:53 +00:00
moneromooo-monero c7dd0b1535 Revert "wallet: fix insertion of pool transactions"
This reverts commit d47dac9a88.

Callers actually expect the key to be payment id, so this
needs a lot more changes (like storing payment ids in the
structure, and possibly also to other existing structures
which do the same thing).
2017-03-04 12:41:19 +00:00
moneromooo-monero 3153349325 core: quantize per kB fee to 8 decimals 2017-03-03 23:31:56 +00:00
moneromooo-monero cd71774d77 tx_pool: log separately "not ready" and "double spend" cases 2017-03-03 22:32:51 +00:00
moneromooo-monero 2c468dd429 allow user I/O in millinero, micronero, nanonero, piconero 2017-03-02 19:02:41 +00:00
moneromooo-monero d47dac9a88 wallet: fix insertion of pool transactions
They were inserted using payment id as key, not txid
2017-02-28 21:19:24 +00:00
moneromooo-monero b8a08f199a wallet: fix --log-file not working 2017-02-28 09:07:56 +00:00
moneromooo-monero 7a44f38a7f Add support for the wallet to refresh pruned blocks 2017-02-27 22:29:00 +00:00
moneromooo-monero da18898f0e ringct: do not require range proof in decodeRct/decodeRctSimple
These fields aren't used, and they'll actually be pruned in
some cases
2017-02-27 22:28:45 +00:00
moneromooo-monero b49c6ab45d rpc: add a default category for daemon rpc 2017-02-27 20:25:35 +00:00
moneromooo-monero f113b92b93 core: add functions to serialize base tx info
That is, information without signatures (for v1) nor range
proofs and MGs (for v2)
2017-02-27 20:24:39 +00:00
moneromooo-monero 6fd4b827fb node_rpc_proxy: allow caching daemon RPC version 2017-02-27 17:57:18 +00:00
moneromooo-monero b5c74e4041 wallet: invalidate node proxy cache when reconnecting 2017-02-27 17:46:55 +00:00
moneromooo-monero 11a00df699 daemon: fix bc_dyn_stats via rpc 2017-02-26 23:12:55 +00:00
moneromooo-monero b7f85a30cd mlog: default net.cn to FATAL
Errors in this layer depend on how peers behave, and thus errors
are expected
2017-02-26 11:02:05 +00:00
moneromooo-monero 12adb4a3f3 core: move hardfork back to cryptonote_core
should fix a cross dependency betewen cryptonote_basic and
blockchain_db
2017-02-25 16:41:35 +00:00
moneromooo-monero 96ce57d551 protocol: tone down a rate limit not implemented yet warning
it scares users
2017-02-25 12:10:29 +00:00
moneromooo-monero ea873ceb2c daemon/rpc: updates command and RPC
subcommands "check", "download", and "update".
update is not yet implemented.
2017-02-24 23:18:27 +00:00
moneromooo-monero 2b188151d4 daemon: avoid pre-log-init spew on creating directories 2017-02-24 19:08:20 +00:00
moneromooo-monero cf2b151116 wallet: avoid pre-log-init spew on --version 2017-02-24 19:08:02 +00:00
moneromooo-monero ada6a8a2de wallet_rpc_server: new --trusted-daemon flag
and remove trusted_daemon fields from transfer RPCs,
it is much friendlier on users
2017-02-24 18:20:14 +00:00
moneromooo-monero 29b34ed156 blockchain_utilities: link against blockchain_db 2017-02-24 09:01:34 +00:00
moneromooo-monero 4d05955d53 protocol: fix "sync done" message not appearing 2017-02-24 01:28:56 +00:00
moneromooo-monero 583a7b5c74 core: protect precomputed block hashes with SHA256 2017-02-23 23:18:10 +00:00
moneromooo-monero 520756c3c5 rpc: s/rcp/rpc/ 2017-02-23 21:02:15 +00:00
moneromooo-monero 8262da8137 rpc: make mining_status RPC work when syncing 2017-02-23 20:40:28 +00:00
moneromooo-monero 9effa55311 core: bound the amount of entries in bad tx semantics cache
This is to prevent unbounded memory use. Since I don't think there
is a container that has quick insert, quick lookup, and automatic
FIFO, I use two and swap every N, clearing the oldest one.
2017-02-23 20:34:11 +00:00
moneromooo-monero 240054a7f8 core: remove a couple unused/obsolete bits 2017-02-23 20:11:57 +00:00
moneromooo-monero ada0e23a84 updates: fix user/auto url split 2017-02-22 13:04:07 +00:00
moneromooo-monero 14d0e00235 wallet2_api: add updates check api 2017-02-22 13:03:45 +00:00
moneromooo-monero 5901331669 updates: remove testnet case
It need not be any different
2017-02-22 11:20:44 +00:00
moneromooo-monero 822577eb42 updates: we now have a user URL, and an automatic one
So the user can use https, while the automatic does not have to
2017-02-22 11:20:40 +00:00
moneromooo-monero 9f17b1a30f updates: s/monerod/monero/ for the main download
Also print download success message as global log
2017-02-22 11:20:37 +00:00
moneromooo-monero 6a5dfb88d2 updates: add all update servers 2017-02-22 11:20:24 +00:00
moneromooo-monero 72d40f13a4 updates: use HTTP, not HTTPS
The files are hashed and the hashes signed
2017-02-22 09:08:35 +00:00
moneromooo-monero 708758b737 core: do not download an update we already downloaded 2017-02-21 22:23:59 +00:00
moneromooo-monero 45101550f2 updates: use updates host, not downloads, for HTTP 2017-02-21 22:21:59 +00:00
moneromooo-monero 56586bde9e mlog: restrict net.p2p to FATAL by default 2017-02-21 17:37:03 +00:00
moneromooo-monero 417b126fc4 Fix core_tests breaking on startup
You're wondering how this fixes core tests, aren't you...

It prevents the miner (initialized by cryptonote::core) from
breaking trying to access arguments that were not added.
Since the tests don't use the miner directly, it makes more
sense to have cryptonote_core add those, since it also uses
the miner.
2017-02-21 15:06:07 +00:00
moneromooo-monero 5664826a84 unit_tests: hardfork unit test now needs get_block_blob_from_height 2017-02-21 14:48:34 +00:00
moneromooo-monero 13cd544de3 Makefile: fix copy/paste mistake in targets (s/freebsd/mac) 2017-02-21 10:25:58 +00:00
moneromooo-monero e74b3ab5f7 core: add p2p bind port options from net_node
They're now used by core to determine the data directory to use
for the txpool directory.

This fixes an assert in the core tests, which don't use the RPC
server, which normally initializes the P2P code.
2017-02-21 09:35:23 +00:00
moneromooo-monero a5a0a3c894 core: updates can now be downloaded (and SHA256 hash checked) 2017-02-20 22:58:37 +00:00
moneromooo-monero 216f062eb8 util: add a SHA256 function 2017-02-20 22:58:33 +00:00
moneromooo-monero 4bf7849297 mlog: only silence errors for net by default, not net.* 2017-02-20 22:58:29 +00:00
moneromooo-monero d282cfcc46 core: test key images against validity domain 2017-02-20 22:58:25 +00:00
moneromooo-monero efb72e74e2 http_client: add a couple consts 2017-02-20 22:58:21 +00:00
moneromooo-monero f640512c53 Optionally query moneropulse DNS records to check for updates
It just checks and prints a message if there is a new version
for now.
2017-02-20 22:58:16 +00:00
moneromooo-monero e3cae4ae2e core: display any fork warning at startup too
This is a good time for the operator to be around and see it
2017-02-20 22:58:12 +00:00