pub(crate) fn xyk_add_liquidity<T: Config>(
    caller: T::AccountId,
    assets: AssetPair,
    amount_a: Balance,
    amount_b_max: Balance
) -> DispatchResult