serai/coins/monero
Luke Parker 2379855b31
Create a dedicated crate for the DKG (#141)
* Add dkg crate

* Remove F_len and G_len

They're generally no longer used.

* Replace hash_to_vec with a provided method around associated type H: Digest

Part of trying to minimize this trait so it can be moved elsewhere. Vec, 
which isn't std, may have been a blocker.

* Encrypt secret shares within the FROST library

Reduces requirements on callers in order to be correct.

* Update usage of Zeroize within FROST

* Inline functions in key_gen

There was no reason to have them separated as they were. sign probably 
has the same statement available, yet that isn't the focus right now.

* Add a ciphersuite package which provides hash_to_F

* Set the Ciphersuite version to something valid

* Have ed448 export Scalar/FieldElement/Point at the top level

* Move FROST over to Ciphersuite

* Correct usage of ff in ciphersuite

* Correct documentation handling

* Move Schnorr signatures to their own crate

* Remove unused feature from schnorr

* Fix Schnorr tests

* Split DKG into a separate crate

* Add serialize to Commitments and SecretShare

Helper for buf = vec![]; .write(buf).unwrap(); buf

* Move FROST over to the new dkg crate

* Update Monero lib to latest FROST

* Correct ethereum's usage of features

* Add serialize to GeneratorProof

* Add serialize helper function to FROST

* Rename AddendumSerialize to WriteAddendum

* Update processor

* Slight fix to processor
2022-10-29 03:54:42 -05:00
..
generators Fill out Cargo.tomls 2022-10-15 23:46:22 -04:00
src Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
tests Support including arbitrary data in TXs and return it with outputs 2022-08-30 15:42:23 -04:00
build.rs Publish an alpha version of the Monero crate (#123) 2022-09-29 01:24:33 -05:00
Cargo.toml Create dedicated message structures for FROST messages (#140) 2022-10-25 23:17:25 -05:00
LICENSE Move the Monero create to coins/ 2022-04-27 00:09:05 -04:00
README.md Expand and correct documentation 2022-09-29 05:25:29 -04:00

monero-serai

A modern Monero transaction library intended for usage in wallets. It prides itself on accuracy, correctness, and removing common pit falls developers may face.

monero-serai contains safety features, such as first-class acknowledgement of the burning bug, yet also a high level API around creating transactions. monero-serai also offers a FROST-based multisig, which is orders of magnitude more performant than Monero's.

monero-serai was written for Serai, a decentralized exchange aiming to support Monero. Despite this, monero-serai is intended to be a widely usable library, accurate to Monero. monero-serai guarantees the functionality needed for Serai, yet will not deprive functionality from other users, and may potentially leave Serai's umbrella at some point.

Various legacy transaction formats are not currently implemented, yet monero-serai is still increasing its support for various transaction types.