# Required Functions

The DAppControl contract **must** define the following functions:



1. `BidFormat`: This function defines the base currency (or currencies) of the auction.&#x20;
2. `BidValue:` This function defines how to rank bids so that they may be sorted by the auctioneer.
3. `AllocateValue`: After a Solver's operation is executed successfully, this function is called to allocate any value that has accrued to the Execution Environment. It is completely customizable. For instance, they may opt to use a portion of the MEV to refund the bundler's gas cost, the winning solver's gas cost, allocate another portion to offset the impermanent loss of the protocol's liquidity providers, and use the remaining portion to purchase that protocol's token for the originator.\
