pub async fn transaction(
    api: &str,
    transaction: &Transaction
) -> Result<String, Box<dyn Error>>