seth call $POOL "getDerivativePrice(uint256)" $DERIVATIVE_INDEX
seth call $POOL "getDerivatives()" # returns all derivative information
# DerivativeConfig config;
# address terms; // derivative's Terms Of Trade contract
# Sequence sequence; // derivative sequence params (sequence consists of back-to-back vintages of same derivative)
# DerivativeParams params; // current derivative vintage params
# struct DerivativeConfig {
# address[] underlyingOracles; // addresses of oracles for underlying prices
# address[] underlyingOracleIterators; // mechanism for extracting historical price from oracle
# address collateralToken;
# address collateralSplit; // function that determines how collateral is split between long and short positions at settlement
# Mode mode; // reinvest = perpetual, temp = fixed maturity
# Side side; // "side" of derivative offered for sale - long(primary)/short(complement)/both/none
# uint256 settlementDelta; // period between derivative settlements or rollovers
# uint256 strikePosition; // determines strike level of a derivative relative to underlying price at the start
# struct DerivativeParams {
# uint256 priceReference; // reference price of underlying asset, set at start
# uint256 settlement; // derivative settlement/rollover date
# uint256 denomination; // This nominal (instrinsic) value equation holds at all times: 1 long(primary) + 1 short(complement) = denomination * price of collateral
seth call $POOL "getDerivativeVintages(uint256)" $DERIVATIVE_INDEX # returns all derivative's saved on-chain vintages
# Pair rollRate; // used for settlements/rollovers; (number of derivatives in vintage n) * rollRate = number of derivatives in vintage n+1
# Pair releaseRate; // used for settlements/rollovers; amount of collateral sent to user per unit of derivative
# uint256 priceReference;