diff --git a/rosetta-source/src/main/rosetta/product-asset-type.rosetta b/rosetta-source/src/main/rosetta/product-asset-type.rosetta index 519a144e7f..efc447d55d 100644 --- a/rosetta-source/src/main/rosetta/product-asset-type.rosetta +++ b/rosetta-source/src/main/rosetta/product-asset-type.rosetta @@ -26,8 +26,8 @@ type CommodityPayout extends PayoutBase: <"Payout based on the averaged price of schedule CalculationSchedule (0..1) <"Allows the full representation of a payout by defining a set of schedule periods. It supports standard schedule customization by expressing all the dates, quantities, and pricing data in a non-parametric way."> calculationPeriodDates CalculationPeriodDates (0..1) <"Defines the calculation period dates schedule."> paymentDates PaymentDates (1..1) <"Defines the payment date schedule, as defined by the parameters that are needed to specify it, either in a parametric way or by reference to another schedule of dates (e.g. the valuation dates)."> - underlier Commodity (1..1) <"Identifies the underlying product that is referenced for pricing of the applicable leg in a swap. Referenced in the '2018 ISDA CDM Equity Confirmation for Security Equity Swap' as Security."> - [metadata address "pointsTo"=PriceQuantity->observable->Asset->Commodity] + underlier Underlier (1..1) <"Identifies the underlying product that is referenced for pricing of the applicable leg in a swap. Referenced in the '2018 ISDA CDM Equity Confirmation for Security Equity Swap' as Security."> + // Commo[metadata address "pointsTo"=PriceQuantity->observable->Asset->Commodity] fxFeature FxFeature (0..1) <"Defines quanto or composite FX features that are included in the swap leg."> delivery AssetDeliveryInformation (0..1) <"Contains the information relative to the delivery of the asset."> @@ -37,6 +37,9 @@ type CommodityPayout extends PayoutBase: <"Payout based on the averaged price of condition CalculationPeriod: <"The calculation periods are either specified parametrically via CalculationPeriodDates or non-parametrically via SchedulePeriod."> required choice schedule, calculationPeriodDates + condition CommodityUnderlier: <"The underlier should be a commodity."> + underlier -> Observable -> Asset -> Commodity exists or underlier -> Product -> TransferableProduct -> Commodity exists + condition DeliveryCapacity: <"Checks that only one of the representations of delivery capacity is present simultaneously."> if delivery -> deliveryCapacity exists then schedule -> schedulePeriod -> deliveryPeriod -> deliveryCapacity is absent