Commit Graph

476 Commits

Author SHA1 Message Date
jeffro256
f1e48c9094 carrot_impl: more documentation and rename CarrotPreSelectedInput 2025-05-13 13:57:28 +03:00
jeffro256
02e8fea2fe carrot_impl: file reorganization 2025-05-13 13:56:59 +03:00
jeffro256
266c41aeab carrot_impl: input selection overhaul
* Split subsetting into `form_preferred_input_candidate_subsets` fuction
* Use `get_input_counts_in_preferred_order` directly from `make_single_transfer_input_selector`
* Input selection policies are passed number of inputs to select for, instead of dynamic
* Filter dust before calling policies
* Throw more descriptive errors when not enough money (could still be improved for not enough input case)
* Replace multiprecision::int128_t with multiprecision::uint128_t for simplicity and cryptonote::print_money
* More documentation
* Remove "select two, prefer oldest" policy for now
2025-05-13 13:42:46 +03:00
jeffro256
410a9313dc carrot_core: better exception handling 2025-05-13 13:38:28 +03:00
jeffro256
870203e6fe carrot_impl: correct subaddr account index for change 2025-05-13 13:38:09 +03:00
jeffro256
8f699871d3 carrot_impl: sweep all below 2025-05-13 13:35:03 +03:00
jeffro256
650b6b8bd4 carrot_impl: classify 2-out dummys as change and make unique derivs for 2-selfsend 2-outs 2025-05-13 13:34:48 +03:00
jeffro256
19593db002 carrot_impl: fix 2-out selfsend sweep carving 2025-05-13 13:16:53 +03:00
jeffro256
d89d20ab0e carrot_impl: make_carrot_transaction_proposals_wallet2_sweep_all 2025-05-13 13:16:07 +03:00
jeffro256
b982d4c5a6 carrot_impl: make multiple sweep tx proposals at once 2025-05-13 13:13:06 +03:00
jeffro256
c4dbc4ea7b carrot_impl: remove device parameters from tx proposal making functions 2025-05-13 12:47:22 +03:00
jeffro256
29f9a4d679 carrot_impl: make multiple tx transfer proposals at once 2025-05-13 12:45:21 +03:00
jeffro256
8ad1727ea7 carrot_impl: merge make_carrot_transaction_proposal_v1_transfer functions 2025-05-12 16:11:54 +03:00
jeffro256
79429b6870 upstream: add vector erase if container helper 2025-05-12 16:10:56 +03:00
jeffro256
1057317147 mx25519: ARM machines select portable impl as default 2025-05-12 16:10:21 +03:00
jeffro256
c79e9d0e71 carrot_impl: integrate Carrot into construct_miner_tx() 2025-05-12 16:08:38 +03:00
jeffro256
d4a61dbb66 carrot_impl: make_single_enote_carrot_coinbase_transaction_v1 2025-05-12 15:58:30 +03:00
jeffro256
4989c4cece msys2 build: include int headers 2025-05-12 15:56:15 +03:00
jeffro256
818aac3c73 upstream: tighten definition of reverse_erase 2025-05-12 15:50:14 +03:00
akildemir
04208fdcd3 compile commits 2025-05-12 15:50:08 +03:00
jeffro256
673661bdb9 carrot_impl: real tx.extra size calculation 2025-05-12 15:46:56 +03:00
jeffro256
b7ea8d0b22 carrot_impl: store extra_nonce to coinbase txs 2025-05-12 15:46:16 +03:00
jeffro256
70bde9353b carrot_impl: rename make_pruned_transaction_from_proposal_v1 2025-05-12 15:45:06 +03:00
jeffro256
0bfa68beda carrot_impl: use get_output_enote_proposals directly to get payment proposal order 2025-05-12 15:41:27 +03:00
jeffro256
4a0242d905 carrot_impl: scan_key_image fails password cb once per batch and doesn't block other instances 2025-05-12 15:40:39 +03:00
jeffro256
1ee4d3d66e carrot_impl: propogate error::password_needed instead of generic exception when applicable 2025-05-12 15:39:59 +03:00
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