cairo_lang_sierra/extensions/modules/starknet/
secp256r1.rs1use super::secp256::Secp256Trait;
2use crate::extensions::NoGenericArgsGenericType;
3use crate::ids::GenericTypeId;
4
5#[derive(Default)]
6pub struct Secp256r1PointType {}
7impl NoGenericArgsGenericType for Secp256r1PointType {
8 const ID: GenericTypeId = GenericTypeId::new_inline("Secp256r1Point");
9 const STORABLE: bool = true;
10 const DUPLICATABLE: bool = true;
11 const DROPPABLE: bool = true;
12 const ZERO_SIZED: bool = false;
13}
14
15#[derive(Default)]
16pub struct Secp256r1;
17impl Secp256Trait for Secp256r1 {
18 const STR_ID_NEW: &'static str = "secp256r1_new_syscall";
19 const STR_ID_ADD: &'static str = "secp256r1_add_syscall";
20 const STR_ID_MUL: &'static str = "secp256r1_mul_syscall";
21 const STR_ID_GET_POINT_FROM_X: &'static str = "secp256r1_get_point_from_x_syscall";
22 const STR_ID_GET_XY: &'static str = "secp256r1_get_xy_syscall";
23 const TYPE_ID: GenericTypeId = Secp256r1PointType::ID;
24 const TYPE_ID_STR: &'static str = "core::starknet::secp256r1::Secp256r1Point";
25}