Skip to content

Revisit use of CashPrice and its underlying components in Cashflow and Transfer #4195

@lolabeis

Description

@lolabeis

Background

While investigating the introduction of more granular price types within #3871, the use of CashPrice and of its underlying components came into question.

In the design proposed to address the above issue, the cashPrice attribute is being removed from Price (instead, the CashPrice components relevant for Price, and only those, are moved into Price directly). As a result, CashPrice and its underlying components will now only be used in two types: Cashflow and Transfer. That use and the consistency between those components further appeared questionable, but it was decided to address this separately and not extend the scope of #3871 unduly.

The present issue proposes to investigate the problems raised in relation to CashPrice, Cashflow and Transfer.

Proposal

The proposal comprises several changes:

  1. CashPrice is meant to represent attributes of a cash payment arising from an unscheduled ("priced") event, whereas Cashflow is used to represent a cashflow arising from a scheduled (payout-generated) event. Therefore, it appears that cashPrice should not be an attribute of Cashflow.
  2. If cashPrice is no longer an attribute of Cashflow, then CashPrice becomes redundant as a type (it isn't used in Transfer, only its underlying components are)
  3. The resulting further commonality between Cashflow and Transfer means that more could be moved to their common ancestor, AssetFlowBase

[to be completed as design evolves]

Compatibility

Backward-incompatible: changing / removing types and attributes.

Release

CDM 7

Additional Context

For CRWG consideration

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Pipeline

Relationships

None yet

Development

No branches or pull requests

Issue actions