Commit Graph

7554 Commits

Author SHA1 Message Date
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:
330df2952cb2863a591158b984c0fb7f652887ac
2022-04-18 09:55:21 -05:00
Jeffrey 7764d69782 Move copyable_atomic into connection_context
Relevant commit from old PR:
bd0a5119957d3ef9130a0b82599e1696995ef235
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:
a9fbe52b02ffab451e90c977459fea4642731cd1
9a59b131c4ed1be8afe238fff3780fe203c65a46
7fa9e2817df9b9ef3f0290f7f86357939829e588
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
Howard Chu 9973edd4c3
ARMv8: detect AES support dynamically 2021-10-10 16:52:30 +01:00
mj-xmr 5e63f6c292
Ledger: member 'mode' was shadowing that of base class 2021-10-07 12:03:17 +02:00
j-berman 84c52571ed Decrease the "recent spend window" in gamma re-select to 15 blocks
- combined with patching integer truncation (#7798), this gets the algorithm marginally closer to mirroring empirically observed output ages
- 50 was originally chosen assuming integer truncation would remain in the client for that client release version. But patching integer truncation causes the client to select more outputs in the 10-100 block range, and therefore the benefit of choosing a larger recent spend window of 50 has less merit
- 15 seems well-suited to cover the somewhat sizable observable gap in the early window of blocks
2021-10-04 20:12:42 -07:00
tobtoht 5770265a16
wallet2: keep around transaction prefix for confirmed transfers 2021-10-01 12:42:48 +02:00
luigi1111 298c9a357f
Merge pull request #7891
dfee15e RPC and ZeroMQ APIs to support p2pool (SChernykh)
2021-09-23 22:10:03 -05:00
luigi1111 237acd120e
Merge pull request #7890
2a8a511 Quicker resource cleanup on p2p socks timeout (Lee *!* Clagett)
2021-09-23 22:06:35 -05:00
Howard Chu 5f54dea4ec
LMDB: fix deadlock in resized detection 2021-09-22 15:47:04 +01:00
Nathan Dorfman 2e8936f614 rpc: Fix get_transactions failing when not found 2021-09-20 17:32:01 -06:00
anon 9154883f3e
node_server: fix race condition 2021-09-20 20:58:23 +00:00
selsta 3a90be4bd6
rpc: don't set error code as status string 2021-09-15 08:57:41 +02:00
j-berman 76542ea709 Fix precision of average_output_time
The fix as suggested by <jberman> on IRC. Before the fix, it would truncate 1.9 to 1 skewing the output selection.
2021-09-12 10:07:31 +02:00
SChernykh dfee15eee1 RPC and ZeroMQ APIs to support p2pool
Adds the following:

- "get_miner_data" to RPC API
- "json-miner-data" to ZeroMQ subscriber contexts

Both provide the necessary data to create a custom block template. They are used by p2pool.

Data provided:

- major fork version
- current height
- previous block id
- RandomX seed hash
- network difficulty
- median block weight
- coins mined by the network so far
- mineable mempool transactions
2021-09-11 15:15:07 +02:00
luigi1111 a39b1d56c8
Merge pull request #7899
cd76eb7 wallet: fix unused lambda capture warning (selsta)
2021-09-09 15:21:10 -04:00
luigi1111 9273530bff
Merge pull request #7898
f353c29 wallet_rpc_server: fix help text remaining bold (selsta)
2021-09-09 15:20:43 -04:00
luigi1111 e72eedd1ce
Merge pull request #7883
d749e0d ringct: silence unused variable warning (selsta)
2021-09-09 15:18:42 -04:00
luigi1111 be94a2fb06
Merge pull request #7875
15936bf Device: remove unused and incorrect non-default constructor (mj-xmr)
2021-09-09 15:17:41 -04:00
luigi1111 dfa6b58d4d
Merge pull request #7823
24d3d65 monero-wallet-rpc: Prevent --password-file from being used with --wallet-dir (Kermit Alexander II)
2021-09-09 15:14:17 -04:00
luigi1111 2a02cd0a5f
Merge pull request #7773 from selsta/unbound
external: remove unbound submodule
2021-09-09 15:13:06 -04:00
luigi1111 7848a467c5
Merge pull request #7616
4ced092 daemon: allow proxy configuration (anon, selsta, tobtoht)
2021-09-09 15:09:51 -04:00
luigi1111 b7315efc1c
Merge pull request #7342
520ce1c Attempt to carve the fee from a partial payment early (lxop)
2021-09-09 15:06:46 -04:00
mj-xmr ad9fde46a3
UB: virtual methods in destructor at Trezor 2021-09-08 14:44:35 +02:00
mj-xmr 514f8fab14
LMDB: protection against UB, by not calling virtual methods from destructor 2021-09-08 14:08:40 +02:00
mj-xmr eed7e79c04
UB: Not calling virtual method in destructor of WalletImpl 2021-09-07 14:24:53 +02:00
selsta ae85ec0285
external: remove unbound submodule 2021-09-03 07:47:35 +02:00
selsta cd76eb7b8c
wallet: fix unused lambda capture warning 2021-08-28 15:18:32 +02:00
selsta f353c295f9
wallet_rpc_server: fix help text remaining bold 2021-08-27 02:59:36 +02:00
SChernykh e52802baef Wallet2: fix optimize-coinbase for p2pool payouts
RefreshOptimizeCoinbase was an optimization to speed up scanning of coinbase transactions before RingCT (tx version 2) where they split miner reward into multiple denominations, all to the same wallet.

When RingCT was introduced, all coinbase transactions became 1 output only, so this optimization does nothing now.

With p2pool, this optimization will skip scanning p2pool payouts because they use more than 1 output in coinbase transaction.

Fix it by applying this optimization only to pre-RingCT transactions (version < 2).
2021-08-26 11:50:15 +02:00
luigi1111 0061da9e63
Merge pull request #7878
a9aaa47 wallet_api: add make_uri (tobtoht)
2021-08-20 16:50:24 -04:00
luigi1111 8b9eea92f1
Merge pull request #7849
6f15a0c Make sure node returns to wallet that real output is unlocked (j-berman)
2021-08-20 16:49:59 -04:00
luigi1111 1b079e5195
Merge pull request #7845
e1af8dc Protect client from divide by 0 caused by integer truncation (j-berman)
2021-08-20 16:45:15 -04:00
luigi1111 5812b757e0
Merge pull request #7821
da2955f Apply gamma distr from chain tip when selecting decoys (j-berman)
2021-08-20 16:33:53 -04:00
anon 4ced092aae daemon: allow proxy configuration
Co-authored-by: selsta <selsta@sent.at>
Co-authored-by: tobtoht <thotbot@protonmail.com>
2021-08-20 21:24:29 +02:00
Kermit Alexander II 24d3d65d42 monero-wallet-rpc: Prevent --password-file from being used with --wallet-dir 2021-08-20 08:54:41 -05:00
j-berman e1af8dc02c Protect client from divide by 0 caused by integer truncation 2021-08-19 14:56:36 -07:00
j-berman da2955feae Apply gamma distr from chain tip when selecting decoys
- matches the paper by Miller et al to apply the gamma from chain tip, rather than after unlock time
- if the gamma produces an output more recent than the unlock time, the algo packs that output into one of the first 50 spendable blocks, respecting the block density factor
2021-08-19 14:51:20 -07:00
selsta d749e0d97c
ringct: silence unused variable warning 2021-08-19 22:00:44 +02:00
mj-xmr 15936bfa0f
Device: remove unused and incorrect non-default constructor 2021-08-19 21:56:12 +02:00
tobtoht a9aaa47abb
wallet_api: add make_uri 2021-08-19 15:35:37 +02:00
luigi1111 89664fcee5
Merge pull request #7811
3d3a671 Daemon: Update average block size table (rbrunner7)
2021-08-11 22:37:56 -04:00
luigi1111 521b4d9ded
Merge pull request #7809
7354ffb p2p: remove blocked addresses/hosts from peerlist (moneromooo-monero)
2021-08-11 22:35:15 -04:00
luigi1111 cb08466394
Merge pull request #7802
a3d2b71 wallet_api: expose offline mode status (rating89us)
2021-08-11 22:33:38 -04:00
luigi1111 5cebb8edc0
Merge pull request #7800
b48074f Fixed json serialization of rct::RCTTypeNull (SChernykh)
2021-08-11 22:32:39 -04:00
luigi1111 1bb8ec1b97
Merge pull request #7795
87a0928 rpc: source file extensions must be explicit (cmake warning) (selsta)
2021-08-11 22:31:34 -04:00
luigi1111 62844a776d
Merge pull request #7786
9c6e094 fix #7784 - deinit wallet in wallet dtor (Dusan Klinec)
2021-08-11 22:30:11 -04:00
j-berman 6f15a0c8d3 Make sure node returns to wallet that real output is unlocked 2021-08-11 07:28:10 -07:00
moneromooo-monero 7354ffb8a7
p2p: remove blocked addresses/hosts from peerlist 2021-08-05 17:29:25 +00:00
Dusan Klinec 13a8a576ed
trezor: try empty passphrase first
- Try empty passphrase first when opening a wallet, as all Trezors will have passphrase enabled by default by Trezor Suite by default.
  This feature enables easier access to all users using disabled passphrase (or empty passhprase)
- If wallet address differs from device address with empty passphrase, another opening attempt is made, without passphrase suppression,
  so user can enter his passhprase if using some. In this scenario, nothing changes to user, wallet opening just consumes one more call
  to Trezor (get wallet address with empty passphrase)
- also change how m_passphrase is used. Previous version did not work well with recent passphrase entry mechanism change (made in Trezor),
  thus this commit fixes the behaviour).
2021-08-03 13:54:04 +02:00
luigi1111 ed506006d2
Merge pull request #7796
0c6e1d3 wallet2: chunk get_outs.bin calls to avoid sanity limits (moneromooo-monero)
2021-08-02 18:54:46 -04:00
luigi1111 eeda76570c
Merge pull request #7790
bc8d764 wallet: rephrase error message on invalid device address (Dusan Klinec)
2021-08-02 18:53:05 -04:00
luigi1111 8c41d14ad5
Merge pull request #7788
f5eb2ce wallet2: Don't auto lock device on process parsed blocks (tobtoht)
2021-08-02 18:50:25 -04:00
luigi1111 894e5b2794
Merge pull request #7767
5fa1c90 Fix describe_transfer for multiple txes in a txset (Alex Opie)
2021-08-02 18:47:05 -04:00
luigi1111 0cdb8d02e8
Merge pull request #7757
d689b94 protocol: fix delayed 'you are now synchronized...' message (moneromooo-monero)
2021-08-02 18:43:44 -04:00
luigi1111 9aa2d4c16e
Merge pull request #7747
8cf95c8 wallet2: refresh: check error and throw before potentially breaking out of loop (tobtoht)
2021-08-02 18:42:32 -04:00
Alex Opie 5fa1c90102
Fix describe_transfer for multiple txes in a txset
This ensures each list of recipients is only the recipients
for one transaction. It also adds a new field "summary"
that describes the txset as a whole.

Fixes #7344
2021-08-02 20:39:49 +02:00
Lee *!* Clagett 2a8a51129f Quicker resource cleanup on p2p socks timeout 2021-07-29 08:54:13 +00:00
selsta 979d121ed7
blocks: fix cmake syntax 2021-07-28 00:39:48 +02:00
luigi1111 960376b960
Merge pull request #7782
a48db50 device_trezor_base: fix typo (anon)
2021-07-27 17:04:14 -04:00
luigi1111 d9c9a11c54
Merge pull request #7772
eda5c30 Doc: Update blockchain stats with review comments (mj-xmr)
2021-07-27 17:01:42 -04:00
luigi1111 69e714c749
Merge pull request #7745
d52d21b ledger: don't lock for software device (tobtoht)
2021-07-27 16:56:37 -04:00
luigi1111 62bcdc1d3c
Merge pull request #7744
ce40c33 ledger: use software device if we have view key (tobtoht)
2021-07-27 16:56:09 -04:00
luigi1111 2d5b8a6ff7
Merge pull request #7740
8cea9d8 wallet: Reset RPC Pay ID on node switch (tobtoht)
2021-07-27 16:55:14 -04:00
luigi1111 ca4de5f96d
Merge pull request #7698
7359d51 cmake: fix non portable code (selsta)
2021-07-27 16:53:55 -04:00
rbrunner7 3d3a67142c Daemon: Update average block size table 2021-07-27 13:45:55 +02:00
rating89us a3d2b71ee9 wallet_api: expose offline mode status 2021-07-19 00:30:36 +02:00
SChernykh b48074fb8d Fixed json serialization of rct::RCTTypeNull
rct::RCTTypeNull doesn't have these fields (ecdhInfo, outPk, txnFee).
2021-07-18 10:52:14 +02:00
moneromooo-monero 0c6e1d343e
wallet2: chunk get_outs.bin calls to avoid sanity limits 2021-07-15 17:25:07 +00:00
selsta 87a092811d
rpc: source file extensions must be explicit (cmake warning) 2021-07-15 09:42:57 +02:00
tobtoht f5eb2ce968 wallet2: Don't auto lock device on process parsed blocks 2021-07-14 13:02:54 +02:00
Dusan Klinec bc8d7644d2
wallet: rephrase error message on invalid device address 2021-07-14 11:02:29 +02:00
Dusan Klinec 9c6e0941cb
fix #7784 - deinit wallet in wallet dtor 2021-07-14 10:46:16 +02:00
anon fe76d7dee7
cmake: fix undefined symbols and multiple definitions 2021-07-13 08:00:20 +02:00
anon a48db50b1c
device_trezor_base: fix typo 2021-07-10 23:52:15 +00:00
luigi1111 de3456e127
Merge pull request #7764
e24875e simplewallet: don't truncate integ. address in export_transfers (selsta)
2021-07-10 18:01:35 -04:00
luigi1111 1e8cbc995f
Merge pull request #7762
8ae6c85 trezor: add #if for ByteSizeLong (selsta)
2021-07-10 18:00:45 -04:00
luigi1111 3c8c8e5a5b
Merge pull request #7761
8ef51dc wallet_api: fix typo in exportKeyImages (selsta)
2021-07-10 17:59:56 -04:00
luigi1111 9903b35345
Merge pull request #7754
8ff21e1 doc: update IRC references to Libera (fdov)
2021-07-10 17:59:23 -04:00
luigi1111 6043c85afe
Merge pull request #7753
f0df726 add singapore.node.xmr.pm to seed nodes (lza_menace)
2021-07-10 17:58:22 -04:00
luigi1111 c53e22c40a
Merge pull request #7748
bbeb555 wallet_api: getPassword (tobtoht)
2021-07-10 17:57:39 -04:00
mj-xmr eda5c303cd
Doc: Update blockchain stats with review comments 2021-07-06 07:12:33 +02:00
tobtoht bbeb555f00 wallet_api: getPassword 2021-07-05 02:49:27 +02:00
selsta 8ae6c85efd
trezor: add #if for ByteSizeLong
Turns out Ubuntu 18.04 ships with an old protobuf version.
2021-06-27 23:43:36 +02:00
tobtoht 8a67724218
wallet_api: get bytes sent/received 2021-06-24 21:32:03 +02:00
selsta e24875e572
simplewallet: don't truncate integ. address in export_transfers 2021-06-24 21:21:26 +02:00
luigi1111 14a1b89122
Merge pull request #7752
4251cc0 unit_tests: check for ge_frombytes_vartime failure (moneromooo-monero)
67b97a5 easylogging++: do not delete uninitialized objects (moneromooo-monero)
7b6d959 trezor: fix potential use of uninitialized memory (moneromooo-monero)
2021-06-24 14:13:19 -05:00
luigi1111 4f08d52dfa
Merge pull request #7750
8e0b8dd wallet/api: remove Bitmonero namespace alias (selsta)
2021-06-24 14:12:37 -05:00
luigi1111 0a9d218044
Merge pull request #7749
e63c110 wallet_api: address_book: don't lose pid on setDescription (tobtoht)
2021-06-24 14:11:45 -05:00
luigi1111 99aa45fd34
Merge pull request #7746
1aa1850 wallet_api: signMessage: add sign with subaddress (tobtoht)
2021-06-24 14:06:13 -05:00
luigi1111 7c3629a5ee
Merge pull request #7742
f174a8f wallet_api: reconnectDevice (tobtoht)
2021-06-24 14:05:35 -05:00
luigi1111 ce129599d0
Merge pull request #7739
6914d5b wallet_api: move adjust_mixin call within try block (tobtoht)
2021-06-24 14:04:42 -05:00
luigi1111 48e59b8064
Merge pull request #7672
5bf91fc add documentation for monero-blockchain-stats (donkeydonkey)
2021-06-24 14:03:03 -05:00
luigi1111 ad9956d987
Merge pull request #7634
5a2edea db_lmdb: catch exceptions testing for mmap support (moneromooo-monero)
2021-06-24 14:01:42 -05:00
luigi1111 f8abb225fc
Merge pull request #7633
f6e2636 blockchain_db: harden code against invalid input types (moneromooo-monero)
2021-06-24 14:00:59 -05:00
luigi1111 3366bd81eb
Merge pull request #7612
254a133 core: speed up print_coinbase_tx_sum (moneromooo-monero)
2021-06-24 13:59:44 -05:00