SushiSwap is an exchange protocol as it allows users to exchange an asset for another at market price. SushiSwap also provides yield farms but for the purpose of subgraph we will consider this as a separate protocol and will develop a separate subgraph for SushiSwap farms. We need to keep them separate because of difference in the core interactions a user can do with these markets. We will discuss these interactions below.