forked from UkoeHB/monero
-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Wallet features
- Restore
- Sync
- Transfers
- Sweeps
- Support >8 input txs
- Payments to integrated address
-
scan_tx - Background sync
- Hot/cold wallet integration
- HW wallet interface changes
- Tx proofs
- Multisig
- 3rd party HW wallet integrations
- Helpful link: Guide: How to implement HW devices for Carrot/FCMP++ [WIP] #63
- Trezor
- Ledger
- Clean up CLI references to rings in UI
- Clean up GUI references to rings
- Wallet RPC
describe_transfercommand for Carrot transaction proposals - Don't remove existing tx dests when opening an old wallet with the new software
- Don't need
simple_wallet::prompt_if_oldafter fork- Don't need
Transaction spends more than one very old outputs. Privacy would be better if they were sent separately.after FCMP++.
- Don't need
- Remove block hashes download on restore
- Speed up
prove()- Non-linear prove times when n inputs >16 kayabaNerve/fcmp-plus-plus#34
- Integrate faster
prove()into fcmp++-stage - Solved by Move to monero-oxide/monero-oxide #93
- When the CLI identifies a receives and requires password and/or user inputs the wrong password, make block popping instant
Daemon features
- Build FCMP++ tree
- DB migration for FCMP++ tree
- Validate FCMP++ txs
- Validate Carrot txs
- Include init sync data needed to restore a wallet from arbitrary restore height
- Include FCMP++ tree root and n tree layers in PoW hash
- Prohibit torsioned outputs at consensus
- Endpoint to get path by output id
- Hardened tx weight calculations (Revisit FCMP++ transaction weight and scaling parameters #44)
- fcmp++: use weight approx equal to byte size #232
- Revisit FCMP++ transaction weight limit since a 128-in tx can be bigger than 1/2 the penalty free block size
- Dynamic block weight changes
- PoW-enabled relay (PoWER)
- RandomX commitments w/double hashing
- monerod revalidates the whole tx-pool on HFs monero-project/monero#10142
- Resolved by cache input verification results
Known bugs
- [BUG] error: m_blockchain <> m_tree_cache top block idx mismatch #45
- [BUG] node failed to verify FCMP++ proof #46
- @nahuhh reported a segfault in wallet, broken wallet state
- Sweep when some txs don't cover fees.
- Handle uncaught errors in tx construction (e.g. no unlocked outputs triggering "no input candidates provided" currently breaks the RPC wallet)
- Possibly carrot+fcmp: send to integrated address and fix transfer tests #61
- Add a functional test for error handling in the RPC wallet
- Sporadic failure in
k_anonymityfunctional test (link)- Maybe this one is ok to leave for now since allowing >8 inputs per tx should solve it.
- Handle tx dests taking Carrot changes into account.
- Handle tx priv keys taking Carrot changes into account.
- Fee-included transfers.
-
wallet2::get_payment_idupdated for Carrot. - Require new wallets point to updated daemon (required for building the tree from an arbitrary restore height)
- TODO: Revert breaking changes to
wallet2::create_transactions_*()methods regarding payment IDs #70 - Creating watch-only wallet from full wallet,
wallet2::import_blockchainhas a FIXME for tree - Blockchain import should add locked outputs and update FCMP++ tree
- Fix CLI/RPC displaying locked status of time-based locked outputs after FCMP++ fork
- Fix
monero-blockchain-pruneutility
Misc.
- Use new unbiased hash to point for Carrot outputs
Lines 650 to 653 in 64190fe
// TODO @jeffro256 static void hash_to_ec(const public_key &key, ge_p3 &res) { return biased_hash_to_ec(key, res); } - Set the tree up here: https://github.com/j-berman/monero/commits/unbiased-hash-curve-trees/
- FFI cleanup
- fcmp++: faster & cleaner transparent amount commitment handling, and detangle deps #43
- fcmp++: avoid expensive inner proof_size calls #40
- Don't store output pubkeys and commitments in db twice
- Test pre-RCT to FCMP++
- Clean up compile warnings
- xmrig
- p2pool
- Block explorer
- LWS
- Updated documentation for the FCMP++ integration
- Carrot integration documentation
- Heuristics wallet implementers must keep in mind (e.g. zero-change dummies back to sender, input selection prefers powers of 2, 1/2-input probability)
- New things users should understand (new priv keys, tx keys, tx proofs, view balance key)
- Document general wallet changes users should keep in mind
- Updated wallets must point to updated daemons, old wallets can point to updated daemons
- Deprecated
scan_txscanning future txs relative to wallet sync height, faster wallet restore at high height - Updated wallets re-sync from restore height (in order to sync tree)
- Document general daemon changes users should keep in mind
- Long migration
- Deprecated building on top of alt chains
- Make sure functional tests pass excluding the HF from
hardforks.cpptoo - Use optimized libs (https://github.com/j-berman/fcmp-plus-plus-optimization-competition)
- Move to monero-oxide/monero-oxide #93
- Remove static proof len table and use the latest fast proof len size calc from the FCMP++ lib instead
- Move the static proof len table into a test just to sanity check the proof len size calc
On hold
-
Blinds cache (fcmp++: cache that blinds branches and outputs in the background #25)(no longer necessary thanks to contest success) - Update references to "weight" instead of "bytes" as necessary
- Not necessary for launch once fcmp++: use weight approx equal to byte size #232 is in, since weight will be much closer to bytes with that change.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels