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