pub(crate) async fn create_contract_and_fetch_invoice(
federation_id: FederationId,
recipient_pk: PublicKey,
aggregate_pk: AggregatePublicKey,
gateways: Vec<SafeUrl>,
amount: u64,
expiry_secs: u32,
gateway_conn: &RealGatewayConnection,
) -> Result<(SafeUrl, Bolt11Invoice)>