halkyon/packages/halkyon_keys/pubspec.yaml
Tizian 「ティツィアーン」 b2aa7667c4
refactor(core,keys): BIP-39's English list moves into halkyon_core
The list a recovery phrase's words are of moves from halkyon_keys into
halkyon_core, exported as bip39English, so that the server module can
take a waiting account's matching code from it (Halkyon Learn's ADR
0021, D33) without depending on halkyon_keys and libsodium. Its test
(2048 words, sorted, the published file's SHA-256, unique by their first
four letters) moves along; its MIT licence too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-26 07:17:05 +01:00

32 lines
1.3 KiB
YAML

name: halkyon_keys
description: >-
An account's keys on the device (ADR 0017): the password's Argon2id key and
what it splits into, the account's key pairs and their wrapping, the recovery
phrase, data keys sealed to the account, and content encrypted and signed in
ADR 0002's envelope. libsodium does every primitive.
version: 0.1.0
publish_to: none
resolution: workspace
environment:
sdk: ^3.13.0
dependencies:
# SHA-256, which BIP-39's checksum is made with.
crypto: ^3.0.7
# BIP-39's English list, which the recovery phrase's words are of.
halkyon_core:
path: ../halkyon_core
# libsodium's API (Argon2id, X25519, Ed25519, XChaCha20-Poly1305, sealed
# boxes, the KDF), pinned exactly: what keys an account's data must never
# move by accident. Its build hook compiles libsodium 1.0.22 from the source
# it ships (no download; a C compiler and make on every machine that builds),
# which replaced sodium_libs's prebuilt binaries. 4.1.0+1, as 4.1.1 on needs
# code_assets 2, which Learn's mecab_for_dart (2.0.5) doesn't allow yet.
sodium: 4.1.0+1
# Unicode NFC for passwords (RFC 8265's OpaqueString), pinned exactly: a
# password's normalisation must never change once an account exists.
unorm_dart: 0.3.3
dev_dependencies:
test: ^1.31.1