CashIssueFlow
Keywords: net.corda.finance.flows.CashIssueFlow class
Date: 2023-09-18

net.corda.finance.flows

## Class CashIssueFlow

- net.corda.core.flows.FlowLogic<T>
- - AbstractCashFlow
  - - net.corda.finance.flows.CashIssueFlow

-     @StartableByRPC
      public class CashIssueFlow
      extends AbstractCashFlow

  Initiates a flow that self-issues cash (which should then be sent to recipient(s) using a payment transaction).

  We issue cash only to ourselves so that all KYC/AML checks on payments are enforced consistently, rather than risk checks for issuance and payments differing. Outside of test scenarios it would be extremely unusual to issue cash and immediately transfer it, so impact of this limitation is considered minimal.

- - ### Constructor Detail

    - #### CashIssueFlow

          public CashIssueFlow(@NotNull
                               Amount<java.util.Currency> amount,
                               @NotNull
                               OpaqueBytes issuerBankPartyRef,
                               @NotNull
                               Party notary,
                               @NotNull
                               ProgressTracker progressTracker)

      Initiates a flow that self-issues cash (which should then be sent to recipient(s) using a payment transaction).

      We issue cash only to ourselves so that all KYC/AML checks on payments are enforced consistently, rather than risk checks for issuance and payments differing. Outside of test scenarios it would be extremely unusual to issue cash and immediately transfer it, so impact of this limitation is considered minimal.

      Parameters:
        `amount` - the amount of currency to issue.
        `issuerBankPartyRef` - a reference to put on the issued currency.
        `notary` - the notary to set on the output states.

    - #### CashIssueFlow

          public CashIssueFlow(@NotNull
                               Amount<java.util.Currency> amount,
                               @NotNull
                               OpaqueBytes issuerBankPartyRef,
                               @NotNull
                               Party notary)

    - #### CashIssueFlow

          public CashIssueFlow(@NotNull
                               net.corda.finance.flows.CashIssueFlow.IssueRequest request)

  - ### Method Detail

    - #### call

          @Suspendable
           @NotNull
          public net.corda.finance.flows.AbstractCashFlow.Result call()

      This is where you fill out your business logic.