pub fn verify_payment_proof(
		&self,
		keychain_mask: Option<&SecretKey>,
		proof: &PaymentProof,
	) -> Result<(bool, bool), Error> {
		owner::verify_payment_proof(self.wallet_inst.clone(), keychain_mask, proof)
	}
/// Verifies a [PaymentProof](../mimble_wallet_libwallet/api_impl/types/struct.PaymentProof.html)
/// This process entails:
///
/// * Ensuring the kernel identified by the proof's stored excess commitment exists in the kernel set
/// * Reproducing the signed message `amount|kernel_commitment|sender_address`
/// * Validating the proof's `recipient_sig` against the message using the recipient's
/// address as the public key and
/// * Validating the proof's `sender_sig` against the message using the senders's
/// address as the public key
///
/// This function also checks whether the sender or recipient address belongs to the currently
/// open wallet, and returns 2 booleans indicating whether the address belongs to the sender and
/// whether the address belongs to the recipient respectively
///
/// # Arguments
/// * `keychain_mask` - Wallet secret mask to XOR against the stored wallet seed before using, if
/// being used.
/// * `proof` A [PaymentProof](../mimble_wallet_libwallet/api_impl/types/struct.PaymentProof.html))
///
/// # Returns
/// * Ok((bool, bool)) if the proof is valid. The first boolean indicates whether the sender
/// address belongs to this wallet, the second whether the recipient address belongs to this
/// wallet
/// * or [`libwallet::Error`](../mimble_wallet_libwallet/struct.Error.html) if an error is encountered
/// or the proof is not present or complete
///
/// # Example
/// Set up as in [`new`](struct.Owner.html#method.new) method above.
/// ```
/// # mimble_wallet_api::doctest_helper_setup_doc_env!(wallet, wallet_config);
///
/// let api_owner = Owner::new(wallet.clone(), None, None);
/// let update_from_node = true;
/// let tx_id = None;
/// let tx_slate_id = Some(Uuid::parse_str("0436430c-2b02-624c-2032-570501212b00").unwrap());
///
/// // Return all TxLogEntries
/// let result = api_owner.retrieve_payment_proof(None, update_from_node, tx_id, tx_slate_id);
///
/// // The proof will likely be exported as JSON to be provided to another party
///
/// if let Ok(p) = result {
///     let valid = api_owner.verify_payment_proof(None, &p);
///     if let Ok(_) = valid {
///       //...
///     }
/// }
/// ```




This function also checks whether the sender or recipient address belongs to the currently
open wallet, and returns 2 booleans indicating whether the address belongs to the sender and
whether the address belongs to the recipient respectively
This function also checks whether the sender or recipient address belongs to the currently open wallet and returns 2 booleans indicating whether the address belongs to the sender and whether the address belongs to the recipient respectively
pub fn verify_payment_proof(
		&self,
		keychain_mask: Option<&SecretKey>,
		proof: &PaymentProof,
	) -> Result<(bool, bool), Error> {
		owner::verify_payment_proof(self.wallet_inst.clone(), keychain_mask, proof)
	}
pub fn verify_payment_proof ( & self , keychain_mask : Option < & SecretKey > , proof : & PaymentProof , ) -> Result < ( bool , bool ) , Error > { owner :: verify_payment_proof ( self . wallet_inst . clone ( ) , keychain_mask , proof ) }
Verifies a [PaymentProof](../mimble_wallet_libwallet/api_impl/types/struct.PaymentProof.html)
This process entails:
Verifies a [ PaymentProof ] ( .. / mimble_wallet_libwallet / api_impl / types / struct . PaymentProof . html ) This process entails :
&self
keychain_mask
Option<&SecretKey>
proof
&PaymentProof
Ok((bool, bool)) if the proof is valid. The first boolean indicates whether the sender
address belongs to this wallet, the second whether the recipient address belongs to this
wallet
or [`libwallet::Error`](../mimble_wallet_libwallet/struct.Error.html) if an error is encountered
or the proof is not present or complete
Ok (( bool bool )) if the proof is valid . The first boolean indicates whether the sender address belongs to this wallet the second whether the recipient address belongs to this wallet or [ ` libwallet :: Error ` ] ( .. / mimble_wallet_libwallet / struct . Error . html ) if an error is encountered or the proof is not present or complete
&self
keychain_mask
Option<&SecretKey>
proof
&PaymentProof
example
Set up as in [`new`](struct.Owner.html#method.new) method above.
Set up as in [ ` new ` ] ( struct . Owner . html#method . new ) method above .
mimble_wallet_api::doctest_helper_setup_doc_env!(wallet, wallet_config);


Return all TxLogEntries
let result = api_owner.retrieve_payment_proof(None, update_from_node, tx_id, tx_slate_id).

The proof will likely be exported as JSON to be provided to another party

if let Ok(p) = result {
let valid = api_owner.verify_payment_proof(None, &p);
if let Ok(_) = valid {

}
}
```
Return all TxLogEntries let result = api_owner . retrieve_payment_proof ( None update_from_node tx_id tx_slate_id ) . The proof will likely be exported as JSON to be provided to another party if let Ok ( p ) = result { let valid = api_owner . verify_payment_proof ( None &p ) ; if let Ok ( _ ) = valid { } } ` ` `