aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-03-12Merge pull request #9244v0.18.3.3luigi11111-1/+1
31a7f12 ringct: fix trunc_amount field name change (jeffro256)
2024-03-11ringct: fix trunc_amount field name changejeffro2561-1/+1
Caused in commit 05231400cebfeedbbc0a5386f38a033bba6314b3, PR #9035.
2024-03-11build: prepare v0.18.3.3selsta4-2/+3
2024-03-08Fixed mempool pruningSChernykh2-7/+19
- Fixed undefined behavior after a call to `remove_tx_from_transient_lists` (it used an invalid iterator) - Fixed `txCompare` (it wasn't strictly weak ordered)
2024-03-08Merge pull request #9223luigi11111-1/+1
36ee12b get_block_template_backlog: better sorting logic (SChernykh)
2024-03-08Merge pull request #9224luigi11111-0/+1
eeb7c7c tx_memory_pool: make double spends a no-drop offense (jeffro256)
2024-03-08tx_memory_pool: make double spends a no-drop offensejeffro2561-0/+1
Nodes who see different txs in a double spend attack will drop each other, splitting the network. Issue found by @boog900.
2024-03-08get_block_template_backlog: better sorting logicSChernykh1-1/+1
std::sort is unstable, so it can return random sets of transactions when mempool has many transactions with the same fee/byte. It can result in p2pool mining empty blocks sometimes because it doesn't pick up "new" transactions immediately.
2024-03-08wallet2: adjust fee during backlog, fix set priorityselsta2-3/+3
2024-02-24Merge pull request #9158luigi11118-147/+53
33e3f72 serialization: fix infinite loops and clean up dispatching (jeffro256)
2024-02-24Merge pull request #9136luigi11114-2/+3
f2360a7 build: prepare v0.18.3.2 (selsta)
2024-02-24Merge pull request #9188luigi11111-1/+2
0cc8f7a cryptonote_core: early out on out of bounds scaling parameter (selsta)
2024-02-24Merge pull request #9156luigi11111-0/+4
052df1b Zero initialize rctSigBase elements (Lee *!* Clagett)
2024-02-24Merge pull request #9142luigi11114-43/+15
98ee46f Disable/fix ports with I2P (Lee Clagett)
2024-02-24Merge pull request #9130luigi11111-16/+43
dfb990e wallet: mitigate statistical dependence for decoy selection within rings (jeffro256)
2024-02-24Merge pull request #9008luigi11112-1/+5
9a89e2d wallet2: call on_reorg callback in handle_reorg (j-berman) 1df5630 wallet2: add on_reorg callback (Crypto City)
2024-02-20wallet: feature: transfer amount with fee includedjeffro2567-42/+265
To transfer ~5 XMR to an address such that your balance drops by exactly 5 XMR, provide a `subtractfeefrom` flag to the `transfer` command. For example: transfer 76bDHojqFYiFCCYYtzTveJ8oFtmpNp3X1TgV2oKP7rHmZyFK1RvyE4r8vsJzf7SyNohMnbKT9wbcD3XUTgsZLX8LU5JBCfm 5 subtractfeefrom=all If my walet balance was exactly 30 XMR before this transaction, it will be exactly 25 XMR afterwards and the destination address will receive slightly less than 5 XMR. You can manually select which destinations fund the transaction fee and which ones do not by providing the destination index. For example: transfer 75sr8AAr... 3 74M7W4eg... 4 7AbWqDZ6... 5 subtractfeefrom=0,2 This will drop your balance by exactly 12 XMR including fees and will spread the fee cost proportionally (3:5 ratio) over destinations with addresses `75sr8AAr...` and `7AbWqDZ6...`, respectively. Disclaimer: This feature was paid for by @LocalMonero.
2024-02-20build: prepare v0.18.3.2selsta4-2/+3
2024-02-20cryptonote_core: early out on out of bounds scaling parameterselsta1-1/+2
2024-02-08serialization: fix infinite loops and clean up dispatchingjeffro2568-147/+53
Resolves #8687
2024-02-06Zero initialize rctSigBase elementsLee *!* Clagett1-0/+4
2024-01-30Disable/fix ports with I2PLee Clagett4-43/+15
2024-01-19wallet: mitigate statistical dependence for decoy selection within ringsjeffro2561-16/+43
Since we are required to check for uniqueness of decoy picks within any given ring, and since some decoy picks may fail due to unlock time or malformed EC points, the wallet2 decoy selection code was building up a larger than needed *unique* set of decoys for each ring according to a certain distribution *without replacement*. After filtering out the outputs that it couldn't use, it chooses from the remaining decoys uniformly random *without replacement*. The problem with this is that the picks later in the picking process are not independent from the picks earlier in the picking process, and the later picks do not follow the intended decoy distribution as closely as the earlier picks. To understand this intuitively, imagine that you have 1023 marbles. You label 512 marbles with the letter A, label 256 with the letter B, so on and so forth, finally labelling one marble with the letter J. You put them all into a bag, shake it well, and pick 8 marbles from the bag, but everytime you pick a marble of a certain letter, you remove all the other marbles from that bag with the same letter. That very first pick, the odds of picking a certain marble are exactly how you would expect: you are twice as likely to pick A as you are B, twice as likely to pick B as you are C, etc. However, on the second pick, the odds of getting the first pick are 0%, and the chances for everything else is higher. As you go down the line, your picked marbles will have letters that are increasingly more unlikely to pick if you hadn't remove the other marbles. In other words, the distribution of the later marbles will be more "skewed" in comparison to your original distribution of marbles. In Monero's decoy selection, this same statistical effect applies. It is not as dramatic since the distribution is not so steep, and we have more unique values to choose from, but the effect *is* measureable. Because of the protocol rules, we cannot have duplicate ring members, so unless that restriction is removed, we will never have perfectly independent picking. However, since the earlier picks are less affected by this statistical effect, the workaround that this commit offers is to store the order that the outputs were picked and commit to this order after fetching output information over RPC.
2024-01-18Merge pull request #9080luigi11111-0/+201
47d8899 Fix missing checks for IsObject in ZMQ jsonrpc reading (Lee Clagett)
2024-01-18Merge pull request #9053luigi11111-7/+16
fe746dc Fix EAGAIN bug in ZMQ-RPC/ZMQ-PUB (Lee *!* Clagett)
2023-11-28Fix missing checks for IsObject in ZMQ jsonrpc readingLee Clagett1-0/+201
2023-11-06Merge pull request #9051luigi11111-0/+26
fe47806 wallet: fix multisig key memory leak (jeffro256)
2023-11-06Merge pull request #9043luigi11111-4/+13
e7d51e5 JH hash compiler workarounds (SChernykh)
2023-11-06Merge pull request #9039luigi11111-3/+6
0f75585 multisig: better errors for small malformed kex msgs (jeffro256)
2023-11-06Merge pull request #9036luigi11111-3/+9
eae62a0 ringct: make ctSigBase serialization follow strict aliasing rule (jeffro256)
2023-11-06Merge pull request #9034luigi11111-0/+1
14ae812 cryptonote_config: include cstdint (jeffro256)
2023-11-04JH hash compiler workaroundsSChernykh1-4/+13
- Fixed uninitialized `state->x` warning - Fixed broken code with `-O3` or `-Ofast` The old code is known to break GCC 10.1 and GCC 11.4
2023-11-04Fix EAGAIN bug in ZMQ-RPC/ZMQ-PUBLee *!* Clagett1-7/+16
2023-11-03wallet: fix multisig key memory leakjeffro2561-0/+26
Multisig keys per-transfer were being wiped, but not erased, which lead to a ginormous quadratic bloat the more transfers and exports you performed with the wallet.
2023-10-25multisig: better errors for small malformed kex msgsjeffro2561-3/+6
Resolves https://github.com/monero-project/monero/issues/8493
2023-10-24ringct: make `rctSigBase` serialization follow strict aliasing rulejeffro2561-3/+9
Accessing an object of type `char` thru an lvalue of type `crypto::hash8` is undefined behavior. https://developers.redhat.com/blog/2020/06/03/the-joys-and-perils-of-aliasing-in-c-and-c-part-2
2023-10-23cryptonote_config: include cstdintjeffro2561-0/+1
Header was using `uint64_t` without including `<cstdint>` which caused some issues downstream for windows builds
2023-10-16wallet2: ensure transfers and sweeps use same fee calc logicj-berman1-3/+3
Ensures both transfers and sweeps use a fee that's calculated from the tx's weight. Using different logic could theoretically enable distinguishability between the two types of txs. We don't want that.
2023-10-02Merge pull request #9014v0.18.3.1luigi11111-33/+2
69de381 add a test for the long term weight cache (Boog900) 810f6a6 Fix: long term block weight cache The long term block weight cache was doing a wrong calculation when adding a new block to the cache. (Boog900)
2023-10-02Merge pull request #9012luigi11114-2/+3
fbcd8da build: prepare v0.18.3.1 (selsta)
2023-10-02Merge pull request #9011luigi11113-3/+3
03d51b7 wallet2: fix refresh function parameters (selsta)
2023-10-02Fix: long term block weight cacheBoog9001-33/+2
The long term block weight cache was doing a wrong calculation when adding a new block to the cache.
2023-10-02build: prepare v0.18.3.1selsta4-2/+3
2023-10-01wallet2: fix refresh function parametersselsta3-3/+3
max_blocks is last on master branch
2023-09-27wallet2: call on_reorg callback in handle_reorgj-berman1-4/+4
2023-09-27wallet2: add on_reorg callbackCrypto City2-0/+4
2023-09-22wallet: store watch-only wallet correctly when `change_password()` is calledjeff1-2/+2
The Monero GUI code was calling `Monero::wallet::setPassword()` on every open/close for some reason, and the old `store_to()` code called `store_keys()` with `watch_only=false`, even for watch-only wallets. This caused a bug where the watch-only keys file got saved with with the JSON field `watch_only` set to 0, and after saving a watch-only wallet once, a user could never open it back up against because `load()` errored out. This never got brought up before this because you would have to change the file location of the watch-only wallet to see this bug, and I guess that didn't happen often, but calling the new `store_to()` function with the new `force_rewrite` parameter set to `true` triggers key restoring and the bug appeared.
2023-09-14Merge pull request #8988luigi11114-2/+3
64ed938 build: prepare v0.18.3.0 (selsta)
2023-09-14Merge pull request #8941luigi11113-6/+14
356e687 wallet_rpc_server: chunk refresh to keep responding to RPC while refreshing (moneromooo-monero) 633e1b7 wallet_rpc_server: add --no-initial-sync flag for quicker network binding (moneromooo-monero)
2023-09-10build: prepare v0.18.3.0selsta4-2/+3
2023-08-23wallet2: fix `store_to()` and `change_password()`jeffro2562-34/+90
Resolves #8932 and: 2. Not storing cache when new path is different from old in `store_to()` and 3. Detecting same path when new path contains entire string of old path in `store_to()` and 4. Changing your password / decrypting your keys (in this method or others) and providing a bad original password and getting no error and 5. Changing your password and storing to a new file
2023-08-17wallet_rpc_server: chunk refresh to keep responding to RPC while refreshingmoneromooo-monero3-5/+9
2023-08-17wallet_rpc_server: add --no-initial-sync flag for quicker network bindingmoneromooo-monero1-1/+5
2023-08-17Merge pull request #8957luigi11111-4/+9
b51f4a9 scan_tx: fix custom comparator for == case; fixes #8951 (j-berman)
2023-08-17Merge pull request #8953luigi11111-4/+4
ed05ac6 wallet2: when checking frozen multisig tx set, don't assume order (jeffro256)
2023-08-17Merge pull request #8942luigi11114-25/+59
78348bc wallet-rpc: restore from multisig seed (jeffro256)
2023-08-17Merge pull request #8891luigi11112-2/+7
842478c core_rpc_server: return ID of submitted block (jeffro256)
2023-08-10wallet-rpc: restore from multisig seedjeffro2564-25/+59
2023-07-19scan_tx: fix custom comparator for == case; fixes #8951j-berman1-4/+9
Co-authored-by: woodser <woodser@protonmail.com>
2023-07-17wallet2: when checking frozen multisig tx set, don't assume orderjeffro2561-4/+4
2023-07-09Enforce restricted # pool txs served via RPC + optimize chunked reqs ↵j-berman12-168/+245
[release-v0.18] - `/getblocks.bin` respects the `RESTRICTED_TX_COUNT` (=100) when returning pool txs via a restricted RPC daemon. - A restricted RPC daemon includes a max of `RESTRICTED_TX_COUNT` txs in the `added_pool_txs` field, and returns any remaining pool hashes in the `remaining_added_pool_txids` field. The client then requests the remaining txs via `/gettransactions` in chunks. - `/gettransactions` no longer does expensive no-ops for ALL pool txs if the client requests a subset of pool txs. Instead it searches for the txs the client explicitly requests. - Reset `m_pool_info_query_time` when a user: (1) rescans the chain (so the wallet re-requests the whole pool) (2) changes the daemon their wallets points to (a new daemon would have a different view of the pool) - `/getblocks.bin` respects the `req.prune` field when returning pool txs. - Pool extension fields in response to `/getblocks.bin` are optional with default 0'd values.
2023-07-09wallet2, RPC: Optimize RPC calls for periodic refresh from 3 down to 1 call ↵rbrunner79-205/+759
[release-v0.18]
2023-07-06Merge pull request #8917luigi11111-0/+2
835896e wallet2: do not lose exception in current thread on refresh (Crypto City) 62bb95b wallet2: fix missing exceptions from failing wallet refresh (Crypto City)
2023-07-06Merge pull request #8916luigi11111-0/+10
1924c17 protocol: drop peers sending duplicate txes (moneromooo-monero)
2023-07-06Merge pull request #8908luigi11112-0/+29
c6530d2 Add CLSAG serialization to ZMQ code (Lee Clagett)
2023-07-06Merge pull request #8905luigi11112-2/+40
dc24312 wallet: respect frozen key images in multisig wallets [RELEASE] (jeffro256)
2023-07-06Merge pull request #8895luigi11111-1/+1
26025cb Speed up perf_timer init on x86 (SChernykh)
2023-07-06Merge pull request #8892luigi11111-157/+59
aa139f0 wallet_rpc_server: dedup transfer RPC responses [RELEASE] (jeffro256)
2023-06-30core_rpc_server: return ID of submitted blockjeffro2562-2/+7
2023-06-27Merge pull request #8878luigi11111-20/+15
8dc4abd common: do not use DNS to determine if address is local (tobtoht)
2023-06-27Merge pull request #8851luigi11111-1/+1
1fad8cc blockchain: ensure base fee cannot reach 0 (Crypto City)
2023-06-27Merge pull request #8845luigi11111-1/+1
cfc6227 cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE] (jeffro256)
2023-06-27Merge pull request #8831luigi11111-1/+8
1d1d5fb Fixed RandomX initialization when mining from scratch (SChernykh)
2023-06-27Merge pull request #8566luigi11118-60/+406
65e13db wallet2: fix rescanning tx via scan_tx (j-berman)
2023-06-27wallet2: do not lose exception in current thread on refreshCrypto City1-0/+1
2023-06-27wallet2: fix missing exceptions from failing wallet refreshCrypto City1-0/+1
2023-06-27protocol: drop peers sending duplicate txesmoneromooo-monero1-0/+10
2023-06-16Add CLSAG serialization to ZMQ codeLee Clagett2-0/+29
2023-06-12wallet: respect frozen key images in multisig wallets [RELEASE]jeffro2562-2/+40
Before this change, if a multisig peer asked you to sign a transaction with a frozen enote, the wallet will do it without any error or warning. This change makes it so that wallets will refuse to sign multisig transactions with frozen enotes. Disclaimer: This PR was generously funded by @LocalMonero.
2023-06-08Speed up perf_timer init on x86SChernykh1-1/+1
All Monero binaries have 1 second startup delay because of this code. This is especially noticeable and affects UX in Monero GUI wallet with local node where it often starts another monerod instance to run commands and query node status.
2023-06-02cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE]jeffro2561-1/+1
2023-06-02wallet_rpc_server: dedup transfer RPC responses [RELEASE]jeffro2561-157/+59
2023-05-25common: do not use DNS to determine if address is localtobtoht1-20/+15
Co-authored-by: j-berman <justinberman@protonmail.com>
2023-05-11blockchain: ensure base fee cannot reach 0Crypto City1-1/+1
reported by sech1
2023-05-08fix missing <cstdint> includestobtoht2-0/+2
2023-04-27Fixed RandomX initialization when mining from scratchSChernykh1-1/+8
2023-04-25Merge pull request #8766luigi11111-0/+13
ad80f1b Handle case where a command line flag is not allowed in the config file (almalh)
2023-04-02Merge pull request #8805v0.18.2.2luigi11114-2/+3
4f1262b build: prepare v0.18.2.2 (selsta)
2023-04-02Merge pull request #8813luigi11114-3/+10
059b975 cryptonote core/protocol: don't drop peers for soft offenses (jeffro256)
2023-03-29cryptonote core/protocol: don't drop peers for soft offensesjeffro2564-3/+10
Also: txs with tx_extra which is too large will not get published to ZMQ Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
2023-03-29Fixed deadlock and crash when syncing with full dataset on WindowsSChernykh2-5/+8
It's not allowed to use WaitForSingleObject with _beginthread, because the thread closes its own handle before exiting. So the wait function will either wait on an invalid handle, or on a different handle used by something else. Or, if it starts waiting before the thread exits, the behavior is undefined according to MS: "If this handle is closed while the wait is still pending, the function's behavior is undefined." In my test sync I observed threads getting stuck infinitely on WaitForSingleObject, and then rx_set_main_seedhash spamming new threads when RandomX seed changes again. Eventually the system ran out of resources, and monerod aborted with "Couldn't start RandomX seed thread" message. This PR fixes it by using `_beginthreadex` instead and explicitly closing the handle when it's safe.
2023-03-27build: prepare v0.18.2.2selsta4-2/+3
2023-03-25wallet2: fix infinite loop in fake out selectionCrypto City2-3/+4
The gamma picker and the caller code did not quite agree on the number of rct outputs available for use - by one block - which caused an infinite loop if the picker could never pick outputs from that block but already had picked all other outputs from previous blocks. Also change the range to select from using code from UkoeHB.
2023-03-24Merge pull request #8785luigi11114-2/+3
cdeb286 build: prepare v0.18.2.1 (selsta)
2023-03-24Merge pull request #8787luigi11111-2/+22
c4cfaa4 p2p: do not log to global when re-blocking a subnet (moneromooo-monero) f0e326b p2p: avoid spam blocking ipv4 addresses in a blocked subnet (moneromooo-monero)
2023-03-19p2p: do not log to global when re-blocking a subnetmoneromooo-monero1-1/+5
2023-03-19p2p: avoid spam blocking ipv4 addresses in a blocked subnetmoneromooo-monero1-1/+17
2023-03-18Merge pull request #8784luigi11116-1/+22
5900ed3 Add a size limit for tx_extra in tx pool (tevador)
2023-03-18Merge pull request #8781luigi11119-111/+288
c59e009 verRctNonSemanticsSimpleCached: fix fragility (Jeffrey Ryan)
2023-03-18build: prepare v0.18.2.1selsta4-2/+3
2023-03-18Add a size limit for tx_extra in tx pooltevador6-1/+22
2023-03-17verRctNonSemanticsSimpleCached: fix fragilityJeffrey Ryan9-111/+288
2023-03-17device: Add ledger Stax device id to device detectionFrancois Beutin1-0/+1
2023-03-13wallet2: fix rescanning tx via scan_txj-berman8-60/+406
- Detach & re-process txs >= lowest scan height - ensures that if a user calls scan_tx(tx1) after scanning tx2, the wallet correctly processes tx1 and tx2 - if a user provides a tx with a height higher than the wallet's last scanned height, the wallet will scan starting from that tx's height - scan_tx requires trusted daemon iff need to re-process existing txs: in addition to querying a daemon for txids, if a user provides a txid of a tx with height *lower* than any *already* scanned txs in the wallet, then the wallet will also query the daemon for all the *higher* txs as well. This is likely unexpected behavior to a caller, and so to protect a caller from revealing txid's to an untrusted daemon in an unexpected way, require the daemon be trusted.
2023-03-06Handle case where a command line flag is not allowed in the config filealmalh1-0/+13
2023-02-15Merge pull request #8739v0.18.2.0luigi11114-2/+3
dc18efa build: prepare v0.18.2.0 (selsta)
2023-02-15Merge pull request #8721luigi11111-9/+11
988056d p2p: add plowsof seed nodes (selsta) ce4ef6d p2p: remove offline seed nodes (selsta)
2023-02-08build: prepare v0.18.2.0selsta4-2/+3
2023-02-06Merge pull request #8723luigi11111-74/+83
573a369 blockchain-stats: print any remaining data at end of loop (Howard Chu)
2023-01-29blockchain-stats: print any remaining data at end of loopHoward Chu1-74/+83
Fix #8711
2023-01-27p2p: add plowsof seed nodesselsta1-1/+11
2023-01-27p2p: remove offline seed nodesselsta1-8/+0
2023-01-17Demote large pages warning to `mdebug`SChernykh1-4/+7
2023-01-11RandomX: print VM allocation warnings only onceSChernykh1-2/+10
2023-01-11Merge pull request #8676luigi11114-1/+104
29208a3 Cache successful erRctNonSemanticsSimple calls (SChernykh)
2023-01-11Merge pull request #8683luigi11112-0/+3
cbc297a common: add missing includes (selsta)
2023-01-11Merge pull request #8678luigi111110-256/+401
f698f2b Refactored rx-slow-hash.c (SChernykh)
2023-01-11Merge pull request #8649luigi11112-24/+0
2c24322 DNSResolver: fix not handling hostnames without dot characters [release] (Jeffrey Ryan)
2023-01-11Merge pull request #8644luigi11113-14/+20
38d4811 p2p: fix exclusive node DNS resolution for certain hosts [release] (Jeffrey Ryan)
2023-01-11Merge pull request #8641luigi11111-1/+1
146cac0 p2p: fix back ping to discover healthy peers to connect to (j-berman)
2022-12-20Cache successful `verRctNonSemanticsSimple` callsSChernykh4-1/+104
2022-12-18common: add missing includesselsta2-0/+3
2022-12-14Refactored rx-slow-hash.cSChernykh10-256/+401
- Straight-forward call interface: `void rx_slow_hash(const char *seedhash, const void *data, size_t length, char *result_hash)` - Consensus chain seed hash is now updated by calling `rx_set_main_seedhash` whenever a block is added/removed or a reorg happens - `rx_slow_hash` will compute correct hash no matter if `rx_set_main_seedhash` was called or not (the only difference is performance) - New environment variable `MONERO_RANDOMX_FULL_MEM` to force use the full dataset for PoW verification (faster block verification) - When dataset is used for PoW verification, dataset updates don't stall other threads (verification is done in light mode then) - When mining is running, PoW checks now also use dataset for faster verification
2022-12-01Merge pull request #8628luigi11111-3/+4
1bb5d25 Fix dandelion++ fluff/stem bug with local txes (Lee Clagett)
2022-12-01Merge pull request #8615luigi11112-8/+4
85c9fe5 wallet2: fix create view-only wallet from existing wallet (j-berman)
2022-12-01Merge pull request #8611luigi11111-1/+1
401dda5 wallet_api: take priority into account when estimating fee (selsta)
2022-11-21DNSResolver: fix not handling hostnames without dot characters [release]Jeffrey Ryan2-24/+0
Unrelated, but similar code-wise to #8643. There is a check in `DNSResolver` which automatically fails to resolve hostnames which do not contain the `.` character. This PR removes that check.
2022-11-17p2p: fix exclusive node DNS resolution for certain hosts [release]Jeffrey Ryan3-14/+20
Fixes #8633. The function `append_net_address` did not parse hostname + port addresses (e.g. `bar:29080`) correctly if the hostname did not contain a `'.'` character. @vtnerd comments 1 clear up 2nd conditional statement
2022-11-15p2p: fix back ping to discover healthy peers to connect toj-berman1-1/+1
2022-10-25Fix dandelion++ fluff/stem bug with local txesLee Clagett1-3/+4
2022-10-18wallet2: fix create view-only wallet from existing walletj-berman2-8/+4
2022-10-13wallet_api: take priority into account when estimating feeselsta1-1/+1
2022-09-26build: prepare v0.18.1.2selsta4-2/+3
2022-09-26Merge pull request #8588luigi11112-4/+8
802c4bb Move update_checkpoints() to a later stage (SChernykh)
2022-09-26Merge pull request #8585luigi11113-4/+5
5ffa31c wallet2: fail to establish daemon cxn == 'Disconnected' cxn status (j-berman)
2022-09-26Merge pull request #8582luigi111113-90/+178
1cd21bf add an option to force-update multisig key exchange under some circumstances (koe)
2022-09-22Move update_checkpoints() to a later stageSChernykh2-4/+8
update_checkpoints() makes a few DNS requests and can take up to 20-30 seconds to complete (3-6 seconds on average). It is currently called from core::handle_incoming_block() which holds m_incoming_tx_lock, so it blocks all incoming transactions and blocks processing while update_checkpoints() is running. This PR moves it to until after a new block has been processed and relayed, to avoid full monerod locking.
2022-09-21wallet2: fail to establish daemon cxn == "Disconnected" cxn statusj-berman3-4/+5
2022-09-21add an option to force-update multisig key exchange under some circumstanceskoe13-90/+178
2022-09-20Second thread pool for IOSChernykh7-12/+16
2022-09-15Merge pull request #8545v0.18.1.1luigi11117-27/+55
12e7c41 Merge pull request #5 from j-berman/restore-msig-encrypted-seed (Justin Berman) 848a0c0 Fix segfault restoring encrypted multisig seed (j-berman) 401f5d9 Require user ack multisig is experimental to restore (j-berman) fc8a5d6 multisig: fix #8537 seed restore (suggestions by @UkoeHB) (j-berman)
2022-09-12wallet2: check wallet compatibility with daemon's hard fork versionj-berman12-26/+246
2022-09-09Merge pull request #8555luigi11119-61/+345
e29b2e9 wallet2: ensure imported outputs subaddresses are created (moneromooo-monero) 1d3657a wallet2: better test on whether to allow output import (moneromooo-monero) 0cbf557 allow exporting outputs in chunks (moneromooo-monero) b03d709 wallet2: fixes for export/import output flow (j-berman) 4b7eb57 wallet2: do not assume imported outputs must be non empty (moneromooo-monero) 5b98beb wallet2: prevent importing outputs in a hot wallet (moneromooo-monero) 0de1571 wallet2: fix missing subaddress indices in 'light' exported outputs (moneromooo-monero)
2022-09-09Merge pull request #8553luigi11111-1/+1
625147e Fix missing semi-colon in error message (j-berman)
2022-09-09Merge pull request #8552luigi11114-0/+24
93db74a rpc: skip bootstrap nodes that are lower than last checkpoint (selsta)
2022-09-07wallet2: ensure imported outputs subaddresses are createdmoneromooo-monero1-0/+4
reported by j-berman
2022-09-07wallet2: better test on whether to allow output importmoneromooo-monero2-6/+25
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-09-07allow exporting outputs in chunksmoneromooo-monero9-56/+303
this will make it easier huge wallets to do so without hitting random limits (eg, max string size in node).
2022-09-06Fix segfault restoring encrypted multisig seedj-berman2-17/+17
2022-09-06Fix missing semi-colon in error messagej-berman1-1/+1
Co-authored-by: woodser <woodser@protonmail.com>
2022-09-06wallet2: fixes for export/import output flowj-berman2-2/+8
- only allow offline wallets to import outputs - don't import empty outputs - export subaddress indexes when exporting outputs
2022-09-06rpc: skip bootstrap nodes that are lower than last checkpointselsta4-0/+24
2022-09-06wallet2: do not assume imported outputs must be non emptymoneromooo-monero1-2/+2
2022-09-06wallet2: prevent importing outputs in a hot walletmoneromooo-monero1-0/+2
2022-09-06wallet2: fix missing subaddress indices in "light" exported outputsmoneromooo-monero2-2/+8
2022-09-06build: prepare v0.18.1.1selsta4-2/+3
2022-09-06Require user ack multisig is experimental to restorej-berman1-0/+13
2022-09-01multisig: fix #8537 seed restore (suggestions by @UkoeHB)j-berman5-10/+25
- 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-08-09Merge pull request #8467luigi11112-5/+31
fac7c43 continue pool pruning even if a tx can't be found (j-berman)
2022-08-09Merge pull request #8463luigi11111-1/+1
265d6ca device: set ledger min app version (selsta)
2022-08-09Merge pull request #8470luigi11114-2/+3
309f6ba build: prepare v0.18.1.0 (selsta)
2022-08-08Merge pull request #8455luigi11112-17/+56
099fc1f Fixed get_block_template_backlog performance (SChernykh)
2022-08-07Merge pull request #8483luigi11113-163/+135
6075be9 feat(trezor): add HF15 support, BP+ (Dusan Klinec)
2022-08-07Merge pull request #8466luigi11118-12/+94
2b83d00 ledger support for hf 15 (BP+, view tags) (j-berman)
2022-08-07Merge pull request #8454luigi11112-47/+55
c0f3c5b Fix use of rtxn without a mdb_txn_safe wrapper (Howard Chu)
2022-08-06ledger support for hf 15 (BP+, view tags)j-berman8-12/+94
2022-08-05feat(trezor): add HF15 support, BP+Dusan Klinec3-163/+135
- BP+ support added for Trezor - old Trezor firmware version support removed, code cleanup
2022-07-28build: prepare v0.18.1.0selsta4-2/+3
2022-07-26continue pool pruning even if a tx can't be foundj-berman2-5/+31
2022-07-26device: set ledger min app versionselsta1-1/+1
2022-07-22Fixed get_block_template_backlog performanceSChernykh2-17/+56
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-22Fix use of rtxn without a mdb_txn_safe wrapperHoward Chu2-47/+55
2022-07-21Publish submitted txs via zmqj-berman4-5/+67
2022-07-15Merge pull request #8425luigi11114-3/+4
fe5d1be build: prepare v0.18.0.0 (selsta)
2022-07-15Merge pull request #8414luigi11111-2/+4
2ba391f hardforks: set mainnet and stagenet v15/16 fork height (selsta)
2022-07-14Merge pull request #8433luigi11111-9/+14
db8181a wallet2: force using output distribution for ringct outs (tobtoht)
2022-07-14Merge pull request #8432luigi11115-13/+144
edcc094 derive multisig tx secret keys from an entropy source plus the tx inputs' key images (koe)
2022-07-14Merge pull request #7986luigi11111-2/+5
5770265 wallet2: keep around transaction prefix for confirmed transfers (tobtoht)
2022-07-13build: prepare v0.18.0.0selsta4-3/+4
2022-07-13derive multisig tx secret keys from an entropy source plus the tx inputs' ↵koe5-13/+144
key images
2022-07-13Merge pull request #8421luigi11111-0/+2
bd1e7c5 wallet2: prevent crash when reading tx w/fewer outputs than expected (j-berman)
2022-07-13Merge pull request #8149luigi111113-263/+1743
c7b2944 multisig: fix critical vulnerabilities in signing (anon)
2022-07-06Merge pull request #8408luigi11111-37/+0
09a597b wallet2: don't use DNS to obtain segregation heights (tobtoht)
2022-07-06Merge pull request #8404luigi11111-26/+1
50ccc7e wallet2: remove obsolete rpc version check (tobtoht)
2022-07-06Merge pull request #8394luigi11113-7/+12
4278a3a cryptonote_basic: catch crypto api errors (moneromooo-monero)
2022-07-05Merge pull request #8391luigi11111-0/+16
41b1a6b simplewallet: print usage when given no args (hinto.janaiyo)
2022-07-05Merge pull request #8388luigi11111-7/+11
04c0da2 Chunk /gettransactions to avoid hitting restricted RPC limit (tobtoht)
2022-07-05Merge pull request #8371luigi11115-10/+17
16f8e04 Remove erraneous commas (Luke Parker) da0715e Improve consistency between on_money_received and on_money_received_unconfirmed (Luke Parker)
2022-07-05wallet2: prevent crash when reading tx w/fewer outputs than expectedj-berman1-0/+2
2022-07-03Merge pull request #8384luigi11111-36/+14
8460fcc Revert 'Merge pull request #7937' (j-berman)
2022-07-03Merge pull request #8356luigi11113-0/+44
de2f0d0 wallet_api: add scanTransactions function (selsta)
2022-07-03Merge pull request #7774luigi11112-39/+2
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-01hardforks: set mainnet and stagenet v15/16 fork heightselsta1-2/+4
2022-06-30multisig: fix critical vulnerabilities in signinganon13-263/+1743
2022-06-28wallet2: don't use DNS to obtain segregation heightstobtoht1-37/+0
2022-06-27Chunk /gettransactions to avoid hitting restricted RPC limittobtoht1-7/+11
2022-06-25wallet2: force using output distribution for ringct outstobtoht1-9/+14
Co-authored-by: j-berman <justinberman@protonmail.com>
2022-06-24wallet2: remove obsolete rpc version checktobtoht1-26/+1
2022-06-20cryptonote_basic: catch crypto api errorsmoneromooo-monero3-7/+12
2022-06-20simplewallet: print usage when given no argshinto.janaiyo1-0/+16