Struct bitbox_api::btc::Xpub
source · pub struct Xpub {
pub network: Network,
pub depth: u8,
pub parent_fingerprint: Fingerprint,
pub child_number: ChildNumber,
pub public_key: PublicKey,
pub chain_code: ChainCode,
}Expand description
Extended public key
Fields§
§network: NetworkThe network this key is to be used on
depth: u8How many derivations this key is from the master (which is 0)
parent_fingerprint: FingerprintFingerprint of the parent key
child_number: ChildNumberChild number of the key used to derive from parent (0 for master)
public_key: PublicKeyPublic key
chain_code: ChainCodeChain code
Implementations§
source§impl Xpub
impl Xpub
sourcepub fn from_priv<C>(secp: &Secp256k1<C>, sk: &Xpriv) -> Xpubwhere
C: Signing,
pub fn from_priv<C>(secp: &Secp256k1<C>, sk: &Xpriv) -> Xpubwhere
C: Signing,
Derives a public key from a private key
sourcepub fn to_pub(self) -> PublicKey
pub fn to_pub(self) -> PublicKey
Constructs ECDSA compressed public key matching internal public key representation.
sourcepub fn to_x_only_pub(self) -> XOnlyPublicKey
pub fn to_x_only_pub(self) -> XOnlyPublicKey
Constructs BIP340 x-only public key for BIP-340 signatures and Taproot use matching the internal public key representation.
sourcepub fn derive_pub<C, P>(
&self,
secp: &Secp256k1<C>,
path: &P
) -> Result<Xpub, Error>where
C: Verification,
P: AsRef<[ChildNumber]>,
pub fn derive_pub<C, P>(
&self,
secp: &Secp256k1<C>,
path: &P
) -> Result<Xpub, Error>where
C: Verification,
P: AsRef<[ChildNumber]>,
Attempts to derive an extended public key from a path.
The path argument can be any type implementing AsRef<ChildNumber>, such as DerivationPath, for instance.
sourcepub fn ckd_pub_tweak(
&self,
i: ChildNumber
) -> Result<(SecretKey, ChainCode), Error>
pub fn ckd_pub_tweak( &self, i: ChildNumber ) -> Result<(SecretKey, ChainCode), Error>
Compute the scalar tweak added to this key to get a child key
sourcepub fn ckd_pub<C>(
&self,
secp: &Secp256k1<C>,
i: ChildNumber
) -> Result<Xpub, Error>where
C: Verification,
pub fn ckd_pub<C>(
&self,
secp: &Secp256k1<C>,
i: ChildNumber
) -> Result<Xpub, Error>where
C: Verification,
Public->Public child key derivation
sourcepub fn decode(data: &[u8]) -> Result<Xpub, Error>
pub fn decode(data: &[u8]) -> Result<Xpub, Error>
Decoding extended public key from binary data according to BIP 32
sourcepub fn identifier(&self) -> XKeyIdentifier
pub fn identifier(&self) -> XKeyIdentifier
Returns the HASH160 of the chaincode
sourcepub fn fingerprint(&self) -> Fingerprint
pub fn fingerprint(&self) -> Fingerprint
Returns the first four bytes of the identifier
Trait Implementations§
source§impl Ord for Xpub
impl Ord for Xpub
source§impl PartialEq for Xpub
impl PartialEq for Xpub
source§impl PartialOrd for Xpub
impl PartialOrd for Xpub
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