Commit Graph

300 Commits

Author SHA1 Message Date
jeffro256
c72543bb63 carrot_impl: propogate exceptions in scan_key_image instead of swallowing them 2025-05-12 15:39:25 +03:00
jeffro256
ec46d14fe5 carrot_impl: more debug statements for input selection 2025-05-12 15:37:48 +03:00
akildemir
fa0a05a01c compile commit so far 2025-05-12 15:36:39 +03:00
jeffro256
3cc4bb2b9a upstream: wallet2: get_subaddress_map_ref 2025-05-12 15:05:14 +03:00
jeffro256
89c60d57ec carrot+fcmp: tx_builder use select_greedy_aging 2025-05-12 15:04:54 +03:00
jeffro256
606cdd43f2 carrot_impl: trace stmt 2025-05-12 15:04:14 +03:00
jeffro256
1f3255e1e8 carrot_impl: unit tests for select_greedy_aging 2025-05-12 15:03:47 +03:00
jeffro256
8f4ceba0cc carrot_impl: new input selection policy: select_greedy_aging 2025-05-12 15:03:13 +03:00
jeffro256
88e104423f carrot_core: get_enote_ephemeral_privkey from normal payment proposal 2025-05-12 15:02:16 +03:00
jeffro256
09b886b324 carrot+fcmp: tx builder wallet2 overloads 2025-05-12 15:00:35 +03:00
jeffro256
4d891d61c1 carrot_core: output_set_finalization: get order on non-coinbase payment proposals 2025-05-12 14:45:21 +03:00
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
e1d3086a24 carrot_impl: silence addr init warnings in carrot_impl.cpp 2025-05-12 14:19:16 +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
66552f14ca upstream: change upstream code for Boost serialization shims 2025-05-12 12:54:53 +03:00
jeffro256
7d4122151e upstream: Boost serialization vendoring for std C++17 types 2025-05-12 12:54:14 +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
fec249d598 tx_construction_helpers: improve RingCT input detection 2025-05-07 16:21:57 +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
cc83158ccc unit tests/crypto: test genesis output for torsion 2025-05-07 16:09:57 +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
13793610af carrot_impl: refactor fake_pruned_blockchain into header 2025-05-07 15:58:28 +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
j-berman
ada1fa0e5e Fix debian build attempt 2025-05-07 15:34:32 +03:00
tobtoht
164985ce16 cmake: add mx25519 static define 2025-05-07 15:33:46 +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