moneromooo-monero
37c1ce3b68
tests: disable libwallet_api_tests when BUILD_GUI_DEPS is not set
2017-11-26 08:25:42 +00:00
moneromooo-monero
9739da1e84
wallet_rpc_server: new relay_tx command
...
It takes a full tx+metadata hex string as input
2017-11-24 14:03:55 +00:00
moneromooo-monero
01dc829784
wallet: transfer RPC can now return tx metadata (pending_tx)
2017-11-24 14:03:52 +00:00
moneromooo-monero
83fa9047d8
serialization: add std::set and std::unordered_set serialization
2017-11-24 13:45:48 +00:00
moneromooo-monero
54a4c1cbf7
cryptonote: do not overwrite const data
2017-11-22 11:17:22 +00:00
moneromooo-monero
36f0538a0a
cmake: fix building when readline is not found
2017-11-19 09:27:26 +00:00
moneromooo-monero
51895fd7df
split wallet and wallet_api
...
This speeds up building a lot when wallet2.h (or something it
includes) changes, since all the API includes wallet2.h
2017-11-16 12:10:29 +00:00
moneromooo-monero
0b726be703
wallet2: minimize the number of construct_tx calls
2017-11-15 18:01:35 +00:00
moneromooo-monero
9d505d26b8
wallet2: cleanup some debug logs
2017-11-15 18:01:32 +00:00
moneromooo-monero
ac5cd865b2
simplewallet: fix typo in incoming monero message
2017-11-15 17:52:37 +00:00
moneromooo-monero
93c3398503
simplewallet: translate ring size 0 to mixin 0 (default values)
...
Avoids turning it to a huge number
2017-11-15 15:07:10 +00:00
moneromooo-monero
f493eabba7
unit_tests: fix running without --data-dir
...
While there, also use the new is_arg_defaulted API instead of
going to poke the internal API directly.
2017-11-15 10:45:14 +00:00
moneromooo-monero
9ac5212775
unit_tests: fix build after wallet2 list/vector change
2017-11-14 18:30:58 +00:00
moneromooo-monero
f80f408b7e
epee: don't disable -Wtautological-constant-out-of-range-compare on GCC
...
It's a CLANG only option, and causes GCC to error out
2017-11-14 17:22:39 +00:00
moneromooo-monero
0f2c2d4c34
rpc: remove obsolete busy core checks
2017-11-14 17:15:19 +00:00
moneromooo-monero
99f398a25e
wallet2: avoid growing the short history when refreshing in a loop
2017-11-14 17:09:11 +00:00
moneromooo-monero
178014c995
split off readline code into epee_readline
2017-11-14 17:06:35 +00:00
moneromooo-monero
a9e14a19dc
link against readline only for monerod and wallet-wallet-{rpc,cli}
2017-11-14 17:06:32 +00:00
moneromooo-monero
437421ce42
wallet: move some scoped_message_writer calls from the libs
2017-11-14 17:06:29 +00:00
moneromooo-monero
e89994e98f
wallet: rejig to avoid prompting in wallet2
...
wallet2 is a library, and should not prompt for stdin. Instead,
pass a function so simplewallet can prompt on stdin, and a GUI
might display a window, etc.
2017-11-14 17:06:26 +00:00
moneromooo-monero
ec5135e5b7
move input_line from command_line to simplewallet
...
It was only used there, and this removes one part of the common
dependency on libreadline
2017-11-14 17:06:23 +00:00
moneromooo-monero
082db75f28
move cryptonote command line options to cryptonote_core
...
Those have no reason to be in a generic module
2017-11-14 17:06:19 +00:00
moneromooo-monero
ad03f77856
simplewallet: factor transfer related exception handling
...
This ensures they don't go out of sync when adding/changing them,
and makes the code easier to deal with.
2017-11-14 17:00:39 +00:00
moneromooo-monero
383ff4f689
remove "using namespace std" from headers
...
It's nasty, and actually breaks on Solaris, where if.h fails to
build due to:
struct map *if_memmap;
2017-11-14 16:56:10 +00:00
moneromooo-monero
7cb303a44b
wallet2: simplify incoming tx processing code
2017-11-14 13:20:51 +00:00
moneromooo-monero
2677ade502
simplewallet: forbid 0 ring size
...
It'd be interpreted as a huge one (~0 fake outs)
2017-11-14 13:12:42 +00:00
moneromooo-monero
da8b60cbbf
simplewallet: reject attempts to use too low mixin early
...
This yields a clear error message rather then some possibly
confusing more technical errors down the line
2017-11-14 13:12:39 +00:00
moneromooo-monero
43f27c7d43
core: warn when free disk space is low
2017-11-14 10:21:34 +00:00
moneromooo-monero
d269bff2ab
wallet2: use a vector, not a list, for selected_transfers
...
Friendlier on memory/speed, we know in advance the max amount
of items, which are small and constant size, and there's a lot
of list walking involved.
2017-11-13 19:36:18 +00:00
moneromooo-monero
7e387fb1ad
wallet2: only add a dummy 0 output if there's one output otherwise
2017-11-13 14:08:10 +00:00
moneromooo-monero
e3e838d0cf
kaccak: remove unused return value
2017-11-11 11:20:48 +00:00
moneromooo-monero
b0416f070e
checkpoints: add a testnet checkpoint at 1000000
...
Makes working on testnet a lot easier (much less I/O when loading
and saving wallets, and exercises the hashchain code before any
changes are merged)
2017-11-11 11:16:48 +00:00
moneromooo-monero
2d1ccc1b88
mnemonics: support for arbitrary (if multiple of 4 bytes) length data
2017-11-09 10:58:10 +00:00
moneromooo-monero
5d92c7ccf6
wallet2: typo fix in error message
2017-11-07 14:04:40 +00:00
moneromooo-monero
4877aca2b6
keccak: some paranoid "can't happen" checks
2017-11-07 14:02:37 +00:00
moneromooo-monero
ccf53a566c
track double spending in the txpool
...
Transactions in the txpool are marked when another transaction
is seen double spending one or more of its inputs.
This is then exposed wherever appropriate.
Note that being marked with this "double spend seen" flag does
NOT mean this transaction IS a double spend and will never be
mined: it just means that the network has seen at least another
transaction spending at least one of the same inputs, so care
should be taken to wait for a few confirmations before acting
upon that transaction (ie, mostly of use for merchants wanting
to accept unconfirmed transactions).
2017-11-06 00:05:44 +00:00
moneromooo-monero
68c0178220
updates: add a special case for "install-" build tags on windows
...
Those will have a ".exe" file extension, not .zip.
2017-11-03 09:45:08 +00:00
moneromooo-monero
37e1fd94d5
simplewallet: mark the active account in print_accounts
2017-11-02 23:46:12 +00:00
moneromooo-monero
6cf3344605
Remove wallet dependency on p2p
2017-11-02 16:13:24 +00:00
moneromooo-monero
9d6c6c5dec
wallet2: do not bother downloading block hashes below last checkpoint
2017-10-31 10:29:54 +00:00
moneromooo-monero
4a17f0c2c7
rpc: add performance timers
...
Enable with perf:DEBUG
2017-10-30 09:39:36 +00:00
moneromooo-monero
935f746249
blockchain: do not lock the blockchain lock for simple DB getters
...
It is safe in those cases, though might return slightly out of date
information if another thread is busy modifying the blockchain,
but it avoids potentially lengthy delays just to get things like
the current blockchain height.
2017-10-30 08:23:40 +00:00
moneromooo-monero
9ff8e139cd
epee: disable a spurious warning for a storage function
2017-10-28 11:52:14 +01:00
moneromooo-monero
110339f553
unit_tests: fix data dir determination
2017-10-24 10:22:46 +01:00
moneromooo-monero
626e80780b
wallet2: fix show_transfers missing multiple incoming outputs
2017-10-23 14:38:07 +01:00
moneromooo-monero
ca87cbd852
wallet2: fix subaddress fields serialization
...
When loading an older wallet cache, they wouldn't be initialized,
leading them to have random(ish) values, and so assigned to some
random subaddress.
2017-10-23 11:53:49 +01:00
moneromooo-monero
44f1463867
wallet2: fix tx size estimator for large number of inputs
2017-10-22 19:46:07 +01:00
moneromooo-monero
1ff638e927
protocol: drop connections which don't handshake after some time
2017-10-22 19:45:30 +01:00
moneromooo-monero
937e7f8aa6
Initialize openssl on startup
2017-10-21 10:17:18 +01:00
moneromooo-monero
6a90506a8d
Link against libpgm/libnorm if found, optional libzmq ldependencies
2017-10-21 08:39:52 +01:00
moneromooo-monero
f92f160674
core_tests: do not include chaingen_tests_list.h in all tests
...
This fixes all tests being annoyingly rebuilt when one changes
2017-10-20 18:53:43 +01:00
moneromooo-monero
969b5a2ae3
net_helper: fix massive slowdown after SSL support
2017-10-20 17:27:15 +01:00
moneromooo-monero
21b9f6f3c7
always use core_tests for consistency, not coretests
...
Other tests use unit_tests, performance_tests, etc.
This fixes getting it wrong half the time when typing.
2017-10-19 23:11:29 +01:00
moneromooo-monero
8ddcf1e714
simplewallet: remove XMR mentions
...
They are actually wrong if the wallet is setup in a different
denomination, and it's incursion of extrinsic lingo where monero
fits perfectly in the first place.
2017-10-19 13:10:29 +01:00
moneromooo-monero
ec48e8d81d
core: do not forbid txes without destination
...
This was spuriously forbidden in the recent subaddress patch,
which isn't inherently incompatible with these.
2017-10-19 09:11:12 +01:00
moneromooo-monero
523084bc79
core: don't add empty additional pub keys field to extra
...
Saves a couple bytes per tx
2017-10-19 09:11:10 +01:00
moneromooo-monero
8233a24ba8
unit_tests: fix build on windows
...
Reported by iDunk on IRC
2017-10-16 09:37:51 +01:00
moneromooo-monero
fddd8d226f
performance_tests: fix build after subaddress patch
2017-10-15 19:58:53 +01:00
moneromooo-monero
52ec0e7f4e
epee: link against ssl/crypto for the new SSL code
2017-10-15 19:11:34 +01:00
moneromooo-monero
118a1bed28
rpc: make get_coinbase_tx_sum a restricted RPC
...
It's pretty slow and I/O intensive
2017-10-14 09:49:24 +01:00
moneromooo-monero
7130cf0c61
Add tools::on_startup, and warn about glibc 2.25 bug if found
...
https://sourceware.org/bugzilla/show_bug.cgi?id=21778
2017-10-14 09:12:28 +01:00
moneromooo-monero
22b51e0672
db_lmdb: include chain height when failing to find an output key
...
To help debugging logs.
2017-10-12 13:28:28 +01:00
moneromooo-monero
5db433b3f7
blockchain: avoid exceptions in output verification
...
This can happen if we get a bad tx, so let's not spam the log.
2017-10-12 13:27:20 +01:00
moneromooo-monero
529a6a4af8
core: guard against a mined block not finding all txes in the pool
...
This can happen for several reasons, but mainly if another block
was received, which took that tx off the pool.
2017-10-11 13:00:49 +01:00
moneromooo-monero
a4b4651cb0
dns_utils: allow an optional DNS server IP in DNS_PUBLIC
...
tcp://a.b.c.d
2017-10-10 12:29:05 +01:00
moneromooo-monero
6bd4dac6e2
util: ignore SIGPIPE
...
In practice, this seems to cause monero-wallet-rpc to exit
when ^C quits whatever its output is piped into (such as tee),
but it saves, while it did not before.
2017-10-09 21:46:01 +01:00
moneromooo-monero
7dbf76d0da
Fix an object lifetime bug in net load tests
...
The commands handler must not be destroyed before the config
object, or we'll be accessing freed memory.
An earlier attempt at using boost::shared_ptr to control object
lifetime turned out to be very invasive, though would be a
better solution in theory.
2017-10-09 16:46:42 +01:00
moneromooo-monero
fe484f3049
unit_tests: data dir is now overridden with --data-dir
...
rather than a raw string without option
2017-10-08 21:19:05 +01:00
moneromooo-monero
4090e8c6e5
simplewallet: add get/set for refresh-from-height
2017-10-08 10:14:44 +01:00
moneromooo-monero
0a872798bc
protocol: kick idle peers by dropping them
...
This is safer, as we don't risk break expectations (eg, requesting
block hashes and then receiving a late set of blocks). Dropping a
connection means another will be attempted in a fresh state.
Also bump the kick timeout to 5 minutes, to ensure we only kick
really idle peers.
2017-10-07 20:29:11 +01:00
moneromooo-monero
bc1b93333e
frob level 1 logs a bit for consistency
...
Level 1 logs map to INFO, so setting log level to 1 should
show these. Demote some stuff to DEBUG to avoid spam, though.
2017-10-07 20:03:42 +01:00
moneromooo-monero
b776c72568
daemon: use @N syntax to output_histogram for specific amounts
...
Makes debugging tx verification easier
2017-10-07 16:45:54 +01:00
moneromooo-monero
c413613416
miner: always update block template when starting
...
This fixes using the previous address when starting mining,
then stopping and restarting with a different address
2017-10-07 11:32:36 +01:00
moneromooo-monero
06fb9bcfcc
wallet2: fix refresh height calc for new wallets
2017-10-07 11:21:11 +01:00
moneromooo-monero
8f0cea6355
add a command_line function to check for defaulted options
2017-10-06 10:56:18 +01:00
moneromooo-monero
27fdaaa409
Fix building with -DARCH=default -DNO_AES=ON
2017-10-06 08:47:03 +01:00
moneromooo-monero
cba3449415
rpc: out_peers now works again
2017-10-06 08:40:14 +01:00
moneromooo-monero
240f769d21
tests: add sha256sum unit test
2017-10-05 17:03:37 +01:00
moneromooo-monero
7e7acdc32b
daemon: catch out of range exceptions too when calling stoll/stoi
...
And any other exception, just to be safe
2017-10-03 17:36:44 +01:00
moneromooo-monero
8028dde7a6
block_queue: use boost::uuids::nil_uuid where appropriate
2017-10-03 11:55:45 +01:00
moneromooo-monero
f139a6cad0
wallet2: fix backlog being off by 1
...
We don't want to count "partly filled" blocks in this case
2017-10-03 11:49:46 +01:00
moneromooo-monero
b5b4abb8a6
simplewallet: fix setting default-ring-size to 0
...
It'd be set to the current wallet default instead
2017-10-03 11:45:02 +01:00
moneromooo-monero
54940d8ca4
blockchain_import: remove a few commented out obsolete lines
2017-10-03 09:15:57 +01:00
moneromooo-monero
452d4fae39
tests: fix hashchain unit tests
...
and relax the not-empty safety check to stay more intuitiuve
2017-10-03 00:51:53 +01:00
moneromooo-monero
37c12119ab
wallet2: fix hash chain trimming when the inner chain becomes empty
...
It'd prevent further syncing. Recovery of empty hash chains is
automatic, but requires a running daemon
2017-10-02 12:52:22 +01:00
moneromooo-monero
69ce33f217
core: fix failure to sync when a tx is already in the pool
2017-09-29 21:34:10 +01:00
moneromooo-monero
735fafecb0
simplewallet: allow 1/yes/y as well as true for start_mining options
...
Also mention those options in the start_mining help line
2017-09-29 19:17:25 +01:00
moneromooo-monero
bf2d911365
simplewallet: fix --restore-from-height being ignored
2017-09-29 19:06:14 +01:00
moneromooo-monero
7d4ef25800
rpc: fix getting txpool transactions
2017-09-29 16:29:26 +01:00
moneromooo-monero
4e115a3a4c
core: remove out sorting from v7 rules
...
and restore random shuffle of outputs
This turned out to have a flaw (sort order depends on output
index), and this doesn't really bring much anyway
2017-09-27 12:42:08 +01:00
moneromooo-monero
15e6258136
connection_context: initialize m_callback_request_count to 0
2017-09-27 11:43:12 +01:00
moneromooo-monero
5fa199c652
copyable_atomic: add a ctor with initial value
2017-09-27 11:43:08 +01:00
moneromooo-monero
71c7f8d0dc
core: fix logging the one time public key on error
2017-09-27 11:40:05 +01:00
moneromooo-monero
269a2a01ef
blockchain: fix off by one getting blocks
2017-09-27 00:31:49 +01:00
moneromooo-monero
97cdd4c92f
core: undo output sorting
...
It looks like it may be buggy
2017-09-26 13:23:31 +01:00
moneromooo-monero
ba6907f661
core: fix creation of v1 txes
2017-09-25 22:27:30 +01:00
moneromooo-monero
db215ecdb6
checkpoints: add missing CMakeLists.txt
2017-09-25 21:44:53 +01:00
moneromooo-monero
36c3465b98
wallet2: do not keep block hashes below last checkpoint
...
This saves a lot of space and load/save time for wallet caches
2017-09-25 21:16:40 +01:00
moneromooo-monero
cdbbe99c82
checkpoints: add a token checkpoint on testnet (the genesis block)
2017-09-25 21:16:35 +01:00
moneromooo-monero
493fad8053
serialization: add deque serialization
2017-09-25 21:16:32 +01:00