ts-mls 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/authenticatedContent.d.ts +3 -1
- package/dist/authenticatedContent.js +10 -8
- package/dist/authenticatedContent.js.map +1 -1
- package/dist/capabilities.d.ts +2 -1
- package/dist/capabilities.js +13 -12
- package/dist/capabilities.js.map +1 -1
- package/dist/clientState.d.ts +4 -3
- package/dist/clientState.js +87 -59
- package/dist/clientState.js.map +1 -1
- package/dist/codec/number.d.ts +5 -1
- package/dist/codec/number.js +33 -24
- package/dist/codec/number.js.map +1 -1
- package/dist/codec/optional.d.ts +2 -2
- package/dist/codec/optional.js +24 -7
- package/dist/codec/optional.js.map +1 -1
- package/dist/codec/tlsEncoder.d.ts +11 -8
- package/dist/codec/tlsEncoder.js +39 -21
- package/dist/codec/tlsEncoder.js.map +1 -1
- package/dist/codec/variableLength.d.ts +4 -4
- package/dist/codec/variableLength.js +58 -28
- package/dist/codec/variableLength.js.map +1 -1
- package/dist/commit.d.ts +2 -1
- package/dist/commit.js +7 -6
- package/dist/commit.js.map +1 -1
- package/dist/contentType.d.ts +2 -1
- package/dist/contentType.js +4 -3
- package/dist/contentType.js.map +1 -1
- package/dist/createCommit.js +6 -5
- package/dist/createCommit.js.map +1 -1
- package/dist/credential.d.ts +5 -1
- package/dist/credential.js +14 -10
- package/dist/credential.js.map +1 -1
- package/dist/credentialType.d.ts +2 -1
- package/dist/credentialType.js +4 -3
- package/dist/credentialType.js.map +1 -1
- package/dist/crypto/ciphersuite.d.ts +2 -1
- package/dist/crypto/ciphersuite.js +4 -3
- package/dist/crypto/ciphersuite.js.map +1 -1
- package/dist/crypto/hash.js +4 -3
- package/dist/crypto/hash.js.map +1 -1
- package/dist/crypto/hpke.js +10 -4
- package/dist/crypto/hpke.js.map +1 -1
- package/dist/crypto/implementation/default/makeAead.js +9 -9
- package/dist/crypto/implementation/default/makeAead.js.map +1 -1
- package/dist/crypto/implementation/default/makeHashImpl.js +5 -5
- package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -1
- package/dist/crypto/implementation/default/makeKdfImpl.js +3 -3
- package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -1
- package/dist/crypto/implementation/hpke.js +11 -11
- package/dist/crypto/implementation/hpke.js.map +1 -1
- package/dist/crypto/kdf.js +8 -7
- package/dist/crypto/kdf.js.map +1 -1
- package/dist/crypto/signature.js +10 -4
- package/dist/crypto/signature.js.map +1 -1
- package/dist/defaultExtensionType.d.ts +2 -1
- package/dist/defaultExtensionType.js +4 -3
- package/dist/defaultExtensionType.js.map +1 -1
- package/dist/defaultProposalType.d.ts +2 -1
- package/dist/defaultProposalType.js +4 -3
- package/dist/defaultProposalType.js.map +1 -1
- package/dist/extension.d.ts +3 -1
- package/dist/extension.js +8 -6
- package/dist/extension.js.map +1 -1
- package/dist/externalSender.d.ts +2 -1
- package/dist/externalSender.js +5 -4
- package/dist/externalSender.js.map +1 -1
- package/dist/framedContent.d.ts +9 -1
- package/dist/framedContent.js +35 -27
- package/dist/framedContent.js.map +1 -1
- package/dist/groupContext.d.ts +2 -1
- package/dist/groupContext.js +17 -16
- package/dist/groupContext.js.map +1 -1
- package/dist/groupInfo.d.ts +3 -1
- package/dist/groupInfo.js +11 -9
- package/dist/groupInfo.js.map +1 -1
- package/dist/groupSecrets.d.ts +2 -1
- package/dist/groupSecrets.js +6 -5
- package/dist/groupSecrets.js.map +1 -1
- package/dist/hpkeCiphertext.d.ts +2 -1
- package/dist/hpkeCiphertext.js +4 -3
- package/dist/hpkeCiphertext.js.map +1 -1
- package/dist/keyPackage.d.ts +5 -3
- package/dist/keyPackage.js +17 -15
- package/dist/keyPackage.js.map +1 -1
- package/dist/leafNode.d.ts +11 -1
- package/dist/leafNode.js +43 -27
- package/dist/leafNode.js.map +1 -1
- package/dist/leafNodeSource.d.ts +2 -1
- package/dist/leafNodeSource.js +4 -3
- package/dist/leafNodeSource.js.map +1 -1
- package/dist/lifetime.d.ts +2 -1
- package/dist/lifetime.js +4 -3
- package/dist/lifetime.js.map +1 -1
- package/dist/message.d.ts +9 -2
- package/dist/message.js +27 -20
- package/dist/message.js.map +1 -1
- package/dist/messageProtection.js +4 -3
- package/dist/messageProtection.js.map +1 -1
- package/dist/nodeType.d.ts +2 -1
- package/dist/nodeType.js +4 -3
- package/dist/nodeType.js.map +1 -1
- package/dist/parentHash.d.ts +2 -1
- package/dist/parentHash.js +5 -4
- package/dist/parentHash.js.map +1 -1
- package/dist/parentNode.d.ts +2 -1
- package/dist/parentNode.js +5 -4
- package/dist/parentNode.js.map +1 -1
- package/dist/presharedkey.d.ts +6 -1
- package/dist/presharedkey.js +16 -11
- package/dist/presharedkey.js.map +1 -1
- package/dist/privateMessage.d.ts +4 -1
- package/dist/privateMessage.js +29 -20
- package/dist/privateMessage.js.map +1 -1
- package/dist/processMessages.js +3 -2
- package/dist/processMessages.js.map +1 -1
- package/dist/proposal.d.ts +17 -1
- package/dist/proposal.js +50 -34
- package/dist/proposal.js.map +1 -1
- package/dist/proposalOrRefType.d.ts +5 -1
- package/dist/proposalOrRefType.js +14 -10
- package/dist/proposalOrRefType.js.map +1 -1
- package/dist/protocolVersion.d.ts +2 -1
- package/dist/protocolVersion.js +4 -3
- package/dist/protocolVersion.js.map +1 -1
- package/dist/publicMessage.d.ts +3 -1
- package/dist/publicMessage.js +9 -7
- package/dist/publicMessage.js.map +1 -1
- package/dist/ratchetTree.d.ts +3 -1
- package/dist/ratchetTree.js +13 -11
- package/dist/ratchetTree.js.map +1 -1
- package/dist/requiredCapabilities.d.ts +2 -1
- package/dist/requiredCapabilities.js +6 -5
- package/dist/requiredCapabilities.js.map +1 -1
- package/dist/sender.d.ts +6 -1
- package/dist/sender.js +24 -13
- package/dist/sender.js.map +1 -1
- package/dist/transcriptHash.d.ts +2 -1
- package/dist/transcriptHash.js +18 -8
- package/dist/transcriptHash.js.map +1 -1
- package/dist/treeHash.d.ts +4 -1
- package/dist/treeHash.js +17 -14
- package/dist/treeHash.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/updatePath.d.ts +3 -1
- package/dist/updatePath.js +10 -8
- package/dist/updatePath.js.map +1 -1
- package/dist/util/byteArray.d.ts +2 -1
- package/dist/util/byteArray.js +21 -2
- package/dist/util/byteArray.js.map +1 -1
- package/dist/welcome.d.ts +3 -1
- package/dist/welcome.js +12 -10
- package/dist/welcome.js.map +1 -1
- package/dist/wireformat.d.ts +2 -1
- package/dist/wireformat.js +4 -3
- package/dist/wireformat.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Proposal } from "./proposal.js";
|
|
4
4
|
declare const proposalOrRefTypes: {
|
|
5
5
|
readonly proposal: 1;
|
|
@@ -7,6 +7,7 @@ declare const proposalOrRefTypes: {
|
|
|
7
7
|
};
|
|
8
8
|
export type ProposalOrRefTypeName = keyof typeof proposalOrRefTypes;
|
|
9
9
|
export type ProposalOrRefTypeValue = (typeof proposalOrRefTypes)[ProposalOrRefTypeName];
|
|
10
|
+
export declare const proposalOrRefTypeEncoder: BufferEncoder<ProposalOrRefTypeName>;
|
|
10
11
|
export declare const encodeProposalOrRefType: Encoder<ProposalOrRefTypeName>;
|
|
11
12
|
export declare const decodeProposalOrRefType: Decoder<ProposalOrRefTypeName>;
|
|
12
13
|
export interface ProposalOrRefProposal {
|
|
@@ -18,8 +19,11 @@ export interface ProposalOrRefProposalRef {
|
|
|
18
19
|
reference: Uint8Array;
|
|
19
20
|
}
|
|
20
21
|
export type ProposalOrRef = ProposalOrRefProposal | ProposalOrRefProposalRef;
|
|
22
|
+
export declare const proposalOrRefProposalEncoder: BufferEncoder<ProposalOrRefProposal>;
|
|
21
23
|
export declare const encodeProposalOrRefProposal: Encoder<ProposalOrRefProposal>;
|
|
24
|
+
export declare const proposalOrRefProposalRefEncoder: BufferEncoder<ProposalOrRefProposalRef>;
|
|
22
25
|
export declare const encodeProposalOrRefProposalRef: Encoder<ProposalOrRefProposalRef>;
|
|
26
|
+
export declare const proposalOrRefEncoder: BufferEncoder<ProposalOrRef>;
|
|
23
27
|
export declare const encodeProposalOrRef: Encoder<ProposalOrRef>;
|
|
24
28
|
export declare const decodeProposalOrRef: Decoder<ProposalOrRef>;
|
|
25
29
|
export {};
|
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
import { decodeUint8,
|
|
1
|
+
import { decodeUint8, uint8Encoder } from "./codec/number.js";
|
|
2
2
|
import { flatMapDecoder, mapDecoder, mapDecoderOption } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
4
|
-
import { decodeVarLenData,
|
|
5
|
-
import { decodeProposal,
|
|
3
|
+
import { contramapBufferEncoder, contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
4
|
+
import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
5
|
+
import { decodeProposal, proposalEncoder } from "./proposal.js";
|
|
6
6
|
import { enumNumberToKey } from "./util/enumHelpers.js";
|
|
7
7
|
const proposalOrRefTypes = {
|
|
8
8
|
proposal: 1,
|
|
9
9
|
reference: 2,
|
|
10
10
|
};
|
|
11
|
-
export const
|
|
11
|
+
export const proposalOrRefTypeEncoder = contramapBufferEncoder(uint8Encoder, (t) => proposalOrRefTypes[t]);
|
|
12
|
+
export const encodeProposalOrRefType = encode(proposalOrRefTypeEncoder);
|
|
12
13
|
export const decodeProposalOrRefType = mapDecoderOption(decodeUint8, enumNumberToKey(proposalOrRefTypes));
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
14
|
+
export const proposalOrRefProposalEncoder = contramapBufferEncoders([proposalOrRefTypeEncoder, proposalEncoder], (p) => [p.proposalOrRefType, p.proposal]);
|
|
15
|
+
export const encodeProposalOrRefProposal = encode(proposalOrRefProposalEncoder);
|
|
16
|
+
export const proposalOrRefProposalRefEncoder = contramapBufferEncoders([proposalOrRefTypeEncoder, varLenDataEncoder], (r) => [r.proposalOrRefType, r.reference]);
|
|
17
|
+
export const encodeProposalOrRefProposalRef = encode(proposalOrRefProposalRefEncoder);
|
|
18
|
+
export const proposalOrRefEncoder = (input) => {
|
|
16
19
|
switch (input.proposalOrRefType) {
|
|
17
20
|
case "proposal":
|
|
18
|
-
return
|
|
21
|
+
return proposalOrRefProposalEncoder(input);
|
|
19
22
|
case "reference":
|
|
20
|
-
return
|
|
23
|
+
return proposalOrRefProposalRefEncoder(input);
|
|
21
24
|
}
|
|
22
25
|
};
|
|
26
|
+
export const encodeProposalOrRef = encode(proposalOrRefEncoder);
|
|
23
27
|
export const decodeProposalOrRef = flatMapDecoder(decodeProposalOrRefType, (proposalOrRefType) => {
|
|
24
28
|
switch (proposalOrRefType) {
|
|
25
29
|
case "proposal":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposalOrRefType.js","sourceRoot":"","sources":["../src/proposalOrRefType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"proposalOrRefType.js","sourceRoot":"","sources":["../src/proposalOrRefType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AACvH,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAY,eAAe,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,kBAAkB,GAAG;IACzB,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;CACJ,CAAA;AAKV,MAAM,CAAC,MAAM,wBAAwB,GAAyC,sBAAsB,CAClG,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAmC,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAEvG,MAAM,CAAC,MAAM,uBAAuB,GAAmC,gBAAgB,CACrF,WAAW,EACX,eAAe,CAAC,kBAAkB,CAAC,CACpC,CAAA;AAaD,MAAM,CAAC,MAAM,4BAA4B,GAAyC,uBAAuB,CACvG,CAAC,wBAAwB,EAAE,eAAe,CAAC,EAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAU,CAClD,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAmC,MAAM,CAAC,4BAA4B,CAAC,CAAA;AAE/G,MAAM,CAAC,MAAM,+BAA+B,GAA4C,uBAAuB,CAC7G,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,EAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAU,CACnD,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAsC,MAAM,CAAC,+BAA+B,CAAC,CAAA;AAExH,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAAC,KAAK,EAAE,EAAE;IAC1E,QAAQ,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChC,KAAK,UAAU;YACb,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAA;QAC5C,KAAK,WAAW;YACd,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAA;IACjD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B,MAAM,CAAC,oBAAoB,CAAC,CAAA;AAEvF,MAAM,CAAC,MAAM,mBAAmB,GAA2B,cAAc,CACvE,uBAAuB,EACvB,CAAC,iBAAiB,EAA0B,EAAE;IAC5C,QAAQ,iBAAiB,EAAE,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QACpF,KAAK,WAAW;YACd,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC;AACH,CAAC,CACF,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
export declare const protocolVersions: {
|
|
4
4
|
readonly mls10: 1;
|
|
5
5
|
};
|
|
6
6
|
export type ProtocolVersionName = keyof typeof protocolVersions;
|
|
7
7
|
export type ProtocolVersionValue = (typeof protocolVersions)[ProtocolVersionName];
|
|
8
|
+
export declare const protocolVersionEncoder: BufferEncoder<ProtocolVersionName>;
|
|
8
9
|
export declare const encodeProtocolVersion: Encoder<ProtocolVersionName>;
|
|
9
10
|
export declare const decodeProtocolVersion: Decoder<ProtocolVersionName>;
|
package/dist/protocolVersion.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { decodeUint16,
|
|
1
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
2
2
|
import { mapDecoderOption } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
3
|
+
import { contramapBufferEncoder, encode } from "./codec/tlsEncoder.js";
|
|
4
4
|
import { enumNumberToKey } from "./util/enumHelpers.js";
|
|
5
5
|
export const protocolVersions = {
|
|
6
6
|
mls10: 1,
|
|
7
7
|
};
|
|
8
|
-
export const
|
|
8
|
+
export const protocolVersionEncoder = contramapBufferEncoder(uint16Encoder, (t) => protocolVersions[t]);
|
|
9
|
+
export const encodeProtocolVersion = encode(protocolVersionEncoder);
|
|
9
10
|
export const decodeProtocolVersion = mapDecoderOption(decodeUint16, enumNumberToKey(protocolVersions));
|
|
10
11
|
//# sourceMappingURL=protocolVersion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocolVersion.js","sourceRoot":"","sources":["../src/protocolVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"protocolVersion.js","sourceRoot":"","sources":["../src/protocolVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,CAAC;CACA,CAAA;AAKV,MAAM,CAAC,MAAM,sBAAsB,GAAuC,sBAAsB,CAC9F,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAiC,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAEjG,MAAM,CAAC,MAAM,qBAAqB,GAAiC,gBAAgB,CACjF,YAAY,EACZ,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAA"}
|
package/dist/publicMessage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Extension } from "./extension.js";
|
|
4
4
|
import { ExternalSender } from "./externalSender.js";
|
|
5
5
|
import { FramedContent, FramedContentAuthData } from "./framedContent.js";
|
|
@@ -14,6 +14,7 @@ type PublicMessageInfoMember = {
|
|
|
14
14
|
type PublicMessageInfoMemberOther = {
|
|
15
15
|
senderType: Exclude<SenderTypeName, "member">;
|
|
16
16
|
};
|
|
17
|
+
export declare const publicMessageInfoEncoder: BufferEncoder<PublicMessageInfo>;
|
|
17
18
|
export declare const encodePublicMessageInfo: Encoder<PublicMessageInfo>;
|
|
18
19
|
export declare function decodePublicMessageInfo(senderType: SenderTypeName): Decoder<PublicMessageInfo>;
|
|
19
20
|
export type PublicMessage = {
|
|
@@ -22,6 +23,7 @@ export type PublicMessage = {
|
|
|
22
23
|
} & PublicMessageInfo;
|
|
23
24
|
export type MemberPublicMessage = PublicMessage & PublicMessageInfoMember;
|
|
24
25
|
export type ExternalPublicMessage = PublicMessage & PublicMessageInfoMemberOther;
|
|
26
|
+
export declare const publicMessageEncoder: BufferEncoder<PublicMessage>;
|
|
25
27
|
export declare const encodePublicMessage: Encoder<PublicMessage>;
|
|
26
28
|
export declare const decodePublicMessage: Decoder<PublicMessage>;
|
|
27
29
|
export declare function findSignaturePublicKey(ratchetTree: RatchetTree, groupContext: GroupContext, framedContent: FramedContent): Uint8Array;
|
package/dist/publicMessage.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { flatMapDecoder, mapDecoder, mapDecoders, succeedDecoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import {
|
|
3
|
-
import { decodeVarLenData,
|
|
2
|
+
import { contramapBufferEncoders, encode, encVoid } from "./codec/tlsEncoder.js";
|
|
3
|
+
import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
4
4
|
import { decodeExternalSender } from "./externalSender.js";
|
|
5
|
-
import { decodeFramedContent, decodeFramedContentAuthData,
|
|
5
|
+
import { decodeFramedContent, decodeFramedContentAuthData, framedContentEncoder, framedContentAuthDataEncoder, } from "./framedContent.js";
|
|
6
6
|
import { CodecError, ValidationError } from "./mlsError.js";
|
|
7
7
|
import { getSignaturePublicKeyFromLeafIndex } from "./ratchetTree.js";
|
|
8
8
|
import { toLeafIndex } from "./treemath.js";
|
|
9
|
-
export const
|
|
9
|
+
export const publicMessageInfoEncoder = (info) => {
|
|
10
10
|
switch (info.senderType) {
|
|
11
11
|
case "member":
|
|
12
|
-
return
|
|
12
|
+
return varLenDataEncoder(info.membershipTag);
|
|
13
13
|
case "external":
|
|
14
14
|
case "new_member_proposal":
|
|
15
15
|
case "new_member_commit":
|
|
16
|
-
return
|
|
16
|
+
return encVoid;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
+
export const encodePublicMessageInfo = encode(publicMessageInfoEncoder);
|
|
19
20
|
export function decodePublicMessageInfo(senderType) {
|
|
20
21
|
switch (senderType) {
|
|
21
22
|
case "member":
|
|
@@ -29,7 +30,8 @@ export function decodePublicMessageInfo(senderType) {
|
|
|
29
30
|
return succeedDecoder({ senderType });
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
|
-
export const
|
|
33
|
+
export const publicMessageEncoder = contramapBufferEncoders([framedContentEncoder, framedContentAuthDataEncoder, publicMessageInfoEncoder], (msg) => [msg.content, msg.auth, msg]);
|
|
34
|
+
export const encodePublicMessage = encode(publicMessageEncoder);
|
|
33
35
|
export const decodePublicMessage = flatMapDecoder(decodeFramedContent, (content) => mapDecoders([decodeFramedContentAuthData(content.contentType), decodePublicMessageInfo(content.sender.senderType)], (auth, info) => ({
|
|
34
36
|
...info,
|
|
35
37
|
content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publicMessage.js","sourceRoot":"","sources":["../src/publicMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACxG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"publicMessage.js","sourceRoot":"","sources":["../src/publicMessage.ts"],"names":[],"mappings":"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"}
|
package/dist/ratchetTree.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
1
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
2
2
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
3
3
|
import { ParentNode } from "./parentNode.js";
|
|
4
4
|
import { LeafIndex, NodeIndex } from "./treemath.js";
|
|
@@ -12,6 +12,7 @@ type NodeLeaf = {
|
|
|
12
12
|
nodeType: "leaf";
|
|
13
13
|
leaf: LeafNode;
|
|
14
14
|
};
|
|
15
|
+
export declare const nodeEncoder: BufferEncoder<Node>;
|
|
15
16
|
export declare const encodeNode: Encoder<Node>;
|
|
16
17
|
export declare const decodeNode: Decoder<Node>;
|
|
17
18
|
export declare function getHpkePublicKey(n: Node): Uint8Array;
|
|
@@ -24,6 +25,7 @@ export declare function extendRatchetTree(tree: RatchetTree): RatchetTree;
|
|
|
24
25
|
* (Obviously, this may be done "virtually", by synthesizing blank nodes when required, as opposed to actually changing the structure in memory.)
|
|
25
26
|
*/
|
|
26
27
|
export declare function stripBlankNodes(tree: RatchetTree): RatchetTree;
|
|
28
|
+
export declare const ratchetTreeEncoder: BufferEncoder<RatchetTree>;
|
|
27
29
|
export declare const encodeRatchetTree: Encoder<RatchetTree>;
|
|
28
30
|
export declare const decodeRatchetTree: Decoder<RatchetTree>;
|
|
29
31
|
export declare function findBlankLeafNodeIndex(tree: RatchetTree): NodeIndex | undefined;
|
package/dist/ratchetTree.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { contramapBufferEncoder, contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
2
2
|
import { flatMapDecoder, mapDecoder } from "./codec/tlsDecoder.js";
|
|
3
|
-
import { decodeVarLenType,
|
|
4
|
-
import { decodeNodeType,
|
|
5
|
-
import { decodeOptional,
|
|
6
|
-
import {
|
|
3
|
+
import { decodeVarLenType, varLenTypeEncoder } from "./codec/variableLength.js";
|
|
4
|
+
import { decodeNodeType, nodeTypeEncoder } from "./nodeType.js";
|
|
5
|
+
import { decodeOptional, optionalEncoder } from "./codec/optional.js";
|
|
6
|
+
import { parentNodeEncoder, decodeParentNode } from "./parentNode.js";
|
|
7
7
|
import { copath, directPath, isLeaf, leafToNodeIndex, leafWidth, left, nodeToLeafIndex, parent, right, root, toLeafIndex, toNodeIndex, } from "./treemath.js";
|
|
8
|
-
import {
|
|
8
|
+
import { leafNodeEncoder, decodeLeafNode } from "./leafNode.js";
|
|
9
9
|
import { constantTimeEqual } from "./util/constantTimeCompare.js";
|
|
10
10
|
import { InternalError, ValidationError } from "./mlsError.js";
|
|
11
|
-
export const
|
|
11
|
+
export const nodeEncoder = (node) => {
|
|
12
12
|
switch (node.nodeType) {
|
|
13
13
|
case "parent":
|
|
14
|
-
return
|
|
14
|
+
return contramapBufferEncoders([nodeTypeEncoder, parentNodeEncoder], (n) => [n.nodeType, n.parent])(node);
|
|
15
15
|
case "leaf":
|
|
16
|
-
return
|
|
16
|
+
return contramapBufferEncoders([nodeTypeEncoder, leafNodeEncoder], (n) => [n.nodeType, n.leaf])(node);
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
+
export const encodeNode = encode(nodeEncoder);
|
|
19
20
|
export const decodeNode = flatMapDecoder(decodeNodeType, (nodeType) => {
|
|
20
21
|
switch (nodeType) {
|
|
21
22
|
case "parent":
|
|
@@ -73,7 +74,8 @@ export function stripBlankNodes(tree) {
|
|
|
73
74
|
}
|
|
74
75
|
return tree.slice(0, lastNonBlank + 1);
|
|
75
76
|
}
|
|
76
|
-
export const
|
|
77
|
+
export const ratchetTreeEncoder = contramapBufferEncoder(varLenTypeEncoder(optionalEncoder(nodeEncoder)), stripBlankNodes);
|
|
78
|
+
export const encodeRatchetTree = encode(ratchetTreeEncoder);
|
|
77
79
|
export const decodeRatchetTree = mapDecoder(decodeVarLenType(decodeOptional(decodeNode)), extendRatchetTree);
|
|
78
80
|
export function findBlankLeafNodeIndex(tree) {
|
|
79
81
|
const nodeIndex = tree.findIndex((node, nodeIndex) => node === undefined && isLeaf(toNodeIndex(nodeIndex)));
|
|
@@ -239,7 +241,7 @@ export function findLeafIndex(tree, leaf) {
|
|
|
239
241
|
if (node.nodeType === "parent")
|
|
240
242
|
throw new InternalError("Found parent node in leaf node position");
|
|
241
243
|
//todo is there a better (faster) comparison method?
|
|
242
|
-
return constantTimeEqual(
|
|
244
|
+
return constantTimeEqual(encode(leafNodeEncoder)(node.leaf), encode(leafNodeEncoder)(leaf));
|
|
243
245
|
}
|
|
244
246
|
return false;
|
|
245
247
|
});
|
package/dist/ratchetTree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratchetTree.js","sourceRoot":"","sources":["../src/ratchetTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EACL,MAAM,EACN,UAAU,EACV,MAAM,EAEN,eAAe,EACf,SAAS,EACT,IAAI,EAEJ,eAAe,EACf,MAAM,EACN,KAAK,EACL,IAAI,EACJ,WAAW,EACX,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAY,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAM9D,MAAM,CAAC,MAAM,UAAU,GAAkB,CAAC,IAAI,EAAE,EAAE;IAChD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,iBAAiB,CACtB,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAClC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAU,CACnD,CAAC,IAAI,CAAC,CAAA;QACT,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAU,CAAC,CAAC,IAAI,CAAC,CAAA;IACpH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAkB,cAAc,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAiB,EAAE;IAClG,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC/C,QAAQ;gBACR,MAAM;aACP,CAAC,CAAC,CAAA;QACL,KAAK,MAAM;YACT,OAAO,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC3C,QAAQ;gBACR,IAAI;aACL,CAAC,CAAC,CAAA;IACP,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,gBAAgB,CAAC,CAAO;IACtC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAA;QAC/B,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAA;IAC/B,CAAC;AACH,CAAC;AAID,MAAM,UAAU,iBAAiB,CAAC,IAAiB;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAEjC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,aAAa,CAAC,sDAAsD,CAAC,CAAA;IACjF,CAAC;IAED,+DAA+D;IAC/D,MAAM,UAAU,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEtD,uDAAuD;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IACzB,OAAO,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,0CAA0C;AAC1C,SAAS,sBAAsB,CAAC,CAAS;IACvC,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAClC,OAAO,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;QAC7D,YAAY,EAAE,CAAA;IAChB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAA;AACxC,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAyB,gBAAgB,CACrE,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAC5C,eAAe,CAChB,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAyB,UAAU,CAC/D,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAC5C,iBAAiB,CAClB,CAAA;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAiB;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC3G,IAAI,SAAS,GAAG,CAAC;QAAE,OAAO,SAAS,CAAA;;QAC9B,OAAO,WAAW,CAAC,SAAS,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAiB;IAC9D,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC9C,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAiB,EAAE,QAAkB;IAC9D,MAAM,OAAO,GAAG,SAAS,CAAA;IACzB,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtD,MAAM,OAAO,GAAgB;QAC3B,GAAG,IAAI;QACP,OAAO;QACP,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,GAAG,IAAI,KAAK,CAAmB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;KAChD,CAAA;IACD,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAiB,EAAE,QAAkB;IAC/D,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IACpD,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAExD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,KAAK,MAAM,SAAS,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,IAAkB,CAAA;YAErC,MAAM,OAAO,GAAe;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,EAAE;aAC3G,CAAA;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAEtD,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB,EAAE,QAAkB,EAAE,SAAoB;IACxF,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAErE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAE1D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB,EAAE,gBAA2B;IAC3E,MAAM,aAAa,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAA;IACvD,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAErE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IAEzB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,GAAG,SAAS,CAAA;IAE/B,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,8BAA8B,CAAC,IAAiB;IACvD,OAAO,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAA0B,EAAE,SAAoB;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAE5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACpC,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,SAAS,CAAC,CAAA;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7E,OAAO,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAoB,EAAE,IAAiB;IACxE,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAA;IAC3C,uEAAuE;IACvE,+EAA+E;IAC/E,OAAO,UAAU,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AAC9G,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,SAAoB,EACpB,IAAiB;IAEjB,MAAM,aAAa,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAExC,uEAAuE;IACvE,+EAA+E;IAC/E,OAAO,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,MAAM,CAC7C,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,CAAA;QAClC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAA;;YACzB,OAAO,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IACzD,CAAC,EACD,EAAyD,CAC1D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAiB,EAAE,WAAwB;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IACzB,SAAS,eAAe,CAAC,SAAiB;QACxC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,SAAS,CAAA;IAC/D,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YAChC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;YACrB,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,GAAG;oBACR,GAAG,CAAC;oBACJ,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;iBACpG,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,8BAA8B,CAAC,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,IAAiB,EACjB,SAAoB,EACpB,CAA4D;IAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9C,IAAI,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;IAC7C,OAAO,YAAY,IAAI,SAAS,EAAE,CAAC;QACjC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAA;QACtC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,WAAW,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAA;YACjD,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AACD,MAAM,UAAU,yBAAyB,CAAC,IAAiB,EAAE,SAAoB;IAC/E,OAAO,CACL,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,SAAoB,EAAE,KAAiB,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAC7B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAiB,EAAE,IAAc;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACpD,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ;gBAAE,MAAM,IAAI,aAAa,CAAC,yCAAyC,CAAC,CAAA;YAClG,oDAAoD;YACpD,OAAO,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAA;QAC3E,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,WAAwB,EAAE,SAAoB;IACvF,MAAM,cAAc,GAAG,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;IAE9D,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,QAAQ;QACtE,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAA;IACpE,OAAO,cAAc,CAAC,IAAI,CAAC,UAAU,CAAA;AACvC,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,WAAwB,EAAE,SAAoB;IAC/F,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAA;IAExD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ;QAC1D,MAAM,IAAI,eAAe,CAAC,uCAAuC,CAAC,CAAA;IACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAA;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ratchetTree.js","sourceRoot":"","sources":["../src/ratchetTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { CredentialTypeName } from "./credentialType.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
4
4
|
export interface RequiredCapabilities {
|
|
5
5
|
extensionTypes: number[];
|
|
6
6
|
proposalTypes: number[];
|
|
7
7
|
credentialTypes: CredentialTypeName[];
|
|
8
8
|
}
|
|
9
|
+
export declare const requiredCapabilitiesEncoder: BufferEncoder<RequiredCapabilities>;
|
|
9
10
|
export declare const encodeRequiredCapabilities: Encoder<RequiredCapabilities>;
|
|
10
11
|
export declare const decodeRequiredCapabilities: Decoder<RequiredCapabilities>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { credentialTypeEncoder, decodeCredentialType } from "./credentialType.js";
|
|
2
|
+
import { varLenTypeEncoder, decodeVarLenType } from "./codec/variableLength.js";
|
|
3
|
+
import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
4
4
|
import { mapDecoders } from "./codec/tlsDecoder.js";
|
|
5
|
-
import { decodeUint16,
|
|
6
|
-
export const
|
|
5
|
+
import { decodeUint16, uint16Encoder } from "./codec/number.js";
|
|
6
|
+
export const requiredCapabilitiesEncoder = contramapBufferEncoders([varLenTypeEncoder(uint16Encoder), varLenTypeEncoder(uint16Encoder), varLenTypeEncoder(credentialTypeEncoder)], (rc) => [rc.extensionTypes, rc.proposalTypes, rc.credentialTypes]);
|
|
7
|
+
export const encodeRequiredCapabilities = encode(requiredCapabilitiesEncoder);
|
|
7
8
|
export const decodeRequiredCapabilities = mapDecoders([decodeVarLenType(decodeUint16), decodeVarLenType(decodeUint16), decodeVarLenType(decodeCredentialType)], (extensionTypes, proposalTypes, credentialTypes) => ({ extensionTypes, proposalTypes, credentialTypes }));
|
|
8
9
|
//# sourceMappingURL=requiredCapabilities.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requiredCapabilities.js","sourceRoot":"","sources":["../src/requiredCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,
|
|
1
|
+
{"version":3,"file":"requiredCapabilities.js","sourceRoot":"","sources":["../src/requiredCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAiB,uBAAuB,EAAE,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAQ/D,MAAM,CAAC,MAAM,2BAA2B,GAAwC,uBAAuB,CACrG,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC,EAC9G,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAU,CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAkC,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAE5G,MAAM,CAAC,MAAM,0BAA0B,GAAkC,WAAW,CAClF,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,EACxG,CAAC,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CACzG,CAAA"}
|
package/dist/sender.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { ContentTypeName } from "./contentType.js";
|
|
4
4
|
import { CiphersuiteImpl } from "./crypto/ciphersuite.js";
|
|
5
5
|
declare const senderTypes: {
|
|
@@ -10,6 +10,7 @@ declare const senderTypes: {
|
|
|
10
10
|
};
|
|
11
11
|
export type SenderTypeName = keyof typeof senderTypes;
|
|
12
12
|
export type SenderTypeValue = (typeof senderTypes)[SenderTypeName];
|
|
13
|
+
export declare const senderTypeEncoder: BufferEncoder<SenderTypeName>;
|
|
13
14
|
export declare const encodeSenderType: Encoder<SenderTypeName>;
|
|
14
15
|
export declare const decodeSenderType: Decoder<SenderTypeName>;
|
|
15
16
|
export interface SenderMember {
|
|
@@ -28,6 +29,7 @@ export interface SenderNewMemberCommit {
|
|
|
28
29
|
senderType: "new_member_commit";
|
|
29
30
|
}
|
|
30
31
|
export type Sender = SenderMember | SenderNonMember;
|
|
32
|
+
export declare const senderEncoder: BufferEncoder<Sender>;
|
|
31
33
|
export declare const encodeSender: Encoder<Sender>;
|
|
32
34
|
export declare const decodeSender: Decoder<Sender>;
|
|
33
35
|
export declare function getSenderLeafNodeIndex(sender: Sender): number | undefined;
|
|
@@ -39,8 +41,10 @@ export interface SenderData {
|
|
|
39
41
|
export type ReuseGuard = Uint8Array & {
|
|
40
42
|
length: 4;
|
|
41
43
|
};
|
|
44
|
+
export declare const reuseGuardEncoder: BufferEncoder<ReuseGuard>;
|
|
42
45
|
export declare const encodeReuseGuard: Encoder<ReuseGuard>;
|
|
43
46
|
export declare const decodeReuseGuard: Decoder<ReuseGuard>;
|
|
47
|
+
export declare const senderDataEncoder: BufferEncoder<SenderData>;
|
|
44
48
|
export declare const encodeSenderData: Encoder<SenderData>;
|
|
45
49
|
export declare const decodeSenderData: Decoder<SenderData>;
|
|
46
50
|
export interface SenderDataAAD {
|
|
@@ -48,6 +52,7 @@ export interface SenderDataAAD {
|
|
|
48
52
|
epoch: bigint;
|
|
49
53
|
contentType: ContentTypeName;
|
|
50
54
|
}
|
|
55
|
+
export declare const senderDataAADEncoder: BufferEncoder<SenderDataAAD>;
|
|
51
56
|
export declare const encodeSenderDataAAD: Encoder<SenderDataAAD>;
|
|
52
57
|
export declare const decodeSenderDataAAD: Decoder<SenderDataAAD>;
|
|
53
58
|
export declare function sampleCiphertext(cs: CiphersuiteImpl, ciphertext: Uint8Array): Uint8Array;
|
package/dist/sender.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { decodeUint32, decodeUint64, decodeUint8,
|
|
1
|
+
import { decodeUint32, decodeUint64, decodeUint8, uint32Encoder, uint64Encoder, uint8Encoder } from "./codec/number.js";
|
|
2
2
|
import { flatMapDecoder, mapDecoder, mapDecoderOption, mapDecoders } from "./codec/tlsDecoder.js";
|
|
3
|
-
import {
|
|
4
|
-
import { decodeVarLenData,
|
|
5
|
-
import {
|
|
3
|
+
import { contramapBufferEncoder, contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
4
|
+
import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
5
|
+
import { contentTypeEncoder, decodeContentType } from "./contentType.js";
|
|
6
6
|
import { expandWithLabel } from "./crypto/kdf.js";
|
|
7
7
|
import { enumNumberToKey } from "./util/enumHelpers.js";
|
|
8
8
|
const senderTypes = {
|
|
@@ -11,19 +11,21 @@ const senderTypes = {
|
|
|
11
11
|
new_member_proposal: 3,
|
|
12
12
|
new_member_commit: 4,
|
|
13
13
|
};
|
|
14
|
-
export const
|
|
14
|
+
export const senderTypeEncoder = contramapBufferEncoder(uint8Encoder, (t) => senderTypes[t]);
|
|
15
|
+
export const encodeSenderType = encode(senderTypeEncoder);
|
|
15
16
|
export const decodeSenderType = mapDecoderOption(decodeUint8, enumNumberToKey(senderTypes));
|
|
16
|
-
export const
|
|
17
|
+
export const senderEncoder = (s) => {
|
|
17
18
|
switch (s.senderType) {
|
|
18
19
|
case "member":
|
|
19
|
-
return
|
|
20
|
+
return contramapBufferEncoders([senderTypeEncoder, uint32Encoder], (s) => [s.senderType, s.leafIndex])(s);
|
|
20
21
|
case "external":
|
|
21
|
-
return
|
|
22
|
+
return contramapBufferEncoders([senderTypeEncoder, uint32Encoder], (s) => [s.senderType, s.senderIndex])(s);
|
|
22
23
|
case "new_member_proposal":
|
|
23
24
|
case "new_member_commit":
|
|
24
|
-
return
|
|
25
|
+
return senderTypeEncoder(s.senderType);
|
|
25
26
|
}
|
|
26
27
|
};
|
|
28
|
+
export const encodeSender = encode(senderEncoder);
|
|
27
29
|
export const decodeSender = flatMapDecoder(decodeSenderType, (senderType) => {
|
|
28
30
|
switch (senderType) {
|
|
29
31
|
case "member":
|
|
@@ -49,24 +51,33 @@ export const decodeSender = flatMapDecoder(decodeSenderType, (senderType) => {
|
|
|
49
51
|
export function getSenderLeafNodeIndex(sender) {
|
|
50
52
|
return sender.senderType === "member" ? sender.leafIndex : undefined;
|
|
51
53
|
}
|
|
52
|
-
export const
|
|
54
|
+
export const reuseGuardEncoder = (g) => [
|
|
55
|
+
4,
|
|
56
|
+
(offset, buffer) => {
|
|
57
|
+
const view = new Uint8Array(buffer, offset, 4);
|
|
58
|
+
view.set(g, 0);
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
export const encodeReuseGuard = encode(reuseGuardEncoder);
|
|
53
62
|
export const decodeReuseGuard = (b, offset) => {
|
|
54
63
|
return [b.subarray(offset, offset + 4), 4];
|
|
55
64
|
};
|
|
56
|
-
export const
|
|
65
|
+
export const senderDataEncoder = contramapBufferEncoders([uint32Encoder, uint32Encoder, reuseGuardEncoder], (s) => [s.leafIndex, s.generation, s.reuseGuard]);
|
|
66
|
+
export const encodeSenderData = encode(senderDataEncoder);
|
|
57
67
|
export const decodeSenderData = mapDecoders([decodeUint32, decodeUint32, decodeReuseGuard], (leafIndex, generation, reuseGuard) => ({
|
|
58
68
|
leafIndex,
|
|
59
69
|
generation,
|
|
60
70
|
reuseGuard,
|
|
61
71
|
}));
|
|
62
|
-
export const
|
|
72
|
+
export const senderDataAADEncoder = contramapBufferEncoders([varLenDataEncoder, uint64Encoder, contentTypeEncoder], (aad) => [aad.groupId, aad.epoch, aad.contentType]);
|
|
73
|
+
export const encodeSenderDataAAD = encode(senderDataAADEncoder);
|
|
63
74
|
export const decodeSenderDataAAD = mapDecoders([decodeVarLenData, decodeUint64, decodeContentType], (groupId, epoch, contentType) => ({
|
|
64
75
|
groupId,
|
|
65
76
|
epoch,
|
|
66
77
|
contentType,
|
|
67
78
|
}));
|
|
68
79
|
export function sampleCiphertext(cs, ciphertext) {
|
|
69
|
-
return ciphertext.length < cs.kdf.size ? ciphertext : ciphertext.
|
|
80
|
+
return ciphertext.length < cs.kdf.size ? ciphertext : ciphertext.subarray(0, cs.kdf.size);
|
|
70
81
|
}
|
|
71
82
|
export async function expandSenderDataKey(cs, senderDataSecret, ciphertext) {
|
|
72
83
|
const ciphertextSample = sampleCiphertext(cs, ciphertext);
|
package/dist/sender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sender.js","sourceRoot":"","sources":["../src/sender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"sender.js","sourceRoot":"","sources":["../src/sender.ts"],"names":[],"mappings":"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"}
|
package/dist/transcriptHash.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Hash } from "./crypto/hash.js";
|
|
4
4
|
import { FramedContentCommit } from "./framedContent.js";
|
|
5
5
|
import { WireformatName } from "./wireformat.js";
|
|
@@ -8,6 +8,7 @@ export interface ConfirmedTranscriptHashInput {
|
|
|
8
8
|
content: FramedContentCommit;
|
|
9
9
|
signature: Uint8Array;
|
|
10
10
|
}
|
|
11
|
+
export declare const confirmedTranscriptHashInputEncoder: BufferEncoder<ConfirmedTranscriptHashInput>;
|
|
11
12
|
export declare const encodeConfirmedTranscriptHashInput: Encoder<ConfirmedTranscriptHashInput>;
|
|
12
13
|
export declare const decodeConfirmedTranscriptHashInput: Decoder<ConfirmedTranscriptHashInput>;
|
|
13
14
|
export declare function createConfirmedHash(interimTranscriptHash: Uint8Array, input: ConfirmedTranscriptHashInput, hash: Hash): Promise<Uint8Array>;
|
package/dist/transcriptHash.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { mapDecodersOption } from "./codec/tlsDecoder.js";
|
|
2
|
-
import {
|
|
3
|
-
import { decodeVarLenData,
|
|
4
|
-
import { decodeFramedContent,
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
export const encodeConfirmedTranscriptHashInput =
|
|
2
|
+
import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
|
|
3
|
+
import { decodeVarLenData, varLenDataEncoder } from "./codec/variableLength.js";
|
|
4
|
+
import { decodeFramedContent, framedContentEncoder } from "./framedContent.js";
|
|
5
|
+
import { decodeWireformat, wireformatEncoder } from "./wireformat.js";
|
|
6
|
+
export const confirmedTranscriptHashInputEncoder = contramapBufferEncoders([wireformatEncoder, framedContentEncoder, varLenDataEncoder], (input) => [input.wireformat, input.content, input.signature]);
|
|
7
|
+
export const encodeConfirmedTranscriptHashInput = encode(confirmedTranscriptHashInputEncoder);
|
|
8
8
|
export const decodeConfirmedTranscriptHashInput = mapDecodersOption([decodeWireformat, decodeFramedContent, decodeVarLenData], (wireformat, content, signature) => {
|
|
9
9
|
if (content.contentType === "commit")
|
|
10
10
|
return {
|
|
@@ -16,9 +16,19 @@ export const decodeConfirmedTranscriptHashInput = mapDecodersOption([decodeWiref
|
|
|
16
16
|
return undefined;
|
|
17
17
|
});
|
|
18
18
|
export function createConfirmedHash(interimTranscriptHash, input, hash) {
|
|
19
|
-
|
|
19
|
+
const [len, write] = confirmedTranscriptHashInputEncoder(input);
|
|
20
|
+
const buf = new ArrayBuffer(interimTranscriptHash.byteLength + len);
|
|
21
|
+
const arr = new Uint8Array(buf);
|
|
22
|
+
arr.set(interimTranscriptHash, 0);
|
|
23
|
+
write(interimTranscriptHash.byteLength, buf);
|
|
24
|
+
return hash.digest(arr);
|
|
20
25
|
}
|
|
21
26
|
export function createInterimHash(confirmedHash, confirmationTag, hash) {
|
|
22
|
-
|
|
27
|
+
const [len, write] = varLenDataEncoder(confirmationTag);
|
|
28
|
+
const buf = new ArrayBuffer(confirmedHash.byteLength + len);
|
|
29
|
+
const arr = new Uint8Array(buf);
|
|
30
|
+
arr.set(confirmedHash, 0);
|
|
31
|
+
write(confirmedHash.byteLength, buf);
|
|
32
|
+
return hash.digest(arr);
|
|
23
33
|
}
|
|
24
34
|
//# sourceMappingURL=transcriptHash.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcriptHash.js","sourceRoot":"","sources":["../src/transcriptHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transcriptHash.js","sourceRoot":"","sources":["../src/transcriptHash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE/E,OAAO,EAAE,mBAAmB,EAAuB,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAkB,MAAM,iBAAiB,CAAA;AAQrF,MAAM,CAAC,MAAM,mCAAmC,GAAgD,uBAAuB,CACrH,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAC5D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAU,CACvE,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAA0C,MAAM,CAC7F,mCAAmC,CACpC,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAA0C,iBAAiB,CACxG,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EACzD,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IACjC,IAAI,OAAO,CAAC,WAAW,KAAK,QAAQ;QAClC,OAAO;YACL,UAAU;YACV,OAAO;YACP,SAAS;SACV,CAAA;;QACE,OAAO,SAAS,CAAA;AACvB,CAAC,CACF,CAAA;AAED,MAAM,UAAU,mBAAmB,CACjC,qBAAiC,EACjC,KAAmC,EACnC,IAAU;IAEV,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,mCAAmC,CAAC,KAAK,CAAC,CAAA;IAC/D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,qBAAqB,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;IACnE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IAC/B,GAAG,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAA;IACjC,KAAK,CAAC,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,aAAyB,EACzB,eAA2B,EAC3B,IAAU;IAEV,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;IAC3D,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IAC/B,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IACzB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC"}
|
package/dist/treeHash.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Decoder } from "./codec/tlsDecoder.js";
|
|
2
|
-
import { Encoder } from "./codec/tlsEncoder.js";
|
|
2
|
+
import { BufferEncoder, Encoder } from "./codec/tlsEncoder.js";
|
|
3
3
|
import { Hash } from "./crypto/hash.js";
|
|
4
4
|
import { LeafNode } from "./leafNode.js";
|
|
5
5
|
import { ParentNode } from "./parentNode.js";
|
|
@@ -17,10 +17,13 @@ type ParentNodeHashInput = {
|
|
|
17
17
|
leftHash: Uint8Array;
|
|
18
18
|
rightHash: Uint8Array;
|
|
19
19
|
};
|
|
20
|
+
export declare const leafNodeHashInputEncoder: BufferEncoder<LeafNodeHashInput>;
|
|
20
21
|
export declare const encodeLeafNodeHashInput: Encoder<LeafNodeHashInput>;
|
|
21
22
|
export declare const decodeLeafNodeHashInput: Decoder<LeafNodeHashInput>;
|
|
23
|
+
export declare const parentNodeHashInputEncoder: BufferEncoder<ParentNodeHashInput>;
|
|
22
24
|
export declare const encodeParentNodeHashInput: Encoder<ParentNodeHashInput>;
|
|
23
25
|
export declare const decodeParentNodeHashInput: Decoder<ParentNodeHashInput>;
|
|
26
|
+
export declare const treeHashInputEncoder: BufferEncoder<TreeHashInput>;
|
|
24
27
|
export declare const encodeTreeHashInput: Encoder<TreeHashInput>;
|
|
25
28
|
export declare const decodeTreeHashInput: Decoder<TreeHashInput>;
|
|
26
29
|
export declare function treeHashRoot(tree: RatchetTree, h: Hash): Promise<Uint8Array>;
|