Пересмотр макросов proc - добавлено версионирование аккаунтов в @anchorlang. Аккаунты, помеченные #[account(versioned)], теперь могут эволюционировать свою схему со временем. Поля используют #[added(vN)], чтобы указать, когда они были введены. Три режима инициализации: - #[added(v2)] → Default::default() - #[added(v2, init_to = expr)] → Статическое значение времени компиляции - #[added(v2, init_from = "authority")] → Инициализация во время выполнения из контекста Преимущества - Эволюция схемы без нарушения данных. Ноль кода миграции. Автоматическая инициализация полей из контекста. Обратная совместимость между версиями. Код будет представлен скоро после еще нескольких раундов тестирования. @jacobvcreech, как вы думаете, это было бы полезно в официальном anchor? Это был отличный опыт обучения. Я пересмотрел макросы proc, одновременно понимая, как макрос аккаунта в #anchor расширяется и его различные ограничения.