Adds custom tranformation logic to modify the price and collateral requirement behavior of the expiring multi party contract. If a price request is made pre-expiry, the price should always be set to 2 and the collateral requirement should be set to 1. Post-expiry, the collateral requirement is left as 1 and the price is left unchanged.
transformPrice(struct FixedPoint.Unsigned oraclePrice, uint256 requestTime) → struct FixedPoint.Unsigned (public)
Returns a transformed price for pre-expiry price requests.
- oraclePrice: price from the oracle to be transformed.
- requestTime: timestamp the oraclePrice was requested at.
transformCollateralRequirement(struct FixedPoint.Unsigned oraclePrice, struct FixedPoint.Unsigned collateralRequirement) → struct FixedPoint.Unsigned (public)
Returns a transformed collateral requirement that is set to be equivalent to 2 tokens pre-expiry.
- oraclePrice: price from the oracle to transform the collateral requirement.
- collateralRequirement: financial products collateral requirement to be scaled to a flat rate.
transformPriceIdentifier(bytes32 priceIdentifier, uint256 requestTime) → bytes32 (public)
Transforms a given price identifier using the financial product libraries transformation logic.
- priceIdentifier: input price identifier defined for the financial contract.
- requestTime: timestamp the identifier is to be used at. EG the time that a price request would be sent using this identifier.
Prevents a contract from calling itself, directly or indirectly.
nonReentrant function from another
nonReentrant function is not supported. It is possible to
prevent this from happening by making the
nonReentrant function external, and making it call a
function that does the actual state modification.
Designed to prevent a view-only method from being re-entered during a call to a
nonReentrant() state-changing method.