Valantis Documentation
Valantis Website
  • Welcome to Valantis
  • Sovereign Pool
    • The Modules
      • Pool Manager
      • Liquidity Module
      • Swap Fee Module
      • Verifier Module
      • Oracle Module
      • Sovereign Vault
        • Rebase token support
      • Gauge
    • Interacting with Pools
      • Swap Parameters
      • Swap Steps
      • Multi Token Support
      • Deposit Liquidity
      • Withdraw Liquidity
      • Flash Loans
  • Hybrid Order Type (HOT)
    • Understanding HOT: A Graphical Overview
    • HOT API
      • HTTP request parameters
      • HTTP request response
      • Reasoning for Request structure
      • Solver Integration
      • Market Maker integration
    • HOT Smart Contracts
      • Interfaces
      • State variables and roles
      • AMM
      • HOT Swap
      • AMM Swap
      • Hybrid Order Type (HOT) struct parameters
      • Alternating Nonce Bitmap
      • Deposits
      • Withdrawals
      • Deployment Assumptions
    • Liquidity Manager Docs
      • Reference Oracle
      • Deposit
      • Withdraw
      • Signature
    • Swap
      • Swap Context
      • AMM Swap
      • HOT Swap
      • HOT Quote Parameters
        • Bitmap Nonce Instructions
    • Solver Docs
      • Solver Request
      • Simple HOT Swap Example
      • Partial Fill HOT Swap Example
    • Risks and Trust Assumptions
      • Roles
        • Sovereign Pool Manager
        • HOT Manager
        • HOT Signer
        • Liquidity Provider
      • Threats
        • Deposit Sandwich
        • Malicious Price Bound
        • Malicious Signer
        • Mispriced HOT Quote
  • Validly
    • Understanding Validly
    • Swap
    • Deposits and Withdrawals
    • Deployments
  • Stake Exchange (stHYPE AMM)
    • Swap
      • Instant Withdrawals (LST -> Native Token)
      • New Stake (Native Token -> LST)
    • LP Positions
      • LP Withdrawals Instant
      • LP Withdrawal Queued
    • Ratio Fee
    • Lending of Reserves
    • Smart contracts
      • STEXAMM.sol
      • StHYPEWithdrawalModule.sol
      • StexRatioSwapFeeModule.sol
      • DepositWrapper.sol
      • AaveLendingModule.sol
    • Risks and Trust Assumptions
    • Integration examples
  • Deploy and Build
  • Resources
    • Audits
    • Links
    • Get HYPE on HyperEVM
Powered by GitBook
On this page
  • expiry
  • signatureTimestamp
  • prices
  • Fee Values

Was this helpful?

  1. Hybrid Order Type (HOT)
  2. Swap

HOT Quote Parameters

expiry

The expiry determines how long the Signed HOT Quote is valid. If the Signed Quote lands onchain after expiry, the Quote is not valid and the swap will revert. Suppose the signatureTimestamp = 1000, and we want to make sure that this quote cannot be used after 2 mins, then the expiry = 2 * 60 = 120. 
The expiry is bounded by the `maxDelay` variable onchain, this means that expiry always has to be ≤ hot.maxDelay()

signatureTimestamp

The timestamp at which the signer signs the quote offchain. A signature is only considered valid if: 

1. The signature timestamp is less than or equal to the current block timestamp
2. `block.timestamp <= hot.signatureTimestamp + hot.expiry`

prices

The pool implements many checks to try to mitigate the damage caused by a malicious signer.

1.  Both the old and new square-root spot price values of the AMM cannot be too far away from the square-root oracle pricee. The allowed relative deviation is set by the `maxOracleDeviationBips` variable, and is configurable by the manager.
More precisely, this check is applied to both the new and old spot prices during an HOT swap AMM state update.
    
2. The price that the solver is receiving, cannot be too far away from the current spot price of the pool. The exact allowed relative deviation is set by the `solverMaxDiscountBips` parameter, which is set by the manager.

You can look at exactly how all price-related checks are enforced in the `validatePriceConsistency` function in the HOTParams library.

Fee Values

All fee parameters are validated for basic consistency and bounded according to the public immutable values: `minAMMFee`, `minAMMFeeGrowthInPips`, and `maxAMMFeeGrowthInPips`.
Any fee value cannot be greater than 10_000, since they are in basis-points.

NONCE is discussed on the next page.

PreviousHOT SwapNextBitmap Nonce Instructions

Last updated 1 year ago

Was this helpful?