@waku/rln 0.1.5-ea6daae.0 → 0.1.5-ec5db88.0

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 (143) hide show
  1. package/README.md +5 -0
  2. package/bundle/_virtual/index2.js +1 -1
  3. package/bundle/_virtual/utils.js +2 -2
  4. package/bundle/_virtual/utils2.js +2 -2
  5. package/bundle/index.js +3 -1
  6. package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +1 -1
  7. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +1 -1
  8. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +1 -1
  9. package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +1 -1
  10. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +1 -1
  11. package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +1 -1
  12. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +1 -1
  13. package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +1 -1
  14. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +1 -1
  15. package/bundle/node_modules/{js-sha3 → @ethersproject/keccak256/node_modules/js-sha3}/src/sha3.js +2 -2
  16. package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +1 -1
  17. package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +1 -19
  18. package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +1 -1
  19. package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +1 -1
  20. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +1 -1
  21. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +10 -58
  22. package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +1 -1
  23. package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +1 -1
  24. package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +1 -1
  25. package/bundle/packages/rln/dist/contract/abi.js +502 -248
  26. package/bundle/packages/rln/dist/contract/constants.js +5 -8
  27. package/bundle/packages/rln/dist/contract/rln_base_contract.js +465 -0
  28. package/bundle/packages/rln/dist/contract/rln_contract.js +31 -357
  29. package/bundle/packages/rln/dist/contract/types.js +9 -0
  30. package/bundle/packages/rln/dist/create.js +1 -1
  31. package/bundle/packages/rln/dist/credentials_manager.js +215 -0
  32. package/bundle/packages/rln/dist/keystore/cipher.js +3 -3
  33. package/bundle/packages/rln/dist/keystore/keystore.js +12 -7
  34. package/bundle/packages/rln/dist/rln.js +56 -166
  35. package/bundle/packages/rln/dist/zerokit.js +5 -5
  36. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/checksum.js +3 -3
  37. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/cipher.js +4 -4
  38. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/class.js +7 -7
  39. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/functional.js +7 -7
  40. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/index.js +6 -6
  41. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/kdf.js +5 -5
  42. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/password.js +1 -1
  43. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/schema-validation-generated.js +1 -1
  44. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/schema-validation.js +2 -2
  45. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/lib/types.js +1 -1
  46. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/aes.js +3 -3
  47. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/pbkdf2.js +7 -7
  48. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +3 -3
  49. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/scrypt.js +3 -3
  50. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/sha256.js +3 -3
  51. package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +7 -7
  52. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_assert.js +1 -1
  53. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_sha2.js +3 -3
  54. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/_u64.js +1 -1
  55. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/cryptoBrowser.js +1 -1
  56. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_assert.js +43 -0
  57. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_sha2.js +116 -0
  58. package/bundle/packages/rln/node_modules/@noble/hashes/esm/hmac.js +79 -0
  59. package/bundle/packages/rln/node_modules/@noble/hashes/esm/sha256.js +126 -0
  60. package/bundle/packages/rln/node_modules/@noble/hashes/esm/utils.js +43 -0
  61. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/hmac.js +3 -3
  62. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/pbkdf2.js +4 -4
  63. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/scrypt.js +5 -5
  64. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/sha256.js +3 -3
  65. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/sha512.js +4 -4
  66. package/bundle/{node_modules/@chainsafe/bls-keystore → packages/rln}/node_modules/@noble/hashes/utils.js +2 -2
  67. package/dist/.tsbuildinfo +1 -1
  68. package/dist/codec.test-utils.d.ts +36 -0
  69. package/dist/codec.test-utils.js +56 -0
  70. package/dist/codec.test-utils.js.map +1 -0
  71. package/dist/contract/abi.d.ts +21 -17
  72. package/dist/contract/abi.js +502 -248
  73. package/dist/contract/abi.js.map +1 -1
  74. package/dist/contract/constants.d.ts +22 -18
  75. package/dist/contract/constants.js +3 -3
  76. package/dist/contract/constants.js.map +1 -1
  77. package/dist/contract/rln_base_contract.d.ts +90 -0
  78. package/dist/contract/rln_base_contract.js +448 -0
  79. package/dist/contract/rln_base_contract.js.map +1 -0
  80. package/dist/contract/rln_contract.d.ts +5 -115
  81. package/dist/contract/rln_contract.js +30 -355
  82. package/dist/contract/rln_contract.js.map +1 -1
  83. package/dist/contract/test-setup.d.ts +26 -0
  84. package/dist/contract/test-setup.js +56 -0
  85. package/dist/contract/test-setup.js.map +1 -0
  86. package/dist/contract/test-utils.d.ts +39 -0
  87. package/dist/contract/test-utils.js +118 -0
  88. package/dist/contract/test-utils.js.map +1 -0
  89. package/dist/contract/types.d.ts +45 -0
  90. package/dist/contract/types.js +8 -0
  91. package/dist/contract/types.js.map +1 -0
  92. package/dist/create.js +1 -1
  93. package/dist/create.js.map +1 -1
  94. package/dist/credentials_manager.d.ts +44 -0
  95. package/dist/credentials_manager.js +197 -0
  96. package/dist/credentials_manager.js.map +1 -0
  97. package/dist/index.d.ts +5 -2
  98. package/dist/index.js +4 -2
  99. package/dist/index.js.map +1 -1
  100. package/dist/keystore/keystore.js +11 -6
  101. package/dist/keystore/keystore.js.map +1 -1
  102. package/dist/keystore/types.d.ts +2 -1
  103. package/dist/rln.d.ts +9 -52
  104. package/dist/rln.js +54 -163
  105. package/dist/rln.js.map +1 -1
  106. package/dist/types.d.ts +27 -0
  107. package/dist/types.js +2 -0
  108. package/dist/types.js.map +1 -0
  109. package/dist/zerokit.d.ts +3 -3
  110. package/dist/zerokit.js +5 -5
  111. package/dist/zerokit.js.map +1 -1
  112. package/package.json +1 -1
  113. package/src/codec.test-utils.ts +80 -0
  114. package/src/contract/abi.ts +502 -248
  115. package/src/contract/constants.ts +3 -3
  116. package/src/contract/rln_base_contract.ts +684 -0
  117. package/src/contract/rln_contract.ts +37 -579
  118. package/src/contract/test-setup.ts +86 -0
  119. package/src/contract/test-utils.ts +179 -0
  120. package/src/contract/types.ts +53 -0
  121. package/src/create.ts +1 -1
  122. package/src/credentials_manager.ts +282 -0
  123. package/src/index.ts +17 -2
  124. package/src/keystore/keystore.ts +19 -10
  125. package/src/keystore/types.ts +2 -1
  126. package/src/rln.ts +67 -258
  127. package/src/types.ts +31 -0
  128. package/src/zerokit.ts +3 -3
  129. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/index.js +0 -0
  130. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/md5.js +0 -0
  131. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/nil.js +0 -0
  132. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/parse.js +0 -0
  133. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/regex.js +0 -0
  134. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/rng.js +0 -0
  135. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/sha1.js +0 -0
  136. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/stringify.js +0 -0
  137. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v1.js +0 -0
  138. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v3.js +0 -0
  139. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v35.js +0 -0
  140. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v4.js +0 -0
  141. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/v5.js +0 -0
  142. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/validate.js +0 -0
  143. /package/bundle/{node_modules → packages/rln/node_modules}/@chainsafe/bls-keystore/node_modules/uuid/dist/esm-browser/version.js +0 -0
@@ -0,0 +1,56 @@
1
+ import { expect } from "chai";
2
+ import { createRLN } from "./create.js";
3
+ export const TEST_CONSTANTS = {
4
+ contentTopic: "/test/1/waku-message/utf8",
5
+ emptyPubsubTopic: "",
6
+ defaultIndex: 0,
7
+ defaultPayload: new Uint8Array([1, 2, 3, 4, 5])
8
+ };
9
+ export const EMPTY_PROTO_MESSAGE = {
10
+ timestamp: undefined,
11
+ contentTopic: "",
12
+ ephemeral: undefined,
13
+ meta: undefined,
14
+ rateLimitProof: undefined,
15
+ version: undefined
16
+ };
17
+ /**
18
+ * Creates a basic RLN setup for codec tests
19
+ */
20
+ export async function createTestRLNCodecSetup() {
21
+ const rlnInstance = await createRLN();
22
+ const credential = rlnInstance.zerokit.generateIdentityCredentials();
23
+ rlnInstance.zerokit.insertMember(credential.IDCommitment);
24
+ return {
25
+ rlnInstance,
26
+ credential,
27
+ index: TEST_CONSTANTS.defaultIndex,
28
+ payload: TEST_CONSTANTS.defaultPayload
29
+ };
30
+ }
31
+ /**
32
+ * Creates a meta setter function for testing
33
+ */
34
+ export function createTestMetaSetter() {
35
+ return (msg) => {
36
+ const buffer = new ArrayBuffer(4);
37
+ const view = new DataView(buffer);
38
+ view.setUint32(0, msg.payload.length, false);
39
+ return new Uint8Array(buffer);
40
+ };
41
+ }
42
+ /**
43
+ * Verifies common RLN message properties
44
+ */
45
+ export function verifyRLNMessage(msg, payload, contentTopic, version, rlnInstance) {
46
+ expect(msg.rateLimitProof).to.not.be.undefined;
47
+ expect(msg.verify([rlnInstance.zerokit.getMerkleRoot()])).to.be.true;
48
+ expect(msg.verifyNoRoot()).to.be.true;
49
+ expect(msg.epoch).to.not.be.undefined;
50
+ expect(msg.epoch).to.be.gt(0);
51
+ expect(msg.contentTopic).to.eq(contentTopic);
52
+ expect(msg.msg.version).to.eq(version);
53
+ expect(msg.payload).to.deep.eq(payload);
54
+ expect(msg.timestamp).to.not.be.undefined;
55
+ }
56
+ //# sourceMappingURL=codec.test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec.test-utils.js","sourceRoot":"","sources":["../src/codec.test-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUxC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,2BAA2B;IACzC,gBAAgB,EAAE,EAAE;IACpB,YAAY,EAAE,CAAC;IACf,cAAc,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CACvC,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,SAAS;IACzB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,WAAW,GAAG,MAAM,SAAS,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC;IACrE,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE1D,OAAO;QACL,WAAW;QACX,UAAU;QACV,KAAK,EAAE,cAAc,CAAC,YAAY;QAClC,OAAO,EAAE,cAAc,CAAC,cAAc;KACvC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAGlC,OAAO,CAAC,GAAwC,EAAc,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAQ,EACR,OAAmB,EACnB,YAAoB,EACpB,OAAe,EACf,WAAgB;IAEhB,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACrE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;AAC5C,CAAC"}
@@ -1,42 +1,46 @@
1
1
  export declare const RLN_ABI: ({
2
- type: string;
3
2
  inputs: never[];
4
3
  stateMutability: string;
4
+ type: string;
5
5
  name?: undefined;
6
- outputs?: undefined;
7
6
  anonymous?: undefined;
7
+ outputs?: undefined;
8
8
  } | {
9
- type: string;
10
- name: string;
11
9
  inputs: {
10
+ internalType: string;
12
11
  name: string;
13
12
  type: string;
14
13
  }[];
14
+ name: string;
15
+ type: string;
15
16
  stateMutability?: undefined;
16
- outputs?: undefined;
17
17
  anonymous?: undefined;
18
+ outputs?: undefined;
18
19
  } | {
19
- type: string;
20
- name: string;
20
+ anonymous: boolean;
21
21
  inputs: {
22
+ indexed: boolean;
23
+ internalType: string;
22
24
  name: string;
23
25
  type: string;
24
26
  }[];
25
- outputs: {
27
+ name: string;
28
+ type: string;
29
+ stateMutability?: undefined;
30
+ outputs?: undefined;
31
+ } | {
32
+ inputs: {
33
+ internalType: string;
26
34
  name: string;
27
35
  type: string;
28
36
  }[];
29
- stateMutability: string;
30
- anonymous?: undefined;
31
- } | {
32
- type: string;
33
37
  name: string;
34
- inputs: {
38
+ outputs: {
39
+ internalType: string;
35
40
  name: string;
36
41
  type: string;
37
- indexed: boolean;
38
42
  }[];
39
- anonymous: boolean;
40
- stateMutability?: undefined;
41
- outputs?: undefined;
43
+ stateMutability: string;
44
+ type: string;
45
+ anonymous?: undefined;
42
46
  })[];