Skip to content

Structs ​

Git Source

Structs ​

PricesAndExchangePrice ​

solidity
struct PricesAndExchangePrice {
    uint256 lastStoredPrice;
    uint256 centerPrice;
    uint256 upperRange;
    uint256 lowerRange;
    uint256 geometricMean;
    uint256 supplyToken0ExchangePrice;
    uint256 borrowToken0ExchangePrice;
    uint256 supplyToken1ExchangePrice;
    uint256 borrowToken1ExchangePrice;
}

ExchangePrices ​

solidity
struct ExchangePrices {
    uint256 supplyToken0ExchangePrice;
    uint256 borrowToken0ExchangePrice;
    uint256 supplyToken1ExchangePrice;
    uint256 borrowToken1ExchangePrice;
}

CollateralReserves ​

solidity
struct CollateralReserves {
    uint256 token0RealReserves;
    uint256 token1RealReserves;
    uint256 token0ImaginaryReserves;
    uint256 token1ImaginaryReserves;
}

CollateralReservesSwap ​

solidity
struct CollateralReservesSwap {
    uint256 tokenInRealReserves;
    uint256 tokenOutRealReserves;
    uint256 tokenInImaginaryReserves;
    uint256 tokenOutImaginaryReserves;
}

DebtReserves ​

solidity
struct DebtReserves {
    uint256 token0Debt;
    uint256 token1Debt;
    uint256 token0RealReserves;
    uint256 token1RealReserves;
    uint256 token0ImaginaryReserves;
    uint256 token1ImaginaryReserves;
}

DebtReservesSwap ​

solidity
struct DebtReservesSwap {
    uint256 tokenInDebt;
    uint256 tokenOutDebt;
    uint256 tokenInRealReserves;
    uint256 tokenOutRealReserves;
    uint256 tokenInImaginaryReserves;
    uint256 tokenOutImaginaryReserves;
}

SwapInMemory ​

solidity
struct SwapInMemory {
    address tokenIn;
    address tokenOut;
    uint256 amtInAdjusted;
    address withdrawTo;
    address borrowTo;
    uint256 price;
    uint256 fee;
    uint256 revenueCut;
    bool swap0to1;
    int256 swapRoutingAmt;
    bytes data;
}

SwapOutMemory ​

solidity
struct SwapOutMemory {
    address tokenIn;
    address tokenOut;
    uint256 amtOutAdjusted;
    address withdrawTo;
    address borrowTo;
    uint256 price;
    uint256 fee;
    uint256 revenueCut;
    bool swap0to1;
    int256 swapRoutingAmt;
    bytes data;
    uint256 msgValue;
}

DepositColMemory ​

solidity
struct DepositColMemory {
    uint256 token0AmtAdjusted;
    uint256 token1AmtAdjusted;
    uint256 token0ReservesInitial;
    uint256 token1ReservesInitial;
}

WithdrawColMemory ​

solidity
struct WithdrawColMemory {
    uint256 token0AmtAdjusted;
    uint256 token1AmtAdjusted;
    uint256 token0ReservesInitial;
    uint256 token1ReservesInitial;
    address to;
}

BorrowDebtMemory ​

solidity
struct BorrowDebtMemory {
    uint256 token0AmtAdjusted;
    uint256 token1AmtAdjusted;
    uint256 token0DebtInitial;
    uint256 token1DebtInitial;
    address to;
}

PaybackDebtMemory ​

solidity
struct PaybackDebtMemory {
    uint256 token0AmtAdjusted;
    uint256 token1AmtAdjusted;
    uint256 token0DebtInitial;
    uint256 token1DebtInitial;
}

OraclePriceMemory ​

solidity
struct OraclePriceMemory {
    uint256 lowestPrice1by0;
    uint256 highestPrice1by0;
    uint256 oracleSlot;
    uint256 oracleMap;
    uint256 oracle;
}

Oracle ​

solidity
struct Oracle {
    uint256 twap1by0;
    uint256 lowestPrice1by0;
    uint256 highestPrice1by0;
    uint256 twap0by1;
    uint256 lowestPrice0by1;
    uint256 highestPrice0by1;
}

Implementations ​

solidity
struct Implementations {
    address shift;
    address admin;
    address colOperations;
    address debtOperations;
    address perfectOperationsAndSwapOut;
}

ConstantViews ​

solidity
struct ConstantViews {
    uint256 dexId;
    address liquidity;
    address factory;
    Implementations implementations;
    address deployerContract;
    address token0;
    address token1;
    bytes32 supplyToken0Slot;
    bytes32 borrowToken0Slot;
    bytes32 supplyToken1Slot;
    bytes32 borrowToken1Slot;
    bytes32 exchangePriceToken0Slot;
    bytes32 exchangePriceToken1Slot;
    uint256 oracleMapping;
}

ConstantViews2 ​

solidity
struct ConstantViews2 {
    uint256 token0NumeratorPrecision;
    uint256 token0DenominatorPrecision;
    uint256 token1NumeratorPrecision;
    uint256 token1DenominatorPrecision;
}