serai/coins/monero/tests
Justin Berman 92d8b91be9
Monero: fix decoy selection algo and add test for latest spendable (#384)
* Monero: fix decoy selection algo and add test for latest spendable

- DSA only selected coinbase outputs and didn't match the wallet2
implementation
- Added test to make sure DSA will select a decoy output from the
most recent unlocked block
- Made usage of "height" in DSA consistent with other usage of
"height" in Monero code (height == num blocks in chain)
- Rely on monerod RPC response for output's unlocked status

* xmr runner tests mine until outputs are unlocked

* fingerprintable canoncial select decoys

* Separate fingerprintable canonical function

Makes it simpler for callers who are unconcered with consistent
canonical output selection across multiple clients to rely on
the simpler Decoy::select and not worry about fingerprintable
canonical

* fix merge conflicts

* Put back TODO for issue #104

* Fix incorrect check on distribution len

The RingCT distribution on mainnet doesn't start until well after
genesis, so the distribution length is expected to be < height.

To be clear, this was my mistake from this series of changes
to the DSA. I noticed this mistake because the DSA would error
when running on mainnet.
2024-02-19 21:34:10 -05:00
..
add_data.rs Meaningful changes from aggressive-clippy 2023-07-08 11:29:07 -04:00
decoys.rs Monero: fix decoy selection algo and add test for latest spendable (#384) 2024-02-19 21:34:10 -05:00
eventuality.rs Processor (#259) 2023-03-16 22:59:40 -04:00
runner.rs Monero: fix decoy selection algo and add test for latest spendable (#384) 2024-02-19 21:34:10 -05:00
scan.rs monero: make dummy payment ID zeroes when it's included in a tx (#514) 2024-02-19 20:45:50 -05:00
send.rs Monero: fix decoy selection algo and add test for latest spendable (#384) 2024-02-19 21:34:10 -05:00
wallet2_compatibility.rs monero: Use fee priority enums from monero repo CLI/RPC wallets (#499) 2024-02-19 21:03:27 -05:00