moneromooo-monero
bc61ae69bf
tx_pool: add a max pool size, settable with --max-txpool-size
2018-02-07 13:42:12 +00:00
moneromooo-monero
e4646379a6
keccak: fix mdlen bounds sanity checking
...
found by h908714124
2018-02-07 13:39:32 +00:00
Michał Sałaban
6866ed469a
Add default value to max_height, otherwise it's 0
2018-02-05 23:39:37 +01:00
moneromooo-monero
b81e276cab
connection_context: initialize m_last_request_time to current time
...
This prevents spurious early peer drops
2018-02-04 13:13:08 +00:00
moneromooo-monero
928c1825f0
cryptonote_protocol: guard against all threads in standby
2018-02-02 22:33:53 +00:00
moneromooo-monero
2e3e90acbe
pass large parameters by const ref, not value
...
Coverity 136394 136397 136409 136526 136529 136533 175302
2018-02-02 19:36:09 +00:00
moneromooo-monero
61defd89e3
blockchain: sanity check number of precomputed hash of hash blocks
...
Coverity 142951
2018-02-02 17:10:13 +00:00
moneromooo-monero
9af6b2d1b8
ringct: fix infinite loop in unused h2b function
...
Coverity 146775
2018-02-02 16:44:28 +00:00
moneromooo-monero
8cea8d0cef
simplewallet: double check a new multisig wallet is multisig
...
Coverity 182493
2018-02-02 16:41:16 +00:00
moneromooo-monero
9b98a6ac8f
threadpool: catch exceptions in dtor, to avoid terminate
...
If an exception is thrown, it is ignored. While this may hide
a bug, this should only be system exceptions in boost, which
is pretty unlikely. Morever, wait should be called manually
before the dtor anyway. Add an error message if the dtor has
to wait in case some such cases creep in so they get fixed.
Coverity 182538
2018-02-02 16:27:39 +00:00
moneromooo-monero
24803ed91f
blockchain_export: fix buffer overflow in exporter
...
Coverity 182550
2018-02-02 16:11:15 +00:00
moneromooo-monero
f3f7da624d
perf_timer: rewrite to make it clear there is no division by zero
...
It could have happened if epee::misc_utils::get_ns_count
is buggy, at a push
Coverity 182561
2018-02-02 16:06:36 +00:00
moneromooo-monero
03887f1140
keccak: fix sanity check bounds test
...
Nothing calls this with those inputs
2018-02-02 15:48:06 +00:00
moneromooo-monero
ad11db9144
blockchain_db: initialize m_open in base class ctor
...
It's cleaner this way, since it's a base class field
Coverity 136568
2018-02-02 15:21:39 +00:00
moneromooo-monero
bece67f9e8
miner: restore std::cout precision after modification
...
Coverity 136462
2018-02-02 15:15:21 +00:00
moneromooo-monero
1aabd14c21
db_lmdb: check hard fork info drop succeeded
...
Coverity 136364
2018-02-02 15:08:22 +00:00
moneromooo-monero
3b4e6b35b3
txpool: increase unmined tx expiry to three days
2018-02-01 22:48:52 +00:00
moneromooo-monero
2e584dcb1f
p2p: do not try to connect to peers in offline mode
2018-02-01 20:18:30 +00:00
moneromooo-monero
851bd057ec
call _exit instead of abort in release mode
...
Avoids cores being created, as they're nowadays often piped
to some call home system
2018-02-01 13:32:46 +00:00
Leon Klingele
399921347f
txpool: Properly bail out when outputs_amount == inputs_amount
...
Previously, when outputs_amount == inputs_amount, the "m_overspend" property
was set, whereas "m_fee_too_low" would have been the correct property to set.
This is unlikely to ever occur and just something I've noticed while reading
through the code.
2018-02-01 00:48:45 +01:00
Howard Chu
84a8b2da14
Don't create readtxn until after txn_safe gate check
2018-01-31 18:18:01 +00:00
moneromooo-monero
3f1a3fac00
bulletproofs: more robust challenge computation
...
Changes from sarang, from a recommendation by an anonymous reviewer
2018-01-31 15:57:01 +00:00
moneromooo-monero
b809058993
ringct: pseudoOuts moved to prunable in the simple bulletproof case
...
Saves 64 bytes non prunable data per typical tx
This breaks v7 consensus, will require a testnet reorg from v6
2018-01-31 15:56:26 +00:00
moneromooo-monero
19ff243f52
wallets: reorg 61 more days on testnet
2018-01-31 15:52:43 +00:00
moneromooo-monero
c70f03cacf
blockchain: move bulletproofs to v8
...
and set v7 height to 1057027 on testnet (one block earlier)
This is to easily dump current nodes since we're going to change
the v7 rules with this.
2018-01-31 15:52:39 +00:00
moneromooo-monero
fde4489e1d
wipeable_string: call memwipe directly
...
since the original reason for the indirect call (that memwipe
was not in contrib) is now gone
2018-01-31 12:25:30 +00:00
stoffu
a99ef17695
wallet-rpc: take subaddress account as arg for get_transfer_by_txid
2018-01-31 17:53:02 +09:00
stoffu
7712509644
wallet-rpc: rename *_INDEX_OUTOFBOUND into *_INDEX_OUT_OF_BOUNDS
2018-01-31 17:52:31 +09:00
stoffu
7539603f94
Bootstrap daemon
2018-01-30 20:15:47 +09:00
Maxithi
a85dbb3f2f
Fixed typos and wording tweaks
2018-01-29 12:13:23 +01:00
stoffu
402c9eef0e
cryptonote_tx_utils: fixed logic bug in get_destination_view_key_pub
2018-01-29 17:05:07 +09:00
Michał Sałaban
f90c76beb4
Return appropriate error code when there's no connection to daemon
2018-01-29 08:28:25 +01:00
Erik de Castro Lopo
628b78ae8a
Fix in_peers/out_peers RPC operations
...
Original implementations could never have worked.
2018-01-29 11:54:57 +11:00
Erik de Castro Lopo
ece9bcf5c6
rpc_client: Fix error handling
...
Previous code was unable to distingush between a connection error
and a communication error.
2018-01-29 11:54:57 +11:00
Erik de Castro Lopo
32c0f908cd
Allow the number of incoming connections to be limited
...
It was already possible to limit outgoing connections. One might want
to do this on home network connections with high bandwidth but low
usage caps.
2018-01-29 11:14:02 +11:00
Erik de Castro Lopo
d609a2c164
Rename delete_connections to delete_out_connections
...
This rename is needed so that delete_in_connections can be added.
2018-01-29 07:06:08 +11:00
Erik de Castro Lopo
b927c0fc7a
Rename connections_count to max_out_connection_count
...
This is needed so that a max_in_connection_count can be added.
2018-01-29 07:06:08 +11:00
Riccardo Spagni
4fcf609942
Merge pull request #3186
...
7ed62e63
cryptonote_protocol: fix std::move usage on different types (moneromooo-monero)
2018-01-28 09:54:17 -08:00
moneromooo-monero
30ce8c5926
cn_deserialize: check for raw tx_extra
2018-01-28 15:23:05 +00:00
Michał Sałaban
3cb65b3f69
Return appropriate error code when not enough money for tx
2018-01-28 12:52:05 +01:00
moneromooo-monero
eda9fb5b98
p2p: fix testnet/mainnet port mixup
2018-01-28 09:44:04 +00:00
Riccardo Spagni
6ed314854c
Merge pull request #3188
...
fbc0a6dd
Bugfix : Missing i18n import in simplewallet (Neozaru)
2018-01-27 18:21:55 -08:00
stoffu
30c44bce06
wallet: automatically use low priority if safe (no backlog & recent blocks not full)
2018-01-28 11:04:52 +09:00
stoffu
c903df5ece
simplewallet: bug fix for backlog estimate
2018-01-28 10:52:25 +09:00
moneromooo-monero
2f5a9b6bb3
wallet2: split estimate_backlog to allow for raw fee levels
2018-01-28 10:52:16 +09:00
Riccardo Spagni
d061c312fb
Merge pull request #3116
...
269ba252
wallet2::import_blockchain fix import loop (Jaquee)
2018-01-27 17:27:07 -08:00
Riccardo Spagni
a4ae78a335
Merge pull request #3145
...
fd1dfac5
p2p: don't lookup seed IPs if using an exclusive peer (moneromooo-monero)
b50182ae
p2p: don't connect to seeds if using an exclusive peer (moneromooo-monero)
2018-01-27 17:25:47 -08:00
Riccardo Spagni
f7dcb730cb
Merge pull request #3144
...
42f86624
rpc: expose recent median block size in getinfo (moneromooo-monero)
2018-01-27 17:25:40 -08:00
Riccardo Spagni
e93ff8f22d
Merge pull request #3143
...
ba6d2975
cryptonote_core: add --disable-dns-checkpoints flag (moneromooo-monero)
2018-01-27 17:25:33 -08:00
Riccardo Spagni
1506f33075
Merge pull request #3142
...
a9cae0ab
Wallet API: remove unused enum Priority from UnsignedTransaction (stoffu)
2018-01-27 17:25:25 -08:00
Riccardo Spagni
5603d5aaea
Merge pull request #3141
...
3160a930
wallet2: remove {set|get}_default_decimal_point and use the same funcs under cryptonote:: instead (stoffu)
7d1088d3
wallet2: make scan_output const and omit keys arg (stoffu)
bc1ee2c2
wallet2: make member functions const when possible (stoffu)
2018-01-27 17:25:15 -08:00
Riccardo Spagni
6d48bddffd
Merge pull request #3136
...
e0404d35
rpc: default do_not_relay to false in sendrawtransaction (moneromooo-monero)
2018-01-27 17:25:07 -08:00
Riccardo Spagni
d3e1244466
Merge pull request #3121
...
6fbb0b06
cmake: set API header install path to what Qt wallet expects (redfish)
2018-01-27 17:24:57 -08:00
Riccardo Spagni
4c302c6385
Merge pull request #3120
...
6cf56682
perf_timer: add faster x86_64 timers, and pause/resume (moneromooo-monero)
411da337
perf_timer: use std::unique_ptr instead of new/delete (moneromooo-monero)
2018-01-27 17:24:49 -08:00
Riccardo Spagni
7de1685bd8
Merge pull request #3119
...
c4f43779
crypto: add a ge_p3_identity constant (moneromooo-monero)
13b4c90e
crypto: add scalar mult functions returning ge_p3 instead of ge_p2 (moneromooo-monero)
2018-01-27 17:24:42 -08:00
Riccardo Spagni
e1ba5b95c1
Merge pull request #3118
...
ca336c62
simplewallet: check file overwrite when exporting stuff (stoffu)
2018-01-27 17:24:34 -08:00
Riccardo Spagni
92ea8af34d
Merge pull request #3114
...
fb5c971c
Allow retrieving spend key via RPC (Michał Sałaban)
2018-01-27 17:24:26 -08:00
Riccardo Spagni
73a19e0b06
Merge pull request #3113
...
ffc2e570
wallet rpc: show fees when querying incoming transfers (stoffu)
2018-01-27 17:24:15 -08:00
Riccardo Spagni
087a773247
Merge pull request #3104
...
939629e8
Wallet API: all recover options with password (m2049r)
2018-01-27 17:24:08 -08:00
Riccardo Spagni
0d328cffda
Merge pull request #3102
...
3050a4f0
simplewallet: fix typo get_tx_proof_out to get_tx_proof (stoffu)
2018-01-27 17:24:00 -08:00
Matt Little
1dfed567e2
Fixed #if instead of #ifdef
2018-01-27 13:33:11 -07:00
xmr-eric
84a7f6a482
Readd copyright starting date
2018-01-26 10:03:20 -05:00
xmr-eric
18216f19dd
Update 2018 copyright
2018-01-26 10:03:20 -05:00
Neozaru
fbc0a6dd23
Bugfix : Missing i18n import in simplewallet
2018-01-26 13:58:49 +01:00
moneromooo-monero
7ed62e63e5
cryptonote_protocol: fix std::move usage on different types
2018-01-26 10:13:06 +00:00
stoffu
a9cae0abe7
Wallet API: remove unused enum Priority from UnsignedTransaction
2018-01-26 10:59:49 +09:00
stoffu
3160a93027
wallet2: remove {set|get}_default_decimal_point and use the same funcs under cryptonote:: instead
2018-01-26 10:59:32 +09:00
stoffu
7d1088d337
wallet2: make scan_output const and omit keys arg
2018-01-26 10:59:31 +09:00
stoffu
bc1ee2c2ee
wallet2: make member functions const when possible
2018-01-26 10:59:30 +09:00
stoffu
3050a4f05b
simplewallet: fix typo get_tx_proof_out to get_tx_proof
2018-01-26 10:59:15 +09:00
stoffu
ffc2e5705d
wallet rpc: show fees when querying incoming transfers
2018-01-26 10:58:23 +09:00
stoffu
ca336c62e3
simplewallet: check file overwrite when exporting stuff
2018-01-26 10:57:13 +09:00
Riccardo Spagni
09d19c9139
Merge pull request #3130
...
5ae617d5
simplewallet: single out 0 amount destinations as dummy ones (moneromooo-monero)
c1d19f3c
wallet2: fix sweep_all sending an atomic unit (moneromooo-monero)
2018-01-25 16:57:03 -08:00
Riccardo Spagni
700b3193f8
Merge pull request #3084
...
5f5a51a6
util: warn if unbound was not built with threads (moneromooo-monero)
2018-01-25 16:56:28 -08:00
Riccardo Spagni
ea75e71dd2
Merge pull request #3052
...
d507167f
Removed unused mac-specific output folder path (Maxithi)
2018-01-25 16:54:45 -08:00
Riccardo Spagni
5a15a8322e
Merge pull request #3153
...
ab58b150
p2p: fix picking peers off an empty gray list (moneromooo-monero)
2018-01-25 16:51:50 -08:00
Riccardo Spagni
ef4b69f8bb
Merge pull request #3126
...
ff5626d7
ringct: handle exceptions verifying bulletproofs in worker threads (moneromooo-monero)
2018-01-25 16:50:47 -08:00
Riccardo Spagni
d25217f058
Merge pull request #3105
...
b56f4645
cryptonote_protocol: fix size_t used in wire format (moneromooo-monero)
2018-01-25 16:50:18 -08:00
Riccardo Spagni
f31f5c9a3e
Merge pull request #3093
...
d188840c
Improved terminology from create to generate (Maxithi)
2018-01-25 16:49:54 -08:00
Riccardo Spagni
39bd6c6815
Merge pull request #3072
...
0811b924
fix some confirmation dialog, add missing symbols (AJIekceu4)
2018-01-25 16:48:00 -08:00
Riccardo Spagni
c222b6485e
Merge pull request #3068
...
301ec15c
Change cryptonote::COMMAND_RPC_SET_LIMIT::response to use int64_t (Nick Johnson)
2018-01-25 16:47:29 -08:00
Riccardo Spagni
66a2751d68
Merge pull request #3065
...
3e635a3c
wallet2: allow failing parse_tx_extra (moneromooo-monero)
2018-01-25 16:47:08 -08:00
Riccardo Spagni
ede4e1c54c
Merge pull request #3057
...
9ffa97fe
Factor the monero donation address (Maxithi)
2018-01-25 16:46:18 -08:00
Riccardo Spagni
008b492963
Merge pull request #3047
...
fa5c0bab
Implement #3045 , fixing RPC snakecases (Nick Johnson)
2018-01-25 16:45:45 -08:00
Riccardo Spagni
5a312752af
Merge pull request #3040
...
69f9a075
cryptonote_protocol: fix missing space in version mismatch message (moneromooo-monero)
2018-01-25 16:44:51 -08:00
Riccardo Spagni
153e319cd4
Merge pull request #3038
...
eb39a3d7
wallet_api: make this optional but not built by default (moneromooo-monero)
2018-01-25 16:44:23 -08:00
Riccardo Spagni
b2ce5739df
Merge pull request #3028
...
a4b006f9
wallet2 bugfix: initialize subaddress table when generating from keys (stoffu)
2018-01-25 16:42:06 -08:00
Riccardo Spagni
960b32ba70
Merge pull request #3027
...
6d40a920
Reserve proof (stoffu)
2018-01-25 16:40:59 -08:00
Riccardo Spagni
5e211b4186
Merge pull request #3020
...
03ac3890
zmq: use older 3-arg version of setsockopt (stoffu)
2018-01-25 16:40:03 -08:00
Riccardo Spagni
75cbb7719e
Merge pull request #3015
...
f06603a4
cryptonote_protocol: update target height when receiving blocks (moneromooo-monero)
2018-01-25 16:39:16 -08:00
Riccardo Spagni
9872620781
Merge pull request #3014
...
deeffaeb
blockchain: remove minor floating point usage (moneromooo-monero)
2018-01-25 16:38:32 -08:00
Riccardo Spagni
c16261c8da
Merge pull request #3013
...
fe436eca
apply_permutation.h: add #pragma once (moneromooo-monero)
2018-01-25 16:37:28 -08:00
Riccardo Spagni
92826e3d8b
Merge pull request #3011
...
619bb723
daemon+simplewallet: given an unknown command, show it (stoffu)
2018-01-25 16:34:45 -08:00
Riccardo Spagni
f077bbb4f1
Merge pull request #3010
...
07da9c80
Resolve addresses in get_transfers (Michał Sałaban)
2018-01-25 16:32:40 -08:00
Riccardo Spagni
ca199aa08a
Merge pull request #3008
...
50786ac7
simplewallet: Correct 3 multisig command usage help texts, e.g. for 'export_multisig_info' (rbrunner7)
2018-01-25 16:25:01 -08:00
Matt Little
7c4424531f
Support building cncrypto lib with msvc
2018-01-25 13:00:45 -07:00
moneromooo-monero
e3f0980a1d
daemon: don't drop RPC with busy error when running offline
2018-01-25 13:35:58 +00:00
Maximilian Lupke
3be98036e7
wallet-cli: Do not ask for scan_from_height if it explicitly is set to zero.
...
Fixes #3080
2018-01-24 18:01:08 +01:00
moneromooo-monero
78a2e15bea
daemon: exit with 0 when successful
2018-01-20 13:34:32 +00:00
moneromooo-monero
ab58b150ef
p2p: fix picking peers off an empty gray list
2018-01-18 17:11:37 +00:00
m2049r
939629e837
Wallet API: all recover options with password
...
also renamed memo => mnemonic in api method parms
2018-01-17 18:46:31 +01:00
moneromooo-monero
fd1dfac5d2
p2p: don't lookup seed IPs if using an exclusive peer
2018-01-17 12:15:12 +00:00
moneromooo-monero
b50182aee7
p2p: don't connect to seeds if using an exclusive peer
2018-01-17 11:17:21 +00:00
moneromooo-monero
42f86624a3
rpc: expose recent median block size in getinfo
2018-01-17 11:12:26 +00:00
moneromooo-monero
ba6d2975bc
cryptonote_core: add --disable-dns-checkpoints flag
2018-01-17 10:14:48 +00:00
moneromooo-monero
5ae617d5ae
simplewallet: single out 0 amount destinations as dummy ones
...
Avoids surprising the user with "sending 0 to..."
2018-01-16 15:41:25 +00:00
moneromooo-monero
e0404d35fe
rpc: default do_not_relay to false in sendrawtransaction
2018-01-16 11:15:01 +00:00
moneromooo-monero
c1d19f3c84
wallet2: fix sweep_all sending an atomic unit
2018-01-15 15:54:19 +00:00
moneromooo-monero
ff5626d785
ringct: handle exceptions verifying bulletproofs in worker threads
2018-01-15 11:48:23 +00:00
redfish
6fbb0b065d
cmake: set API header install path to what Qt wallet expects
2018-01-14 20:14:07 -05:00
moneromooo-monero
6cf56682bc
perf_timer: add faster x86_64 timers, and pause/resume
2018-01-15 00:35:55 +00:00
moneromooo-monero
411da337d2
perf_timer: use std::unique_ptr instead of new/delete
2018-01-15 00:35:24 +00:00
moneromooo-monero
c4f437796d
crypto: add a ge_p3_identity constant
2018-01-15 00:30:46 +00:00
moneromooo-monero
13b4c90e01
crypto: add scalar mult functions returning ge_p3 instead of ge_p2
...
ge_scalarmult_p3
ge_double_scalarmult_precomp_vartime2_p3
ge_double_scalarmult_base_vartime_p3
This makes it possible to reuse the result without having to
convert back to unsigned char[32] and back to ge types.
2018-01-15 00:30:26 +00:00
Jaquee
269ba25228
wallet2::import_blockchain fix import loop
2018-01-14 20:30:35 +01:00
Michał Sałaban
fb5c971cc6
Allow retrieving spend key via RPC
2018-01-14 06:23:12 +01:00
Jethro Grassie
be1826c0fb
Keep readline optional
2018-01-11 13:51:13 -05:00
moneromooo-monero
b56f46457c
cryptonote_protocol: fix size_t used in wire format
...
This is 32 bits on 32 bit platforms, but 64 bits on 64 bit platforms.
2018-01-11 17:31:47 +00:00
stoffu
6d40a92026
Reserve proof
2018-01-10 20:37:18 +09:00
moneromooo-monero
deeffaeb5c
blockchain: remove minor floating point usage
2018-01-10 11:05:30 +00:00
Riccardo Spagni
e61f655440
Merge pull request #3061
...
fc041b58
common cmake: make sure translation_files.h is generated for i18n.cpp (stoffu)
2018-01-10 11:55:35 +01:00
Riccardo Spagni
00f4ff26c8
Merge pull request #3021
...
dc6729a6
wallet2: std::unordered_set ctor is sometimes explicit (moneromooo-monero)
2018-01-10 11:55:19 +01:00
Riccardo Spagni
4e3716a2d2
Merge pull request #3005
...
369884a6
mnemonics: typo fix (4 bytes == 3 words, not 8 bytes) (stoffu)
2018-01-10 11:54:38 +01:00
Riccardo Spagni
0b5994fbec
Merge pull request #3004
...
a2c845c7
cryptonote_protocol: internal error consistency size check (moneromooo-monero)
2018-01-10 11:54:23 +01:00
Riccardo Spagni
990389f09d
Merge pull request #3002
...
9996d5e9
wallet2: guard against the dameon sending blocks before last checkpoint (moneromooo-monero)
eadaa6aa
wallet_rpc_server: fix wallet leak on error exit (moneromooo-monero)
2018-01-10 11:54:11 +01:00
Riccardo Spagni
229e1ce7d1
Merge pull request #2997
...
7c4f01a7
blockchain_import: more informative verification switch (moneromooo-monero)
2018-01-10 11:53:57 +01:00
Riccardo Spagni
d08aee7a7e
Merge pull request #2993
...
776b44f1
Add misc hardening flags to the cmake machinery (moneromooo-monero)
2018-01-10 11:53:26 +01:00
Riccardo Spagni
f9c66ba67c
Merge pull request #2990
...
2d17feb0
factor STL container serialization (moneromooo-monero)
2018-01-10 11:53:05 +01:00
Riccardo Spagni
6c7eb5109d
Merge pull request #2989
...
66eeeaa1
wallet2: fix failure to create tx if inputs are not enough for fee (moneromooo-monero)
2018-01-10 11:52:49 +01:00
Riccardo Spagni
529ca39e9d
Merge pull request #2988
...
8a4610c3
blake256: fix wrong hash when computed in parts (moneromooo-monero)
2018-01-10 11:52:32 +01:00
Riccardo Spagni
ab8a32429a
Merge pull request #2985
...
6d8b29ef
fix some link errors in debug mode for macos (stoffu)
fdd4c5e5
move memwipe to epee to avoid common<->crypto circular dependencies (moneromooo-monero)
40ab12a7
epee: remove dependency on common (moneromooo-monero)
2018-01-10 11:50:58 +01:00
Riccardo Spagni
3ce7f2bead
Merge pull request #2983
...
6fc4fc85
sweep_below: do not prematurely exclude subaddresses set (stoffu)
2018-01-10 11:50:36 +01:00
Riccardo Spagni
a71db6d239
Merge pull request #2981
...
b63afbaa
simplewallet: detect typo for incoming_transfers options (stoffu)
2018-01-10 11:50:21 +01:00
Riccardo Spagni
bfe580787d
Merge pull request #2976
...
c765f951
simplewallet: disable donations on testnet (Matt Smith)
2018-01-10 11:49:14 +01:00
Riccardo Spagni
420a803ff8
Merge pull request #2973
...
277a5aef
wallet2: fix m_key_image_{partial,known} in_light_wallet code (moneromooo-monero)
2018-01-10 11:48:42 +01:00
Riccardo Spagni
c951bf1f72
Merge pull request #2972
...
586ee642
simplewallet: lock idle scope in {im,ex}port_{key_images,outputs} (moneromooo-monero)
2018-01-10 11:48:12 +01:00
Riccardo Spagni
0a110aefbb
Merge pull request #2971
...
ae860230
Fix exceptions not finding txpool txes when relaying (moneromooo-monero)
2018-01-10 11:45:15 +01:00
stoffu
6d8b29ef28
fix some link errors in debug mode for macos
2018-01-10 01:57:56 +00:00
moneromooo-monero
fdd4c5e577
move memwipe to epee to avoid common<->crypto circular dependencies
2018-01-10 01:57:54 +00:00
moneromooo-monero
40ab12a773
epee: remove dependency on common
2018-01-10 01:57:51 +00:00
Maxithi
d188840cc2
Improved terminology from create to generate
2018-01-09 21:46:44 +01:00
moneromooo-monero
5f5a51a6c8
util: warn if unbound was not built with threads
...
This can causes crashes in libunbound
2018-01-08 10:58:50 +00:00
Nick Johnson
fa5c0bab44
Implement #3045 , fixing RPC snakecases
2018-01-06 15:11:36 -06:00
AJIekceu4
0811b9242b
fix some confirmation dialog, add missing symbols
...
Change some confirmation dialog to look like other ones (add symbol ":" and space)
So, it will look like: (Y/Yes/N/No): y
Now it look: (Y/Yes/N/No)y
2018-01-06 22:04:04 +07:00
Maxithi
9ffa97fe98
Factor the monero donation address
...
Signed-off-by: Maxithi <34792056+Maxithi@users.noreply.github.com>
2018-01-05 12:58:40 +01:00
Nick Johnson
301ec15c49
Change cryptonote::COMMAND_RPC_SET_LIMIT::response to use int64_t
2018-01-04 21:01:10 -06:00
Maxithi
d507167fa5
Removed unused mac-specific output folder path
2018-01-04 21:16:44 +01:00
moneromooo-monero
3e635a3cef
wallet2: allow failing parse_tx_extra
...
It can fail if it fails to parse extra, while still having filled
the returned data with partial contents
2018-01-04 15:38:49 +00:00
stoffu
fc041b58d6
common cmake: make sure translation_files.h is generated for i18n.cpp
2018-01-04 12:24:06 +09:00
Riccardo Spagni
a529f0a6c9
Merge pull request #3019
...
294adc83
Additional fix for core_tests (Howard Chu)
d52b732e
Fix stale readcursor flags (Howard Chu)
2018-01-02 00:32:12 +02:00
Riccardo Spagni
aa4195e199
Merge pull request #2977
...
c70e8daa
threadpool: fix deadlock in recursive waiter usage (moneromooo-monero)
2018-01-02 00:31:56 +02:00
Riccardo Spagni
803f54b9fd
Merge pull request #2967
...
55556fab
wallet_rpc_server: factor transfer info return and add missing info (moneromooo-monero)
2018-01-02 00:31:30 +02:00
Riccardo Spagni
ee02c7ab03
Merge pull request #2962
...
14c29814
wallet2: fix use of uninitialized data (moneromooo-monero)
2018-01-02 00:30:01 +02:00
Riccardo Spagni
eb617be8f4
Merge pull request #2960
...
5cbcf0aa
wallet: support for multisig seeds (moneromooo-monero)
2018-01-02 00:29:36 +02:00
Riccardo Spagni
dd11bfb89c
Merge pull request #2934
...
db2bc965
Embed the translation files in the binary (Guillaume LE VAILLANT)
2018-01-02 00:28:45 +02:00
moneromooo-monero
69f9a07553
cryptonote_protocol: fix missing space in version mismatch message
2017-12-31 17:32:57 +00:00
moneromooo-monero
776b44f17b
Add misc hardening flags to the cmake machinery
...
See https://wiki.debian.org/Hardening#User_Space
2017-12-31 14:26:12 +00:00
moneromooo-monero
eb39a3d7d3
wallet_api: make this optional but not built by default
...
It means it can still be built with make -C build/debug wallet_api
but still not DoS us while debugging
2017-12-31 11:14:20 +00:00
stoffu
a4b006f965
wallet2 bugfix: initialize subaddress table when generating from keys
2017-12-29 15:53:28 +09:00
Howard Chu
294adc8341
Additional fix for core_tests
...
Reset thread-local info if it doesn't match the current env.
Only happens when a process opens/closes env multiple times in the
same process, doesn't affect monerod.
2017-12-28 20:24:08 +00:00
moneromooo-monero
dc6729a66a
wallet2: std::unordered_set ctor is sometimes explicit
2017-12-28 10:20:12 +00:00
Riccardo Spagni
a1a8262355
Merge pull request #2949
...
e20e489a
Better definite article use (xmr-eric)
2017-12-28 09:00:00 +02:00
Riccardo Spagni
3bbe2481ce
Merge pull request #2946
...
1a686bf8
daemon: print num txes in print_bc (moneromooo-monero)
2017-12-28 08:59:31 +02:00
Riccardo Spagni
95a687d584
Merge pull request #2945
...
9e07ccf1
daemon: remove some superfluous includes (moneromooo-monero)
2017-12-28 08:59:16 +02:00
Riccardo Spagni
0ae3651cc9
Merge pull request #2942
...
4f45f9da
simplewallet: factor out tx exceptions (moneromooo-monero)
2017-12-28 08:58:46 +02:00
Riccardo Spagni
5f562cf9e6
Merge pull request #2941
...
d0d38dc8
wallet2: print tx size in bytes and kB (moneromooo-monero)
2017-12-28 08:58:30 +02:00
Riccardo Spagni
8980aacbe8
Merge pull request #2940
...
da0fd71d
only include the easylogging++ stack trace code when needed (moneromooo-monero)
81b04cfa
easlogging++: omit some unneded macros (moneromooo-monero)
2017-12-28 08:57:59 +02:00
stoffu
03ac389022
zmq: use older 3-arg version of setsockopt
2017-12-28 13:15:49 +09:00
Howard Chu
d52b732efb
Fix stale readcursor flags
...
Reset thread-specific flags when a write txn is started.
Also remove some redundant start-readtxn code.
2017-12-28 00:59:04 +00:00
stoffu
b63afbaa99
simplewallet: detect typo for incoming_transfers options
2017-12-28 07:53:31 +09:00
stoffu
6fc4fc850e
sweep_below: do not prematurely exclude subaddresses set
2017-12-28 07:52:53 +09:00
moneromooo-monero
f06603a439
cryptonote_protocol: update target height when receiving blocks
2017-12-27 13:54:19 +00:00
moneromooo-monero
fe436eca46
apply_permutation.h: add #pragma once
2017-12-27 12:15:51 +00:00
stoffu
619bb7233b
daemon+simplewallet: given an unknown command, show it
2017-12-27 15:23:34 +09:00
Michał Sałaban
07da9c806d
Resolve addresses in get_transfers
2017-12-27 01:35:48 +01:00
rbrunner7
50786ac70c
simplewallet: Correct 3 multisig command usage help texts, e.g. for 'export_multisig_info'
2017-12-26 14:57:08 +01:00
moneromooo-monero
da0fd71d3e
only include the easylogging++ stack trace code when needed
2017-12-26 11:40:15 +00:00
stoffu
e3530789d3
wallet-api: added Utils::onStartup
2017-12-26 08:23:32 +09:00
Riccardo Spagni
40df4905fd
Merge pull request #3006
...
7e7b1a82
Revert "return subaddress in get_bulk_payments" (moneromooo-monero)
2017-12-25 22:08:56 +02:00
moneromooo-monero
7e7b1a8252
Revert "return subaddress in get_bulk_payments"
...
This reverts commit b60f48f0e3
.
2017-12-25 20:04:40 +00:00
Riccardo Spagni
ca8c7e863f
Merge pull request #2895
...
5ad312a1
wallet2: switch to chacha20 instead of chacha8 (moneromooo-monero)
1e5491e9
Add a chacha20 variant to go with chacha8 (moneromooo-monero)
2017-12-25 22:00:44 +02:00
Riccardo Spagni
0a5bfa7c73
Merge pull request #2938
...
aaae94f0
wallet2: reinstate the single preferred output selection (moneromooo-monero)
2017-12-25 21:42:22 +02:00
moneromooo-monero
5ad312a1c3
wallet2: switch to chacha20 instead of chacha8
...
Wallet caches and keys files are loaded with chacha8 as needed,
but only saved with chacha20. Other data (eg, cold wallet data
files, etc) will be incompatible.
2017-12-25 19:28:06 +00:00
moneromooo-monero
1e5491e942
Add a chacha20 variant to go with chacha8
2017-12-25 19:28:03 +00:00
Riccardo Spagni
409e9bb029
Merge pull request #2931
...
04349492
wallet2: error out in get_seed if the language is invalid (moneromooo-monero)
2017-12-25 21:21:00 +02:00
Riccardo Spagni
b38f6dcf0b
Merge pull request #2929
...
ae55bacd
resumption support for updates using range requests (moneromooo-monero)
fe0fae50
epee: add a get_file_size function (moneromooo-monero)
2017-12-25 21:20:22 +02:00
Riccardo Spagni
c611cca462
Merge pull request #2928
...
d28c388f
p2p: stop net server before closing starting connections (moneromooo-monero)
2017-12-25 21:19:58 +02:00
Riccardo Spagni
db09247c68
Merge pull request #2926
...
6b5bd129
Account tagging (stoffu)
2017-12-25 21:19:33 +02:00
Riccardo Spagni
32c14e0f37
Merge pull request #2922
...
a1d44f27
updates: use https for updates (moneromooo-monero)
472a93c8
download: SSL suport (moneromooo-monero)
2017-12-25 21:18:29 +02:00
Riccardo Spagni
2b00899bb2
Merge pull request #2920
...
bd5cce07
network_throttle: fix ineffective locking (moneromooo-monero)
e0a61299
network_throttle: remove unused xxx static member (moneromooo-monero)
24f584d9
cryptonote_core: remove unused functions with off by one bugs (moneromooo-monero)
b1634aa3
blockchain: don't leave dangling pointers in this (moneromooo-monero)
8e60b81c
cryptonote_core: fix db leak on error (moneromooo-monero)
213e326c
abstract_tcp_server2: log init_server errors as fatal (moneromooo-monero)
b51dc566
use const refs in for loops for non tiny types (moneromooo-monero)
f0568ca6
net_parse_helpers: fix regex error checking (moneromooo-monero)
b49ddc76
check accessing an element past the end of a container (moneromooo-monero)
2305bf26
check return value for generate_key_derivation and derive_public_key (moneromooo-monero)
a4240d9f
catch const exceptions (moneromooo-monero)
45a1c4c0
add empty container sanity checks when using front() and back() (moneromooo-monero)
56fa6ce1
tests: fix a buffer overread in a unit test (moneromooo-monero)
b4524892
rpc: guard against json parsing a non object (moneromooo-monero)
c2ed8618
easylogging++: avoid buffer underflow (moneromooo-monero)
187a6ab2
epee: trap failure to parse URI from request (moneromooo-monero)
061789b5
checkpoints: trap failure to load JSON checkpoints (moneromooo-monero)
ba2fefb9
checkpoints: pass std::string by const ref, not const value (moneromooo-monero)
38c8f4e0
mlog: terminate a string at last char, just in case (moneromooo-monero)
d753d716
fix a few leaks by throwing objects, not newed pointers to objects (moneromooo-monero)
fe568db8
p2p: use size_t for arbitrary counters instead of uint8_t (moneromooo-monero)
46d6fa35
cryptonote_protocol: sanity check chain hashes from peer (moneromooo-monero)
25584f86
cryptonote_protocol: print peer versions when unexpected (moneromooo-monero)
490a5d41
rpc: do not try to use an invalid txid in relay_tx (moneromooo-monero)
2017-12-25 21:17:52 +02:00
Riccardo Spagni
170f598ac9
Merge pull request #2918
...
f5bc7f18
simplewallet: fix default unspent_outputs output with subaddresses (moneromooo-monero)
2017-12-25 21:17:32 +02:00
Riccardo Spagni
8b40bc27a2
Merge pull request #2916
...
a9217641
wallet-rpc: added receiving address to res of get(_bulk)_payments; selective addresses for getaddress (stoffu)
2017-12-25 21:17:16 +02:00
Riccardo Spagni
d06f3ea9ad
Merge pull request #2902
...
1741fb5f
node_rpc_proxy: remove unused local and time call (moneromooo-monero)
2017-12-25 21:16:01 +02:00
Riccardo Spagni
b3dddb22fe
Merge pull request #2899
...
b60f48f0
return subaddress in get_bulk_payments (Dmitriy Plekhanov)
2017-12-25 21:15:08 +02:00
Riccardo Spagni
2ef299f2a9
Merge pull request #2891
...
3f24e901
wallet2: don't write a .new file when not needed (moneromooo-monero)
2017-12-25 21:14:20 +02:00
Riccardo Spagni
2f09828ea8
Merge pull request #2890
...
83b0f9e6
version: add -master to master version (moneromooo-monero)
493f7d09
util: allow non numeric version parts (moneromooo-monero)
2017-12-25 21:13:59 +02:00
Riccardo Spagni
2d1965f31b
Merge pull request #2888
...
ca18ff64
wallet2: detect spends in txes without a valid public tx key (moneromooo-monero)
6afcd8e3
cn_deserialize: print tx extra fields in partly decoded tx extra (moneromooo-monero)
2017-12-25 21:13:33 +02:00
stoffu
369884a669
mnemonics: typo fix (4 bytes == 3 words, not 8 bytes)
2017-12-25 19:57:38 +09:00
moneromooo-monero
a2c845c7e3
cryptonote_protocol: internal error consistency size check
2017-12-24 13:04:40 +00:00
moneromooo-monero
9996d5e96c
wallet2: guard against the dameon sending blocks before last checkpoint
2017-12-24 12:12:40 +00:00
moneromooo-monero
eadaa6aaa3
wallet_rpc_server: fix wallet leak on error exit
...
Makes it easier to debug leaks
2017-12-24 12:12:37 +00:00
moneromooo-monero
7c4f01a792
blockchain_import: more informative verification switch
2017-12-23 18:47:05 +00:00
dEBRUYNE-1
2018cf74a6
Fix Windows build
...
Fix no new line
2017-12-23 15:27:30 +01:00
moneromooo-monero
c70e8daa91
threadpool: fix deadlock in recursive waiter usage
...
If a queued job uses a waiter, then we want to run that waiter's
jobs in the current thread if all threads are busy, even if the
queue is empty, since there is no guarantee that any thread will
free up to take care of that new job, since all the threads might
be running a job which spawns such a recursive job and will block
till that recursive job is done, which it will never be since it
relies on the queue being polled by one of those blocked threads.
2017-12-23 09:00:43 +00:00
moneromooo-monero
2d17feb060
factor STL container serialization
2017-12-22 19:47:12 +00:00
moneromooo-monero
8a4610c315
blake256: fix wrong hash when computed in parts
...
This does not happen when used by the monero code
2017-12-22 12:08:02 +00:00
moneromooo-monero
66eeeaa1a2
wallet2: fix failure to create tx if inputs are not enough for fee
2017-12-21 22:11:16 +00:00
Matt Smith
c765f9512c
simplewallet: disable donations on testnet
2017-12-20 17:12:22 +00:00
moneromooo-monero
277a5aefaa
wallet2: fix m_key_image_{partial,known} in_light_wallet code
2017-12-20 14:54:14 +00:00
moneromooo-monero
586ee64209
simplewallet: lock idle scope in {im,ex}port_{key_images,outputs}
...
This ensures we can't get races
2017-12-20 14:21:50 +00:00
moneromooo-monero
ae8602303a
Fix exceptions not finding txpool txes when relaying
2017-12-20 13:02:53 +00:00
moneromooo-monero
5cbcf0aa25
wallet: support for multisig seeds
...
They are hex rather than words, because they are a lot longer
than "normal" seeds, as they have to embed a lot more information
2017-12-20 10:22:29 +00:00
moneromooo-monero
55556fabf9
wallet_rpc_server: factor transfer info return and add missing info
...
Additional tx keys, amounts and fees were missing in some cases
2017-12-20 08:56:31 +00:00
moneromooo-monero
14c2981469
wallet2: fix use of uninitialized data
2017-12-19 12:33:01 +00:00
moneromooo-monero
4f45f9da40
simplewallet: factor out tx exceptions
2017-12-18 15:56:36 +00:00
moneromooo-monero
24f584d90d
cryptonote_core: remove unused functions with off by one bugs
2017-12-18 15:16:06 +00:00
moneromooo-monero
b1634aa3e8
blockchain: don't leave dangling pointers in this
2017-12-18 15:16:03 +00:00
moneromooo-monero
8e60b81c48
cryptonote_core: fix db leak on error
2017-12-18 15:16:00 +00:00
moneromooo-monero
b51dc56687
use const refs in for loops for non tiny types
2017-12-18 15:15:54 +00:00
moneromooo-monero
b49ddc766d
check accessing an element past the end of a container
2017-12-18 15:15:49 +00:00
moneromooo-monero
2305bf260d
check return value for generate_key_derivation and derive_public_key
2017-12-18 15:15:46 +00:00
moneromooo-monero
a4240d9ffc
catch const exceptions
2017-12-18 15:15:43 +00:00
moneromooo-monero
45a1c4c088
add empty container sanity checks when using front() and back()
2017-12-18 15:15:40 +00:00
moneromooo-monero
b4524892fb
rpc: guard against json parsing a non object
2017-12-18 15:15:32 +00:00
moneromooo-monero
061789b5dd
checkpoints: trap failure to load JSON checkpoints
2017-12-18 15:15:23 +00:00
moneromooo-monero
ba2fefb9a4
checkpoints: pass std::string by const ref, not const value
2017-12-18 15:15:19 +00:00
moneromooo-monero
d753d716a6
fix a few leaks by throwing objects, not newed pointers to objects
2017-12-18 15:15:13 +00:00
moneromooo-monero
fe568db83d
p2p: use size_t for arbitrary counters instead of uint8_t
2017-12-18 15:15:10 +00:00
moneromooo-monero
46d6fa35c9
cryptonote_protocol: sanity check chain hashes from peer
2017-12-18 15:15:07 +00:00
moneromooo-monero
25584f8639
cryptonote_protocol: print peer versions when unexpected
...
also avoid integer underflow on zero height
2017-12-18 15:15:05 +00:00
moneromooo-monero
490a5d41ca
rpc: do not try to use an invalid txid in relay_tx
2017-12-18 15:15:01 +00:00
stoffu
a921764162
wallet-rpc: added receiving address to res of get(_bulk)_payments; selective addresses for getaddress
2017-12-18 10:22:34 +09:00
stoffu
6b5bd129b4
Account tagging
2017-12-18 10:21:47 +09:00
Riccardo Spagni
1cc7451130
Merge pull request #2134
...
ceabc4f9
change the N-1/N multisig second message signer for auth (moneromooo-monero)
55c2845d
core_tests: multisig test now tests multiple inputs (moneromooo-monero)
98db7ee4
wallet: factor multisig info parsing (moneromooo-monero)
31a97e76
wallet: use raw encrypted data in multisig import/export RPC (moneromooo-monero)
2fa707d1
wallet: add multisig sign/submit RPC (moneromooo-monero)
e36f5b60
Match surae's recommendation to derive multisig keys (moneromooo-monero)
a36c261d
wallet2: fix slow multisig unit tests with subaddress patch (moneromooo-monero)
fa569712
make multisig work with subaddresses (moneromooo-monero)
dffa0dce
simplewallet: add export_raw_multisig command (moneromooo-monero)
7f4c220b
simplewallet: add multisig to wallet type in wallet_info output (moneromooo-monero)
26529038
wallet: guard against partly initialized multisig wallet (moneromooo-monero)
66e34e85
add multisig core test and factor multisig building blocks (moneromooo-monero)
f4eda44c
N-1/N multisig (moneromooo-monero)
cd64c799
multisig address generation RPC (moneromooo-monero)
fff871a4
gen_multisig: generates multisig wallets if participants trust each other (moneromooo-monero)
95a21a79
wallet2: allow empty wallet filename to avoid saving data (moneromooo-monero)
b84b3565
tests: add multisig unit tests (moneromooo-monero)
4c313324
Add N/N multisig tx generation and signing (moneromooo-monero)
6d219a92
wallet: add multisig key generation (moneromooo-monero)
2017-12-17 21:05:16 +02:00
moneromooo-monero
d9b137f161
cryptonote_core: fix blockchain init call after prototype change
2017-12-17 18:47:46 +00:00
xmr-eric
e20e489a64
Better definite article use
2017-12-17 12:33:43 -05:00
moneromooo-monero
ceabc4f92b
change the N-1/N multisig second message signer for auth
2017-12-17 16:12:50 +00:00
moneromooo-monero
98db7ee467
wallet: factor multisig info parsing
2017-12-17 16:12:44 +00:00
moneromooo-monero
31a97e761e
wallet: use raw encrypted data in multisig import/export RPC
2017-12-17 16:12:41 +00:00
moneromooo-monero
2fa707d1a5
wallet: add multisig sign/submit RPC
2017-12-17 16:12:35 +00:00
moneromooo-monero
e36f5b6021
Match surae's recommendation to derive multisig keys
2017-12-17 16:12:32 +00:00
moneromooo-monero
a36c261d7a
wallet2: fix slow multisig unit tests with subaddress patch
...
While there, move the wallet2 ctor to the cpp file as it's a huge
amount of init list now, and remove an unused one.
2017-12-17 16:12:30 +00:00
moneromooo-monero
fa5697127f
make multisig work with subaddresses
...
Thanks to kenshi84 for help getting this work
2017-12-17 16:12:27 +00:00
moneromooo-monero
dffa0dceaf
simplewallet: add export_raw_multisig command
...
It exports raw transactions, so they may be used by other tools,
for instance to be relayed to the network externally.
2017-12-17 16:12:24 +00:00
moneromooo-monero
7f4c220b70
simplewallet: add multisig to wallet type in wallet_info output
2017-12-17 16:12:21 +00:00
moneromooo-monero
265290388b
wallet: guard against partly initialized multisig wallet
2017-12-17 16:12:18 +00:00
moneromooo-monero
66e34e85b1
add multisig core test and factor multisig building blocks
2017-12-17 16:12:15 +00:00
moneromooo-monero
f4eda44ce3
N-1/N multisig
2017-12-17 16:12:12 +00:00
moneromooo-monero
cd64c7990c
multisig address generation RPC
2017-12-17 16:12:09 +00:00
moneromooo-monero
fff871a455
gen_multisig: generates multisig wallets if participants trust each other
2017-12-17 16:12:06 +00:00
moneromooo-monero
95a21a793d
wallet2: allow empty wallet filename to avoid saving data
...
Useful to speed tests up and avoid unnecessary leftover files
2017-12-17 16:12:03 +00:00
moneromooo-monero
4c313324b1
Add N/N multisig tx generation and signing
...
Scheme by luigi1111:
Multisig for RingCT on Monero
2 of 2
User A (coordinator):
Spendkey b,B
Viewkey a,A (shared)
User B:
Spendkey c,C
Viewkey a,A (shared)
Public Address: C+B, A
Both have their own watch only wallet via C+B, a
A will coordinate spending process (though B could easily as well, coordinator is more needed for more participants)
A and B watch for incoming outputs
B creates "half" key images for discovered output D:
I2_D = (Hs(aR)+c) * Hp(D)
B also creates 1.5 random keypairs (one scalar and 2 pubkeys; one on base G and one on base Hp(D)) for each output, storing the scalar(k) (linked to D),
and sending the pubkeys with I2_D.
A also creates "half" key images:
I1_D = (Hs(aR)+b) * Hp(D)
Then I_D = I1_D + I2_D
Having I_D allows A to check spent status of course, but more importantly allows A to actually build a transaction prefix (and thus transaction).
A builds the transaction until most of the way through MLSAG_Gen, adding the 2 pubkeys (per input) provided with I2_D
to his own generated ones where they are needed (secret row L, R).
At this point, A has a mostly completed transaction (but with an invalid/incomplete signature). A sends over the tx and includes r,
which allows B (with the recipient's address) to verify the destination and amount (by reconstructing the stealth address and decoding ecdhInfo).
B then finishes the signature by computing ss[secret_index][0] = ss[secret_index][0] + k - cc[secret_index]*c (secret indices need to be passed as well).
B can then broadcast the tx, or send it back to A for broadcasting. Once B has completed the signing (and verified the tx to be valid), he can add the full I_D
to his cache, allowing him to verify spent status as well.
NOTE:
A and B *must* present key A and B to each other with a valid signature proving they know a and b respectively.
Otherwise, trickery like the following becomes possible:
A creates viewkey a,A, spendkey b,B, and sends a,A,B to B.
B creates a fake key C = zG - B. B sends C back to A.
The combined spendkey C+B then equals zG, allowing B to spend funds at any time!
The signature fixes this, because B does not know a c corresponding to C (and thus can't produce a signature).
2 of 3
User A (coordinator)
Shared viewkey a,A
"spendkey" j,J
User B
"spendkey" k,K
User C
"spendkey" m,M
A collects K and M from B and C
B collects J and M from A and C
C collects J and K from A and B
A computes N = nG, n = Hs(jK)
A computes O = oG, o = Hs(jM)
B anc C compute P = pG, p = Hs(kM) || Hs(mK)
B and C can also compute N and O respectively if they wish to be able to coordinate
Address: N+O+P, A
The rest follows as above. The coordinator possesses 2 of 3 needed keys; he can get the other
needed part of the signature/key images from either of the other two.
Alternatively, if secure communication exists between parties:
A gives j to B
B gives k to C
C gives m to A
Address: J+K+M, A
3 of 3
Identical to 2 of 2, except the coordinator must collect the key images from both of the others.
The transaction must also be passed an additional hop: A -> B -> C (or A -> C -> B), who can then broadcast it
or send it back to A.
N-1 of N
Generally the same as 2 of 3, except participants need to be arranged in a ring to pass their keys around
(using either the secure or insecure method).
For example (ignoring viewkey so letters line up):
[4 of 5]
User: spendkey
A: a
B: b
C: c
D: d
E: e
a -> B, b -> C, c -> D, d -> E, e -> A
Order of signing does not matter, it just must reach n-1 users. A "remaining keys" list must be passed around with
the transaction so the signers know if they should use 1 or both keys.
Collecting key image parts becomes a little messy, but basically every wallet sends over both of their parts with a tag for each.
Thia way the coordinating wallet can keep track of which images have been added and which wallet they come from. Reasoning:
1. The key images must be added only once (coordinator will get key images for key a from both A and B, he must add only one to get the proper key actual key image)
2. The coordinator must keep track of which helper pubkeys came from which wallet (discussed in 2 of 2 section). The coordinator
must choose only one set to use, then include his choice in the "remaining keys" list so the other wallets know which of their keys to use.
You can generalize it further to N-2 of N or even M of N, but I'm not sure there's legitimate demand to justify the complexity. It might
also be straightforward enough to support with minimal changes from N-1 format.
You basically just give each user additional keys for each additional "-1" you desire. N-2 would be 3 keys per user, N-3 4 keys, etc.
The process is somewhat cumbersome:
To create a N/N multisig wallet:
- each participant creates a normal wallet
- each participant runs "prepare_multisig", and sends the resulting string to every other participant
- each participant runs "make_multisig N A B C D...", with N being the threshold and A B C D... being the strings received from other participants (the threshold must currently equal N)
As txes are received, participants' wallets will need to synchronize so that those new outputs may be spent:
- each participant runs "export_multisig FILENAME", and sends the FILENAME file to every other participant
- each participant runs "import_multisig A B C D...", with A B C D... being the filenames received from other participants
Then, a transaction may be initiated:
- one of the participants runs "transfer ADDRESS AMOUNT"
- this partly signed transaction will be written to the "multisig_monero_tx" file
- the initiator sends this file to another participant
- that other participant runs "sign_multisig multisig_monero_tx"
- the resulting transaction is written to the "multisig_monero_tx" file again
- if the threshold was not reached, the file must be sent to another participant, until enough have signed
- the last participant to sign runs "submit_multisig multisig_monero_tx" to relay the transaction to the Monero network
2017-12-17 16:11:57 +00:00
moneromooo-monero
6d219a9250
wallet: add multisig key generation
...
Scheme by luigi1111
2017-12-17 16:11:53 +00:00
moneromooo-monero
1a686bf8cc
daemon: print num txes in print_bc
2017-12-17 12:55:40 +00:00
Riccardo Spagni
a3a8343051
Merge pull request #2857
...
7193b89f
Scrub keys from memory just before scope end. (moneromooo-monero)
2017-12-17 13:00:11 +02:00
Riccardo Spagni
066fd7aced
Merge pull request #2877
...
43f5269f
Wallets now do not depend on the daemon rpc lib (moneromooo-monero)
bb89ae8b
move connection_basic and network_throttle from src/p2p to epee (moneromooo-monero)
4abf25f3
cryptonote_core does not depend on p2p anymore (moneromooo-monero)
2017-12-17 12:59:44 +02:00
moneromooo-monero
9e07ccf1f5
daemon: remove some superfluous includes
2017-12-17 10:28:39 +00:00
moneromooo-monero
43f5269f84
Wallets now do not depend on the daemon rpc lib
...
The shared RPC code is now moved off into a separate lib
2017-12-16 23:28:59 +00:00
moneromooo-monero
bb89ae8b20
move connection_basic and network_throttle from src/p2p to epee
...
These even had the epee namespace.
This fixes some ugly circular dependencies.
2017-12-16 23:28:43 +00:00
moneromooo-monero
4abf25f3c9
cryptonote_core does not depend on p2p anymore
...
As a followon side effect, this makes a lot of inline code
included only in particular cpp files (and instanciated
when necessary.
2017-12-16 23:28:38 +00:00
moneromooo-monero
09ce03d612
move includes around to lessen overall load
2017-12-16 22:46:38 +00:00
moneromooo-monero
7193b89fe5
Scrub keys from memory just before scope end.
...
Partially implements #74 .
Securely erases keys from memory after they are no longer needed. Might have a
performance impact, which I haven't measured (perf measurements aren't
generally reliable on laptops).
Thanks to @stoffu for the suggestion to specialize the pod_to_hex/hex_to_pod
functions. Using overloads + SFINAE instead generalizes it so other types can
be marked as scrubbed without adding more boilerplate.
2017-12-16 15:40:33 -07:00
Riccardo Spagni
8da24c2a57
Merge pull request #2878
...
abebe392
rpc: add offline state in info rpc (moneromooo-monero)
7696e849
core: make --offline also disable DNS lookups (moneromooo-monero)
2017-12-16 23:27:00 +02:00
Riccardo Spagni
b88f0879b5
Merge pull request #2873
...
1c838552
Simplewallet.cpp: Fewer pleases in seed NOTE (xmr-eric)
3f18c642
Fix password capitalization mismatch (xmr-eric)
2017-12-16 23:25:43 +02:00
Riccardo Spagni
7998ffc26b
Merge pull request #2871
...
2b0a32f8
Small cleanup of daemon synchronization output (xmr-eric)
2017-12-16 23:25:02 +02:00
Riccardo Spagni
9b511d3e93
Merge pull request #2866
...
cf5f6236
Corrections in rate limiting / trottle code, especially in 'out' direction (rbrunner7)
2017-12-16 23:24:41 +02:00
Riccardo Spagni
87158dca68
Merge pull request #2885
...
a1e3670b
catch wallet decrypt false positive (Riccardo Spagni)
2017-12-16 23:24:16 +02:00
Riccardo Spagni
6c0953b15a
Merge pull request #2860
...
3dffe71b
new wipeable_string class to replace std::string passphrases (moneromooo-monero)
7a2a5741
utils: initialize easylogging++ in on_startup (moneromooo-monero)
54950829
use memwipe in a few relevant places (moneromooo-monero)
000666ff
add a memwipe function (moneromooo-monero)
2017-12-16 23:19:27 +02:00
Riccardo Spagni
ce951ef560
Merge pull request #2856
...
009eed17
rpc: increase the max number of outs one can request (moneromooo-monero)
2017-12-16 23:15:43 +02:00
Riccardo Spagni
9045ff56fc
Merge pull request #2551
...
3af19c80
set_node command, allows setting node without restart (Tobias Hoffmann)
2017-12-16 23:12:44 +02:00
moneromooo-monero
d0d38dc8e6
wallet2: print tx size in bytes and kB
...
Helpful now that tx sizes are smaller
2017-12-16 18:40:21 +00:00
moneromooo-monero
aaae94f00b
wallet2: reinstate the single preferred output selection
...
Removing it nullified the min-outputs-{count,value} system,
and will not increase the number of attempted transactions
in the general case.
2017-12-16 12:31:03 +00:00
Guillaume LE VAILLANT
db2bc96512
Embed the translation files in the binary
...
If a translation file exists in a "translations" directory located in
the same directory as the binary, it is used in priority (this can be
useful when working on translations as you don't have to recompile the
whole program all the time), and if no such file is found the embedded
translation file is used (if it exists).
2017-12-15 18:44:01 +01:00
moneromooo-monero
043494924b
wallet2: error out in get_seed if the language is invalid
2017-12-15 11:01:14 +00:00
moneromooo-monero
ae55bacd8c
resumption support for updates using range requests
2017-12-15 10:46:23 +00:00
moneromooo-monero
d28c388f88
p2p: stop net server before closing starting connections
...
This fixes a hang on exit due to race where a connection adds
itself to the server after the starting connections are closed,
but before the net server marks itself as stopped.
2017-12-15 10:31:12 +00:00
moneromooo-monero
a1d44f2746
updates: use https for updates
2017-12-14 13:33:06 +00:00
moneromooo-monero
472a93c83a
download: SSL suport
2017-12-14 09:12:58 +00:00
moneromooo-monero
f5bc7f1855
simplewallet: fix default unspent_outputs output with subaddresses
...
If no subaddress index is given, consider all of them
2017-12-13 10:09:42 +00:00
Riccardo Spagni
319163d276
Merge pull request #2913
...
b927f0b1
cryptonote_protocol: fix corner case looping asking for same block hashes (moneromooo-monero)
2017-12-12 17:48:29 +02:00
moneromooo-monero
46eaaae79b
ringct: always use outPk.mask to decode amounts
2017-12-09 18:02:55 +00:00
Riccardo Spagni
2b5abb8269
Merge pull request #2903
...
8d4469a0
ringct: do not include bulletproof commitments in signed message (moneromooo-monero)
2017-12-09 19:05:56 +02:00
moneromooo-monero
8d4469a0ac
ringct: do not include bulletproof commitments in signed message
...
Those are not serialized, but are restored from the outPk masks,
so depending on what tries to validate the tx, those commitments
may or may not be filled with valid data at the time. The outPk
masks are already hashed as part of the rctSigBase field.
2017-12-09 15:30:15 +00:00
moneromooo-monero
1741fb5f2b
node_rpc_proxy: remove unused local and time call
2017-12-09 11:28:18 +00:00
moneromooo-monero
ead48f7d92
core: fix input ordering from v7
2017-12-09 11:24:38 +00:00
Dmitriy Plekhanov
b60f48f0e3
return subaddress in get_bulk_payments
2017-12-08 18:45:53 +03:00
moneromooo-monero
c83d0b3ee2
add bulletproofs from v7 on testnet
2017-12-08 13:50:45 +00:00
moneromooo-monero
8620ef0a0d
bulletproofs: switch H/G in Pedersen commitments to match rct
...
Changes from sarang
2017-12-08 13:48:18 +00:00
moneromooo-monero
d58835b2f6
integrate bulletproofs into monero
2017-12-08 13:48:15 +00:00
moneromooo-monero
90b8d9f271
add bulletproofs to the build, with basic unit tests
...
Based on Java code from Sarang Noether
2017-12-08 13:41:13 +00:00
moneromooo-monero
fe1202646c
perf_timer: add non scoped start/stop timer defines
2017-12-07 19:23:14 +00:00
moneromooo-monero
ada4291469
add a version of ge_double_scalarmult_precomp_vartime with A precomp
2017-12-07 19:23:10 +00:00
moneromooo-monero
d43eef6def
ringct: add a version of addKeys which returns the result
2017-12-07 19:23:08 +00:00
luigi1111
7ff07928ad
sc_mul and sc_muladd
2017-12-07 19:23:05 +00:00
moneromooo-monero
3f24e90149
wallet2: don't write a .new file when not needed
2017-12-07 12:07:18 +00:00
moneromooo-monero
83b0f9e6c5
version: add -master to master version
...
This makes master versions play better with automated update checks
2017-12-07 10:33:12 +00:00
moneromooo-monero
493f7d0974
util: allow non numeric version parts
2017-12-07 10:32:48 +00:00
Tobias Hoffmann
3af19c8011
set_node command, allows setting node without restart
2017-12-06 18:16:50 +01:00
moneromooo-monero
ca18ff644b
wallet2: detect spends in txes without a valid public tx key
2017-12-06 15:55:06 +00:00
moneromooo-monero
6afcd8e37d
cn_deserialize: print tx extra fields in partly decoded tx extra
2017-12-06 15:54:17 +00:00