Commit Graph

10910 Commits

Author SHA1 Message Date
Jeffrey
801568d0c6 Refactor out to_nonconst_iterator.h
Relevant commit on old PR:
2499269696192ce30dd125ddee90a80d4326dff9
2022-04-18 09:55:21 -05:00
Jeffrey
87ec36cacf Refactor out pragma_comp_defs
Relevant commits on the old cleanup PR:
36933c7f5c7778e2d7fbfea5361c11fb41070467
21e43de0f300ee47b7e597098908601bf591950b
3c678bb1cedfd7b865ac2e7aaf014de4bfb3eb3d
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
luigi1111
2b999f5398
Merge pull request #7819
b030f20 Fee changes from ArticMine (moneromooo-monero)
9f786f0 epee: allow copying a rolling_median_t object (moneromooo-monero)
2022-04-18 02:12:55 -05:00
mj-xmr
50ae6bafe9
Tiny: add .vscode/ to .gitignore 2022-04-15 09:59:33 +02:00
moneromooo-monero
9df7179aaf
wallet2: use BP+ for cold signing
reported by ukoehb
2022-04-10 21:03:09 +00:00
mj-xmr
9c42b728ba
CMake: Add missing BUILD_SHARED_LIBS option 2022-04-10 21:25:45 +02: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
moneromooo-monero
9f786f0550
epee: allow copying a rolling_median_t object 2022-04-10 18:13:31 +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
Jeffrey
d1cb9c393e Remove serialization/enableable
Currently working on an EPEE [ser/de]ialization library for Rust and at first glance, EPEE seemed to have support for optional wrappers. However, after looking into it, this feature appears to be half-baked and unused. Furthermore, adding support for optional values would be better suited to implement at the storage level, in my opinion. That would make parsing DOMs easier and less error-prone. If anyone is currently using this code, please comment. Thanks!

At the time of writing, this PR has no merge conflicts with #8211
2022-04-09 22:53:46 -05:00
selsta
649170053f
Makefile: fix spelling of CMAKE_BUILD_TYPE value 2022-04-08 18:22:48 +02:00
selsta
3593a986d8
simplewallet: fix integrated_address output string 2022-04-08 16:20:37 +02:00
luigi1111
f49fc9b487
Merge pull request #8242
6abe3fe tests: integrated_address: remove missing payment id assertion (reemuru)
2022-04-06 15:13:36 -04:00
reemuru
6abe3fee19
tests: integrated_address: remove missing payment id assertion
The integrated address functional test fails in the workflows due
to an assertion for missing payment id that is no longer needed.
Remove the assertion and update the assertion count.

Fixes 7dcfccb: ("wallet_rpc_server: fix make_integrated_address with no payment id")
2022-04-06 06:49:01 -05:00
mj-xmr
4db6aed98c CMake: Add missing headers via monero_find_all_headers macro 2022-04-06 08:12:44 +02:00
selsta
c68d78dde0
randomx: update submodule 2022-04-06 07:22:14 +02:00
luigi1111
c11385591e
Merge pull request #8228
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
2022-04-06 00:22:23 -04: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
1ce9e9cda4 Remove dead code from parserse_base_utils and fix unit tests
* Remove `match_string()`, `match_number()`, and `match_word()`
* Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()`
* Adapt unit test for `match_number()` to `match_number2()`
* Adapt unit test for `match_string()` to `match_string2()`

Note: the unit tests were testing for the old version of the functions, and
the interfaces for these functions changed slightly, so I had to also edit
the tests.

As of writing, this PR has no merge conflicts with #8211

Additional changes during review:
* Explicitly set up is_[float/signed]_val to be changed before each call
* Structify the tests and fix uninitialized variables
2022-03-30 13:29:32 -05: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