From 6aabd803f407085f871eee4cb84f6f1d0e916557 Mon Sep 17 00:00:00 2001 From: Denis Varlakov Date: Thu, 22 Feb 2024 13:59:01 +0100 Subject: [PATCH] sync --- .github/workflows/readme.yml | 24 ++++++++++++++++++++++++ Makefile | 6 ++++++ README.md | 18 ++++++++++++++++++ docs/readme-template | 1 + 4 files changed, 49 insertions(+) create mode 100644 .github/workflows/readme.yml create mode 100644 docs/readme-template diff --git a/.github/workflows/readme.yml b/.github/workflows/readme.yml new file mode 100644 index 0000000..92a7ef9 --- /dev/null +++ b/.github/workflows/readme.yml @@ -0,0 +1,24 @@ +name: Check README + +on: + pull_request: + branches: [ "*" ] + +env: + CARGO_TERM_COLOR: always + CARGO_NET_GIT_FETCH_WITH_CLI: true + +jobs: + check_readme: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install cargo-hakari + uses: baptiste0928/cargo-install@v1 + with: + crate: cargo-readme + - name: Check that readme matches lib.rs + run: | + cp README.md README-copy.md + make readme + diff README.md README-copy.md diff --git a/Makefile b/Makefile index 32ca4e1..82411b2 100644 --- a/Makefile +++ b/Makefile @@ -9,3 +9,9 @@ docs-open: docs-private: RUSTDOCFLAGS="--html-in-header katex-header.html --cfg docsrs" cargo +nightly doc --no-deps --all-features --document-private-items +readme: + cargo readme --no-title -r givre -i src/lib.rs \ + | perl -ne 's/(? README.md + diff --git a/README.md b/README.md index 8b13789..84920ea 100644 --- a/README.md +++ b/README.md @@ -1 +1,19 @@ +Threshold Schnorr implementation based on [FROST IETF Draft][draft] +FROST is state of art protocol for Threshold Schnorr Signatures that supports 1-round signing (requires signers to +commit nonces ahead of time), and identifiable abort. + +This crate provides: +* Threshold and non-threshold Distributed Key Generation (DKG) \ + Note that FROST does not define DKG protocol to be used. We simply re-export DKG based on [CGGMP21] implementation + when `cggmp21-keygen` feature is enabled. Alternatively, you can use any other UC-secure DKG protocol. +* FROST Signing \ + We provide API for both manual signing execution (for better flexibility and efficiency) and interactive protocol + (for easier usability and fool-proof design), see signing module for details. +* Trusted dealer (importing key into TSS) + +This crate doesn't support (currently): +* Identifiable abort + +[CGGMP21]: https://github.com/dfns/cggmp21 +[draft]: https://www.ietf.org/archive/id/draft-irtf-cfrg-frost-15.html diff --git a/docs/readme-template b/docs/readme-template new file mode 100644 index 0000000..274bb44 --- /dev/null +++ b/docs/readme-template @@ -0,0 +1 @@ +{{readme}}