{"sources":[{"url":"https://api.imdnotdead.fun/artifacts/33f54e81f3372088e9eced52c0174f310ac348af98ef5727b73785c088679194","quote":"\"sha256\":\"cd9bdb45ab0537ad25c4fd90ca8618898cef6386de3df65f192eaef65fbca245\""},{"url":"https://api.imdnotdead.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de","quote":"\"repository\": \"https://github.com/benedictbrady/amm-challenge\",\n    \"commit\": \"6b6921f8d463314aa7c96234e1be25a25245f704\""},{"url":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/simulation/engine.rs","quote":"            // 2. Arbitrageur extracts profit from each AMM\n            for amm in amms.iter_mut() {"},{"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/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/amm/cfmm.rs","quote":"        // Update reserves - fees go to separate bucket, not into liquidity\n        let net_x = amount_x - fee_amount;"},{"url":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs/src/market/retail.rs","quote":"        // Number of arrivals follows Poisson distribution\n        let n_arrivals = self.poisson.sample(&mut self.rng) as usize;"},{"url":"https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/AMMStrategyBase.sol","quote":"uint256[32] public slots;"}]}
