struct PriceImpactStorage {
struct IPriceImpact.OiWindowsSettings oiWindowsSettings;
mapping(uint48 => mapping(uint256 => mapping(uint256 => struct IPriceImpact.PairOi))) windows;
mapping(uint256 => struct IPriceImpact.PairDepth) pairDepths;
mapping(address => mapping(uint32 => struct IPriceImpact.TradePriceImpactInfo)) tradePriceImpactInfos;
mapping(uint256 => struct IPriceImpact.PairFactors) pairFactors;
uint256[45] __gap;
}
struct OiWindowsSettings {
uint48 startTs;
uint48 windowsDuration;
uint48 windowsCount;
}
struct PairOi {
uint128 oiLongUsd;
uint128 oiShortUsd;
}
struct OiWindowUpdate {
address trader;
uint32 index;
uint48 windowsDuration;
uint256 pairIndex;
uint256 windowId;
bool long;
bool open;
uint128 openInterestUsd;
}
struct PairDepth {
uint128 onePercentDepthAboveUsd;
uint128 onePercentDepthBelowUsd;
}
struct PairFactors {
uint40 protectionCloseFactor;
uint32 protectionCloseFactorBlocks;
uint40 cumulativeFactor;
uint144 __placeholder;
}
struct TradePriceImpactInfo {
uint128 lastWindowOiUsd;
uint128 __placeholder;
}