declare const NADO_ABIS: { readonly querier: readonly [{ readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "x"; readonly type: "int256"; }]; readonly name: "PRBMathSD59x18__SqrtNegativeInput"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "int256"; readonly name: "x"; readonly type: "int256"; }]; readonly name: "PRBMathSD59x18__SqrtOverflow"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "getAllProducts"; readonly outputs: readonly [{ readonly components: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: "config"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotProduct[]"; readonly name: "spotProducts"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpProduct[]"; readonly name: "perpProducts"; readonly type: "tuple[]"; }]; readonly internalType: "struct FQuerier.ProductInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "contract IProductEngine"; readonly name: "engine"; readonly type: "address"; }]; readonly name: "getBookInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getClearinghouse"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getPerpBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpBalance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint32[]"; readonly name: "productIds"; readonly type: "uint32[]"; }]; readonly name: "getPerpBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpBalance[]"; readonly name: "perpBalances"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getPerpProduct"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpProduct"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: "productIds"; readonly type: "uint32[]"; }]; readonly name: "getPerpProducts"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpProduct[]"; readonly name: "perpProducts"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getSpotBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotBalance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint32[]"; readonly name: "productIds"; readonly type: "uint32[]"; }]; readonly name: "getSpotBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotBalance[]"; readonly name: "spotBalances"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getSpotProduct"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: "config"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotProduct"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: "productIds"; readonly type: "uint32[]"; }]; readonly name: "getSpotProducts"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: "config"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotProduct[]"; readonly name: "spotProducts"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getSubaccountInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "exists"; readonly type: "bool"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "assets"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "liabilities"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "health"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.HealthInfo[]"; readonly name: "healths"; readonly type: "tuple[]"; }, { readonly internalType: "int128[][]"; readonly name: "healthContributions"; readonly type: "int128[][]"; }, { readonly internalType: "uint32"; readonly name: "spotCount"; readonly type: "uint32"; }, { readonly internalType: "uint32"; readonly name: "perpCount"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotBalance[]"; readonly name: "spotBalances"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpBalance[]"; readonly name: "perpBalances"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: "config"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.SpotProduct[]"; readonly name: "spotProducts"; readonly type: "tuple[]"; }, { readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "oraclePriceX18"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "longWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightInitialX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "longWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "shortWeightMaintenanceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "largePositionPenaltyX18"; readonly type: "int128"; }]; readonly internalType: "struct RiskHelper.Risk"; readonly name: "risk"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceIncrementX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "minSize"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "collectedFees"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly internalType: "struct FQuerier.BookInfo"; readonly name: "bookInfo"; readonly type: "tuple"; }]; readonly internalType: "struct FQuerier.PerpProduct[]"; readonly name: "perpProducts"; readonly type: "tuple[]"; }]; readonly internalType: "struct FQuerier.SubaccountInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getVersion"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouse"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly endpoint: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly []; readonly name: "SubmitTransactions"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "clearinghouse"; readonly outputs: readonly [{ readonly internalType: "contract IClearinghouse"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes12"; readonly name: "subaccountName"; readonly type: "bytes12"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly name: "depositCollateral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "string"; readonly name: "referralCode"; readonly type: "string"; }]; readonly name: "depositCollateralWithReferral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes12"; readonly name: "subaccountName"; readonly type: "bytes12"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "string"; readonly name: "referralCode"; readonly type: "string"; }]; readonly name: "depositCollateralWithReferral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "count"; readonly type: "uint32"; }]; readonly name: "executeSlowModeTransactions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getBook"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "getNonce"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getPriceX18"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: "priceX18"; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "healthGroup"; readonly type: "uint32"; }]; readonly name: "getPricesX18"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "spotPriceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "perpPriceX18"; readonly type: "int128"; }]; readonly internalType: "struct IEndpoint.Prices"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getSequencer"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getSubaccountId"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getTime"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getVersion"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sanctions"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_sequencer"; readonly type: "address"; }, { readonly internalType: "contract IClearinghouse"; readonly name: "_clearinghouse"; readonly type: "address"; }, { readonly internalType: "uint64"; readonly name: "slowModeTimeout"; readonly type: "uint64"; }, { readonly internalType: "uint128"; readonly name: "_time"; readonly type: "uint128"; }, { readonly internalType: "int128[]"; readonly name: "_prices"; readonly type: "int128[]"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "nSubmissions"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "transaction"; readonly type: "bytes"; }]; readonly name: "processSlowModeTransaction"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "referralCodes"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "wallet"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "transferable"; readonly type: "bool"; }]; readonly name: "registerTransferableWallet"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "requireSubaccount"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; }]; readonly name: "sequencerFee"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "sequencerFees"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "address"; readonly name: "book"; readonly type: "address"; }]; readonly name: "setBook"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_sequencer"; readonly type: "address"; }]; readonly name: "setSequencer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "slowModeConfig"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "timeout"; readonly type: "uint64"; }, { readonly internalType: "uint64"; readonly name: "txCount"; readonly type: "uint64"; }, { readonly internalType: "uint64"; readonly name: "txUpTo"; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly name: "slowModeTxs"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: "executableAt"; readonly type: "uint64"; }, { readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "tx"; readonly type: "bytes"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "transaction"; readonly type: "bytes"; }]; readonly name: "submitSlowModeTransaction"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "transactions"; readonly type: "bytes[]"; }]; readonly name: "submitTransactions"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: "idx"; readonly type: "uint64"; }, { readonly internalType: "bytes[]"; readonly name: "transactions"; readonly type: "bytes[]"; }]; readonly name: "submitTransactionsChecked"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: "idx"; readonly type: "uint64"; }, { readonly internalType: "bytes[]"; readonly name: "transactions"; readonly type: "bytes[]"; }, { readonly internalType: "uint256"; readonly name: "gasLimit"; readonly type: "uint256"; }]; readonly name: "submitTransactionsCheckedWithGasLimit"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly clearinghouse: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "endpoint"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "quote"; readonly type: "address"; }]; readonly name: "ClearinghouseInitialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "liquidatorSubaccount"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "liquidateeSubaccount"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isEncodedSpread"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly indexed: false; readonly internalType: "int128"; readonly name: "amountQuote"; readonly type: "int128"; }]; readonly name: "Liquidation"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "ModifyCollateral"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "engine"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "offchainExchange"; readonly type: "address"; }, { readonly internalType: "enum IProductEngine.EngineType"; readonly name: "engineType"; readonly type: "uint8"; }]; readonly name: "addEngine"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }]; readonly internalType: "struct IEndpoint.BurnLp"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "burnLp"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "bytes32"; readonly name: "recipient"; readonly type: "bytes32"; }]; readonly internalType: "struct IEndpoint.BurnLpAndTransfer"; readonly name: "txn"; readonly type: "tuple"; }]; readonly name: "burnLpAndTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly internalType: "struct IEndpoint.ClaimSequencerFees"; readonly name: "tx"; readonly type: "tuple"; }, { readonly internalType: "int128[]"; readonly name: "fees"; readonly type: "int128[]"; }]; readonly name: "claimSequencerFees"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly internalType: "struct IEndpoint.DepositCollateral"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "depositCollateral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly internalType: "struct IEndpoint.DepositInsurance"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "depositInsurance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getClearinghouseLiq"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getEndpoint"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "endpoint"; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getEngineByProduct"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "enum IProductEngine.EngineType"; readonly name: "engineType"; readonly type: "uint8"; }]; readonly name: "getEngineByType"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "enum IProductEngine.HealthType"; readonly name: "healthType"; readonly type: "uint8"; }]; readonly name: "getHealth"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getInsurance"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getQuote"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getSpreads"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getVersion"; readonly outputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "liquidatee"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bool"; readonly name: "isEncodedSpread"; readonly type: "bool"; }, { readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }]; readonly internalType: "struct IEndpoint.LiquidateSubaccount"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "liquidateSubaccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amountBase"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "quoteAmountLow"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "quoteAmountHigh"; readonly type: "uint128"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }]; readonly internalType: "struct IEndpoint.MintLp"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "mintLp"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "registerProduct"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32[]"; readonly name: "subaccounts"; readonly type: "bytes32[]"; }, { readonly internalType: "uint256[]"; readonly name: "productIds"; readonly type: "uint256[]"; }]; readonly internalType: "struct IEndpoint.SettlePnl"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "settlePnl"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "recipient"; readonly type: "bytes32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "uint64"; readonly name: "nonce"; readonly type: "uint64"; }]; readonly internalType: "struct IEndpoint.TransferQuote"; readonly name: "tx"; readonly type: "tuple"; }]; readonly name: "transferQuote"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouseLiq"; readonly type: "address"; }]; readonly name: "upgradeClearinghouseLiq"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "sender"; readonly type: "bytes32"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "address"; readonly name: "sendTo"; readonly type: "address"; }]; readonly name: "withdrawCollateral"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly spotEngine: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "AddProduct"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteDelta"; readonly type: "int128"; }]; readonly internalType: "struct IProductEngine.ProductDelta[]"; readonly name: "deltas"; readonly type: "tuple[]"; }]; readonly name: "applyDeltas"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountLp"; readonly type: "int128"; }]; readonly name: "burnLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "liquidatee"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "liquidator"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "feeCalculator"; readonly type: "address"; }]; readonly name: "decomposeLps"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalanceAmount"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getClearinghouse"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getConfig"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "int128"; readonly name: "interestInflectionUtilX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestFloorX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestSmallCapX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "interestLargeCapX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Config"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getEngineType"; readonly outputs: readonly [{ readonly internalType: "enum IProductEngine.EngineType"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getLpState"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getOrderbook"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getProductIds"; readonly outputs: readonly [{ readonly internalType: "uint32[]"; readonly name: ""; readonly type: "uint32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStateAndBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStatesAndBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "quote"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: "base"; readonly type: "tuple"; }]; readonly internalType: "struct ISpotEngine.LpState"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeDepositsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeBorrowsMultiplierX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalDepositsNormalized"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "totalBorrowsNormalized"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeMultiplierX18"; readonly type: "int128"; }]; readonly internalType: "struct ISpotEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getWithdrawFee"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "hasBalance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouse"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_quote"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_endpoint"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_fees"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int128[]"; readonly name: "totalDeposits"; readonly type: "int128[]"; }, { readonly internalType: "int128[]"; readonly name: "totalBorrows"; readonly type: "int128[]"; }]; readonly name: "manualAssert"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountBase"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountLow"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountHigh"; readonly type: "int128"; }]; readonly name: "mintLp"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "socializeSubaccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "baseDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteDelta"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "txn"; readonly type: "bytes"; }]; readonly name: "updateProduct"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "dt"; readonly type: "uint128"; }]; readonly name: "updateStates"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly perpEngine: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "AddProduct"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteDelta"; readonly type: "int128"; }]; readonly internalType: "struct IProductEngine.ProductDelta[]"; readonly name: "deltas"; readonly type: "tuple[]"; }]; readonly name: "applyDeltas"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountLp"; readonly type: "int128"; }]; readonly name: "burnLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "liquidatee"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "liquidator"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "feeCalculator"; readonly type: "address"; }]; readonly name: "decomposeLps"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalanceAmount"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getClearinghouse"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getEngineType"; readonly outputs: readonly [{ readonly internalType: "enum IProductEngine.EngineType"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getLpState"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }]; readonly name: "getOrderbook"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getPositionPnl"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getProductIds"; readonly outputs: readonly [{ readonly internalType: "uint32[]"; readonly name: ""; readonly type: "uint32[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getSettlementState"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: "lpState"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: "lpBalance"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: "state"; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: "balance"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStateAndBalance"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "getStatesAndBalances"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "int128"; readonly name: "supply"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingPerLpX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "base"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quote"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpState"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.LpBalance"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "cumulativeFundingLongX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "cumulativeFundingShortX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "availableSettle"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "openInterest"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.State"; readonly name: ""; readonly type: "tuple"; }, { readonly components: readonly [{ readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "vQuoteBalance"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lastCumulativeFundingX18"; readonly type: "int128"; }]; readonly internalType: "struct IPerpEngine.Balance"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }]; readonly name: "hasBalance"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouse"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_quote"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_endpoint"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_admin"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_fees"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int128[]"; readonly name: "openInterests"; readonly type: "int128[]"; }]; readonly name: "manualAssert"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "amountBase"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountLow"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteAmountHigh"; readonly type: "int128"; }]; readonly name: "mintLp"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "productIds"; readonly type: "uint256"; }]; readonly name: "settlePnl"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "subaccount"; readonly type: "bytes32"; }, { readonly internalType: "int128"; readonly name: "insurance"; readonly type: "int128"; }]; readonly name: "socializeSubaccount"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "baseDelta"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "quoteDelta"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "int128"; readonly name: "amount"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "priceX18"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "sizeIncrement"; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: "lpSpreadX18"; readonly type: "int128"; }]; readonly name: "swapLp"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }, { readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "txn"; readonly type: "bytes"; }]; readonly name: "updateProduct"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint128"; readonly name: "dt"; readonly type: "uint128"; }, { readonly internalType: "int128[]"; readonly name: "avgPriceDiffs"; readonly type: "int128[]"; }]; readonly name: "updateStates"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly withdrawPool: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint8"; readonly name: "version"; readonly type: "uint8"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "uint64[]"; readonly name: "idxs"; readonly type: "uint64[]"; }]; readonly name: "checkMarkedIdxs"; readonly outputs: readonly [{ readonly internalType: "bool[]"; readonly name: ""; readonly type: "bool[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: "productIds"; readonly type: "uint32[]"; }]; readonly name: "checkProductBalances"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20Base"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly name: "fastWithdrawalFeeAmount"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; }]; readonly name: "fees"; readonly outputs: readonly [{ readonly internalType: "int128"; readonly name: ""; readonly type: "int128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_clearinghouse"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_verifier"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: ""; readonly type: "uint64"; }]; readonly name: "markedIdxs"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "productId"; readonly type: "uint32"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "address"; readonly name: "sendTo"; readonly type: "address"; }]; readonly name: "removeLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint64"; readonly name: "idx"; readonly type: "uint64"; }, { readonly internalType: "bytes"; readonly name: "transaction"; readonly type: "bytes"; }, { readonly internalType: "bytes[]"; readonly name: "signatures"; readonly type: "bytes[]"; }]; readonly name: "submitFastWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IERC20Base"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "sendTo"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "uint64"; readonly name: "idx"; readonly type: "uint64"; }]; readonly name: "submitWithdrawal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; }; type NadoAbis = typeof NADO_ABIS; type NadoContractName = keyof NadoAbis; export { NADO_ABIS, type NadoAbis, type NadoContractName };