UNPKG

@rholabs/rho-sdk

Version:

Rho Protocol SDK

2,179 lines (2,178 loc) 86.2 kB
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AddressCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIAccessControlManagerInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportICollateralManagerInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIContractProviderInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIFloatIndexOracleInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIFloatRateIndexStorageInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIFutureInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIFutureStorageInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIIdentifiableInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIIssuerInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIMarketConfiguratorInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIMarketInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIMarketStorageInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIRateMathInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIRouterInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportITradeLimiterStorageInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIVAMMInterface", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" } ], "name": "AddressNotSupportIVAMMStorageInterface", "type": "error" }, { "inputs": [], "name": "CannotCalculateRateForEmptyAggregatedVolume", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "currentRate", "type": "int256" }, { "internalType": "SD59x18", "name": "tradeRateLimit", "type": "int256" } ], "name": "CurrentRateIsExceededLimit", "type": "error" }, { "inputs": [], "name": "CurrentRateMustBeGreatOrEqualLowerBound", "type": "error" }, { "inputs": [], "name": "CurrentRateMustBeLessOrEqualUpperBound", "type": "error" }, { "inputs": [], "name": "DepositIsPaused", "type": "error" }, { "inputs": [], "name": "DestinationAddressCannotBeEqualCollateralManager", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "resultRate", "type": "int256" }, { "internalType": "SD59x18", "name": "referenceRate", "type": "int256" }, { "internalType": "uint64", "name": "referenceTime", "type": "uint64" } ], "name": "ExceededMarketRateImpactLimit", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "tradeNotional", "type": "uint256" }, { "internalType": "UD60x18", "name": "limit", "type": "uint256" } ], "name": "ExceededTradeNotionalLimit", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "value", "type": "uint32" } ], "name": "ExpirationSecondsParamTooBig", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "value", "type": "uint32" } ], "name": "ExpirationSecondsParamTooSmall", "type": "error" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint256", "name": "indexTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "currentTime", "type": "uint256" } ], "name": "ExpiredIndexValue", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "indexValue", "type": "int256" } ], "name": "FloatIndexCannotBeNegative", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "amount", "type": "uint256" }, { "internalType": "UD60x18", "name": "minValue", "type": "uint256" } ], "name": "FloatTokenAmountIsTooSmall", "type": "error" }, { "inputs": [ { "internalType": "FutureId", "name": "futureId", "type": "bytes32" } ], "name": "FutureIsNotPaused", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "historyLength", "type": "uint256" }, { "internalType": "uint32", "name": "marketRateLimitWindowSeconds", "type": "uint32" }, { "internalType": "uint32", "name": "marketRateLimitAggregationInterval", "type": "uint32" } ], "name": "HistoryLengthIsNotEnough", "type": "error" }, { "inputs": [], "name": "IndexByMaturityDoesNotExist", "type": "error" }, { "inputs": [], "name": "InsufficientLiquidity", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "balance", "type": "uint256" } ], "name": "InsufficientProtocolFeeBalance", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "totalCollateral", "type": "uint256" }, { "internalType": "UD60x18", "name": "withdrawAmount", "type": "uint256" } ], "name": "InsufficientTotalCollateral", "type": "error" }, { "inputs": [], "name": "IntervalLengthCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "SD1x18", "name": "value", "type": "int64" } ], "name": "InvalidHedgeMarginFactor", "type": "error" }, { "inputs": [ { "components": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "SD59x18", "name": "indexValue", "type": "int256" } ], "internalType": "struct OraclePackage", "name": "oraclePackage", "type": "tuple" }, { "internalType": "MarketId", "name": "targetMarketId", "type": "bytes32" } ], "name": "InvalidMarketId", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "value", "type": "uint64" } ], "name": "InvalidMarketRateChangeLimit", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "value", "type": "uint64" } ], "name": "InvalidPositionLiquidationRewardPercentage", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "value", "type": "uint256" } ], "name": "InvalidPositionPercentage", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "value", "type": "uint64" } ], "name": "InvalidProvisionCancellationRewardPercentage", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "lowerBound", "type": "int256" }, { "internalType": "SD59x18", "name": "upperBound", "type": "int256" } ], "name": "InvalidRateBounds", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "", "type": "int256" } ], "name": "InvalidRatePoint", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "value", "type": "uint64" } ], "name": "InvalidTransferOwnershipRewardPercentage", "type": "error" }, { "inputs": [], "name": "InvalidUnwindDirection", "type": "error" }, { "inputs": [], "name": "LiquidationIsPaused", "type": "error" }, { "inputs": [], "name": "LiquidationThresholdDeltaCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "liquidationThresholdDelta", "type": "uint64" }, { "internalType": "UD2x18", "name": "marginThresholdDelta", "type": "uint64" } ], "name": "LiquidationThresholdDeltaMustBeLessMarginThresholdDelta", "type": "error" }, { "inputs": [], "name": "LiquidityProvisionIsPaused", "type": "error" }, { "inputs": [], "name": "LiquidityRemovalIsPaused", "type": "error" }, { "inputs": [], "name": "MarginThresholdDeltaCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "value", "type": "uint64" } ], "name": "MarginThresholdToleranceTooBig", "type": "error" }, { "inputs": [], "name": "MarketIsNotPaused", "type": "error" }, { "inputs": [], "name": "MarketRateLimitAggregationIntervalCannotBeZero", "type": "error" }, { "inputs": [], "name": "MarketRateLimitWindowSecondsCannotBeZero", "type": "error" }, { "inputs": [], "name": "MaturityLockoutSecondsCannotBeZero", "type": "error" }, { "inputs": [], "name": "MaxNotionalCannotBeZero", "type": "error" }, { "inputs": [], "name": "MaxRateImpactPerTradeCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "UD2x18", "name": "minLpFee", "type": "uint64" }, { "internalType": "UD2x18", "name": "minProtocolFee", "type": "uint64" } ], "name": "MinFeeSumCannotBeZero", "type": "error" }, { "inputs": [], "name": "MinNotionalCannotBeZero", "type": "error" }, { "inputs": [ { "internalType": "FutureId", "name": "futureId", "type": "bytes32" }, { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaFuture", "type": "error" }, { "inputs": [ { "internalType": "FutureId", "name": "futureId", "type": "bytes32" }, { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaFutureVAMM", "type": "error" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaMarket", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaMarketConfigurator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaMarketConfiguratorOrIssuer", "type": "error" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaMarketOracle", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaRouter", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeCalledViaTradeLimiter", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeEmergencyManager", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeIssuerContractOrOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeIssuerRole", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeLiquidator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeMaturityCourier", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeProtocolUser", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeRewardManager", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "MustBeRiskManager", "type": "error" }, { "inputs": [], "name": "NotEnoughIntervalsCount", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "margin", "type": "int256" }, { "internalType": "SD59x18", "name": "threshold", "type": "int256" } ], "name": "NotEnoughMargin", "type": "error" }, { "inputs": [], "name": "NotEnoughProvision", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "amount", "type": "uint256" }, { "internalType": "UD60x18", "name": "minValue", "type": "uint256" } ], "name": "NotionalAmountIsTooSmall", "type": "error" }, { "inputs": [ { "internalType": "MarketId", "name": "targetMarketId", "type": "bytes32" } ], "name": "OraclePackagesNotFound", "type": "error" }, { "inputs": [], "name": "OwnershipTransferIsPaused", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" }, { "internalType": "uint256", "name": "y", "type": "uint256" } ], "name": "PRBMath_MulDiv18_Overflow", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "x", "type": "int256" } ], "name": "PRBMath_SD59x18_IntoUD60x18_Underflow", "type": "error" }, { "inputs": [], "name": "PRBMath_SD59x18_Mul_InputTooSmall", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "x", "type": "int256" }, { "internalType": "SD59x18", "name": "y", "type": "int256" } ], "name": "PRBMath_SD59x18_Mul_Overflow", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "x", "type": "uint256" } ], "name": "PRBMath_UD60x18_IntoSD59x18_Overflow", "type": "error" }, { "inputs": [], "name": "ParticipantIsNotLiquidatable", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "balance", "type": "uint256" }, { "internalType": "UD60x18", "name": "requested", "type": "uint256" } ], "name": "ProtocolFeeBalanceIsZero", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "currentNumber", "type": "uint256" }, { "internalType": "uint256", "name": "limit", "type": "uint256" } ], "name": "ProvisionsNumberLimitExceeded", "type": "error" }, { "inputs": [], "name": "ReferencePointNotFound", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "SenderCannotBeOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" } ], "name": "SignerNotAuthorized", "type": "error" }, { "inputs": [], "name": "TermLengthCannotBeZero", "type": "error" }, { "inputs": [], "name": "TermStartTimestampCannotBeZero", "type": "error" }, { "inputs": [], "name": "TimeIsOutOfTerm", "type": "error" }, { "inputs": [], "name": "TradeIsPaused", "type": "error" }, { "inputs": [ { "internalType": "UD60x18", "name": "tradeRateImpact", "type": "uint256" }, { "internalType": "UD60x18", "name": "tradeRateImpactLimit", "type": "uint256" }, { "internalType": "SD59x18", "name": "tradeRate", "type": "int256" } ], "name": "TradeRateImpactLimitExceeded", "type": "error" }, { "inputs": [ { "internalType": "SD59x18", "name": "tradeRate", "type": "int256" }, { "internalType": "SD59x18", "name": "tradeRateLimit", "type": "int256" } ], "name": "TradeRateLimitIsExceeded", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "marketRateLimitWindowSeconds", "type": "uint32" }, { "internalType": "uint32", "name": "marketRateLimitAggregationInterval", "type": "uint32" } ], "name": "WindowSizeCannotBeLowerThanAggregationInterval", "type": "error" }, { "inputs": [], "name": "WithdrawIsPaused", "type": "error" }, { "inputs": [], "name": "ZeroFixedTokenAmount", "type": "error" }, { "inputs": [], "name": "ZeroNotional", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "sender", "type": "address" }, { "indexed": false, "internalType": "address", "name": "contractProvider", "type": "address" }, { "indexed": false, "internalType": "address", "name": "initialOwner", "type": "address" } ], "name": "QuoterInitialization", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [], "name": "acceptOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "oldOwnerMarginAfter", "type": "tuple" }, { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "oldOwnerMarginBefore", "type": "tuple" }, { "components": [ { "internalType": "UD2x18", "name": "transferOwnershipReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "positionLiquidationReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "provisionCancellationReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "lpPriceImpactFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "lpNotionalFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "minLpFee", "type": "uint64" }, { "internalType": "UD2x18", "name": "protocolPriceImpactFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "protocolNotionalFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "minProtocolFee", "type": "uint64" } ], "internalType": "struct IMarketStorage.RewardParameters", "name": "rewardParameters", "type": "tuple" } ], "name": "calculateTransferAmount", "outputs": [ { "internalType": "UD60x18", "name": "transferAmount", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "components": [ { "components": [ { "internalType": "contract IFuture[]", "name": "ownerUnsettledFutures", "type": "address[]" }, { "internalType": "SD59x18", "name": "floatIndex", "type": "int256" }, { "components": [ { "internalType": "UD2x18", "name": "minNotional", "type": "uint64" }, { "internalType": "UD2x18", "name": "liquidationThresholdDelta", "type": "uint64" }, { "internalType": "UD2x18", "name": "marginThresholdDelta", "type": "uint64" }, { "internalType": "UD2x18", "name": "marginThresholdTolerance", "type": "uint64" }, { "internalType": "UD2x18", "name": "maxRateImpactPerTrade", "type": "uint64" }, { "internalType": "SD1x18", "name": "hedgeMarginFactor", "type": "int64" }, { "internalType": "uint32", "name": "marginRequirementSecondsFloor", "type": "uint32" }, { "internalType": "uint32", "name": "liquidationMarginRequirementSecondsFloor", "type": "uint32" }, { "internalType": "uint32", "name": "maturityLockoutSeconds", "type": "uint32" } ], "internalType": "struct IMarketStorage.RiskParameters", "name": "riskParameters", "type": "tuple" }, { "components": [ { "internalType": "UD2x18", "name": "transferOwnershipReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "positionLiquidationReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "provisionCancellationReward", "type": "uint64" }, { "internalType": "UD2x18", "name": "lpPriceImpactFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "lpNotionalFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "minLpFee", "type": "uint64" }, { "internalType": "UD2x18", "name": "protocolPriceImpactFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "protocolNotionalFeeFactor", "type": "uint64" }, { "internalType": "UD2x18", "name": "minProtocolFee", "type": "uint64" } ], "internalType": "struct IMarketStorage.RewardParameters", "name": "rewardParameters", "type": "tuple" }, { "internalType": "contract IRateMath", "name": "rateMath", "type": "address" }, { "internalType": "contract IFuture[]", "name": "liquidatorUnsettledFutures", "type": "address[]" } ], "internalType": "struct Quoter.LiquidationCache", "name": "liquidationCache", "type": "tuple" }, { "internalType": "address", "name": "oldOwner", "type": "address" }, { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "oldOwnerMargin", "type": "tuple" }, { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "liquidatorMargin", "type": "tuple" } ], "internalType": "struct Quoter.EstimateMarginTransferParams", "name": "params", "type": "tuple" } ], "name": "estimateMarginChangeAfterPositionTransfer", "outputs": [ { "components": [ { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "updatedOldOwnerMargin", "type": "tuple" }, { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "updatedLiquidatorMargin", "type": "tuple" }, { "components": [ { "internalType": "FutureId", "name": "futureId", "type": "bytes32" }, { "components": [ { "internalType": "SD59x18", "name": "fixedTokenAmount", "type": "int256" }, { "internalType": "SD59x18", "name": "floatTokenAmount", "type": "int256" } ], "internalType": "struct FixedAndFloatTokensPair.Value", "name": "tokensPair", "type": "tuple" }, { "internalType": "SD59x18", "name": "futureRate", "type": "int256" } ], "internalType": "struct FuturePosition[]", "name": "transferringPositions", "type": "tuple[]" } ], "internalType": "struct Quoter.MarginChangeAfterTransfer", "name": "result", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getContractProvider", "outputs": [ { "internalType": "contract IContractProvider", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IContractProviderExtensionV1", "name": "contractProvider", "type": "address" }, { "internalType": "address", "name": "initialOwner", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "address", "name": "participant", "type": "address" }, { "components": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "SD59x18", "name": "indexValue", "type": "int256" } ], "internalType": "struct OraclePackage[]", "name": "oraclePackages", "type": "tuple[]" } ], "name": "isLiquidatable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "address", "name": "maker", "type": "address" }, { "components": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "SD59x18", "name": "indexValue", "type": "int256" } ], "internalType": "struct OraclePackage[]", "name": "oraclePackages", "type": "tuple[]" } ], "name": "isProvisionCancellable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "FutureId", "name": "futureId", "type": "bytes32" }, { "internalType": "UD60x18", "name": "notional", "type": "uint256" }, { "internalType": "address", "name": "participant", "type": "address" }, { "internalType": "enum LiquidityOperation", "name": "operation", "type": "uint8" }, { "internalType": "SD59x18", "name": "lowerBound", "type": "int256" }, { "internalType": "SD59x18", "name": "upperBound", "type": "int256" }, { "components": [ { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "SD59x18", "name": "indexValue", "type": "int256" } ], "internalType": "struct OraclePackage[]", "name": "oraclePackages", "type": "tuple[]" } ], "name": "quoteLiquidityProvision", "outputs": [ { "components": [ { "components": [ { "internalType": "UD60x18", "name": "total", "type": "uint256" }, { "internalType": "UD60x18", "name": "payer", "type": "uint256" }, { "internalType": "UD60x18", "name": "receiver", "type": "uint256" } ], "internalType": "struct ProvisionDistribution", "name": "totalFutureProvisionNotional", "type": "tuple" }, { "internalType": "UD60x18", "name": "totalFutureProvisionPayerDv01", "type": "uint256" }, { "internalType": "UD60x18", "name": "totalFutureProvisionReceiverDv01", "type": "uint256" }, { "internalType": "UD60x18", "name": "newMarginThreshold", "type": "uint256" }, { "components": [ { "internalType": "UD60x18", "name": "total", "type": "uint256" }, { "internalType": "UD60x18", "name": "payer", "type": "uint256" }, { "internalType": "UD60x18", "name": "receiver", "type": "uint256" } ], "internalType": "struct ProvisionDistribution", "name": "newProvisionDistribution", "type": "tuple" }, { "internalType": "UD60x18", "name": "newProvisionNotionalDv01", "type": "uint256" }, { "components": [ { "components": [ { "internalType": "MarketId", "name": "id", "type": "bytes32" }, { "internalType": "string", "name": "sourceName", "type": "string" }, { "internalType": "string", "name": "instrumentName", "type": "string" }, { "internalType": "string", "name": "tag", "type": "string" }, { "internalType": "uint16", "name": "version", "type": "uint16" }, { "internalType": "address", "name": "underlying", "type": "address" }, { "internalType": "string", "name": "underlyingName", "type": "string" }, { "internalType": "uint8", "name": "underlyingDecimals", "type": "uint8" }, { "internalType": "bool", "name": "underlyingIsWrappedNativeToken", "type": "bool" }, { "internalType": "enum IRateMath.MathType", "name": "rateMathType", "type": "uint8" } ], "internalType": "struct IViewDataProvider.MarketDescriptor", "name": "descriptor", "type": "tuple" }, { "components": [ { "components": [ { "components": [ { "internalType": "SD59x18", "name": "netFutureValue", "type": "int256" }, { "internalType": "UD60x18", "name": "accruedLPFee", "type": "uint256" }, { "internalType": "UD60x18", "name": "incurredFee", "type": "uint256" } ], "internalType": "struct ProfitAndLoss.Value", "name": "profitAndLoss", "type": "tuple" }, { "internalType": "SD59x18", "name": "collateral", "type": "int256" } ], "internalType": "struct Margin.Value", "name": "margin", "type": "tuple" }, { "internalType": "UD60x18", "name": "initialMarginThreshold", "type": "uint256" }, { "internalType": "UD60x18", "name": "liquidationMarginThreshold", "type": "uint256" }, { "internalType": "UD60x18", "name": "lpMarginThreshold", "type": "uint256" }, { "internalType": "UD60x18", "name": "dv01", "type": "uint256" }, { "internalType": "enum RiskDirection.Value", "name": "riskDirection", "type": "uint8" } ], "internalType": "struct ViewDataProviderLogic.MarginState", "name": "marginState", "type": "tuple" }, { "components": [ { "internalType": "FutureId", "name": "id", "type": "bytes32" }, { "internalType": "MarketId", "name": "marketId", "type": "bytes32" }, { "internalType": "uint64", "name": "termStart", "type": "uint64" }, { "internalType": "uint64", "name": "termLength", "type": "uint64" },