Serai is a new DEX, built from the ground up, initially planning on listing Bitcoin, Ethereum, DAI, and Monero, offering a liquidity-pool-based trading experience. Funds are stored in an economically secured threshold-multisig wallet.
Find a file
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
.github Update nightly 2022-10-21 21:26:27 -05:00
coins Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
contracts Fill out Cargo.tomls 2022-10-15 23:46:22 -04:00
crypto Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
deploy fixes caching issues (#139) 2022-10-24 23:48:11 -05:00
docs Update to the latest Serai Substrate (#125) 2022-09-29 13:33:09 -05:00
processor Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
substrate Cherry-pick 28308dfe85387fe54c14076089a40c5af1f1b8f7 2022-10-21 05:32:38 -04:00
.gitattributes Cluster Orchestration with Docker Compose (#114) 2022-09-12 15:01:14 -05:00
.gitignore Add a patch for zip so ethereum-serai doesn't conflict with Substrate 2022-07-16 17:49:35 -04:00
.rustfmt.toml Apply an initial set of rustfmt rules 2022-07-16 15:16:30 -05:00
AGPL-3.0 Add an initial Substrate instantiation 2022-07-15 00:05:00 -04:00
Cargo.lock Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
Cargo.toml Create a dedicated crate for the DKG (#141) 2022-10-29 03:54:42 -05:00
CONTRIBUTING.md Clarify identation policy 2022-10-11 00:40:50 -05:00
LICENSE Clarify licensing per https://github.com/serai-dex/serai/issues/13 2022-08-25 04:02:13 -04:00
README.md Clarify licensing per https://github.com/serai-dex/serai/issues/13 2022-08-25 04:02:13 -04:00

Serai

Serai is a new DEX, built from the ground up, initially planning on listing Bitcoin, Ethereum, Monero, DAI, and USDC, offering a liquidity pool trading experience. Funds are stored in an economically secured threshold multisig wallet.

Layout

  • docs: Documentation on the Serai protocol.

  • crypto: A series of composable cryptographic libraries built around the ff/group APIs achieving a variety of tasks. These range from generic infrastructure, to our IETF-compliant FROST implementation, to a DLEq proof as needed for Bitcoin-Monero atomic swaps.

  • coins: Various coin libraries intended for usage in Serai yet also by the wider community. This means they will always support the functionality Serai needs, yet won't disadvantage other use cases when possible.

  • processor: A generic chain processor to process data for Serai and process events from Serai, executing transactions as expected and needed.

  • contracts: Smart Contracts implementing Serai's functionality.

  • substrate: Substrate crates used to instantiate the Serai network.