Variable QUERIER_ABIConst
QUERIER_ABI: readonly [
{
inputs: readonly [
{ internalType: "int256"; name: "x"; type: "int256" },
];
name: "PRBMathSD59x18__SqrtNegativeInput";
type: "error";
},
{
inputs: readonly [
{ internalType: "int256"; name: "x"; type: "int256" },
];
name: "PRBMathSD59x18__SqrtOverflow";
type: "error";
},
{
inputs: readonly [];
name: "getAllProducts";
outputs: readonly [
{
components: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{ internalType: "address"; name: "token"; type: "address" },
{
internalType: "int128";
name: "interestInflectionUtilX18";
type: "int128";
},
{
internalType: "int128";
name: "interestFloorX18";
type: "int128";
},
{
internalType: "int128";
name: "interestSmallCapX18";
type: "int128";
},
{
internalType: "int128";
name: "interestLargeCapX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Config";
name: "config";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeDepositsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeBorrowsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "totalDepositsNormalized";
type: "int128";
},
{
internalType: "int128";
name: "totalBorrowsNormalized";
type: "int128";
},
];
internalType: "struct ISpotEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
components: readonly [(...), (...)];
internalType: "struct ISpotEngine.Balance";
name: "quote";
type: "tuple";
},
{
components: readonly [(...), (...)];
internalType: "struct ISpotEngine.Balance";
name: "base";
type: "tuple";
},
];
internalType: "struct ISpotEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "sizeIncrement";
type: "int128";
},
{
internalType: "int128";
name: "priceIncrementX18";
type: "int128";
},
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotProduct[]";
name: "spotProducts";
type: "tuple[]";
},
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeFundingLongX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingShortX18";
type: "int128";
},
{ internalType: "int128"; name: "availableSettle"; type: "int128" },
{ internalType: "int128"; name: "openInterest"; type: "int128" },
];
internalType: "struct IPerpEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingPerLpX18";
type: "int128";
},
{ internalType: "int128"; name: "base"; type: "int128" },
{ internalType: "int128"; name: "quote"; type: "int128" },
];
internalType: "struct IPerpEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "sizeIncrement";
type: "int128";
},
{
internalType: "int128";
name: "priceIncrementX18";
type: "int128";
},
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpProduct[]";
name: "perpProducts";
type: "tuple[]";
},
];
internalType: "struct FQuerier.ProductInfo";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
internalType: "contract IProductEngine";
name: "engine";
type: "address";
},
];
name: "getBookInfo";
outputs: readonly [
{
components: readonly [
{ internalType: "int128"; name: "sizeIncrement"; type: "int128" },
{ internalType: "int128"; name: "priceIncrementX18"; type: "int128" },
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "getClearinghouse";
outputs: readonly [{ internalType: "address"; name: ""; type: "address" }];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
{ internalType: "uint32"; name: "productId"; type: "uint32" },
];
name: "getPerpBalance";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{ internalType: "int128"; name: "vQuoteBalance"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpBalance";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
{ internalType: "uint32[]"; name: "productIds"; type: "uint32[]" },
];
name: "getPerpBalances";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{ internalType: "int128"; name: "vQuoteBalance"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpBalance[]";
name: "perpBalances";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
];
name: "getPerpProduct";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeFundingLongX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingShortX18";
type: "int128";
},
{ internalType: "int128"; name: "availableSettle"; type: "int128" },
{ internalType: "int128"; name: "openInterest"; type: "int128" },
];
internalType: "struct IPerpEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingPerLpX18";
type: "int128";
},
{ internalType: "int128"; name: "base"; type: "int128" },
{ internalType: "int128"; name: "quote"; type: "int128" },
];
internalType: "struct IPerpEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "sizeIncrement"; type: "int128" },
{ internalType: "int128"; name: "priceIncrementX18"; type: "int128" },
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpProduct";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "uint32[]"; name: "productIds"; type: "uint32[]" },
];
name: "getPerpProducts";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeFundingLongX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingShortX18";
type: "int128";
},
{ internalType: "int128"; name: "availableSettle"; type: "int128" },
{ internalType: "int128"; name: "openInterest"; type: "int128" },
];
internalType: "struct IPerpEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingPerLpX18";
type: "int128";
},
{ internalType: "int128"; name: "base"; type: "int128" },
{ internalType: "int128"; name: "quote"; type: "int128" },
];
internalType: "struct IPerpEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "sizeIncrement"; type: "int128" },
{ internalType: "int128"; name: "priceIncrementX18"; type: "int128" },
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpProduct[]";
name: "perpProducts";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
{ internalType: "uint32"; name: "productId"; type: "uint32" },
];
name: "getSpotBalance";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
];
internalType: "struct ISpotEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotBalance";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
{ internalType: "uint32[]"; name: "productIds"; type: "uint32[]" },
];
name: "getSpotBalances";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
];
internalType: "struct ISpotEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotBalance[]";
name: "spotBalances";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
];
name: "getSpotProduct";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{ internalType: "address"; name: "token"; type: "address" },
{
internalType: "int128";
name: "interestInflectionUtilX18";
type: "int128";
},
{ internalType: "int128"; name: "interestFloorX18"; type: "int128" },
{
internalType: "int128";
name: "interestSmallCapX18";
type: "int128";
},
{
internalType: "int128";
name: "interestLargeCapX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Config";
name: "config";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeDepositsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeBorrowsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "totalDepositsNormalized";
type: "int128";
},
{
internalType: "int128";
name: "totalBorrowsNormalized";
type: "int128";
},
];
internalType: "struct ISpotEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "quote";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "base";
type: "tuple";
},
];
internalType: "struct ISpotEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "sizeIncrement"; type: "int128" },
{ internalType: "int128"; name: "priceIncrementX18"; type: "int128" },
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotProduct";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "uint32[]"; name: "productIds"; type: "uint32[]" },
];
name: "getSpotProducts";
outputs: readonly [
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{ internalType: "address"; name: "token"; type: "address" },
{
internalType: "int128";
name: "interestInflectionUtilX18";
type: "int128";
},
{ internalType: "int128"; name: "interestFloorX18"; type: "int128" },
{
internalType: "int128";
name: "interestSmallCapX18";
type: "int128";
},
{
internalType: "int128";
name: "interestLargeCapX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Config";
name: "config";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeDepositsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeBorrowsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "totalDepositsNormalized";
type: "int128";
},
{
internalType: "int128";
name: "totalBorrowsNormalized";
type: "int128";
},
];
internalType: "struct ISpotEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "quote";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "base";
type: "tuple";
},
];
internalType: "struct ISpotEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "sizeIncrement"; type: "int128" },
{ internalType: "int128"; name: "priceIncrementX18"; type: "int128" },
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotProduct[]";
name: "spotProducts";
type: "tuple[]";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
];
name: "getSubaccountInfo";
outputs: readonly [
{
components: readonly [
{ internalType: "bytes32"; name: "subaccount"; type: "bytes32" },
{ internalType: "bool"; name: "exists"; type: "bool" },
{
components: readonly [
{ internalType: "int128"; name: "assets"; type: "int128" },
{ internalType: "int128"; name: "liabilities"; type: "int128" },
{ internalType: "int128"; name: "health"; type: "int128" },
];
internalType: "struct FQuerier.HealthInfo[]";
name: "healths";
type: "tuple[]";
},
{
internalType: "int128[][]";
name: "healthContributions";
type: "int128[][]";
},
{ internalType: "uint32"; name: "spotCount"; type: "uint32" },
{ internalType: "uint32"; name: "perpCount"; type: "uint32" },
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
];
internalType: "struct ISpotEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeMultiplierX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotBalance[]";
name: "spotBalances";
type: "tuple[]";
},
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.LpBalance";
name: "lpBalance";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "amount"; type: "int128" },
{ internalType: "int128"; name: "vQuoteBalance"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
];
internalType: "struct IPerpEngine.Balance";
name: "balance";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpBalance[]";
name: "perpBalances";
type: "tuple[]";
},
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{ internalType: "address"; name: "token"; type: "address" },
{
internalType: "int128";
name: "interestInflectionUtilX18";
type: "int128";
},
{
internalType: "int128";
name: "interestFloorX18";
type: "int128";
},
{
internalType: "int128";
name: "interestSmallCapX18";
type: "int128";
},
{
internalType: "int128";
name: "interestLargeCapX18";
type: "int128";
},
];
internalType: "struct ISpotEngine.Config";
name: "config";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeDepositsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeBorrowsMultiplierX18";
type: "int128";
},
{
internalType: "int128";
name: "totalDepositsNormalized";
type: "int128";
},
{
internalType: "int128";
name: "totalBorrowsNormalized";
type: "int128";
},
];
internalType: "struct ISpotEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
components: readonly [(...), (...)];
internalType: "struct ISpotEngine.Balance";
name: "quote";
type: "tuple";
},
{
components: readonly [(...), (...)];
internalType: "struct ISpotEngine.Balance";
name: "base";
type: "tuple";
},
];
internalType: "struct ISpotEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "sizeIncrement";
type: "int128";
},
{
internalType: "int128";
name: "priceIncrementX18";
type: "int128";
},
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.SpotProduct[]";
name: "spotProducts";
type: "tuple[]";
},
{
components: readonly [
{ internalType: "uint32"; name: "productId"; type: "uint32" },
{ internalType: "int128"; name: "oraclePriceX18"; type: "int128" },
{
components: readonly [
{
internalType: "int128";
name: "longWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightInitialX18";
type: "int128";
},
{
internalType: "int128";
name: "longWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "shortWeightMaintenanceX18";
type: "int128";
},
{
internalType: "int128";
name: "largePositionPenaltyX18";
type: "int128";
},
];
internalType: "struct RiskHelper.Risk";
name: "risk";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "cumulativeFundingLongX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingShortX18";
type: "int128";
},
{ internalType: "int128"; name: "availableSettle"; type: "int128" },
{ internalType: "int128"; name: "openInterest"; type: "int128" },
];
internalType: "struct IPerpEngine.State";
name: "state";
type: "tuple";
},
{
components: readonly [
{ internalType: "int128"; name: "supply"; type: "int128" },
{
internalType: "int128";
name: "lastCumulativeFundingX18";
type: "int128";
},
{
internalType: "int128";
name: "cumulativeFundingPerLpX18";
type: "int128";
},
{ internalType: "int128"; name: "base"; type: "int128" },
{ internalType: "int128"; name: "quote"; type: "int128" },
];
internalType: "struct IPerpEngine.LpState";
name: "lpState";
type: "tuple";
},
{
components: readonly [
{
internalType: "int128";
name: "sizeIncrement";
type: "int128";
},
{
internalType: "int128";
name: "priceIncrementX18";
type: "int128";
},
{ internalType: "int128"; name: "minSize"; type: "int128" },
{ internalType: "int128"; name: "collectedFees"; type: "int128" },
{ internalType: "int128"; name: "lpSpreadX18"; type: "int128" },
];
internalType: "struct FQuerier.BookInfo";
name: "bookInfo";
type: "tuple";
},
];
internalType: "struct FQuerier.PerpProduct[]";
name: "perpProducts";
type: "tuple[]";
},
];
internalType: "struct FQuerier.SubaccountInfo";
name: "";
type: "tuple";
},
];
stateMutability: "view";
type: "function";
},
{
inputs: readonly [];
name: "getVersion";
outputs: readonly [{ internalType: "uint64"; name: ""; type: "uint64" }];
stateMutability: "pure";
type: "function";
},
{
inputs: readonly [
{ internalType: "address"; name: "_clearinghouse"; type: "address" },
];
name: "initialize";
outputs: readonly [];
stateMutability: "nonpayable";
type: "function";
},
] = ...