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, struct FixedPoint.Unsigned) → struct FixedPoint.Unsigned (public)
Returns a transformed collateral requirement that is set to be equivalent to 2 tokens pre-expiry.
transformPriceIdentifier(bytes32 priceIdentifier, uint256) → bytes32 (public)
Transforms a given price identifier using the financial product libraries transformation logic.
- priceIdentifier: input price identifier defined for the financial contract.
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.