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.

Last updated