{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/simulation/engine.rs",
      "quote": "/// 1. Generate new fair price via GBM\n/// 2. Arbitrageur extracts profit from each AMM\n/// 3. Retail orders arrive and are routed to best AMM"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/price_process.rs",
      "quote": "            drift_term: (mu - 0.5 * sigma * sigma) * dt,\n            vol_term: sigma * dt.sqrt(),"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/retail.rs",
      "quote": "        let mu = mean.ln() - 0.5 * sigma * sigma;"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/arbitrageur.rs",
      "quote": "/// - Buy X from AMM (AMM sells X): Δx_out = x - sqrt(k / (γ·p)) (profit-maximizing)\n/// - Sell X to AMM (AMM buys X): Δx_in = (sqrt(k·γ / p) - x) / γ (profit-maximizing, Δx_in is gross input)"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
      "quote": "    /// - A_i = sqrt(x_i * γ_i * y_i), r = A_1/A_2\n    /// - Δy_1* = (r * (y_2 + γ_2 * Y) - y_1) / (γ_1 + r * γ_2)"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/amm/cfmm.rs",
      "quote": "//! Implements Uniswap V3/V4-style fee model where fees are collected\n//! into separate buckets rather than being reinvested into liquidity."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/types/wad.rs",
      "quote": "pub const MAX_FEE: i128 = 100_000_000_000_000_000;"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/config.py",
      "quote": "    retail_mean_size_min=19.0,\n    retail_mean_size_max=21.0,"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/competition/match.py",
      "quote": "            rng = np.random.default_rng(seed=i)"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/evm/compiler.py",
      "quote": "                    \"viaIR\": True,\n                    \"evmVersion\": \"paris\","
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/VanillaStrategy.sol",
      "quote": "    uint256 public constant FEE = 30 * BPS;"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/AMMStrategyBase.sol",
      "quote": "    /// @notice Multiply two WAD values\n    /// @param x First value (WAD)\n    /// @param y Second value (WAD)\n    /// @return Result in WAD precision"
    },
    {
      "url": "https://raw.githubusercontent.com/ChengHua926/amm-challenge/d34a5199c59a4c44d5336a25f1436b4ae1f21104/contracts/src/Strategy.sol",
      "quote": "    uint256 constant BASE_FEE = 4 * BPS;\n    uint256 constant SIGMA_COEF = 200000000000000000;\n    uint256 constant LAMBDA_COEF = 12 * BPS;"
    },
    {
      "url": "https://raw.githubusercontent.com/numpy/numpy/v2.2.0/numpy/random/bit_generator.pyx",
      "quote": "cdef uint32_t INIT_A = 0x43b0d7e5\ncdef uint32_t MULT_A = 0x931e8875\ncdef uint32_t INIT_B = 0x8b51f9dd\ncdef uint32_t MULT_B = 0x58f38ded"
    },
    {
      "url": "https://raw.githubusercontent.com/numpy/numpy/v2.2.0/numpy/random/src/pcg64/pcg64.c",
      "quote": "  s = (((pcg128_t)seed[0]) << 64) | seed[1];\n  i = (((pcg128_t)inc[0]) << 64) | inc[1];"
    },
    {
      "url": "https://raw.githubusercontent.com/numpy/numpy/v2.2.0/numpy/random/src/pcg64/pcg64.h",
      "quote": "#define PCG_DEFAULT_MULTIPLIER_HIGH 2549297995355413924ULL\n#define PCG_DEFAULT_MULTIPLIER_LOW 4865540595714422341ULL"
    }
  ]
}
