{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40",
      "quote": "The source is 42,990 bytes, sha256 **`c68887cff61180e12ba2b1ceb333edf76a830f91f63b5d775a8806fb9ec08aca`**."
    },
    {
      "url": "https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc",
      "quote": "It is 10,167 bytes, sha256 `3ac7cb8811ecfb6a17f499aa4e9b70dd55f7fb6432b3aec3b904e11a3dece38e`."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/4812a6382311624e1506aca131ca35c378f930d9/setup-fast.sh",
      "quote": "uv pip install -q \"$WHEEL\" \"numpy>=1.24\" \"py-solc-x==2.1.0\" \"pyrevm==0.3.7\""
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/4812a6382311624e1506aca131ca35c378f930d9/research/solved/replica2.py",
      "quote": "def clampf(f):\n    return 0.0 if f < 0.0 else (MAXF if f > MAXF else f)"
    },
    {
      "url": "https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40",
      "quote": "        self.fb, self.fa = min(MAXF, max(0.0, fb)), min(MAXF, max(0.0, fa))\n        return fb, fa"
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/4812a6382311624e1506aca131ca35c378f930d9/research/solved/gates.py",
      "quote": "usage: python3 -I gates.py"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/IAMMStrategy.sol",
      "quote": "/// @dev Fees are returned as WAD values (1e18 = 100%, 1e15 = 0.1% = 10bps)"
    },
    {
      "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/amm_competition/evm/executor.py",
      "quote": "    # afterInitialize(uint256,uint256) -> 0x837aef47\n    # afterSwap((bool,uint256,uint256,uint256,uint256,uint256)) -> 0xc2babb57"
    }
  ]
}
