@rholabs/rho-sdk
Version:
Rho Protocol SDK
2,411 lines (2,410 loc) • 55.6 kB
JSON
[
{
"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": [],
"name": "FailedNativeTokenTransferError",
"type": "error"
},
{
"inputs": [],
"name": "FallbackIsNotAllowed",
"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": "uint256",
"name": "futureIdsLength",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "positionsPercentageLength",
"type": "uint256"
}
],
"name": "FutureIdsAndPositionsArraySizeMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
}
],
"name": "FutureIsNotPaused",
"type": "error"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "maturity",
"type": "uint256"
}
],
"name": "FutureNotMatured",
"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": [
{
"internalType": "UD60x18",
"name": "depositAmount",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "requiredDepositAmount",
"type": "uint256"
}
],
"name": "InsufficientDepositAmount",
"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": "requestedAmount",
"type": "uint256"
}
],
"name": "NothingToWithdraw",
"type": "error"
},
{
"inputs": [
{
"internalType": "UD60x18",
"name": "amount",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "minValue",
"type": "uint256"
}
],
"name": "NotionalAmountIsTooSmall",
"type": "error"
},
{
"inputs": [],
"name": "NotionalDensityDeltaCannotBeZero",
"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": "uint256",
"name": "currentNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
}
],
"name": "ProvisionsNumberLimitExceeded",
"type": "error"
},
{
"inputs": [],
"name": "ReferencePointNotFound",
"type": "error"
},
{
"inputs": [
{
"internalType": "SD59x18",
"name": "margin",
"type": "int256"
}
],
"name": "ResultMarginIsNegative",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "actualValue",
"type": "uint256"
}
],
"name": "ResultingAllowanceMustBeZero",
"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": "TooOldTx",
"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": "UnderlyingIsNotWrappedNativeToken",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "currentNumber",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "limit",
"type": "uint256"
}
],
"name": "UnsettledFuturesLimitExceeded",
"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": [
{
"internalType": "uint256",
"name": "indexTimestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maturity",
"type": "uint256"
}
],
"name": "WrongMaturityIndexTimestamp",
"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": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "EmergencyERC20TokenTransfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "EmergencyNativeTokenTransfer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "SD59x18",
"name": "indexValue",
"type": "int256"
}
],
"name": "IndexUpdate",
"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": "marketId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "UD60x18",
"name": "amount",
"type": "uint256"
}
],
"name": "MarketProtocolFeeCollection",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "MaturedFuturesSettling",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"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"
}
],
"indexed": false,
"internalType": "struct OraclePackage",
"name": "oraclePackage",
"type": "tuple"
}
],
"name": "MaturityIndexPersisted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "contractProvider",
"type": "address"
}
],
"name": "RouterInitialization",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "whitelistIsEnabled",
"type": "bool"
}
],
"name": "RouterInitializationV2",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"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": "bool",
"name": "isEnabled",
"type": "bool"
}
],
"name": "WhitelistModeUpdated",
"type": "event"
},
{
"stateMutability": "payable",
"type": "fallback"
},
{
"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": "cancelProvisions",
"outputs": [
{
"internalType": "UD60x18",
"name": "reward",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "UD60x18",
"name": "amount",
"type": "uint256"
}
],
"name": "collectProtocolFee",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "UD60x18",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settleMaturedPositions",
"type": "bool"
},
{
"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": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tokenAddress",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "emergencyERC20TokenTransfer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "emergencyNativeTokenTransfer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
},
{
"internalType": "enum RiskDirection.Value",
"name": "direction",
"type": "uint8"
},
{
"internalType": "UD60x18",
"name": "notional",
"type": "uint256"
},
{
"internalType": "SD59x18",
"name": "futureRateLimit",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "depositAmount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settleMaturedPositions",
"type": "bool"
},
{
"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": "executeTrade",
"outputs": [
{
"components": [
{
"internalType": "enum RiskDirection.Value",
"name": "direction",
"type": "uint8"
},
{
"components": [
{
"internalType": "SD59x18",
"name": "fixedTokenAmount",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "floatTokenAmount",
"type": "int256"
}
],
"internalType": "struct FixedAndFloatTokensPair.Value",
"name": "tokensPair",
"type": "tuple"
},
{
"internalType": "SD59x18",
"name": "marketRateBefore",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "marketRateAfter",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "tradeRate",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "lpFee",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "protocolFee",
"type": "uint256"
},
{
"internalType": "SD59x18",
"name": "floatIndex",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "floatTradeValue",
"type": "int256"
}
],
"internalType": "struct TradeInfo",
"name": "tradeInfo",
"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": "currentMargin",
"type": "tuple"
},
{
"internalType": "SD59x18",
"name": "marginThreshold",
"type": "int256"
}
],
"internalType": "struct MarginWithThreshold",
"name": "marginInfo",
"type": "tuple"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "getAcm",
"outputs": [
{
"internalType": "contract IAccessControlManager",
"name": "",
"type": "address"
}
],
"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"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "whiteListIsEnabled",
"type": "bool"
}
],
"name": "initializeV2",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "isWhitelistEnabled",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "MarketId",
"name": "marketId",
"type": "bytes32"
},
{
"internalType": "FutureId[]",
"name": "futureIds",
"type": "bytes32[]"
},
{
"internalType": "UD60x18[]",
"name": "positionsPercentage",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "bool",
"name": "settleMaturedPositions",
"type": "bool"
},
{
"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": "liquidatePositions",
"outputs": [
{
"components": [
{
"internalType": "enum RiskDirection.Value",
"name": "direction",
"type": "uint8"
},
{
"components": [
{
"internalType": "SD59x18",
"name": "fixedTokenAmount",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "floatTokenAmount",
"type": "int256"
}
],
"internalType": "struct FixedAndFloatTokensPair.Value",
"name": "tokensPair",
"type": "tuple"
},
{
"internalType": "SD59x18",
"name": "marketRateBefore",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "marketRateAfter",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "tradeRate",
"type": "int256"
},
{
"internalType": "UD60x18",
"name": "lpFee",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "protocolFee",
"type": "uint256"
},
{
"internalType": "SD59x18",
"name": "floatIndex",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "floatTradeValue",
"type": "int256"
}
],
"internalType": "struct TradeInfo[]",
"name": "tradesInfo",
"type": "tuple[]"
},
{
"internalType": "UD60x18",
"name": "reward",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"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": "oraclePackage",
"type": "tuple"
}
],
"name": "persistIndexAtMaturity",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "FutureId",
"name": "futureId",
"type": "bytes32"
},
{
"internalType": "UD60x18",
"name": "notional",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "depositAmount",
"type": "uint256"
},
{
"internalType": "SD59x18",
"name": "lowerBound",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upperBound",
"type": "int256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settleMaturedPositions",
"type": "bool"
},
{
"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": "provideLiquidity",
"outputs": [
{
"components": [
{
"internalType": "UD60x18",
"name": "providedNotional",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "totalPoolNotional",
"type": "uint256"
}
],
"internalType": "struct LiquidityProvisionResult",
"name": "",
"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": "currentMargin",
"type": "tuple"
},
{
"internalType": "SD59x18",
"name": "marginThreshold",
"type": "int256"
}
],
"internalType": "struct MarginWithThreshold",
"name": "",
"type": "tuple"
}
],
"stateMutability": "payable",
"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": "SD59x18",
"name": "lowerBound",
"type": "int256"
},
{
"internalType": "SD59x18",
"name": "upperBound",
"type": "int256"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "bool",
"name": "settleMaturedPositions",
"type": "bool"
},
{
"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": "removeLiquidity",
"outputs": [
{
"components": [
{
"internalType": "UD60x18",
"name": "removedNotional",
"type": "uint256"
},
{
"internalType": "UD60x18",
"name": "totalPoolNotional",
"type": "uint256"
}
],
"internalType": "struct LiquidityRemovalResult",
"name": "",
"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": "currentMargin",
"type": "tuple"
},
{
"internalType": "SD59x18",
"name": "marginThreshold",
"type": "int256"
}