Function: new_pool
The new_pool
function can be used by governance to create a new pool for a pair of assets. After ensuring that the origin of the call is governance and that a pool for the given pair of assets does not already exist, the function creates a new pool using the parameters (fee and initial price) specified by the caller.
Finally, an event signalling the creation of the new pool is deposited.