@waku/rln 0.1.6-f7c290d.0 → 0.1.6

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 (105) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/bundle/_virtual/utils.js +2 -2
  3. package/bundle/_virtual/utils2.js +2 -2
  4. package/bundle/index.js +1 -1
  5. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/_sha2.js +1 -1
  6. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/hmac.js +1 -1
  7. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/pbkdf2.js +1 -1
  8. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/scrypt.js +1 -1
  9. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/sha256.js +1 -1
  10. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/sha512.js +1 -1
  11. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/@noble/hashes/utils.js +1 -1
  12. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +1 -1
  13. package/bundle/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +2 -2
  14. package/bundle/node_modules/@chainsafe/is-ip/lib/is-ip.js +12 -0
  15. package/bundle/node_modules/@chainsafe/is-ip/lib/parse.js +26 -0
  16. package/bundle/node_modules/@chainsafe/is-ip/lib/parser.js +202 -0
  17. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +1 -1
  18. package/bundle/node_modules/@multiformats/multiaddr/dist/src/constants.js +43 -0
  19. package/bundle/node_modules/@multiformats/multiaddr/dist/src/errors.js +17 -0
  20. package/bundle/node_modules/@multiformats/multiaddr/dist/src/registry.js +245 -0
  21. package/bundle/node_modules/@multiformats/multiaddr/dist/src/utils.js +191 -0
  22. package/bundle/node_modules/@multiformats/multiaddr/dist/src/validation.js +30 -0
  23. package/bundle/node_modules/debug/src/browser.js +1 -1
  24. package/bundle/node_modules/debug/src/common.js +1 -1
  25. package/bundle/node_modules/lodash/lodash.js +5 -5
  26. package/bundle/node_modules/multiformats/dist/src/bases/base.js +12 -9
  27. package/bundle/node_modules/multiformats/dist/src/bytes.js +19 -3
  28. package/bundle/node_modules/multiformats/dist/src/cid.js +371 -0
  29. package/bundle/node_modules/multiformats/dist/src/hashes/digest.js +62 -0
  30. package/bundle/node_modules/multiformats/dist/src/varint.js +15 -0
  31. package/bundle/node_modules/multiformats/dist/src/vendor/varint.js +78 -0
  32. package/bundle/node_modules/uint8arrays/dist/src/concat.js +20 -0
  33. package/bundle/node_modules/uint8arrays/dist/src/to-string.js +19 -0
  34. package/bundle/node_modules/uint8arrays/dist/src/util/as-uint8array.js +9 -0
  35. package/bundle/packages/core/dist/lib/connection_manager/connection_manager.js +1 -3
  36. package/bundle/packages/proto/dist/generated/filter.js +2 -0
  37. package/bundle/packages/proto/dist/generated/filter_v2.js +2 -0
  38. package/bundle/packages/proto/dist/generated/light_push.js +2 -0
  39. package/bundle/packages/proto/dist/generated/message.js +2 -0
  40. package/bundle/packages/proto/dist/generated/metadata.js +2 -0
  41. package/bundle/packages/proto/dist/generated/peer_exchange.js +2 -0
  42. package/bundle/packages/proto/dist/generated/sds_message.js +2 -0
  43. package/bundle/packages/proto/dist/generated/store_v3.js +2 -0
  44. package/bundle/packages/proto/dist/generated/topic_only_message.js +2 -0
  45. package/bundle/packages/rln/dist/contract/constants.js +1 -7
  46. package/bundle/packages/rln/dist/contract/rln_base_contract.js +2 -5
  47. package/bundle/packages/rln/dist/contract/rln_contract.js +2 -2
  48. package/bundle/packages/rln/dist/credentials_manager.js +16 -24
  49. package/bundle/packages/rln/dist/identity.js +6 -8
  50. package/bundle/packages/rln/dist/keystore/keystore.js +10 -21
  51. package/bundle/packages/rln/dist/proof.js +2 -2
  52. package/bundle/packages/rln/dist/utils/bytes.js +58 -103
  53. package/bundle/packages/rln/dist/utils/hash.js +3 -3
  54. package/bundle/packages/rln/dist/zerokit.js +17 -17
  55. package/dist/.tsbuildinfo +1 -1
  56. package/dist/codec.test-utils.d.ts +1 -1
  57. package/dist/contract/constants.d.ts +0 -6
  58. package/dist/contract/constants.js +0 -6
  59. package/dist/contract/constants.js.map +1 -1
  60. package/dist/contract/rln_base_contract.js +2 -5
  61. package/dist/contract/rln_base_contract.js.map +1 -1
  62. package/dist/contract/rln_contract.js +2 -2
  63. package/dist/contract/rln_contract.js.map +1 -1
  64. package/dist/contract/test-setup.d.ts +1 -1
  65. package/dist/contract/test-utils.d.ts +39 -0
  66. package/dist/contract/test-utils.js +118 -0
  67. package/dist/contract/test-utils.js.map +1 -0
  68. package/dist/credentials_manager.d.ts +0 -4
  69. package/dist/credentials_manager.js +16 -25
  70. package/dist/credentials_manager.js.map +1 -1
  71. package/dist/identity.d.ts +2 -5
  72. package/dist/identity.js +5 -8
  73. package/dist/identity.js.map +1 -1
  74. package/dist/keystore/credential_validation_generated.d.ts +0 -2
  75. package/dist/keystore/keystore.js +10 -21
  76. package/dist/keystore/keystore.js.map +1 -1
  77. package/dist/keystore/keystore_validation_generated.d.ts +0 -2
  78. package/dist/proof.js +2 -2
  79. package/dist/proof.js.map +1 -1
  80. package/dist/utils/bytes.d.ts +20 -42
  81. package/dist/utils/bytes.js +57 -102
  82. package/dist/utils/bytes.js.map +1 -1
  83. package/dist/utils/hash.js +5 -5
  84. package/dist/utils/hash.js.map +1 -1
  85. package/dist/utils/index.d.ts +1 -1
  86. package/dist/utils/index.js +1 -1
  87. package/dist/utils/index.js.map +1 -1
  88. package/dist/zerokit.js +17 -17
  89. package/dist/zerokit.js.map +1 -1
  90. package/package.json +93 -1
  91. package/src/contract/constants.ts +0 -9
  92. package/src/contract/rln_base_contract.ts +3 -5
  93. package/src/contract/rln_contract.ts +2 -5
  94. package/src/contract/test-utils.ts +179 -0
  95. package/src/credentials_manager.ts +24 -46
  96. package/src/identity.ts +7 -11
  97. package/src/keystore/keystore.ts +22 -38
  98. package/src/proof.ts +2 -2
  99. package/src/utils/bytes.ts +72 -118
  100. package/src/utils/hash.ts +5 -15
  101. package/src/utils/index.ts +6 -1
  102. package/src/zerokit.ts +22 -30
  103. package/bundle/node_modules/@multiformats/multiaddr/dist/src/convert.js +0 -15
  104. package/bundle/node_modules/@multiformats/multiaddr/dist/src/multiaddr.js +0 -21
  105. package/bundle/node_modules/@multiformats/multiaddr/dist/src/protocols-table.js +0 -92
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/contract/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,4CAA4C;IACrD,GAAG,EAAE,OAAO;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,EAAE,EAAE,iDAAiD;IAC1D,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG,CAAC,kDAAkD;CACpD,CAAC;AAEX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,CAAC,GAAG;IAC9B,QAAQ,EAAE,gBAAgB,CAAC,IAAI;IAC/B,cAAc,EAAE,OAAO,EAAE,kDAAkD;IAC3E,YAAY,EAAE,GAAG,CAAC,uCAAuC;CACjD,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAC7B,+EAA+E,CAChF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/contract/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,4CAA4C;IACrD,GAAG,EAAE,OAAO;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,EAAE,EAAE,EAAE,iDAAiD;IAC1D,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG,CAAC,kDAAkD;CACpD,CAAC;AAEX,+BAA+B;AAC/B,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,gBAAgB,CAAC,GAAG;IAC9B,QAAQ,EAAE,gBAAgB,CAAC,IAAI;IAC/B,cAAc,EAAE,OAAO,EAAE,kDAAkD;IAC3E,YAAY,EAAE,GAAG,CAAC,uCAAuC;CACjD,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,QAAQ,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Logger } from "@waku/utils";
2
2
  import { ethers } from "ethers";
3
- import { BytesUtils } from "../utils/bytes.js";
4
3
  import { RLN_ABI } from "./abi.js";
5
4
  import { DEFAULT_RATE_LIMIT, RATE_LIMIT_PARAMS } from "./constants.js";
6
5
  import { MembershipState } from "./types.js";
@@ -337,9 +336,7 @@ export class RLNBaseContract {
337
336
  }
338
337
  const estimatedGas = await this.contract.estimateGas.register(identity.IDCommitmentBigInt, this.rateLimit, []);
339
338
  const gasLimit = estimatedGas.add(10000);
340
- const txRegisterResponse = await this.contract.register(identity.IDCommitmentBigInt, this.rateLimit, [], {
341
- gasLimit
342
- });
339
+ const txRegisterResponse = await this.contract.register(identity.IDCommitmentBigInt, this.rateLimit, [], { gasLimit });
343
340
  const txRegisterReceipt = await txRegisterResponse.wait();
344
341
  if (txRegisterReceipt.status === 0) {
345
342
  throw new Error("Transaction failed on-chain");
@@ -401,7 +398,7 @@ export class RLNBaseContract {
401
398
  async registerWithPermitAndErase(identity, permit, idCommitmentsToErase) {
402
399
  try {
403
400
  log.info(`Registering identity with permit and rate limit: ${this.rateLimit} messages/epoch`);
404
- const txRegisterResponse = await this.contract.registerWithPermit(permit.owner, permit.deadline, permit.v, permit.r, permit.s, BytesUtils.buildBigIntFromUint8ArrayBE(identity.IDCommitment), this.rateLimit, idCommitmentsToErase.map((id) => ethers.BigNumber.from(id)));
401
+ const txRegisterResponse = await this.contract.registerWithPermit(permit.owner, permit.deadline, permit.v, permit.r, permit.s, identity.IDCommitmentBigInt, this.rateLimit, idCommitmentsToErase.map((id) => ethers.BigNumber.from(id)));
405
402
  const txRegisterReceipt = await txRegisterResponse.wait();
406
403
  const memberRegistered = txRegisterReceipt.events?.find((event) => event.event === "MembershipRegistered");
407
404
  if (!memberRegistered || !memberRegistered.args) {
@@ -1 +1 @@
1
- {"version":3,"file":"rln_base_contract.js","sourceRoot":"","sources":["../../src/contract/rln_base_contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rln_base_contract.js","sourceRoot":"","sources":["../../src/contract/rln_base_contract.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Logger } from "@waku/utils";
2
2
  import { hexToBytes } from "@waku/utils/bytes";
3
3
  import { ethers } from "ethers";
4
4
  import { MerkleRootTracker } from "../root_tracker.js";
5
- import { BytesUtils } from "../utils/bytes.js";
5
+ import { zeroPadLE } from "../utils/bytes.js";
6
6
  import { RLNBaseContract } from "./rln_base_contract.js";
7
7
  const log = new Logger("waku:rln:contract");
8
8
  export class RLNContract extends RLNBaseContract {
@@ -79,7 +79,7 @@ export class RLNContract extends RLNBaseContract {
79
79
  if (typeof index === "number" || typeof index === "string") {
80
80
  index = ethers.BigNumber.from(index);
81
81
  }
82
- const idCommitment = BytesUtils.zeroPadLE(hexToBytes(_idCommitment), 32);
82
+ const idCommitment = zeroPadLE(hexToBytes(_idCommitment), 32);
83
83
  rlnInstance.zerokit.insertMember(idCommitment);
84
84
  const numericIndex = index.toNumber();
85
85
  this._members.set(numericIndex, {
@@ -1 +1 @@
1
- {"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../../src/contract/rln_contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../../src/contract/rln_contract.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,6 @@ export declare function initializeRLNContract(rlnInstance: any, mockedRegistryCo
21
21
  export declare const TEST_DATA: {
22
22
  readonly contentTopic: "/test/1/waku-message/utf8";
23
23
  readonly emptyPubsubTopic: "";
24
- readonly testMessage: Uint8Array;
24
+ readonly testMessage: Uint8Array<ArrayBuffer>;
25
25
  readonly mockSignature: "0xdeb8a6b00a8e404deb1f52d3aa72ed7f60a2ff4484c737eedaef18a0aacb2dfb4d5d74ac39bb71fa358cf2eb390565a35b026cc6272f2010d4351e17670311c21c";
26
26
  };
@@ -0,0 +1,39 @@
1
+ import * as ethers from "ethers";
2
+ import sinon from "sinon";
3
+ import type { IdentityCredential } from "../identity.js";
4
+ export declare const mockRateLimits: {
5
+ minRate: number;
6
+ maxRate: number;
7
+ maxTotalRate: number;
8
+ currentTotalRate: number;
9
+ };
10
+ type MockProvider = {
11
+ getLogs: () => never[];
12
+ getBlockNumber: () => Promise<number>;
13
+ getNetwork: () => Promise<{
14
+ chainId: number;
15
+ }>;
16
+ };
17
+ type MockFilters = {
18
+ MembershipRegistered: () => {
19
+ address: string;
20
+ };
21
+ MembershipErased: () => {
22
+ address: string;
23
+ };
24
+ MembershipExpired: () => {
25
+ address: string;
26
+ };
27
+ };
28
+ export declare function createMockProvider(): MockProvider;
29
+ export declare function createMockFilters(): MockFilters;
30
+ type ContractOverrides = Partial<{
31
+ filters: Record<string, unknown>;
32
+ [key: string]: unknown;
33
+ }>;
34
+ export declare function createMockRegistryContract(overrides?: ContractOverrides): ethers.Contract;
35
+ export declare function mockRLNRegisteredEvent(idCommitment?: string): ethers.Event;
36
+ export declare function formatIdCommitment(idCommitmentBigInt: bigint): string;
37
+ export declare function createRegisterStub(identity: IdentityCredential): sinon.SinonStub;
38
+ export declare function verifyRegistration(decryptedCredentials: any, identity: IdentityCredential, registerStub: sinon.SinonStub, insertMemberSpy: sinon.SinonStub): void;
39
+ export {};
@@ -0,0 +1,118 @@
1
+ import { hexToBytes } from "@waku/utils/bytes";
2
+ import { expect } from "chai";
3
+ import * as ethers from "ethers";
4
+ import sinon from "sinon";
5
+ import { DEFAULT_RATE_LIMIT, LINEA_CONTRACT } from "./constants.js";
6
+ export const mockRateLimits = {
7
+ minRate: 20,
8
+ maxRate: 600,
9
+ maxTotalRate: 1200,
10
+ currentTotalRate: 500
11
+ };
12
+ export function createMockProvider() {
13
+ return {
14
+ getLogs: () => [],
15
+ getBlockNumber: () => Promise.resolve(1000),
16
+ getNetwork: () => Promise.resolve({ chainId: 11155111 })
17
+ };
18
+ }
19
+ export function createMockFilters() {
20
+ return {
21
+ MembershipRegistered: () => ({ address: LINEA_CONTRACT.address }),
22
+ MembershipErased: () => ({ address: LINEA_CONTRACT.address }),
23
+ MembershipExpired: () => ({ address: LINEA_CONTRACT.address })
24
+ };
25
+ }
26
+ export function createMockRegistryContract(overrides = {}) {
27
+ const filters = {
28
+ MembershipRegistered: () => ({ address: LINEA_CONTRACT.address }),
29
+ MembershipErased: () => ({ address: LINEA_CONTRACT.address }),
30
+ MembershipExpired: () => ({ address: LINEA_CONTRACT.address })
31
+ };
32
+ const baseContract = {
33
+ minMembershipRateLimit: () => Promise.resolve(ethers.BigNumber.from(mockRateLimits.minRate)),
34
+ maxMembershipRateLimit: () => Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxRate)),
35
+ maxTotalRateLimit: () => Promise.resolve(ethers.BigNumber.from(mockRateLimits.maxTotalRate)),
36
+ currentTotalRateLimit: () => Promise.resolve(ethers.BigNumber.from(mockRateLimits.currentTotalRate)),
37
+ queryFilter: () => [],
38
+ provider: createMockProvider(),
39
+ filters,
40
+ on: () => ({}),
41
+ removeAllListeners: () => ({}),
42
+ register: () => ({
43
+ wait: () => Promise.resolve({
44
+ events: [mockRLNRegisteredEvent()]
45
+ })
46
+ }),
47
+ estimateGas: {
48
+ register: () => Promise.resolve(ethers.BigNumber.from(100000))
49
+ },
50
+ functions: {
51
+ register: () => Promise.resolve()
52
+ },
53
+ getMemberIndex: () => Promise.resolve(null),
54
+ interface: {
55
+ getEvent: (eventName) => ({
56
+ name: eventName,
57
+ format: () => { }
58
+ })
59
+ },
60
+ address: LINEA_CONTRACT.address
61
+ };
62
+ // Merge overrides while preserving filters
63
+ const merged = {
64
+ ...baseContract,
65
+ ...overrides,
66
+ filters: { ...filters, ...(overrides.filters || {}) }
67
+ };
68
+ return merged;
69
+ }
70
+ export function mockRLNRegisteredEvent(idCommitment) {
71
+ return {
72
+ args: {
73
+ idCommitment: idCommitment ||
74
+ "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
75
+ membershipRateLimit: ethers.BigNumber.from(DEFAULT_RATE_LIMIT),
76
+ index: ethers.BigNumber.from(1)
77
+ },
78
+ event: "MembershipRegistered"
79
+ };
80
+ }
81
+ export function formatIdCommitment(idCommitmentBigInt) {
82
+ return "0x" + idCommitmentBigInt.toString(16).padStart(64, "0");
83
+ }
84
+ export function createRegisterStub(identity) {
85
+ return sinon.stub().callsFake(() => ({
86
+ wait: () => Promise.resolve({
87
+ events: [
88
+ {
89
+ event: "MembershipRegistered",
90
+ args: {
91
+ idCommitment: formatIdCommitment(identity.IDCommitmentBigInt),
92
+ membershipRateLimit: ethers.BigNumber.from(DEFAULT_RATE_LIMIT),
93
+ index: ethers.BigNumber.from(1)
94
+ }
95
+ }
96
+ ]
97
+ })
98
+ }));
99
+ }
100
+ export function verifyRegistration(decryptedCredentials, identity, registerStub, insertMemberSpy) {
101
+ if (!decryptedCredentials) {
102
+ throw new Error("Decrypted credentials should not be undefined");
103
+ }
104
+ // Verify registration call
105
+ expect(registerStub.calledWith(sinon.match.same(identity.IDCommitmentBigInt), sinon.match.same(DEFAULT_RATE_LIMIT), sinon.match.array, sinon.match.object)).to.be.true;
106
+ // Verify credential properties
107
+ expect(decryptedCredentials).to.have.property("identity");
108
+ expect(decryptedCredentials).to.have.property("membership");
109
+ expect(decryptedCredentials.membership).to.include({
110
+ address: LINEA_CONTRACT.address,
111
+ treeIndex: 1
112
+ });
113
+ // Verify member insertion
114
+ const expectedIdCommitment = ethers.utils.zeroPad(hexToBytes(formatIdCommitment(identity.IDCommitmentBigInt)), 32);
115
+ expect(insertMemberSpy.callCount).to.equal(1);
116
+ expect(insertMemberSpy.getCall(0).args[0]).to.deep.equal(expectedIdCommitment);
117
+ }
118
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/contract/test-utils.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,4 @@ export declare class RLNCredentialsManager {
41
41
  * @returns IdentityCredential
42
42
  */
43
43
  private generateSeededIdentityCredential;
44
- /**
45
- * Helper: take 32-byte BE, reduce mod Q, return 32-byte BE
46
- */
47
- private reduceIdCommitment;
48
44
  }
@@ -1,12 +1,11 @@
1
1
  import { hmac } from "@noble/hashes/hmac";
2
- import { sha256 } from "@noble/hashes/sha2";
2
+ import { sha256 } from "@noble/hashes/sha256";
3
3
  import { Logger } from "@waku/utils";
4
- import { DEFAULT_Q, LINEA_CONTRACT } from "./contract/constants.js";
4
+ import { LINEA_CONTRACT } from "./contract/constants.js";
5
5
  import { RLNBaseContract } from "./contract/rln_base_contract.js";
6
6
  import { IdentityCredential } from "./identity.js";
7
7
  import { Keystore } from "./keystore/index.js";
8
- import { BytesUtils } from "./utils/bytes.js";
9
- import { extractMetaMaskSigner } from "./utils/index.js";
8
+ import { buildBigIntFromUint8Array, extractMetaMaskSigner } from "./utils/index.js";
10
9
  const log = new Logger("waku:credentials");
11
10
  /**
12
11
  * Manages credentials for RLN
@@ -79,7 +78,7 @@ export class RLNCredentialsManager {
79
78
  }
80
79
  else {
81
80
  log.info("Using local implementation to generate identity");
82
- identity = await this.generateSeededIdentityCredential(options.signature);
81
+ identity = this.generateSeededIdentityCredential(options.signature);
83
82
  }
84
83
  }
85
84
  if (!identity) {
@@ -175,32 +174,24 @@ export class RLNCredentialsManager {
175
174
  * @param seed A string seed to generate the identity from
176
175
  * @returns IdentityCredential
177
176
  */
178
- async generateSeededIdentityCredential(seed) {
177
+ generateSeededIdentityCredential(seed) {
179
178
  log.info("Generating seeded identity credential");
180
179
  // Convert the seed to bytes
181
180
  const encoder = new TextEncoder();
182
181
  const seedBytes = encoder.encode(seed);
183
182
  // Generate deterministic values using HMAC-SHA256
184
183
  // We use different context strings for each component to ensure they're different
185
- const idTrapdoorBE = hmac(sha256, seedBytes, encoder.encode("IDTrapdoor"));
186
- const idNullifierBE = hmac(sha256, seedBytes, encoder.encode("IDNullifier"));
187
- const combinedBytes = new Uint8Array([...idTrapdoorBE, ...idNullifierBE]);
188
- const idSecretHashBE = sha256(combinedBytes);
189
- const idCommitmentRawBE = sha256(idSecretHashBE);
190
- const idCommitmentBE = this.reduceIdCommitment(idCommitmentRawBE);
191
- log.info("Successfully generated identity credential, storing in Big Endian format");
192
- return new IdentityCredential(idTrapdoorBE, idNullifierBE, idSecretHashBE, idCommitmentBE);
193
- }
194
- /**
195
- * Helper: take 32-byte BE, reduce mod Q, return 32-byte BE
196
- */
197
- reduceIdCommitment(bytesBE, limit = DEFAULT_Q) {
198
- const nBE = BytesUtils.buildBigIntFromUint8ArrayBE(bytesBE);
199
- if (nBE >= limit) {
200
- log.warn(`ID commitment is greater than Q, reducing it by Q: ${nBE} % ${limit}`);
201
- return BytesUtils.bigIntToUint8Array32BE(nBE % limit);
202
- }
203
- return bytesBE;
184
+ const idTrapdoor = hmac(sha256, seedBytes, encoder.encode("IDTrapdoor"));
185
+ const idNullifier = hmac(sha256, seedBytes, encoder.encode("IDNullifier"));
186
+ // Generate IDSecretHash as a hash of IDTrapdoor and IDNullifier
187
+ const combinedBytes = new Uint8Array([...idTrapdoor, ...idNullifier]);
188
+ const idSecretHash = sha256(combinedBytes);
189
+ // Generate IDCommitment as a hash of IDSecretHash
190
+ const idCommitment = sha256(idSecretHash);
191
+ // Convert IDCommitment to BigInt
192
+ const idCommitmentBigInt = buildBigIntFromUint8Array(idCommitment);
193
+ log.info("Successfully generated identity credential");
194
+ return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment, idCommitmentBigInt);
204
195
  }
205
196
  }
206
197
  //# sourceMappingURL=credentials_manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"credentials_manager.js","sourceRoot":"","sources":["../src/credentials_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials_manager.js","sourceRoot":"","sources":["../src/credentials_manager.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,7 @@ export declare class IdentityCredential {
3
3
  readonly IDNullifier: Uint8Array;
4
4
  readonly IDSecretHash: Uint8Array;
5
5
  readonly IDCommitment: Uint8Array;
6
- IDCommitmentBigInt: bigint;
7
- /**
8
- * All variables are in little-endian format
9
- */
10
- constructor(IDTrapdoor: Uint8Array, IDNullifier: Uint8Array, IDSecretHash: Uint8Array, IDCommitment: Uint8Array);
6
+ readonly IDCommitmentBigInt: bigint;
7
+ constructor(IDTrapdoor: Uint8Array, IDNullifier: Uint8Array, IDSecretHash: Uint8Array, IDCommitment: Uint8Array, IDCommitmentBigInt: bigint);
11
8
  static fromBytes(memKeys: Uint8Array): IdentityCredential;
12
9
  }
package/dist/identity.js CHANGED
@@ -1,20 +1,16 @@
1
- import { BytesUtils } from "./utils/bytes.js";
1
+ import { buildBigIntFromUint8Array } from "./utils/index.js";
2
2
  export class IdentityCredential {
3
3
  IDTrapdoor;
4
4
  IDNullifier;
5
5
  IDSecretHash;
6
6
  IDCommitment;
7
7
  IDCommitmentBigInt;
8
- /**
9
- * All variables are in little-endian format
10
- */
11
- constructor(IDTrapdoor, IDNullifier, IDSecretHash, IDCommitment) {
8
+ constructor(IDTrapdoor, IDNullifier, IDSecretHash, IDCommitment, IDCommitmentBigInt) {
12
9
  this.IDTrapdoor = IDTrapdoor;
13
10
  this.IDNullifier = IDNullifier;
14
11
  this.IDSecretHash = IDSecretHash;
15
12
  this.IDCommitment = IDCommitment;
16
- this.IDCommitmentBigInt =
17
- BytesUtils.buildBigIntFromUint8ArrayBE(IDCommitment);
13
+ this.IDCommitmentBigInt = IDCommitmentBigInt;
18
14
  }
19
15
  static fromBytes(memKeys) {
20
16
  if (memKeys.length < 128) {
@@ -24,7 +20,8 @@ export class IdentityCredential {
24
20
  const idNullifier = memKeys.subarray(32, 64);
25
21
  const idSecretHash = memKeys.subarray(64, 96);
26
22
  const idCommitment = memKeys.subarray(96, 128);
27
- return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment);
23
+ const idCommitmentBigInt = buildBigIntFromUint8Array(idCommitment, 32);
24
+ return new IdentityCredential(idTrapdoor, idNullifier, idSecretHash, idCommitment, idCommitmentBigInt);
28
25
  }
29
26
  }
30
27
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,OAAO,kBAAkB;IAMX;IACA;IACA;IACA;IARX,kBAAkB,CAAS;IAClC;;OAEG;IACH,YACkB,UAAsB,EACtB,WAAuB,EACvB,YAAwB,EACxB,YAAwB;QAHxB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAY;QACvB,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;QAExC,IAAI,CAAC,kBAAkB;YACrB,UAAU,CAAC,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAAmB;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE/C,OAAO,IAAI,kBAAkB,CAC3B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,CACb,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,OAAO,kBAAkB;IAEX;IACA;IACA;IACA;IACA;IALlB,YACkB,UAAsB,EACtB,WAAuB,EACvB,YAAwB,EACxB,YAAwB,EACxB,kBAA0B;QAJ1B,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAY;QACvB,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;QACxB,uBAAkB,GAAlB,kBAAkB,CAAQ;IACzC,CAAC;IAEG,MAAM,CAAC,SAAS,CAAC,OAAmB;QACzC,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAEvE,OAAO,IAAI,kBAAkB,CAC3B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,kBAAkB,CACnB,CAAC;IACJ,CAAC;CACF"}
@@ -1,8 +1,6 @@
1
1
  export declare const Credential: typeof validate11;
2
2
  declare function validate11(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
3
3
  instancePath?: string | undefined;
4
- parentData: any;
5
- parentDataProperty: any;
6
4
  rootData?: any;
7
5
  }): boolean;
8
6
  export {};
@@ -4,7 +4,7 @@ import { sha256 } from "ethereum-cryptography/sha256";
4
4
  import { bytesToHex, bytesToUtf8, utf8ToBytes } from "ethereum-cryptography/utils";
5
5
  import _ from "lodash";
6
6
  import { v4 as uuidV4 } from "uuid";
7
- import { BytesUtils } from "../utils/bytes.js";
7
+ import { buildBigIntFromUint8Array } from "../utils/bytes.js";
8
8
  import { decryptEipKeystore, keccak256Checksum } from "./cipher.js";
9
9
  import { isCredentialValid, isKeystoreValid } from "./schema_validator.js";
10
10
  const log = new Logger("waku:rln:keystore");
@@ -147,24 +147,14 @@ export class Keystore {
147
147
  try {
148
148
  const str = bytesToUtf8(bytes);
149
149
  const obj = JSON.parse(str);
150
- // Little Endian
151
- const idCommitmentLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []));
152
- const idTrapdoorLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", []));
153
- const idNullifierLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", []));
154
- const idSecretHashLE = Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", []));
155
- // Big Endian
156
- const idCommitmentBE = BytesUtils.switchEndianness(idCommitmentLE);
157
- const idTrapdoorBE = BytesUtils.switchEndianness(idTrapdoorLE);
158
- const idNullifierBE = BytesUtils.switchEndianness(idNullifierLE);
159
- const idSecretHashBE = BytesUtils.switchEndianness(idSecretHashLE);
160
- const idCommitmentBigInt = BytesUtils.buildBigIntFromUint8ArrayBE(idCommitmentBE);
150
+ // TODO: add runtime validation of nwaku credentials
161
151
  return {
162
152
  identity: {
163
- IDCommitment: idCommitmentBE,
164
- IDTrapdoor: idTrapdoorBE,
165
- IDNullifier: idNullifierBE,
166
- IDSecretHash: idSecretHashBE,
167
- IDCommitmentBigInt: idCommitmentBigInt
153
+ IDCommitment: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", [])),
154
+ IDTrapdoor: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", [])),
155
+ IDNullifier: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", [])),
156
+ IDCommitmentBigInt: buildBigIntFromUint8Array(Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []))),
157
+ IDSecretHash: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", []))
168
158
  },
169
159
  membership: {
170
160
  treeIndex: _.get(obj, "treeIndex"),
@@ -200,14 +190,13 @@ export class Keystore {
200
190
  }
201
191
  // follows nwaku implementation
202
192
  // https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/protocol_types.nim#L98
203
- // IdentityCredential is stored in Big Endian format => switch to Little Endian
204
193
  static fromIdentityToBytes(options) {
205
194
  return utf8ToBytes(JSON.stringify({
206
195
  treeIndex: options.membership.treeIndex,
207
196
  identityCredential: {
208
- idCommitment: Array.from(BytesUtils.switchEndianness(options.identity.IDCommitment)),
209
- idNullifier: Array.from(BytesUtils.switchEndianness(options.identity.IDNullifier)),
210
- idSecretHash: Array.from(BytesUtils.switchEndianness(options.identity.IDSecretHash)),
197
+ idCommitment: Array.from(options.identity.IDCommitment),
198
+ idNullifier: Array.from(options.identity.IDNullifier),
199
+ idSecretHash: Array.from(options.identity.IDSecretHash),
211
200
  idTrapdoor: Array.from(options.identity.IDTrapdoor)
212
201
  },
213
202
  membershipContract: {
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EACL,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU3E,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAiC5C,MAAM,OAAO,QAAQ;IACX,IAAI,CAAgB;IAE5B,YAAoB,OAA8C;QAChE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CACvB;YACE,WAAW,EAAE,gBAAgB;YAC7B,aAAa,EAAE,mBAAmB;YAClC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,EAAE;SAChB,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,UAAiC,EAAE;QACtD,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,0DAA0D;IAC1D,sHAAsH;IAC/G,MAAM,CAAC,UAAU,CAAC,GAAW;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE5B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;YAED,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,GAAkB;QACzC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAAuB,EACvB,QAAkB;QAElB,MAAM,cAAc,GAAmB,QAAQ,CAAC,qBAAqB,CACnE,OAAO,CAAC,UAAU,CACnB,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,MAAM,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC,QAAQ,EACR,MAAM,EACN,UAAU,EACV,QAAQ,CACT,CAAC;QACF,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE5E,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC;QACxD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,cAA8B,EAC9B,QAAkB;QAElB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE9D,OAAO,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEM,gBAAgB,CAAC,IAAoB;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,IAAI;QACT,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,GAAY;QAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;aAChC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,UAA2B;QAE3B,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,SAAS,GAA2B;YACxC,GAAG,EAAE;gBACH,QAAQ,EAAE,WAAW,CAAC,GAAG;gBACzB,MAAM,EAAE,WAAW,CAAC,SAAS;gBAC7B,OAAO,EAAE,EAAE;aACZ;YACD,MAAM,EAAE;gBACN,QAAQ,EAAE,WAAW,CAAC,MAAM;gBAC5B,MAAM,EAAE,WAAW,CAAC,YAAY;gBAChC,OAAO,EAAE,WAAW,CAAC,UAAU;aAChC;YACD,QAAQ,EAAE;gBACR,+CAA+C;gBAC/C,2BAA2B;gBAC3B,sHAAsH;gBACtH,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,WAAW,CAAC,GAAG;aACzB;SACF,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,MAAM,EAAE;YACd,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,2CAA2C;YACjD,MAAM,EAAE,2CAA2C;YACnD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,WAAyB,EACzB,QAAuB;QAEvB,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;QACrC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAuB,CAAC;QACjD,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ;gBACjC,YAAY,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;gBACrC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO;gBACpC,GAAG,EAAE,MAAM,CAAC,QAAQ;gBACpB,SAAS,EAAE,MAAM,CAAC,MAAM;gBACxB,gDAAgD;gBAChD,2BAA2B;gBAC3B,sHAAsH;gBACtH,GAAG,EAAE,QAAQ;aACd;SACF,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAChC,KAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE5B,oDAAoD;YACpD,OAAO;gBACL,QAAQ,EAAE;oBACR,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CACzC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAClD;oBACD,UAAU,EAAE,QAAQ,CAAC,oBAAoB,CACvC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,+BAA+B,EAAE,EAAE,CAAC,CAChD;oBACD,WAAW,EAAE,QAAQ,CAAC,oBAAoB,CACxC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAgC,EAAE,EAAE,CAAC,CACjD;oBACD,kBAAkB,EAAE,yBAAyB,CAC3C,QAAQ,CAAC,oBAAoB,CAC3B,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAClD,CACF;oBACD,YAAY,EAAE,QAAQ,CAAC,oBAAoB,CACzC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,iCAAiC,EAAE,EAAE,CAAC,CAClD;iBACF;gBACD,UAAU,EAAE;oBACV,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC;oBAClC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,4BAA4B,CAAC;oBACjD,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,4BAA4B,CAAC;oBACjD,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC;iBAC1C;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,oBAAoB,CACjC,GAIK;QAEL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAE7B,OAAO,WAAW,KAAK,SAAS,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACxB,KAAK,IAAI,CAAC,CAAC;YACX,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,+BAA+B;IAC/B,6HAA6H;IACrH,MAAM,CAAC,qBAAqB,CAClC,IAA4B;QAE5B,OAAO,UAAU,CACf,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CACvE,CAAC,WAAW,EAAE,CAAC;IAClB,CAAC;IAED,+BAA+B;IAC/B,4HAA4H;IACpH,MAAM,CAAC,mBAAmB,CAAC,OAAuB;QACxD,OAAO,WAAW,CAChB,IAAI,CAAC,SAAS,CAAC;YACb,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;YACvC,kBAAkB,EAAE;gBAClB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACvD,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACrD,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACvD,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;aACpD;YACD,kBAAkB,EAAE;gBAClB,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;gBACnC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO;aACpC;YACD,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;SAC/C,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}