Skip to main content

propose_standard_transfer_to_address

Function propose_standard_transfer_to_address 

Source
pub fn propose_standard_transfer_to_address<DbT, ParamsT, CommitmentTreeErrT>(
    wallet_db: &mut DbT,
    params: &ParamsT,
    fee_rule: StandardFeeRule,
    spend_from_account: <DbT as InputSource>::AccountId,
    confirmations_policy: ConfirmationsPolicy,
    to: &Address,
    amount: Zatoshis,
    memo: Option<MemoBytes>,
    change_memo: Option<MemoBytes>,
    fallback_change_pool: ShieldedPool,
    lock_inputs: Option<LockRequest>,
    proposed_version: Option<TxVersion>,
) -> Result<Proposal<StandardFeeRule, DbT::NoteRef>, ProposeTransferErrT<DbT, CommitmentTreeErrT, GreedyInputSelector<DbT>, SingleOutputChangeStrategy<DbT>>>
where ParamsT: Parameters + Clone, DbT: InputSource + WalletWrite + WalletRead<Error = <DbT as InputSource>::Error, AccountId = <DbT as InputSource>::AccountId>, DbT::NoteRef: Copy + Eq + Ord,
Expand description

Proposes making a payment to the specified address from the given account.

Returns the proposal, which may then be executed using create_proposed_transactions. Depending upon the recipient address, more than one transaction may be constructed in the execution of the returned proposal.

This method uses the basic GreedyInputSelector for input selection.

Parameters:

  • wallet_db: A read/write reference to the wallet database.
  • params: Consensus parameters.
  • fee_rule: The fee rule to use in creating the transaction.
  • spend_from_account: The unified account that controls the funds that will be spent in the resulting transaction. This procedure will return an error if the account ID does not correspond to an account known to the wallet.
  • confirmations_policy: The minimum number of confirmations that a previously received note must have in the blockchain in order to be considered for being spent. A value of 10 confirmations is recommended and 0-conf transactions are not supported.
  • to: The address to which amount will be paid.
  • amount: The amount to send.
  • memo: A memo to be included in the output to the recipient.
  • change_memo: A memo to be included in any change output that is created.
  • fallback_change_pool: The shielded pool to which change should be sent if automatic change pool determination fails.
  • lock_inputs: When Some(request), the inputs selected by the proposal are locked on behalf of the request’s owner until target_height + request.for_blocks() to prevent concurrent proposals from selecting them; when None, no locking is performed. See propose_transfer for the full semantics and concurrency behavior.