// SPDX-License-Identifier: MIT pragma solidity ^0.8.30; /// @title Constants /// @notice Protocol-wide constants and the `bytes32` tags used inside signed intents. /// @dev All rates/thresholds are basis points: `BPS = 10_000` is 100%. Interest math uses /// simple (non-compounding) accrual over `SECONDS_PER_YEAR`. library Constants { /// @notice Basis-points denominator. 10_000 bps = 100%. uint256 internal constant BPS = 10_000; /// @notice Seconds in a year used for interest accrual (365 days = 31_536_000). uint256 internal constant SECONDS_PER_YEAR = 365 days; /// @notice `intentType` tag for a borrow intent. bytes32 internal constant INTENT_TYPE_BORROW = keccak256("BORROW"); /// @notice `intentType` tag for a lend intent. bytes32 internal constant INTENT_TYPE_LEND = keccak256("LEND"); /// @notice `rateType` tag for a fixed-rate intent. bytes32 internal constant RATE_TYPE_FIXED = keccak256("FIXED"); /// @notice `rateType` tag for a variable-rate intent. bytes32 internal constant RATE_TYPE_VARIABLE = keccak256("VARIABLE"); }