KpiOptionsFinancialProductLibrary
KpiOptionsFinancialProductLibrary
#
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.
#
FunctionstransformPrice(struct FixedPoint.Unsigned oraclePrice, uint256 requestTime) → struct FixedPoint.Unsigned (public)
Returns a transformed price for pre-expiry price requests.
#
Parameters:- 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.
_preEntranceCheck() (internal)
_preEntranceSet() (internal)
_postEntranceReset() (internal)
_startReentrantGuardDisabled() (internal)
_endReentrantGuardDisabled() (internal)
transformPriceIdentifier(bytes32 priceIdentifier, uint256) → bytes32 (public)
Transforms a given price identifier using the financial product libraries transformation logic.
#
Parameters:- priceIdentifier: input price identifier defined for the financial contract.
#
ModifiersnonReentrant()
Prevents a contract from calling itself, directly or indirectly.
Calling a 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 private
function that does the actual state modification.
nonReentrantView()
Designed to prevent a view-only method from being re-entered during a call to a nonReentrant()
state-changing method.