ts-mls 1.4.0 → 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.
Files changed (159) hide show
  1. package/dist/authenticatedContent.d.ts +3 -1
  2. package/dist/authenticatedContent.js +10 -8
  3. package/dist/authenticatedContent.js.map +1 -1
  4. package/dist/capabilities.d.ts +2 -1
  5. package/dist/capabilities.js +13 -12
  6. package/dist/capabilities.js.map +1 -1
  7. package/dist/clientState.d.ts +4 -3
  8. package/dist/clientState.js +87 -59
  9. package/dist/clientState.js.map +1 -1
  10. package/dist/codec/number.d.ts +5 -1
  11. package/dist/codec/number.js +33 -24
  12. package/dist/codec/number.js.map +1 -1
  13. package/dist/codec/optional.d.ts +2 -2
  14. package/dist/codec/optional.js +24 -7
  15. package/dist/codec/optional.js.map +1 -1
  16. package/dist/codec/tlsEncoder.d.ts +11 -8
  17. package/dist/codec/tlsEncoder.js +39 -21
  18. package/dist/codec/tlsEncoder.js.map +1 -1
  19. package/dist/codec/variableLength.d.ts +4 -4
  20. package/dist/codec/variableLength.js +58 -28
  21. package/dist/codec/variableLength.js.map +1 -1
  22. package/dist/commit.d.ts +2 -1
  23. package/dist/commit.js +7 -6
  24. package/dist/commit.js.map +1 -1
  25. package/dist/contentType.d.ts +2 -1
  26. package/dist/contentType.js +4 -3
  27. package/dist/contentType.js.map +1 -1
  28. package/dist/createCommit.js +6 -5
  29. package/dist/createCommit.js.map +1 -1
  30. package/dist/credential.d.ts +5 -1
  31. package/dist/credential.js +14 -10
  32. package/dist/credential.js.map +1 -1
  33. package/dist/credentialType.d.ts +2 -1
  34. package/dist/credentialType.js +4 -3
  35. package/dist/credentialType.js.map +1 -1
  36. package/dist/crypto/ciphersuite.d.ts +2 -1
  37. package/dist/crypto/ciphersuite.js +4 -3
  38. package/dist/crypto/ciphersuite.js.map +1 -1
  39. package/dist/crypto/hash.js +4 -3
  40. package/dist/crypto/hash.js.map +1 -1
  41. package/dist/crypto/hpke.js +10 -4
  42. package/dist/crypto/hpke.js.map +1 -1
  43. package/dist/crypto/implementation/default/makeAead.js +9 -9
  44. package/dist/crypto/implementation/default/makeAead.js.map +1 -1
  45. package/dist/crypto/implementation/default/makeHashImpl.js +5 -5
  46. package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -1
  47. package/dist/crypto/implementation/default/makeKdfImpl.js +3 -3
  48. package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -1
  49. package/dist/crypto/implementation/hpke.js +11 -11
  50. package/dist/crypto/implementation/hpke.js.map +1 -1
  51. package/dist/crypto/kdf.js +8 -7
  52. package/dist/crypto/kdf.js.map +1 -1
  53. package/dist/crypto/signature.js +10 -4
  54. package/dist/crypto/signature.js.map +1 -1
  55. package/dist/defaultExtensionType.d.ts +2 -1
  56. package/dist/defaultExtensionType.js +4 -3
  57. package/dist/defaultExtensionType.js.map +1 -1
  58. package/dist/defaultProposalType.d.ts +2 -1
  59. package/dist/defaultProposalType.js +4 -3
  60. package/dist/defaultProposalType.js.map +1 -1
  61. package/dist/extension.d.ts +3 -1
  62. package/dist/extension.js +8 -6
  63. package/dist/extension.js.map +1 -1
  64. package/dist/externalSender.d.ts +2 -1
  65. package/dist/externalSender.js +5 -4
  66. package/dist/externalSender.js.map +1 -1
  67. package/dist/framedContent.d.ts +9 -1
  68. package/dist/framedContent.js +35 -27
  69. package/dist/framedContent.js.map +1 -1
  70. package/dist/groupContext.d.ts +2 -1
  71. package/dist/groupContext.js +17 -16
  72. package/dist/groupContext.js.map +1 -1
  73. package/dist/groupInfo.d.ts +3 -1
  74. package/dist/groupInfo.js +11 -9
  75. package/dist/groupInfo.js.map +1 -1
  76. package/dist/groupSecrets.d.ts +2 -1
  77. package/dist/groupSecrets.js +6 -5
  78. package/dist/groupSecrets.js.map +1 -1
  79. package/dist/hpkeCiphertext.d.ts +2 -1
  80. package/dist/hpkeCiphertext.js +4 -3
  81. package/dist/hpkeCiphertext.js.map +1 -1
  82. package/dist/index.d.ts +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/keyPackage.d.ts +12 -3
  86. package/dist/keyPackage.js +23 -18
  87. package/dist/keyPackage.js.map +1 -1
  88. package/dist/leafNode.d.ts +11 -1
  89. package/dist/leafNode.js +43 -27
  90. package/dist/leafNode.js.map +1 -1
  91. package/dist/leafNodeSource.d.ts +2 -1
  92. package/dist/leafNodeSource.js +4 -3
  93. package/dist/leafNodeSource.js.map +1 -1
  94. package/dist/lifetime.d.ts +2 -1
  95. package/dist/lifetime.js +4 -3
  96. package/dist/lifetime.js.map +1 -1
  97. package/dist/message.d.ts +9 -2
  98. package/dist/message.js +27 -20
  99. package/dist/message.js.map +1 -1
  100. package/dist/messageProtection.js +4 -3
  101. package/dist/messageProtection.js.map +1 -1
  102. package/dist/nodeType.d.ts +2 -1
  103. package/dist/nodeType.js +4 -3
  104. package/dist/nodeType.js.map +1 -1
  105. package/dist/parentHash.d.ts +2 -1
  106. package/dist/parentHash.js +5 -4
  107. package/dist/parentHash.js.map +1 -1
  108. package/dist/parentNode.d.ts +2 -1
  109. package/dist/parentNode.js +5 -4
  110. package/dist/parentNode.js.map +1 -1
  111. package/dist/presharedkey.d.ts +6 -1
  112. package/dist/presharedkey.js +16 -11
  113. package/dist/presharedkey.js.map +1 -1
  114. package/dist/privateMessage.d.ts +4 -1
  115. package/dist/privateMessage.js +29 -20
  116. package/dist/privateMessage.js.map +1 -1
  117. package/dist/processMessages.js +3 -2
  118. package/dist/processMessages.js.map +1 -1
  119. package/dist/proposal.d.ts +17 -1
  120. package/dist/proposal.js +50 -34
  121. package/dist/proposal.js.map +1 -1
  122. package/dist/proposalOrRefType.d.ts +5 -1
  123. package/dist/proposalOrRefType.js +14 -10
  124. package/dist/proposalOrRefType.js.map +1 -1
  125. package/dist/protocolVersion.d.ts +2 -1
  126. package/dist/protocolVersion.js +4 -3
  127. package/dist/protocolVersion.js.map +1 -1
  128. package/dist/publicMessage.d.ts +3 -1
  129. package/dist/publicMessage.js +9 -7
  130. package/dist/publicMessage.js.map +1 -1
  131. package/dist/ratchetTree.d.ts +3 -1
  132. package/dist/ratchetTree.js +13 -11
  133. package/dist/ratchetTree.js.map +1 -1
  134. package/dist/requiredCapabilities.d.ts +2 -1
  135. package/dist/requiredCapabilities.js +6 -5
  136. package/dist/requiredCapabilities.js.map +1 -1
  137. package/dist/sender.d.ts +6 -1
  138. package/dist/sender.js +24 -13
  139. package/dist/sender.js.map +1 -1
  140. package/dist/transcriptHash.d.ts +2 -1
  141. package/dist/transcriptHash.js +18 -8
  142. package/dist/transcriptHash.js.map +1 -1
  143. package/dist/treeHash.d.ts +4 -1
  144. package/dist/treeHash.js +17 -14
  145. package/dist/treeHash.js.map +1 -1
  146. package/dist/tsconfig.build.tsbuildinfo +1 -1
  147. package/dist/updatePath.d.ts +3 -1
  148. package/dist/updatePath.js +10 -8
  149. package/dist/updatePath.js.map +1 -1
  150. package/dist/util/byteArray.d.ts +2 -1
  151. package/dist/util/byteArray.js +21 -2
  152. package/dist/util/byteArray.js.map +1 -1
  153. package/dist/welcome.d.ts +3 -1
  154. package/dist/welcome.js +12 -10
  155. package/dist/welcome.js.map +1 -1
  156. package/dist/wireformat.d.ts +2 -1
  157. package/dist/wireformat.js +4 -3
  158. package/dist/wireformat.js.map +1 -1
  159. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/codec/number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/codec/number.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { Decoder } from "./tlsDecoder.js";
2
- import { Encoder } from "./tlsEncoder.js";
3
- export declare function encodeOptional<T>(encodeT: Encoder<T>): Encoder<T | undefined>;
2
+ import { BufferEncoder } from "./tlsEncoder.js";
3
+ export declare function optionalEncoder<T>(encodeT: BufferEncoder<T>): BufferEncoder<T | undefined>;
4
4
  export declare function decodeOptional<T>(decodeT: Decoder<T>): Decoder<T | undefined>;
@@ -1,7 +1,27 @@
1
- import { concatUint8Arrays } from "../util/byteArray.js";
2
- import { decodeUint8, encodeUint8 } from "./number.js";
3
- export function encodeOptional(encodeT) {
4
- return (t) => (t ? prependPresenceOctet(encodeT(t)) : new Uint8Array([0x0]));
1
+ import { decodeUint8 } from "./number.js";
2
+ export function optionalEncoder(encodeT) {
3
+ return (t) => {
4
+ if (t) {
5
+ const [len, write] = encodeT(t);
6
+ return [
7
+ len + 1,
8
+ (offset, buffer) => {
9
+ const view = new DataView(buffer);
10
+ view.setUint8(offset, 0x1);
11
+ write(offset + 1, buffer);
12
+ },
13
+ ];
14
+ }
15
+ else {
16
+ return [
17
+ 1,
18
+ (offset, buffer) => {
19
+ const view = new DataView(buffer);
20
+ view.setUint8(offset, 0x0);
21
+ },
22
+ ];
23
+ }
24
+ };
5
25
  }
6
26
  export function decodeOptional(decodeT) {
7
27
  return (b, offset) => {
@@ -15,7 +35,4 @@ export function decodeOptional(decodeT) {
15
35
  }
16
36
  };
17
37
  }
18
- function prependPresenceOctet(v) {
19
- return concatUint8Arrays(encodeUint8(0x1), v);
20
- }
21
38
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/codec/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAItD,MAAM,UAAU,cAAc,CAAI,OAAmB;IACnD,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,OAAmB;IACnD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACnB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;YACrC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAa;IACzC,OAAO,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../src/codec/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAIzC,MAAM,UAAU,eAAe,CAAI,OAAyB;IAC1D,OAAO,CAAC,CAAC,EAAE,EAAE;QACX,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YAC/B,OAAO;gBACL,GAAG,GAAG,CAAC;gBACP,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBACjB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;oBAC1B,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;gBAC3B,CAAC;aACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,CAAC;gBACD,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;oBACjB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;gBAC5B,CAAC;aACF,CAAA;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,OAAmB;IACnD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACnB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;YACrC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACvB,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,9 +1,12 @@
1
1
  export type Encoder<T> = (t: T) => Uint8Array;
2
- export declare function contramapEncoders<T extends unknown[], R>(encoders: {
3
- [K in keyof T]: Encoder<T[K]>;
4
- }, toTuple: (input: R) => T): Encoder<R>;
5
- export declare function composeEncoders<T extends unknown[]>(encoders: {
6
- [K in keyof T]: Encoder<T[K]>;
7
- }): Encoder<T>;
8
- export declare function contramapEncoder<T, U>(enc: Encoder<T>, f: (u: U) => Readonly<T>): Encoder<U>;
9
- export declare function encodeVoid<T>(): Encoder<T>;
2
+ export type BufferEncoder<T> = (t: T) => [number, (offset: number, buffer: ArrayBuffer) => void];
3
+ export declare function encode<T>(enc: BufferEncoder<T>): Encoder<T>;
4
+ export declare function composeBufferEncoder<T, U>(encT: BufferEncoder<T>, encU: BufferEncoder<U>): BufferEncoder<[T, U]>;
5
+ export declare function contramapBufferEncoder<T, U>(enc: BufferEncoder<T>, f: (u: U) => Readonly<T>): BufferEncoder<U>;
6
+ export declare function contramapBufferEncoders<T extends unknown[], R>(encoders: {
7
+ [K in keyof T]: BufferEncoder<T[K]>;
8
+ }, toTuple: (input: R) => T): BufferEncoder<R>;
9
+ export declare function composeBufferEncoders<T extends unknown[]>(encoders: {
10
+ [K in keyof T]: BufferEncoder<T[K]>;
11
+ }): BufferEncoder<T>;
12
+ export declare const encVoid: [number, (offset: number, buffer: ArrayBuffer) => void];
@@ -1,29 +1,47 @@
1
- export function contramapEncoders(encoders, toTuple) {
1
+ export function encode(enc) {
2
+ return (t) => {
3
+ const [len, write] = enc(t);
4
+ const buf = new ArrayBuffer(len);
5
+ write(0, buf);
6
+ return new Uint8Array(buf);
7
+ };
8
+ }
9
+ export function composeBufferEncoder(encT, encU) {
10
+ return ([t, u]) => {
11
+ const [lenT, writeT] = encT(t);
12
+ const [lenU, writeU] = encU(u);
13
+ return [
14
+ lenT + lenU,
15
+ (offset, buffer) => {
16
+ writeT(offset, buffer);
17
+ writeU(offset + lenT, buffer);
18
+ },
19
+ ];
20
+ };
21
+ }
22
+ export function contramapBufferEncoder(enc, f) {
23
+ return (u) => enc(f(u));
24
+ }
25
+ export function contramapBufferEncoders(encoders, toTuple) {
2
26
  return (value) => {
3
27
  const values = toTuple(value);
4
- const encodedParts = new Array(values.length);
5
28
  let totalLength = 0;
6
- for (let i = 0; i < values.length; i++) {
7
- const encoded = encoders[i](values[i]);
8
- totalLength += encoded.byteLength;
9
- encodedParts[i] = encoded;
10
- }
11
- const result = new Uint8Array(totalLength);
12
- let offset = 0;
13
- for (const arr of encodedParts) {
14
- result.set(arr, offset);
15
- offset += arr.length;
29
+ let writeTotal = (_offset, _buffer) => { };
30
+ for (let i = 0; i < encoders.length; i++) {
31
+ const [len, write] = encoders[i](values[i]);
32
+ const oldFunc = writeTotal;
33
+ const currentLen = totalLength;
34
+ writeTotal = (offset, buffer) => {
35
+ oldFunc(offset, buffer);
36
+ write(offset + currentLen, buffer);
37
+ };
38
+ totalLength += len;
16
39
  }
17
- return result;
40
+ return [totalLength, writeTotal];
18
41
  };
19
42
  }
20
- export function composeEncoders(encoders) {
21
- return (values) => contramapEncoders(encoders, (t) => t)(values);
22
- }
23
- export function contramapEncoder(enc, f) {
24
- return (u) => enc(f(u));
25
- }
26
- export function encodeVoid() {
27
- return () => new Uint8Array();
43
+ export function composeBufferEncoders(encoders) {
44
+ return (values) => contramapBufferEncoders(encoders, (t) => t)(values);
28
45
  }
46
+ export const encVoid = [0, () => { }];
29
47
  //# sourceMappingURL=tlsEncoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tlsEncoder.js","sourceRoot":"","sources":["../../src/codec/tlsEncoder.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,QAA2C,EAC3C,OAAwB;IAExB,OAAO,CAAC,KAAQ,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAE7B,MAAM,YAAY,GAAiB,IAAI,KAAK,CAAa,MAAM,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAA;YACjC,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;QAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;QACtB,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAsB,QAA2C;IAC9F,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAO,GAAe,EAAE,CAAwB;IAC9E,OAAO,CAAC,CAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,GAAG,EAAE,CAAC,IAAI,UAAU,EAAE,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"tlsEncoder.js","sourceRoot":"","sources":["../../src/codec/tlsEncoder.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,MAAM,CAAI,GAAqB;IAC7C,OAAO,CAAC,CAAI,EAAE,EAAE;QACd,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;QAChC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACb,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAO,IAAsB,EAAE,IAAsB;IACvF,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAChB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAC9B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAE9B,OAAO;YACL,IAAI,GAAG,IAAI;YACX,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACtB,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;YAC/B,CAAC;SACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAO,GAAqB,EAAE,CAAwB;IAC1F,OAAO,CAAC,CAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAiD,EACjD,OAAwB;IAExB,OAAO,CAAC,KAAQ,EAAE,EAAE;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,IAAI,UAAU,GAAG,CAAC,OAAe,EAAE,OAAoB,EAAE,EAAE,GAAE,CAAC,CAAA;QAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,OAAO,GAAG,UAAU,CAAA;YAC1B,MAAM,UAAU,GAAG,WAAW,CAAA;YAC9B,UAAU,GAAG,CAAC,MAAc,EAAE,MAAmB,EAAE,EAAE;gBACnD,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;gBACvB,KAAK,CAAC,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC,CAAA;YACpC,CAAC,CAAA;YACD,WAAW,IAAI,GAAG,CAAA;QACpB,CAAC;QACD,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAClC,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAsB,QAE1D;IACC,OAAO,CAAC,MAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAM,CAAC,CAAC,MAAM,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA4D,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
@@ -1,11 +1,11 @@
1
1
  import { Decoder } from "./tlsDecoder.js";
2
- import { Encoder } from "./tlsEncoder.js";
3
- export declare const encodeVarLenData: Encoder<Uint8Array>;
4
- export declare function encodeLength(len: number): Uint8Array;
2
+ import { BufferEncoder } from "./tlsEncoder.js";
3
+ export declare const varLenDataEncoder: BufferEncoder<Uint8Array>;
4
+ export declare function lengthEncoder(len: number): [number, (offset: number, buffer: ArrayBuffer) => void];
5
5
  export declare function determineLength(data: Uint8Array, offset?: number): {
6
6
  length: number;
7
7
  lengthFieldSize: number;
8
8
  };
9
9
  export declare const decodeVarLenData: Decoder<Uint8Array>;
10
- export declare function encodeVarLenType<T>(enc: Encoder<T>): Encoder<T[]>;
10
+ export declare function varLenTypeEncoder<T>(enc: BufferEncoder<T>): BufferEncoder<T[]>;
11
11
  export declare function decodeVarLenType<T>(dec: Decoder<T>): Decoder<T[]>;
@@ -1,23 +1,49 @@
1
1
  import { CodecError } from "../mlsError.js";
2
- export const encodeVarLenData = (data) => {
3
- const lenBytes = encodeLength(data.length);
4
- const result = new Uint8Array(lenBytes.length + data.length);
5
- result.set(lenBytes, 0);
6
- result.set(data, lenBytes.length);
7
- return result;
2
+ export const varLenDataEncoder = (data) => {
3
+ const [len, write] = lengthEncoder(data.length);
4
+ return [
5
+ len + data.length,
6
+ (offset, buffer) => {
7
+ write(offset, buffer);
8
+ const view = new Uint8Array(buffer);
9
+ view.set(data, offset + len);
10
+ },
11
+ ];
8
12
  };
9
- export function encodeLength(len) {
13
+ export function lengthEncoder(len) {
10
14
  if (len < 64) {
11
- // 1-byte length: 00xxxxxx
12
- return new Uint8Array([len & 0b00111111]);
15
+ return [
16
+ 1,
17
+ (offset, buffer) => {
18
+ // 1-byte length: 00xxxxxx
19
+ const view = new DataView(buffer);
20
+ view.setUint8(offset, len & 0b00111111);
21
+ },
22
+ ];
13
23
  }
14
24
  else if (len < 16384) {
15
- // 2-byte length: 01xxxxxx xxxxxxxx
16
- return new Uint8Array([((len >> 8) & 0b00111111) | 0b01000000, len & 0xff]);
25
+ return [
26
+ 2,
27
+ (offset, buffer) => {
28
+ // 2-byte length: 01xxxxxx xxxxxxxx
29
+ const view = new DataView(buffer);
30
+ view.setUint8(offset, ((len >> 8) & 0b00111111) | 0b01000000);
31
+ view.setUint8(offset + 1, len & 0xff);
32
+ },
33
+ ];
17
34
  }
18
35
  else if (len < 0x40000000) {
19
- // 4-byte length: 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
20
- return new Uint8Array([((len >> 24) & 0b00111111) | 0b10000000, (len >> 16) & 0xff, (len >> 8) & 0xff, len & 0xff]);
36
+ return [
37
+ 4,
38
+ (offset, buffer) => {
39
+ // 4-byte length: 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
40
+ const view = new DataView(buffer);
41
+ view.setUint8(offset, ((len >> 24) & 0b00111111) | 0b10000000);
42
+ view.setUint8(offset + 1, (len >> 16) & 0xff);
43
+ view.setUint8(offset + 2, (len >> 8) & 0xff);
44
+ view.setUint8(offset + 3, len & 0xff);
45
+ },
46
+ ];
21
47
  }
22
48
  else {
23
49
  throw new CodecError("Length too large to encode (max is 2^30 - 1)");
@@ -64,24 +90,28 @@ export const decodeVarLenData = (buf, offset) => {
64
90
  const data = buf.subarray(offset + lengthFieldSize, offset + totalBytes);
65
91
  return [data, totalBytes];
66
92
  };
67
- export function encodeVarLenType(enc) {
93
+ export function varLenTypeEncoder(enc) {
68
94
  return (data) => {
69
- const encodedParts = new Array(data.length);
70
- let dataLength = 0;
95
+ let totalLength = 0;
96
+ let writeTotal = (_offset, _buffer) => { };
71
97
  for (let i = 0; i < data.length; i++) {
72
- const encoded = enc(data[i]);
73
- dataLength += encoded.byteLength;
74
- encodedParts[i] = encoded;
98
+ const [len, write] = enc(data[i]);
99
+ const oldFunc = writeTotal;
100
+ const currentLen = totalLength;
101
+ writeTotal = (offset, buffer) => {
102
+ oldFunc(offset, buffer);
103
+ write(offset + currentLen, buffer);
104
+ };
105
+ totalLength += len;
75
106
  }
76
- const lengthHeader = encodeLength(dataLength);
77
- const result = new Uint8Array(lengthHeader.length + dataLength);
78
- result.set(lengthHeader, 0);
79
- let offset = lengthHeader.length;
80
- for (const arr of encodedParts) {
81
- result.set(arr, offset);
82
- offset += arr.length;
83
- }
84
- return result;
107
+ const [headerLength, writeLength] = lengthEncoder(totalLength);
108
+ return [
109
+ headerLength + totalLength,
110
+ (offset, buffer) => {
111
+ writeLength(offset, buffer);
112
+ writeTotal(offset + headerLength, buffer);
113
+ },
114
+ ];
85
115
  };
86
116
  }
87
117
  export function decodeVarLenType(dec) {
@@ -1 +1 @@
1
- {"version":3,"file":"variableLength.js","sourceRoot":"","sources":["../../src/codec/variableLength.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variableLength.js","sourceRoot":"","sources":["../../src/codec/variableLength.ts"],"names":[],"mappings":"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"}
package/dist/commit.d.ts CHANGED
@@ -1,10 +1,11 @@
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 { ProposalOrRef } from "./proposalOrRefType.js";
4
4
  import { UpdatePath } from "./updatePath.js";
5
5
  export interface Commit {
6
6
  proposals: ProposalOrRef[];
7
7
  path: UpdatePath | undefined;
8
8
  }
9
+ export declare const commitEncoder: BufferEncoder<Commit>;
9
10
  export declare const encodeCommit: Encoder<Commit>;
10
11
  export declare const decodeCommit: Decoder<Commit>;
package/dist/commit.js CHANGED
@@ -1,9 +1,10 @@
1
- import { decodeOptional, encodeOptional } from "./codec/optional.js";
1
+ import { decodeOptional, optionalEncoder } from "./codec/optional.js";
2
2
  import { mapDecoders } from "./codec/tlsDecoder.js";
3
- import { contramapEncoders } from "./codec/tlsEncoder.js";
4
- import { decodeVarLenType, encodeVarLenType } from "./codec/variableLength.js";
5
- import { decodeProposalOrRef, encodeProposalOrRef } from "./proposalOrRefType.js";
6
- import { decodeUpdatePath, encodeUpdatePath } from "./updatePath.js";
7
- export const encodeCommit = contramapEncoders([encodeVarLenType(encodeProposalOrRef), encodeOptional(encodeUpdatePath)], (commit) => [commit.proposals, commit.path]);
3
+ import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
4
+ import { decodeVarLenType, varLenTypeEncoder } from "./codec/variableLength.js";
5
+ import { decodeProposalOrRef, proposalOrRefEncoder } from "./proposalOrRefType.js";
6
+ import { decodeUpdatePath, updatePathEncoder } from "./updatePath.js";
7
+ export const commitEncoder = contramapBufferEncoders([varLenTypeEncoder(proposalOrRefEncoder), optionalEncoder(updatePathEncoder)], (commit) => [commit.proposals, commit.path]);
8
+ export const encodeCommit = encode(commitEncoder);
8
9
  export const decodeCommit = mapDecoders([decodeVarLenType(decodeProposalOrRef), decodeOptional(decodeUpdatePath)], (proposals, path) => ({ proposals, path }));
9
10
  //# sourceMappingURL=commit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAW,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAiB,MAAM,wBAAwB,CAAA;AAChG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAc,MAAM,iBAAiB,CAAA;AAOhF,MAAM,CAAC,MAAM,YAAY,GAAoB,iBAAiB,CAC5D,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,EACzE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAU,CACrD,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB,WAAW,CACtD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,EACzE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC3C,CAAA"}
1
+ {"version":3,"file":"commit.js","sourceRoot":"","sources":["../src/commit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAW,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAiB,MAAM,EAAW,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAiB,MAAM,wBAAwB,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAc,MAAM,iBAAiB,CAAA;AAOjF,MAAM,CAAC,MAAM,aAAa,GAA0B,uBAAuB,CACzE,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC,EAC7E,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAU,CACrD,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAoB,MAAM,CAAC,aAAa,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,YAAY,GAAoB,WAAW,CACtD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC,EACzE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAC3C,CAAA"}
@@ -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
  declare const contentTypes: {
4
4
  readonly application: 1;
5
5
  readonly proposal: 2;
@@ -7,6 +7,7 @@ declare const contentTypes: {
7
7
  };
8
8
  export type ContentTypeName = keyof typeof contentTypes;
9
9
  export type ContentTypeValue = (typeof contentTypes)[ContentTypeName];
10
+ export declare const contentTypeEncoder: BufferEncoder<ContentTypeName>;
10
11
  export declare const encodeContentType: Encoder<ContentTypeName>;
11
12
  export declare const decodeContentType: Decoder<ContentTypeName>;
12
13
  export {};
@@ -1,12 +1,13 @@
1
- import { decodeUint8, encodeUint8 } from "./codec/number.js";
1
+ import { decodeUint8, uint8Encoder } from "./codec/number.js";
2
2
  import { mapDecoderOption } from "./codec/tlsDecoder.js";
3
- import { contramapEncoder } from "./codec/tlsEncoder.js";
3
+ import { contramapBufferEncoder, encode } from "./codec/tlsEncoder.js";
4
4
  import { enumNumberToKey } from "./util/enumHelpers.js";
5
5
  const contentTypes = {
6
6
  application: 1,
7
7
  proposal: 2,
8
8
  commit: 3,
9
9
  };
10
- export const encodeContentType = contramapEncoder(encodeUint8, (t) => contentTypes[t]);
10
+ export const contentTypeEncoder = contramapBufferEncoder(uint8Encoder, (t) => contentTypes[t]);
11
+ export const encodeContentType = encode(contentTypeEncoder);
11
12
  export const decodeContentType = mapDecoderOption(decodeUint8, enumNumberToKey(contentTypes));
12
13
  //# sourceMappingURL=contentType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contentType.js","sourceRoot":"","sources":["../src/contentType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAW,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAW,MAAM,uBAAuB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,MAAM,YAAY,GAAG;IACnB,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACD,CAAA;AAKV,MAAM,CAAC,MAAM,iBAAiB,GAA6B,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;AAEhH,MAAM,CAAC,MAAM,iBAAiB,GAA6B,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"contentType.js","sourceRoot":"","sources":["../src/contentType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC7D,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,YAAY,GAAG;IACnB,WAAW,EAAE,CAAC;IACd,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;CACD,CAAA;AAKV,MAAM,CAAC,MAAM,kBAAkB,GAAmC,sBAAsB,CACtF,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CACvB,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA6B,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,iBAAiB,GAA6B,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA"}
@@ -3,7 +3,7 @@ import { applyProposals, nextEpochContext, exportSecret, checkCanSendHandshakeMe
3
3
  import { decryptWithLabel } from "./crypto/hpke.js";
4
4
  import { deriveSecret } from "./crypto/kdf.js";
5
5
  import { createContentCommitSignature, createConfirmationTag, } from "./framedContent.js";
6
- import { encodeGroupContext } from "./groupContext.js";
6
+ import { groupContextEncoder } from "./groupContext.js";
7
7
  import { ratchetTreeFromExtension, signGroupInfo, verifyGroupInfoSignature, } from "./groupInfo.js";
8
8
  import { makeKeyPackageRef } from "./keyPackage.js";
9
9
  import { initializeEpoch } from "./keySchedule.js";
@@ -11,7 +11,7 @@ import { protect } from "./messageProtection.js";
11
11
  import { protectPublicMessage } from "./messageProtectionPublic.js";
12
12
  import { pathToPathSecrets } from "./pathSecrets.js";
13
13
  import { mergePrivateKeyPaths, updateLeafKey, toPrivateKeyPath } from "./privateKeyPath.js";
14
- import { addLeafNode, encodeRatchetTree, getCredentialFromLeafIndex, getSignaturePublicKeyFromLeafIndex, removeLeafNode, } from "./ratchetTree.js";
14
+ import { addLeafNode, ratchetTreeEncoder, getCredentialFromLeafIndex, getSignaturePublicKeyFromLeafIndex, removeLeafNode, } from "./ratchetTree.js";
15
15
  import { createSecretTree } from "./secretTree.js";
16
16
  import { treeHashRoot } from "./treeHash.js";
17
17
  import { leafWidth, nodeToLeafIndex, toLeafIndex, toNodeIndex } from "./treemath.js";
@@ -21,6 +21,7 @@ import { encryptGroupInfo, encryptGroupSecrets } from "./welcome.js";
21
21
  import { CryptoVerificationError, InternalError, UsageError, ValidationError } from "./mlsError.js";
22
22
  import { defaultClientConfig } from "./clientConfig.js";
23
23
  import { extensionsSupportedByCapabilities } from "./extension.js";
24
+ import { encode } from "./codec/tlsEncoder.js";
24
25
  export async function createCommit(context, options) {
25
26
  const { state, pskIndex = makePskIndex(state, {}), cipherSuite } = context;
26
27
  const { wireAsPublicMessage = false, extraProposals = [], ratchetTreeExtension = false, authenticatedData = new Uint8Array(), groupInfoExtensions = [], } = options ?? {};
@@ -121,7 +122,7 @@ export async function createGroupInfo(groupContext, confirmationTag, state, exte
121
122
  return signGroupInfo(groupInfoTbs, state.signaturePrivateKey, cs.signature);
122
123
  }
123
124
  export async function createGroupInfoWithRatchetTree(groupContext, confirmationTag, state, tree, extensions, cs) {
124
- const encodedTree = encodeRatchetTree(tree);
125
+ const encodedTree = encode(ratchetTreeEncoder)(tree);
125
126
  const gi = await createGroupInfo(groupContext, confirmationTag, state, [...extensions, { extensionType: "ratchet_tree", extensionData: encodedTree }], cs);
126
127
  return gi;
127
128
  }
@@ -132,7 +133,7 @@ export async function createGroupInfoWithExternalPub(state, extensions, cs) {
132
133
  return gi;
133
134
  }
134
135
  export async function createGroupInfoWithExternalPubAndRatchetTree(state, extensions, cs) {
135
- const encodedTree = encodeRatchetTree(state.ratchetTree);
136
+ const encodedTree = encode(ratchetTreeEncoder)(state.ratchetTree);
136
137
  const externalKeyPair = await cs.hpke.deriveKeyPair(state.keySchedule.externalSecret);
137
138
  const externalPub = await cs.hpke.exportPublicKey(externalKeyPair.publicKey);
138
139
  const gi = await createGroupInfo(state.groupContext, state.confirmationTag, state, [
@@ -164,7 +165,7 @@ export async function applyUpdatePathSecret(tree, privatePath, senderLeafIndex,
164
165
  if (privatePath.privateKeys[nodeIndex] !== undefined) {
165
166
  const key = await cs.hpke.importPrivateKey(privatePath.privateKeys[nodeIndex]);
166
167
  const ct = updateNode.encryptedPathSecret[i];
167
- const pathSecret = await decryptWithLabel(key, "UpdatePathNode", encodeGroupContext(gc), ct.kemOutput, ct.ciphertext, cs.hpke);
168
+ const pathSecret = await decryptWithLabel(key, "UpdatePathNode", encode(groupContextEncoder)(gc), ct.kemOutput, ct.ciphertext, cs.hpke);
168
169
  return { nodeIndex: ancestorNodeIndex, pathSecret };
169
170
  }
170
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createCommit.js","sourceRoot":"","sources":["../src/createCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE/G,OAAO,EAEL,cAAc,EACd,gBAAgB,EAEhB,YAAY,EACZ,6BAA6B,GAE9B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GAGtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAgB,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAGL,wBAAwB,EACxB,aAAa,EACb,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAc,iBAAiB,EAAqB,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAgB,MAAM,kBAAkB,CAAA;AAEhE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,gBAAgB,EAAkB,MAAM,qBAAqB,CAAA;AAI3G,OAAO,EAEL,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,kCAAkC,EAClC,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAc,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAa,SAAS,EAAa,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC1G,OAAO,EAAE,gBAAgB,EAAc,mBAAmB,EAAc,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACnH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAW,gBAAgB,EAAyB,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACnG,OAAO,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,EAAa,iCAAiC,EAAE,MAAM,gBAAgB,CAAA;AAsB7E,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAmB,EAAE,OAA6B;IACnF,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC1E,MAAM,EACJ,mBAAmB,GAAG,KAAK,EAC3B,cAAc,GAAG,EAAE,EACnB,oBAAoB,GAAG,KAAK,EAC5B,iBAAiB,GAAG,IAAI,UAAU,EAAE,EACpC,mBAAmB,GAAG,EAAE,GACzB,GAAG,OAAO,IAAI,EAAE,CAAA;IAEjB,6BAA6B,CAAC,KAAK,CAAC,CAAA;IAEpC,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAA;IAErF,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IAE9D,MAAM,GAAG,GAAG,MAAM,cAAc,CAC9B,KAAK,EACL,YAAY,EACZ,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,EACxC,QAAQ,EACR,IAAI,EACJ,WAAW,CACZ,CAAA;IAED,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,gBAAgB;QAAE,MAAM,IAAI,UAAU,CAAC,0CAA0C,CAAC,CAAA;IAEpH,MAAM,sBAAsB,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;IAE/G,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,GAAG,CAAC,eAAe;QACxE,CAAC,CAAC,MAAM,gBAAgB,CACpB,GAAG,CAAC,IAAI,EACR,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,EACxC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,mBAAmB,EACzB,WAAW,CACZ;QACH,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,EAAkB,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,iBAAiB,GACrB,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QACxF,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU;QACjC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAA;IAEnC,MAAM,0BAA0B,GAAG,EAAE,GAAG,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAE3F,MAAM,WAAW,GAAG,oBAAoB,CACtC,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC1F,CAAC,CAAC,KAAK,CAAC,WAAW,EACrB,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CACjG,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS;QAC1B,CAAC,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAA;IAExE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,4BAA4B,CACrE,KAAK,CAAC,YAAY,EAClB,UAAU,EACV,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,EAC7C,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,EAChE,iBAAiB,EACjB,KAAK,CAAC,mBAAmB,EACzB,WAAW,CAAC,SAAS,CACtB,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IAE3D,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAChD,0BAA0B,EAC1B,UAAU,EACV,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,CAAC,eAAe,EACrB,WAAW,CAAC,IAAI,CACjB,CAAA;IAED,MAAM,YAAY,GAAG,MAAM,eAAe,CACxC,KAAK,CAAC,WAAW,CAAC,UAAU,EAC5B,YAAY,EACZ,mBAAmB,EACnB,GAAG,CAAC,SAAS,EACb,WAAW,CAAC,GAAG,CAChB,CAAA;IAED,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,YAAY,CAAC,WAAW,CAAC,eAAe,EACxC,mBAAmB,CAAC,uBAAuB,EAC3C,WAAW,CAAC,IAAI,CACjB,CAAA;IAED,MAAM,QAAQ,GAAgC;QAC5C,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,SAAS;QACT,eAAe;KAChB,CAAA;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAClC,mBAAmB,EACnB,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,QAAQ,EACR,WAAW,CACZ,CAAA;IAED,MAAM,OAAO,GAAwB,MAAM,aAAa,CACtD,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,KAAK,EACL,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,GAAG,EACH,WAAW,EACX,mBAAmB,CACpB,CAAA;IAED,MAAM,gBAAgB,GAAqB,GAAG,CAAC,WAAW;QACxD,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;QAC9B,CAAC,CAAC,sBAAsB,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,sBAAsB,EAAE;YACpE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;IAExB,MAAM,QAAQ,GAAgB;QAC5B,YAAY,EAAE,mBAAmB;QACjC,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,MAAM,gBAAgB,CAChC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EACtB,YAAY,CAAC,WAAW,CAAC,gBAAgB,EACzC,WAAW,CAAC,GAAG,CAChB;QACD,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,WAAW,EAAE,WAAW;QACxB,kBAAkB,EAAE,EAAE;QACtB,sBAAsB,EAAE,yBAAyB,CAAC,KAAK,CAAC;QACxD,eAAe;QACf,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,gBAAgB;QAChB,YAAY,EAAE,KAAK,CAAC,YAAY;KACjC,CAAA;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAkB,EAAE,cAA0B;IACxE,MAAM,IAAI,GAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,iBAAiB,EAAE,WAAW;QAC9B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;KAC5B,CAAC,CAAC,CAAA;IAEH,MAAM,SAAS,GAAoB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE9G,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAA;AAChC,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,oBAA6B,EAC7B,YAA0B,EAC1B,eAA2B,EAC3B,KAAkB,EAClB,IAAiB,EACjB,EAAmB,EACnB,YAA0B,EAC1B,GAAyB,EACzB,WAAyB,EACzB,UAAuB;IAEvB,MAAM,SAAS,GAAG,oBAAoB;QACpC,CAAC,CAAC,MAAM,8BAA8B,CAAC,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC;QAClG,CAAC,CAAC,MAAM,eAAe,CAAC,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IAE/E,MAAM,kBAAkB,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAE5F,MAAM,qBAAqB,GACzB,GAAG,CAAC,gBAAgB,CAAC,IAAI,KAAK,cAAc;QAC1C,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACf,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE;YACtE,OAAO,2BAA2B,CAChC,IAAI,EACJ,aAAa,EACb,KAAK,EACL,WAAW,EACX,EAAE,EACF,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,GAAG,CACJ,CAAA;QACH,CAAC,CAAC,CACH;QACH,CAAC,CAAC,EAAE,CAAA;IAER,OAAO,qBAAqB,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC;YACE,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,OAAO,EAAE,qBAAqB;YAC9B,kBAAkB;SACnB;QACH,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,IAAiB,EACjB,aAAwB,EACxB,KAAkB,EAClB,WAAyB,EACzB,EAAmB,EACnB,UAAsB,EACtB,kBAA8B,EAC9B,YAA0B,EAC1B,GAAyB;IAEzB,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;IACpG,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;IACvE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,GAAG,GAAG,MAAM,mBAAmB,CACnC,EAAE,EACF,kBAAkB,EAClB,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAC7F,EAAE,CAAC,IAAI,CACR,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAExD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,qBAAqB,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAA;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,YAA0B,EAC1B,eAA2B,EAC3B,KAAkB,EAClB,UAAuB,EACvB,EAAmB;IAEnB,MAAM,YAAY,GAAiB;QACjC,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;QACtB,eAAe;QACf,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS;KACpC,CAAA;IAED,OAAO,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,YAA0B,EAC1B,eAA2B,EAC3B,KAAkB,EAClB,IAAiB,EACjB,UAAuB,EACvB,EAAmB;IAEnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAE3C,MAAM,EAAE,GAAG,MAAM,eAAe,CAC9B,YAAY,EACZ,eAAe,EACf,KAAK,EACL,CAAC,GAAG,UAAU,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAC9E,EAAE,CACH,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAkB,EAClB,UAAuB,EACvB,EAAmB;IAEnB,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACrF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAE5E,MAAM,EAAE,GAAG,MAAM,eAAe,CAC9B,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,EACrB,KAAK,EACL,CAAC,GAAG,UAAU,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,EAC9E,EAAE,CACH,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,KAAkB,EAClB,UAAuB,EACvB,EAAmB;IAEnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAExD,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;IACrF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAE5E,MAAM,EAAE,GAAG,MAAM,eAAe,CAC9B,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,eAAe,EACrB,KAAK,EACL;QACE,GAAG,UAAU;QACb,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE;QAC7D,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE;KAC9D,EACD,EAAE,CACH,CAAA;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,aAAsB,EACtB,KAAkB,EAClB,iBAA6B,EAC7B,OAA4B,EAC5B,QAAqC,EACrC,EAAmB;IAEnB,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAA;IAE/E,MAAM,oBAAoB,GAA+B;QACvD,UAAU;QACV,OAAO;QACP,IAAI,EAAE,QAAQ;KACf,CAAA;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,MAAM,oBAAoB,CACpC,KAAK,CAAC,WAAW,CAAC,aAAa,EAC/B,KAAK,CAAC,YAAY,EAClB,oBAAoB,EACpB,EAAE,CACH,CAAA;QAED,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IACvG,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAClC,iBAAiB,EACjB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,UAAU,EAChB,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAC9B,KAAK,CAAC,WAAW,CAAC,SAAS,EAC3B,KAAK,CAAC,YAAY,CAAC,aAAa,EAChC,EAAE,CACH,CAAA;QAED,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAChH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAiB,EACjB,WAA2B,EAC3B,eAA0B,EAC1B,EAAgB,EAChB,IAAgB,EAChB,YAAyB,EACzB,EAAmB;IAEnB,MAAM,EACJ,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EACV,UAAU,GACX,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAA;IAEvF,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,eAAe,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACjF,IAAI,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9E,MAAM,EAAE,GAAG,UAAW,CAAC,mBAAmB,CAAC,CAAC,CAAE,CAAA;YAE9C,MAAM,UAAU,GAAG,MAAM,gBAAgB,CACvC,GAAG,EACH,gBAAgB,EAChB,kBAAkB,CAAC,EAAE,CAAC,EACtB,EAAE,CAAC,SAAS,EACZ,EAAE,CAAC,UAAU,EACb,EAAE,CAAC,IAAI,CACR,CAAA;YACD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAA;QACrD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,aAAa,CAAC,0DAA0D,CAAC,CAAA;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAoB,EACpB,UAAsB,EACtB,WAA8B,EAC9B,MAAe,EACf,EAAmB,EACnB,IAAkB,EAClB,eAA6B,mBAAmB,EAChD,oBAAgC,IAAI,UAAU,EAAE;IAEhD,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,aAAa,KAAK,cAAc,CAAC,CAAA;IAE1F,IAAI,WAAW,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAA;IAE5F,MAAM,sBAAsB,GAAG,iCAAiC,CAC9D,SAAS,CAAC,YAAY,CAAC,UAAU,EACjC,UAAU,CAAC,QAAQ,CAAC,YAAY,CACjC,CAAA;IACD,IAAI,CAAC,sBAAsB;QAAE,MAAM,IAAI,UAAU,CAAC,6DAA6D,CAAC,CAAA;IAEhH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;IAErF,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAA;IAE/D,IAAI,WAAW,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAA;IAE1G,cAAc,CACZ,MAAM,mBAAmB,CACvB,WAAW,EACX,SAAS,CAAC,YAAY,EACtB,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,WAAW,EACxB,SAAS,CAAC,YAAY,CAAC,QAAQ,EAC/B,EAAE,CACH,CACF,CAAA;IAED,MAAM,kBAAkB,GAAG,kCAAkC,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAEzG,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAE/F,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAA;IAElH,IAAI,CAAC,kBAAkB;QAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAA;IAEnF,MAAM,0BAA0B,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAA;IAE9G,IAAI,CAAC,0BAA0B;QAAE,MAAM,IAAI,uBAAuB,CAAC,sCAAsC,CAAC,CAAA;IAE1G,MAAM,eAAe,GAAG,MAAM;QAC5B,CAAC,CAAC,eAAe,CACb,WAAW,CACT,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC7C,OAAO,YAAY,CAAC,wBAAwB,CAAC,2BAA2B,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;YAC9F,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CACH,CACF;QACH,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,WAAW,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;IAE9G,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAE7F,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,GAAG,MAAM,gBAAgB,CAC9E,mBAAmB,EACnB,eAAe,CAAC,gBAAgB,CAAC,EACjC,SAAS,CAAC,YAAY,EACtB,WAAW,CAAC,mBAAmB,EAC/B,EAAE,CACH,CAAA;IAED,MAAM,cAAc,GAAG,aAAa,CAClC,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,EAC7F,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC9C,CAAA;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEzC,MAAM,YAAY,GAChB,cAAc,KAAK,SAAS;QAC1B,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;QAC7B,CAAC,CAAC,MAAM,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;IAE/D,MAAM,oBAAoB,GAAyB;QACjD,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;KACjC,CAAA;IACD,MAAM,SAAS,GACb,eAAe,KAAK,SAAS;QAC3B,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,oBAAoB,CAAC;QAC1F,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAE5B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAE7C,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,4BAA4B,CACrE,SAAS,CAAC,YAAY,EACtB,oBAAoB,EACpB,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EACvG;QACE,UAAU,EAAE,mBAAmB;KAChC,EACD,iBAAiB,EACjB,WAAW,CAAC,mBAAmB,EAC/B,EAAE,CAAC,SAAS,CACb,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;IAErD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CACzC,SAAS,CAAC,YAAY,EACtB,oBAAoB,EACpB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,CAAC,eAAe,EACzB,EAAE,CAAC,IAAI,CACR,CAAA;IAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAA;IAErG,MAAM,eAAe,GAAG,MAAM,qBAAqB,CACjD,YAAY,CAAC,WAAW,CAAC,eAAe,EACxC,YAAY,CAAC,uBAAuB,EACpC,EAAE,CAAC,IAAI,CACR,CAAA;IAED,MAAM,KAAK,GAAgB;QACzB,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,MAAM,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,CAAC;QAChH,WAAW,EAAE,cAAc;QAC3B,eAAe;QACf,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,WAAW,EAAE,YAAY,CAAC,WAAW;QACrC,kBAAkB,EAAE,EAAE;QACtB,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,YAAY;KACb,CAAA;IAED,MAAM,oBAAoB,GAA+B;QACvD,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE;QAC3D,UAAU,EAAE,oBAAoB;KACjC,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;IAEtH,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAA;AAChD,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,UAAuB,EAAE,YAAyB;IAChF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAA;IACjC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"createCommit.js","sourceRoot":"","sources":["../src/createCommit.ts"],"names":[],"mappings":"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"}
@@ -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 { CredentialTypeName } from "./credentialType.js";
4
4
  export type Credential = CredentialBasic | CredentialX509;
5
5
  export interface CredentialBasic {
@@ -14,8 +14,12 @@ export interface CredentialCustom {
14
14
  credentialType: CredentialTypeName;
15
15
  data: Uint8Array;
16
16
  }
17
+ export declare const credentialBasicEncoder: BufferEncoder<CredentialBasic>;
17
18
  export declare const encodeCredentialBasic: Encoder<CredentialBasic>;
19
+ export declare const credentialX509Encoder: BufferEncoder<CredentialX509>;
18
20
  export declare const encodeCredentialX509: Encoder<CredentialX509>;
21
+ export declare const credentialCustomEncoder: BufferEncoder<CredentialCustom>;
19
22
  export declare const encodeCredentialCustom: Encoder<CredentialCustom>;
23
+ export declare const credentialEncoder: BufferEncoder<Credential>;
20
24
  export declare const encodeCredential: Encoder<Credential>;
21
25
  export declare const decodeCredential: Decoder<Credential>;
@@ -1,20 +1,24 @@
1
1
  import { flatMapDecoder, mapDecoder } from "./codec/tlsDecoder.js";
2
- import { contramapEncoders } from "./codec/tlsEncoder.js";
3
- import { decodeVarLenData, decodeVarLenType, encodeVarLenData, encodeVarLenType } from "./codec/variableLength.js";
4
- import { decodeCredentialType, encodeCredentialType } from "./credentialType.js";
5
- export const encodeCredentialBasic = contramapEncoders([encodeCredentialType, encodeVarLenData], (c) => [c.credentialType, c.identity]);
6
- export const encodeCredentialX509 = contramapEncoders([encodeCredentialType, encodeVarLenType(encodeVarLenData)], (c) => [c.credentialType, c.certificates]);
7
- export const encodeCredentialCustom = contramapEncoders([encodeCredentialType, encodeVarLenData], (c) => [c.credentialType, c.data]);
8
- export const encodeCredential = (c) => {
2
+ import { contramapBufferEncoders, encode } from "./codec/tlsEncoder.js";
3
+ import { decodeVarLenData, decodeVarLenType, varLenDataEncoder, varLenTypeEncoder } from "./codec/variableLength.js";
4
+ import { decodeCredentialType, credentialTypeEncoder } from "./credentialType.js";
5
+ export const credentialBasicEncoder = contramapBufferEncoders([credentialTypeEncoder, varLenDataEncoder], (c) => [c.credentialType, c.identity]);
6
+ export const encodeCredentialBasic = encode(credentialBasicEncoder);
7
+ export const credentialX509Encoder = contramapBufferEncoders([credentialTypeEncoder, varLenTypeEncoder(varLenDataEncoder)], (c) => [c.credentialType, c.certificates]);
8
+ export const encodeCredentialX509 = encode(credentialX509Encoder);
9
+ export const credentialCustomEncoder = contramapBufferEncoders([credentialTypeEncoder, varLenDataEncoder], (c) => [c.credentialType, c.data]);
10
+ export const encodeCredentialCustom = encode(credentialCustomEncoder);
11
+ export const credentialEncoder = (c) => {
9
12
  switch (c.credentialType) {
10
13
  case "basic":
11
- return encodeCredentialBasic(c);
14
+ return credentialBasicEncoder(c);
12
15
  case "x509":
13
- return encodeCredentialX509(c);
16
+ return credentialX509Encoder(c);
14
17
  default:
15
- return encodeCredentialCustom(c);
18
+ return credentialCustomEncoder(c);
16
19
  }
17
20
  };
21
+ export const encodeCredential = encode(credentialEncoder);
18
22
  const decodeCredentialBasic = mapDecoder(decodeVarLenData, (identity) => ({
19
23
  credentialType: "basic",
20
24
  identity,