Функция fetch и if json файл

Рейтинг: 0Ответов: 1Опубликовано: 25.08.2023

Помогите решить вопрос. Есть две функции - подключение web3 кошелька (connect), которая вызывает кошелек и подключает его к сайту, и функция оплаты (mint), которая так же вызывает кошелек для оплаты на сайте.

// connect function
async function connect() {
const doge = window?.DogeApi;
const { status } = await doge.enable();
if ( status === 'success') {
    const { userAddress } = await doge.userAddress();
    // const { network } = await doge.network();
  }
// or check isEnabled
  if (doge && (await doge.isEnabled())) {
    const { userAddress } = await doge.userAddress();
    // const { network } = await doge.network();
  }
  // mint function
  async function mint(){
const doge = window?.DogeApi;
if (await doge.isEnabled()) {
    const rs = await doge.useDoge(cost, toAddress, 'Buy Things Info');
    if (rs?.txid) {
      // successed
    }

Нужно как-то проверить список кошельков, которые находятся в файле spisok.json, чтобы воспользоваться функцией mint смогли только те кошельки, которые находятся в этом файле. Json находится на сервере, с этим проблем нет. Я думаю, что это возможно через fetch и if, но не знаю как это сделать. Json выглядит так

[
  "DHN4hNPuPF6GxWo2RV6o7VgGFCi1g2zdfK",
  "DLQscvjJBMbePvYsYvHmWnx3gSdxw4qfUg",
  "DRN1UhVkrtmMfy6k17i84KdC9HHWxwkAVS",
  "D8t6BzGHcD5DSNT8LEcoq4cLe3zaX7gokZ"
]

Возможно у меня неверный формат json. Пробую как-то так, но не могу сделать верный запрос:

 // mint function
      async function mint(){
    const doge = window?.DogeApi;
   const response = await fetch ('/spisok.json')
    const data = await response.json();
    if (data.responce === 200) {
        if (await doge.isEnabled()) {
            const res = await doge.useDoge(cost, toAddress, 'Buy Things Info');
             if (rs?.txid) {
          // successed
        }
      }
}}

Буду благодарен за помощь.

Ответы

▲ 0Принят
   const mint = async () => {
      try {
        const doge = window?.DogeApi;
        if (doge?.userAddress) {
          const response = await fetch('/spisok.json');
          if (response.ok) {
            const data = await response.json();
            if (data.includes(doge.userAddress)) {
              // .........
            }
          }
        }
      } catch (err) {
        console.log(err);
      }
    };

если я правильно понял, то так.