Commit Graph

241 Commits

Author SHA1 Message Date
jeffro256 c4dc67cfc5 carrot_impl: use std::variant in scanning_tools 2025-05-12 14:43:45 +03:00
jeffro256 b7488f7735 upstream: remove serialization for tools::variant and add std::variant 2025-05-12 14:43:05 +03:00
jeffro256 871a687b52 carrot_impl: add serialization impl for more Carrot types 2025-05-12 14:38:20 +03:00
jeffro256 149a22bee1 carrot_core: refactor from tools:variant -> std::variant 2025-05-12 14:34:54 +03:00
jeffro256 9ca8361824 upstream: add serialiation for std::optional 2025-05-12 14:34:07 +03:00
jeffro256 29f9451b27 carrot_impl: silence aggr init warnings 2025-05-12 14:33:38 +03:00
jeffro256 f7c2cc6550 upstream: add serialization for mx25519_pubkey 2025-05-12 14:32:43 +03:00
jeffro256 3b671cb0bf upstream: container helper to remove using reverse iterator 2025-05-12 14:19:42 +03:00
jeffro256 b259bc45e8 carrot_core: change in/out limits 2025-05-12 14:18:48 +03:00
jeffro256 638034c35f upstream: sync against wallet_keys_unlocker PR #9860 2025-05-12 14:17:53 +03:00
jeffro256 4659b6b6f1 carrot_core: janus protection tests 2025-05-12 12:48:09 +03:00
jeffro256 b529887e88 carrot+fcmp: rework for Carrot scanning changes 2025-05-12 12:28:21 +03:00
jeffro256 c607f23a60 upstream: add is_out_to_acc_precomp span overload 2025-05-12 11:46:47 +03:00
jeffro256 3a21213153 carrot_impl: load enotes directly from transactions 2025-05-12 11:44:19 +03:00
jeffro256 2194b853d5 carrot_core: unbind K^j_v in d_e and overhaul scanning functions 2025-05-12 11:29:32 +03:00
jeffro256 ce9c845d26 carrot_impl: fix key image scanning in view-only and burned zombie outputs 2025-05-07 16:22:22 +03:00
jeffro256 ff85622450 carrot_impl: fix wallet scanning with cold signing and other input-less txs 2025-05-07 16:20:43 +03:00
jeffro256 a204844b8e carrot_impl: fix background sync key images 2025-05-07 16:20:01 +03:00
jeffro256 154806402b carrot_impl: fix payment ID scanning in scanning_tools 2025-05-07 16:19:31 +03:00
jeffro256 ee263314ef fix wallet2::check_tx_hey_helper
And fix compilation bug in wallet_tx_builder and reorganize unit tests.
2025-05-07 16:17:30 +03:00
jeffro256 ad1eb77d50 carrot_impl: input_count_for_max_usable_money fix 2025-05-07 16:07:26 +03:00
akildemir 316aacbc62 carrot_impl: format utils bug fixes with ephemeral count 2025-05-07 16:06:45 +03:00
jeffro256 d9846bba74 crypto: make ec_point comparable 2025-05-07 16:03:39 +03:00
jeffro256 c69c3e35fd carrot_impl: fix password fetching in wallet2::scan_key_image 2025-05-07 15:58:59 +03:00
jeffro256 4eecccee04 carrot_impl: add consensus rule for unique output pubkeys in tx
Required by Carrot to mitigate burning bugs, described in section 4.3 of the Carrot spec:
https://github.com/jeffro256/carrot/blob/master/carrot.md#43-transaction-model

Also remove 0-out check in `check_output_types()`, which I added in and technically constitutes a retroactive network split.

Co-authored-by: j-berman <justinberman@protonmail.com>
2025-05-07 15:53:44 +03:00
jeffro256 939fd068c5 carrot_impl: make_signable_tx_hash_from_carrot_transaction_proposal_v1 and bug fixes 2025-05-07 15:41:43 +03:00
jeffro256 4f33613628 carrot_impl: tx format utils load extra correctly 2025-05-07 15:38:49 +03:00
jeffro256 33aa5607a4 carrot_core: device documentation improvements 2025-05-07 15:37:52 +03:00
jeffro256 4eb13de957 upstream: is_coinbase() for prefix 2025-05-07 15:35:52 +03:00
akildemir a6733fcf2b carrot_impl compilation 2025-05-07 13:52:52 +03:00
jeffro256 44e70b4765 carrot_impl 3/27/25 [WIP] 2025-05-06 15:38:34 +03:00
akildemir 22cc08c107 carrot core completion 2025-05-06 13:52:34 +03:00
jeffro256 ed030081b7 carrot_core [3/27/2025] 2025-05-06 12:48:29 +03:00
akildemir 9292f88a57 Merge pull request #18 from salvium/update-hardcoded-sal-to-sa1
update hardcoded sal assets to sal1
2025-05-06 12:07:47 +03:00
akildemir 4095e9f80f Merge pull request #17 from salvium/add-sal1-treasury-mint
sal1 treasury mint
2025-05-06 12:01:47 +03:00
akildemir 6d2960612f update hardcoded sal assets to sal1 2025-04-15 14:21:38 +03:00
akildemir 2d9b302137 sal1 treasury mint 2025-04-14 19:27:11 +03:00
akildemir a7753897b2 only sum SAL1 in tx outs 2025-04-02 16:58:05 +03:00
Some Random Crypto Guy fe3297271f added fast sync checkpoints; bumped RC version number 2025-04-02 10:47:34 +01:00
Some Random Crypto Guy 9d9471d314 fixed a couple of unit_test issues; bumped RC version 2025-04-01 12:18:56 +01:00
akildemir 0f97ec9ea7 fix unit-tests 2025-03-31 10:49:39 +03:00
Some Random Crypto Guy 488d5f1e9b updated fast sync checkpoints 2025-03-19 11:09:50 +00:00
Some Random Crypto Guy 771b8ea606 Merge branch 'rebase-v0.18' into develop 2025-03-19 09:43:51 +00:00
Some Random Crypto Guy 28262a30fe added unit tests for protocol_tx and check_output_types; bumped version to v0.9.6-rc1 2025-03-19 09:30:02 +00:00
Some Random Crypto Guy aa4276c39e Merge branch 'develop' of https://github.com/salvium/salvium into develop 2025-03-18 12:21:15 +00:00
Some Random Crypto Guy 1f49c178ee fixed build on Linux after background-sync patch applied and broke it! 2025-03-17 11:43:49 +00:00
j-berman f087b3807b wallet: background sync with just the view key
- When background syncing, the wallet wipes the spend key
from memory and processes all new transactions. The wallet saves
all receives, spends, and "plausible" spends of receives the
wallet does not know key images for.
- When background sync disabled, the wallet processes all
background synced txs and then clears the background sync cache.
- Adding "plausible" spends to the background sync cache ensures
that the wallet does not need to query the daemon to see if any
received outputs were spent while background sync was enabled.
This would harm privacy especially for users of 3rd party daemons.
- To enable the feature in the CLI wallet, the user can set
background-sync to reuse-wallet-password or
custom-background-password and the wallet automatically syncs in
the background when the wallet locks, then processes all
background synced txs when the wallet is unlocked.
- The custom-background-password option enables the user to
open a distinct background wallet that only has a view key saved
and can be opened/closed/synced separately from the main wallet.
When the main wallet opens, it processes the background wallet's
cache.
- To enable the feature in the RPC wallet, there is a new
`/setup_background_sync` endpoint.
- HW, multsig and view-only wallets cannot background sync.
2025-03-17 11:27:36 +00:00
Some Random Crypto Guy cb6cdac603 fixed sorting of yield_info output in CLI 2025-03-17 11:22:21 +00:00
Some Random Crypto Guy 420824005e updates to allow building of all platforms using 'make depends' 2025-03-14 05:24:56 +00:00
Some Random Crypto Guy 9baeb750ac interim checkin of the rebased code 2025-03-13 17:57:28 +00:00