mirror of
https://github.com/saymrwulf/pasta_curves-source.git
synced 2026-09-04 20:03:39 +00:00
Pasta curves (Pallas/Vesta) — formal verification source
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. |
||
|---|---|---|
| .github | ||
| benches | ||
| book | ||
| src | ||
| .gitignore | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| Contributor_Agreement | ||
| COPYING | ||
| katex-header.html | ||
| LICENSE-TGPPL | ||
| README.md | ||
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.