Commit graph

6781 commits

Author SHA1 Message Date
moneromooo-monero
e6c81c5ea7
ringct: fix CLSAG serialization after boost/epee changes
also fix a an assert message refering t MLSAG
2020-08-28 11:52:54 +00:00
François Colas
975ae22211
Fix send scalar z in plaintext
The scalar z has not been generated on the HW thus it can't be sent
encrypted. The value is derived from the exported private view key.
2020-08-28 12:01:57 +02:00
François Colas
333ae55fef
Update minimal Ledger Monero app version 2020-08-28 12:00:25 +02:00
François Colas
0a3c5a605b
Update protocol version with Ledger's HW 2020-08-28 11:59:02 +02:00
moneromooo-monero
d20ff4f648
functional_tests: add a large (many randomx epochs) p2p reorg test 2020-08-27 15:13:04 +00:00
moneromooo-monero
6a0b3b1f8a
functional_tests: add randomx tests 2020-08-27 15:13:03 +00:00
moneromooo-monero
9d42649d58
core: fix mining from a block that's not the current top 2020-08-27 15:13:00 +00:00
cslashm
1660fe8a25
draft support of clsag 2020-08-27 12:44:18 +00:00
Sarang Noether
703944c4d4 CLSAG device support 2020-08-27 12:44:04 +00:00
Sarang Noether
641b08c920 CLSAG optimizations 2020-08-27 12:44:04 +00:00
moneromooo-monero
82ee01699c
Integrate CLSAGs into monero
They are allowed from v12, and MLSAGs are rejected from v13.
2020-08-27 12:44:04 +00:00
Sarang Noether
4b328c6616 CLSAG signatures 2020-08-27 12:43:29 +00:00
Alexander Blair
0c101f1236
Merge pull request #6767
07442a605 Fix build with Boost 1.74 (moneromooo-monero)
2020-08-27 03:07:32 -07:00
Alexander Blair
27b49033fd
Merge pull request #6763
728ba38b1 rpc: always send raw txes through P2P (don't use bootstrap daemon) (xiphon)
2020-08-27 03:02:30 -07:00
Alexander Blair
b04da25e4d
Merge pull request #6760
844fb4e94 enforce claiming maximum coinbase amount (moneromooo-monero)
2020-08-27 03:01:28 -07:00
Alexander Blair
4fe2858b4d
Merge pull request #6746
20f603c6b Fix broken multisig pubkey sorting (Jason Rhinelander)
2020-08-27 02:58:53 -07:00
Alexander Blair
dd7fd2ef80
Merge pull request #6753
4ff2074c7 cryptonote_protocol: don't synced pruned blocks before v11 (cohcho)
2020-08-27 02:58:45 -07:00
Alexander Blair
a06c83db73
Merge pull request #6752
85899230d simplewallet: allow setting tx keys when sending to a subaddress (moneromooo-monero)
e916201f1 wallet2: fix setting tx keys when another is already set (moneromooo-monero)
2020-08-27 02:58:23 -07:00
Alexander Blair
42519b48a7
Merge pull request #6731
db5d6e460 wallet2: fix wrong name when checking RPC cost (moneromooo-monero)
2020-08-27 02:55:48 -07:00
Alexander Blair
bad5d8d6f0
Merge pull request #6690
7175dcb10 replace most boost serialization with existing monero serialization (moneromooo-monero)
2020-08-27 02:54:30 -07:00
Alexander Blair
38914fe6fa
Merge pull request #6613
55363c594 Avoid some temporary strings when reading off the database (moneromooo-monero)
2020-08-27 02:52:59 -07:00
Alexander Blair
a6f1fa0194
Merge pull request #6607
eb1b321fe miner: increase min/max intervals to full extents (moneromooo-monero)
2020-08-26 12:53:09 -07:00
moneromooo-monero
844fb4e940
enforce claiming maximum coinbase amount
Claiming a slightly lesser amount does not yield the size gains
that were seen pre rct, so this closes a fingerprinting vector
2020-08-21 12:36:53 +00:00
Lee Clagett
bdc6b10d62 Fix ZMQ pruned bulletproof transactions 2020-08-19 00:36:06 -04:00
luigi1111
765db1ae7a
Revert "Use domain-separated ChaCha20 for in-memory key encryption"
This reverts commit 921dd8dde5.
2020-08-17 14:08:59 -05:00
moneromooo-monero
7175dcb107
replace most boost serialization with existing monero serialization
This reduces the attack surface for data that can come from
malicious sources (exported output and key images, multisig
transactions...) since the monero serialization is already
exposed to the outside, and the boost lib we were using had
a few known crashers.

For interoperability, a new load-deprecated-formats wallet
setting is added (off by default). This allows loading boost
format data if there is no alternative. It will likely go
at some point, along with the ability to load those.

Notably, the peer lists file still uses the boost serialization
code, as the data it stores is define in epee, while the new
serialization code is in monero, and migrating it was fairly
hairy. Since this file is local and not obtained from anyone
else, the marginal risk is minimal, but it could be migrated
later if needed.

Some tests and tools also do, this will stay as is for now.
2020-08-17 16:23:58 +00:00
moneromooo-monero
55363c5941
Avoid some temporary strings when reading off the database 2020-08-17 14:02:27 +00:00
Alexander Blair
43f5369bec
Merge pull request #6733
4f01cf4b4 Tweak format, add option for difficulty (Howard Chu)
429d49512 Add options to print daily coin emission and fees (Howard Chu)
d745d2433 Don't forget size of prunable txn part (Howard Chu)
2020-08-16 12:56:03 -07:00
Alexander Blair
d73b1b6560
Merge pull request #6727
13eee1d6a rpc: reject wrong sized txid (moneromooo-monero)
92e6b7df2 easylogging++: fix crash with reentrant logging (moneromooo-monero)
6dd95d530 epee: guard against exceptions in RPC handlers (moneromooo-monero)
90016ad74 blockchain: guard against exceptions in add_new_block/children (moneromooo-monero)
2020-08-16 12:55:25 -07:00
Alexander Blair
569d07d60b
Merge pull request #6722
c1b03fb1a rpc: return empty txid get_outs rather than 00..00 when not requested (moneromooo-monero)
2020-08-16 12:54:42 -07:00
Alexander Blair
01b512f3a9
Merge pull request #6716
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
2020-08-16 12:52:21 -07:00
Alexander Blair
f40b9e34e0
Merge pull request #6715
3d6bc0a68 wallet2: throw a error on wallet initialization failure (xiphon)
2020-08-16 12:51:57 -07:00
Alexander Blair
43f91ee12e
Merge pull request #6703
8baa7bb23 daemon: don't print "(pruned)" for coinbase txes (moneromooo-monero)
2020-08-16 12:50:43 -07:00
Alexander Blair
0b0da2aa81
Merge pull request #6689
afd002c31 daemon: print sampling time in print_net_stats (moneromooo-monero)
ec7bba079 util: fix kilo prefix typo (K instead of k) (moneromooo-monero)
2020-08-16 12:47:36 -07:00
Alexander Blair
236256f114
Merge pull request #6679
2f1ad3b3d updates: mac gui .tar.bz2 -> .dmg (selsta)
2020-08-16 12:46:51 -07:00
Alexander Blair
eba2189925
Merge pull request #6677
f9e3fcdf3 add trezor support to sweep_single (Dusan Klinec)
2020-08-16 12:46:27 -07:00
Alexander Blair
bc48494731
Merge pull request #6661
267ce5b71 avoid a couple needless copies (moneromooo-monero)
2020-08-16 12:45:37 -07:00
Alexander Blair
8f02e7a7fc
Merge pull request #6632
ef694d028 fix warning by removing std::move() on temporary http_client object (woodser)
2020-08-16 12:44:59 -07:00
Alexander Blair
c6c4ead44e
Merge pull request #6614
fb31167b1 Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command (rbrunner7)
2020-08-16 12:44:03 -07:00
Alexander Blair
a08df6eb1b
Merge pull request #6603
4e2377995 Change ZMQ-JSON txextra to hex and remove unnecessary base fields (Lee Clagett)
2020-08-16 12:43:38 -07:00
Alexander Blair
009ca6fcd3
Merge pull request #6601
98c151ecb Optimize ZMQ-JSON vector reading; GetBlocksFast reads 24%+ faster (Lee Clagett)
60627c9f2 Switch to insitu parsing for ZMQ-JSON; GetBlocksFast reads 13%+ faster (Lee Clagett)
fe96e66eb Fix pruned tx for ZMQ's GetBlocksFast (Lee Clagett)
2020-08-16 12:43:11 -07:00
Alexander Blair
0f5eb0e70c
Merge pull request #6546
eda167585 wallet_rpc_server: use unlock_time in suggested confirmations calc (moneromooo-monero)
2020-08-16 12:40:51 -07:00
Alexander Blair
461651fce5
Merge pull request #6542
35665df20 protocol: don't drop a connection if we can't get a compatible chain (moneromooo-monero)
2020-08-16 12:40:37 -07:00
Alexander Blair
6d29ee6c52
Merge pull request #6493
921dd8dde Use domain-separated ChaCha20 for in-memory key encryption (Sarang Noether)
2020-08-16 12:39:59 -07:00
Alexander Blair
e2e09d00c2
Merge pull request #6337
a11ec4ac1 Support for supercop ASM in wallet, and benchmark for supercop (Lee Clagett)
2020-08-16 12:38:44 -07:00
Alexander Blair
13549d590e
Merge pull request #6329
6bfcd3101 Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. (Sarang Noether)
2020-08-16 12:37:43 -07:00
xiphon
728ba38b11 rpc: always send raw txes through P2P (don't use bootstrap daemon)
It turns out that some remote (bootstrap) nodes silently drop /
don't broadcast client's transactions.
2020-08-16 17:34:28 +00:00
moneromooo-monero
07442a6059
Fix build with Boost 1.74
Thanks iDunk for testing
2020-08-16 16:23:26 +00:00
Lee Clagett
4e2377995d Change ZMQ-JSON txextra to hex and remove unnecessary base fields 2020-08-14 23:01:00 +00:00
Lee Clagett
98c151ecb8 Optimize ZMQ-JSON vector reading; GetBlocksFast reads 24%+ faster 2020-08-14 19:47:19 +00:00
Lee Clagett
60627c9f24 Switch to insitu parsing for ZMQ-JSON; GetBlocksFast reads 13%+ faster 2020-08-14 19:46:59 +00:00
Lee Clagett
fe96e66ebe Fix pruned tx for ZMQ's GetBlocksFast 2020-08-14 19:46:33 +00:00
moneromooo-monero
85899230d1
simplewallet: allow setting tx keys when sending to a subaddress
The tx key derivation is different then
2020-08-10 21:25:51 +00:00
cohcho
4ff2074c74
cryptonote_protocol: don't synced pruned blocks before v11
There are a few Borromean proofs txes in the v8 era, and these
aren't supported by get_pruned_transaction_weight. Moreover, only
only the most recent variant of bulletproofs is currently supported.
2020-08-10 16:17:39 +00:00
Sarang Noether
921dd8dde5 Use domain-separated ChaCha20 for in-memory key encryption 2020-08-09 19:11:54 -04:00
Sarang Noether
6bfcd31015 Updates InProofV1, OutProofV1, and ReserveProofV1 to new V2 variants that include all public proof parameters in Schnorr challenges, along with hash function domain separators. Includes new randomized unit tests. 2020-08-09 18:42:15 -04:00
Alexander Blair
c108c5e2f0
Merge pull request #6354
67ade8005 Add randomized delay when forwarding txes from i2p/tor -> ipv4/6 (Lee Clagett)
2020-08-09 06:42:49 -07:00
moneromooo-monero
e916201f12
wallet2: fix setting tx keys when another is already set
insert doesn't actually insert if another element with the
same key is already in the map
2020-08-08 14:40:03 +00:00
Jason Rhinelander
20f603c6be Fix broken multisig pubkey sorting
The sort predicate is a boolean ordered-before value, but these are
returning the memcmp value directly, and thus returns true whenever the
pubkeys aren't equal.  This means:

- it isn't actually sorting.

- it can (and does) segfault for some inputs.
2020-08-05 12:42:27 -03:00
Alexander Blair
9414194b1e
Merge pull request #6571
1d31e6c00 net_node: remove dead seed nodes (selsta)
2020-08-05 07:57:54 -07:00
Howard Chu
4f01cf4b46
Tweak format, add option for difficulty
Set input, output, ringsize averages to 2 decimal places precision
Add option to show min/max/av per-block difficulty
2020-08-03 13:13:14 +01:00
Howard Chu
429d495121
Add options to print daily coin emission and fees
Closes #6735
2020-08-01 20:48:42 +01:00
Howard Chu
d745d24333
Don't forget size of prunable txn part
Fixes #6732
2020-08-01 13:41:38 +01:00
moneromooo-monero
db5d6e4602
wallet2: fix wrong name when checking RPC cost 2020-07-31 14:17:23 +00:00
moneromooo-monero
13eee1d6ab
rpc: reject wrong sized txid
Reporter requested credit to be given to Decred
2020-07-30 22:52:14 +00:00
moneromooo-monero
90016ad744
blockchain: guard against exceptions in add_new_block/children
Reporter requested credit to be given to Decred
2020-07-30 22:52:11 +00:00
moneromooo-monero
c1b03fb1a6
rpc: return empty txid get_outs rather than 00..00 when not requested
It's more obvious there's no txid, and it saves space
2020-07-25 17:01:21 +00:00
moneromooo-monero
8baa7bb238
daemon: don't print "(pruned)" for coinbase txes
Pruned coinbase txes are the same as unpruned ones, so the
prunable data is empty
2020-07-24 13:42:20 +00:00
rbrunner7
fb31167b12 Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command 2020-07-24 07:12:11 +02:00
xiphon
76c16822d0 wallet2_api: implement runtime proxy configuration 2020-07-20 13:45:12 +00:00
xiphon
3d6bc0a680 wallet2: throw a error on wallet initialization failure 2020-07-20 04:40:34 +00:00
Alexander Blair
2a82258dff
Merge pull request #6580
ed901798d version: update name (selsta)
2020-07-19 03:42:43 -07:00
Alexander Blair
3434cc24a2
Merge pull request #6578
a6803231e daemon: complain if data dir resides on FAT32 volume (Windows) (xiphon)
2020-07-19 03:41:55 -07:00
Alexander Blair
9871fefbf9
Merge pull request #6565
72cdfa4a2 fix a few typos in error messages (moneromooo-monero)
2020-07-19 03:40:19 -07:00
Alexander Blair
c0a6e1aab9
Merge pull request #6557
bd69e3b37 testdb: add override in a couple places where it's missing (moneromooo-monero)
2020-07-19 03:39:53 -07:00
Alexander Blair
bb0241da6e
Merge pull request #6538
7178bb5c8 keccak: remove aligned check (moneromooo-monero)
2020-07-19 03:38:53 -07:00
Alexander Blair
61e5208181
Merge pull request #6537
5e0ea6e95 simplewallet: add missing calls to on_command (moneromooo-monero)
2020-07-19 03:38:07 -07:00
Alexander Blair
6d6c691a0f
Merge pull request #6536
bd9653663 db_lmdb: test for mmap support at init time (moneromooo-monero)
2020-07-19 03:37:15 -07:00
Alexander Blair
36d50d93f2
Merge pull request #6534
7bd66b01b daemon: guard against rare 'difficulty drift' bug with checkpoints and recalculation (stoffu)
2020-07-19 03:36:39 -07:00
Alexander Blair
814e617117
Merge pull request #6526
5d882f4f1 blockchain: fix theoretical race getting bulk timestamps (moneromooo-monero)
2020-07-19 03:34:52 -07:00
Alexander Blair
3ba6c7fd30
Merge pull request #6516
8656a8c9f remove double includes (sumogr)
2020-07-19 03:34:28 -07:00
Alexander Blair
a0d179e528
Merge pull request #6512
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-19 03:32:59 -07:00
Alexander Blair
5041de8a3b
Merge pull request #6488
99684e3e simplewallet: add show_qr_code command (selsta)
2020-07-16 06:14:30 -07:00
moneromooo-monero
332d60719a
tx_pool: mine stem txes in fake chain mode
This fixes the functional tests, since txes would not be mined
after being sent to the daemon (they'd be waiting for the
dandelion timeout first)
2020-07-09 14:52:13 +00:00
moneromooo-monero
0fd6ccef21
blockchain: fix timestamp/difficulty cache getting out of sync
The cache is discarded when a block is popped, but then gets
rebuilt when the difficulty for next block is requested.
While this is all properly locked, it does not take into account
the delay caused by a database transaction being only committed
(and thus its effects made visible to other threads) later on,
which means another thread could request difficulty between
the pop and the commit, which would end up using stale database
view to build the cache, but that cache would not be invalidated
again when the transaction gets committed, which would cause the
cache to not match the new database data.

To fix this, we now keep track of when the cache is invalidated
so we can invalidate it again upon database transaction commit
to ensure it gets calculated again with fresh data next time it
is nedeed.
2020-07-08 22:31:51 +00:00
luigi1111
99b14ccd6a
Merge pull request #6647
4d8d121 Fix D++ block template check (vtnerd)
2020-07-08 17:25:01 -05:00
luigi1111
18bb011afe
Merge pull request #6629
795e186 blockchain: fix total_height in getblocks.bin response (moneromooo-monero)
2020-07-08 17:23:28 -05:00
luigi1111
e8d87fccc2
Merge pull request #6627
4df8f9c rpc: fix loading rpc payment data from file (moneromooo-monero)
2020-07-08 17:22:33 -05:00
luigi1111
0376195015
Merge pull request #6611
dc1a053 rpc: fix comparison of seconds vs microseconds (moneromooo-monero)
2020-07-08 17:21:31 -05:00
luigi1111
3057f52f89
Merge pull request #6599
6e4a55b rpc: fix relay_tx error return mixup (moneromooo-monero)
9b86e14 functional_tests: add simple relay_tx test (moneromooo-monero)
2020-07-08 17:20:29 -05:00
luigi1111
228101a72e
Merge pull request #6597
ec46069 Fix incorrect lenght of command INS_PREFIX_HASH (grydz)
2020-07-08 17:18:10 -05:00
luigi1111
81c2586358
Merge pull request #6588
bcef52d daemon: remove time based 'update needed' status string (moneromooo-monero)
2020-07-08 17:15:19 -05:00
luigi1111
340e1943ac
Merge pull request #6587
94befec fix typo in pick_preferred_rct_inputs (Parean)
2020-07-08 17:14:09 -05:00
luigi1111
be170c485c
Merge pull request #6584
78d435a rpc: don't display invalid json errors on default log level (moneromooo-monero)
2020-07-08 17:12:43 -05:00
luigi1111
8b3fa2d373
Merge pull request #6574
7ebb351 rpc: lock access to the rpc payment object (moneromooo-monero)
2020-07-08 17:11:32 -05:00
luigi1111
634262f3f5
Merge pull request #6568
f037121 cryptonote_core: remove 'We are most likely forked' message (moneromooo-monero)
2020-07-08 17:10:39 -05:00
luigi1111
f1334ebf64
Merge pull request #6566
567402c protocol: move the 'peer claims higher version' warning to debug (moneromooo-monero)
2020-07-08 17:08:58 -05:00
luigi1111
ed903578d7
Merge pull request #6544
5741b4d blockchain: detect and log bad difficulty calculations (moneromooo-monero)
2020-07-08 17:04:41 -05:00
selsta
ed901798d9
version: update name 2020-07-06 23:22:25 +02:00
moneromooo-monero
afd002c31f
daemon: print sampling time in print_net_stats 2020-06-25 13:03:59 +00:00