Прослушивание депозитов по множеству адресов

Итак, я пытаюсь создать систему, которая прослушивает депозиты USDT по набору адресов. Проблема в том, что каждый раз, когда пользователь добавляет адрес, у меня нет способа заставить etherjs прослушивать этот адрес, так как мне нужно удалить всех слушателей и добавить их снова с новым. Если я этого не сделаю, я буду добавлять по одному новому слушателю для каждого адреса, что кажется неэффективным.

Я использую этот код

      this.provider.removeAllListeners();

Object.keys(CONTRACT_ADDRESSES).forEach((key: string) => {
                    
    let filter: any = {
        address: CONTRACT_ADDRESSES[key],
        topics: [
            ethers.utils.id(TRANSFER_CONTRACT_ID),
            null,
            USER_ADDRESSES
        ]
    }
       
    this.provider.on(filter, DEPOSIT_RECIEVED);
});

Есть ли шанс добавить новый адрес без удаления текущих слушателей?

Я использую Typescript и EtherJ на Node.

Спасибо!

0 ответов

Другие вопросы по тегам