pub struct Seed { /* private fields */ }Expand description
Seed type for RNG initialization
Seeds can be created from various blockchain state sources including block hashes, timestamps, and VRF outputs.
Implementations§
Source§impl Seed
impl Seed
Sourcepub fn from_bytes(bytes: Vec<u8>) -> Result<Self>
pub fn from_bytes(bytes: Vec<u8>) -> Result<Self>
Create a seed from raw bytes
Sourcepub fn from_block_hash(hash: &[u8; 32]) -> Result<Self>
pub fn from_block_hash(hash: &[u8; 32]) -> Result<Self>
Create a seed from a block hash (32 bytes)
Sourcepub fn from_block_hash_slice(hash: &[u8]) -> Result<Self>
pub fn from_block_hash_slice(hash: &[u8]) -> Result<Self>
Create a seed from a block hash slice
Sourcepub fn from_timestamp(timestamp: u64) -> Result<Self>
pub fn from_timestamp(timestamp: u64) -> Result<Self>
Create a seed from a timestamp
Sourcepub fn from_combined(sources: &[&[u8]]) -> Result<Self>
pub fn from_combined(sources: &[&[u8]]) -> Result<Self>
Combine multiple seed sources into one seed
Uses Blake3 to hash all inputs together for uniform distribution
Trait Implementations§
impl Eq for Seed
impl StructuralPartialEq for Seed
Auto Trait Implementations§
impl Freeze for Seed
impl RefUnwindSafe for Seed
impl Send for Seed
impl Sync for Seed
impl Unpin for Seed
impl UnwindSafe for Seed
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more