bdk_chain::bitcoin::secp256k1

Trait Context

pub unsafe trait Context: Sealed {
    const FLAGS: u32;
    const DESCRIPTION: &'static str;

    // Required method
    unsafe fn deallocate(ptr: *mut u8, size: usize);
}
Expand description

A trait for all kinds of contexts that lets you define the exact flags and a function to deallocate memory. It isn’t possible to implement this for types outside this crate.

§Safety

This trait is marked unsafe to allow unsafe implementations of deallocate.

Required Associated Constants§

const FLAGS: u32

Flags for the ffi.

const DESCRIPTION: &'static str

A constant description of the context.

Required Methods§

unsafe fn deallocate(ptr: *mut u8, size: usize)

A function to deallocate the memory when the context is dropped.

§Safety

ptr must be valid. Further safety constraints may be imposed by std::alloc::dealloc.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl Context for All

§

const FLAGS: u32 = 769u32

§

const DESCRIPTION: &'static str = "all capabilities"

§

impl Context for SignOnly

§

const FLAGS: u32 = 513u32

§

const DESCRIPTION: &'static str = "signing only"

§

impl Context for VerifyOnly

§

const FLAGS: u32 = 257u32

§

const DESCRIPTION: &'static str = "verification only"

§

impl<'buf> Context for AllPreallocated<'buf>

§

const FLAGS: u32 = 769u32

§

const DESCRIPTION: &'static str = "all capabilities"

§

impl<'buf> Context for SignOnlyPreallocated<'buf>

§

const FLAGS: u32 = 513u32

§

const DESCRIPTION: &'static str = "signing only"

§

impl<'buf> Context for VerifyOnlyPreallocated<'buf>

§

const FLAGS: u32 = 257u32

§

const DESCRIPTION: &'static str = "verification only"