Constants

Description:

Smart contract deployed on Ethereum with Factory features.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "Constants.sol": {
      "content": "// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

library Constants {

    string internal constant PROTOCOL_VERSION = "1.0.0";

    string internal constant PROTOCOL_NAME = "DEX Protocol";

    address internal constant ZERO_ADDRESS = address(0);

    uint256 internal constant MAX_UINT256 = type(uint256).max;

    uint128 internal constant MAX_UINT128 = type(uint128).max;

    uint256 internal constant DECIMAL_BASE = 1e18;

    uint256 internal constant MINIMUM_LIQUIDITY = 1000;

    uint256 internal constant MAX_POOLS = 10000;

    uint256 internal constant MIN_SWAP_AMOUNT = 1000;

    uint256 internal constant MAX_SWAP_AMOUNT = 1000000 * DECIMAL_BASE;

    uint256 internal constant K_FACTOR = 1e12;

    uint256 internal constant DEFAULT_SWAP_FEE = 3000;

    uint256 internal constant DEFAULT_WITHDRAW_FEE = 1000;

    uint256 internal constant TOKEN_LISTING_FEE = 1e16;

    uint256 internal constant MAX_FEE_RATE = 5000;

    uint256 internal constant MIN_FEE_RATE = 10;

    uint256 internal constant FEE_BASE = 10000;

    uint256 internal constant BASIS_POINTS = 10000;

    uint256 internal constant PROTOCOL_FEE_SHARE = 2000;

    uint256 internal constant LP_FEE_SHARE = 8000;

    int24 internal constant MIN_TICK_SPACING = 1;

    int24 internal constant MAX_TICK_SPACING = 16384;

    int24 internal constant MIN_TICK = -887272;

    int24 internal constant MAX_TICK = 887272;

    uint256 internal constant PRICE_RATIO_BASE = 1001;

    uint256 internal constant Q96 = 0x1000000000000000000000000;

    uint256 internal constant Q128 = 0x100000000000000000000000000000000;

    uint256 internal constant MIN_VOTING_PERIOD = 3 days;

    uint256 internal constant MAX_VOTING_PERIOD = 30 days;

    uint256 internal constant MIN_TIMELOCK_DELAY = 1 days;

    uint256 internal constant MAX_TIMELOCK_DELAY = 30 days;

    uint256 internal constant MIN_QUORUM = 500;

    uint256 internal constant MAX_QUORUM = 2000;

    uint256 internal constant MIN_PROPOSAL_THRESHOLD = 100;

    uint256 internal constant MAX_SLIPPAGE = 1000;

    uint256 internal constant MIN_SLIPPAGE = 10;

    uint256 internal constant MAX_PRICE_IMPACT = 2000;

    uint256 internal constant WITHDRAW_COOLDOWN = 1 hours;

    uint256 internal constant MAX_TXS_PER_BLOCK = 100;

    uint256 internal constant MAX_GAS_LIMIT = 15000000;

    uint256 internal constant MIN_OBSERVATIONS = 2;

    uint256 internal constant MAX_OBSERVATIONS = 65535;

    uint256 internal constant DEFAULT_CARDINALITY = 100;

    uint256 internal constant MIN_UPDATE_INTERVAL = 1;

    uint256 internal constant MAX_UPDATE_INTERVAL = 3600;

    uint256 internal constant MAX_PRICE_DEVIATION = 500;

    uint256 internal constant MIN_TOKEN_SUPPLY = 1000000 * DECIMAL_BASE;

    uint256 internal constant MAX_TOKEN_SUPPLY = 1000000000 * DECIMAL_BASE;

    uint8 internal constant MAX_DECIMALS = 18;

    uint8 internal constant MIN_DECIMALS = 6;

    uint256 internal constant MAX_TOKEN_NAME_LENGTH = 50;

    uint256 internal constant MAX_TOKEN_SYMBOL_LENGTH = 10;

    uint256 internal constant REWARD_LOCK_PERIOD = 30 days;

    uint256 internal constant MAX_REWARD_APR = 100000;

    uint256 internal constant MIN_REWARD_APR = 100;

    uint256 internal constant TEAM_VESTING_PERIOD = 365 days;

    uint256 internal constant CIRCUIT_BREAKER_THRESHOLD = 5000;

    uint256 internal constant CIRCUIT_BREAKER_COOLDOWN = 2 hours;

    uint256 internal constant MAX_CIRCUIT_BREAKER_TRIGGERS = 3;

    function percentToBasisPoints(uint256 percentage) internal pure returns (uint256) {
        return percentage * 100;
    }

    function basisPointsToPercent(uint256 basisPoints) internal pure returns (uint256) {
        return basisPoints / 100;
    }

    function calculateFee(uint256 amount, uint256 feeRate) internal pure returns (uint256) {
        return (amount * feeRate) / FEE_BASE;
    }

    function isValidFeeRate(uint256 feeRate) internal pure returns (bool) {
        return feeRate >= MIN_FEE_RATE && feeRate <= MAX_FEE_RATE;
    }

    function isValidTick(int24 tick) internal pure returns (bool) {
        return tick >= MIN_TICK && tick <= MAX_TICK;
    }

    function isValidTickSpacing(int24 tickSpacing) internal pure returns (bool) {
        return tickSpacing >= MIN_TICK_SPACING && tickSpacing <= MAX_TICK_SPACING;
    }
}"
    }
  },
  "settings": {
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "remappings": []
  }
}}

Tags:
Factory|addr:0xe548b75e865a0838c0e3954462aa714d2372e02c|verified:true|block:23526086|tx:0x5dbe4ff749254630c8b45051776c14e75a2d384a2912d3775b4c537c3713b3e7|first_check:1759846231

Submitted on: 2025-10-07 16:10:31

Comments

Log in to comment.

No comments yet.