{
  "sources": [
    {
      "url": "https://raw.githubusercontent.com/ChengHua926/amm-challenge/d34a5199c59a4c44d5336a25f1436b4ae1f21104/contracts/src/Strategy.sol",
      "quote": "uint256 constant PHAT_ALPHA = 270000000000000000;"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
      "quote": "// Clamp to valid range [0, Y]"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/amm/cfmm.rs",
      "quote": "//! into separate buckets rather than being reinvested into liquidity."
    },
    {
      "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/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_sim_rs/src/simulation/engine.rs",
      "quote": "// Initialize retail trader with different seed"
    },
    {
      "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/amm_sim_rs/src/evm/strategy.rs",
      "quote": "const GAS_LIMIT_INIT: u64 = 250_000;"
    },
    {
      "url": "https://raw.githubusercontent.com/dipankar/amm-challenge/main/ANALYSIS.md",
      "quote": "Observe trade → Estimate hidden state (pHat, sigmaHat, tox, dir, act)"
    },
    {
      "url": "https://www.linkedin.com/pulse/amm-fee-challenge-notes-from-our-run-optimization-arena-qe3ff",
      "quote": "Another useful property of the simulator was block ordering."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
      "quote": "/// Implements optimal order splitting so that the marginal price is equal\n/// across all AMMs after the trade."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/arbitrageur.rs",
      "quote": "/// Closed-form (fee-on-input): Δx_in = (sqrt(k·γ / p) - x) / γ"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/amm/cfmm.rs",
      "quote": "// On error, keep current fees"
    }
  ]
}
