KpiOptionsFinancialProductLibrary
KPI Options Financial Product Library
nonReentrant() modifier
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 make it call a
private function that does the actual work.
nonReentrantView() modifier
Designed to prevent a view-only method from being re-entered during a call to a nonReentrant() state-changing method.
transformPrice(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 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.
Parameters:
-
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.
Parameters:
-
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.