koe and such-gitea
e86d98e7ca
tx/partial tx validation improvements
...
(cherry picked from commit b09e9bfe56824cd1d70a14db86d0507c928c1780)
2026-10-04 18:50:24 -04:00
j-berman and such-gitea
1d5bf8cc8e
cryptonote_basic: parse_and_validate_tx param to check max size
...
Simple API to check max blob size before parsing. This is useful
when reading blobs from untrusted sources.
@selsta pointed out that coinbase txs can technically be larger
than get_max_tx_size(), otherwise we could enforce it on all txs.
(cherry picked from commit b66e2227c2f937a3e09dd62ed770b0667bff0779)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
dfb95d964c
wallet2: sanitize untrusted daemon status in sweep unmixable
...
(cherry picked from commit 144b3f9e644c0b1d4ad994b99edf6c355b38e533)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
073daa92bd
wallet2: filter unchecked RPC error statuses
...
(cherry picked from commit c86fd739dceca593346ca3d3d3db835d1308e7ed)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
9a4ec1a5d0
wallet2: validate public node addresses before display
...
(cherry picked from commit c683bf08850161d6b072fd70c0e1325cb39e0a61)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
a53871e588
wallet2: reset scan status for already processed outputs
...
(cherry picked from commit 357b446a1335db9b42421acff46acaa0dee46a66)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
c017fff2ec
wallet2: validate block hash when repairing empty hashchain
...
(cherry picked from commit ef7bdda92af255270a61e4ea4c6c7fe098a70dd0)
2026-10-04 18:50:24 -04:00
selsta and such-gitea
f7510618e8
wallet2: preserve required SSL when allowing chained certificates
...
(cherry picked from commit 57a37a156ce1f32b8b3471dc4aad7973130c38da)
2026-10-04 18:50:24 -04:00
koe and such-gitea
7951912289
multisig: erase all copies of a nonce at the same time
...
(cherry picked from commit fe744ac3171fe26b7284d3ac3a275e624e852ec5)
2026-10-04 18:50:24 -04:00
j-berman and such-gitea
7ff4a5567a
cryptonote_basic: serialization checks
...
(cherry picked from commit d869dc0981ac55f90d5b52a1a794b124ae274716)
2026-10-04 18:50:23 -04:00
Thomas and such-gitea
c9d51bd08a
wallet_rpc_server: reject --password with --wallet-dir
...
(cherry picked from commit 587315ce94c8c3f656ce3bbb5e046e4aa96942d4)
2026-10-04 18:50:23 -04:00
koe and such-gitea
f4212ace98
add sanity_check_pending_tx
...
(cherry picked from commit 4eae9740460fb69e30bedeea48c2ab3268974bc0)
2026-10-04 18:50:23 -04:00
Thomas and such-gitea
818a0067b6
wallet2: fix data races in refresh error handlers
...
(cherry picked from commit d9236332a59bb090b0fa74e808237c26189564b0)
2026-10-04 18:50:23 -04:00
woodser and such-gitea
0309d199f4
wallet_rpc_server: stop refresh on shutdown
...
(cherry picked from commit 8379bdfa29ec91fa9c1d3b1492a6de6cb143a007)
2026-10-04 18:50:23 -04:00
selsta and such-gitea
552aea4a7d
wallet2: fix task lifetime during parsed block processing
...
(cherry picked from commit a09eb5cf4aefa6c351acf898ad4e3be4a67ad860)
2026-10-04 18:50:23 -04:00
selsta and such-gitea
81d781a965
wallet2: validate key image domain in reserve proofs
...
Reported by zkao, a tool by zkSecurity
(cherry picked from commit 1bb17925fdff1494ec8f7a127c9c6cd814c36e69)
2026-10-04 18:50:22 -04:00
woodser and such-gitea
46c1ad8d7a
wallet2: return concrete low priority when adjust_priority fails
...
(cherry picked from commit fbd80b3caba677bca3e5176122d45f758dc6ce18)
2026-10-04 18:50:22 -04:00
woodser and such-gitea
a1553381a2
wallet2: keep multisig import state consistent across failed refreshes
...
(cherry picked from commit b2cd62754bfb837bad2a49ea5b3808f35bb6a16c)
2026-10-04 18:50:22 -04:00
woodser and such-gitea
10ade8c591
wallet2: honor max_blocks bound during fast_refresh hash pulls
...
(cherry picked from commit bbd6350751876f24ad21eb70cbfb12670659e927)
2026-10-04 18:50:22 -04:00
selsta and such-gitea
131a340a51
wallet2: bounds check additional derivations in is_out_to_acc
...
(cherry picked from commit 987a2a77d3e4b4d3781e70bc70031ff254313557)
2026-10-04 18:50:21 -04:00
selsta and such-gitea
2084879447
wallet2: validate cached transfer indices
...
Reported by hacksandhops
(cherry picked from commit 72d91039eb5c67c7912ef8328299e8e28d9effb0)
2026-10-04 18:50:21 -04:00
selsta and such-gitea
54eb5eb431
wallet2: guard gamma picker against zero-output windows
...
(cherry picked from commit 7507aed69f4753767711d52747a02e6860b01297)
2026-10-04 18:50:21 -04:00
Oscar Mira and such-gitea
8a99066861
wallet2: ignore checkpoints in fast_refresh when height < 1000
...
(cherry picked from commit 3b268ae2854f6e1d24203b5fd64e2dc5d42bc940)
2026-10-04 18:50:21 -04:00
Oscar Mira and such-gitea
cd9b1b65e9
wallet2: use nearest checkpoint to allow fast_refresh on old accounts
...
(cherry picked from commit eba42d6ad5e21d13836c9e51cc6654e6b4fc34dc)
2026-10-04 18:50:21 -04:00
selsta and such-gitea
5bb99b960b
wallet2: avoid linear scans in pool state updates
...
(cherry picked from commit 839dba22c3a39eec92d2c6be7972df6dc6d57bab)
2026-10-04 18:50:21 -04:00
selsta and such-gitea
e9aa147fb3
wallet2: guard optimized coinbase refresh against empty vout
...
(cherry picked from commit ef7a86c99f7c58c361c3c0ddf5687a165c22ce7a)
2026-10-04 18:50:20 -04:00
selsta and such-gitea
06fa8be413
wallet2: reject non-monotonic rct output distributions
...
(cherry picked from commit b99d15f08d80a8cad6dee88628192ba0411544fb)
2026-10-04 18:50:20 -04:00
selsta and such-gitea
77fed902b3
wallet2: store multisig nonce erasure before returning signed txset
...
(cherry picked from commit d6f0a4d211cc419095e778a39a83d65000e47bf6)
2026-10-04 18:50:20 -04:00
SChernykh and such-gitea
78fc142418
wallet2: fix double unlock of a lock
...
(cherry picked from commit 2b97e3ae049cc872c29b6994304a1e65d8338caa)
2026-10-04 18:50:20 -04:00
selsta and such-gitea
72da5948b6
wallet2: clear m_additional_tx_keys during bg sync
...
(cherry picked from commit 4b00f47d43d784447904d777f220a525044a3374)
2026-10-04 18:50:19 -04:00
selsta and jwinterm
e8c2387c24
wallet2: reject duplicate outputs in reserve proofs
...
(cherry picked from commit 2827d7fe84ad4102dd9f3284eb98da8f0d66266d)
2026-05-06 10:52:36 -04:00
tobtoht and jwinterm
36bbd1a2c7
wallet2: throw if reserve proof can't be parsed
...
(cherry picked from commit f855ffe87ddc593b286ad02f84b24b804872773a)
2026-05-06 10:52:36 -04:00
selsta and jwinterm
0bf3b9f441
wallet2: ensure daemon returns correct tx for spend proof
...
(cherry picked from commit 04eeb3ba1fc2ed0239eb10e885136d86b7e98ad0)
2026-05-06 10:52:36 -04:00
selsta and jwinterm
21b51550e5
wallet2: remove deprecated txs_as_hex
...
also add missing underflow check
(cherry picked from commit 54abe12f94abe5c0ca2e8ae63e3fea2d8cd41c9a)
2026-05-05 18:20:53 -04:00
j-berman and jwinterm
da44d4ea4c
cryptonote_basic: pruned hash return bool
...
(cherry picked from commit 874c771975257c82e275c17af72899b301a63d5f)
2026-05-05 18:20:53 -04:00
selsta and jwinterm
af6a55c941
wallet2: add parse multisig tx sanity checks
...
(cherry picked from commit 2094d38c86bab8ab23bb5ddfb5cd7ce3a7957a63)
2026-05-05 18:20:53 -04:00
Lee *!* Clagett and jwinterm
c7227454e8
Add Socks v5 support to daemon and wallet
...
(cherry picked from commit 23e29a5074 )
(cherry picked from commit ce5437f0677966c15d2946bc7c068975aa6bfd83)
2026-05-05 18:20:53 -04:00
woodser and jwinterm
4cbc74bed0
multisig: add flag to skip refresh after multisig import
...
(cherry picked from commit 7b1e9ca29801d1e380291371e40c8c37ac43d18d)
2026-05-05 18:20:53 -04:00
selsta and jwinterm
33b967d231
wallet2: fix background wallet detection in verify_password()
...
(cherry picked from commit e7b121ac17d6e0c3bb6f17911ae9ab18132b3c67)
2026-05-05 18:20:52 -04:00
j-berman and jwinterm
0d9df28884
wallet2: fix edge case where tx's ki's remain marked unspent
...
If a tx is marked as failed (because it never shows up in the
daemon's pool), its key images get reset back to unspent so they
can be used in future txs.
If the tx re-enters the daemon's pool (e.g. it's removed from the
pool and then relayed back), then the wallet incorrectly maintains
that the tx's key images are unspent.
This change ensures the wallet re-marks the tx's key images as
spent if the tx re-appears in the node's pool.
(cherry picked from commit c147e2dfe2cecb241735e5e625b4cc31009a2b6e)
2026-05-05 18:19:53 -04:00
j-berman and jwinterm
0ea75b1e3e
wallet: identify spends in pool when scanning
...
- Make sure to mark identified spends in the pool as spends. The
wallet might not know these have been spent if it wasn't the wallet
that relayed the tx to the daemon, or the wallet was cleared via
rescan_bc.
- Make sure to add spends to m_unconfirmed_txs if not present.
- Make sure to process the entire pool again if refreshing for
the first time. The wallet fetches pool and blocks at the same
time. The wallet scans blocks first, then pool. If the wallet
identifies received outputs in the chain, then it may have spent
those received outputs in the pool. So we make sure to re-process
the entire pool again after scanning the chain for the first time.
- Multisig wallets that know about spent key images can now detect
spend txs in the pool. Update tests for that.
(cherry picked from commit 9239d36691bfe94dda12cc925903fed5e761fbe3)
2026-05-05 18:19:53 -04:00
j-berman and wowario
cfd2a69624
wallet2: warn instead of throw when RingDB doesn't include spend
...
A reorg can end up causing an output's position in the chain to
move. Since the wallet doesn't update the RingDB on reorg, it
may refer to the output's stale position in the chain.
This seems a reasonable solution rather than introducing complex
logic to update the stale ring member's value on rerog, since
RingDB can be deprecated with FCMP++.
2025-10-10 08:49:03 +03:00
wowario
9f429cfc89
wownero skin pack
2025-09-19 21:01:45 +03:00
wowario
de22caa968
cleanup old bp
2025-09-19 21:01:43 +03:00
wowario
30dba37f1f
bump unlock time to 288 blks
2025-09-19 21:01:40 +03:00
wowario
076254eb38
config wallet2 settings
2025-09-19 21:01:40 +03:00
wowario
220c474ac1
fix mismatched daemon check bug
2025-09-19 21:01:38 +03:00
wowario
e38bf823fd
adjust approx_blockchain_height
2025-09-19 21:01:37 +03:00
wowario
f3631823a8
bump ring size to 22
2025-09-19 21:01:36 +03:00
jeffro256 and j-berman
8f98dac4f0
wallet: deprecate wallet2::find_and_save_rings()
...
Rings for outgoing transactions are stored within the scanning code since the last hardfork,
so this code is largely unneccessary now.
Co-authored-by: j-berman <justinberman@protonmail.com >
2025-07-29 12:32:20 -05:00