pub struct EllipticCurve<M: ManagedTypeApi> { /* private fields */ }

Implementations§

source§

impl<M: ManagedTypeApi> EllipticCurve<M>

source

pub fn from_name(name: &str) -> Self

source

pub fn from_bitsize(bitsize: u32) -> Option<Self>

source

pub fn get_values(&self) -> EllipticCurveComponents<M>

source

pub fn get_curve_length(&self) -> u32

source

pub fn get_priv_key_byte_length(&self) -> u32

source

pub fn add( &self, x_first_point: BigUint<M>, y_first_point: BigUint<M>, x_second_point: BigUint<M>, y_second_point: BigUint<M> ) -> (BigUint<M>, BigUint<M>)

source

pub fn double( &self, x_point: BigUint<M>, y_point: BigUint<M> ) -> (BigUint<M>, BigUint<M>)

source

pub fn is_on_curve(&self, x_point: BigUint<M>, y_point: BigUint<M>) -> bool

source

pub fn scalar_mult( &self, x_point: BigUint<M>, y_point: BigUint<M>, data: &[u8] ) -> (BigUint<M>, BigUint<M>)

source

pub fn scalar_base_mult(&self, data: &[u8]) -> (BigUint<M>, BigUint<M>)

source

pub fn marshal(&self, x_pair: BigUint<M>, y_pair: BigUint<M>) -> BoxedBytes

source

pub fn marshal_compressed( &self, x_pair: BigUint<M>, y_pair: BigUint<M> ) -> BoxedBytes

source

pub fn unmarshal(&self, data: &[u8]) -> (BigUint<M>, BigUint<M>)

source

pub fn unmarshal_compressed(&self, data: &[u8]) -> (BigUint<M>, BigUint<M>)

source

pub fn generate_key(&self) -> (BigUint<M>, BigUint<M>, BoxedBytes)

Trait Implementations§

source§

impl<M: Debug + ManagedTypeApi> Debug for EllipticCurve<M>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<M: ManagedTypeApi> ManagedType<M> for EllipticCurve<M>

source§

fn as_ref(&self) -> ManagedRef<'_, M, Self>

source§

impl<M: ManagedTypeApi> ManagedVecItem for EllipticCurve<M>

source§

const PAYLOAD_SIZE: usize = 4usize

Size of the data stored in the underlying ManagedBuffer.
source§

const SKIPS_RESERIALIZATION: bool = false

If true, then the encoding of the item is identical to the payload, and no further conversion is necessary (the underlying buffer can be used as-is during serialization). False for all managed types, but true for basic types (like u32).
§

type Ref<'a> = ManagedRef<'a, M, EllipticCurve<M>>

Reference representation of the ManagedVec item. Read more
source§

fn from_byte_reader<Reader: FnMut(&mut [u8])>(reader: Reader) -> Self

Parses given bytes as a an owned object.
source§

unsafe fn from_byte_reader_as_borrow<'a, Reader: FnMut(&mut [u8])>( reader: Reader ) -> Self::Ref<'a>

Parses given bytes as a representation of the object, either owned, or a reference. Read more
source§

fn to_byte_writer<R, Writer: FnMut(&[u8]) -> R>(&self, writer: Writer) -> R

source§

impl<M: ManagedTypeApi> NestedEncode for EllipticCurve<M>

source§

fn dep_encode<O: NestedEncodeOutput>( &self, dest: &mut O ) -> Result<(), EncodeError>

NestedEncode to output, using the format of an object nested inside another structure. Does not provide compact version.
source§

fn dep_encode_or_exit<O: NestedEncodeOutput, ExitCtx: Clone>( &self, dest: &mut O, c: ExitCtx, exit: fn(_: ExitCtx, _: EncodeError) -> ! )

Version of top_decode that exits quickly in case of error. Its purpose is to create smaller implementations in cases where the application is supposed to exit directly on decode error.
source§

impl<M: ManagedTypeApi> TopEncode for EllipticCurve<M>

source§

fn top_encode<O: TopEncodeOutput>(&self, output: O) -> Result<(), EncodeError>

Attempt to serialize the value to ouput.
source§

fn top_encode_or_exit<O: TopEncodeOutput, ExitCtx: Clone>( &self, output: O, c: ExitCtx, exit: fn(_: ExitCtx, _: EncodeError) -> ! )

Version of top_decode that exits quickly in case of error. Its purpose is to create smaller bytecode implementations in cases where the application is supposed to exit directly on decode error.
source§

impl<M: ManagedTypeApi> TypeAbi for EllipticCurve<M>

source§

fn type_name() -> String

source§

fn provide_type_descriptions<TDC: TypeDescriptionContainer>( accumulator: &mut TDC )

A type can provide more than its own description. For instance, a struct can also provide the descriptions of the type of its fields. TypeAbi doesn’t care for the exact accumulator type, which is abstracted by the TypeDescriptionContainer trait.

Auto Trait Implementations§

§

impl<M> RefUnwindSafe for EllipticCurve<M>
where M: RefUnwindSafe,

§

impl<M> Send for EllipticCurve<M>
where M: Send,

§

impl<M> Sync for EllipticCurve<M>
where M: Sync,

§

impl<M> Unpin for EllipticCurve<M>
where M: Unpin,

§

impl<M> UnwindSafe for EllipticCurve<M>
where M: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> ContractCallArg for T
where T: TopEncode,

source§

fn push_dyn_arg<O>(&self, output: &mut O)
where O: DynArgOutput,

source§

impl<T> EndpointResult for T
where T: TopEncode,

§

type DecodeAs = T

Indicates how the result of the endpoint can be interpreted when called via proxy. Self for most types.
source§

fn finish<FA>(&self)

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.