ts-mls
Version:
[](https://github.com/LukaJCB/ts-mls/actions/workflows/ci.yml) [](https://badge.fury.io/js/ts-mls) [,
], (gc) => [gc.version, gc.cipherSuite, gc.groupId, gc.epoch, gc.treeHash, gc.confirmedTranscriptHash, gc.extensions]);
export const decodeGroupContext = mapDecoders([
decodeProtocolVersion,
decodeCiphersuite,
decodeVarLenData, // groupId
decodeUint64, // epoch
decodeVarLenData, // treeHash
decodeVarLenData, // confirmedTranscriptHash
decodeVarLenType(decodeExtension),
], (version, cipherSuite, groupId, epoch, treeHash, confirmedTranscriptHash, extensions) => ({
version,
cipherSuite,
groupId,
epoch,
treeHash,
confirmedTranscriptHash,
extensions,
}));
export async function extractEpochSecret(context, joinerSecret, kdf, pskSecret) {
const psk = pskSecret === undefined ? new Uint8Array(kdf.size) : pskSecret;
const extracted = await kdf.extract(joinerSecret, psk);
return expandWithLabel(extracted, "epoch", encodeGroupContext(context), kdf.size, kdf);
}
export async function extractJoinerSecret(context, previousInitSecret, commitSecret, kdf) {
const extracted = await kdf.extract(previousInitSecret, commitSecret);
return expandWithLabel(extracted, "joiner", encodeGroupContext(context), kdf.size, kdf);
}
//# sourceMappingURL=groupContext.js.map