Age | Commit message (Collapse) | Author | Files | Lines |
|
1164874 src, epee: fix a couple compiler warnings (selsta)
|
|
fde7c96 wallet2: fix spurious reorg detection with untrusted nodes (moneromooo-monero)
|
|
2dab31f Don't exclusively drop tor/i2p outgoing cxns in idle loop (j-berman)
|
|
2979474 disable multisig by default (moneromooo-monero)
|
|
b9d2c78 fix backoff delay logic when re-relaying txs (j-berman)
|
|
bae4a1a Don't send peerlist larger than max allowed (j-berman)
|
|
|
|
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.
|
|
|
|
1ddb1ee Give better error messages when missing SSL files (Jeffrey Ryan)
|
|
f63f7dc wallet2: fix a couple unused variable warnings (selsta)
|
|
b7978cf Remove src/serialization/list.h (Jeffrey)
|
|
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.
|
|
2.8 seconds -> 2.6 seconds on a test case
|
|
3.3 seconds -> 2.8 seconds on a test case
|
|
4.1 seconds -> 3.3 seconds on a test case
|
|
5.2 seconds -> 4.1 seconds on a test case
|
|
5.9 second -> 5.2 seconds on a test case
|
|
|
|
|
|
7d6c748 Set hf v15 testnet fork heights (j-berman)
|
|
41da2fe Update copyright to 2022 for Hardfork files (Akrit)
|
|
070e41d Change Github to GitHub (Abdullah)
|
|
4f08bcd refactor(bp+): save one inversion, use sc_muladd (Dusan Klinec)
|
|
baee2c0 Preserve commitment format inside transactions (kayabaNerve)
|
|
268a039 Optimized keccak implementation (SChernykh)
|
|
0d6ecb1 multisig: add post-kex verification round to check that all participants have completed the multisig address (koe)
|
|
|
|
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.
|
|
|
|
Unused ;)
Also a comment from serialization.h
|
|
have completed the multisig address
|
|
Update Makefile and LICENSE
|
|
|
|
|
|
9209880 add a sanity check to RPC input data size (moneromooo-monero)
|
|
a14fdf8 Remove /include (Jeffrey)
|
|
5d388eb Bump ring size to 16 for v15 & remove set default in wallet cli (j-berman)
|
|
|
|
reported by m31007
|
|
9df7179 wallet2: use BP+ for cold signing (moneromooo-monero)
|
|
3593a98 simplewallet: fix integrated_address output string (selsta)
|
|
0f7b20a Added support for Ledger Nano S Plus (Mathias Herberts)
|
|
ea87b30 Add view tags to outputs to reduce wallet scanning time (j-berman)
|
|
|
|
Thanks @mj-xmr: https://github.com/monero-project/monero/pull/8211#discussion_r823870855
|
|
Relevant commit from old PR:
330df2952cb2863a591158b984c0fb7f652887ac
|
|
Relevant commit from old PR:
bd0a5119957d3ef9130a0b82599e1696995ef235
|
|
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
|
|
|
|
Remove unused include statements or unused definitions.
|
|
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.
|
|
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.
|
|
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.
|
|
4db6aed CMake: Add missing headers via monero_find_all_headers macro (mj-xmr)
|
|
reported by ukoehb
|
|
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
|
|
* `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`
|
|
|
|
|
|
17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
|
|
d1f1947 wallet_rpc_server: support regex for get_accounts tag (reemuru)
|
|
7dcfccb wallet_rpc_server: fix make_integrated_address with no payment id (moneromooo-monero)
|
|
591c174 Remove footgun doc comment in miner TX validation (Luke Parker)
|
|
0d6fce8 Compil. time: cryptonote_core minus portable_storage header (mj-xmr)
|
|
da9aa1f Copyright: Update to 2022 (mj-xmr)
|
|
3c82958 wallet2: update stagenet rollback blocks (selsta)
|
|
3f88fdd simplewallet: add option for exporting tx keys (reemuru)
|
|
ae0a840 wallet2: decrease the amount of data exchanged for output export (moneromooo-monero)
|
|
cf44349 account info text alignment (im)
|
|
83bb027 Make RPC server functions that read db thread safe (j-berman)
|
|
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)
|
|
354e1d9 Make the wallet name optional when locked. (Norman Moeschter)
|
|
- 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
|
|
|
|
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
|
|
|
|
|
|
|
|
https://suyash67.github.io/homepage/assets/pdfs/bulletproofs_plus_audit_report_v1.1.pdf
|
|
|
|
|
|
|
|
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
|
|
|
|
f22051d replace erciccione's seednode with one on haveno's infrastructure (erciccione)
|
|
9bde2db Fixes: Don't require --rpc-login with --rpc-access-control-origins #8168 (Jeffrey)
|
|
5e201fe rpc: add explicit restricted flag to /get_info (tobtoht)
|
|
e5000a9 Balance includes unconfirmed transfers to self (woodser)
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
fb5b2b3 support authentication in monero-wallet-rpc set_daemon (woodser)
|
|
c36ea26 fix ge_p3_is_point_at_infinity(), which is evaluating field elements that haven't been reduced by the field order (koe)
|
|
e08abaa multisig key exchange update and refactor (koe)
|
|
|
|
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 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
|
|
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.
|
|
|
|
|
|
haven't been reduced by the field order
|
|
1051276 Update net_node.inl (Gingeropolous)
|
|
4446cc8 wallet inits cache if file and blob missing (woodser)
|
|
a02b342 Avoid unnecessary 'Invalid hashing blob' error message (rbrunner7)
|
|
|
|
|
|
|
|
53be72c make_uri disallows standalone payment ids (woodser)
|
|
1efe624 device_ledger: fix incorrect macro (selsta)
|
|
3a90be4 rpc: don't set error code as status string (selsta)
|
|
|
|
e8e507f rpc: fix DoS vector in get_output_distribution (moneromooo-monero)
|
|
a4ebec9 Add python method (Howard Chu)
0221b01 Add calcpow RPC (Howard Chu)
|
|
Calculate PoW hash for a block candidate
|
|
|
|
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.
|
|
fbe8358 device: fix ledger error strings, add human friendly messages (selsta)
|
|
187633c slow_hash: don't blow out Mac stack on ARM64 (Howard Chu)
|
|
bbe3b27 tx_pool: full tx revalidation on fork boundaries (moneromooo-monero)
|
|
|
|
|
|
|
|
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.
|
|
548cfc8 crypto: fix typo in ifdef (selsta)
|
|
47e7a43 wallet_api: enable set_strict_default_file_permissions (tobtoht)
|
|
a15466d wallet2: remove 2 unused variables (selsta)
|
|
2cad563 wallet2: fix key encryption when changing ask-password from 0/1 to 2 (moneromooo-monero)
|
|
|
|
|
|
e106bdc epee: add missing header (selsta)
|
|
1f81f5f protocol: fix spurious rejection of downloaded blocks (moneromooo-monero)
|
|
ace4669 simplewallet: fix incoming_transfers index error (selsta)
|
|
75d05b9 download: fix leak (moneromooo-monero)
|
|
797ca97 socks: ignore any exceptions in shutdown/close (selsta)
|
|
This will prevent people spending old pre-rct outputs using a
stranger's node, which may be a good thing
|
|
|
|
|
|
|
|
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
|
|
|
|
we reuse the wallet_keys_unlocker object, which does the right thing
in conjunction with other users of decrypt/encrypt (ie, refresh).
|
|
9973edd ARMv8: detect AES support dynamically (Howard Chu)
|
|
84c5257 Decrease the 'recent spend window' in gamma re-select to 15 blocks (j-berman)
|
|
5e63f6c Ledger: member 'mode' was shadowing that of base class (mj-xmr)
|
|
ad9fde4 UB: virtual methods in destructor at Trezor (mj-xmr)
|
|
eed7e79 UB: Not calling virtual method in destructor of WalletImpl (mj-xmr)
|
|
514f8fa LMDB: protection against UB, by not calling virtual methods from destructor (mj-xmr)
|
|
76542ea Fix precision of average_output_time (j-berman)
|
|
48a0997 blockchain: fix pedantic assert (selsta)
|
|
2e8936f rpc: Fix get_transactions failing when not found (Nathan Dorfman)
|
|
5f54dea LMDB: fix deadlock in resized detection (Howard Chu)
|
|
9154883 node_server: fix race condition (anon)
8922f96 node_server: add race condition demo (anon)
|
|
13a8a57 trezor: try empty passphrase first (Dusan Klinec)
|
|
|
|
|
|
A shared_ptr as by value capture will keep the object alive
|
|
|
|
|
|
- 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
|
|
dfee15e RPC and ZeroMQ APIs to support p2pool (SChernykh)
|
|
2a8a511 Quicker resource cleanup on p2p socks timeout (Lee *!* Clagett)
|
|
|
|
|
|
|
|
|
|
The fix as suggested by <jberman> on IRC. Before the fix, it would truncate 1.9 to 1 skewing the output selection.
|
|
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
|
|
cd76eb7 wallet: fix unused lambda capture warning (selsta)
|
|
f353c29 wallet_rpc_server: fix help text remaining bold (selsta)
|
|
d749e0d ringct: silence unused variable warning (selsta)
|
|
15936bf Device: remove unused and incorrect non-default constructor (mj-xmr)
|
|
24d3d65 monero-wallet-rpc: Prevent --password-file from being used with --wallet-dir (Kermit Alexander II)
|
|
external: remove unbound submodule
|
|
4ced092 daemon: allow proxy configuration (anon, selsta, tobtoht)
|
|
520ce1c Attempt to carve the fee from a partial payment early (lxop)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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).
|
|
a9aaa47 wallet_api: add make_uri (tobtoht)
|
|
6f15a0c Make sure node returns to wallet that real output is unlocked (j-berman)
|
|
e1af8dc Protect client from divide by 0 caused by integer truncation (j-berman)
|
|
da2955f Apply gamma distr from chain tip when selecting decoys (j-berman)
|
|
Co-authored-by: selsta <selsta@sent.at>
Co-authored-by: tobtoht <thotbot@protonmail.com>
|
|
|
|
|
|
- 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
|
|
|
|
|
|
|
|
3d3a671 Daemon: Update average block size table (rbrunner7)
|