Semolina Code (Python / TypeScript)
7.45K subscribers
9 photos
4 files
100 links
По вопросам: @ahillary
Download Telegram
Starknet практика и работа с пулами ликвидности (урок 17)

Ссылка на видео
Ссылка на код с урока

Мы решили поделиться с вами одним из видео с предыдущего потока, чтобы вы понимали насколько подробно мы разбираем темы и в каком формате происходит обучение

Также мы добавляем разбор практики, чтобы было ещё больше понимания
Кроме практики в видео разбирается очень важная теория по работе с пулами ликвидности (принципы работы применимы для любого блокчейна)

В уроке разберемся разберём практику по starknet:
1) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через jediswap
2) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через swap10k
3) написать функции на добавление и удаление ликвидности через myswap для пар USDT/ETH, USDC/ETH, DAI/ETH

Мы сделаем свап на JediSwap и 1kSwap, поработаем с пулами ликвидности (добавление ликвидности, удаление ликвидности) на MySwap. Разберём что такое AMM и научимся работать с LP парами

Дополнительные материалы:
Что такое AMM

Таймкоды:
00:00 - что будем делать
01:15 - разбор свапа на JediSwap (1/2)
02:33 - длину массива указывать необязательно!!
03:14 - разбор свапа на JediSwap (2/2)
04:08 - реализация свапа на JediSwap в коде (1/2)
09:30 - звёздочки для распаковки в аргументы функции
12:10 - реализация свапа на JediSwap в коде (2/2)
18:46- реализация свапа на 1kSwap в коде
22:46 - разбор транзакции на добавление ликвидности через MySwap
24:20 - как работает AMM
31:20 - реализация добавления ликвидности на MySwap в коде
34:57 - разбор транзакции на удаление ликвидности через MySwap
41:45 - как развернуть LP пару
58:07 - проверка работоспособности
01:00:52 - итоги

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
👍2210🔥3
Для тех, кто спрашивал "а что в приватке"

Чтобы не задалбливать всех в основном канале, решили создать новый канал

Также подробно расписали что именно сейчас есть в приватке 28 софтов под актуальные проекты за 200$ в месяц (пока что)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
👍19👎75🔥4
Galxe > ZkSync

Наконец-то дождались дроп за galxe от проекта Aethir, софт на который был предоставлен по подписке в @arbuzerspublic

Это наше второе попадание в дроп после создания подписки на софты (первый дроп забрали от Aevo)

Мы в самом начале писали, что в эту подписку не будем выкладывать тир-1 проекты и благодаря этому смогли защитить пользователей от дропа в ZkSync 😅

Но на сегодняшний день в подписке есть достаточно много актуальных проектов, которые могут потенциально раздать дроп среди них:
- solana phoenix + hsol на type script
- Linea on-chain прогрев + lxp-l farm
- Aptos pontem на PW с UI касанием
- Bebop
- Base
- Scroll
- много чего ещё
Подробнее можно прочитать тут и тут

Самый интересный софт Linea так как Linea – последний тир1
Кто сказаал что не могут ввести ретроспекивные lxp за автивность в сети? + Супер возможность перелить деньги с ЗК в линею и лутать LXP-L
Мб эта ставка не сыграет, но эта ставка супер дешёвая и грех – не воспользоваться
Если не хотите приобретать подписку, то софт по Linea можно получить отдельно

‼️ если наберём 300 подписчиков в группе, разыграем несколько месячных подписок на софты (по сути получите гитхаб на 30 софтов + чат с поддержкой)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
👍376🔥5🤡3😁2🥰1👏1
Конкурс

Сейчас один знакомый написал, что в web3 софтах на JS/TS нельзя добавить прокси к rpc вызовам

Пробовал на либах web3.js, ethers.js, viem

Мб тут есть сильные JSеры, которые смогут показать пример как добавить http прокси в одну из библиотек (web3.js / ethers.js / viem)

‼️ Условия:
1) Необходимо использовать последние версии библиотек: web3.js / ethers.js / viem (любая на ваш выбор)
2) Использовать http прокси

💰 Приз: 100$ (тому, кто первый пришлет корректный пример работы с прокси мне в лс или в чат)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
8🔥6👍3
Semolina Code (Python / TypeScript)
Конкурс Сейчас один знакомый написал, что в web3 софтах на JS/TS нельзя добавить прокси к rpc вызовам Пробовал на либах web3.js, ethers.js, viem Мб тут есть сильные JSеры, которые смогут показать пример как добавить http прокси в одну из библиотек (web3.js…
Конкурс закрывается

Победитель @fraggdiller 🏆
https://www.oklink.com/ru/arbitrum/tx/0x6d0e1196aef639b2b2f6aa75bab962ab9fe626bfee233e15d0ce61ee129f2940

Получилось прикрутить прокси к ethers.js:

import { HttpsProxyAgent } from 'https-proxy-agent';
import { ethers } from 'ethers';

(async () => {
const proxy = '';
const rpc = '';

let fetchRequest: ethers.FetchRequest;
const agent = new HttpsProxyAgent(proxy);

fetchRequest = new ethers.FetchRequest(rpc);
// fetchRequest.setHeader('user-agent', userAgent);
fetchRequest.getUrlFunc = ethers.FetchRequest.createGetUrlFunc({ agent: agent });

let provider = new ethers.JsonRpcProvider(fetchRequest);
console.log(await provider.getBlockNumber());
})();


SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
👍318👏7
Semolina Code (Python / TypeScript)
Конкурс закрывается Победитель @fraggdiller 🏆 https://www.oklink.com/ru/arbitrum/tx/0x6d0e1196aef639b2b2f6aa75bab962ab9fe626bfee233e15d0ce61ee129f2940 Получилось прикрутить прокси к ethers.js: import { HttpsProxyAgent } from 'https-proxy-agent'; import…
А вот так прокси добавляются в web3.js
Но тут победитель уже я

Осталось только viem добить и будет опять непонятно с какой либой работать


import { HttpsProxyAgent } from 'https-proxy-agent';
import Web3HttpProvider from 'web3-providers-http';
import Web3 from 'web3';

(async () => {
const proxy = '';
const rpc = '';

const httpProxyAgent = new HttpsProxyAgent(proxy);
const options = {
providerOptions: {
agent: httpProxyAgent,
keepAlive: true,
withCredentials: false,
timeout: 20000,
headers: [
['Access-Control-Allow-Origin', '*'],
['accept', '*/*'],
] as [string, string][]
}
};

const provider = new Web3HttpProvider(rpc, options);
const web3 = new Web3(provider);
console.log(await web3.eth.getChainId());
})();


SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
❤‍🔥24👍4👏2
💰 Ещё один конкурс 💰

В этот раз идём по классической схеме и разыгрываем:
5 бесплатных доступов в Arbuzers Private (на 1 месяц)
5 Telegram Premium (на 6 месяцев)

Условия конкурса читайте ТУТ

Также в канале @arbuzerspublic вышел пост о том, что мы сделали за последнее время в приватке:
- Написали публичную библиотеку на Typescript для работы с EVM (библиотека на основе ethers.js)
- Написали софт на Typescript под Solana (meteora + phoenix)
- Написали софт на Typescript под Berachain (куча активностей, включая Faucet)
- Написали софт под BOB (куча активностей)
читать подробнее...

Как вы видите, мы начали использовать TS/JS в работе, а это значит, что скоро выйдет большая серия бесплатных видеоуроков по TS/JS 🥳

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍74🏆2
Я дорос до уровня, когда от моего имени скамят людей

Проблема в том, что буквы L и i в английском языке очень похожи
То есть маленькая буква L - почти то же самое, что и большая i

Заблокируйте или накидайте жалоб на этого клоуна @ahiIIary

❗️❗️❗️В СПОЙЛЕРЕ СКАМЕРСКИЙ АККАУНТ
МОЙ АККАУНТ УКАЗАН В ШАПКИ ЭТОЙ ГРУППЫ ❗️❗️❗️

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
😁38👍8😱3🤬2😨2🥰1🙉1
Долой "глупые" вопросы!!

Если вы новичок в коддинге и не понимаете:
- Как установить python
- Что такое виртуальное окружение
- В чем разница между venv и virtualenv
- Как устанавливать библиотеки в python
- Как запустить софт

Специально для вас я подготовил небольшой гайд, где разобрал все эти вопросы на Unix системах (Linux и Mac OS), а также на шайтан машине Windows

В статье есть способы решения наиболее часто встречаемых ошибок поэтому после прочтения статьи у вас уже не возникнет вопросов о том как запусить софт на python

➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ

P.S Используйте этот пост как ответ любому новичку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
47🔥12👍7🙏2
Semolina Code (Python / TypeScript)
Долой "глупые" вопросы!! Если вы новичок в коддинге и не понимаете: - Как установить python - Что такое виртуальное окружение - В чем разница между venv и virtualenv - Как устанавливать библиотеки в python - Как запустить софт Специально для вас я подготовил…
Как запустить софт на JavaScript/TypeScript?

Продолжаем рубрику "Долой "глупые" вопросы!!"

В первой части мы был разобран python

В этой части мы поговорим про JavaScript/TypeScript и переферийные технологии (CSV, JSON, Базы данных)

Если вы новичок в коддинге и не понимаете:
- Как установить node js
- Как установить JavaScript/TypeScript
- Что такое CSV
- Как редактировать CSV файл
- Что такое база данных
- Как читать/изменять записи в базе данных
- Что такое JSON и чем он так удобен
- Как запустить софт на JS/TS

Специально для вас я подготовил небольшой гайд, где разобрал все эти вопросы на Unix системах (Linux и Mac OS) и Windows

➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ

P.S Используйте этот пост как ответ любому новичку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥188👍6
Про контент

За эти 2.5 месяца лета я очень сильно прокачал свои хард скиллы (не только в python, но и в других ЯПах JS SOON) и даже успел отдохнуть

Во время отдыха и вправду приходит очень много идей и в моём случае это идеи для контента (как бесплатного контента в канал, так и идеи направленные на улчшение платного обучения и вывода его на новый уровень)

У меня образовался очень большой список с идеями и мне супер важно найти пересечения с вашими интересами, чтобы у нас получился win-win

Поэтому в четверг я подготовлю маленькую форму, чтобы собрать фидбек, который повлияет как на меня, так и на канал, контент и платные продукты

P.S. Я сам не большой любитель заполнять формы так как есть ощущение, что они ни на что не влияют
Но я гарантирую, что каждый ваш ответ в этой форме привнесет огромное велью, как минимум, лично мне ❤️

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
60🍌3❤‍🔥2🔥2👍1
Повлияй на мой контент

Главная причина по которой я веду данный канал - я хочу быть полезным

Возможно, я уже как-то помог лично тебе или помогу в ближайшем будущем

Чтобы я, мой канал и мои продукты приносили ещё больше велью, я подготовил небольшую анкету и прошу вас её пройти так как именно эта анкета позволит мне понять что конкретно актуально для каждого из вас на текущей стадии рынка

Прочитав ваши ответы, я смогу построить правильный контент-вектор и достичь просветления 🧘

За прохождение анкеты вы получите небольшую статтю о том, «почему смарты выбирают коддинг» 🍬

➡️ АНКЕТА
➡️ АНКЕТА
➡️ АНКЕТА

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185🔥2
Чит на бесконечный деньги в berachain

Когда я писал софт по берачейн, я допустил ошибку и отправил транзакцию на свап нативного токена без указания value

Как итог, транзакция прошла успешно, баланс нативного токена не изменился, а баланс токена, на который свапал, увеличился

Но счастье длилось не долго так как оказалось, что баланс нативного токена не изменился только в метамаске (также он не изменился при получении баланса через web3.eth.balance())

Итог следующий: таким образом вы можете себе накрутить бесконечный баланс в сети berachain, но потратить эти деньги нельзя

Подробную информацию по этой ошибке с шагами воспроизведения я написал в bag report

Вывод: пишите код самостоятельно и не бойтесь совершать ошибки. Как минимум ошибка принесет вам опыт, а как максимум профит
Почти все “дыры” в проектах программисты находят абсолютно случайно, а в web3 подобная “дыра” может выйти в копеечку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
6041👍9🔥6
Блиц, блиц, скорость без границ!

Недавно я проводил анкетирование в канале и один из вопросов был: "Если ты окажешься со мной в одной чайной - какой вопрос ты бы задал?"
(хотя я предлагал написать: "Если бы мы с тобой сидели в баре, пили пиво, какой вопрос ты бы задал?")

Я решил ответить на несколько вопросов прямо тут
Если формат зайдет, сделаю вторую часть

Чем бы ты занимался, если бы не крипта?

Программирование. Кроме крипты я ещё много чем занимаюсь и везде использую программирование

Глаза болят?

Вообще нет (пользуюсь macbook pro)

Правильно ли я делаю то что в 15 лет уделяю много времени крипте, может действительно надо кайфовать от жизни (девочки, семья, друзья, бухать, курить, лазить по крышам, заебывать бомжей итп)

Надо искать баланс. Отдых и нетворкинг тоже играет большую роль. Но лично я на 100% ушел в работу/учебу только в 17 лет. До этого "кайфовал от жизни"

Рассказать самую интересную ситуацию где ты получил прибыль с помощью кодинга

Если говорить про "самую интересную", а не "самую прибыльную", то эта ситуация, когда мне предложили написать арбитражный сканер для фондовой биржи. Я попросил за него 70$ и был счастлив. Но в итоге заработал с этого сканера несколько сотен $

Сколько изучал программирование и как начинал

Я программирование до сих пор изучаю, а начинал с того, что в вузе нужно было сдавать лабораторные работы по C++
В итоге пришлось разобраться, а там пошло-поехало

Попросил бы совет, чем заняться, в какое направление углубиться, когда у тебя есть много поверхностых знаний, которые не позволяют монетезировать себя

Если нет направления, которое приносит тебе хотя бы 1000$-2000$ в месяц, нужно хвататься за всё подряд. Как только что-то такое появится, нужно сосредоточиться на этом направлении и пытаться прокачать его до 10-20к$ итд

Как ты стал тем, кто ты есть. Смог бы ты сделать это без приватки

хз что тут имелось в виду, но думаю, что я бы смог сделать "это" без приватки)
А как я стал тем, кто есть: я много работаю и стараюсь быть честным с другими людьми. Ещё очень сильно помогло общение. Во многие сферы, которыми я занимаюсь или занимался, меня привели хорошие знакомые

Сколько тебе лет?

25

был ли продан данный канал, т.к. такие "анкеты" почти всегда для
того, что бы узнать неизведанную аудиторию

Канал не был продан и не будет)
Когда курс по js выйдет, будет понятно, что точно не продан

Какие есть сейчас актуальные темки

На текущем web3 рынке я не вижу чего-то, что точно даст большой профит (но летом всегда тухлый рынок и основные активности начинают появляться с осени)
Я занимаюсь не только криптой. И когда в крипте нет очевидных "no brain идей", я вкладываю силы в улучшение hard и soft скиллов.
Но если говорить про "темки", то я сейчас продолжаю торговать в пропе, чтобы обеспечить стабильный доход

обсудил бы концепцию торговых ботов и алготрейдинга
наверное рассказать про то как ты копитрейдинг арбитражки писал, если я не путаю ничего. Было бы интересно подробнее послушать про тех детали + в принципе там мысли (хз) когда софт кодил

Основная идея алготрейдинга - алгоритм. Должна быть инструкция по которой бот принимает решение о покупки/продажи. Для анализа информации я просто использовал API различных торговых сервисов (оттуда получал дивиденды, новости, цены активов) также парсил новости из телеграм каналов. Просмотр стакана и выставление заявок тоже происходило через API
По стратегиям: я не люблю трейдинг/скальпинг так как это обычно лудка. Для меня самый большой 🚩, если кто-то использует выражение "я так чувствую", когда объясняет стратегию. Я слышу эту фразу как "я не понимаю что делаю". Поэтому если мне кто-то предлагает реализовать стратегию, мне важно следующее:
1) Стратегия основана на неэффективности рынка
2) Стратегию можно перенести на блок-схему

обсудил бы концепцию торговых ботов и алготрейдинга

Я в этой сфере уже 4 года и есть очень много чего, что могу расказать
Чтобы не захламлять чат алготрейдингом, можете задавать вопросы тут

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
18👍45🔥1412😁3
Новый вызов

Мы с командой решили запустить небольшой челендж и показать как знание кода упрощают заработок в сфере web3 (даже в общеизвестных проектах)

Мы будем автоматизировать проект Х (название проекта закинем в группу how_to_code_web3) с помощью python. Помимо заработка в моменте, проект Х и связанные с ним в будущем раздадут дропчики

Наша цель – показать вам внутрянку разработки. Показать как пишется код и как заказ с техническим заданием на 4 часа превращается в заказ на 2 недели
Всё это мы приправим проектом Х, который позволит нам заработать денег или потерять. В любом случае понаблюдать за этим стоит

‼️ Также под эту движуху мы возьмём случайного подписчика, который вместе с нами окунётся в эту внутрянку, получит доступ к коду, пообщается с разработчиком, столкнется со всеми трудностями запуска кода итд
Опыт неважен. Мы всему научим и всё покажем

Место, где пройдет челлендж и выйдет анкета - это наш канал по кодингу how_to_code_web3
От вас не требуется ничего, кроме подписки


На что мы можем надеяться?

Исход 1: Мы не сможем заработать на проекте в моменте, мы не попадём под критерии дропа и останемся в нуле.
Даже при таком исходе мы получим огромный опыт автоматизации + будет не так обидно так как мы не тратим на проект месяцы жизни - проект будет полностью автоматизирован.
Да, в крипте нужно быть готовым к подобным исходам так как крипта – это не стабильный завод

Исход 2: Мы заработаем в моменте или заберём дроп.
В принципе неплохой исход, при котором мы так и так будем в плюсе

Исход 3: Мы заработаем и в моменте и на дропе.
Лучший исход так как мы тут получим максимальную прибыль при минимальных временных затратах

Какой бы исход не произошел, мы 100% получим колоссальный опыт

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
2357🔥27👍6
Всё готово к началу челенджа

Надеюсь, вы помните про челендж, который мы запускаем в канале how to code

В чем смысл челенджа?
Смысл челенджа заключается в том, чтобы выбрать человека максимально далекого от программирования, но с максимально горящими глазами и мотивацией и помочь ему автоматизировать какой-нибудь перспективный крипто проект

Какой проект выбрали?
Критерии выбора проекта были следующие:
- проект ещё не выдал дроп (то есть мы должны претендовать на раздачу денег в будущем)
- проект может накормить здесь и сейчас (нам ведь нужно вам какой-то результат показать)

Подробно о том, какой проект мы выбрали и почему именно его, мы расписали тут

Кто наш счастливчик?
Наш выбор пал на Александра
Александру 29 лет и он работает дезинфектором
Его анкета вдохновила нас больше всего. В ней сильно ощущалось желание выйти из этого порочного круга и начать зарабатывать не руками, а головой. Александр уже пробовал разобраться в кодинге самостоятельно, но у него не получалось

Анкету Александра, его историю и даже его фотографию вы можете посмотреть тут

Я уверен, что это будет интересный челендж и не только Александр в нём чему-то научится, но и мы все (как организаторы, так и наблюдатели)

Знакомство с Александром в формате лайв стрима пройдёт на канале how to code сегодня в 17:30 (MSK UTC+3) (через 10 минут!!!)

Это будет стрим, где каждый сможет задать вопросы Александру и понять для себя важные вещи по кодингу. И по другим жизненным вещам
Буст мотивации обещаем

Все вопросы можно задавать в комментарии группы how to code (первый раз за всё время их открываем)

Присоединяйтесь и пожелайте нам удачи

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
15👍23🔥87😁1🙏1
AMA сессия (16.10 18:00 MSK)

Как вы помните, 2 недели назад мы запустили челендж, в рамках которого мы поручили новичку в программировании написать код под автоматизации криптопроекта (Meteora)
На данный момент мы готовы подвести промежуточный результат так как код уже готов

Мы решили сделать эту AMA сессию максимально интересной и поэтому в ответах на вопросы будут участвовать:
- создатель обучения
- счастливчик
- ученик первого потока
- ученик второго потока

Исходя из опыта проведения 3-х потоков обучения, работы с новичками в сжатые сроки, мы готовы назвать главный секрет быстрого обучения коддингу

Главный секрет это – вопросы ментору
Именно вопросы позволяют вам быстро прогрессировать и не тратить десятки часов на поиск ответов

Каждому спикеру AMA сессии вы можете задать вопрос через форму
Не стесняйтесь и задавайте абсолютно любые вопросы (можно анонимно)
Мы постараемся ответить на каждый

➡️ ЗАДАТЬ ВОПРОС

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥9👍5
Крайний поток в этом году

Мы переосмыслили подход, обновили программу, сняли новые уроки на актуальные темы, позвали экспертов в узких темах, подготовили призы и ещё много разных плюшек

На данный момент мы уже провели челендж, в котором обычный дезинсектор с нулевыми знаниями в коддинге за 2 недели написал код, который сейчас приносит нам пассивный доход + возможно мы получим дроп

Также мы сделали большую AMA сессию с учениками 0, 1 и 2 потока, модератором обучения и двумя счастливчиками, которые написали тот самый код (во время AMA сессии кое-кто засветил очень сильную схему по заработку)

Таким образом, мы показали, что зарабатывать с помощью коддинга можно на любой фазе рынка и научиться это делать не так сложно

Начать очень просто и если вы хотите сделать это вместе с нами, то обязательно приходите на текстовый вебинар, который пройдет завтра (28.10) в 18:00 MSK

Подробности о челлендже и текстовом вебинаре вы можете найти тут

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
😁2814👍7💩6🔥4🤡4
Ну что? Погнали? JS/TS

Урок 1 (TypeScript)

Настройка окружения (NodeJS, npm, npx) и основные команды

Ссылка на видео
Методичка в notion: Окружение

Это первый урок по JS/TS. В этом уроке мы настроим окружение для работы. Также мы рассмотрим основные команды NodeJS, научимся управлять пакетами пакетами (npm - Node Package Manager) и рассмотрим npx (Node Package Execute)

00:00 - что будем делать?
01:44 - полезные материалы по JS/TS
03:01 - с чего начать изучение JS/TS?
04:13 - редакторы кода JS/TS
05:19 - консоль разработчика
06:21 - установка окружения для работы с JS/TS
06:43 - что такое NodeJS?
07:38 - основные команды NodeJS
09:29 - создание файла package.json
13:11 - установка сторонних пакетов через npm
16:07 - основные команды для работы с пакетами
18:37 - запуск скриптов из package.json
20:30 - утилита npx
22:08 - установка пакетов глобально
22:59 - итоги

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
17112🔥49❤‍🔥16👍6😭1😨1