encode function
List<String>
encode(
- BigInt participantId, {
- List<
String> ? wordlist, - int bitCount = RecoveryConstants.defaultBitCount,
- EncodingConfig config = RecoveryConstants.defaultConfig,
Implementation
List<String> encode(
BigInt participantId, {
List<String>? wordlist,
int bitCount = RecoveryConstants.defaultBitCount,
EncodingConfig config = RecoveryConstants.defaultConfig,
}) {
final effectiveWordlist = wordlist ?? wordlistEn;
if (effectiveWordlist.length < (1 << config.bitsPerWord)) {
throw ArgumentError(
'Wordlist must have at least ${1 << config.bitsPerWord} words',
);
}
final indices = encodeIdToIndices(participantId, bitCount, config);
if (config.useChecksum) {
final checksumIndex = computeChecksum(indices, effectiveWordlist.length);
indices.add(checksumIndex);
}
return indices.map((i) => effectiveWordlist[i]).toList();
}