@waku/rln 0.1.1-fa49e29 → 0.1.2-6454446

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 (92) hide show
  1. package/README.md +26 -2
  2. package/bundle/assets/rln_wasm_bg-a503e304.wasm +0 -0
  3. package/bundle/index.js +69858 -45010
  4. package/dist/codec.d.ts +7 -4
  5. package/dist/codec.js +15 -5
  6. package/dist/codec.js.map +1 -1
  7. package/dist/{constants.js → contract/constants.js} +3 -3
  8. package/dist/contract/constants.js.map +1 -0
  9. package/dist/contract/index.d.ts +2 -0
  10. package/dist/contract/index.js +3 -0
  11. package/dist/contract/index.js.map +1 -0
  12. package/dist/{rln_contract.d.ts → contract/rln_contract.d.ts} +13 -11
  13. package/dist/{rln_contract.js → contract/rln_contract.js} +47 -28
  14. package/dist/contract/rln_contract.js.map +1 -0
  15. package/dist/create.d.ts +2 -0
  16. package/dist/create.js +8 -0
  17. package/dist/create.js.map +1 -0
  18. package/dist/identity.d.ts +9 -0
  19. package/dist/identity.js +24 -0
  20. package/dist/identity.js.map +1 -0
  21. package/dist/index.d.ts +8 -5
  22. package/dist/index.js +8 -12
  23. package/dist/index.js.map +1 -1
  24. package/dist/keystore/cipher.js +1 -1
  25. package/dist/keystore/cipher.js.map +1 -1
  26. package/dist/keystore/credential_validation_generated.js.map +1 -1
  27. package/dist/keystore/index.d.ts +2 -0
  28. package/dist/keystore/index.js.map +1 -1
  29. package/dist/keystore/keystore.d.ts +11 -11
  30. package/dist/keystore/keystore.js +33 -21
  31. package/dist/keystore/keystore.js.map +1 -1
  32. package/dist/keystore/keystore_validation_generated.js.map +1 -1
  33. package/dist/keystore/schema_validator.js.map +1 -1
  34. package/dist/keystore/types.d.ts +25 -5
  35. package/dist/message.d.ts +1 -1
  36. package/dist/message.js +7 -4
  37. package/dist/message.js.map +1 -1
  38. package/dist/proof.d.ts +21 -0
  39. package/dist/proof.js +49 -0
  40. package/dist/proof.js.map +1 -0
  41. package/dist/resources/verification_key.d.ts +9 -9
  42. package/dist/resources/witness_calculator.js.map +1 -0
  43. package/dist/rln.d.ts +55 -46
  44. package/dist/rln.js +135 -174
  45. package/dist/rln.js.map +1 -1
  46. package/dist/root_tracker.js +5 -2
  47. package/dist/root_tracker.js.map +1 -1
  48. package/dist/utils/bytes.d.ts +20 -0
  49. package/dist/{byte_utils.js → utils/bytes.js} +32 -1
  50. package/dist/utils/bytes.js.map +1 -0
  51. package/dist/utils/epoch.js.map +1 -0
  52. package/dist/utils/hash.d.ts +2 -0
  53. package/dist/utils/hash.js +13 -0
  54. package/dist/utils/hash.js.map +1 -0
  55. package/dist/utils/index.d.ts +4 -0
  56. package/dist/utils/index.js +5 -0
  57. package/dist/utils/index.js.map +1 -0
  58. package/dist/utils/metamask.d.ts +2 -0
  59. package/dist/utils/metamask.js +12 -0
  60. package/dist/utils/metamask.js.map +1 -0
  61. package/dist/zerokit.d.ts +19 -0
  62. package/dist/zerokit.js +105 -0
  63. package/dist/zerokit.js.map +1 -0
  64. package/package.json +22 -27
  65. package/src/codec.ts +18 -9
  66. package/src/create.ts +9 -0
  67. package/src/identity.ts +27 -0
  68. package/src/index.ts +10 -19
  69. package/src/message.ts +5 -5
  70. package/src/proof.ts +67 -0
  71. package/src/rln.ts +219 -260
  72. package/src/root_tracker.ts +4 -1
  73. package/src/zerokit.ts +181 -0
  74. package/bundle/assets/rln_wasm_bg-6f96f821.wasm +0 -0
  75. package/dist/.tsbuildinfo +0 -1
  76. package/dist/byte_utils.d.ts +0 -7
  77. package/dist/byte_utils.js.map +0 -1
  78. package/dist/constants.js.map +0 -1
  79. package/dist/epoch.js.map +0 -1
  80. package/dist/rln_contract.js.map +0 -1
  81. package/dist/witness_calculator.js.map +0 -1
  82. package/src/byte_utils.ts +0 -49
  83. package/src/constants.ts +0 -68
  84. package/src/epoch.ts +0 -30
  85. package/src/rln_contract.ts +0 -346
  86. package/src/witness_calculator.d.ts +0 -8
  87. package/src/witness_calculator.js +0 -335
  88. /package/dist/{constants.d.ts → contract/constants.d.ts} +0 -0
  89. /package/dist/{witness_calculator.d.ts → resources/witness_calculator.d.ts} +0 -0
  90. /package/dist/{witness_calculator.js → resources/witness_calculator.js} +0 -0
  91. /package/dist/{epoch.d.ts → utils/epoch.d.ts} +0 -0
  92. /package/dist/{epoch.js → utils/epoch.js} +0 -0
@@ -1,23 +1,28 @@
1
1
  import { create as createEipKeystore } from "@chainsafe/bls-keystore";
2
+ import debug from "debug";
2
3
  import { sha256 } from "ethereum-cryptography/sha256";
3
- import { bytesToHex, bytesToUtf8, utf8ToBytes, } from "ethereum-cryptography/utils";
4
+ import { bytesToHex, bytesToUtf8, utf8ToBytes } from "ethereum-cryptography/utils";
4
5
  import _ from "lodash";
5
6
  import { v4 as uuidV4 } from "uuid";
6
- import { buildBigIntFromUint8Array } from "../byte_utils.js";
7
+ import { buildBigIntFromUint8Array } from "../utils/bytes.js";
7
8
  import { decryptEipKeystore, keccak256Checksum } from "./cipher.js";
8
9
  import { isCredentialValid, isKeystoreValid } from "./schema_validator.js";
10
+ const log = debug("waku:rln:keystore");
9
11
  export class Keystore {
12
+ data;
10
13
  constructor(options) {
11
14
  this.data = Object.assign({
12
15
  application: "waku-rln-relay",
13
16
  appIdentifier: "01234567890abcdef",
14
17
  version: "0.2",
15
- credentials: {},
18
+ credentials: {}
16
19
  }, options);
17
20
  }
18
21
  static create(options = {}) {
19
22
  return new Keystore(options);
20
23
  }
24
+ // should be valid JSON string that contains Keystore file
25
+ // https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/keyfile.nim#L376
21
26
  static fromString(str) {
22
27
  try {
23
28
  const obj = JSON.parse(str);
@@ -27,8 +32,8 @@ export class Keystore {
27
32
  return new Keystore(obj);
28
33
  }
29
34
  catch (err) {
30
- console.error("Cannot create Keystore from string:", err);
31
- return null;
35
+ log("Cannot create Keystore from string:", err);
36
+ return;
32
37
  }
33
38
  }
34
39
  static fromObject(obj) {
@@ -56,7 +61,7 @@ export class Keystore {
56
61
  async readCredential(membershipHash, password) {
57
62
  const nwakuCredential = this.data.credentials[membershipHash];
58
63
  if (!nwakuCredential) {
59
- return null;
64
+ return;
60
65
  }
61
66
  const eipKeystore = Keystore.fromCredentialToEip(nwakuCredential);
62
67
  const bytes = await decryptEipKeystore(password, eipKeystore);
@@ -74,6 +79,13 @@ export class Keystore {
74
79
  toObject() {
75
80
  return this.data;
76
81
  }
82
+ /**
83
+ * Read array of hashes of current credentials
84
+ * @returns array of keys of credentials in current Keystore
85
+ */
86
+ keys() {
87
+ return Object.keys(this.toObject().credentials || {});
88
+ }
77
89
  static isValidNwakuStore(obj) {
78
90
  if (!isKeystoreValid(obj)) {
79
91
  return false;
@@ -89,12 +101,12 @@ export class Keystore {
89
101
  kdf: {
90
102
  function: nwakuCrypto.kdf,
91
103
  params: nwakuCrypto.kdfparams,
92
- message: "",
104
+ message: ""
93
105
  },
94
106
  cipher: {
95
107
  function: nwakuCrypto.cipher,
96
108
  params: nwakuCrypto.cipherparams,
97
- message: nwakuCrypto.ciphertext,
109
+ message: nwakuCrypto.ciphertext
98
110
  },
99
111
  checksum: {
100
112
  // @chainsafe/bls-keystore supports only sha256
@@ -102,8 +114,8 @@ export class Keystore {
102
114
  // https://github.com/waku-org/nwaku/blob/25d6e52e3804d15f9b61bc4cc6dd448540c072a1/waku/waku_keystore/keyfile.nim#L367
103
115
  function: "sha256",
104
116
  params: {},
105
- message: nwakuCrypto.mac,
106
- },
117
+ message: nwakuCrypto.mac
118
+ }
107
119
  };
108
120
  return {
109
121
  version: 4,
@@ -111,7 +123,7 @@ export class Keystore {
111
123
  description: undefined,
112
124
  path: "safe to ignore, not important for decrypt",
113
125
  pubkey: "safe to ignore, not important for decrypt",
114
- crypto: eipCrypto,
126
+ crypto: eipCrypto
115
127
  };
116
128
  }
117
129
  static fromEipToCredential(eipKeystore, checksum) {
@@ -127,8 +139,8 @@ export class Keystore {
127
139
  // @chainsafe/bls-keystore generates only sha256
128
140
  // but nwaku uses keccak256
129
141
  // https://github.com/waku-org/nwaku/blob/25d6e52e3804d15f9b61bc4cc6dd448540c072a1/waku/waku_keystore/keyfile.nim#L367
130
- mac: checksum,
131
- },
142
+ mac: checksum
143
+ }
132
144
  };
133
145
  }
134
146
  static fromBytesToIdentity(bytes) {
@@ -142,18 +154,18 @@ export class Keystore {
142
154
  IDTrapdoor: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", [])),
143
155
  IDNullifier: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", [])),
144
156
  IDCommitmentBigInt: buildBigIntFromUint8Array(Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []))),
145
- IDSecretHash: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", [])),
157
+ IDSecretHash: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", []))
146
158
  },
147
159
  membership: {
148
160
  treeIndex: _.get(obj, "treeIndex"),
149
161
  chainId: _.get(obj, "membershipContract.chainId"),
150
- address: _.get(obj, "membershipContract.address"),
151
- },
162
+ address: _.get(obj, "membershipContract.address")
163
+ }
152
164
  };
153
165
  }
154
166
  catch (err) {
155
- console.error("Cannot parse bytes to Nwaku Credentials:", err);
156
- return null;
167
+ log("Cannot parse bytes to Nwaku Credentials:", err);
168
+ return;
157
169
  }
158
170
  }
159
171
  static fromArraylikeToBytes(obj) {
@@ -181,12 +193,12 @@ export class Keystore {
181
193
  idCommitment: options.identity.IDCommitment,
182
194
  idNullifier: options.identity.IDNullifier,
183
195
  idSecretHash: options.identity.IDSecretHash,
184
- idTrapdoor: options.identity.IDTrapdoor,
196
+ idTrapdoor: options.identity.IDTrapdoor
185
197
  },
186
198
  membershipContract: {
187
199
  chainId: options.membership.chainId,
188
- address: options.membership.address,
189
- },
200
+ address: options.membership.address
201
+ }
190
202
  }));
191
203
  }
192
204
  }
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keystore_validation_generated.js","sourceRoot":"","sources":["../../src/keystore/keystore_validation_generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystore_validation_generated.js","sourceRoot":"","sources":["../../src/keystore/keystore_validation_generated.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema_validator.js","sourceRoot":"","sources":["../../src/keystore/schema_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAY5F,MAAM,iBAAiB,GAAG,0BAAyC,CAAC;AACpE,MAAM,mBAAmB,GAAG,4BAA2C,CAAC;AAExE,SAAS,sBAAsB,CAC7B,SAAsB,EACtB,IAAa;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,SAAS,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IACD,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAmB;IACnD,OAAO,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"schema_validator.js","sourceRoot":"","sources":["../../src/keystore/schema_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAY5F,MAAM,iBAAiB,GAAG,0BAAyC,CAAC;AACpE,MAAM,mBAAmB,GAAG,4BAA2C,CAAC;AAExE,SAAS,sBAAsB,CAC7B,SAAsB,EACtB,IAAa;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAmB;IACnD,OAAO,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC"}
@@ -1,9 +1,29 @@
1
- export declare type MembershipHash = string;
2
- export declare type Sha256Hash = string;
3
- export declare type Keccak256Hash = string;
4
- export declare type Password = string | Uint8Array;
5
- export declare type MembershipInfo = {
1
+ import type { IdentityCredential } from "../identity.js";
2
+ export type MembershipHash = string;
3
+ export type Sha256Hash = string;
4
+ export type Keccak256Hash = string;
5
+ export type Password = string | Uint8Array;
6
+ export type MembershipInfo = {
6
7
  chainId: number;
7
8
  address: string;
8
9
  treeIndex: number;
9
10
  };
11
+ export type KeystoreEntity = {
12
+ identity: IdentityCredential;
13
+ membership: MembershipInfo;
14
+ };
15
+ export type DecryptedCredentials = KeystoreEntity;
16
+ export type EncryptedCredentials = {
17
+ /**
18
+ * Valid JSON string that contains Keystore
19
+ */
20
+ keystore: string;
21
+ /**
22
+ * ID of credentials from provided Keystore to use
23
+ */
24
+ id: string;
25
+ /**
26
+ * Password to decrypt credentials provided
27
+ */
28
+ password: Password;
29
+ };
package/dist/message.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare class RlnMessage<T extends IDecodedMessage> implements IDecodedMe
5
5
  rlnInstance: RLNInstance;
6
6
  msg: T;
7
7
  rateLimitProof: IRateLimitProof | undefined;
8
- pubSubTopic: string;
8
+ pubsubTopic: string;
9
9
  constructor(rlnInstance: RLNInstance, msg: T, rateLimitProof: IRateLimitProof | undefined);
10
10
  verify(roots: Uint8Array[]): boolean | undefined;
11
11
  verifyNoRoot(): boolean | undefined;
package/dist/message.js CHANGED
@@ -1,24 +1,27 @@
1
1
  import * as utils from "@waku/utils/bytes";
2
- import { epochBytesToInt } from "./epoch.js";
2
+ import { epochBytesToInt } from "./utils/index.js";
3
3
  export function toRLNSignal(contentTopic, msg) {
4
4
  const contentTopicBytes = utils.utf8ToBytes(contentTopic ?? "");
5
5
  return new Uint8Array([...(msg.payload ?? []), ...contentTopicBytes]);
6
6
  }
7
7
  export class RlnMessage {
8
+ rlnInstance;
9
+ msg;
10
+ rateLimitProof;
11
+ pubsubTopic = "";
8
12
  constructor(rlnInstance, msg, rateLimitProof) {
9
13
  this.rlnInstance = rlnInstance;
10
14
  this.msg = msg;
11
15
  this.rateLimitProof = rateLimitProof;
12
- this.pubSubTopic = "";
13
16
  }
14
17
  verify(roots) {
15
18
  return this.rateLimitProof
16
- ? this.rlnInstance.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg), ...roots) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
19
+ ? this.rlnInstance.zerokit.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg), ...roots) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
17
20
  : undefined;
18
21
  }
19
22
  verifyNoRoot() {
20
23
  return this.rateLimitProof
21
- ? this.rlnInstance.verifyWithNoRoot(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg)) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
24
+ ? this.rlnInstance.zerokit.verifyWithNoRoot(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg)) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
22
25
  : undefined;
23
26
  }
24
27
  get payload() {
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,GAAa;IAC7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,UAAU;IAGrB,YACS,WAAwB,EACxB,GAAM,EACN,cAA2C;QAF3C,gBAAW,GAAX,WAAW,CAAa;QACxB,QAAG,GAAH,GAAG,CAAG;QACN,mBAAc,GAAd,cAAc,CAA6B;QAL7C,gBAAW,GAAG,EAAE,CAAC;IAMrB,CAAC;IAEG,MAAM,CAAC,KAAmB;QAC/B,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAC9B,IAAI,CAAC,cAAc,EACnB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,EAC5C,GAAG,KAAK,CACT,CAAC,2EAA2E;YAC/E,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAC/B,IAAI,CAAC,cAAc,EACnB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAC7C,CAAC,2EAA2E;YAC/E,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,UAAU,WAAW,CAAC,YAAoB,EAAE,GAAa;IAC7D,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,OAAO,UAAU;IAIZ;IACA;IACA;IALF,WAAW,GAAG,EAAE,CAAC;IAExB,YACS,WAAwB,EACxB,GAAM,EACN,cAA2C;QAF3C,gBAAW,GAAX,WAAW,CAAa;QACxB,QAAG,GAAH,GAAG,CAAG;QACN,mBAAc,GAAd,cAAc,CAA6B;IACjD,CAAC;IAEG,MAAM,CAAC,KAAmB;QAC/B,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CACtC,IAAI,CAAC,cAAc,EACnB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,EAC5C,GAAG,KAAK,CACT,CAAC,2EAA2E;YAC/E,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,CACvC,IAAI,CAAC,cAAc,EACnB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAC7C,CAAC,2EAA2E;YAC/E,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,21 @@
1
+ import type { IRateLimitProof } from "@waku/interfaces";
2
+ declare class ProofMetadata {
3
+ readonly nullifier: Uint8Array;
4
+ readonly shareX: Uint8Array;
5
+ readonly shareY: Uint8Array;
6
+ readonly externalNullifier: Uint8Array;
7
+ constructor(nullifier: Uint8Array, shareX: Uint8Array, shareY: Uint8Array, externalNullifier: Uint8Array);
8
+ }
9
+ export declare class Proof implements IRateLimitProof {
10
+ readonly proof: Uint8Array;
11
+ readonly merkleRoot: Uint8Array;
12
+ readonly epoch: Uint8Array;
13
+ readonly shareX: Uint8Array;
14
+ readonly shareY: Uint8Array;
15
+ readonly nullifier: Uint8Array;
16
+ readonly rlnIdentifier: Uint8Array;
17
+ constructor(proofBytes: Uint8Array);
18
+ extractMetadata(): ProofMetadata;
19
+ }
20
+ export declare function proofToBytes(p: IRateLimitProof): Uint8Array;
21
+ export {};
package/dist/proof.js ADDED
@@ -0,0 +1,49 @@
1
+ import { concatenate, poseidonHash } from "./utils/index.js";
2
+ const proofOffset = 128;
3
+ const rootOffset = proofOffset + 32;
4
+ const epochOffset = rootOffset + 32;
5
+ const shareXOffset = epochOffset + 32;
6
+ const shareYOffset = shareXOffset + 32;
7
+ const nullifierOffset = shareYOffset + 32;
8
+ const rlnIdentifierOffset = nullifierOffset + 32;
9
+ class ProofMetadata {
10
+ nullifier;
11
+ shareX;
12
+ shareY;
13
+ externalNullifier;
14
+ constructor(nullifier, shareX, shareY, externalNullifier) {
15
+ this.nullifier = nullifier;
16
+ this.shareX = shareX;
17
+ this.shareY = shareY;
18
+ this.externalNullifier = externalNullifier;
19
+ }
20
+ }
21
+ export class Proof {
22
+ proof;
23
+ merkleRoot;
24
+ epoch;
25
+ shareX;
26
+ shareY;
27
+ nullifier;
28
+ rlnIdentifier;
29
+ constructor(proofBytes) {
30
+ if (proofBytes.length < rlnIdentifierOffset)
31
+ throw "invalid proof";
32
+ // parse the proof as proof<128> | share_y<32> | nullifier<32> | root<32> | epoch<32> | share_x<32> | rln_identifier<32>
33
+ this.proof = proofBytes.subarray(0, proofOffset);
34
+ this.merkleRoot = proofBytes.subarray(proofOffset, rootOffset);
35
+ this.epoch = proofBytes.subarray(rootOffset, epochOffset);
36
+ this.shareX = proofBytes.subarray(epochOffset, shareXOffset);
37
+ this.shareY = proofBytes.subarray(shareXOffset, shareYOffset);
38
+ this.nullifier = proofBytes.subarray(shareYOffset, nullifierOffset);
39
+ this.rlnIdentifier = proofBytes.subarray(nullifierOffset, rlnIdentifierOffset);
40
+ }
41
+ extractMetadata() {
42
+ const externalNullifier = poseidonHash(this.epoch, this.rlnIdentifier);
43
+ return new ProofMetadata(this.nullifier, this.shareX, this.shareY, externalNullifier);
44
+ }
45
+ }
46
+ export function proofToBytes(p) {
47
+ return concatenate(p.proof, p.merkleRoot, p.epoch, p.shareX, p.shareY, p.nullifier, p.rlnIdentifier);
48
+ }
49
+ //# sourceMappingURL=proof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proof.js","sourceRoot":"","sources":["../src/proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,UAAU,GAAG,WAAW,GAAG,EAAE,CAAC;AACpC,MAAM,WAAW,GAAG,UAAU,GAAG,EAAE,CAAC;AACpC,MAAM,YAAY,GAAG,WAAW,GAAG,EAAE,CAAC;AACtC,MAAM,YAAY,GAAG,YAAY,GAAG,EAAE,CAAC;AACvC,MAAM,eAAe,GAAG,YAAY,GAAG,EAAE,CAAC;AAC1C,MAAM,mBAAmB,GAAG,eAAe,GAAG,EAAE,CAAC;AAEjD,MAAM,aAAa;IAEC;IACA;IACA;IACA;IAJlB,YACkB,SAAqB,EACrB,MAAkB,EAClB,MAAkB,EAClB,iBAA6B;QAH7B,cAAS,GAAT,SAAS,CAAY;QACrB,WAAM,GAAN,MAAM,CAAY;QAClB,WAAM,GAAN,MAAM,CAAY;QAClB,sBAAiB,GAAjB,iBAAiB,CAAY;IAC5C,CAAC;CACL;AAED,MAAM,OAAO,KAAK;IACP,KAAK,CAAa;IAClB,UAAU,CAAa;IACvB,KAAK,CAAa;IAClB,MAAM,CAAa;IACnB,MAAM,CAAa;IACnB,SAAS,CAAa;IACtB,aAAa,CAAa;IAEnC,YAAY,UAAsB;QAChC,IAAI,UAAU,CAAC,MAAM,GAAG,mBAAmB;YAAE,MAAM,eAAe,CAAC;QACnE,wHAAwH;QACxH,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,QAAQ,CACtC,eAAe,EACf,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,eAAe;QACb,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACvE,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,iBAAiB,CAClB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,CAAkB;IAC7C,OAAO,WAAW,CAChB,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,UAAU,EACZ,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,aAAa,CAChB,CAAC;AACJ,CAAC"}
@@ -1,12 +1,12 @@
1
1
  export default verificationKey;
2
2
  declare namespace verificationKey {
3
- const protocol: string;
4
- const curve: string;
5
- const nPublic: number;
6
- const vk_alpha_1: string[];
7
- const vk_beta_2: string[][];
8
- const vk_gamma_2: string[][];
9
- const vk_delta_2: string[][];
10
- const vk_alphabeta_12: string[][][];
11
- const IC: string[][];
3
+ let protocol: string;
4
+ let curve: string;
5
+ let nPublic: number;
6
+ let vk_alpha_1: string[];
7
+ let vk_beta_2: string[][];
8
+ let vk_gamma_2: string[][];
9
+ let vk_delta_2: string[][];
10
+ let vk_alphabeta_12: string[][][];
11
+ let IC: string[][];
12
12
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"witness_calculator.js","sourceRoot":"","sources":["../../src/resources/witness_calculator.js"],"names":[],"mappings":"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"}
package/dist/rln.d.ts CHANGED
@@ -1,53 +1,62 @@
1
- import type { IRateLimitProof } from "@waku/interfaces";
2
- import { WitnessCalculator } from "./witness_calculator.js";
1
+ import type { ContentTopic, IDecodedMessage, EncoderOptions as WakuEncoderOptions } from "@waku/interfaces";
2
+ import { ethers } from "ethers";
3
+ import { type RLNDecoder, type RLNEncoder } from "./codec.js";
4
+ import { RLNContract } from "./contract/index.js";
5
+ import { IdentityCredential } from "./identity.js";
6
+ import type { DecryptedCredentials, EncryptedCredentials } from "./keystore/index.js";
7
+ import { Password } from "./keystore/types.js";
8
+ import { Zerokit } from "./zerokit.js";
3
9
  /**
4
10
  * Create an instance of RLN
5
11
  * @returns RLNInstance
6
12
  */
7
13
  export declare function create(): Promise<RLNInstance>;
8
- export declare class IdentityCredential {
9
- readonly IDTrapdoor: Uint8Array;
10
- readonly IDNullifier: Uint8Array;
11
- readonly IDSecretHash: Uint8Array;
12
- readonly IDCommitment: Uint8Array;
13
- readonly IDCommitmentBigInt: bigint;
14
- constructor(IDTrapdoor: Uint8Array, IDNullifier: Uint8Array, IDSecretHash: Uint8Array, IDCommitment: Uint8Array, IDCommitmentBigInt: bigint);
15
- static fromBytes(memKeys: Uint8Array): IdentityCredential;
16
- }
17
- export declare class ProofMetadata {
18
- readonly nullifier: Uint8Array;
19
- readonly shareX: Uint8Array;
20
- readonly shareY: Uint8Array;
21
- readonly externalNullifier: Uint8Array;
22
- constructor(nullifier: Uint8Array, shareX: Uint8Array, shareY: Uint8Array, externalNullifier: Uint8Array);
23
- }
24
- export declare class Proof implements IRateLimitProof {
25
- readonly proof: Uint8Array;
26
- readonly merkleRoot: Uint8Array;
27
- readonly epoch: Uint8Array;
28
- readonly shareX: Uint8Array;
29
- readonly shareY: Uint8Array;
30
- readonly nullifier: Uint8Array;
31
- readonly rlnIdentifier: Uint8Array;
32
- constructor(proofBytes: Uint8Array);
33
- extractMetadata(): ProofMetadata;
34
- }
35
- export declare function proofToBytes(p: IRateLimitProof): Uint8Array;
36
- export declare function poseidonHash(...input: Array<Uint8Array>): Uint8Array;
37
- export declare function sha256(input: Uint8Array): Uint8Array;
14
+ type StartRLNOptions = {
15
+ /**
16
+ * If not set - will extract MetaMask account and get signer from it.
17
+ */
18
+ signer?: ethers.Signer;
19
+ /**
20
+ * If not set - will use default SEPOLIA_CONTRACT address.
21
+ */
22
+ registryAddress?: string;
23
+ /**
24
+ * Credentials to use for generating proofs and connecting to the contract and network.
25
+ * If provided used for validating the network chainId and connecting to registry contract.
26
+ */
27
+ credentials?: EncryptedCredentials | DecryptedCredentials;
28
+ };
29
+ type RegisterMembershipOptions = {
30
+ signature: string;
31
+ } | {
32
+ identity: IdentityCredential;
33
+ };
34
+ type WakuRLNEncoderOptions = WakuEncoderOptions & {
35
+ credentials: EncryptedCredentials | DecryptedCredentials;
36
+ };
38
37
  export declare class RLNInstance {
39
- private zkRLN;
40
- private witnessCalculator;
41
- constructor(zkRLN: number, witnessCalculator: WitnessCalculator);
42
- generateIdentityCredentials(): IdentityCredential;
43
- generateSeededIdentityCredential(seed: string): IdentityCredential;
44
- insertMember(idCommitment: Uint8Array): void;
45
- insertMembers(index: number, ...idCommitments: Array<Uint8Array>): void;
46
- deleteMember(index: number): void;
47
- getMerkleRoot(): Uint8Array;
48
- serializeMessage(uint8Msg: Uint8Array, memIndex: number, epoch: Uint8Array, idKey: Uint8Array): Uint8Array;
49
- generateRLNProof(msg: Uint8Array, index: number, epoch: Uint8Array | Date | undefined, idSecretHash: Uint8Array): Promise<IRateLimitProof>;
50
- verifyRLNProof(proof: IRateLimitProof | Uint8Array, msg: Uint8Array): boolean;
51
- verifyWithRoots(proof: IRateLimitProof | Uint8Array, msg: Uint8Array, ...roots: Array<Uint8Array>): boolean;
52
- verifyWithNoRoot(proof: IRateLimitProof | Uint8Array, msg: Uint8Array): boolean;
38
+ zerokit: Zerokit;
39
+ private started;
40
+ private starting;
41
+ private _contract;
42
+ private _signer;
43
+ private keystore;
44
+ private _credentials;
45
+ constructor(zerokit: Zerokit);
46
+ get contract(): undefined | RLNContract;
47
+ get signer(): undefined | ethers.Signer;
48
+ start(options?: StartRLNOptions): Promise<void>;
49
+ private determineStartOptions;
50
+ private static decryptCredentialsIfNeeded;
51
+ registerMembership(options: RegisterMembershipOptions): Promise<undefined | DecryptedCredentials>;
52
+ /**
53
+ * Changes credentials in use by relying on provided Keystore earlier in rln.start
54
+ * @param id: string, hash of credentials to select from Keystore
55
+ * @param password: string or bytes to use to decrypt credentials from Keystore
56
+ */
57
+ useCredentials(id: string, password: Password): Promise<void>;
58
+ createEncoder(options: WakuRLNEncoderOptions): Promise<RLNEncoder>;
59
+ private verifyCredentialsAgainstContract;
60
+ createDecoder(contentTopic: ContentTopic): RLNDecoder<IDecodedMessage>;
53
61
  }
62
+ export {};