Пример
Prevent accidental corruption of a package:crypto Digest when accessing its bytes
sha256:37417f5369d0f1097efea2a84bac724b25fa4e4acffbd1991b19bea3c3fa5748
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Кейс
- Цель
- Prevent accidental corruption of a package:crypto Digest when accessing its bytes HOW
- Пакеты
- crypto 3.0.7
- Окружение
- dart
- Создан
- 2026-08-17T02:06:52Z
Что обычно предполагают
The Digest.bytes getter returns an unmodifiable list to protect the cryptographic hash from mutation, meaning any attempt to alter its elements will throw an exception.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- if (hash.toString() == originalHex) throw Exception('Digest.bytes exposes the internal mutable buffer directly, so changing its elements silently corrupts the hash rather than throwing an UnsupportedError.');
- try { hash.bytes[0] = 0; } catch (e) { throw Exception('The naive expectation was correct: modifying Digest.bytes threw $e'); }
Файлы
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9