Как я случайно заморозил чужую Plush Pepe и что из этого вышло
Ночью 31 августа мне чота не спалось, и я решил поискать баги на фрагменте. Ничего серьезного не нашел, переключился на ончейн NFT подарки и вспомнил, что код ончейн подарков хранится в мастерчейн-либах. Посмотрел их балансы и увидел, что на смарт-контракте ВСЕГО 1.3 TON с момента деплоя, что очень мало для мастерчейна (там газ в разы дороже). По глупости решил стать коллектором и "собрать газ" и отправил по копейке тона на две либы (см. 1 и 2). В результате переводы ончейн подарков остановились: код контракта нфт подарков был удален по причине заморозки мастерчейн либы из-за отрицательного баланса.
Осознав, насколько я проебался, я попытался воспользоваться unfreezer, но как оказалось он не работает для мастерчейн-либ. Спустя время понял, что можно просто передеплоить контракт вручную. Так и сделал, в итоге переводы нфт подарков снова стали реальностью. Всего переводы подарков не были доступны около 50 минут
Почему это важно. Есть gift-minter.ton и как раз в этот промежуток один пользователь попытался вывести Plush Pepe из Telegram в TON - подарок "застрял" на минтере (см. транзакцию здесь). Также зависли все NFT, которые в тот момент переводились из Telegram в TON.
Есть и хорошая новость. В тот же день я передал проблему в Telegram через знакомого, и пару часов назад кошелёк Telegram Team пополнил мастерчейн-либы на 100 TON(см. 1 и 2), по моим расчетам этого хватит примерно на пять лет. Замороженные подарки, включая Plush Pepe, должны вернуться владельцам (очень на это надеюсь).
Итог. Я действительно проебался, не подумав о последствиях, но сразу занялся починкой и сообщил о проблеме. На месте любого другого человека контракт тоже можно было бы заморозить - хватило бы банальной рассылки транзакций(то есть это можно было сделать даже случайно). Главное, что теперь баланс пополнен и система защищена от такой ситуации в будущем
Всем добра и не совершайте таких глупых действий как сделал я 👀
Post #414
22.5K
- ❤ 97
- 👍 58
- 🔥 42
- 😁 20
- 👎 2
- 👏 1