Pasta curves (Pallas/Vesta) — formal verification source
Find a file
Jack Grigg b016b972f8 Replace (x, y) tuple with Coordinates struct
The previous `CurveAffine::get_xy` method returned the coordinates as
`CtOption<(C::Base, C::Base)>`. However, `ConditionallySelectable` is
not implemented for any tuple or array types, making it impossible to
use any of the useful `CtOption` methods like `and_then`. We replace it
with `CurveAffine::coordinates -> CtOption<Coordinates<Self>>` and
`impl ConditionallySelectable for Coordinates` to enable operating over
coordinates in constant time.
2021-04-18 09:21:18 +12:00
.github CI: Remove unnecessary --all flag 2021-03-03 22:49:52 +00:00
benches Move Pasta implementations into root 2021-03-03 21:59:08 +00:00
book book: Fix broken links 2021-03-04 14:02:12 +00:00
src Replace (x, y) tuple with Coordinates struct 2021-04-18 09:21:18 +12:00
.gitignore Add book/Makefile for local HTML generation. 2020-12-26 15:33:59 +00:00
Cargo.toml Rename crate to pasta_curves and remove halo2 code 2021-03-03 21:59:08 +00:00
CHANGELOG.md Initialize the changelog 2021-01-22 23:54:31 +00:00
Contributor_Agreement Correct numbering and add missing sections 2020-10-25 09:42:25 -07:00
COPYING Initial commit 2020-08-22 14:15:39 -06:00
katex-header.html Initial commit 2020-08-22 14:15:39 -06:00
LICENSE-TGPPL Initial commit 2020-08-22 14:15:39 -06:00
README.md Rename crate to pasta_curves and remove halo2 code 2021-03-03 21:59:08 +00:00

pasta_curves

IMPORTANT: This library is being actively developed and should not be used in production software.

Documentation

This crate currently has a Minimum Supported Rust Version of 1.49.0. When const generics are stabilized in Rust 1.51.0, we plan to require that version.

License

Copyright 2020 The Electric Coin Company.

You may use this package under the Transitive Grace Period Public Licence, version 1.0, or at your option, any later version. See the file LICENSE-TGPPL for the terms of the Transitive Grace Period Public Licence, version 1.0.

The purpose of the TGPPL is to allow commercial improvements to the package while ensuring that all improvements are eventually open source. See here for why the TGPPL exists, graphically illustrated on three slides.