pub fn complete_tx<T: ?Sized, C, K>(
	wallet: &mut T,
	slate: &mut Slate,
	context: &Context,
) -> Result<(), Error>
where
	T: WalletBackend<C, K>,
	C: NodeClient,
	K: Keychain,
{
	let _ = slate.fill_round_2(wallet.keychain(), &context.sec_key, &context.sec_nonce, 0)?;
	// Final transaction can be built by anyone at this stage
	let res = slate.finalize(wallet.keychain());
	if let Err(e) = res {
		Err(ErrorKind::LibTX(e.kind()))?
	}
	Ok(())
}
/// Complete a transaction as the sender
Complete a transaction as the sender
Complete a transaction as the sender
pub fn complete_tx<T: ?Sized, C, K>(
	wallet: &mut T,
	slate: &mut Slate,
	context: &Context,
) -> Result<(), Error>
where
	T: WalletBackend<C, K>,
	C: NodeClient,
	K: Keychain,
{
	let _ = slate.fill_round_2(wallet.keychain(), &context.sec_key, &context.sec_nonce, 0)?;
	// Final transaction can be built by anyone at this stage
	let res = slate.finalize(wallet.keychain());
	if let Err(e) = res {
		Err(ErrorKind::LibTX(e.kind()))?
	}
	Ok(())
}
pub fn complete_tx < T : ? Sized , C , K > ( wallet : & mut T , slate : & mut Slate , context : & Context , ) -> Result < ( ) , Error > where T : WalletBackend < C , K > , C : NodeClient , K : Keychain , { let _ = slate . fill_round_2 ( wallet . keychain ( ) , & context . sec_key , & context . sec_nonce , 0 ) ? ; // Final transaction can be built by anyone at this stage let res = slate . finalize ( wallet . keychain ( ) ) ; if let Err ( e ) = res { Err ( ErrorKind :: LibTX ( e . kind ( ) ) ) ? } Ok ( ( ) ) }
Complete a transaction as the sender
Complete a transaction as the sender
wallet
&mut T
slate
&mut Slate
context
&Context