-
Notifications
You must be signed in to change notification settings - Fork 100
Description
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:
- 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.
- 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)
- 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
Type
Projects
Status