Some helper functions are omitted for brevity.
struct MarketData {
    Header header;
    FeeData feeData;
}
updateFeeDataAfterTrade
function updateFeeDataAfterTrade(
    MarketData storage self, 
    uint256 quoteTokenTraded
) internal returns (uint256 feeAmount)
getFactory
function getFactory(
    MarketData storage self
) internal view returns (address)
getFactoryOwner
function getFactoryOwner(
    MarketData storage self
) internal view returns (address)
getFeeRecipient
function getFeeRecipient(
    MarketData storage self
) internal view returns (address)