IUsdnProtocolErrors
All errors used in the USDN Protocol.
Errors
UsdnProtocolInsufficientOracleFee
Insufficient Ether provided to cover the cost of price validation.
error UsdnProtocolInsufficientOracleFee();
UsdnProtocolEtherRefundFailed
Ether refund to the sender failed.
error UsdnProtocolEtherRefundFailed();
UsdnProtocolNotEligibleForRefund
Validator is not eligible for a security deposit refund.
error UsdnProtocolNotEligibleForRefund(address validator);
Parameters
Name | Type | Description |
---|---|---|
validator | address | The address of the validator. |
UsdnProtocolZeroAmount
The provided amount is zero.
error UsdnProtocolZeroAmount();
UsdnProtocolInvalidAddressTo
The provided to
address is invalid.
error UsdnProtocolInvalidAddressTo();
UsdnProtocolInvalidAddressValidator
The provided validator
address is invalid.
error UsdnProtocolInvalidAddressValidator();
UsdnProtocolMinInitAmount
The initial amount provided during initialization is too small to support opening a long position.
error UsdnProtocolMinInitAmount();
UsdnProtocolInvalidUsdn
The provided USDN token has a non-zero total supply at deployment.
error UsdnProtocolInvalidUsdn(address usdnAddress);
Parameters
Name | Type | Description |
---|---|---|
usdnAddress | address | The address of the USDN contract. |
UsdnProtocolInvalidAssetDecimals
The asset's decimal precision is invalid.
error UsdnProtocolInvalidAssetDecimals(uint8 assetDecimals);
Parameters
Name | Type | Description |
---|---|---|
assetDecimals | uint8 | The specified asset decimals. |
UsdnProtocolInvalidTokenDecimals
The token's decimals do not match TOKENS_DECIMALS
.
error UsdnProtocolInvalidTokenDecimals();
UsdnProtocolUnauthorized
The caller is not authorized to perform the action.
error UsdnProtocolUnauthorized();
UsdnProtocolPendingAction
A pending action already exists for the user.
error UsdnProtocolPendingAction();
UsdnProtocolNoPendingAction
The user does not have any pending action.
error UsdnProtocolNoPendingAction();
UsdnProtocolInvalidPendingAction
A pending action exists, but its type is not the expected one.
error UsdnProtocolInvalidPendingAction();
UsdnProtocolTimestampTooOld
The provided timestamp predates the last balance update.
error UsdnProtocolTimestampTooOld();
UsdnProtocolLeverageTooLow
The calculated leverage is below the minimum allowed.
error UsdnProtocolLeverageTooLow();
UsdnProtocolLeverageTooHigh
The calculated leverage exceeds the maximum allowed.
error UsdnProtocolLeverageTooHigh();
UsdnProtocolLongPositionTooSmall
The amount of collateral in the long position is too small.
error UsdnProtocolLongPositionTooSmall();
UsdnProtocolInvalidLiquidationPrice
The liquidation price exceeds or equals the starting price.
error UsdnProtocolInvalidLiquidationPrice(uint128 liquidationPrice, uint128 startPrice);
Parameters
Name | Type | Description |
---|---|---|
liquidationPrice | uint128 | The specified liquidation price. |
startPrice | uint128 | The starting price. |
UsdnProtocolLiquidationPriceSafetyMargin
The liquidation price exceeds the safety margin.
error UsdnProtocolLiquidationPriceSafetyMargin(uint128 liquidationPrice, uint128 maxLiquidationPrice);
Parameters
Name | Type | Description |
---|---|---|
liquidationPrice | uint128 | The specified liquidation price. |
maxLiquidationPrice | uint128 | The maximum liquidation price. |
UsdnProtocolOutdatedTick
The provided tick version is outdated due to liquidation.
error UsdnProtocolOutdatedTick(uint256 currentVersion, uint256 providedVersion);
Parameters
Name | Type | Description |
---|---|---|
currentVersion | uint256 | The current tick version. |
providedVersion | uint256 | The provided tick version. |
UsdnProtocolPositionNotValidated
The position cannot be closed because it has not been validated yet.
error UsdnProtocolPositionNotValidated();
UsdnProtocolInvalidPositionFee
The specified position fee exceeds the allowed maximum.
error UsdnProtocolInvalidPositionFee();
UsdnProtocolInvalidVaultFee
The specified vault fee exceeds the allowed maximum.
error UsdnProtocolInvalidVaultFee();
UsdnProtocolInvalidSdexRewardsRatio
The specified SDEX rewards ratio exceeds the allowed maximum.
error UsdnProtocolInvalidSdexRewardsRatio();
UsdnProtocolInvalidRebalancerBonus
The specified rebalancer bonus exceeds the allowed maximum.
error UsdnProtocolInvalidRebalancerBonus();
UsdnProtocolInvalidBurnSdexOnDepositRatio
The specified ratio exceeds the allowed maximum.
error UsdnProtocolInvalidBurnSdexOnDepositRatio();
UsdnProtocolInvalidMiddlewareAddress
The specified middleware address is invalid.
error UsdnProtocolInvalidMiddlewareAddress();
UsdnProtocolInvalidRebalancerMinLeverage
The specified minimum leverage is invalid.
error UsdnProtocolInvalidRebalancerMinLeverage();
UsdnProtocolInvalidMinLeverage
The specified minLeverage
value is invalid.
error UsdnProtocolInvalidMinLeverage();
UsdnProtocolInvalidMaxLeverage
The specified maxLeverage
value is invalid.
error UsdnProtocolInvalidMaxLeverage();
UsdnProtocolInvalidValidatorDeadline
The specified validation deadline is invalid.
error UsdnProtocolInvalidValidatorDeadline();
UsdnProtocolInvalidLiquidationPenalty
The specified liquidation penalty is invalid.
error UsdnProtocolInvalidLiquidationPenalty();
UsdnProtocolInvalidSafetyMarginBps
The specified safety margin basis points are invalid.
error UsdnProtocolInvalidSafetyMarginBps();
UsdnProtocolInvalidLiquidationIteration
The specified liquidation iteration value is invalid.
error UsdnProtocolInvalidLiquidationIteration();
UsdnProtocolInvalidEMAPeriod
The specified EMA period is invalid.
error UsdnProtocolInvalidEMAPeriod();
UsdnProtocolInvalidFundingSF
The specified funding scale factor (SF) is invalid.
error UsdnProtocolInvalidFundingSF();
UsdnProtocolInvalidLiquidationRewardsManagerAddress
The specified LiquidationRewardsManager
contract address is invalid.
error UsdnProtocolInvalidLiquidationRewardsManagerAddress();
UsdnProtocolInvalidProtocolFeeBps
The specified protocol fee basis points are invalid.
error UsdnProtocolInvalidProtocolFeeBps();
UsdnProtocolInvalidFeeCollector
The specified fee collector address is invalid.
error UsdnProtocolInvalidFeeCollector();
UsdnProtocolSecurityDepositTooLow
The specified security deposit is below the required value.
error UsdnProtocolSecurityDepositTooLow();
UsdnProtocolUnexpectedBalance
The contract's ether balance after the action is not as expected.
error UsdnProtocolUnexpectedBalance();
UsdnProtocolInvalidExpoImbalanceLimit
The specified trading exposure imbalance limit is invalid.
error UsdnProtocolInvalidExpoImbalanceLimit();
UsdnProtocolInvalidLongImbalanceTarget
The specified imbalance target is invalid.
error UsdnProtocolInvalidLongImbalanceTarget();
UsdnProtocolImbalanceLimitReached
The protocol imbalance limit has been reached.
error UsdnProtocolImbalanceLimitReached(int256 imbalanceBps);
Parameters
Name | Type | Description |
---|---|---|
imbalanceBps | int256 | The imbalance value in basis points. |
UsdnProtocolInvalidRebalancerTick
The tick of the rebalancer position is invalid.
error UsdnProtocolInvalidRebalancerTick();
UsdnProtocolInvalidLongExpo
The long total exposure value is invalid.
error UsdnProtocolInvalidLongExpo();
UsdnProtocolZeroTotalExpo
The total exposure value is zero.
error UsdnProtocolZeroTotalExpo();
UsdnProtocolInvalidPendingActionData
Indicates that the data provided to validate an actionable pending action is invalid.
error UsdnProtocolInvalidPendingActionData();
UsdnProtocolInvalidTargetUsdnPrice
The specified target USDN price is invalid.
error UsdnProtocolInvalidTargetUsdnPrice();
UsdnProtocolInvalidUsdnRebaseThreshold
The specified USDN rebase threshold is invalid.
error UsdnProtocolInvalidUsdnRebaseThreshold();
UsdnProtocolAmountToCloseHigherThanPositionAmount
The amount to close exceeds the position amount.
error UsdnProtocolAmountToCloseHigherThanPositionAmount(uint128 amountToClose, uint128 positionAmount);
Parameters
Name | Type | Description |
---|---|---|
amountToClose | uint128 | The specified amount to close. |
positionAmount | uint128 | The total amount in the position. |
UsdnProtocolDepositTooSmall
The deposit amount is too small to mint USDN.
error UsdnProtocolDepositTooSmall();
UsdnProtocolZeroLongTradingExpo
The long trading exposure is zero, making liquidation tick calculation impossible.
error UsdnProtocolZeroLongTradingExpo();
UsdnProtocolEmptyVault
The vault balance is zero, so the calculation cannot proceed.
error UsdnProtocolEmptyVault();
UsdnProtocolSlippageMaxPriceExceeded
The entry price exceeds the maximum specified by the user.
error UsdnProtocolSlippageMaxPriceExceeded();
UsdnProtocolSlippageMinPriceExceeded
The current price is below the minimum specified by the user.
error UsdnProtocolSlippageMinPriceExceeded();
UsdnProtocolAmountReceivedTooSmall
The estimated amount of tokens to be received is less than expected.
error UsdnProtocolAmountReceivedTooSmall();
UsdnProtocolPaymentCallbackFailed
The payment callback execution failed.
error UsdnProtocolPaymentCallbackFailed();
UsdnProtocolDeadlineExceeded
The user initiate action's deadline has passed.
error UsdnProtocolDeadlineExceeded();
UsdnProtocolInvalidDelegationSignature
The delegation signature is invalid.
error UsdnProtocolInvalidDelegationSignature();
UsdnProtocolInvalidSecurityDeposit
The specified security deposit value exceeds the allowed maximum
error UsdnProtocolInvalidSecurityDeposit();
UsdnProtocolInvalidMinLongPosition
The specified minimum long position value exceeds the allowed maximum.
error UsdnProtocolInvalidMinLongPosition();
UsdnProtocolInvalidMiddlewareLowLatencyDelay
The low latency delay of the specified oracle middleware contract is below the validator's deadline.
error UsdnProtocolInvalidMiddlewareLowLatencyDelay();
UsdnProtocolInvalidRebalancerMinAssetDeposit
The minimum asset deposit of the specified rebalancer contract is below the protocol's minimum asset deposit.
error UsdnProtocolInvalidRebalancerMinAssetDeposit();