pub struct Deriver<'a> { /* private fields */ }Expand description
Bitcoin address deriver from a unified wallet seed.
This deriver takes a seed from kobe::Wallet and derives
Bitcoin addresses following BIP32/44/49/84 standards.
Implementations§
Source§impl<'a> Deriver<'a>
impl<'a> Deriver<'a>
Sourcepub fn new(wallet: &'a Wallet, network: Network) -> Result<Self, Error>
pub fn new(wallet: &'a Wallet, network: Network) -> Result<Self, Error>
Create a new Bitcoin deriver from a wallet.
§Errors
Returns an error if the master key derivation fails.
Sourcepub fn derive_with(
&self,
address_type: AddressType,
index: u32,
) -> Result<DerivedAddress, Error>
pub fn derive_with( &self, address_type: AddressType, index: u32, ) -> Result<DerivedAddress, Error>
Derive a Bitcoin address with a specific address type.
This method supports different address formats:
- P2pkh (Legacy):
m/44'/coin'/0'/0/{index} - P2shP2wpkh (Nested SegWit):
m/49'/coin'/0'/0/{index} - P2wpkh (Native SegWit):
m/84'/coin'/0'/0/{index} - P2tr (Taproot):
m/86'/coin'/0'/0/{index}
§Arguments
address_type- Type of address (determines BIP purpose: 44/49/84/86)index- The address index
§Errors
Returns an error if derivation fails.
Sourcepub fn derive_many(
&self,
start: u32,
count: u32,
) -> Result<Vec<DerivedAddress>, Error>
pub fn derive_many( &self, start: u32, count: u32, ) -> Result<Vec<DerivedAddress>, Error>
Sourcepub fn derive_many_with(
&self,
address_type: AddressType,
start: u32,
count: u32,
) -> Result<Vec<DerivedAddress>, Error>
pub fn derive_many_with( &self, address_type: AddressType, start: u32, count: u32, ) -> Result<Vec<DerivedAddress>, Error>
Sourcepub fn derive_path(
&self,
path: &DerivationPath,
address_type: AddressType,
) -> Result<DerivedAddress, Error>
pub fn derive_path( &self, path: &DerivationPath, address_type: AddressType, ) -> Result<DerivedAddress, Error>
Derive an address at a custom derivation path.
This is the lowest-level derivation method, allowing full control over the derivation path.
§Arguments
path- BIP-32 derivation pathaddress_type- Type of address to generate
§Errors
Returns an error if derivation fails.
§Panics
This function will not panic under normal circumstances.
The internal expect is guaranteed to succeed for valid private keys.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Deriver<'a>
impl<'a> RefUnwindSafe for Deriver<'a>
impl<'a> Send for Deriver<'a>
impl<'a> Sync for Deriver<'a>
impl<'a> Unpin for Deriver<'a>
impl<'a> UnwindSafe for Deriver<'a>
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