{
 "sources": [
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
   "quote": "let numerator = r * (y2 + gamma2 * total_y) - y1;"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
   "quote": "let y1_amount = y1_amount.max(0.0).min(total_y);"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
   "quote": "let total_x = order.size / fair_price;"
  },
  {
   "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/router.rs",
   "quote": "const MIN_AMOUNT: f64 = 0.0001;"
  },
  {
   "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/amm/cfmm.rs",
   "quote": "pub fn execute_buy_x_with_y(&mut self, amount_y: f64, timestamp: u64) -> Option<TradeResult> {"
  },
  {
   "url": "https://api.imdnotdead.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
   "quote": "Initialize submission then normalizer via afterInitialize."
  },
  {
   "url": "https://api.imdnotdead.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
   "quote": "Fees charged on input and accumulated separately in X/Y buckets, never reinvested in liquidity."
  },
  {
   "url": "https://api.imdnotdead.fun/artifacts/33f54e81f3372088e9eced52c0174f310ac348af98ef5727b73785c088679194",
   "quote": "censored-price"
  }
 ]
}