Как отозвать апрув в Starknet?
Недавно я дал approve маркетплейсу Flexing на 1 триллион эфира, и задался вопросом, а как отозвать этот апрув?
Возможно, некоторым на ум придёт revoke cash, но он не поддерживает Starknet, поэтому я пошел искать подобную аппку в старкнете и наткнулся на Starkrekt, но он работает не совсем корректно, если вкратце, у них есть какой-то список контрактов, когда вы вставляете свой валлет для чека, они проверяют аппрувы на всех контрактах в их списке, если вы дали аппрув помойке, которой нет в их списках, Starkrekt не увидит вашего аппрува и вы не сможете его отозвать. Я уже дал им контракт Flexing, должны скоро добавить.
Но, я не остановился на этом, и решил заглянуть в эксплорер старка и посмотреть как выглядит моя транза с аппрувом.
Тут важно уточнить, функция аппрува может быть как и сам approve, так и increaseAllowance, с помощью моего гайда вы сможете снять любой.
Для того, чтобы отозвать апрув, нужно скопировать spender адрес, перейти на страницу контракта токена, в данном случае, это StarkGate: ETH Token и открыть вкладку Read/Write Contract.
Далее, переходим в раздел Write(1), коннектим свой кошелек(2), открываем функцию approve и вводим spender адрес, который скопировали ранее, в amount вводим 0, после чего нажимаем кнопку Write(5) и подтверждаем транзакцию. Кстати, точно таким же образом можно апрувать эфир и набивать дешевые транзы(0.1-0.12 при гвей 15).
Mинут через 5, когда транза пройдет и отобразится в эксплорере, можно проверить всё ли вы правильно сделали. Открываете раздел Read, выбираете функцию allowance, в поле owner вставляете адрес своего кошелька, в поле spender вставляете адрес spender из первой транзы с аппрувом, жмякаете Query и если вы видите remaining 0, значит вы успешно отменили аппрув.
Статья была написана автором этого канала.