/*
* (C) 2024 Jack Lloyd
*
* Botan is released under the Simplified BSD License (see license.txt)
*/

#include <botan/internal/pcurves_instance.h>

#include <botan/internal/pcurves_wrap.h>

namespace Botan::PCurve {

namespace {

namespace frp256v1 {

// clang-format off

class Params final : public EllipticCurveParameters<
   "F1FD178C0B3AD58F10126DE8CE42435B3961ADBCABC8CA6DE8FCF353D86E9C03",
   "F1FD178C0B3AD58F10126DE8CE42435B3961ADBCABC8CA6DE8FCF353D86E9C00",
   "EE353FCA5428A9300D4ABA754A44C00FDFEC0C9AE4B1A1803075ED967B7BB73F",
   "F1FD178C0B3AD58F10126DE8CE42435B53DC67E140D2BF941FFDD459C6D655E1",
   "B6B3D4C356C139EB31183D4749D423958C27D2DCAF98B70164C97A2DD98F5CFF",
   "6142E0F7C8B204911F9271F0F3ECEF8C2701C307E8E4C9E183115A1554062CFB"> {
};

// clang-format on

class Curve final : public EllipticCurve<Params> {};

}  // namespace frp256v1

}  // namespace

std::shared_ptr<const PrimeOrderCurve> PCurveInstance::frp256v1() {
   return PrimeOrderCurveImpl<frp256v1::Curve>::instance();
}

}  // namespace Botan::PCurve
