| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| | |
64ed938 build: prepare v0.18.3.0 (selsta)
|
| | | |
|
| |\ \
| | |
| | |
| | | |
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)
|
| | | | |
|
| | |/ |
|
| |/
|
|
|
|
|
|
| |
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
|
| |\
| |
| |
| | |
b51f4a9 scan_tx: fix custom comparator for == case; fixes #8951 (j-berman)
|
| | |
| |
| |
| | |
Co-authored-by: woodser <woodser@protonmail.com>
|
| |\ \
| | |
| | |
| | | |
ed05ac6 wallet2: when checking frozen multisig tx set, don't assume order (jeffro256)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
78348bc wallet-rpc: restore from multisig seed (jeffro256)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
842478c core_rpc_server: return ID of submitted block (jeffro256)
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[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.
|
| | |/
|/|
| |
| | |
[release-v0.18]
|
| |\ \
| | |
| | |
| | |
| | | |
835896e wallet2: do not lose exception in current thread on refresh (Crypto City)
62bb95b wallet2: fix missing exceptions from failing wallet refresh (Crypto City)
|
| | | | |
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
1924c17 protocol: drop peers sending duplicate txes (moneromooo-monero)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
c6530d2 Add CLSAG serialization to ZMQ code (Lee Clagett)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
dc24312 wallet: respect frozen key images in multisig wallets [RELEASE] (jeffro256)
|
| | |/
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | |
| | | |
26025cb Speed up perf_timer init on x86 (SChernykh)
|
| | |/
| |
| |
| | |
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.
|
| |\ \
| | |
| | |
| | | |
aa139f0 wallet_rpc_server: dedup transfer RPC responses [RELEASE] (jeffro256)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
8dc4abd common: do not use DNS to determine if address is local (tobtoht)
|
| | |/
| |
| |
| | |
Co-authored-by: j-berman <justinberman@protonmail.com>
|
| |\ \
| | |
| | |
| | | |
1fad8cc blockchain: ensure base fee cannot reach 0 (Crypto City)
|
| | | |
| | |
| | |
| | | |
reported by sech1
|
| |\ \ \
| | | |
| | | |
| | | | |
cfc6227 cryptonote_basic: fix amount overflow detection on 32-bit systems [RELEASE] (jeffro256)
|
| | | |/
| |/| |
|
| |\ \ \
| | | |
| | | |
| | | | |
1d1d5fb Fixed RandomX initialization when mining from scratch (SChernykh)
|
| | | |/
| |/| |
|
| |\ \ \
| |_|/
|/| |
| | | |
65e13db wallet2: fix rescanning tx via scan_tx (j-berman)
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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.
|
| | |/
|/| |
|
| |\ \
| | |
| | |
| | | |
ad80f1b Handle case where a command line flag is not allowed in the config file (almalh)
|
| | |/ |
|
| |\ \
| | |
| | |
| | | |
4f1262b build: prepare v0.18.2.2 (selsta)
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | | |
059b975 cryptonote core/protocol: don't drop peers for soft offenses (jeffro256)
|
| | |/ /
| | |
| | |
| | |
| | |
| | | |
Also: txs with tx_extra which is too large will not get published to ZMQ
Co-authored-by: SChernykh <sergey.v.chernykh@gmail.com>
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |\ \
| | |
| | |
| | | |
cdeb286 build: prepare v0.18.2.1 (selsta)
|