UNPKG

@rholabs/rho-sdk

Version:

Rho Protocol SDK

2,411 lines (2,410 loc) 55.6 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": [], "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" }