{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/02c134d9ed51858f06d02b6dec25e6922016490f11e3a8174af512a6a77b6569",
      "quote": "28417e116f57f1029fdd1803832e852574902c1ae7253c05657f317db76da4ab"
    },
    {
      "url": "https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
      "quote": "Initialize submission then normalizer via afterInitialize. For t=0..n_steps-1: advance fair price; attempt exactly one arbitrage on submission then one on normalizer; generate all retail orders; route each sequentially using current reserves and fees; capture step. No arb retry after callback, between retail orders, or after retail in that step. Zero or one executed arb per pool per step."
    },
    {
      "url": "https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
      "quote": "With equal relevant input reserves R and input T, r=sqrt((1-f)/0.997); share=clamp((r*(R+0.997*T)-R)/((1-f+r*0.997)*T),0,1). Table R/T=500."
    },
    {
      "url": "https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
      "quote": "AMM buys X; trader sells gross q X; bidFee=f; fee=f*q X; liquidity receives (1-f)*q X, pays y-k/(x+(1-f)*q) Y. amountX is gross X input, amountY is Y output."
    },
    {
      "url": "https://api.imd.fun/artifacts/ddbbaac58282566e0505d895c83daf348487cc322e8c482e61d4d87e6e4628de",
      "quote": "_build_configs loops i=0..n_simulations-1, constructs numpy.random.default_rng(seed=i), then draws in order retail_mean_size uniform(19,21), retail_arrival_rate uniform(0.6,1.0), gbm_sigma uniform(0.000882,0.001008) with baseline variance flags all True. A disabled variance flag uses the base value and consumes no draw. cfg.seed=i; base_config.seed does not provide an offset."
    },
    {
      "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_sim_rs/src/simulation/runner.rs",
      "quote": "                let mut engine = SimulationEngine::new(config);\n                engine.run(submission, baseline)"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/evm/compiler.py",
      "quote": "                        \"enabled\": True,\n                        \"runs\": 200,\n                    },\n                    \"viaIR\": True,\n                    \"evmVersion\": \"paris\","
    }
  ]
}
