serai/coins/monero/src
Boog900 995734c960
Monero: add more legacy verify functions (#383)
* Add v1 ring sig verifying

* allow calculating signature hash for v1 txs

* add unreduced scalar type with recovery

I have added this type for borromen sigs, the ee field can be a normal
scalar as in the verify function the ee
field is checked against a reduced scalar mean for it to verify as
correct ee must be reduced

* change block major/ minor versions to u8

this matches Monero

I have also changed a couple varint functions to accept the `VarInt`
trait

* expose `serialize_hashable` on `Block`

* add back MLSAG verifying functions

I still need to revert the commit removing support for >1 input MLSAG FULL

This adds a new rct type to separate Full and simple rct

* add back support for multiple inputs for RCT FULL

* comment `non_adjacent_form` function

also added `#[allow(clippy::needless_range_loop)]` around a loop as without a re-write satisfying clippy without it will make the function worse.

* Improve Mlsag verifying API

* fix rebase errors

* revert the changes on `reserialize_chain`
plus other misc changes

* fix no-std

* Reduce the amount of rpc calls needed for `get_block_by_number`.
This function was causing me problems, every now and then a node would return a block with a different number than requested.

* change `serialize_hashable` to give the POW hashing blob.

Monero calculates the POW hash and the block hash using *slightly* different blobs :/

* make ring_signatures public and add length check when verifying.

* Misc improvements and bug fixes

---------

Co-authored-by: Luke Parker <lukeparker5132@gmail.com>
2023-11-12 10:18:18 -05:00
..
bin Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
ringct Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
rpc Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
tests Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
wallet Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
block.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
lib.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
merkle.rs Meaningful changes from aggressive-clippy 2023-07-08 11:29:07 -04:00
ring_signatures.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
serialize.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
transaction.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00
unreduced_scalar.rs Monero: add more legacy verify functions (#383) 2023-11-12 10:18:18 -05:00