Минт NFT накрылся медным тазом 😩Вчера вечером открылся минт коллекции Guardians (хз, что это если честно). Чтобы заминтить NFT из этой коллекции, нужно было отправить 1.1 TON на контракт коллекции и указать там кое-какие параметры. Один из параметров, который указывался при минте, — это ссылка на метаданные NFT (точнее, IPFS хэш).
Проблема №1. Уровень: капец, но терпимо 😺Когда, например, 10 юзеров отправляли транзакцию с минтом NFT, сайт подставлял всем одинаковые ссылки на метаданные. В итоге у 9 юзеров возникала ошибка, а 1 юзер получал NFT. Поэтому многие просто спамили транзакциями в попытках заминтить NFT.
Проблема №2. Уровень: капец 🍦Можно было указать ЛЮБУЮ ссылку на метаданные, даже свою личную. Как итог — у меня появилась
памятная NFT Золотого Пескаря которую я получил используя
скрипт из 8 строчек кода. Ну и еще можно было просто минтить NFT начиная с конца, чтобы избежать ошибок.
Кто виноват? (мое мнение)Коллекция была запущена на платформе
@sense_ton, и мне кажется контракты тоже они писали. К слову в команде Sense работает
@kate_tonstarter, которая так-же работает в Tonstarter(по юзерке и био сужу)
Чтобы такого не допускать,
НЕ ПОЗВОЛЯЙТЕ ЮЗЕРАМ УКАЗЫВАТЬ ТАКУЮ ВАЖНУЮ ИНФОРМАЦИЮ, ПУСТЬ КОНТРАКТ САМ ПОДСТАВЛЯЕТ ССЫЛКИ. Кстати, контракт коллекции и NFT написаны на языке Tact, который я хейчу, поэтому Tact тоже не используйте.
Отдельная благодарность @gosunov за помощь в ресерче