При авторизации не запрашивает подтверждение кошелька ( MetaMask ) В чем может быть проблема?
Ситуация следующая: Разрабатываю приложение, в нем авторизация идет через Metamask, и решил я добавить WalletConnect для авторизации с телефона. Делал все по документации WalletConnect Локально все отрабатывает как нужно, но когда я делаю деплой на сервер и запускаю проект уже на самом сервере, то я не могу получить подтверждение кошелька чтобы авторизоваться. Повторюсь, локально я получаю подтверждение когда сканирую QR code. Вот как это должно работать:
нажимаю на кнопку walletconnect, далее если мы с ПК то появляется QR code который мы сканируем телефоном и нас перебрасывает в приложение, где мы уже подтверждаем что хотим подключиться используя наш кошелек. Если мы с телефона, то мы просто нажимает иконку walletconnect где мы попадаем в список кошельков на выбор, где уже выбираем нужный нам и дальше по старой схеме с подтверждением кошелька. Проблема в том, что локально у меня работает подтверждение через QR code, а когда проект на сервере то нет. Как это решить? Для примера того как это должно работать - вот сайт, где все отрабатывает отлично rarible. Далее пример моего кода, может кто подскажет, в чем может быть проблема. Вот ошибка в консоле
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'importKey') at browserImportKey (browser.ts:44:1) at browserAesEncrypt (browser.ts:59:1) at Module.aesCbcEncrypt (aes.ts:8:1) at Module.encrypt (index.ts:49:1) at async WalletConnect._encrypt (index.ts:1172:1) at async WalletConnect._sendRequest (index.ts:790:1
)
import React from "react";
import WalletConnectProvider from "@walletconnect/web3-provider";
import walletconnect from "../../../assets/icons/walletconnect.svg";
import M from "materialize-css";
import api from "../../../core/api/index";
import { useHistory } from "react-router-dom";
import { useDispatch } from "react-redux";
import { actions } from "../../../core/redux/actions";
import classes from "./style.module.scss";
// Enable session (triggers QR Code modal)
// ---------- APP -------------
function AuthWalletConnect() {
const history = useHistory();
const dispatch = useDispatch();
const provider = new WalletConnectProvider({
infuraId: "807bed50f47c43a0b2c0c631c0ea7121",
});
const AuthUser = async () => {
try {
await provider.enable();
} catch (e) {
console.log(e);
}
};
provider.on("accountsChanged", (accounts) => {
api.user.crateUser(accounts[0], accounts[0]);
dispatch(actions.hash(accounts[0]));
M.toast({ html: "auth succes" });
history.push("/");
});
provider.on("disconnect", (code, reason) => {
localStorage.clear();
window.location.reload();
});
// Enable session (triggers QR Code modal)
return (
<button className={classes.card} onClick={AuthUser}>
<img src={walletconnect} className={classes.card__img} />
<div className={classes.card__title}>Mobile Wallet</div>
</button>
);
}
export default AuthWalletConnect;