Struct fuel_core_interfaces::model::SecretKeyWrapper
source · #[repr(transparent)]pub struct SecretKeyWrapper(_);
Expand description
Wrapper around [fuel_crypto::SecretKey
] to implement secrecy
marker traits
Methods from Deref<Target = SecretKey>§
pub fn is_in_field(&self) -> bool
pub fn is_in_field(&self) -> bool
Check if the secret key representation fits the scalar field.
pub fn public_key(&self) -> PublicKey
pub fn public_key(&self) -> PublicKey
Return the curve representation of this secret.
The discrete logarithm property guarantees this is a one-way function.
Methods from Deref<Target = [u8; 32]>§
1.57.0 · sourcepub fn as_slice(&self) -> &[T] ⓘ
pub fn as_slice(&self) -> &[T] ⓘ
Returns a slice containing the entire array. Equivalent to &s[..]
.
sourcepub fn each_ref(&self) -> [&T; N]
🔬This is a nightly-only experimental API. (array_methods
)
pub fn each_ref(&self) -> [&T; N]
array_methods
)Borrows each element and returns an array of references with the same
size as self
.
Example
#![feature(array_methods)]
let floats = [3.1, 2.7, -1.0];
let float_refs: [&f64; 3] = floats.each_ref();
assert_eq!(float_refs, [&3.1, &2.7, &-1.0]);
This method is particularly useful if combined with other methods, like
map
. This way, you can avoid moving the original
array if its elements are not Copy
.
#![feature(array_methods)]
let strings = ["Ferris".to_string(), "♥".to_string(), "Rust".to_string()];
let is_ascii = strings.each_ref().map(|s| s.is_ascii());
assert_eq!(is_ascii, [true, false, true]);
// We can still access the original array: it has not been moved.
assert_eq!(strings.len(), 3);
sourcepub fn split_array_ref<const M: usize>(&self) -> (&[T; M], &[T])
🔬This is a nightly-only experimental API. (split_array
)
pub fn split_array_ref<const M: usize>(&self) -> (&[T; M], &[T])
split_array
)Divides one array reference into two at an index.
The first will contain all indices from [0, M)
(excluding
the index M
itself) and the second will contain all
indices from [M, N)
(excluding the index N
itself).
Panics
Panics if M > N
.
Examples
#![feature(split_array)]
let v = [1, 2, 3, 4, 5, 6];
{
let (left, right) = v.split_array_ref::<0>();
assert_eq!(left, &[]);
assert_eq!(right, &[1, 2, 3, 4, 5, 6]);
}
{
let (left, right) = v.split_array_ref::<2>();
assert_eq!(left, &[1, 2]);
assert_eq!(right, &[3, 4, 5, 6]);
}
{
let (left, right) = v.split_array_ref::<6>();
assert_eq!(left, &[1, 2, 3, 4, 5, 6]);
assert_eq!(right, &[]);
}
sourcepub fn rsplit_array_ref<const M: usize>(&self) -> (&[T], &[T; M])
🔬This is a nightly-only experimental API. (split_array
)
pub fn rsplit_array_ref<const M: usize>(&self) -> (&[T], &[T; M])
split_array
)Divides one array reference into two at an index from the end.
The first will contain all indices from [0, N - M)
(excluding
the index N - M
itself) and the second will contain all
indices from [N - M, N)
(excluding the index N
itself).
Panics
Panics if M > N
.
Examples
#![feature(split_array)]
let v = [1, 2, 3, 4, 5, 6];
{
let (left, right) = v.rsplit_array_ref::<0>();
assert_eq!(left, &[1, 2, 3, 4, 5, 6]);
assert_eq!(right, &[]);
}
{
let (left, right) = v.rsplit_array_ref::<2>();
assert_eq!(left, &[1, 2, 3, 4]);
assert_eq!(right, &[5, 6]);
}
{
let (left, right) = v.rsplit_array_ref::<6>();
assert_eq!(left, &[]);
assert_eq!(right, &[1, 2, 3, 4, 5, 6]);
}
Trait Implementations§
source§impl Clone for SecretKeyWrapper
impl Clone for SecretKeyWrapper
source§fn clone(&self) -> SecretKeyWrapper
fn clone(&self) -> SecretKeyWrapper
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl DebugSecret for SecretKeyWrapper
impl DebugSecret for SecretKeyWrapper
source§impl Default for SecretKeyWrapper
impl Default for SecretKeyWrapper
source§fn default() -> SecretKeyWrapper
fn default() -> SecretKeyWrapper
source§impl Deref for SecretKeyWrapper
impl Deref for SecretKeyWrapper
source§impl From<SecretKey> for SecretKeyWrapper
impl From<SecretKey> for SecretKeyWrapper
source§fn from(original: SecretKey) -> SecretKeyWrapper
fn from(original: SecretKey) -> SecretKeyWrapper
source§impl Hash for SecretKeyWrapper
impl Hash for SecretKeyWrapper
source§impl Ord for SecretKeyWrapper
impl Ord for SecretKeyWrapper
source§fn cmp(&self, other: &SecretKeyWrapper) -> Ordering
fn cmp(&self, other: &SecretKeyWrapper) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq<SecretKeyWrapper> for SecretKeyWrapper
impl PartialEq<SecretKeyWrapper> for SecretKeyWrapper
source§fn eq(&self, other: &SecretKeyWrapper) -> bool
fn eq(&self, other: &SecretKeyWrapper) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<SecretKeyWrapper> for SecretKeyWrapper
impl PartialOrd<SecretKeyWrapper> for SecretKeyWrapper
source§fn partial_cmp(&self, other: &SecretKeyWrapper) -> Option<Ordering>
fn partial_cmp(&self, other: &SecretKeyWrapper) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more