corda / net.corda.finance.flows / CashIssueFlow

CashIssueFlow

@StartableByRPC class CashIssueFlow : AbstractCashFlow<Result>

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.

Types

IssueRequest

class IssueRequest : AbstractRequest

Constructors

<init>

CashIssueFlow(amount: Amount<Currency>, issuerBankPartyRef: OpaqueBytes, notary: Party)
CashIssueFlow(request: IssueRequest)

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

CashIssueFlow(amount: Amount<Currency>, issuerBankPartyRef: OpaqueBytes, notary: Party, progressTracker: ProgressTracker)

Functions

call

This is where you fill out your business logic.

fun call(): Result

Extension Functions

receiveAll

Suspends until a message has been received for each session in the specified sessions.

fun FlowLogic<*>.receiveAll(session: Pair<FlowSession, Class<out Any>>, vararg sessions: Pair<FlowSession, Class<out Any>>): Map<FlowSession, UntrustworthyData<Any>>
fun <R : Any> FlowLogic<*>.receiveAll(receiveType: Class<R>, session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>
fun <R : Any> FlowLogic<*>.receiveAll(session: FlowSession, vararg sessions: FlowSession): List<UntrustworthyData<R>>