Прослушивание депозитов по множеству адресов
Итак, я пытаюсь создать систему, которая прослушивает депозиты 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.
Спасибо!