Пока рынок снова позволяет флипать щитки на солане, мы решили написать очень быстрые полностью onchain мониторы, первым из них будет монитор для новых пулов на Raydium. Следить можно в нашем отдельном форуме либо дискорде.
В планах сделать еще много других полезных моников:
• Raydium burn liquidity
• Raydium rug pools
• Pumpfun tokens
• Pumpfun bonding curve completed
• ???
И огромное множество других, будем смотреть сколько это направление еще проживет
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20
ME Airdrop Checker
Чекер дропа Magic Eden, поддерживает многопоточность, сидки/приватники, отображает аллокацию, blazing fast🍔 . Код грязный потому что рефакторить лень
Короче вообще очень крутой👍
Возможно мы будем делать антидрейн на дроп (только SOL), если на это будет спрос, dm @ch4irchad за деталями
Все инструкции по запуску находятся в README, вопросы в чатик
Канал / Чат / Fragment Monitors / Discord
Чекер дропа Magic Eden, поддерживает многопоточность, сидки/приватники, отображает аллокацию, blazing fast
Короче вообще очень крутой
Возможно мы будем делать антидрейн на дроп (только SOL), если на это будет спрос, dm @ch4irchad за деталями
Все инструкции по запуску находятся в README, вопросы в чатик
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16
Fragment Software
ME Airdrop Checker Чекер дропа Magic Eden, поддерживает многопоточность, сидки/приватники, отображает аллокацию, blazing fast 🍔 . Код грязный потому что рефакторить лень Короче вообще очень крутой 👍 Возможно мы будем делать антидрейн на дроп (только SOL)…
Update
Добавлен модуль для подвязки клейм кошелька к вашим eligible кошелькам
Если вы проверяли дроп прошлой версией этого чекера, то !обязательно! используйте новый модуль для привязки клейм кошелька, поскольку в прошлой версии для этого использовался случайный приватный ключ. На это у вас есть время до 9 декабря 16:00 МСК.
Канал / Чат / Fragment Monitors / Discord
Добавлен модуль для подвязки клейм кошелька к вашим eligible кошелькам
Если вы проверяли дроп прошлой версией этого чекера, то !обязательно! используйте новый модуль для привязки клейм кошелька, поскольку в прошлой версии для этого использовался случайный приватный ключ. На это у вас есть время до 9 декабря 16:00 МСК.
Канал / Чат / Fragment Monitors / Discord
🔥9
Magic Eden Claimer
Подготовили для вас клеймер токенов, который имеет дополнительные модули.
• Клеймер $ME с возможностью отправки аллокации на биржу все в одном бандле. За это мы берем 5% с аллокации.
• Перевод $ME + Закрытие $ME associated token account + отправка $SOL на кошелек из файла. За это мы берем 5% (~0.0001 SOL)
• $SOL multisender - отправка соланы с одного кошелька на несколько, мы забираем 3% от суммы.
И чтоб меньше 3$ не сливали🍺
Канал / Чат / Fragment Monitors / Discord
Подготовили для вас клеймер токенов, который имеет дополнительные модули.
• Клеймер $ME с возможностью отправки аллокации на биржу все в одном бандле. За это мы берем 5% с аллокации.
• Перевод $ME + Закрытие $ME associated token account + отправка $SOL на кошелек из файла. За это мы берем 5% (~0.0001 SOL)
• $SOL multisender - отправка соланы с одного кошелька на несколько, мы забираем 3% от суммы.
И чтоб меньше 3$ не сливали
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍4💅1
Жоско залетаем в Fuel Sale
Условия:
• У вас должен быть вл + KYC
• 100% профита идет мне
• Какие-то еще условия
• Софт стоит 10000$
• Исходник на ассмеблере, мы будем быстрее всех
По всем вопросам писать на почту kakjedohuyanasipet@gmail.com
ЛФГ + to the moon + wagmi + не убиваем темку☕️
Условия:
• У вас должен быть вл + KYC
• 100% профита идет мне
• Какие-то еще условия
• Софт стоит 10000$
• Исходник на ассмеблере, мы будем быстрее всех
По всем вопросам писать на почту kakjedohuyanasipet@gmail.com
ЛФГ + to the moon + wagmi + не убиваем темку
Please open Telegram to view this post
VIEW IN TELEGRAM
💅27👍9🗿6🔥3
Eclipse Farmer 🌈
Новогодний подарок🎁 для вас, софтик небольшой, поддерживает следующие протоколы:
• Lifinity (случайные свапы)
• Underdog (создание NFT со случайными параметрами)
• Официальный мост (EVM -> ECLIPSE)
Софт работает с базой данных sqlite, постарались сделать красиво и удобно, весь прогресс сохраняется там. Все маршруты строятся рандомно, помимо этого есть возможность установить кол-во потоков в конфиге, если у вас много аккаунтов.
Все вопросы пишите в чат, а мы уже активно работаем на расширенной версией этого же софта, где будет большинство протоколов этой сети👍
Канал / Чат / Fragment Monitors / Discord
Новогодний подарок
• Lifinity (случайные свапы)
• Underdog (создание NFT со случайными параметрами)
• Официальный мост (EVM -> ECLIPSE)
Софт работает с базой данных sqlite, постарались сделать красиво и удобно, весь прогресс сохраняется там. Все маршруты строятся рандомно, помимо этого есть возможность установить кол-во потоков в конфиге, если у вас много аккаунтов.
Все вопросы пишите в чат, а мы уже активно работаем на расширенной версией этого же софта, где будет большинство протоколов этой сети
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥36💅5👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍31🔥20🗿1
Eclipse Farmer Plus ➕
Расширенная версия Eclipse Farmer. Постарались добавить как можно больше протоколов, в данный момент доступны:
Eclipse:
• All domains (twitter connect + минт доменного имени)
• Gas station
• Invariant (свапы)
• Lifinity (свапы)
• Orca (свапы)
• Solar (свапы)
• Scope NFT (минт случайных NFT)
• Save finance (deposit/withdraw)
• Underdog (создание NFT)
EVM:
• Eclipse bridge
• Gas.zip
• Relay
Открытый код на Rust, все данные хранятся в БД SQLite, поддерживает многопоточность, все маршруты случайны, суммы и задержки имеют гибкие настройки. Имеется модуль для сбора всех монет в ETH. Функционал будет расширяться.
Поддержка: В случае возникновения вопросов или необходимости помощи, пользователи могут рассчитывать на поддержку от нашей команды.
Цена - 300$. По всем вопросам писать @igorfordly
Канал / Чат / Fragment Monitors / Discord
Расширенная версия Eclipse Farmer. Постарались добавить как можно больше протоколов, в данный момент доступны:
Eclipse:
• All domains (twitter connect + минт доменного имени)
• Gas station
• Invariant (свапы)
• Lifinity (свапы)
• Orca (свапы)
• Solar (свапы)
• Scope NFT (минт случайных NFT)
• Save finance (deposit/withdraw)
• Underdog (создание NFT)
EVM:
• Eclipse bridge
• Gas.zip
• Relay
Открытый код на Rust, все данные хранятся в БД SQLite, поддерживает многопоточность, все маршруты случайны, суммы и задержки имеют гибкие настройки. Имеется модуль для сбора всех монет в ETH. Функционал будет расширяться.
Поддержка: В случае возникновения вопросов или необходимости помощи, пользователи могут рассчитывать на поддержку от нашей команды.
Цена - 300$. По всем вопросам писать @igorfordly
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8🗿1
Eclipse Turbotap 🫴
Софт для тапалки eclipse, основные моменты:
• Поддержка любых прокси
• Многопоточность
• Логика софта абсолютно идентична той, что на фронтенде сайта, переписывалось один в один во избежание бритвы
• Два режима регистрации аккаунтов:
1. Ручной вход в дискорд
2. Регистрация без дискорда (токены не нужны, этот шаг пропускается)
• Хранение нужной информации в бд
• Быстрый on-chain чекер баланса игрового кошелька, оставшихся тапов, общего количества тапов, количества тапов в секунду
• Off-chain чекер привязанных твиттер/дс аккаунтов, пассивного дохода, позиции в лидерборде
Открытый код на Rust.
Цена - 200$, для покупателей eclipse farmer plus скидка 10%. По всем вопросам писать @igorfordly
Канал / Чат / Fragment Monitors / Discord
Софт для тапалки eclipse, основные моменты:
• Поддержка любых прокси
• Многопоточность
• Логика софта абсолютно идентична той, что на фронтенде сайта, переписывалось один в один во избежание бритвы
• Два режима регистрации аккаунтов:
1. Ручной вход в дискорд
2. Регистрация без дискорда (токены не нужны, этот шаг пропускается)
• Хранение нужной информации в бд
• Быстрый on-chain чекер баланса игрового кошелька, оставшихся тапов, общего количества тапов, количества тапов в секунду
• Off-chain чекер привязанных твиттер/дс аккаунтов, пассивного дохода, позиции в лидерборде
Открытый код на Rust.
Цена - 200$, для покупателей eclipse farmer plus скидка 10%. По всем вопросам писать @igorfordly
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🗿5🔥4💅4
Fragment Software
Eclipse Turbotap 🫴 Софт для тапалки eclipse, основные моменты: • Поддержка любых прокси • Многопоточность • Логика софта абсолютно идентична той, что на фронтенде сайта, переписывалось один в один во избежание бритвы • Два режима регистрации аккаунтов: …
Хотелось бы освежить информацию с момента выхода софта ℹ️
– Добавлен режим регистрации на свои инвайт-коды, где сначала регистрируются те аккаунты из пачки, для которых уже есть инвайт-коды, и после успешной регистрации каждый из них экспортирует 3 новых кода. Затем для аккаунтов без кода регистрация выполняется в отдельных потоках с заданной задержкой, а каждый новый аккаунт также генерирует по 3 кода.
– Добавлен циклический режим тапов: в рандомный промежуток [X; Y] тапов аккаунт заснет на рандомный промежуток [M; N] секунд.
– Добавлен лимит тапов за запуск для аккаунта: спустя [X; Y] кликов, аккаунт отключится и не будет использован до следующего запуска
В связи с изменениями, цена повышается до 200$, скидка 10% для владельцев Eclipse Farmer Plus все ещё действует.
Канал / Чат / Fragment Monitors / Discord
– Добавлен режим регистрации на свои инвайт-коды, где сначала регистрируются те аккаунты из пачки, для которых уже есть инвайт-коды, и после успешной регистрации каждый из них экспортирует 3 новых кода. Затем для аккаунтов без кода регистрация выполняется в отдельных потоках с заданной задержкой, а каждый новый аккаунт также генерирует по 3 кода.
– Добавлен циклический режим тапов: в рандомный промежуток [X; Y] тапов аккаунт заснет на рандомный промежуток [M; N] секунд.
– Добавлен лимит тапов за запуск для аккаунта: спустя [X; Y] кликов, аккаунт отключится и не будет использован до следующего запуска
В связи с изменениями, цена повышается до 200$, скидка 10% для владельцев Eclipse Farmer Plus все ещё действует.
Канал / Чат / Fragment Monitors / Discord
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2💅1
Тещу golang (
- Многопоточный режим
- Прокси
- Слип, если кошелек недавно клеймил токены
Может быть добавлю еще и gas.zip кран, если понадобится. Тут для потребителей пост закончился
А теперь небольшое отступление про язык: Go нравится своей простотой и удобством, но система типов, на мой взгляд, через чур слабая — как будто пишешь на Python, а не на строго типизированном языке (Rust
P.S. Или может это я заржавел
Канал / Чат / Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13
История одного антидрейна [part 1]
В один из дней мне написал человек, которому нужна была услуга антидрейна. Ситуация была следующая:
Человек застейкал SOL, однако доступ к приватному кошельку был не только у него, но и у другого человека, который с помощью скрипта выводил застейканую SOL на свой кошелек.
Изучив прошлые транзакции, в которых скамер выводил деньги, я понял, что нужно было просто вызвать инструкцию withdraw в момент разлока. Из интересного: SOL можно было вывести на любой адрес, указав нужный to_pubkey. Обсудив условия, я решил взяться за эту задачу. На подготовку было около пяти дней, поэтому я начал искать способ гарантированно обойти соперника.
Смена owner'а у аккаунта
Многие знают, что в Solana можно сменить owner (владельца) кошелька. Я никогда не углублялся в детали, но слышал, что таким образом даже при наличии приватного ключа кошелек превращается в "кирпич". Поэтому я начал изучать, как это можно сделать.
После некоторого времени я нашел способ сменить owner аккаунта на другую программу. Программы в Solana не имеют приватных ключей — они контролируются upgrade authority (обычно это аккаунт, который деплоил программу).
План был прост:
1. Задеплоить программу с единственной функцией — передачей owner любой другой программе.
2. Перевести owner всех скомпрометированных кошельков на свою программу.
3. Когда нужно — вызвать инструкцию смены owner на System Program, выполнить нужные операции (например, клейм SOL со стейк-аккаунтов), а затем вернуть owner обратно на свою программу.
Получался своеобразный "сэндвич", и я был уверен, что это гарантирует успех.
Проверка гипотезы
Написав реализацию такой программы, я убедился, что это работает с переводом SOL: после смены owner действительно ничего нельзя было сделать. Но затем я решил проверить это с SPL-токенами — и у меня получилось. Почему?
Как устроен аккаунт в Solana
Чтобы понять причину, нужно разобраться в структуре аккаунта в Solana. У каждого аккаунта есть следующие поля: data, executable, lamports, owner, rent_epoch
Если внимательно изучить документацию, становится ясно, что owner может изменять только поле data или уменьшать значение lamports (баланс SOL).
То есть, если в транзакции указать fee payer (тот, кто оплачивает комиссию) — другой кошелек, то стейк без проблем уходит к мошеннику, несмотря на смену owner.
В один из дней мне написал человек, которому нужна была услуга антидрейна. Ситуация была следующая:
Человек застейкал SOL, однако доступ к приватному кошельку был не только у него, но и у другого человека, который с помощью скрипта выводил застейканую SOL на свой кошелек.
Изучив прошлые транзакции, в которых скамер выводил деньги, я понял, что нужно было просто вызвать инструкцию withdraw в момент разлока. Из интересного: SOL можно было вывести на любой адрес, указав нужный to_pubkey. Обсудив условия, я решил взяться за эту задачу. На подготовку было около пяти дней, поэтому я начал искать способ гарантированно обойти соперника.
Смена owner'а у аккаунта
Многие знают, что в Solana можно сменить owner (владельца) кошелька. Я никогда не углублялся в детали, но слышал, что таким образом даже при наличии приватного ключа кошелек превращается в "кирпич". Поэтому я начал изучать, как это можно сделать.
После некоторого времени я нашел способ сменить owner аккаунта на другую программу. Программы в Solana не имеют приватных ключей — они контролируются upgrade authority (обычно это аккаунт, который деплоил программу).
План был прост:
1. Задеплоить программу с единственной функцией — передачей owner любой другой программе.
2. Перевести owner всех скомпрометированных кошельков на свою программу.
3. Когда нужно — вызвать инструкцию смены owner на System Program, выполнить нужные операции (например, клейм SOL со стейк-аккаунтов), а затем вернуть owner обратно на свою программу.
Получался своеобразный "сэндвич", и я был уверен, что это гарантирует успех.
Проверка гипотезы
Написав реализацию такой программы, я убедился, что это работает с переводом SOL: после смены owner действительно ничего нельзя было сделать. Но затем я решил проверить это с SPL-токенами — и у меня получилось. Почему?
Как устроен аккаунт в Solana
Чтобы понять причину, нужно разобраться в структуре аккаунта в Solana. У каждого аккаунта есть следующие поля: data, executable, lamports, owner, rent_epoch
Если внимательно изучить документацию, становится ясно, что owner может изменять только поле data или уменьшать значение lamports (баланс SOL).
То есть, если в транзакции указать fee payer (тот, кто оплачивает комиссию) — другой кошелек, то стейк без проблем уходит к мошеннику, несмотря на смену owner.
1🔥13👍1
История одного антидрейна [part 2]
Смена authority у стейк-аккаунта
Отбросив вариант со сменой owner у кошельков, я начал искать альтернативу. Для этого я углубился в изучение исходного кода Stake Program и обнаружил интересную функцию authorize, которая принимает следующие параметры:
Когда вы стейкаете SOL, создается отдельный стейк-аккаунт — специальный аккаунт для безопасного хранения и делегирования средств. У него есть два важных поля:
• staker — отвечает за деактивацию стейкинга (да, перед выводом средств стейк нужно сначала деактивировать).
• withdrawer — отвечает за вывод средств из стейк-аккаунта.
По умолчанию оба этих поля указывают на кошелек, с которого был активирован стейкинг.
Тестирование идеи
Я создал тестовый кошелек, застейкал SOL и написал скрипт, который менял withdrawer. Воодушевленный, я попробовал сделать то же самое на реальных аккаунтах, но столкнулся с проблемой:
Эти аккаунты отличались от тестового — на них стоял lockup (временная блокировка).
Для смены withdrawer до истечения lockup требовалась дополнительная подпись от custodian (хранителя блокировки), которой ни у кого не было.
Альтернативный план: смена staker
Тогда я решил пойти другим путем — сменить staker, чтобы злоумышленник не мог деактивировать стейкинг. Без деактивации он не смог бы вывести средства даже после lockup'а.
Я успешно изменил staker на всех аккаунтах, но, изучая код Stake Program, наткнулся на важный нюанс:
Вывод:
Для смены staker нужна подпись либо текущего staker, ЛИБО withdrawer.
Это означало, что злоумышленник, имея доступ к withdrawer, всё равно мог изменить staker и обойти мою "защиту".
Оставалось только надеяться, что он не разберётся в этом/не успеет подготовиться.
Смена authority у стейк-аккаунта
Отбросив вариант со сменой owner у кошельков, я начал искать альтернативу. Для этого я углубился в изучение исходного кода Stake Program и обнаружил интересную функцию authorize, которая принимает следующие параметры:
/// Authorize a key to manage stake or withdrawal
///
/// # Account references
/// 0. `[WRITE]` Stake account to be updated
/// 1. `[]` Clock sysvar
/// 2. `[SIGNER]` The stake or withdraw authority
/// 3. Optional: `[SIGNER]` Lockup authority, if updating StakeAuthorize::Withdrawer before
/// lockup expiration
Authorize(Pubkey, StakeAuthorize)
Когда вы стейкаете SOL, создается отдельный стейк-аккаунт — специальный аккаунт для безопасного хранения и делегирования средств. У него есть два важных поля:
• staker — отвечает за деактивацию стейкинга (да, перед выводом средств стейк нужно сначала деактивировать).
• withdrawer — отвечает за вывод средств из стейк-аккаунта.
По умолчанию оба этих поля указывают на кошелек, с которого был активирован стейкинг.
Тестирование идеи
Я создал тестовый кошелек, застейкал SOL и написал скрипт, который менял withdrawer. Воодушевленный, я попробовал сделать то же самое на реальных аккаунтах, но столкнулся с проблемой:
Эти аккаунты отличались от тестового — на них стоял lockup (временная блокировка).
Для смены withdrawer до истечения lockup требовалась дополнительная подпись от custodian (хранителя блокировки), которой ни у кого не было.
Альтернативный план: смена staker
Тогда я решил пойти другим путем — сменить staker, чтобы злоумышленник не мог деактивировать стейкинг. Без деактивации он не смог бы вывести средства даже после lockup'а.
Я успешно изменил staker на всех аккаунтах, но, изучая код Stake Program, наткнулся на важный нюанс:
pub fn authorize(
&mut self,
signers: &HashSet<Pubkey>,
new_authorized: &Pubkey,
stake_authorize: StakeAuthorize,
lockup_custodian_args: Option<(&Lockup, &Clock, Option<&Pubkey>)>,
) -> Result<(), InstructionError> {
match stake_authorize {
StakeAuthorize::Staker => {
// Allow either the staker or the withdrawer to change the staker key
if !signers.contains(&self.staker) && !signers.contains(&self.withdrawer) {
return Err(InstructionError::MissingRequiredSignature);
}
...
Вывод:
Для смены staker нужна подпись либо текущего staker, ЛИБО withdrawer.
Это означало, что злоумышленник, имея доступ к withdrawer, всё равно мог изменить staker и обойти мою "защиту".
Оставалось только надеяться, что он не разберётся в этом/не успеет подготовиться.
🔥13👍1
История одного антидрейна [part 3]
Подготовка к решающему моменту
Я предположил, что скамер не сразу разберётся в ситуации, и у меня будет шанс сменить withdrawer сразу после окончания lockup. Для этого я начал писать скрипт на Rust, который должен был:
Спамить транзакции в многопотоке и использовать skip_preflight = true (это означает, что транзакции будут отправляться без предварительной проверки, что увеличивает скорость)
Ключевые требования к скрипту:
1. Надёжный landing транзакций
• Арендовал ноду со staked-connection (выбрал Urban, так как с Deeznode был негативный опыт).
2. Уникальные сигнатуры транзакций
• Если отправлять одинаковые транзакции, нода будет их фильтровать как дубликаты.
• Решение: добавлял небольшой рандомный unit_price
Rust помог избежать глупых ошибок, но логику пришлось перепроверять несколько раз.
Момент истины
Lockup заканчивался в 00:00 UTC. Я настроил скрипт так, чтобы спам транзакций начинался за 2 секунды до разлока.
Обратный отсчёт: 3... 2... 1...
Проверяю результат — и вижу, что staker и withdrawer остались прежними. При этом, судя по истории транзакций, никто, кроме меня, не пытался ничего изменить. "Скамер сдался?" — подумал я.
Но через 7 минут появились новые транзакции — мой оппонент всё же действовал. Он сменил staker и withdrawer на другие адреса. Это означало моё поражение.
Разбор
На следующий день, несмотря на тильт, я решил разобраться, что пошло не так. Сравнивая свои транзакции с его, я не находил различий — они были идентичны, кроме адресов назначения.
Оказалось:
Последняя моя транзакция была отправлена в 23:59:59.
В 00:00 на кошельке, который оплачивал комиссии, закончился газ.
В решающий момент ни одна транзакция не ушла.
За ~2 секунды я:
• Сжёг ~1 SOL
• Залендил >700 транзакций
Вывод
Cкрипт был слишком эффективен и опустошил баланс раньше времени, я переиграл сам себя. Этот опыт стал для меня ценным уроком, надеюсь, эта история будет полезной (или хотя бы интересной). Всем gl!
Подготовка к решающему моменту
Я предположил, что скамер не сразу разберётся в ситуации, и у меня будет шанс сменить withdrawer сразу после окончания lockup. Для этого я начал писать скрипт на Rust, который должен был:
Спамить транзакции в многопотоке и использовать skip_preflight = true (это означает, что транзакции будут отправляться без предварительной проверки, что увеличивает скорость)
Ключевые требования к скрипту:
1. Надёжный landing транзакций
• Арендовал ноду со staked-connection (выбрал Urban, так как с Deeznode был негативный опыт).
2. Уникальные сигнатуры транзакций
• Если отправлять одинаковые транзакции, нода будет их фильтровать как дубликаты.
• Решение: добавлял небольшой рандомный unit_price
let unit_price = rand::thread_rng().gen_range(3_500_000u64..=4_500_000u64);
Rust помог избежать глупых ошибок, но логику пришлось перепроверять несколько раз.
Момент истины
Lockup заканчивался в 00:00 UTC. Я настроил скрипт так, чтобы спам транзакций начинался за 2 секунды до разлока.
Обратный отсчёт: 3... 2... 1...
Проверяю результат — и вижу, что staker и withdrawer остались прежними. При этом, судя по истории транзакций, никто, кроме меня, не пытался ничего изменить. "Скамер сдался?" — подумал я.
Но через 7 минут появились новые транзакции — мой оппонент всё же действовал. Он сменил staker и withdrawer на другие адреса. Это означало моё поражение.
Разбор
На следующий день, несмотря на тильт, я решил разобраться, что пошло не так. Сравнивая свои транзакции с его, я не находил различий — они были идентичны, кроме адресов назначения.
Оказалось:
Последняя моя транзакция была отправлена в 23:59:59.
В 00:00 на кошельке, который оплачивал комиссии, закончился газ.
В решающий момент ни одна транзакция не ушла.
За ~2 секунды я:
• Сжёг ~1 SOL
• Залендил >700 транзакций
Вывод
Cкрипт был слишком эффективен и опустошил баланс раньше времени, я переиграл сам себя. Этот опыт стал для меня ценным уроком, надеюсь, эта история будет полезной (или хотя бы интересной). Всем gl!
50🔥36👍2