Commit graph

2194 commits

Author SHA1 Message Date
moneromooo-monero 985f61a4ec
wallet: force 0 mixin transactions to use pre-rct txes
rct transactions does not support 0 mixin, and those are
now typically dust sweep transactions, for which a lower
fee is a must.
2016-10-15 18:42:04 +01:00
moneromooo-monero 88faec75fe
wallet: select part of the fake outs from recent outputs
25% of the outputs are selected from the last 5 days (if possible),
in order to avoid the common case of sending recently received
outputs again. 25% and 5 days are subject to review later, since
it's just a wallet level change.
2016-10-15 18:17:16 +01:00
moneromooo-monero 0950be9e34
wallet: speed up output selection, and fix bug with relatedness calculation 2016-10-15 16:32:08 +01:00
moneromooo-monero 0eba1335be
wallet: fix mixup between mixin 2 and 4 before/after v5 2016-10-15 16:07:18 +01:00
moneromooo-monero 5e10fb042d
rpc: add blockchain cumulative difficulty to getinfo call 2016-10-15 15:00:21 +01:00
moneromooo-monero 094f4c8cc6
rpc: add missing top block hash to json getinfo call 2016-10-15 14:35:29 +01:00
moneromooo-monero e76dcdd810
wallet: improve error messages when not enough money for transfer 2016-10-15 14:31:40 +01:00
moneromooo-monero 2d7083ca56
wallet_api: fix wrong amount in tx history 2016-10-15 13:56:25 +01:00
moneromooo-monero b5f20012d3
simplewallet: fix wrong amount in show_transfers 2016-10-15 13:56:09 +01:00
moneromooo-monero 3429bfb71d
ringct: thread verRct and verRctSimple 2016-10-15 13:32:13 +01:00
moneromooo-monero e06a4daf33
ringct: remove unneeded type conversions 2016-10-15 11:58:39 +01:00
moneromooo-monero afc70df7ea
ringct: reserve space in vectors to avoid excessive reallocation 2016-10-15 11:58:34 +01:00
moneromooo-monero 9ebf7b6dcf
ringct: avoid unnecessary memcpy 2016-10-15 11:58:29 +01:00
moneromooo-monero 1fe75c1ea7
ringct: add a few consts where possible 2016-10-15 11:58:24 +01:00
moneromooo-monero ab002a1d97
ringct: pass vectors by const ref where possible 2016-10-15 11:58:18 +01:00
Dion Ahmetaj a6bc1103fd patched parameter type bug that was causing failure on 32 bit 2016-10-14 10:37:10 -04:00
AwfulCrawler 9c73128835 Change default dust threshold to equal fee per kb 2016-10-12 14:04:26 +13:00
Riccardo Spagni 34fcfcd7cc
Merge pull request #1203
4038e86 Add performance timers for ringct tx verification (moneromooo-monero)
74dfdb0 perf_timer: new class and macros to make performance logs easier (moneromooo-monero)
2016-10-11 10:31:26 +02:00
Riccardo Spagni 3db0ebafe5
Merge pull request #1204
7db29d6 print_coinbase_tx_sum now breaks output into fee and emission components (Dion Ahmetaj)
dd6c443 changed params from start/end index to height/count (Dion Ahmetaj)
e95d3f3 attempted to remove whitespace spam (Dion Ahmetaj)
412da63 added print_coinbase_tx_sum option (Dion Ahmetaj)
2016-10-11 10:30:53 +02:00
Dion Ahmetaj 7db29d6903 print_coinbase_tx_sum now breaks output into fee and emission components 2016-10-10 19:55:18 -04:00
Dion Ahmetaj dd6c44327b changed params from start/end index to height/count 2016-10-10 17:19:36 -04:00
Dion Ahmetaj e95d3f359b attempted to remove whitespace spam 2016-10-10 16:41:24 -04:00
moneromooo-monero 4038e86527
Add performance timers for ringct tx verification 2016-10-10 21:24:21 +01:00
moneromooo-monero 74dfdb0b30
perf_timer: new class and macros to make performance logs easier
Call PERF_TIMER(name), which is scoped.
2016-10-10 21:24:15 +01:00
Dion Ahmetaj 412da63622 added print_coinbase_tx_sum option 2016-10-10 15:45:51 -04:00
Jacob Brydolf a8cd65646c Wallet API: added setRecoveringFromSeed(); 2016-10-10 19:37:10 +02:00
Riccardo Spagni 0673db16ad
Merge pull request #1195
697ce1d libwallet_api: reverted deleted curly brace (Ilya Kitaev)
bb9094f libwallet_api: fixes for transaction history (Ilya Kitaev)
62b3708 libwallet_api: do not signal on sent/received tx until wallet completely synchronized (Ilya Kitaev)
11fab41 libwallet_api: TransactionHistory: read/write syncchronization (Ilya Kitaev)
559f379 libwallet_api: test: adjusted mixin_count=4 as it's minumum allowed (Ilya Kitaev)
8b0cb8c libwallet_api: some renamings (Ilya Kitaev)
db3282c Initialize transaction history if empty (Ilya Kitaev)
85f5e73 libwallet_api: fixes for transaction history (Ilya Kitaev)
2016-10-09 14:34:59 +02:00
Riccardo Spagni fe43461c2b
Merge pull request #1194
3126ba7 ringct: use const refs as parameters where appropriate (moneromooo-monero)
d8eae67 tests: add performance test for ge_frombytes_vartime (moneromooo-monero)
3cb2436 core: remove some unused code (moneromooo-monero)
1eaa3e8 tests: add performance tests for rct signatures (moneromooo-monero)
2016-10-09 14:34:38 +02:00
Riccardo Spagni 8cd01bc378
Merge pull request #1192
36a89ab libwallet_api: Added option to restore from specific height (Jacob Brydolf)
2016-10-09 14:33:17 +02:00
Riccardo Spagni 0589209eb4 Merge pull request #1191
9f31e2d wallet: do not announce pool txes as money spent/received (yet) (moneromooo-monero)
2016-10-09 14:29:16 +02:00
moneromooo-monero 3126ba7425
ringct: use const refs as parameters where appropriate 2016-10-08 22:16:23 +01:00
moneromooo-monero 3cb2436528
core: remove some unused code 2016-10-08 19:35:40 +01:00
Jacob Brydolf 36a89ab435
libwallet_api: Added option to restore from specific height 2016-10-08 00:57:09 +02:00
Riccardo Spagni b9c8c0db06
Merge pull request #1121
4e6d708 wallet: better implementation of sweep_unmixable (moneromooo-monero)
2016-10-07 21:01:16 +02:00
moneromooo-monero 9f31e2d8c0
wallet: do not announce pool txes as money spent/received (yet) 2016-10-07 19:52:05 +01:00
Ilya Kitaev 697ce1d435 libwallet_api: reverted deleted curly brace 2016-10-07 00:43:45 +03:00
Ilya Kitaev a4390dae07 resolved conflict with 'develop' of https://github.com/mbg033/monero 2016-10-07 00:36:36 +03:00
Ilya Kitaev 62b3708ea5 libwallet_api: do not signal on sent/received tx until wallet completely
synchronized
2016-10-07 00:29:13 +03:00
Ilya Kitaev 11fab41c36 libwallet_api: TransactionHistory: read/write syncchronization 2016-10-06 23:25:43 +03:00
Ilya Kitaev 8b0cb8caa4 libwallet_api: some renamings 2016-10-06 15:47:29 +03:00
Ilya Kitaev db3282cdf0 Initialize transaction history if empty 2016-10-06 15:47:29 +03:00
Ilya Kitaev 85f5e73d9c libwallet_api: fixes for transaction history 2016-10-06 15:47:29 +03:00
Ilya Kitaev bb9094f1fe libwallet_api: fixes for transaction history 2016-10-04 23:11:19 +03:00
moneromooo-monero 4e6d70808d
wallet: better implementation of sweep_unmixable
This was still using the old transaction creation algorithm,
coupled with a deterministic output selection scheme, which
made it ill suited to the job, since it'd loop indefinitely
in case the fee increased between the test tx and adding the
fee.
2016-10-04 17:44:56 +01:00
moneromooo-monero 2a0ad8b2fe
simplewallet: add mixin and payment id to sweep_all help 2016-10-04 17:44:30 +01:00
Jacob Brydolf 79bb5a670a
Fix build after spelling corrections in core_rpc_server 2016-10-04 13:55:55 +02:00
Riccardo Spagni ae987907c6
Merge pull request #1179
714ee99 Fix description for locked_transfer (Oyvind Kvanes)
71538f3 Rename to lockblocks and add max value (Oyvind Kvanes)
68ac060 Fix locked_transfer (Oyvind Kvanes)
7d020bd Add locked_transfer (Oyvind Kvanes)
d5f918a Revert transfer_main in simplewallet (Oyvind Kvanes)
3451963 Add motifications to test out locked_transfer (Oyvind Kvanes)
e5e6d88 Add more information to transaction in wallet (Oyvind Kvanes)
9b8a062 Make a small test change (Oyvind Kvanes)
2016-10-04 12:18:55 +02:00
Riccardo Spagni a8e03344e5
Merge pull request #1177
3644aa9 blockchain: avoid using a reference to a temporary (moneromooo-monero)
2016-10-04 12:17:28 +02:00
Riccardo Spagni 2723cd12e1
Merge pull request #1173
65ea836 wallet2_api: added Wallet::daemonBlockChainTargetHeight() libwallet_api: Wallet::blockChainTargetHeight (Jacob Brydolf)
2016-10-04 12:15:02 +02:00
Riccardo Spagni e72b6a7ade
Merge pull request #1165
e57379a p2p: drop any existing connection to a banned IP (moneromooo-monero)
2016-10-04 12:14:41 +02:00
Riccardo Spagni ab60c0503c
Merge pull request #1164
179b1f4 daemon: implement missing print_bc and matching RPC (moneromooo-monero)
2016-10-04 12:14:12 +02:00
Riccardo Spagni bfdac4b5ff
Merge pull request #1160
80b4da3 wallet: wallet option to confirm transfers with no payment id (moneromooo-monero)
2016-10-04 12:11:32 +02:00
Riccardo Spagni 4cb1348548
Merge pull request #1139
01ec195 Update CMakeLists.txt (codehalo)
446ebbc Update CMakeLists.txt (codehalo)
bd773e7 Update CMakeLists.txt (codehalo)
3627cea Cleanup. Dropped "bit" from bitmonero. (Randi Joseph)
2a51396 Dropped "bit" from bitmonero. (Randi Joseph)
78b13d6 Cleanup. Dropped "bit" from bitmonero. (Randi Joseph)
1e6aedb Cleanup. Dropped "bit" from bitmonero. (Randi Joseph)
9e54616 Dropped "bit" from bitmonero. (Randi Joseph)
2016-10-04 12:11:03 +02:00
Riccardo Spagni d60826c0b9
Merge pull request #1133
cec090f Revert "Fix fake 'network synchronized, begin using' messages" (moneromooo-monero)
2016-10-04 12:08:33 +02:00
Riccardo Spagni 60e527f1c2
Merge pull request #1125
7b09e9f wallet: update min mixin for sweep_unmixable on v4 (moneromooo-monero)
2016-10-04 12:06:04 +02:00
Riccardo Spagni 895d20f901
Merge pull request #1123
0d036be blockchain: do not reject chain histories matching only genesis (moneromooo-monero)
2016-10-04 12:05:11 +02:00
Oyvind Kvanes 714ee99678 Fix description for locked_transfer 2016-10-04 11:46:44 +02:00
Riccardo Spagni e34ef4de6c
Merge pull request #1171
6390673 Removed all code related to fast_exit (NanoAkron)
2016-10-04 11:41:41 +02:00
Riccardo Spagni fa1d5efb5a
Merge pull request #1168
10be903 Brackets to prevent premature return (NanoAkron)
fb1785a Brackets to ensure doesn't function prematurely return (NanoAkron)
8ed0d72 Moved logging to target functions rather than caller (NanoAkron)
442bfd1 Added messages at log level 2 to reflect deactivation procedure (NanoAkron)
2016-10-04 11:41:13 +02:00
Riccardo Spagni 36d80b4475
Merge pull request #1162
e5f8642 Update minimum mixin in transfer_original help text (TedTheFicus)
ea45d61 Update minimum mixin in transfer_original help text (TedTheFicus)
2016-10-04 11:38:35 +02:00
Riccardo Spagni db90a16f03
Merge pull request #1152
8b20cbf libwallet_api: do not use fast-refresh on recovery (Ilya Kitaev)
10fe626 libwallet_api: fast-refresh in case of opening non-synced wallet (Ilya Kitaev)
0019e31 libwallet_api: fix unhandled exception on address check (Ilya Kitaev)
1f73f80 libwallet_api: fast-refresh for new wallet (Ilya Kitaev)
4789347 libwallet_api: test for create/init wallet on mainnet (Ilya Kitaev)
2016-10-04 11:37:18 +02:00
Riccardo Spagni 298a0723e8
Merge pull request #1149
25be1d3 Noticed two spellings of the word 'response' in the codebase, one 'responce' and the other 'response'. (NanoAkron)
2016-10-04 11:34:53 +02:00
Riccardo Spagni 8a67e3c95e
Merge pull request #1145
8438fb4 Improving daemon startup log message (NanoAkron)
2016-10-04 11:29:46 +02:00
Riccardo Spagni 2ef81914b5
Merge pull request #1140
bba6af9 wallet: cold wallet transaction signing (moneromooo-monero)
9872dcb wallet: fix log confusion between bytes and kilobytes (moneromooo-monero)
d9b0bf9 cryptonote_core: make extra field removal more generic (moneromooo-monero)
98f19d4 serialization: add support for serializing std::pair and std::list (moneromooo-monero)
2016-10-04 11:27:38 +02:00
Oyvind Kvanes 71538f3240 Rename to lockblocks and add max value 2016-10-04 11:13:26 +02:00
NanoAkron 10be9036da
Brackets to prevent premature return 2016-10-04 01:13:04 +01:00
NanoAkron fb1785ab94
Brackets to ensure doesn't function prematurely return 2016-10-04 01:10:12 +01:00
moneromooo-monero 3644aa94f3
blockchain: avoid using a reference to a temporary 2016-10-03 23:20:50 +01:00
NanoAkron 8ed0d72b12
Moved logging to target functions rather than caller 2016-10-03 22:11:00 +01:00
Jacob Brydolf 65ea8364f8 wallet2_api: added Wallet::daemonBlockChainTargetHeight()
libwallet_api: Wallet::blockChainTargetHeight

Signed-off-by: Jacob Brydolf <jacob@brydolf.net>
2016-10-03 20:47:41 +02:00
NanoAkron 6390673137 Removed all code related to fast_exit 2016-10-03 02:06:55 +01:00
NanoAkron 442bfd1600 Added messages at log level 2 to reflect deactivation procedure 2016-10-02 23:00:41 +01:00
moneromooo-monero e57379a819
p2p: drop any existing connection to a banned IP 2016-10-02 19:23:35 +01:00
moneromooo-monero 179b1f43af
daemon: implement missing print_bc and matching RPC 2016-10-02 10:21:21 +01:00
TedTheFicus ea45d61f5d Update minimum mixin in transfer_original help text
Changed the wording from "from 0 to maximum available" to "from 2 to maximum available".

May I also suggest putting in a number rather than "maximum available" and also clarifying that mixin = 0 is still allowed if the user has unmixable outputs (dust), which he wants to "undust" using sweep_unmixable (comment from dEBRUYNE-1 ).
2016-10-01 12:55:54 -06:00
Ilya Kitaev 8b20cbfa7d libwallet_api: do not use fast-refresh on recovery 2016-10-01 21:04:49 +03:00
moneromooo-monero 80b4da3330
wallet: wallet option to confirm transfers with no payment id
set confirm-missing-payment-id 0|1

Defaults to true.
2016-10-01 17:03:53 +01:00
Ilya Kitaev 10fe626e13 libwallet_api: fast-refresh in case of opening non-synced wallet 2016-09-30 22:42:15 +03:00
Ilya Kitaev 0019e3106b libwallet_api: fix unhandled exception on address check 2016-09-30 21:43:57 +03:00
Ilya Kitaev 1f73f80c94 libwallet_api: fast-refresh for new wallet 2016-09-30 02:11:28 +03:00
Riccardo Spagni 8f94fcf6a3
Merge pull request #1124
8b4e7c6 daemon: report status at 99.9% rather than 100% when not quite synced (moneromooo-monero)
2016-09-29 22:17:51 +02:00
Riccardo Spagni 995dde4f95
Merge pull request #1128
d2e11f3 db_lmdb: do not error if dropping a non existent hard fork table (moneromooo-monero)
2016-09-29 22:16:15 +02:00
Riccardo Spagni af831bed5c
Merge pull request #1129
5e3e362 core: make the sync chunk block count overridable (moneromooo-monero)
2016-09-29 22:15:21 +02:00
NanoAkron 25be1d3ed4 Noticed two spellings of the word 'response' in the codebase, one 'responce' and the other 'response'.
Fixed to the standard spelling 'response'. This may fix some functionality - some calls had mixed spellings.
2016-09-29 14:38:12 +01:00
Oyvind Kvanes 68ac0607da Fix locked_transfer 2016-09-28 16:44:43 +02:00
Oyvind Kvanes 7d020bde5e Add locked_transfer 2016-09-28 16:27:45 +02:00
Oyvind Kvanes d5f918a0b1 Revert transfer_main in simplewallet 2016-09-28 15:20:37 +02:00
Oyvind Kvanes 3451963855 Add motifications to test out locked_transfer 2016-09-28 14:58:14 +02:00
Oyvind Kvanes e5e6d88655 Add more information to transaction in wallet 2016-09-28 13:04:26 +02:00
Oyvind Kvanes 9b8a06203b Make a small test change 2016-09-28 11:01:20 +02:00
NanoAkron 8438fb4ae3 Improving daemon startup log message 2016-09-28 01:47:45 +01:00
Ilya Kitaev 2dacb193d0 wallet2: wallet2::get_daemon_blockchain_height() clean error message on
success
2016-09-28 00:39:06 +03:00
Ilya Kitaev 25e5efc238 libwallet_api: Wallet::setAutoRefreshInterval sanity check 2016-09-28 00:35:10 +03:00
Ilya Kitaev a6688200fb libwallet_api: explicitly return 0 in Wallet::daemonBlockChainHeight()
on error
2016-09-28 00:31:21 +03:00
moneromooo-monero bba6af9064
wallet: cold wallet transaction signing
This change adds the ability to create a new unsigned transaction
from a watch only wallet, and save it to a file. This file can
then be moved to another computer/VM where a cold wallet may load
it, sign it, and save it. That cold wallet does not need to have
a blockchain nor daemon. The signed transaction file can then be
moved back to the watch only wallet, which can load it and send
it to the daemon.

Two new simplewallet commands to use it:
sign_transfer (on the cold wallet)
submit_transfer (on the watch only wallet)

The transfer command used on a watch only wallet now writes an
unsigned transaction set in a file called 'unsigned_monero_tx'
instead of submitting the tx to the daemon as a normal wallet does.
The signed tx file is called 'signed_monero_tx'.
2016-09-27 07:46:39 +01:00
codehalo 01ec1959c3 Update CMakeLists.txt 2016-09-27 02:11:23 -04:00
codehalo 446ebbcd7b Update CMakeLists.txt 2016-09-27 02:11:04 -04:00
codehalo bd773e7805 Update CMakeLists.txt 2016-09-27 02:10:30 -04:00
moneromooo-monero 9872dcbbe3
wallet: fix log confusion between bytes and kilobytes 2016-09-26 23:12:43 +01:00
moneromooo-monero d9b0bf9f35
cryptonote_core: make extra field removal more generic 2016-09-26 23:12:38 +01:00
moneromooo-monero 98f19d40aa
serialization: add support for serializing std::pair and std::list 2016-09-26 23:12:28 +01:00
Randi Joseph cfd71e6bde Cleanup. Dropped "bit" from bitmonero. 2016-09-26 17:47:57 -04:00
Randi Joseph 78b13d6dac Cleanup. Dropped "bit" from bitmonero. 2016-09-26 17:35:10 -04:00
Randi Joseph 1e6aedba8b Cleanup. Dropped "bit" from bitmonero. 2016-09-26 17:22:30 -04:00
Randi Joseph 9e54616924 Dropped "bit" from bitmonero. 2016-09-26 17:22:30 -04:00
Randi Joseph 3627cea34a Cleanup. Dropped "bit" from bitmonero. 2016-09-26 16:47:07 -04:00
Ilya Kitaev cda4cb969a formatting: 2-spaces indentation 2016-09-26 23:46:07 +03:00
Ilya Kitaev 545a48f098 formatting: 2-spaces indentation 2016-09-26 23:29:53 +03:00
Ilya Kitaev 3079c5756b wallet2_api: milliseconds resolution for auto-refresh interval 2016-09-26 23:19:25 +03:00
Ilya Kitaev 7b4a85b309 wallet2_api: added Wallet::daemonBlockChainHeight() 2016-09-26 23:19:25 +03:00
Ilya Kitaev 9de3ec3e2a libwallet_api: Wallet::blockChainHeight, WalletListener::newBlock 2016-09-26 23:19:25 +03:00
Riccardo Spagni e01a9ea507
Merge pull request #1117
fc855c1 Made error message consistent with other, more helpful, message (Will Skinner)
2016-09-26 17:34:26 +02:00
Riccardo Spagni cf74a137f3
Merge pull request #1116
2e18e10 libwallet_api: simple documentation on testing environment (Ilya Kitaev)
69c9824 libwallet_api: tests: env variables for WALLETS_ROOT_DIR and TESTNET_DAEMON_ADDRESS (Ilya Kitaev)
1f8a70c libwallet_api: tests: changed testwallets path, uncommitted all tests (Ilya Kitaev)
d5d0856 wallet2_api: getter and setter for "refresh interval" (Ilya Kitaev)
cdb6c96 wallet2_api: fixed deadlock while closing wallet (Ilya Kitaev)
2016-09-26 17:34:06 +02:00
Riccardo Spagni 90f818b646
Merge pull request #1113
12427dd Fix minor typo in "need resize" message. (Myagui)
2016-09-26 17:33:08 +02:00
Randi Joseph 2a5139644a Dropped "bit" from bitmonero. 2016-09-26 10:42:29 -04:00
moneromooo-monero cec090fc8a
Revert "Fix fake 'network synchronized, begin using' messages"
This reverts commit 78035d2b6c.

The patch doesn't work, and causes constant SYNCHRONIZED OK spam.
2016-09-25 19:08:35 +01:00
moneromooo-monero 5e3e362c85
core: make the sync chunk block count overridable 2016-09-24 17:00:19 +01:00
moneromooo-monero d2e11f374a
db_lmdb: do not error if dropping a non existent hard fork table 2016-09-24 16:15:50 +01:00
moneromooo-monero 7b09e9ff77
wallet: update min mixin for sweep_unmixable on v4 2016-09-24 14:48:34 +01:00
moneromooo-monero 8b4e7c6c9c
daemon: report status at 99.9% rather than 100% when not quite synced
Less confusing for users.
2016-09-24 11:45:19 +01:00
moneromooo-monero 0d036bec26
blockchain: do not reject chain histories matching only genesis
This is fine if our local chain is so small that it is entirely
contained within the last jump in the peer's short chain history.
2016-09-24 11:19:00 +01:00
Will Skinner fc855c1a21 Made error message consistent with other, more helpful, message 2016-09-22 21:06:39 -07:00
Myagui 12427dd8d3 Fix minor typo in "need resize" message.
Message observed while synchronizing a node from scratch.
"LMDB memory map needs resized"
Proposing a change to:
"LMDB memory map needs to be resized"
2016-09-21 20:40:07 +01:00
Ilya Kitaev d5d0856ce6 wallet2_api: getter and setter for "refresh interval" 2016-09-20 20:40:58 +03:00
Ilya Kitaev cdb6c96f89 wallet2_api: fixed deadlock while closing wallet 2016-09-20 20:08:33 +03:00
J Ryan Littlefield 7f009bb7e2 Remove redundant "default" in set mixin help desc 2016-09-19 16:09:31 -06:00
Riccardo Spagni 53e18cafdf
Merge pull request #1102
eeb2bbc epee: optionally restrict HTTP service to a configurable user agent (moneromooo-monero)
2016-09-18 21:38:46 +02:00
Riccardo Spagni 5866d91b82
Merge pull request #1101
56ff099 fixed tag detector (Riccardo Spagni)
2016-09-18 21:38:21 +02:00
moneromooo-monero eeb2bbc0fc
epee: optionally restrict HTTP service to a configurable user agent
This is intended to catch traffic coming from a web browser,
so we avoid issues with a web page sending a transfer RPC to
the wallet. Requiring a particular user agent can act as a
simple password scheme, while we wait for 0MQ and proper
authentication to be merged.
2016-09-18 20:32:02 +01:00
Riccardo Spagni 56ff099956
fixed tag detector 2016-09-18 21:21:13 +02:00
Riccardo Spagni 68e6678ab7
Merge pull request #1099
c2faab5 fix v5 height (Riccardo Spagni)
70bd7d8 remove dead backup seed nodes, add new ones (Riccardo Spagni)
cebbcf0 fix v5 fork date description (Riccardo Spagni)
eb60fa2 update version (Riccardo Spagni)
c41098a updated fork heights for v4 and v5 (Riccardo Spagni)
c69b8a1 update block headers (Riccardo Spagni)
f148af2 add checkpoints (Riccardo Spagni)
c15da0e switch wallet API from std thread/mutex to boost (Riccardo Spagni)
8a274ea switch wallet API from std thread/mutex to boost (Riccardo Spagni)
2016-09-18 20:26:39 +02:00
Riccardo Spagni c2faab5e1a
fix v5 height 2016-09-18 20:13:47 +02:00
Riccardo Spagni 70bd7d8871
remove dead backup seed nodes, add new ones 2016-09-18 20:10:46 +02:00
Riccardo Spagni cebbcf0f64
fix v5 fork date description 2016-09-18 19:35:36 +02:00
Riccardo Spagni eb60fa2cff
update version 2016-09-18 19:20:29 +02:00
Riccardo Spagni c41098aacf
updated fork heights for v4 and v5 2016-09-18 19:18:16 +02:00
Riccardo Spagni c69b8a188b
update block headers 2016-09-18 19:05:47 +02:00
Riccardo Spagni f148af235a
add checkpoints 2016-09-18 18:40:43 +02:00
Riccardo Spagni 6b744c349f
Merge pull request #1098
1dd5b0b wallet: keep change dest separate from other dests (moneromooo-monero)
2016-09-18 17:42:32 +02:00
Riccardo Spagni a6914c140c
Merge pull request #1097
5f5d727 wallet: fix empty tx in corner case sending nothing (moneromooo-monero)
2016-09-18 17:42:10 +02:00
Riccardo Spagni 8a274eab3f switch wallet API from std thread/mutex to boost 2016-09-18 17:37:47 +02:00
moneromooo-monero 1dd5b0b7df
wallet: keep change dest separate from other dests
This fixes misreporting of amount/fee in rct txes, as the rct
tx construction code was lumping all dests (whether change or
not) in the same dests vector, while the pre-rct code was
keeping it separate.
2016-09-18 12:04:23 +01:00
moneromooo-monero 5f5d7279b6
wallet: fix empty tx in corner case sending nothing 2016-09-18 10:44:32 +01:00
Riccardo Spagni 4a03a8a1da
Merge pull request #1094
06bb692 cmake: support BUILD_SHARED_LIBS built-in option (redfish)
e1c7af3 cmake: transitive deps and remove deprecated LINK_* (redfish)
54010b9 crypto: armv7: slow-hash: remove redundant source include (redfish)
2016-09-18 11:44:08 +02:00
Riccardo Spagni 14f88f6b98
Merge pull request #1093
e86c5b9 miner: do not try to save config if the path isn't set (moneromooo-monero)
2016-09-18 11:40:52 +02:00
Riccardo Spagni 35cdbe2eb2
Merge pull request #1089
368485d simplewallet: do not expose the details of tx splitting to the user (moneromooo-monero)
2016-09-18 11:36:30 +02:00
moneromooo-monero e86c5b9b53
miner: do not try to save config if the path isn't set
This saves on an exception dump when trying to write to /
after finding a block.
2016-09-18 09:57:42 +01:00
redfish 06bb6923c3 cmake: support BUILD_SHARED_LIBS built-in option
Support building internal libraries as shared. This reduces
development time by eliminating the need to re-link all
binaries every time non-interface code in the library changes.
Instead, can hack on libxyz, then `make libxyz`, and re-run
monerod.

By default BUILD_SHARED_LIBS is OFF in release build type,
and ON in debug build type, but can be overriden with -D.
2016-09-18 02:56:26 -04:00
redfish e1c7af35d4 cmake: transitive deps and remove deprecated LINK_*
Keep the immediate direct deps at the library that depends on them,
declare deps as PUBLIC so that targets that link against that library
get the library's deps as transitive deps.

Break dep cycle between blockchain_db <-> crytonote_core.
No code refactoring, just hide cycle from cmake so that
it doesn't complain (cycles are allowed only between
static libs, not shared libs).

This is in preparation for supproting BUILD_SHARED_LIBS cmake
built-in option for building internal libs as shared.
2016-09-18 02:56:26 -04:00
redfish 54010b97b4 crypto: armv7: slow-hash: remove redundant source include
aesb.c is already present in libcrypto as a standalone object.
Tested: builds and runs fine on armv7, static and dynamic.
2016-09-18 02:56:26 -04:00
moneromooo-monero 368485d518
simplewallet: do not expose the details of tx splitting to the user
They're confusing, as people think it reports their balance.
2016-09-17 22:23:03 +01:00
moneromooo-monero 925086346a
simplewallet: fix wrong amount in show_transfers for pending transactions
Change was not taken into consideration
2016-09-17 17:18:24 +01:00
Riccardo Spagni a1e6fb8243
Merge pull request #1080
423776f daemon: log version when starting (moneromooo-monero)
2016-09-17 07:48:46 +02:00
moneromooo-monero 423776f9b1
daemon: log version when starting
Helps with investigating bug reports
2016-09-16 20:47:52 +01:00
moneromooo-monero 9c7b0cb28e
wallet: change priority/fee to ArticMine's recommendation
We keep 1, 2, 3 multipliers till the fee decrase from 0.01/kB
to 0.002/kB, where we start using 1, 20, 166 multipliers.
This ensures the higher multiplier will compensate for the
block reward penalty when pushing past 100% of the past median.

The fee-multiplier wallet setting is now rename to priority,
since it keeps its [0..3] range, but maps to different multiplier
values.
2016-09-16 11:50:52 +01:00
Riccardo Spagni e06530e2d9
Merge pull request #1077
69b5918 Add ARMv8-A AES support (Howard Chu)
2016-09-16 08:42:59 +02:00
Howard Chu 69b59186f3
Add ARMv8-A AES support
More than twice as fast as plain C code. Note that both ARMv7 and
ARMv8 can be further improved with better use of NEON.

Also tweak ARMv7 multiplier
2016-09-16 01:45:49 +01:00
rckngOpossum e29e8b1b99 compile errors fixed when PER_BLOCK_CHECKPOINT not defined 2016-09-15 15:55:07 -05:00
rckngOpossum e49c161987 compile errors fixed when DEBUG_CREATE_BLOCK_TEMPLATE defined 2016-09-15 15:36:16 -05:00
Riccardo Spagni 7c899ec33a
Merge pull request #1074
cd01bae Decrease minimum fee from 0.01/kB to 0.002/kB (moneromooo-monero)
2016-09-15 15:23:49 +02:00
Riccardo Spagni d4a533a800
Merge pull request #1068
a5af33d Add libminiupnpc and libunwind to snap. (Casey Marshall)
823843e Fix portability issues discovered with fresh snap install. (Casey Marshall)
0a56d83 Add snap packaging. (Casey Marshall)
2016-09-15 15:20:38 +02:00
Riccardo Spagni ce53674520
Merge pull request #1067
70b78bb wallet: fix misdetection of duplicates (moneromooo-monero)
7d413f6 rct: rework serialization to avoid storing vector sizes (moneromooo-monero)
0ce79ef core: cleanup some typecasting (moneromooo-monero)
2016-09-15 15:19:54 +02:00
moneromooo-monero cd01bae735
Decrease minimum fee from 0.01/kB to 0.002/kB
The wallet will start using that fee about two weeks after hard
fork 3, when most people will likely have updated their daemons.
2016-09-15 09:28:33 +01:00
moneromooo-monero 70b78bb2c8
wallet: fix misdetection of duplicates 2016-09-14 20:23:28 +01:00
moneromooo-monero 7d413f635f
rct: rework serialization to avoid storing vector sizes 2016-09-14 20:23:06 +01:00
moneromooo-monero 0ce79ef10e
core: cleanup some typecasting 2016-09-14 20:22:16 +01:00
Casey Marshall 0a56d83d3d Add snap packaging.
This adds [snap](https://snapcraft.io) packaging to the project. See the
link for more information on snaps. Snap packages install on all Linux
distributions. On Ubuntu, snap confinement with apparmor and seccomp
provide an additional layer of security.

This snap sets up monerod as a systemd service, which should start
immediately on install. To access the wallet CLI, simply run `monero`
(/snap/bin/monero). I think it's a really quick & easy way to get
started with monero.

I've made some opinionated decisions in the packaging just to kick this
off, but I'm happy to iterate on this stuff.
2016-09-11 11:17:12 -05:00
iDunk5400 f1381388ec Daemon: fix hashrate display in diff command output 2016-09-10 23:16:25 +02:00
Riccardo Spagni 391d6d0cf8
Merge pull request #1049
24d9337 crypto,cmake: enable ASM mul impl on ARM; add cmake opt (redfish)
2016-09-10 15:13:33 +02:00
Riccardo Spagni 94df1f4d84
Merge pull request #1044
b1d5189 cmake: fix def propagation, fixes 32-bit build (redfish)
2016-09-10 15:10:43 +02:00
redfish 24d93370ad crypto,cmake: enable ASM mul impl on ARM; add cmake opt
This was disabled earlier as part of diagnosing failing tests
on ARM, which turned out to be due to aliasing, fixed by
adding -fno-strict-aliasing. So, re-enabling it back.
2016-09-04 06:46:35 +00:00
redfish b1d5189ae1 cmake: fix def propagation, fixes 32-bit build
32-bit build would fail to link with 'mdb_env_create undefined' (because
for 32-bit build, mdb_env_create_vl32 is defined instead).

This bug was introduced with the recent change to virtual object
libraries. The problem is that the COMPILE_DEFINITIONS property
was not propagated from dependee target (lmdb) to depedent
target's (blockchain_db) virtual object lib (obj_blockchain_db).
This patch makes that happen.

I chose to include INTERFACE_COMPILE_DEFINITIONS because there
should not be a need to propagate private defs, but it doesn't
make a difference in this case.
2016-09-03 17:44:28 -04:00
Riccardo Spagni 011e42f337
fix nigglies, as pointed out by moneromooo-monero 2016-09-03 22:36:09 +02:00
Riccardo Spagni df63e0704a
fix remaining bitmonero and simplewallet bits 2016-09-03 22:03:44 +02:00
Riccardo Spagni 04b120fb39
fix blockchain utilities readme 2016-09-03 21:54:10 +02:00
Riccardo Spagni c45912e1df
Merge pull request #1039
883d651 remove blockchain_dump (Riccardo Spagni)
7825386 fix leftover add_directory (Riccardo Spagni)
face573 rename simplewallet (Riccardo Spagni)
2e984bc rename Monero daemon (Riccardo Spagni)
b6973b8 rename blockchain utils (Riccardo Spagni)
f968ccb remove cn_deserialize (Riccardo Spagni)
7a38e4e removed simpleminer (Riccardo Spagni)
2016-09-03 19:59:41 +02:00
Riccardo Spagni aa996e3a60
Merge pull request #1038
43677f9 gui/libwallet_merged: libunbound is one more dependency (Ilya Kitaev)
2016-09-03 14:11:26 +02:00
Riccardo Spagni 883d651c3b
remove blockchain_dump 2016-09-03 14:07:17 +02:00
Riccardo Spagni 7825386468
fix leftover add_directory 2016-09-03 13:51:07 +02:00
Riccardo Spagni face57309b
rename simplewallet 2016-09-03 13:48:38 +02:00
Riccardo Spagni 2e984bc23c
rename Monero daemon 2016-09-03 13:46:41 +02:00
Riccardo Spagni b6973b8053
rename blockchain utils 2016-09-03 13:45:18 +02:00
Riccardo Spagni f968ccb9d3
remove cn_deserialize 2016-09-03 13:20:53 +02:00
Riccardo Spagni 7a38e4e65d
removed simpleminer 2016-09-03 13:20:00 +02:00
Ilya Kitaev 43677f9d68 gui/libwallet_merged: libunbound is one more dependency 2016-09-03 13:32:06 +03:00
Riccardo Spagni 6c608c352c Merge pull request #1033
4d17949 wallet_merged: ringct added to dependencies (Ilya Kitaev)
2016-09-01 23:00:21 +02:00
Ilya Kitaev 4d17949d4f wallet_merged: ringct added to dependencies 2016-09-01 23:06:36 +03:00
luigi1111 34bb78956f
Re-add s to rangesigs
Whoops.
2016-09-01 13:53:53 -05:00
luigi1111 dbf017a5f7
Fix some rct tx size calculations
Some variance is still expected
2016-09-01 13:14:31 -05:00
Riccardo Spagni c09daf2d40
Merge pull request #1029
f1d87c8 simplewallet: add magic and public keys to key image export file (moneromooo-monero)
f4e894a simplewallet: make the key image export format binary (moneromooo-monero)
2016-09-01 17:11:49 +02:00
moneromooo-monero f1d87c8064
simplewallet: add magic and public keys to key image export file
This ensures it's hard to mix files up
2016-09-01 11:32:44 +01:00
moneromooo-monero f4e894a526
simplewallet: make the key image export format binary
Saves on space, and on some pointless hex conversions
2016-09-01 11:04:53 +01:00
Riccardo Spagni e0d78858e4
Merge pull request #1022
b8c03a5 Remove blocks_per_sync limits (Howard Chu)
2016-09-01 11:32:27 +02:00
Riccardo Spagni 27c8713f56
Merge pull request #1027
85dc0ce wallet: sanity check on histogram response (moneromooo-monero)
2016-09-01 11:31:58 +02:00
Riccardo Spagni badd77068b
Merge pull request #1021
1d5ba65 Fix incorrect help usage for the threads option to start_mining (Quanah Gibson-Mount)
2016-09-01 11:29:57 +02:00
Riccardo Spagni d3994f1df0
Merge pull request #1018
6cf8ca2 core: faster find_blockchain_supplement (moneromooo-monero)
2016-09-01 11:29:22 +02:00
Riccardo Spagni e858c4c745
Merge pull request #1016
3112e24 wallet: interpret 0 fee multiplier as default for sweep_all too (moneromooo-monero)
2016-09-01 11:28:29 +02:00
Riccardo Spagni e33e74a69b
Merge pull request #1012
c2941cb Show correct amount of days behind/ahead while syncing (tobiasw2)
2016-09-01 11:26:58 +02:00
Riccardo Spagni 9b579773d7
Merge pull request #1007
1de812a cmake: merge libs via virtual object libraries (redfish)
a7498ad cmake: comply with the new policy CMP0026 (redfish)
2016-09-01 11:21:38 +02:00
moneromooo-monero 85dc0ce3a5
wallet: sanity check on histogram response 2016-09-01 09:04:45 +01:00
moneromooo-monero 6cf8ca2a7f
core: faster find_blockchain_supplement
Since this queries block heights for blocks that may or may not
exist, queries for non existing blocks would throw an exception,
and that would slow down the loop a lot. 7 seconds to go through
a 30 hash list.

Fix this by adding an optional return block height to block_exists
and using this instead. Actual errors will still throw an
exception.

This also cuts down on log exception spam.
2016-08-31 10:03:32 +01:00
redfish 1de812a92a cmake: merge libs via virtual object libraries
CMake issued a warming about policy CMP0026: access of LOCATION
target property at config time was disallowed. Offending code
was the code that merged static libraries to generate
libwallet_merged.a.

This patch does that same merge task in a much simpler way. And,
since it doesn't violate the policy, the warning went away.
2016-08-30 23:01:48 -04:00
Howard Chu b8c03a5f10
Remove blocks_per_sync limits
The code used to cap at 5000 blocks per sync. It also treated 0 as 1.
Remove these checks; if specified as 0 do no periodic syncs at all.
Then the user is responsible for syncing in some external process.
2016-08-31 00:00:19 +01:00
Quanah Gibson-Mount 1d5ba65f3d Fix incorrect help usage for the threads option to start_mining 2016-08-30 14:59:28 -07:00
tobiasw2 c2941cb30a Show correct amount of days behind/ahead while syncing 2016-08-30 23:50:45 +02:00
moneromooo-monero 3112e24aa7
wallet: interpret 0 fee multiplier as default for sweep_all too 2016-08-30 13:19:20 +01:00
Riccardo Spagni c3ba844f03
Merge pull request #1014
1cdba42 db_lmdb: fix reorg with "halfway rct" coinbase outputs (moneromooo-monero)
2016-08-30 00:10:06 +02:00
moneromooo-monero 1cdba42a77
db_lmdb: fix reorg with "halfway rct" coinbase outputs 2016-08-29 22:44:17 +01:00
moneromooo-monero 73b9b4ba34
wallet: fix not finding enough rct fake outputs
If picking coinbase outputs, those are locked for a longer time
than other outputs, so we ask for more of those
2016-08-29 20:51:21 +01:00
Howard Chu 5bba2fdbb0
More for PR#999 2016-08-29 15:58:56 +01:00
moneromooo-monero adca903589
wallet_rpc_server: return payment id in make_integrated_address RPC
It is useful, especially when requesting a random one
2016-08-29 12:18:22 +01:00
Riccardo Spagni c915bffa51
Merge pull request #1002
91ca0b4 core: allow empty global indices for txes with empty vout (moneromooo-monero)
2016-08-29 10:42:14 +02:00
moneromooo-monero 91ca0b4065
core: allow empty global indices for txes with empty vout 2016-08-29 09:28:32 +01:00
Riccardo Spagni f5b802e684
Merge pull request #999
dc411ea Change default db-sync-mode to fast, not fastest (Howard Chu)
2016-08-28 22:50:18 +02:00
moneromooo-monero 887db9f936
blockchain: testnet heights for v3, v4, and v5 2016-08-28 21:30:54 +01:00
moneromooo-monero f24ab58d18
ringct: remove unused code 2016-08-28 21:30:53 +01:00
moneromooo-monero b38452bd55
ringct: pass structure by const ref, not value 2016-08-28 21:30:51 +01:00
moneromooo-monero fd11271eea
ringct: use memcpy/memset instead of handwritten loop where appropriate 2016-08-28 21:30:49 +01:00
moneromooo-monero 5d38206fcc
ringct: remove spurious copies 2016-08-28 21:30:47 +01:00
moneromooo-monero 16732a85d7
rct: faster Cryptonote/rct conversions 2016-08-28 21:30:45 +01:00
moneromooo-monero fbd7c359ee
wallet: fix some "may be used uninitialized" warnings
The compiler can't always work out the _found booleans are
set iff the value is initialized.
2016-08-28 21:30:44 +01:00
moneromooo-monero 4a41dd4068
wallet: do not generate 0 change 2016-08-28 21:30:42 +01:00
moneromooo-monero a0925e628e
core: use full rct signatures if just one input
It is slightly smaller, but requires all rings to have the real
input on the same index, so can only be used for single input txes.
2016-08-28 21:30:40 +01:00
moneromooo-monero 94fd881f74
rct: early out on failure on verRange 2016-08-28 21:30:38 +01:00
moneromooo-monero 45349b6f7c
wallet: do not ask for duplicate histograms 2016-08-28 21:30:36 +01:00
moneromooo-monero b951bc8780
wallet: transfer_selected_rct now also selects fake outs 2016-08-28 21:30:34 +01:00
moneromooo-monero 4f887dea6e
increase minimum mixin to 4 on hard fork 5 2016-08-28 21:30:33 +01:00
moneromooo-monero 0815c72df7
core: allow v1 txes after HF 5 when sweeping unmixable outputs 2016-08-28 21:30:31 +01:00
moneromooo-monero 074e602609
ringct: use Cryptonote serialization to hash non prunable data 2016-08-28 21:30:28 +01:00
moneromooo-monero c3b3260ae5
New "Halfway RingCT" outputs for coinbase transactions
When RingCT is enabled, outputs from coinbase transactions
are created as a single output, and stored as RingCT output,
with a fake mask. Their amount is not hidden on the blockchain
itself, but they are then able to be used as fake inputs in
a RingCT ring. Since the output amounts are hidden, their
"dustiness" is not an obstacle anymore to mixing, and this
makes the coinbase transactions a lot smaller, as well as
helping the TXO set to grow more slowly.

Also add a new "Null" type of rct signature, which decreases
the size required when no signatures are to be stored, as
in a coinbase tx.
2016-08-28 21:30:26 +01:00
moneromooo-monero 6f526cdff8
rct: log why verification fails
and remove some unnecessary variables in the checking code
2016-08-28 21:30:23 +01:00
moneromooo-monero d4b8991e44
rct: serialize txnFee as varint 2016-08-28 21:30:21 +01:00
moneromooo-monero d4b62a1e29
rct amount key modified as per luigi1111's recommendations
This allows the key to be not the same for two outputs sent to
the same address (eg, if you pay yourself, and also get change
back). Also remove the key amounts lists and return parameters
since we don't actually generate random ones, so we don't need
to save them as we can recalculate them when needed if we have
the correct keys.
2016-08-28 21:30:19 +01:00
moneromooo-monero 93f5c625f0
rct: rework v2 txes into prunable and non prunable data
Nothing is pruned, but this allows easier changes later.
2016-08-28 21:30:18 +01:00
moneromooo-monero d93746b6d3
rct: rework the verification preparation process
The whole rct data apart from the MLSAGs is now included in
the signed message, to avoid malleability issues.

Instead of passing the data that's not serialized as extra
parameters to the verification API, the transaction is modified
to fill all that information. This means the transaction can
not be const anymore, but it cleaner in other ways.
2016-08-28 21:30:16 +01:00
moneromooo-monero 3ab2ab3e76
rct: change the simple flag to a type
for future expansion
2016-08-28 21:30:14 +01:00
Shen Noether c5be4b0bea
rct: avoid the need for the last II element
This element is used in the generation of the MLSAG, but isn't
needed in verification.
Also misc changes in the cryptonote code to match, by mooo.
2016-08-28 21:30:12 +01:00
moneromooo-monero a47ceee83b
wallet: do not store signatures in the wallet cache
Saves some substantial space.
Also avoid calculating tx hashes we don't need.
2016-08-28 21:30:10 +01:00
moneromooo-monero 0263dd2d23
core: add some locking around pool use 2016-08-28 21:30:08 +01:00
moneromooo-monero 2c9d9519f1
wallet2: factor m_spent changes
Makes it easier to track what is going on.
2016-08-28 21:30:04 +01:00
moneromooo-monero 1303cda646
wallet: always use new algorithm for RPC transfers
This ensures we get rct transactions when appropriate
2016-08-28 21:30:03 +01:00
moneromooo-monero b337aea6cc
rct: do not serialize senderPk - it is not used anymore 2016-08-28 21:30:01 +01:00
moneromooo-monero 230fca2d56
wallet: use the prefered rct case only when enough rct outs exist 2016-08-28 21:29:55 +01:00
moneromooo-monero c27194a444
wallet: do not try to use rct txes a few blocks before the fork 2016-08-28 21:29:53 +01:00
moneromooo-monero 1bf069825b
tx_pool: log why a transaction was rejected for version checks 2016-08-28 21:29:51 +01:00
moneromooo-monero 37bdf6ebe3
change fork settings to allow pre-rct txes for one more fork cycle 2016-08-28 21:29:50 +01:00
moneromooo-monero cc85cc6a3f
simplewallet: better check_tx_key feedback
Print number of confirmations if the tx is in the blockchain,
or a warning if it's in the pool.
2016-08-28 21:29:48 +01:00
moneromooo-monero 9b70856ccb
rct: make the amount key derivable by a third party with the tx key
Scheme design from luigi1114.
2016-08-28 21:29:46 +01:00
moneromooo-monero cf33e1a52a
rct: do not serialize public keys in outPk
They can be reconstructed from vout
2016-08-28 21:29:43 +01:00
moneromooo-monero 83ab3151e8
wallet2_api: zero amounts are now allowed with rct 2016-08-28 21:29:41 +01:00
moneromooo-monero 096ac06521
wallet2_api: update on_money_{received,spent} prototypes for rct changes 2016-08-28 21:29:40 +01:00
moneromooo-monero 3cb2edec66
rpc: send global indices along with blocks/transacions on refresh
This plugs a privacy leak, where the wallet tells the daemon
which transactions contain outputs for the wallet by asking
for additional information for that particular transaction.

As a nice bonus, this actually makes refresh slightly faster.
2016-08-28 21:29:38 +01:00
moneromooo-monero 414b424d32
core: always use the new simple rct variant 2016-08-28 21:29:36 +01:00
moneromooo-monero 84c82cd775
wallet: better tx input selection
We try to avoid related inputs, when possible
2016-08-28 21:29:32 +01:00
moneromooo-monero 1e21651f24
rct: use the already defined H where possible
Found by luigi1111w
2016-08-28 21:29:29 +01:00
moneromooo-monero 07d353dfc6
wallet: handle 0 change properly
With RCT, we allow 0 size outputs, to try and encourage txes
with two inputs and two outputs. Consolidation would then
have two non zero inputs, one zero output, and one larger
output.
2016-08-28 21:29:27 +01:00
moneromooo-monero e81a2b2cfa
port get_tx_key/check_tx_key to rct 2016-08-28 21:29:24 +01:00
moneromooo-monero a4d4d6194b
integrate simple rct api 2016-08-28 21:29:20 +01:00
moneromooo-monero 1e8d37e7d8
serialization: add override for serializing bool 2016-08-28 21:29:19 +01:00
Shen Noether dbb5f2d6a3
ringct: optimization/cleanup of hash functions 2016-08-28 21:29:16 +01:00
Shen Noether 4fd01f2bee
ringct: "simple" ringct variant
Allows the fake outs to be in different positions for each ring.
For rct inputs only.
2016-08-28 21:29:14 +01:00
moneromooo-monero 37c895e5e3
wallet: rct specific output selection
Before the normal selection, we attempt to find either one or two
suitable outputs to use as inputs to the rct tx. The intent is that
most rct txes will have one or two inputs, and we want all to look
the same if possible.
When two outputs are needed, we try to find a pair which are not
related (ie, by being from the same or similar block height).
2016-08-28 21:29:11 +01:00
moneromooo-monero 1181c57967
wallet: make sweep_all work with rct txes too 2016-08-28 21:29:09 +01:00
moneromooo-monero c2ec6d35b9
mixable transactions must be rct for v3 2016-08-28 21:29:07 +01:00
moneromooo-monero 1017a75460
wallet: factor transfer_rct code with transfer code
The "transfer" simplewallet command is renamed to "transfer_original".
"transfer_new" is renamed "transfer", "transfer_rct" is removed,
and the new "transfer" now selects rct or non rct transactions
based on the current block height.
2016-08-28 21:29:05 +01:00
moneromooo-monero f5465d8246
Condition v2 txes on v3 hard fork 2016-08-28 21:29:04 +01:00
moneromooo-monero 59a66e209a
move the rct commitments to the output_amounts database
Since these are needed at the same time as the output pubkeys,
this is a whole lot faster, and takes less space. Only outputs
of 0 amount store the commitment. When reading other outputs,
a fake commitment is regenerated on the fly. This avoids having
to rewrite the database to add space for fake commitments for
existing outputs.

This code relies on two things:

- LMDB must support fixed size records per key, rather than
per database (ie, all records on key 0 are the same size, all
records for non 0 keys are same size, but records from key 0
and non 0 keys do have different sizes).

- the commitment must be directly after the rest of the data
in outkey and output_data_t.
2016-08-28 21:29:02 +01:00
moneromooo-monero 6d0e47148b
rct: add the tx prefix hash into the MLSAG
to protect the non-signatures parts of the tx from tampering.
2016-08-28 21:28:58 +01:00
moneromooo-monero 35dce5c70c
ringct: fix size unit mismatch calling keccak 2016-08-28 21:28:57 +01:00
moneromooo-monero 20e50ec7f7
ringct: do not serialize what can be reconstructed
The mixRing (output keys and commitments) and II fields (key images)
can be reconstructed from vin data.
This saves some modest amount of space in the tx.
2016-08-28 21:28:55 +01:00
moneromooo-monero ada527558f
Use the supplied hard fork version in validate_miner_transaction
rather than using the current one. No functional changes, but may
save some bugs in the future.
2016-08-28 21:28:51 +01:00
moneromooo-monero acbe06d8e9
wallet: update spent status when an accepted tx disappears 2016-08-28 21:28:49 +01:00
moneromooo-monero 089df4af83
wallet: reset output spent status on blockchain reorg
If the blockchain gets reorganized, all outputs spent in the part
of the blockchain that's blown away need to be reset to unspent
(they may end up spent again on the blocks that replace the blocks
that are removed, however).
2016-08-28 21:28:47 +01:00
moneromooo-monero 73d59f17e1
ringct: catch errors from ge_frombytes_vartime 2016-08-28 21:28:45 +01:00
moneromooo-monero 359f46901e
ringct: add missing size check for ecdhInfo 2016-08-28 21:28:41 +01:00
moneromooo-monero 229968eafc
ringct: change asserts to return false for boolean functions 2016-08-28 21:28:39 +01:00
moneromooo-monero dc4aad7eb5
add rct to the protocol
It is not yet constrained to a fork, so don't use on the real network
or you'll be orphaned or rejected.
2016-08-28 21:28:37 +01:00
moneromooo-monero 211d1db762
db_lmdb: update reset for recent db changes
- we need to drop the new m_tx_indices database
- we reset the version to current version

This fixes the core tests failing to initialize.
2016-08-28 21:28:35 +01:00
moneromooo-monero dee42d6dac
ringct: add functions to commit to an amount
One to commit to an amount with zero key (for use with fake
commitments for pre-rct outputs), and one with an arbitrary
key (for rct outputs).
2016-08-28 21:28:33 +01:00
moneromooo-monero cc7f449d57
make rct tx serialization work
It may be suboptimal, but it's a pain to have to rebuild everything
when some of this changes.
Also, no clue why there seems to be two different code paths for
serializing a tx...
2016-08-28 21:28:31 +01:00
moneromooo-monero e70e8a69f4
crypto: error out where appropriate 2016-08-28 21:28:29 +01:00
moneromooo-monero 54f7429cf6
ringct: allow no outputs, and add tests for this and fees 2016-08-28 21:28:27 +01:00
moneromooo-monero e99904ac31
ringct: make fee optional 2016-08-28 21:28:25 +01:00
Shen Noether f8c04ad94f
ringct: txn fee stuff 2016-08-28 21:28:23 +01:00
moneromooo-monero 66f96260b2
ringct: new {gen,decode}Rct APIs for convenience
A new version of genRct takes the mixRing as parameter, instead
of the inPk. inPk are part of the mixRing, and it is cleaner to
pass the mixRing data than to fetch it from the RingCT code.

A new version of decodeRct also returns the mask.

Also, failure to decode throws, so errors are properly detected.
2016-08-28 21:28:21 +01:00
moneromooo-monero 789b2e21f6
ringct: add more convenience functions 2016-08-28 21:28:20 +01:00
moneromooo-monero 98564439f8
core: link against libringct 2016-08-28 21:28:18 +01:00
moneromooo-monero 4258dab4d6
core: new /getrandom_rctouts.bin binary RPC call
to get random ringct outputs to mix with
2016-08-28 21:28:16 +01:00
moneromooo-monero c3a2e1450a
ringct: add convenience functions to bridge ringct and cryptonote 2016-08-28 21:28:14 +01:00
moneromooo-monero eb56d0f994
blockchain_db: add functions for adding/removing/getting rct commitments 2016-08-28 21:28:11 +01:00
moneromooo-monero 82072e701a
ringct: restore verRange check in debug mode 2016-08-28 21:28:08 +01:00
moneromooo-monero 63856cad29
ringct: add check for destinations/amount size being equal 2016-08-28 21:28:07 +01:00
moneromooo-monero e816a09292
ringct: fix off by 1 in mixin usage 2016-08-28 21:28:04 +01:00
moneromooo-monero 09c5ea43a2
ringct: simplify random key generation 2016-08-28 21:28:03 +01:00
Shen Noether 56f6549962
ringct: cosmetic fixes
Ported from Shen's RingCT repo
2016-08-28 21:27:59 +01:00
Shen Noether 55ff136e12
ringct: changes to hashToPointSimple to calcualte H2 values
Ported from Shen's RingCT repo
2016-08-28 21:27:57 +01:00
Shen Noether 63733b1785
ringct: compare keys with bitwise equality, not crypto ops
Ported from Shen's RingCT repo
2016-08-28 21:27:56 +01:00
Shen Noether 98f4c6f7eb
ringct: fix size argument to cn_fast_hash
Ported from Shen's RingCT repo
2016-08-28 21:27:54 +01:00
Shen Noether 09fb9f4b75
Fix sc_0 to skGen in ProveRange 2016-08-28 21:27:48 +01:00
moneromooo-monero d37c1db032
ringct: add a few consts where appropriate 2016-08-28 21:27:45 +01:00
moneromooo-monero 700248f59e
tests: more ringct range proof tests 2016-08-28 21:27:43 +01:00
moneromooo-monero d02f9995a8
rct: add serialization machinery to rct types 2016-08-28 21:27:41 +01:00
moneromooo-monero 0ff8305426
serialization: declare do_serialize specializations before use
This lets my gcc picks those instead of the generic template
where appropriate (and then fail since std::vector<something>
does not have a serialize method.
2016-08-28 21:27:38 +01:00
Shen Noether 8b135e7aa3
Added note on generating H2 2016-08-28 21:27:36 +01:00
Shen Noether 4d639d90ca
Fixed missing last index H2 2016-08-28 21:27:34 +01:00
moneromooo-monero 9e82b694da
remove original Cryptonote blockchain_storage blockchain format 2016-08-28 21:27:32 +01:00
moneromooo-monero 86b4426191
ringct: lock access to the PRNG 2016-08-28 21:27:30 +01:00
moneromooo-monero 4d7f073491
ringct: add simple input validation
Throw when inputs aren't the expected size.
2016-08-28 21:27:28 +01:00
moneromooo-monero b656001030
ringct: add convenience operators to key 2016-08-28 21:27:24 +01:00
moneromooo-monero 9b1afe5f2d
ringct: import of Shen Noether's ring confidential transactions 2016-08-28 21:26:54 +01:00
Howard Chu dc411ea3b7 Change default db-sync-mode to fast, not fastest 2016-08-28 16:20:22 +01:00
Riccardo Spagni a569b264bc
Merge pull request #991
f88029e db_lmdb: do not try to modify the database in read only mode (moneromooo-monero)
2016-08-26 20:39:21 +02:00
moneromooo-monero f88029e72a
db_lmdb: do not try to modify the database in read only mode 2016-08-26 19:33:25 +01:00
Riccardo Spagni 2702e4999a
Merge pull request #984
78035d2 Fix fake 'network synchronized, begin using' messages (Thomas Winget)
2016-08-26 10:33:10 +02:00
Riccardo Spagni 7000ed45ec
Merge pull request #982
65238d2 fix #691 removed help about leaving wallet name empty on --generate-new-wallet (guzzi_jones)
2016-08-26 10:32:30 +02:00
Riccardo Spagni 9308b4e8b9
Merge pull request #978
99dd572 libwallet_api: tests: checking for result while opening wallet (Ilya Kitaev)
bcf7b67 libwallet_api: Wallet::amountFromString fixed (Ilya Kitaev)
32bc7b4 libwallet_api: helper method to return maximumAllowedAmount (Ilya Kitaev)
cbe534d libwallet_api: tests: removed logged passwords (Ilya Kitaev)
b1a5a93 libwallet_api: do not store wallet on close if status is not ok (Ilya Kitaev)
2016-08-26 10:32:00 +02:00
Riccardo Spagni 391c567f37
Merge pull request #976
c2f4e16 simplewallet: default to max-concurrency 1 on MacOS X (moneromooo-monero)
2016-08-26 10:31:24 +02:00
Thomas Winget 78035d2b6c
Fix fake 'network synchronized, begin using' messages 2016-08-23 22:52:25 -04:00
guzzi_jones 65238d281c fix #691 removed help about leaving wallet name empty on --generate-new-wallet 2016-08-24 00:03:36 +00:00
Ilya Kitaev bcf7b67cd6 libwallet_api: Wallet::amountFromString fixed 2016-08-23 13:47:21 +03:00
Ilya Kitaev 32bc7b41c0 libwallet_api: helper method to return maximumAllowedAmount 2016-08-23 12:35:45 +03:00
Riccardo Spagni 17157f8a22
Merge pull request #972
2c5e68f cmake: fix typo in handling of STACK_TRACE (redfish)
2016-08-22 22:55:53 +02:00
Riccardo Spagni 79cdedb90c
Merge pull request #970
25f529a wallet: store key images after importing them (moneromooo-monero)
2016-08-22 22:55:24 +02:00
Riccardo Spagni 13222f9ff5
Merge pull request #968
9cca53a wallet: fix build on Mac and Windows (missing include) (moneromooo-monero)
2016-08-22 22:55:00 +02:00
Ilya Kitaev b1a5a937ff libwallet_api: do not store wallet on close if status is not ok 2016-08-22 22:47:59 +03:00
moneromooo-monero c2f4e16c59
simplewallet: default to max-concurrency 1 on MacOS X
A suspected bug in pthread/kernel, though might be that
I messed something up too...

This might rope in more platforms though.
2016-08-21 12:26:29 +01:00
redfish 2c5e68fb73 cmake: fix typo in handling of STACK_TRACE
This fixes the log output not getting redirected to log file.
2016-08-19 23:38:44 -04:00
moneromooo-monero 25f529aa67
wallet: store key images after importing them
It avoids rescan_spent resetting spent status, for example.
2016-08-17 08:37:56 +01:00
moneromooo-monero 9cca53ac29
wallet: fix build on Mac and Windows (missing include)
Reported by RaskaRuby, tested by iDunk5400.
2016-08-17 08:08:49 +01:00
moneromooo-monero e596e25367
simplewallet: do not suggest removing cache if the password was wrong 2016-08-16 23:15:35 +01:00
moneromooo-monero 7e4e0021f4
daemon: print time to next fork 2016-08-12 20:32:23 +01:00
Riccardo Spagni 0faf572db8
Merge pull request #948
11dc091 Fake outs set is now decided by the wallet (moneromooo-monero)
1593553 new unlocked parameter to output_histogram (moneromooo-monero)
2016-08-11 22:43:14 +02:00
moneromooo-monero 11dc091464
Fake outs set is now decided by the wallet
This plugs a privacy leak from the wallet to the daemon,
as the daemon could previously see what input is included
as a transaction input, which the daemon hadn't previously
supplied. Now, the wallet requests a particular set of
outputs, including the real one.

This can result in transactions that can't be accepted if
the wallet happens to select too many outputs with non standard
unlock times. The daemon could know this and select another
output, but the wallet is blind to it. It's currently very
unlikely since I don't think anything uses non default
unlock times. The wallet requests more outputs than necessary
so it can use spares if any of the returns outputs are still
locked. If there are not enough spares to reach the desired
mixin, the transaction will fail.
2016-08-11 14:35:27 +01:00
Riccardo Spagni cb17c4da4f
Merge pull request #953
240864f db_lmdb: errors dropping hf starting height db on reset are not fatal (moneromooo-monero)
2016-08-11 14:58:04 +02:00
Riccardo Spagni b026650be9
Merge pull request #952
709c724 Better fix (#4) (hyc)
d2644c1 fix restore-deterministic height (luigi1111)
2016-08-11 14:57:33 +02:00
Riccardo Spagni 9273899ee7
Merge pull request #949
da1007f simplewallet: make the refresh thread into more generic idle thread (moneromooo-monero)
2016-08-11 14:56:40 +02:00
Riccardo Spagni d46a58dab0
Merge pull request #947
663fc32 wallet2: if importing key images fails, print failure index (moneromooo-monero)
2016-08-11 14:53:16 +02:00
Riccardo Spagni 8d098610a7
Merge pull request #943
f0c0a3f Fix #864 Squashed commit of the following: commit 9af9e4223b58bbb65a3519af2c2bfc273cbd23d6     fixed some formatting commit c7920e1cf88ff46eb9294101344d9a567f22e2da Merge: 97eb28b 1da1c68     fix#864 fix using boolean commit 97eb28ba5dd49ddde8c8785f39b24d955e5de31c     Fix #864 boolean value used to verify on new wallet commit 1da1c68bd3a9a373c70482b6e6e95251096149f1     fix #864 changed to boolean to prompt for verify commit 5bee96652434762d2c91ce31a1b1c9f169446ddc     fix 864; made variable names easier for understanding branching. commit 45715960d30293f781b2ff9e5e647c2ec893f4a3     fix #864;  allow password to be entered twice for new wallets for verification. fix #864 password entry verification; ammended boolean fix #864 ; default constructor for password_container should set verify=true (guzzi_jones)
2016-08-11 14:52:53 +02:00
moneromooo-monero 240864f529
db_lmdb: errors dropping hf starting height db on reset are not fatal
This db is now dropped unconditionally, so may or may not be there
in the first place.
2016-08-10 10:50:17 +01:00
hyc 709c7247cd Better fix (#4) 2016-08-09 18:54:20 -05:00
luigi1111 d2644c15c3
fix restore-deterministic height
Simplewallet improperly skipped the restore from height code if
restoring a deterministic wallet AND not specifying a wallet file in the
command line. The other generate options require a wallet file as an
argument, which prevents "ask_wallet_create_if_needed()" from being
called, which in turn causes "m_generate_new" to remain unset.
Specifying a wallet file at launch with --restore-deterministic emulated
this behavior.
2016-08-09 17:46:49 -05:00
moneromooo-monero da1007f7cd
simplewallet: make the refresh thread into more generic idle thread 2016-08-07 16:08:50 +01:00
moneromooo-monero 663fc32809
wallet2: if importing key images fails, print failure index 2016-08-04 08:19:29 +01:00
moneromooo-monero 1593553e03
new unlocked parameter to output_histogram
This constrains the number of instances of any amount
to the unlocked ones (as defined by the default unlock time
setting: outputs with non default unlock time are not
considered, so may be counted as unlocked even if they are
not actually unlocked).
2016-08-01 22:16:00 +01:00
guzzi_jones f0c0a3fb65 Fix #864
Squashed commit of the following:
commit 9af9e4223b58bbb65a3519af2c2bfc273cbd23d6
    fixed some formatting
commit c7920e1cf88ff46eb9294101344d9a567f22e2da
Merge: 97eb28b 1da1c68
    fix#864 fix using boolean
commit 97eb28ba5dd49ddde8c8785f39b24d955e5de31c
    Fix #864 boolean value used to verify on new wallet
commit 1da1c68bd3a9a373c70482b6e6e95251096149f1
    fix #864 changed to boolean to prompt for verify
commit 5bee96652434762d2c91ce31a1b1c9f169446ddc
    fix 864; made variable names easier for understanding branching.
commit 45715960d30293f781b2ff9e5e647c2ec893f4a3
    fix #864;  allow password to be entered twice for new wallets for verification.
fix #864 password entry verification; ammended boolean
fix #864 ; default constructor for password_container should set verify=true
2016-08-01 02:32:14 +00:00
redfish 042db0bd0f cmake: cleanup logic that sets flags per target/subdir
The previous logic that used a COMMON_*_FLAGS intermediate variable
and then re-assigned CMAKE_*_FLAGS before including each subdirectory
was confusing and ugly. This PR is the right way to do it.

This commit is purely refactoring: built binaries unchanged.
2016-07-28 21:20:50 -04:00
Riccardo Spagni 0fbe9cfcdb
Merge pull request #937
0f990d0 cmake,common: flag for stack trace (redfish)
2016-07-27 11:07:38 +02:00
Riccardo Spagni 72f2934e20
Merge pull request #936
4618873 tests: fix a bitflag test typo (moneromooo-monero)
89e68d7 unit_tests: check adding checkpoints succeeded (moneromooo-monero)
121165f db_lmdb: add some missing api call checks (moneromooo-monero)
22d8344 core_rpc_server: fix gray/white peer list mixup (moneromooo-monero)
2016-07-27 11:06:57 +02:00
redfish 0f990d0183 cmake,common: flag for stack trace
By default the flag is enabled whenever libunwind is found on the
system, with the exception of static build on OSX (for which we can't
install the throw hook #932 due to lack of support for --wrap in OSX
ld64 linker).
2016-07-27 01:52:33 -04:00
moneromooo-monero 121165f222
db_lmdb: add some missing api call checks 2016-07-26 22:39:51 +01:00