pub enum ScriptKeyType {
Unknown,
Bip86,
ScriptPathExternal,
Burn,
Tombstone,
Channel,
}Expand description
The type of the script key.
Variants§
Unknown
The type of script key is not known. This should only be stored for assets where we don’t know the internal key of the script key (e.g. for imported proofs).
Bip86
The script key is a normal BIP-86 key. This means that the internal key is turned into a Taproot output key by applying a BIP-86 tweak to it.
ScriptPathExternal
The script key is a key that contains a script path that is defined by the user and is therefore external to the tapd wallet. Spending this key requires providing a specific witness and must be signed through the vPSBT signing flow.
Burn
The script key is a specific un-spendable key that indicates a burnt asset. Assets with this key type can never be spent again, as a burn key is a tweaked NUMS key that nobody knows the private key for.
Tombstone
The script key is a specific un-spendable key that indicates a tombstone output. This is only the case for zero-value assets that result from a non-interactive (TAP address) send where no change was left over.
Channel
The script key is used for an asset that resides within a Taproot Asset Channel. That means the script key is either a funding key (OP_TRUE), a commitment output key (to_local, to_remote, htlc), or a HTLC second-level transaction output key. Keys related to channels are not shown in asset balances (unless specifically requested) and are never used for coin selection.
Trait Implementations§
Source§impl Clone for ScriptKeyType
impl Clone for ScriptKeyType
Source§fn clone(&self) -> ScriptKeyType
fn clone(&self) -> ScriptKeyType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ScriptKeyType
Source§impl Debug for ScriptKeyType
impl Debug for ScriptKeyType
Source§impl<'de> Deserialize<'de> for ScriptKeyType
impl<'de> Deserialize<'de> for ScriptKeyType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ScriptKeyType
Source§impl Hash for ScriptKeyType
impl Hash for ScriptKeyType
Source§impl Ord for ScriptKeyType
impl Ord for ScriptKeyType
Source§fn cmp(&self, other: &ScriptKeyType) -> Ordering
fn cmp(&self, other: &ScriptKeyType) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ScriptKeyType
impl PartialEq for ScriptKeyType
Source§fn eq(&self, other: &ScriptKeyType) -> bool
fn eq(&self, other: &ScriptKeyType) -> bool
self and other values to be equal, and is used by ==.