[][src]Struct btc_transaction_utils::InputSignatureRef

pub struct InputSignatureRef<'a>(_);

A borrowed equivalent of the InputSignature data type. It can be useful for checking incoming signatures from unauthorized sources.

Examples

use secp256k1::Secp256k1;
use btc_transaction_utils::InputSignatureRef;

// Get a signature from the unknown source.
let bytes = hex::decode(
    "304402201538279618a4626653775069b43d4315c7d2ff3000\
     8d339d0ed31ff41e628e71022028f3182fc39df28201ca4d7d\
     489aece7bc5bc6bfe05b09b6a9d3b70bf5f3743101",
).unwrap();
// Try to decode it.
let signature = InputSignatureRef::from_bytes(&bytes)
    .expect("Signature should be correct");

Methods

impl<'a> InputSignatureRef<'a>[src]

pub fn from_bytes(bytes: &'a [u8]) -> Result<InputSignatureRef<'a>, Error>[src]

Tries to construct input signature from the raw bytes.

pub fn content(&self) -> &[u8][src]

Returns the signature content in canonical form.

pub fn sighash_type(&self) -> SigHashType[src]

Returns a sighash type of the given input signature.

Trait Implementations

impl<'a> AsRef<[u8]> for InputSignatureRef<'a>[src]

impl<'a> Clone for InputSignatureRef<'a>[src]

impl<'a> Copy for InputSignatureRef<'a>[src]

impl<'a> Debug for InputSignatureRef<'a>[src]

impl<'a> From<&'a InputSignature> for InputSignatureRef<'a>[src]

impl<'a> From<InputSignatureRef<'a>> for Vec<u8>[src]

impl<'a> From<InputSignatureRef<'a>> for InputSignature[src]

impl<'a> PartialEq<InputSignatureRef<'a>> for InputSignatureRef<'a>[src]

impl<'a> StructuralPartialEq for InputSignatureRef<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for InputSignatureRef<'a>

impl<'a> Send for InputSignatureRef<'a>

impl<'a> Sync for InputSignatureRef<'a>

impl<'a> Unpin for InputSignatureRef<'a>

impl<'a> UnwindSafe for InputSignatureRef<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Base32Len for T where
    T: AsRef<[u8]>, 

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'f, T> CheckBase32<Vec<u5>> for T where
    T: AsRef<[u8]>, 

type Err = Error

Error type if conversion fails

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToBase32 for T where
    T: AsRef<[u8]>, 

impl<T> ToHex for T where
    T: AsRef<[u8]>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.