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.