Commit Graph
100 Commits
Author SHA1 Message Date
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