pub struct Address {
pub params: &'static AddressParams,
pub payload: Payload,
pub blinding_pubkey: Option<PublicKey>,
}
Expand description
An Elements address.
Fields§
§params: &'static AddressParams
the network
payload: Payload
the traditional non-confidential payload
blinding_pubkey: Option<PublicKey>
the blinding pubkey
Implementations§
source§impl Address
impl Address
sourcepub fn is_blinded(&self) -> bool
pub fn is_blinded(&self) -> bool
Inspect if the address is a blinded address.
sourcepub fn p2pkh(
pk: &PublicKey,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2pkh( pk: &PublicKey, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Creates a pay to (compressed) public key hash address from a public key This is the preferred non-witness type address
sourcepub fn p2sh(
script: &Script,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2sh( script: &Script, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Creates a pay to script hash P2SH address from a script This address type was introduced with BIP16 and is the popular type to implement multi-sig these days.
sourcepub fn p2wpkh(
pk: &PublicKey,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2wpkh( pk: &PublicKey, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Create a witness pay to public key address from a public key This is the native segwit address type for an output redeemable with a single signature
sourcepub fn p2shwpkh(
pk: &PublicKey,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2shwpkh( pk: &PublicKey, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Create a pay to script address that embeds a witness pay to public key This is a segwit address type that looks familiar (as p2sh) to legacy clients
sourcepub fn p2wsh(
script: &Script,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2wsh( script: &Script, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Create a witness pay to script hash address
sourcepub fn p2shwsh(
script: &Script,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2shwsh( script: &Script, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Create a pay to script address that embeds a witness pay to script hash address This is a segwit address type that looks familiar (as p2sh) to legacy clients
sourcepub fn p2tr<C: Verification>(
secp: &Secp256k1<C>,
internal_key: UntweakedPublicKey,
merkle_root: Option<TapNodeHash>,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2tr<C: Verification>( secp: &Secp256k1<C>, internal_key: UntweakedPublicKey, merkle_root: Option<TapNodeHash>, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Creates a pay to taproot address from an untweaked key.
sourcepub fn p2tr_tweaked(
output_key: TweakedPublicKey,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Address
pub fn p2tr_tweaked( output_key: TweakedPublicKey, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Address
Creates a pay to taproot address from a pre-tweaked output key.
This method is not recommended for use, Address::p2tr()
should be used where possible.
sourcepub fn from_script(
script: &Script,
blinder: Option<PublicKey>,
params: &'static AddressParams
) -> Option<Address>
pub fn from_script( script: &Script, blinder: Option<PublicKey>, params: &'static AddressParams ) -> Option<Address>
Get an Address from an output script.
sourcepub fn script_pubkey(&self) -> Script
pub fn script_pubkey(&self) -> Script
Generates a script pubkey spending to this address
sourcepub fn to_unconfidential(&self) -> Address
pub fn to_unconfidential(&self) -> Address
Convert this address to an unconfidential address.
sourcepub fn to_confidential(&self, blinding_pubkey: PublicKey) -> Address
pub fn to_confidential(&self, blinding_pubkey: PublicKey) -> Address
Convert this address to a confidential address with the given blinding pubkey.
sourcepub fn parse_with_params(
s: &str,
params: &'static AddressParams
) -> Result<Address, AddressError>
pub fn parse_with_params( s: &str, params: &'static AddressParams ) -> Result<Address, AddressError>
Parse the address using the given parameters. When using the built-in parameters, you can use FromStr.