Commit Graph

7647 Commits

Author SHA1 Message Date
koe
4b0785f1c9 add an option to force-update multisig key exchange under some circumstances 2022-09-21 12:38:35 -05:00
SChernykh
28f25c0dbc Second thread pool for IO 2022-09-20 09:59:58 +02:00
luigi1111
c9cfa25183
Merge pull request #8556
b8271ab wallet2: check wallet compatibility with daemon's hard fork version (j-berman)
2022-09-15 00:35:03 -05:00
luigi1111
df37c148d4
Merge pull request #8551
eca7f6a Fix segfault restoring encrypted multisig seed (j-berman)
f713c3c Require user ack multisig is experimental to restore (j-berman)
564a7a3 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
2022-09-15 00:34:05 -05:00
j-berman
b8271ab881 wallet2: check wallet compatibility with daemon's hard fork version 2022-09-12 21:24:24 -06:00
luigi1111
6402dbee69
Merge pull request #8554
76a5b54 Fix missing semi-colon in error message (j-berman)
2022-09-09 12:56:53 -05:00
luigi1111
ddb434fc19
Merge pull request #8519
2639c4f rpc: skip bootstrap nodes that are lower than last checkpoint (selsta)
2022-09-09 12:49:46 -05:00
luigi1111
c89d06341a
Merge pull request #8513
959a3e6 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero)
a098504 wallet2: better test on whether to allow output import (moneromooo-monero)
c5579ac allow exporting outputs in chunks (moneromooo-monero)
1e912ec wallet2: fixes for export/import output flow (j-berman)
692f1d4 wallet2: do not assume imported outputs must be non empty (moneromooo-monero)
67b6d6a wallet2: prevent importing outputs in a hot wallet (moneromooo-monero)
d9fc666 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
2022-09-09 12:48:47 -05:00
luigi1111
e553884d1f
Merge pull request #8348
a4cb77f epee: update 'http_server_handlers_map2.h' macros to use fully qualified names (Jeffrey Ryan)
2022-09-09 12:46:39 -05:00
j-berman
eca7f6ae98 Fix segfault restoring encrypted multisig seed 2022-09-07 17:24:03 -06:00
j-berman
76a5b54d58 Fix missing semi-colon in error message
Co-authored-by: woodser <woodser@protonmail.com>
2022-09-06 18:41:16 -06:00
selsta
2639c4f2ff
rpc: skip bootstrap nodes that are lower than last checkpoint 2022-09-06 22:06:45 +02:00
j-berman
f713c3c335 Require user ack multisig is experimental to restore 2022-09-06 11:59:28 -06:00
j-berman
564a7a31e8 multisig: fix #8537 seed restore (suggestions by @UkoeHB)
- spend secret key is no longer the sum of multisig key shares;
no need to check that is the case upon restore.
- restoring a multisig wallet from multisig info means that the
wallet must have already completed all setup rounds. Upon restore,
set the number of rounds completed accordingly.
2022-09-06 11:59:25 -06:00
moneromooo-monero
959a3e627f
wallet2: ensure imported outputs subaddresses are created
reported by j-berman
2022-08-24 13:52:36 +00:00
luigi1111
4e42d6c69d
Merge pull request #8490
f8d76ec version: bump master version number (selsta)
2022-08-22 22:50:47 -05:00
luigi1111
f46f16467a
Merge pull request #8486
6b61628 dns_util: remove outdated DNSSEC DS trust anchor (selsta)
2022-08-22 22:50:20 -05:00
luigi1111
ab63fbc549
Merge pull request #8465
04a1e28 ledger support for hf 15 (BP+, view tags) (j-berman)
2022-08-22 22:49:47 -05:00
luigi1111
386032dad9
Merge pull request #8462
f7f1445 device: set ledger min app version (selsta)
2022-08-22 22:49:07 -05:00
luigi1111
77053298ed
Merge pull request #8450
600de07 wallet_rpc_server: longer timeout for stop_mining (moneromooo-monero)
ac6db92 functional_tests: silence the cpu power test program (moneromooo-monero)
2022-08-22 22:47:45 -05:00
luigi1111
53a8cf7f8c
Merge pull request #8428
7a31d25 keccak: error out if passed mdlen 100 (moneromooo-monero)
2022-08-22 22:45:59 -05:00
luigi1111
ce80747c58
Merge pull request #8427
1fc60ca Publish submitted txs via zmq (j-berman)
2022-08-22 22:45:14 -05:00
luigi1111
645d752b19
Merge pull request #8415
628fdcd continue pool pruning even if a tx can't be found (j-berman)
2022-08-22 22:44:04 -05:00
luigi1111
3c78f4d3d4
Merge pull request #8381
f797655 Fixed get_block_template_backlog performance (SChernykh)
2022-08-22 22:43:12 -05:00
luigi1111
2056ef78a0
Merge pull request #8379
4a4936b Fix use of rtxn without a mdb_txn_safe wrapper (Howard Chu)
2022-08-22 22:41:08 -05:00
luigi1111
df02b56289
Merge pull request #8359
4d7f6f5 GCC: fix some unused warnings (Jeffrey Ryan)
2022-08-22 22:40:09 -05:00
luigi1111
080fc69435
Merge pull request #8299
a0df140 feat(trezor): add HF15 support, BP+ (Dusan Klinec)
2022-08-22 22:37:08 -05:00
SerHack
09d69b6946
rpc: remove overwriting value 2022-08-22 10:34:50 +02:00
SerHack
e988530e01
Remove redundant check 2022-08-22 10:19:12 +02:00
SerHack
501db2cedb
Wallet RPC: remove duplicate line 2022-08-21 10:52:33 +02:00
Crypto City
6f0fb76025
blockchain: fix invalid memory read getting fee on empty chain 2022-08-19 14:39:27 +00:00
moneromooo-monero
a0985044d9
wallet2: better test on whether to allow output import
Being offline is not a good enough heuristic, so we keep track
of whether the wallet ever refreshed from a daemon, which is a
lot better, and probably the best we can do without manual user
designation (which would break existing cold wallet setups till
the user designates those wallets)
2022-08-18 19:29:03 +00:00
moneromooo-monero
c5579ac236
allow exporting outputs in chunks
this will make it easier huge wallets to do so without hitting
random limits (eg, max string size in node).
2022-08-18 06:53:41 +00:00
j-berman
1e912ecd8a
wallet2: fixes for export/import output flow
- only allow offline wallets to import outputs
- don't import empty outputs
- export subaddress indexes when exporting outputs
2022-08-16 14:22:42 +00:00
moneromooo-monero
692f1d4e3d
wallet2: do not assume imported outputs must be non empty 2022-08-16 14:22:33 +00:00
moneromooo-monero
67b6d6ae2c
wallet2: prevent importing outputs in a hot wallet 2022-08-16 14:22:33 +00:00
moneromooo-monero
d9fc666db8
wallet2: fix missing subaddress indices in "light" exported outputs 2022-08-16 14:22:24 +00:00
moneromooo-monero
d06202dcc0
blockchain_prune: faster
on my anecdotal SSD, goes from about 9 hours to 1h20.
2022-08-15 16:16:18 +00:00
selsta
f8d76ecb57
version: bump master version number
Otherwise Ledger rejects the wallet.
2022-08-09 03:37:27 +02:00
j-berman
04a1e2875d ledger support for hf 15 (BP+, view tags) 2022-08-06 15:00:49 -07:00
selsta
6b61628881
dns_util: remove outdated DNSSEC DS trust anchor 2022-08-06 19:46:53 +02:00
SChernykh
f79765579c Fixed get_block_template_backlog performance
Before the fix, it processed all transactions in the mempool which could be very slow when mempool grows to several MBs in size. I observed `get_block_template_backlog` taking up to 15 seconds of CPU time under high mempool load.

After the fix, only transactions that can potentially be mined in the next block will be processed (a bit more than the current block median weight).
2022-07-26 07:21:21 +02:00
selsta
f7f14459f5
device: set ledger min app version 2022-07-24 21:01:22 +02:00
j-berman
1fc60cac58 Publish submitted txs via zmq 2022-07-21 11:36:00 -07:00
moneromooo-monero
600de07bcf wallet_rpc_server: longer timeout for stop_mining
That RPC will wait for mining to actually stop, which can be a while
if randomx has just started on randomx_init_dataset.

This fixes occasional failures in the mining functional test
2022-07-21 12:00:05 +00:00
Howard Chu
4a4936b8af
Fix use of rtxn without a mdb_txn_safe wrapper 2022-07-20 20:58:03 +01:00
luigi1111
f982163fc9
Merge pull request #8425
fe5d1be build: prepare v0.18.0.0 (selsta)
2022-07-15 11:23:54 -04:00
luigi1111
4792ceefb1
Merge pull request #8414
2ba391f hardforks: set mainnet and stagenet v15/16 fork height (selsta)
2022-07-15 11:22:01 -04:00
luigi1111
070c3d6b0f
Merge pull request #8433
db8181a wallet2: force using output distribution for ringct outs (tobtoht)
2022-07-14 22:15:27 -04:00
luigi1111
02cbccc529
Merge pull request #8432
edcc094 derive multisig tx secret keys from an entropy source plus the tx inputs' key images (koe)
2022-07-14 22:14:41 -04:00
luigi1111
d912444a4a
Merge pull request #7986
5770265 wallet2: keep around transaction prefix for confirmed transfers (tobtoht)
2022-07-14 12:54:39 -04:00
selsta
fe5d1bef56
build: prepare v0.18.0.0 2022-07-13 22:07:31 +02:00
koe
edcc094558 derive multisig tx secret keys from an entropy source plus the tx inputs' key images 2022-07-13 12:40:34 -05:00
luigi1111
cfdee9ba69
Merge pull request #8421
bd1e7c5 wallet2: prevent crash when reading tx w/fewer outputs than expected (j-berman)
2022-07-13 00:39:54 -04:00
luigi1111
6fed8c2d9f
Merge pull request #8149
c7b2944 multisig: fix critical vulnerabilities in signing (anon)
2022-07-13 00:38:29 -04:00
Jeffrey Ryan
4d7f6f5cd5 GCC: fix some unused warnings
hash_extra: don't test for success in `jh_hash` and `skein_hash` since its guaranteed
device_ledger: move anonymous global variable apdu_verbose into .cpp file
Add comments to `refreshed` method variable in wallet2
2022-07-11 20:32:03 -05:00
moneromooo-monero
7a31d25b67
keccak: error out if passed mdlen 100
If we were to call it with 100, it would cause rsiz to be 0,
leading to an infinite loop.
This is really a pedantic patch, but since there's already a
range test, might as well make it better.
2022-07-11 17:43:59 +00:00
luigi1111
4476c35fc8
Merge pull request #8408
09a597b wallet2: don't use DNS to obtain segregation heights (tobtoht)
2022-07-06 00:01:59 -05:00
luigi1111
cea2498e95
Merge pull request #8404
50ccc7e wallet2: remove obsolete rpc version check (tobtoht)
2022-07-06 00:01:29 -05:00
luigi1111
7a118f08f4
Merge pull request #8394
4278a3a cryptonote_basic: catch crypto api errors (moneromooo-monero)
2022-07-06 00:00:24 -05:00
luigi1111
5a3c77be18
Merge pull request #8391
41b1a6b simplewallet: print usage when given no args (hinto.janaiyo)
2022-07-05 23:59:59 -05:00
luigi1111
45a44aa45f
Merge pull request #8388
04c0da2 Chunk /gettransactions to avoid hitting restricted RPC limit (tobtoht)
2022-07-05 23:58:46 -05:00
luigi1111
969316685b
Merge pull request #8371
16f8e04 Remove erraneous commas (Luke Parker)
da0715e Improve consistency between on_money_received and on_money_received_unconfirmed (Luke Parker)
2022-07-05 23:58:06 -05:00
j-berman
bd1e7c5635 wallet2: prevent crash when reading tx w/fewer outputs than expected 2022-07-05 21:39:59 -07:00
luigi1111
b54d5ae383
Merge pull request #8384
8460fcc Revert 'Merge pull request #7937' (j-berman)
2022-07-03 17:29:46 -05:00
luigi1111
82cde936c3
Merge pull request #8356
de2f0d0 wallet_api: add scanTransactions function (selsta)
2022-07-03 17:26:35 -05:00
luigi1111
30a9183091
Merge pull request #7774
ade464a ITS#9385 fix using MDB_NOSUBDIR with nonexistent file (Kris Zyp)
033a32a Remove check is_directory check on lmdb path (Howard Chu)
b096e16 Revert 'db_lmdb: test for mmap support at init time' (Howard Chu)
493577a Silence spurious fallthru warning (Howard Chu)
b46a60e Fix rawpart flag collision (Howard Chu)
4e7586c More RAWPART support (Howard Chu)
747f5d3 Preliminary raw partition support (Howard Chu)
2022-07-03 17:24:47 -05:00
j-berman
628fdcdd49 continue pool pruning even if a tx can't be found 2022-07-01 09:44:58 -07:00
selsta
2ba391f02c
hardforks: set mainnet and stagenet v15/16 fork height 2022-07-01 01:49:59 +02:00
anon
c7b2944f89 multisig: fix critical vulnerabilities in signing 2022-06-30 12:56:40 -05:00
tobtoht
09a597ba28
wallet2: don't use DNS to obtain segregation heights 2022-06-28 23:12:03 +02:00
tobtoht
04c0da2986
Chunk /gettransactions to avoid hitting restricted RPC limit 2022-06-27 21:23:56 +02:00
tobtoht
db8181adf8
wallet2: force using output distribution for ringct outs
Co-authored-by: j-berman <justinberman@protonmail.com>
2022-06-25 13:06:11 +02:00
tobtoht
50ccc7e726
wallet2: remove obsolete rpc version check 2022-06-24 21:58:07 +02:00
moneromooo-monero
4278a3a7e3
cryptonote_basic: catch crypto api errors 2022-06-20 22:17:57 +00:00
Dusan Klinec
a0df140fd6
feat(trezor): add HF15 support, BP+
- BP+ support added for Trezor
- old Trezor firmware version support removed, code cleanup
2022-06-20 19:42:56 +02:00
hinto.janaiyo
41b1a6b0dd
simplewallet: print usage when given no args 2022-06-20 08:15:07 -04:00
j-berman
8460fcc32b Revert "Merge pull request #7937"
This reverts commit 50410d1f7d, reversing
changes made to d054def63f.
2022-06-13 18:44:09 +01:00
Howard Chu
033a32a20b
Remove check is_directory check on lmdb path
The check interferes with raw device/partition support.
2022-06-03 16:46:47 +01:00
Howard Chu
b096e16699
Revert "db_lmdb: test for mmap support at init time"
This reverts commit bd96536637.

The check interferes with raw device/partition support.
2022-06-03 16:46:35 +01:00
moneromooo-monero
23fde151ee
wallet_rpc_server: chunk refresh to keep responding to RPC while refreshing 2022-06-03 07:15:15 +00:00
Luke Parker
16f8e042b5
Remove erraneous commas 2022-06-01 19:38:42 -04:00
Luke Parker
da0715e503
Improve consistency between on_money_received and on_money_received_unconfirmed
unconfirmed solely uses a - b, and received now accepts b so it can 
provide more detailed logs on what occurred (printing a - b, yet with a 
and b).
2022-06-01 18:20:11 -04:00
luigi1111
9750e1fa10
Merge pull request #8340
08080df unit_tests: add more sha256sum test cases (Jeffrey Ryan)
a66a52d common: update sha256sum to use OpenSSL 3.0 API (Jeffrey Ryan)
2022-05-26 21:26:42 -05:00
luigi1111
e8252ef99b
Merge pull request #8337
1164874 src, epee: fix a couple compiler warnings (selsta)
2022-05-26 21:25:06 -05:00
luigi1111
1ff2b02064
Merge pull request #8331
fde7c96 wallet2: fix spurious reorg detection with untrusted nodes (moneromooo-monero)
2022-05-26 21:24:38 -05:00
luigi1111
f9d789d68c
Merge pull request #8330
2dab31f Don't exclusively drop tor/i2p outgoing cxns in idle loop (j-berman)
2022-05-26 21:23:38 -05:00
luigi1111
f96cf86532
Merge pull request #8328
2979474 disable multisig by default (moneromooo-monero)
2022-05-26 21:22:52 -05:00
luigi1111
d52b7d0e99
Merge pull request #8326
b9d2c78 fix backoff delay logic when re-relaying txs (j-berman)
2022-05-26 21:21:18 -05:00
luigi1111
7f2f7ce404
Merge pull request #8324
bae4a1a Don't send peerlist larger than max allowed (j-berman)
2022-05-26 21:20:23 -05:00
selsta
de2f0d0102
wallet_api: add scanTransactions function 2022-05-26 03:51:31 +02:00
moneromooo-monero
5bb2369b55
wallet_rpc_server: add --no-initial-sync flag for quicker network binding 2022-05-25 09:02:27 +00:00
Jeffrey Ryan
a4cb77f9f3 epee: update 'http_server_handlers_map2.h' macros to use fully qualified names
quick patch which fixes the issue where if you use some macros from `http_server_handlers_map2.h` you have to be in the `epee` namespace or it doesn't compile. Now can remove `using namespace epee;` from header file `core_rpc_server.h`, which caused a couple of name qualifying mistakes
2022-05-23 14:46:36 -05:00
j-berman
2dab31f62f Don't exclusively drop tor/i2p outgoing cxns in idle loop 2022-05-18 09:54:21 -07:00
Jeffrey Ryan
a66a52d144
common: update sha256sum to use OpenSSL 3.0 API
As of OpenSSL 3.0, `SHA256_Init`, `SHA256_Update`, and `SHA256_Final`
are deprectaed in favor of the higher-level `EVP_*` class of functions.
This causes compiler warnings, and sooner or later, will cause build
errors as these functions are excluded from distro headers.

Also add some documentation.
2022-05-18 01:34:16 +02:00
moneromooo-monero
2979474221
disable multisig by default
There are vulnerabilities in multisig protocol if the parties do not
trust each other, and while there is a patch for it, it has not been
throroughly reviewed yet, so it is felt safer to disable multisig by
default for now.
If all parties in a multisig setup trust each other, then it is safe
to enable multisig.
2022-05-17 19:52:03 +00:00
selsta
1164874afc
src, epee: fix a couple compiler warnings 2022-05-17 00:33:10 +02:00
luigi1111
6e60919e6d
Merge pull request #8315
1ddb1ee Give better error messages when missing SSL files (Jeffrey Ryan)
2022-05-16 13:53:16 -05:00
luigi1111
5b9724b03d
Merge pull request #8308
f63f7dc wallet2: fix a couple unused variable warnings (selsta)
2022-05-16 13:51:18 -05:00
luigi1111
3d1e5db44d
Merge pull request #8307
b7978cf Remove src/serialization/list.h (Jeffrey)
2022-05-16 13:50:52 -05:00
moneromooo-monero
fde7c96b5c
wallet2: fix spurious reorg detection with untrusted nodes
When forced to deal with an untrusted node, a wallet will quantize
its current height to disguise the real height to the adversary, to
try and minimize the daemon's ability to distinguish returning
wallets.
Daemons will thus return more blocks than the wallet needs, starting
from earlier in the chain. These extra blocks will be disregarded
by the wallet, which had already scanned them.
However, for the purposes of reorg size detection, the wallet assumes
all blocks the daemon sends are different, which is only correct if
the wallet hasn't been coy, which is only the case for trusted
daemons (which you should use). This causes an issue when the size
of this "fake reorg" is above the sanity check threshold at which
the wallet refuses a reorg.
To fix this, the reorg size check is moved later on, when the reorg
is about to actually happen, after the wallet has checked which
blocks are actually different from the ones it expects.
2022-05-15 11:57:37 +00:00
moneromooo-monero
df2e680825
wallet2: speedup large tx construction: reserve vector memory
2.8 seconds -> 2.6 seconds on a test case
2022-05-13 17:43:22 +00:00
Crypto City
38cdf01c64
wallet2: speedup large tx construction: batch ringdb lookups
3.3 seconds -> 2.8 seconds on a test case
2022-05-13 17:43:22 +00:00
Crypto City
353cd5355e
wallet2: speedup large tx construction: no pointless clsag generation
4.1 seconds -> 3.3 seconds on a test case
2022-05-13 17:43:21 +00:00
Crypto City
2b95178897
wallet2: speedup large tx construction: batch ringdb updates
5.2 seconds -> 4.1 seconds on a test case
2022-05-13 17:43:20 +00:00
moneromooo-monero
c9cf0b78f8
wallet2: speedup large tx construction: cache public key validity
5.9 second -> 5.2 seconds on a test case
2022-05-13 17:43:16 +00:00
j-berman
b9d2c788bc fix backoff delay logic when re-relaying txs 2022-05-12 08:39:51 -07:00
j-berman
bae4a1ad8f Don't send peerlist larger than max allowed 2022-05-11 18:41:24 -07:00
luigi1111
8349cfe4a6
Merge pull request #8321
7d6c748 Set hf v15 testnet fork heights (j-berman)
2022-05-10 16:57:53 -05:00
luigi1111
d58ea37a8d
Merge pull request #8302
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
2022-05-10 16:56:39 -05:00
luigi1111
8480575cec
Merge pull request #8300
070e41d Change Github to GitHub (Abdullah)
2022-05-10 16:53:48 -05:00
luigi1111
fbd1f1e476
Merge pull request #8293
4f08bcd refactor(bp+): save one inversion, use sc_muladd (Dusan Klinec)
2022-05-10 16:51:59 -05:00
luigi1111
436ca13722
Merge pull request #8277
baee2c0 Preserve commitment format inside transactions (kayabaNerve)
2022-05-10 16:49:13 -05:00
luigi1111
156151396e
Merge pull request #8262
268a039 Optimized keccak implementation (SChernykh)
2022-05-10 16:47:13 -05:00
luigi1111
c1625a8928
Merge pull request #8220
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
2022-05-10 16:41:02 -05:00
j-berman
7d6c7489a7 Set hf v15 testnet fork heights 2022-05-09 14:38:54 -07:00
Jeffrey Ryan
1ddb1ee819 Give better error messages when missing SSL files
While copying my data dir to another drive, I missed copying the rpc_ssl.key file b/c of the file permissions.
This change will give a much more clear, descriptive error in that scenario.
2022-05-05 21:48:19 -05:00
selsta
f63f7dc7e2
wallet2: fix a couple unused variable warnings 2022-05-02 21:28:40 +02:00
Jeffrey
b7978cfd4e Remove src/serialization/list.h
Unused ;)

Also a comment from serialization.h
2022-05-02 12:08:05 -05:00
koe
0d6ecb1136 multisig: add post-kex verification round to check that all participants have completed the multisig address 2022-04-29 14:04:59 -05:00
Akrit
41da2fe6f3 Update copyright to 2022 for Hardfork files
Update Makefile and LICENSE
2022-04-29 11:12:36 +02:00
Abdullah
070e41d88b Change "Github" to "GitHub" 2022-04-27 18:53:03 +01:00
Dusan Klinec
4f08bcd800
refactor(bp+): save one inversion, use sc_muladd 2022-04-26 13:37:11 +02:00
luigi1111
67e5ca9ad6
Merge pull request #8275
9209880 add a sanity check to RPC input data size (moneromooo-monero)
2022-04-25 10:22:03 -05:00
luigi1111
a092b943d5
Merge pull request #8249
a14fdf8 Remove /include (Jeffrey)
2022-04-25 10:20:10 -05:00
luigi1111
e13244ea9c
Merge pull request #8178
5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
2022-04-25 10:18:26 -05:00
Luke Parker
baee2c06ec
Preserve commitment format inside transactions 2022-04-21 18:58:47 -04:00
moneromooo-monero
9209880e9c
add a sanity check to RPC input data size
reported by m31007
2022-04-21 22:22:56 +00:00
luigi1111
9f814edbd7
Merge pull request #8254
9df7179 wallet2: use BP+ for cold signing (moneromooo-monero)
2022-04-19 22:21:21 -05:00
luigi1111
4abbf442b4
Merge pull request #8245
3593a98 simplewallet: fix integrated_address output string (selsta)
2022-04-19 22:18:42 -05:00
luigi1111
8ddbe18277
Merge pull request #8232
0f7b20a Added support for Ledger Nano S Plus (Mathias Herberts)
2022-04-19 22:15:10 -05:00
luigi1111
96758a7d05
Merge pull request #8061
ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
2022-04-19 22:14:03 -05:00
j-berman
5d388eb74d Bump ring size to 16 for v15 & remove set default in wallet cli 2022-04-18 14:36:28 -07:00
Jeffrey
11371425f5 "Change C-cast to static_cast in net_peerlist.h"
Thanks @mj-xmr: https://github.com/monero-project/monero/pull/8211#discussion_r823870855
2022-04-18 09:55:21 -05:00
Jeffrey
1f25aa27c5 Factor out move_it_backward from misc_language.h
Relevant commit from old PR:
330df2952c
2022-04-18 09:55:21 -05:00
Jeffrey
7764d69782 Move copyable_atomic into connection_context
Relevant commit from old PR:
bd0a511995
2022-04-18 09:55:21 -05:00
Jeffrey
441c860738 Merge functionality of misc_os_dependent into time_helper.h
Actions:
1. Remove unused functions from misc_os_dependent.h
2. Move three remaining functions, get_gmt_time, get_ns_count, and get_tick_count into time_helper.h
3. Remove unused functions from time_helper.h
4. Refactor get_ns_count and get_internet_time_str and get_time_interval_string
5. Remove/add includes as needed

Relevant commits on the old PR:
a9fbe52b02
9a59b131c4
7fa9e2817d
2022-04-18 09:55:21 -05:00
Jeffrey
40f02f9d73 Add Include statements 2022-04-18 09:55:20 -05:00
Jeffrey
12b1b74d32 Trimming Fat
Remove unused include statements or unused definitions.
2022-04-18 09:55:20 -05:00
Jeffrey
690ce560b0 Boring Old Deletes
Here lies dozens of unused files. This commit is ONLY file deletions except
for the removing of a couple of #includes and removing filenames from CmakeLists
where appropriate.
2022-04-18 09:55:20 -05:00
SChernykh
268a0393e9 Optimized keccak implementation
All tests were conducted on the same PC (Ryzen 5 5600X running at fixed 4.65 GHz).

Before:
test_cn_fast_hash<32> (100000 calls) - OK: 1 us/call
test_cn_fast_hash<16384> (1000 calls) - OK: 164 us/call

After:
test_cn_fast_hash<32> (100000 calls) - OK: 0 us/call
test_cn_fast_hash<16384> (1000 calls) - OK: 31 us/call

More than 5 times speedup for cn_fast_hash.

Also noticed consistent 1-2% improvement in test_construct_tx results.
2022-04-18 10:01:13 +02:00
j-berman
ea87b30f89 Add view tags to outputs to reduce wallet scanning time
Implements view tags as proposed by @UkoeHB in MRL issue
https://github.com/monero-project/research-lab/issues/73

At tx construction, the sender adds a 1-byte view tag to each
output. The view tag is derived from the sender-receiver
shared secret. When scanning for outputs, the receiver can
check the view tag for a match, in order to reduce scanning
time. When the view tag does not match, the wallet avoids the
more expensive EC operations when deriving the output public
key using the shared secret.
2022-04-18 00:49:53 -07:00
luigi1111
6694597974
Merge pull request #8207
4db6aed CMake: Add missing headers via monero_find_all_headers macro (mj-xmr)
2022-04-18 02:14:04 -05:00
moneromooo-monero
9df7179aaf
wallet2: use BP+ for cold signing
reported by ukoehb
2022-04-10 21:03:09 +00:00
moneromooo-monero
b030f20751
Fee changes from ArticMine
https://github.com/ArticMine/Monero-Documents/blob/master/MoneroScaling2021-02.pdf

with a change to use 1.7 instead of 2.0 for the max long term increase rate
2022-04-10 18:13:34 +00:00
Jeffrey
a14fdf8d5a Remove /include
* `IWallet.h` hasn't been touched since 2014, and has been replaced by `src/wallet/api/wallet2_api.h`
* `INode.h` is in a similar situation with `src/p2p/net_node.h`
2022-04-09 23:47:02 -05:00
selsta
3593a986d8
simplewallet: fix integrated_address output string 2022-04-08 16:20:37 +02:00
mj-xmr
4db6aed98c CMake: Add missing headers via monero_find_all_headers macro 2022-04-06 08:12:44 +02:00
luigi1111
bb093ec9a8
Merge pull request #8223
17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
2022-04-06 00:19:59 -04:00
luigi1111
f096ac1349
Merge pull request #8215
d1f1947 wallet_rpc_server: support regex for get_accounts tag (reemuru)
2022-04-06 00:16:20 -04:00
luigi1111
9a124f6811
Merge pull request #8213
7dcfccb wallet_rpc_server: fix make_integrated_address with no payment id (moneromooo-monero)
2022-04-06 00:15:40 -04:00
luigi1111
627f04c19a
Merge pull request #8212
591c174 Remove footgun doc comment in miner TX validation (Luke Parker)
2022-04-06 00:14:44 -04:00
luigi1111
04e490c8da
Merge pull request #8205
0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
2022-04-06 00:11:14 -04:00
luigi1111
0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
luigi1111
88a5606795
Merge pull request #8195
3c82958 wallet2: update stagenet rollback blocks (selsta)
2022-04-06 00:07:36 -04:00
luigi1111
ffe439d38a
Merge pull request #8180
3f88fdd simplewallet: add option for exporting tx keys (reemuru)
2022-04-06 00:06:58 -04:00
luigi1111
0285c07d7d
Merge pull request #8179
ae0a840 wallet2: decrease the amount of data exchanged for output export (moneromooo-monero)
2022-04-06 00:06:20 -04:00
luigi1111
922acb05fd
Merge pull request #8053
cf44349 account info text alignment (im)
2022-04-06 00:03:41 -04:00
luigi1111
50410d1f7d
Merge pull request #7937
83bb027 Make RPC server functions that read db thread safe (j-berman)
2022-04-06 00:02:47 -04:00
luigi1111
d054def63f
Merge pull request #7170
bd27deb Bulletproofs+ (SarangNoether)
b7713cc Precompute initial transcript hash (SarangNoether)
b535d66 Updates from security audit (SarangNoether)
a0d80b1 plug bulletproofs plus into consensus (moneromooo-monero)
75bd004 ringct: a few minor optimizations from review (moneromooo-monero)
a345060 ringct: port some of vtnerd's review changes from BP+ to BP (moneromooo-monero)
4c94cfe store outPk/8 in the tx for speed (moneromooo-monero)
5acdd0e bulletproofs+: some minor cleanup from vtnerd's review (moneromooo-monero)
2022-04-05 23:56:09 -04:00
luigi1111
fb2f822c52
Merge pull request #7153
354e1d9 Make the wallet name optional when locked. (Norman Moeschter)
2022-04-05 23:48:18 -04:00
j-berman
83bb02745a Make RPC server functions that read db thread safe
- grab an lmdb db_rtxn_guard to ensure consistent data from the db
- fixed on_getblockhash error resp when requested height >= blockchain height
- left functions that read shared memory untouched for now
2022-04-05 20:20:12 -07:00
moneromooo-monero
5acdd0e2cb
bulletproofs+: some minor cleanup from vtnerd's review 2022-04-05 18:50:23 +00:00
moneromooo-monero
4c94cfecfc
store outPk/8 in the tx for speed
It avoids dividing by 8 when deserializing a tx, which is a slow
operation, and multiplies by 8 when verifying and extracing the
amount, which is much faster as well as less frequent
2022-04-05 18:50:22 +00:00
moneromooo-monero
a345060ace
ringct: port some of vtnerd's review changes from BP+ to BP 2022-04-05 18:50:21 +00:00
moneromooo-monero
75bd004f4e
ringct: a few minor optimizations from review 2022-04-05 18:50:21 +00:00
moneromooo-monero
a0d80b1f95
plug bulletproofs plus into consensus 2022-04-05 18:50:17 +00:00
Sarang Noether
b535d662b9 Updates from security audit
https://suyash67.github.io/homepage/assets/pdfs/bulletproofs_plus_audit_report_v1.1.pdf
2022-04-04 08:23:21 +00:00
Sarang Noether
b7713cce26 Precompute initial transcript hash 2022-04-04 08:23:21 +00:00
Sarang Noether
bd27debb2d Bulletproofs+ 2022-04-04 08:23:21 +00:00
Mathias Herberts
0f7b20a1ce Added support for Ledger Nano S Plus 2022-03-31 18:25:09 +02:00
Jeffrey
17772ef53e Eliminate dependence on boost::interprocess #8223
In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of
`boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example,
when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so
I replaced it with `std::atomic<bool>`.

You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211.

Additional changes from review:
* Make some local variables const
* Change postfix operators to prefix operators where value was not need
2022-03-30 13:18:32 -05:00
moneromooo-monero
ae0a840fda
wallet2: decrease the amount of data exchanged for output export 2022-03-29 08:40:32 +00:00
luigi1111
70ceab6c10
Merge pull request #8216
f22051d replace erciccione's seednode with one on haveno's infrastructure (erciccione)
2022-03-18 16:34:16 -05:00
luigi1111
427bd85893
Merge pull request #8187
9bde2db Fixes: Don't require --rpc-login with --rpc-access-control-origins #8168 (Jeffrey)
2022-03-18 16:32:25 -05:00
luigi1111
0ea8519895
Merge pull request #8169
5e201fe rpc: add explicit restricted flag to /get_info (tobtoht)
2022-03-18 16:30:00 -05:00
luigi1111
d9e6baac42
Merge pull request #8158
e5000a9 Balance includes unconfirmed transfers to self (woodser)
2022-03-18 16:28:16 -05:00
reemuru
d1f1947995
wallet_rpc_server: support regex for get_accounts tag
This commit adds a 'regexp' boolean field to the get_accounts
request. The flag is set to false by default and maintains backwards
compatibility. When set to true the user can search tags by regular
expression filters. An additional error message was added for failed
regular expression searches. Bump minor version to 25.
2022-03-13 11:30:48 -04:00
erciccione
f22051d382
replace erciccione's seednode with one on haveno's infrastructure 2022-03-13 13:15:01 +01:00
moneromooo-monero
7dcfccbaaf
wallet_rpc_server: fix make_integrated_address with no payment id 2022-03-11 17:23:19 +00:00
Luke Parker
591c174235
Remove footgun doc comment in miner TX validation
This comment suggests this check is unnecessary, when it is completely necessary as miner TXs can have multiple outputs *which is a statement directly, and incorrectly, contradicted by this comment*. While I don't ever see someone removing this code and getting their edits merged into Monero, someone inexperienced who thinks they're cleaning old code may break their own work, and then there's really just zero benefit to keeping this around.
2022-03-10 14:08:30 -06:00
Norman Moeschter
354e1d9c65
Make the wallet name optional when locked. 2022-03-10 08:16:14 +00:00
mj-xmr
0d6fce8995
Compil. time: cryptonote_core minus portable_storage header 2022-03-04 12:48:35 +01:00
mj-xmr
da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
luigi1111
27f1d43547
Merge pull request #8145
fb5b2b3 support authentication in monero-wallet-rpc set_daemon (woodser)
2022-03-02 18:53:34 -05:00
luigi1111
abae63c37d
Merge pull request #8052
c36ea26 fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order (koe)
2022-03-02 18:52:51 -05:00
luigi1111
5eaa4434e8
Merge pull request #7877
e08abaa multisig key exchange update and refactor (koe)
2022-03-02 18:51:54 -05:00
selsta
3c829586be
wallet2: update stagenet rollback blocks 2022-03-01 00:25:41 +01:00
reemuru
3f88fddbfa
simplewallet: add option for exporting tx keys
This commit adds an option to export transaction
keys when performing export_transfers all. By passing
option=with_keys a new column 'tx key' will be
populated with respective keys.
2022-02-24 22:22:35 -05:00
koe
e08abaa43f multisig key exchange update and refactor 2022-02-22 16:37:42 -06:00
Jeffrey
9bde2dbfed Fixes: Don't require --rpc-login with --rpc-access-control-origins #8168
This PR removes the requirement for --rpc-login to be specified if --rpc-access-control-origins is.
This will allow public nodes to serve cross-origin requests. You can still use --rpc-login with
--rpc-access-control-origins, but it is no longer mandatory.

Original Issue: #8168
2022-02-19 13:49:38 -06:00
moneromooo-monero
06e6c8bf4a
crypto: fix constant randomx exceptions in large page allocator
If allocating large pages fails, we don't try again.
This has the obvious drawback of not being able to use large pages
if they fail once.
2022-02-19 13:15:10 +00:00
tobtoht
5e201fedc5
rpc: add explicit restricted flag to /get_info 2022-02-07 17:59:22 +01:00
woodser
e5000a9f0c Balance includes unconfirmed transfers to self 2022-01-31 07:52:38 -05:00
koe
c36ea26e5c fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order 2022-01-25 07:14:46 -06:00
luigi1111
357dbd2032
Merge pull request #8130
1051276 Update net_node.inl (Gingeropolous)
2022-01-24 15:16:52 -05:00
luigi1111
d94715fd71
Merge pull request #8123
4446cc8 wallet inits cache if file and blob missing (woodser)
2022-01-24 15:15:11 -05:00
luigi1111
5283cf51ef
Merge pull request #8044
a02b342 Avoid unnecessary 'Invalid hashing blob' error message (rbrunner7)
2022-01-24 15:10:55 -05:00
woodser
fb5b2b352a support authentication in monero-wallet-rpc set_daemon 2022-01-17 17:03:56 -05:00
Gingeropolous
1051276425
Update net_node.inl 2022-01-04 16:31:59 -05:00
woodser
4446cc88c3 wallet inits cache if file and blob missing 2021-12-24 09:22:57 -05:00
luigi1111
3ed0cc6e20
Merge pull request #8067
53be72c make_uri disallows standalone payment ids (woodser)
2021-11-30 17:05:48 -05:00
luigi1111
c0cf5bb339
Merge pull request #8057
1efe624 device_ledger: fix incorrect macro (selsta)
2021-11-30 17:03:46 -05:00
luigi1111
55fc2335a4
Merge pull request #7943
3a90be4 rpc: don't set error code as status string (selsta)
2021-11-30 17:00:20 -05:00
woodser
53be72c08a make_uri disallows standalone payment ids 2021-11-30 09:28:45 -05:00
luigi1111
105e2304a2
Merge pull request #8083
e8e507f rpc: fix DoS vector in get_output_distribution (moneromooo-monero)
2021-11-26 23:05:31 -06:00
luigi1111
9a17f53489
Merge pull request #8070
a4ebec9 Add python method (Howard Chu)
0221b01 Add calcpow RPC (Howard Chu)
2021-11-26 23:01:08 -06:00
Howard Chu
0221b01519
Add calcpow RPC
Calculate PoW hash for a block candidate
2021-11-20 18:52:05 +00:00
selsta
82828bfcb6
cryptonote_core: fix unused lambda warning 2021-11-16 05:21:56 +01:00
selsta
1efe624e30
device_ledger: fix incorrect macro
The current code does work by accident, but it might break if
someone uses ASSERT_SW in a different place, or if variables
get renamed.
2021-11-12 02:56:20 +01:00
luigi1111
97ff1938a3
Merge pull request #8038
fbe8358 device: fix ledger error strings, add human friendly messages (selsta)
2021-11-09 22:53:47 -06:00
luigi1111
2844b5b8db
Merge pull request #8031
187633c slow_hash: don't blow out Mac stack on ARM64 (Howard Chu)
2021-11-09 22:50:36 -06:00
luigi1111
c3b1b94453
Merge pull request #7169
bbe3b27 tx_pool: full tx revalidation on fork boundaries (moneromooo-monero)
2021-11-09 22:44:39 -06:00
im
cf44349a86 account info text alignment 2021-11-10 02:27:14 +08:00
rbrunner7
a02b342347 Avoid unnecessary 'Invalid hashing blob' error message 2021-11-05 14:19:21 +01:00
selsta
fbe8358c9f
device: fix ledger error strings, add human friendly messages 2021-11-03 00:10:12 +01:00
moneromooo-monero
bbe3b276b8
tx_pool: full tx revalidation on fork boundaries
avoids mining txes after a fork that are invalid by this fork's
rules, but were valid by the previous fork rules at the time
they were verified and added to the txpool.
2021-11-01 20:56:38 +00:00
luigi1111
e22ec26be4
Merge pull request #8029
548cfc8 crypto: fix typo in ifdef (selsta)
2021-11-01 12:32:24 -05:00
luigi1111
d573b3d76c
Merge pull request #8020
47e7a43 wallet_api: enable set_strict_default_file_permissions (tobtoht)
2021-11-01 12:31:32 -05:00
luigi1111
ff4ede9356
Merge pull request #8017
a15466d wallet2: remove 2 unused variables (selsta)
2021-11-01 12:29:22 -05:00
luigi1111
f405bf3d58
Merge pull request #8013
2cad563 wallet2: fix key encryption when changing ask-password from 0/1 to 2 (moneromooo-monero)
2021-11-01 12:25:20 -05:00
Howard Chu
187633c0ca
slow_hash: don't blow out Mac stack on ARM64 2021-10-30 22:24:55 +01:00
selsta
548cfc8d68
crypto: fix typo in ifdef 2021-10-29 17:55:51 +02:00
luigi1111
b328fbecc2
Merge pull request #8019
e106bdc epee: add missing header (selsta)
2021-10-25 19:02:49 -05:00
luigi1111
ff96482e38
Merge pull request #8018
1f81f5f protocol: fix spurious rejection of downloaded blocks (moneromooo-monero)
2021-10-25 19:02:22 -05:00
luigi1111
e5710b1898
Merge pull request #8004
ace4669 simplewallet: fix incoming_transfers index error (selsta)
2021-10-25 18:59:54 -05:00
luigi1111
e7d571c526
Merge pull request #8003
75d05b9 download: fix leak (moneromooo-monero)
2021-10-25 18:59:18 -05:00
luigi1111
00ac048958
Merge pull request #7995
797ca97 socks: ignore any exceptions in shutdown/close (selsta)
2021-10-25 18:53:34 -05:00
moneromooo-monero
e8e507f36f
rpc: fix DoS vector in get_output_distribution
This will prevent people spending old pre-rct outputs using a
stranger's node, which may be a good thing
2021-10-24 17:17:12 +00:00
selsta
797ca974ab
socks: ignore any exceptions in shutdown/close 2021-10-22 22:00:29 +02:00
tobtoht
47e7a43270
wallet_api: enable set_strict_default_file_permissions 2021-10-22 05:40:23 +02:00
selsta
e106bdc1fc
epee: add missing header 2021-10-22 04:14:25 +02:00
moneromooo-monero
1f81f5f5c1
protocol: fix spurious rejection of downloaded blocks
when kicking a peer for inactivity, clear the set of requested blocks,
or next time we requests blocks from it, we'll probably reject the
incoming blocks due to missing the previous requested blocks
2021-10-21 20:34:06 +00:00
selsta
a15466d850
wallet2: remove 2 unused variables 2021-10-20 22:19:15 +02:00
moneromooo-monero
2cad563060
wallet2: fix key encryption when changing ask-password from 0/1 to 2
we reuse the wallet_keys_unlocker object, which does the right thing
in conjunction with other users of decrypt/encrypt (ie, refresh).
2021-10-19 22:01:45 +00:00
luigi1111
753dc901a1
Merge pull request #8001
9973edd ARMv8: detect AES support dynamically (Howard Chu)
2021-10-17 23:39:50 -05:00
luigi1111
99507da993
Merge pull request #7994
84c5257 Decrease the 'recent spend window' in gamma re-select to 15 blocks (j-berman)
2021-10-17 23:38:47 -05:00
luigi1111
adb2542a6c
Merge pull request #7876
5e63f6c Ledger: member 'mode' was shadowing that of base class (mj-xmr)
2021-10-17 23:29:17 -05:00
luigi1111
ebc655c6ad
Merge pull request #7869
ad9fde4 UB: virtual methods in destructor at Trezor (mj-xmr)
2021-10-17 23:28:04 -05:00
luigi1111
19a6cc26fc
Merge pull request #7867
eed7e79 UB: Not calling virtual method in destructor of WalletImpl (mj-xmr)
2021-10-17 23:26:50 -05:00
luigi1111
e165fdb27c
Merge pull request #7859
514f8fa LMDB: protection against UB, by not calling virtual methods from destructor (mj-xmr)
2021-10-17 23:25:34 -05:00
luigi1111
308e601966
Merge pull request #7799
76542ea Fix precision of average_output_time (j-berman)
2021-10-17 23:23:15 -05:00
luigi1111
3d9c805e23
Merge pull request #7975
48a0997 blockchain: fix pedantic assert (selsta)
2021-10-11 13:00:27 -05:00
luigi1111
a6367693c7
Merge pull request #7960
2e8936f rpc: Fix get_transactions failing when not found (Nathan Dorfman)
2021-10-11 12:59:32 -05:00
luigi1111
872d6f86bc
Merge pull request #7958
5f54dea LMDB: fix deadlock in resized detection (Howard Chu)
2021-10-11 12:57:53 -05:00
luigi1111
45920c36f1
Merge pull request #7874
9154883 node_server: fix race condition (anon)
8922f96 node_server: add race condition demo (anon)
2021-10-11 12:56:14 -05:00
luigi1111
7f477c1902
Merge pull request #7793
13a8a57 trezor: try empty passphrase first (Dusan Klinec)
2021-10-11 12:54:17 -05:00
selsta
48a0997d8c
blockchain: fix pedantic assert 2021-10-11 19:09:45 +02:00
selsta
ace4669543
simplewallet: fix incoming_transfers index error 2021-10-10 23:17:16 +02:00
moneromooo-monero
75d05b9448
download: fix leak
A shared_ptr as by value capture will keep the object alive
2021-10-10 19:14:17 +00:00