corda / net.corda.finance.contracts / CommercialPaper

CommercialPaper

class CommercialPaper : Contract

Types

Commands

interface Commands : CommandData

State

data class State : OwnableState, QueryableState, ICommercialPaperState

Constructors

<init>

CommercialPaper()

Functions

generateIssue

fun generateIssue(issuance: PartyAndReference, faceValue: Amount<Issued<Currency>>, maturityDate: Instant, notary: Party): TransactionBuilder

Returns a transaction that issues commercial paper, owned by the issuing parties key. Does not update an existing transaction because you aren't able to issue multiple pieces of CP in a single transaction at the moment: this restriction is not fundamental and may be lifted later.

generateMove

fun generateMove(tx: TransactionBuilder, paper: StateAndRef<State>, newOwner: AbstractParty): Unit

Updates the given partial transaction with an input/output/command to reassign ownership of the paper.

generateRedeem

fun generateRedeem(tx: TransactionBuilder, paper: StateAndRef<State>, services: ServiceHub, ourIdentity: PartyAndCertificate): Unit

Intended to be called by the issuer of some commercial paper, when an owner has notified us that they wish to redeem the paper. We must therefore send enough money to the key that owns the paper to satisfy the face value, and then ensure the paper is removed from the ledger.

verify

fun verify(tx: LedgerTransaction): Unit

Takes an object that represents a state transition, and ensures the inputs/outputs/commands make sense. Must throw an exception if there's a problem that should prevent state transition. Takes a single object rather than an argument so that additional data can be added without breaking binary compatibility with existing contract code.

Companion Object Properties

CP_PROGRAM_ID

const val CP_PROGRAM_ID: ContractClassName

Extension Functions

contextLogger

fun Any.contextLogger(): Logger

When called from a companion object, returns the logger for the enclosing class.