serai/processor
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
..
messages Slash reports (#523) 2024-01-29 03:48:53 -05:00
src Monero: fix decoy selection algo and add test for latest spendable (#384) 2024-02-19 21:34:10 -05:00
Cargo.toml Slash reports (#523) 2024-01-29 03:48:53 -05:00
LICENSE Update licenses 2023-01-11 23:05:31 -05:00
README.md Add support for multiple multisigs to the processor (#377) 2023-09-25 09:48:15 -04:00

Processor

The Serai processor scans a specified external network, communicating with the coordinator. For details on its exact messaging flow, and overall policies, please view docs/processor.