pub fn pool_create(ctx: Context<'_, '_, '_, '_, PoolCreate<'_>>) -> Result<()>