Skip to main content

DynamicLeverageRatioStrategy

DynamicLeverageRatioStrategy

Deployment on Ethereum mainnet:

https://etherscan.io/address/0x97b3F9653336Ab5388a0eF5F7cfE2BD84cf0f253

LEVERAGE_RATIO_SETTER_ROLE

bytes32 LEVERAGE_RATIO_SETTER_ROLE

LeverageRatioInfo

struct LeverageRatioInfo {
uint256 leverageRatio;
uint256 juniorTrancheLockedUntil;
}

ratios

mapping(address => struct DynamicLeverageRatioStrategy.LeverageRatioInfo) ratios

LeverageRatioUpdated

event LeverageRatioUpdated(address pool, uint256 leverageRatio, uint256 juniorTrancheLockedUntil, bytes32 version)

initialize

function initialize(address owner) public

getLeverageRatio

function getLeverageRatio(contract ITranchedPool pool) public view returns (uint256)

setLeverageRatio

function setLeverageRatio(contract ITranchedPool pool, uint256 leverageRatio, uint256 juniorTrancheLockedUntil, bytes32 version) public

Updates the leverage ratio for the specified tranched pool. The combination of the `juniorTranchedLockedUntil` param and the `version` param in the event emitted by this function are intended to enable an outside observer to verify the computation of the leverage ratio set by calls of this function.

NameTypeDescription
poolcontract ITranchedPoolThe tranched pool whose leverage ratio to update.
leverageRatiouint256The leverage ratio value to set for the tranched pool.
juniorTrancheLockedUntiluint256The `lockedUntil` timestamp, of the tranched pool's junior tranche, to which this calculation of `leverageRatio` corresponds, i.e. the value of the `lockedUntil` timestamp of the JuniorCapitalLocked event which the caller is calling this function in response to having observed. By providing this timestamp (plus an assumption that we can trust the caller to report this value accurately), the caller enables this function to enforce that a leverage ratio that is obsolete in the sense of having been calculated for an obsolete `lockedUntil` timestamp cannot be set.
versionbytes32An arbitrary identifier included in the LeverageRatioUpdated event emitted by this function, enabling the caller to describe how it calculated `leverageRatio`. Using the bytes32 type accommodates using git commit hashes (both the current SHA1 hashes, which require 20 bytes; and the future SHA256 hashes, which require 32 bytes) for this value.

onlySetterRole

modifier onlySetterRole()