- Работа в 20 EVM сетях
- Поддержка более 10 000 щитков
- Безумный чекер балансов (Как нативки, так и токенов)
- Сборка мусора -- свапы через Odos и Sushiswap V2
- Автоматическое определение целесообразности свапа (Если транзакция дорогая, свап не произойдет)
- Отправка нативки на нужный адрес
- Бридж ETH под ноль через Relay/Stargate Bridge
- Подтягивать токены для 20 EVM сетей и проверять балансы
- Выводить в консоль баланс нативки и ненулевые балансы токенов
Настройка происходит в GarbageCollectorConfig
. Можно выбрать какие сети нужно исключить из перебора
Tip
chainsToExclude
Помимо простого исключения сетей формата ['chain1', 'chain2', ... ]
можно проверить балансы только одной. Для этого нужно вписать название нужной сети с восклицательным знаком: ['!chain1']
. В таком случае проверится баланс только в chain1
.
chainsToExclude = []
(Остальные переменные не влияют на чекер)
- Подтягивать токены для 20 EVM сетей, проверять балансы кошелька и обменивать токены в нативку сети через Odos и Sushiswap
Настройка происходит в GarbageCollectorConfig
. Можно выбрать:
- какие сети нужно исключить из перебора
- какие токены нужно игнорировать
- проводить ли обмен через Sushiswap V2, если невозможно обменять на Odos
Tip
chainsToExclude
Помимо простого исключения сетей формата ['chain1', 'chain2', ... ]
можно собрать мусор только в одной. Для этого нужно вписать название нужной сети с восклицательным знаком: ['!chain1']
. В таком случае проверится баланс и сделаются свапы только в chain1
.
tokensToInclude
В получаемых токенлистах могут не содержаться некоторые токены (напр. BTCb). Если вы знаете о каком-либо токене, который обязательно нужно собрать, советую его добавить в список таким образом: ['0x_token_address', '0x_another_token_address']
tokensToIgnore
В этот массив нужно добавить адреса тех токенов, которые вы бы не хотели обменивать на нативные монеты.
trySushi
Если Odos не способен выполнить обмен, он может быть выполнен на SushiSwap v2. Будьте осторожны, поскольку пулы на SushiSwap могут быть с низкой ликвидностью. Не пытайтесь обменивать там хоть сколько-нибудь дорогие токены.
Например, собирая мусор только в сети Zksync, я не хочу, чтобы скрипт продал $ZK. Тогда настройка будет выглядеть так:
chainsToExclude = ['!Zksync']
tokensToIgnore = ['0x5a7d6b2f92c77fad6ccabd7ee0624e64907eaf3e']
- Подтягивать токены для 20 EVM сетей, проверять балансы кошелька и обменивать токены в нативку сети через Odos и Sushiswap, а затем отправлять нативный токен по указанному адресу.
Caution
Для работы этого модуля вам необходимо добавить адреса в файл privates.txt по формату: private_key,receiver
Настройка происходит в NativeSenderConfig
. Можно выбрать:
- какие сети нужно исключить
- Сумму отправки
- Минимальную сумму отправки в долларах
- Вычитать ли из отправляемой суммы комиссию за транзакцию
Tip
chainsToExclude
Помимо простого исключения сетей формата ['chain1', 'chain2', ... ]
можно собрать мусор только в одной. Для этого нужно вписать название нужной сети с восклицательным знаком: ['!chain1']
. В таком случае проверится баланс и сделаются свапы только в chain1
minToSend
Минимальная сумма для отправки в USD! Поставьте 0, чтобы отключить
values
Это значение можно задавать как в числах, так и в процентах.
Значение в числах: {from: '0.1', to: '0.2'}
- Отправим от 0.1 до 0.2 нативной монеты
Значение
8608
в процентах: {from: '90%', to: '100%'}
- Отправим от 90% до 100% всего баланса нативной монеты
deductFee
Вычитаем ли из отправляемой суммы комиссию транзакции? Для отправки всего баланса ({from: '100%', to: '100%'}
) нужно поставить true
Например, собирая мусор только в сети Zksync, я хочу, чтобы скрипт отправил весь баланс на биржу, но не отправлял, если сумма меньше 1$. Тогда настройка будет выглядеть так:
chainsToExclude = ['!Zksync']
minToSend = '1'
values = {from: '100%', to: '100%'}
deductFee = true
- Отправлять ETH по сетям, где ETH является нативной монетой (Убедитесь в доступности маршрута на сайте relay или stargate)
Настройка происходит в BridgeConfig
. Можно выбрать:
- Из каких сетей отправлять ETH
- В какую сеть отправлять ETH
- Какой мост использовать и задать его настройки
- Отправляемую сумму
- Вычитать ли из отправляемой суммы комиссию за транзакцию
Tip
bridgeType
Выбираем мост, которым будем перекидывать (Stargate/Relay)
bridgeSpecificSettings
Задаем настройки выбранного моста (Пока только для Stargate). У Stargate есть 2 режима: fast и economy. Fast -- быстрый и дорогой, economy медленный и дешевый
fromNetworks
Нужно перечислить сети, из которых отправляем эфир.
toNetwork
Указывается одна сеть, куда отправляется эфир.
minToBridge
Задается сумма эфира, ниже которой не будет происходить отправка.
values
Это значение можно задавать в числах, в процентах и в "остатке".
Значение в числах: {from: '0.1', to: '0.2'}
- Отправим от 0.1 до 0.2 нативной монеты
Значение в процентах: {from: '90%', to: '100%'}
- Отправим от 90% до 100% всего баланса нативной монеты
Значение в остатке: {from: '-0.001', to: '-0.002'}
- Отправим от весь баланс, оставив от 0.001 до 0.002 эфира (хорошо сочетается с minToBridge
)
Значение минимального баланса в сети назначения: {from: '+0.1', to: '+0.2'}
- в сети назначения хотим баланс от 0.1 до 0.2. Если баланс выше минимального желаемого, никаких действий не будет выполнено
deductFee
Вычитаем ли из отправляемой суммы комиссию транзакции? Для отправки всего баланса ({from: '100%', to: '100%'}
) нужно поставить true
При выводе ETH под ноль из Zksync и Arbitrum nova в Linea настройки будут такими:
bridgeType = "Relay"
(Stargate не поддерживает Zksync и Arbitrum nova)
fromNetworks = ['Zksync', 'Nova']
toNetwork = ['Linea']
values = {from: '95%', to: '98%'}
deductFee = true
- Переименовать
proxies.example.txt
-->proxies.txt
privates.example.txt
-->privates.txt
config.example.ts
-->config.ts
- Установить зависимости
npm i
- Запустить скрипт
npm run start
- Выбрать необходимый сценарий нажав Enter
telegram: https://t.me/findmeonchain
donos: 0x00000c7c61c5d7fbbf217ab9fc64f6016390d4ba
Я не несу какой-либо ответственности за написанный код. Вы можете потерять деньги при его использовании. Запускайте только на свой страх и риск и если действительно знаете, что делаете.