@rholabs/rho-sdk
Version:
Rho Protocol SDK
2,261 lines (2,260 loc) • 113 kB
JSON
[
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "addressValue",
"type": "address"
}
],
"name": "AddressAlreadyExists",
"type": "error"
},
{
"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": [
{
"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": "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": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "IdAlreadyExists",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "IdNotFound",
"type": "error"
},
{
"inputs": [],
"name": "IndexByMaturityDoesNotExist",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "size",
"type": "uint256"
}
],
"name": "IndexOutOfBounds",
"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": "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": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
}
],
"name": "MarketIsNotActive",
"type": "error"
},
{
"inputs": [],
"name": "MarketIsNotPaused",
"type": "error"
},
{
"inputs": [],
"name": "MaturityLockoutSecondsCannotBeZero",
"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": [],
"name": "ParticipantIsNotLiquidatable",
"type": "error"
},
{
"inputs": [
{
"internalType": "UD60x18",
"name": "balance",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "requested",
"type": "uint256"
}
],
"name": "ProtocolFeeBalanceIsZero",
"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": [],
"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": "MarketId",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "MarketActivation",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "MarketId",
"name": "id",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "MarketDeactivation",
"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": true,
"internalType": "address",
"name": "implementation",
"type": "address"
}
],
"name": "Upgraded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "contractProvider",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"name": "ViewDataProviderInitialization",
"type": "event"
},
{
"inputs": [],
"name": "acceptOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "id",
"type": "bytes32"
}
],
"name": "activateMarket",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "offset",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
},
{
"components": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"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": "packages",
"type": "tuple[]"
}
],
"internalType": "struct ViewFloatIndexLogic.MarketOraclePackages[]",
"name": "",
"type": "tuple[]"
}
],
"name": "activeMarketsInfo",
"outputs": [
{
"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": [
{
"internalType": "FutureId",
"name": "id",
"type": "bytes32"
},
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "uint64",
"name": "termStart",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "termLength",
"type": "uint64"
},
{
"components": [
{
"internalType": "SD59x18",
"name": "lowerBoundRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "currentFutureRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upperBoundRate",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "intervalLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "intervalsCount",
"type": "uint256"
}
],
"internalType": "struct IViewDataProvider.VAMMParams",
"name": "vAMMParams",
"type": "tuple"
},
{
"internalType": "UD60x18",
"name": "totalLiquidityNotional",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "openInterest",
"type": "uint256"
},
{
"components": [
{
"internalType": "bool",
"name": "trade",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityProvision",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityRemoval",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidation",
"type": "bool"
},
{
"internalType": "bool",
"name": "positionsOwnershipTransfer",
"type": "bool"
}
],
"internalType": "struct IFutureStorage.PauseConfiguration",
"name": "pauseConfiguration",
"type": "tuple"
}
],
"internalType": "struct IViewDataProvider.FutureInfo[]",
"name": "futures",
"type": "tuple[]"
},
{
"internalType": "UD60x18",
"name": "openInterest",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "totalLiquidityNotional",
"type": "uint256"
},
{
"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"
},
{
"components": [
{
"internalType": "bool",
"name": "withdraw",
"type": "bool"
},
{
"internalType": "bool",
"name": "deposit",
"type": "bool"
}
],
"internalType": "struct IMarketStorage.PauseConfiguration",
"name": "pauseConfiguration",
"type": "tuple"
}
],
"internalType": "struct IViewDataProvider.MarketInfo[]",
"name": "result",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "offset",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
}
],
"name": "allActiveMarketsAddresses",
"outputs": [
{
"internalType": "address[]",
"name": "result",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "offset",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
}
],
"name": "allActiveMarketsIds",
"outputs": [
{
"internalType": "MarketId[]",
"name": "result",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "participant",
"type": "address"
}
],
"name": "checkForUnsettledMaturedFutures",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "id",
"type": "bytes32"
}
],
"name": "deactivateMarket",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "maturityBufferSeconds",
"type": "uint256"
}
],
"name": "futureIdsCloseToMaturityWithoutIndex",
"outputs": [
{
"internalType": "FutureId[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "id",
"type": "bytes32"
},
{
"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": "",
"type": "tuple[]"
}
],
"name": "futureInfo",
"outputs": [
{
"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"
},
{
"components": [
{
"internalType": "SD59x18",
"name": "lowerBoundRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "currentFutureRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upperBoundRate",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "intervalLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "intervalsCount",
"type": "uint256"
}
],
"internalType": "struct IViewDataProvider.VAMMParams",
"name": "vAMMParams",
"type": "tuple"
},
{
"internalType": "UD60x18",
"name": "totalLiquidityNotional",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "openInterest",
"type": "uint256"
},
{
"components": [
{
"internalType": "bool",
"name": "trade",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityProvision",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityRemoval",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidation",
"type": "bool"
},
{
"internalType": "bool",
"name": "positionsOwnershipTransfer",
"type": "bool"
}
],
"internalType": "struct IFutureStorage.PauseConfiguration",
"name": "pauseConfiguration",
"type": "tuple"
}
],
"internalType": "struct IViewDataProvider.FutureInfo",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "maturityBufferSeconds",
"type": "uint256"
}
],
"name": "futuresInfoCloseToMaturityWithoutIndex",
"outputs": [
{
"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"
},
{
"components": [
{
"internalType": "SD59x18",
"name": "lowerBoundRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "currentFutureRate",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upperBoundRate",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "intervalLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "intervalsCount",
"type": "uint256"
}
],
"internalType": "struct IViewDataProvider.VAMMParams",
"name": "vAMMParams",
"type": "tuple"
},
{
"internalType": "UD60x18",
"name": "totalLiquidityNotional",
"type": "uint256"
}
],
"internalType": "struct IViewDataProvider.FutureInfoWithoutIndex[]",
"name": "result",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getContractProvider",
"outputs": [
{
"internalType": "contract IContractProvider",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
}
],
"name": "getFuturePauseConfiguration",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "trade",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityProvision",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidityRemoval",
"type": "bool"
},
{
"internalType": "bool",
"name": "liquidation",
"type": "bool"
},
{
"internalType": "bool",
"name": "positionsOwnershipTransfer",
"type": "bool"
}
],
"internalType": "struct IFutureStorage.PauseConfiguration",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
}
],
"name": "getMarketPauseConfiguration",
"outputs": [
{
"components": [
{
"internalType": "bool",
"name": "withdraw",
"type": "bool"
},
{
"internalType": "bool",
"name": "deposit",
"type": "bool"
}
],
"internalType": "struct IMarketStorage.PauseConfiguration",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
}
],
"name": "getMarketRewardParameters",
"outputs": [
{
"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": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
}
],
"name": "getMarketRiskParameters",
"outputs": [
{
"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": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
}
],
"name": "getProtocolFee",
"outputs": [
{
"internalType": "UD60x18",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IContractProvider",
"name": "contractProvider",
"type": "address"
},
{
"internalType": "address",
"name": "initialOwner",
"type": "address"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "maker",
"type": "address"
},
{
"internalType": "uint256",
"name": "offset",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
}
],
"name": "makerLiquidityDistribution",
"outputs": [
{
"internalType": "SD59x18",
"name": "currentFutureRate",
"type": "int256"
},
{
"components": [
{
"components": [
{
"internalType": "SD59x18",
"name": "lower",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upper",
"type": "int256"
}
],
"internalType": "struct RateBounds",
"name": "bounds",
"type": "tuple"
},
{
"internalType": "UD60x18",
"name": "notional",
"type": "uint256"
}
],
"internalType": "struct IntervalLiquidity[]",
"name": "intervals",
"type": "tuple[]"
}
],
"stateMutability": "view",
"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": "marginDetails",
"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"