pub fn process_invoice_tx(
		&self,
		keychain_mask: Option<&SecretKey>,
		slate: &Slate,
		args: InitTxArgs,
	) -> Result<Slate, Error> {
		owner::update_wallet_state(self.wallet_inst.clone(), keychain_mask, &None)?;

		//minimum_confirmations cannot be zero.
		let minimum_confirmations = args.minimum_confirmations.clone();
		if minimum_confirmations < 1 {
			return Err(ErrorKind::ClientCallback(
				"minimum_confirmations can not smaller than 1".to_owned(),
			)
			.into());
		}
		let mut w_lock = self.wallet_inst.lock();
		let w = w_lock.lc_provider()?.wallet_inst()?;
		owner::process_invoice_tx(
			&mut **w,
			keychain_mask,
			slate,
			args,
			self.doctest_mode,
			true,
		)
	}
/// Processes an invoice tranaction created by another party, essentially
/// a `request for payment`. The incoming slate should contain a requested
/// amount, an output created by the invoicer convering the amount, and
/// part 1 of signature creation completed. This function will add inputs
/// equalling the amount + fees, as well as perform round 1 and 2 of signature
/// creation.
///
/// Callers should note that no prompting of the user will be done by this function
/// it is up to the caller to present the request for payment to the user
/// and verify that payment should go ahead.
///
/// This function also stores the final transaction in the user's wallet files for retrieval
/// via the [`get_stored_tx`](struct.Owner.html#method.get_stored_tx) function.
///
/// # Arguments
/// * `keychain_mask` - Wallet secret mask to XOR against the stored wallet seed before using, if
/// being used.
/// * `slate` - The transaction [`Slate`](../mimble_wallet_libwallet/slate/struct.Slate.html). The
/// payer should have filled in round 1 and 2.
/// * `args` - [`InitTxArgs`](../mimble_wallet_libwallet/types/struct.InitTxArgs.html),
/// transaction initialization arguments. See struct documentation for further detail.
///
/// # Returns
/// * ``Ok([`slate`](../mimble_wallet_libwallet/slate/struct.Slate.html))` if successful,
/// containing the updated slate.
/// * or [`libwallet::Error`](../mimble_wallet_libwallet/struct.Error.html) if an error is encountered.
///
/// # 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 mut api_owner = Owner::new(wallet.clone(), None, None);
///
/// // . . .
/// // The slate has been recieved from the invoicer, somehow
/// # let slate = Slate::blank(2);
/// let args = InitTxArgs {
///     src_acct_name: None,
///     amount: slate.amount,
///     minimum_confirmations: 2,
///     max_outputs: 500,
///     num_change_outputs: 1,
///     selection_strategy_is_use_all: false,
///     ..Default::default()
/// };
///
/// let result = api_owner.process_invoice_tx(None, &slate, args);
///
/// if let Ok(slate) = result {
/// // If result okay, send back to the invoicer
/// // . . .
/// }
/// ```
Processes an invoice tranaction created by another party, essentially
a `request for payment`. The incoming slate should contain a requested
amount, an output created by the invoicer convering the amount, and
part 1 of signature creation completed. This function will add inputs
equalling the amount + fees, as well as perform round 1 and 2 of signature
creation.

Callers should note that no prompting of the user will be done by this function
it is up to the caller to present the request for payment to the user
and verify that payment should go ahead.

This function also stores the final transaction in the user's wallet files for retrieval
via the [`get_stored_tx`](struct.Owner.html#method.get_stored_tx) function.
Processes an invoice tranaction created by another party essentially a ` request for payment ` . The incoming slate should contain a requested amount an output created by the invoicer convering the amount and part 1 of signature creation completed . This function will add inputs equalling the amount + fees as well as perform round 1 and 2 of signature creation . Callers should note that no prompting of the user will be done by this function it is up to the caller to present the request for payment to the user and verify that payment should go ahead . This function also stores the final transaction in the user ' s wallet files for retrieval via the [ ` get_stored_tx ` ] ( struct . Owner . html#method . get_stored_tx ) function .
pub fn process_invoice_tx(
		&self,
		keychain_mask: Option<&SecretKey>,
		slate: &Slate,
		args: InitTxArgs,
	) -> Result<Slate, Error> {
		owner::update_wallet_state(self.wallet_inst.clone(), keychain_mask, &None)?;
		//minimum_confirmations cannot be zero.
		let minimum_confirmations = args.minimum_confirmations.clone();
		if minimum_confirmations < 1 {
			return Err(ErrorKind::ClientCallback(
				"minimum_confirmations can not smaller than 1".to_owned(),
			)
			.into());
		}
		let mut w_lock = self.wallet_inst.lock();
		let w = w_lock.lc_provider()?.wallet_inst()?;
		owner::process_invoice_tx(
			&mut **w,
			keychain_mask,
			slate,
			args,
			self.doctest_mode,
			true,
		)
	}
pub fn process_invoice_tx ( & self , keychain_mask : Option < & SecretKey > , slate : & Slate , args : InitTxArgs , ) -> Result < Slate , Error > { owner :: update_wallet_state ( self . wallet_inst . clone ( ) , keychain_mask , & None ) ? ; //minimum_confirmations cannot be zero. let minimum_confirmations = args . minimum_confirmations . clone ( ) ; if minimum_confirmations < 1 { return Err ( ErrorKind :: ClientCallback ( " " . to_owned ( ) , ) . into ( ) ) ; } let mut w_lock = self . wallet_inst . lock ( ) ; let w = w_lock . lc_provider ( ) ? . wallet_inst ( ) ? ; owner :: process_invoice_tx ( & mut * * w , keychain_mask , slate , args , self . doctest_mode , true , ) }
Processes an invoice tranaction created by another party, essentially
a `request for payment`.
Processes an invoice tranaction created by another party essentially a ` request for payment ` .
&self
keychain_mask
Option<&SecretKey>
slate
&Slate
args
InitTxArgs
``Ok([`slate`](../mimble_wallet_libwallet/slate/struct.Slate.html))` if successful,
containing the updated slate.
or [`libwallet::Error`](../mimble_wallet_libwallet/struct.Error.html) if an error is encountered.
` ` Ok ( [ ` slate ` ] ( .. / mimble_wallet_libwallet / slate / struct . Slate . html )) ` if successful containing the updated slate . or [ ` libwallet :: Error ` ] ( .. / mimble_wallet_libwallet / struct . Error . html ) if an error is encountered .
&self
keychain_mask
Option<&SecretKey>
slate
&Slate
args
InitTxArgs
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);
let mut api_owner = Owner::new(wallet.clone(), None, None).


let mut api_owner = Owner :: new ( wallet . clone () None None ) .
let slate = slate::blank(2);
let args = InitTxArgs {
src_acct_name: None,
amount: slate.amount,
minimum_confirmations: 2,
max_outputs: 500,
num_change_outputs: 1,
selection_strategy_is_use_all: false,
Default::default()
}.

let result = api_owner.process_invoice_tx(None, &slate, args).

if let Ok(slate) = result {
If result okay, send back to the invoicer
. .
let args = InitTxArgs { src_acct_name : None amount : slate . amount minimum_confirmations : 2 max_outputs : 500 num_change_outputs : 1 selection_strategy_is_use_all : false Default :: default () } . let result = api_owner . process_invoice_tx ( None &slate args ) . if let Ok ( slate ) = result { If result okay send back to the invoicer . .