SHA256
Добавить спецификации Solana программ и вынести формат PDA
This commit is contained in:
@@ -2,11 +2,18 @@
|
||||
|
||||
## Documentation Rule
|
||||
|
||||
В проекте есть спецификация пользовательской PDA-записи:
|
||||
В проекте есть два обязательных класса документов:
|
||||
|
||||
- актуальные документы в `doc/`.
|
||||
1. Документы по программам в `doc/programs/`:
|
||||
- `shine_users.md`
|
||||
- `shine_login_guard.md`
|
||||
- `shine_payments.md`
|
||||
2. Документы по форматам в `doc/formats/`:
|
||||
- `shine-user-pda-format-v.1.0.md`
|
||||
|
||||
Если меняется формат записи, сериализация, правила подписи, `prev_hash`, экономика лимитов или связанные ограничения create/update, соответствующую документацию в `doc/` нужно обновлять в том же изменении.
|
||||
Эти документы должны быть достаточными для повторной реализации программ и форматов с нуля.
|
||||
|
||||
Если меняется формат записи, сериализация, правила подписи, `prev_hash`, экономика лимитов, правила очередей, правила CPI, seed PDA или связанные ограничения create/update, соответствующую документацию в `doc/` нужно обновлять в том же изменении.
|
||||
|
||||
## Language Rule
|
||||
|
||||
@@ -21,9 +28,16 @@
|
||||
|
||||
Если меняется бизнес-логика смарт-контрактов, сериализация PDA, правила переводов или экономика:
|
||||
|
||||
1. Обновить соответствующий документ в `doc/` в том же изменении.
|
||||
1. Обновить соответствующий документ в `doc/programs/` и/или `doc/formats/` в том же изменении.
|
||||
2. Если документ сразу обновить нельзя, обязательно явно согласовать это с пользователем в чате и зафиксировать план обновления.
|
||||
|
||||
Отдельное обязательное правило:
|
||||
|
||||
1. Документы по программам и документ формата PDA должны всегда совпадать с кодом программ.
|
||||
2. Перед любым изменением кода нужно явно проверять, затрагивает ли оно поведение, PDA, поля, проверки, экономику или формат.
|
||||
3. Если затрагивает, документ обновляется обязательно.
|
||||
4. Нельзя сознательно оставлять код и документы в рассинхроне без отдельной явной договоренности с пользователем.
|
||||
|
||||
## Rule: Git Push
|
||||
|
||||
Для push в удаленный репозиторий использовать токен из переменной окружения:
|
||||
|
||||
Reference in New Issue
Block a user