🎧Главное за сегодня:
🗽Хроники#BTC#ETH#ETF:
- Grayscale представила поправки к Трастовому соглашению #GBTC
- Hashdex встретились с SEC
- SEC подтвердила заявку на спот ETH-ETF
🔥#BTC MicroStrategy приобрела 16 130 BTC
🏦#BNB Binance запустили пилотную программу банковского хранения залога
🇬🇧#HOOD Robinhood снова пробует запуститься в Великобритании
🇮🇳#ALGO Фонд Algorand расширяет свое присутствие в Индии
🇧🇷 Бразилия введет 15% налог на криптодоходы, хранящиеся на оффшорных биржах
🇰🇿 Canaan возобновляет добычу #BTC в Казахстане
🇧🇷#GLMR Moonbeam, DUX и Grupo RÃO запустили программу лояльности Web3 в Бразилии
🇦🇪 Fasset получили лицензию VASP в Дубае
🇺🇸#макроСША:
- PCE Price index (окт):
- м/м: 0% (пред: +0.4%)
- г/г: +3% (пред +3.4%);
- Initial Jobless Claims: 218 тыс (пред 209 тыс)
🏴☠#KNC Хакер KyberSwap хочет получить полный контроль над протоколом
🆕 UPBIT листит#ID🚀
💰#HOOK Hooked запустит экосистемный фонд на 50 млн $
🏴☠Взломан горячий кошелёк Nobitex
🙋♂#ARB RARI запустил L2 RARI Chain на Arbitrum
🥳#SXP Solar Banking и Solar Card готовы к тестированию
🦾 AntPool возместит рекордную комиссию в размере 3 млн $ в #BTC
🙋♂ CoinList открыл регистрацию для BitsCrunch
🙅♂#WHITE Whiteheart закрывается
🔄#INJ Injective скоро выпустит "крупнейшее обновление" основной сети
🥳#FOREзапустили свою платформу прогнозирования
📱#GAL Мобильное приложение Galxe доступно на Android и TestFlight
🥳#COTIзапустили COTI Foundation
🙋♂#YFI#MAIC Yearn v3 запущена на Polygon
👀#STORJанонсировали Storj Select
🥳#DATA Streamr принят в программу запуска Web3 Google Cloud
🤝Партнёрства:
- #ACH Alchemy Pay запартнёрились с SEPA🚀
- #ALGO Algorand запартнёрились с ПРООН и URECA🇲🇳
- #UNI Uniswap Labs запартнёрились с Talos
- #MNT#GAL Galxe сотрудничает с Mantle
- #EURSсотрудничает с Stellar #XLM
- #QUICK#MANTA QuickSwap интегрирует Steer Protocol (Manta Pacific)
- #NEARзапартнёрились с #PYTH
#CPOOL#OKB#OKT Web3 Wallet OKX интегрирован с Clearpool
- #SEIзапустили Bug Bounty Program в партнерстве с Immunefi
- #LINK SAO запартнёрились с Chainlink
🕵♂Активность китов и SmartMoney:
- На Coinbase заводят#BTC на сотни млн $
- новый кошелёк накопил 10 796 #BTC
- 100 000 #ETHвывели с Coincheck и 30 000 #ETHвывели с BitDao
- Cumberland перевели 1,8 млн #OP на CEX
- кит выводит свою крипту с Binance
- команда #HOOKзаводит токены на Binance
- кошельки выводят#ID с бирж для подготовки к депозиту на Upbit
- мультиподписной адрес участника #MEMEперевел на новый адрес 1,034 млрд MEME
- ARK закупает акции Robinhood #HOOD и продаёт #COIN
📊Графики:
- топ-100 кошельков #TUSDпродали 28% своих холдингов
- киты активно накапливают#MATIC🐳
- более 75% игр Web3 оказались неудачными🎮
- ТОП проектов по росту TVL в ноябре
💰Сборы средств:
- #POKTGrove - 7,9 млн $
- MITH - 3,5 млн $
✏️События на завтра:
🔓 Разлок: 1inch (#1INCH) - 9,48% of Circ.Supply ($35,52m)
- Hedera (#HBAR) - 0,54% of M.Cap ($11,51m)
- SKALE (#SKL) - 2,81% of M.Cap ($6,65m)
- Vulcan Forged (#PYR) - 0,84% of M.Cap ($1,34m)
- Aurory (#AURY) - 1,63% of M.Cap ($1,11m)
- Solend (#SLND) - 6% of M.Cap ($1,99m)
- StakeWise (#SWISE) - 4,87% of M.Cap ($1,51m)
- Immutable (#IMX) - 2,94% of M.Cap ($50,68m)
- Hooked (#HOOK) - 27,07% of M.Cap ($15,53m)
- Acala (#ACA) - 3,31% of Circ.Supply ($1,62m)
- Dydx (#DYDX) - 81.63% of Cir. Supply ($505.5M)
🥳 Arbitrum (#ARB) финальный клейм NFT Arbitrum Odyssey
🥳 Radiant Capital (#RDNT) готовит анонс (или 3 декабря)
🔛 Obol Network - Запуск открытой бета-версии основной сети
- UBXS (#UBXS) - Запуск рынка недвижимости Bixos
🔄 BNB Chain (#BNB) - Хард-форк
🧯 Ternoa (#CAPS) - Сжигание токенов
- SaitaRealty (#SRLTY) - Сжигание токенов
- Platform of meme coins (#PAYU) - Сжигание токенов
🍿#ETH#BTCПятничная экспирация
🔁 Medibloc (#MED) - Миграция токенов
🇩🇪 Manufacturing (PMI) (нояб) - 11:55мск
🇪🇺 Manufacturing (PMI) (нояб) - 12:00мск
🇬🇧 Manufacturing (PMI) (нояб) - 12:30мск
🇺🇸 Manufacturing (PMI) (нояб) - 16:45мск
- ISM Manufacturing (PMI) (нояб) - 17:00мск
- Выступление главы ФРС Пауэлла - 19:00мск
🏝🤖 На сайте Android Developers обновили материалы по Kotlin Multiplatform:
👉 Обновили главную страницу
👉 Появился базовый курс по KMP (бесплатный)
👉 Обновленные руководство по использованию Jetpack библиотека с поддержкой KMP
#android#kmp
📹Android Developers Backstage 215. KMP. Have your code and eat it too
Software Engineers Dustin Lam и Yigit Boyar присоединяются к ведущему Tor Norbye, чтобы обсудить Kotlin Multiplatform (KMP).
0:00 - Введение
0:29 - Что такое KMP: не новый продукт, а Kotlin с новыми возможностями
3:20 - Зачем нужен KMP: преимущества и цели
6:17 - KMP vs. другие кроссплатформенные фреймворки
6:41 - Общая бизнес-логика — основной сценарий использования
9:18 - Практическое внедрение: превращение Android-приложения в KMP
13:15 - Работа с платформо-специфичными зависимостями
28:56 - Поддержка библиотек в Kotlin Multiplatform
35:56 - Developer Experience: инструменты и интеграция
40:16 - Совместимость с iOS: как добиться взаимодействия
42:51 - KMP в действии: как Google использует эту технологию
47:17 - Долгосрочное видение и потенциал KMP
51:30 - Консистентность поведения vs. нативная производительность
55:32 - Попробуйте KMP и присоединяйтесь к разработке!
#android#kmp
Reanimator - простоя библиотека для Jetpack ViewModel (с поддержкой KMP) для работы с состоянием. Подробный разбор в статье (EN,11м) или альтернативной ссылке
@Serializable
data class MyUiState(
// Persistent
val data: List<String> = emptyList(),
val selectedItem: String? = null,
// Transient
val isLoading: Boolean = false,
val error: String? = null
)
class MyViewModel(private val savedStateHandle: SavedStateHandle) : ViewModel() {
// Define which properties are transient
private val transientProps = listOf("isLoading", "error")
// Declare your state flow - Reanimator handles the rest!
private val _uiState by savedStateHandle.getMutableStateFlow(
defaultValue = MyUiState(), // Initial/default state
coroutineScope = viewModelScope, // Scope for saving changes
transientProperties = transientProps // What NOT to save
// key = "custom_state_key" // Optional: custom key
)
val uiState: StateFlow<MyUiState> = _uiState.asStateFlow()
// ... rest of your ViewModel logic ...
fun updateData(newData: List<String>) {
// Just update the state - Reanimator saves persistent parts automatically
_uiState.update { it.copy(data = newData, isLoading = false) }
}
}
#android#kmp
🚀Вышел Jetpack Window Manager 1.4 - библиотека для работы с разными форматами устройства и несколькими окнами с поддержкой KMP
Что нового в свежей версии:
👉 Улучшения Activity Embedding
👉 Улучшения API WindowMetrics
👉 Улучшили API для тестирования
#jetpack#kmp
📹Compose/iOS готов к продакшену? Прямой эфир с ответами на вопросы
Когда: четверг, 8 мая, 18:30 (GMT+3)
Буквально вчера вышел Compose iOS Stable и конечно же открывает возможности Android разработчиками по написанию мобильных приложений под обе платформы. Но всё ли так сладко, как заявляет JetBrains? Будем разбираться в этом с экспертом кто уже познал прелести продакшена!
👨💻 Эксперт - Никита, фуллстек Kotlin разработчик, автор проектов FlowMVI и respawn.pro. При анонсе Compose iOS Stable, его приложение было в официальном анонсе 🔥
👨💻 И еще одни эксперт - Чикишев Тимур, Senior Android разработчик в KTS. Начал пробовать Compose iOS еще до официального релиза. Успел адаптировать Android приложение с Compose на iOS, буквально на этой неделе сделали релиз
Задавайте свои вопросы в комментариях к посту, чтобы они были заданы на эфире
#android#compose#kmp
Вышел Coil 3.1.0 - популярный загрузчик картинок с поддержкой KMP
👉Улучшили производительность AsyncImage: скорость работы стала лучше на 25-40%, а потребление памяти - на 35-48%
👉 FakeImage теперь deprecated
👉 Появился ColorImage - полезен для возвращения фейковых значений в тестах и для Compose превью
👉 coil-compose-core больше не зависит от Dispatchers.Main.immedate, что позволило исправить баги в работе Paparazzi и Roborazzi
🛠 Множество других исправлений и улучшений API
#kmp#android#compose
🤯 Те кто использовал Jetpack Paging 3 знают насколько он может справиться только с базовыми сценариямми. Шаг влево или вправо - уже боль!
Сегодня хочу познакомить вас с альтернативой — библиотекой 🐱Paginator. Это KMP-решение для пагинации, которое решает те самые проблемы, где Paging 3 начинает "буксовать".
Paginator построен на отличной модели от Jetpack Paging 3: страница — это адресуемая ячейка в кэше, кэш — обычная структура данных, а навигация — обычные методы.
1️⃣✅ Адресуемые страницы
Прямые методы goNextPage(), goPreviousPage() и jump(Bookmark). Deeplink на сообщение из пуша решается одной строкой.
2️⃣✅ Мутации по запросу
MutablePaginator предоставляет CRUD-операции: replace { it.id == 42 }, removeWhere { it.deleted }. Один лайк меняет один элемент без инвалидации всей страницы.
3️⃣✅ Сохраняемое состояние
Кэш — обычная структура данных, которую можно сериализовать через kotlinx.serialization. Методы serializeToJson() и restoreFromJson() решают проблему Process Death без плясок с бубном.
4️⃣✅ Библиотека, а не фреймворк
Написан на чистом Kotlin без платформенных зависимостей и живёт в commonMain. Логика пагинации становится частью общего доменного слоя KMP, не копируется между платформами и не имеет двух реализаций.
5️⃣✅ Курсорная пагинация "из коробки"
Отдельный класс CursorPaginator с единой моделью состояний, транзакций и сериализации.
Paginator — это не обёртка над Paging 3. Это другая модель, переосмысливающая ключевые типы. Обёртка просто не смогла бы дать ни мутации элемента, ни сериализации кэша.
🔗Оригинальная статья на Хабре
🐱Репозиторий Paginator
#Android#AndroidDev#KMP
🤯Команда Anvil решила прекратить развитие проекта в пользу другого решения
Anvil - Kotlin плагина для расширения возможностей Dagger 2 и упрощения работы с ним решили прекратить развивать. Коллега автором решения сделал Metro и компания будет переходить на него и участвовать в его развитии.
Metro - это compile-time DI фреймворк с поддержкой KMP, который вдохновлялся Dagger, Anvil, Kotlin-Inject.
#di#kmp