corda / net.corda.finance.contracts

Package net.corda.finance.contracts

Types

AccrualAdjustment

Simple enum for returning accurals adjusted or unadjusted. We don't actually do anything with this yet though, so it's ignored for now.

enum class AccrualAdjustment

BilateralNettableState

Interface for state objects that support being netted with other state objects.

interface BilateralNettableState<N : BilateralNettableState<N>>

BusinessCalendar

A business calendar performs date calculations that take into account national holidays and weekends. This is a typical feature of financial contracts, in which a business may not want a payment event to fall on a day when no staff are around to handle problems.

open class BusinessCalendar

CommercialPaper

class CommercialPaper : Contract

Commodity

Class representing a commodity, as an equivalent to the Currency class. This exists purely to enable the CommodityContract contract, and is likely to change in future.

data class Commodity : TokenizableAssetInfo

DateRollConvention

This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day. Depending on the accounting requirement, we can move forward until we get to a business day, or backwards. There are some additional rules which are explained in the individual cases below.

enum class DateRollConvention

DateRollDirection

This is utilised in the DateRollConvention class to determine which way we should initially step when finding a business day.

enum class DateRollDirection

DayCountBasisDay

This forms the day part of the "Day Count Basis" used for interest calculation. Note that the first character cannot be a number (enum naming constraints), so we drop that in the toString lest some people get confused.

enum class DayCountBasisDay

DayCountBasisYear

This forms the year part of the "Day Count Basis" used for interest calculation.

enum class DayCountBasisYear

DealState

Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general flows that manipulate many agreement types.

interface DealState : LinearState

Expression

Represents a textual expression of e.g. a formula

data class Expression

Fix

A Fix represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.

data class Fix : CommandData

FixableDealState

Interface adding fixing specific methods.

interface FixableDealState : DealState

FixOf

A FixOf identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)

data class FixOf

Frequency

Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).

enum class Frequency

MultilateralNettableState

Interface for state objects that support being netted with other state objects.

interface MultilateralNettableState<out T : Any>

NetCommand

A common netting command for contracts whose states can be netted.

interface NetCommand : CommandData

NettableState

interface NettableState<N : BilateralNettableState<N>, out T : Any> : BilateralNettableState<N>, MultilateralNettableState<T>

NetType

Enum for the types of netting that can be applied to state objects. Exact behaviour for each type of netting is left to the contract to determine.

enum class NetType

PaymentRule

Whether the payment should be made before the due date, or after it.

enum class PaymentRule

Tenor

Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

data class Tenor

Properties

CP_PROGRAM_ID

This is an ultra-trivial implementation of commercial paper, which is essentially a simpler version of a corporate bond. It can be seen as a company-specific currency. A company issues CP with a particular face value, say $100, but sells it for less, say $90. The paper can be redeemed for cash at a given date in the future. Thus this example would have a 10% interest rate with a single repayment. Commercial paper is often rolled over (the maturity date is adjusted as if the paper was redeemed and immediately repurchased, but without having to front the cash).

const val CP_PROGRAM_ID: String