Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge master Apr 6 #1

Merged
merged 35 commits into from
Apr 6, 2022
Merged

Merge master Apr 6 #1

merged 35 commits into from
Apr 6, 2022

Conversation

jeffro256
Copy link
Owner

No description provided.

im and others added 30 commits November 10, 2021 02:27
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.
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.
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.
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 #8211.

Additional changes from review:
* Make some local variables const
* Change postfix operators to prefix operators where value was not need
* 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
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
- 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
354e1d9 Make the wallet name optional when locked. (Norman Moeschter)
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)
83bb027 Make RPC server functions that read db thread safe (j-berman)
cf44349 account info text alignment (im)
ae0a840 wallet2: decrease the amount of data exchanged for output export (moneromooo-monero)
3f88fdd simplewallet: add option for exporting tx keys (reemuru)
3c82958 wallet2: update stagenet rollback blocks (selsta)
da9aa1f Copyright: Update to 2022 (mj-xmr)
0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
591c174 Remove footgun doc comment in miner TX validation (Luke Parker)
7dcfccb wallet_rpc_server: fix make_integrated_address with no payment id (moneromooo-monero)
d1f1947 wallet_rpc_server: support regex for get_accounts tag (reemuru)
17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
@jeffro256 jeffro256 merged commit c113855 into jeffro256:master Apr 6, 2022
jeffro256 added a commit that referenced this pull request Sep 9, 2023
Results of `test_remote_scanner_client_scan_sp` performance test:
```
seraphis_lib (original) run #1
test_remote_scanner_client_scan_sp (23 calls) - OK: 13434 µs/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 13217 µs/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 14304 µs/call

seraphis_lib (original) run #2
test_remote_scanner_client_scan_sp (23 calls) - OK: 13086 µs/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 13130 µs/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 14217 µs/call

jamtis_fix_fr_privacy (new PR) run #1
test_remote_scanner_client_scan_sp (23 calls) - OK: 1738 ms/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 1738 ms/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 1739 ms/call

jamtis_fix_fr_privacy (new PR) run #2
test_remote_scanner_client_scan_sp (23 calls) - OK: 1731 ms/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 1750 ms/call
test_remote_scanner_client_scan_sp (23 calls) - OK: 1734 ms/call
```

Ran on an AMD Ryzen 9 3900X 12-core CPU. Processing basic records from a remote scanner is about 128x slower.
jeffro256 pushed a commit that referenced this pull request Jul 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants