@waku/rln 0.1.4-d27db21.0 → 0.1.5-053bb95.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 (138) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +5 -0
  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/coders/abstract-coder.js +1 -1
  7. package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +1 -1
  8. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +1 -1
  9. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +11 -11
  10. package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +1 -1
  11. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +7 -7
  12. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +2 -2
  13. package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +2 -2
  14. package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +1 -1
  15. package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +1 -1
  16. package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +1 -1
  17. package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +44 -44
  18. package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +8 -8
  19. package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +1 -1
  20. package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +1 -1
  21. package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +1 -1
  22. package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +2 -2
  23. package/bundle/node_modules/@multiformats/multiaddr/dist/src/multiaddr.js +1 -0
  24. package/bundle/node_modules/@noble/hashes/esm/sha3.js +1 -1
  25. package/bundle/node_modules/bn.js/lib/bn.js +1 -1
  26. package/bundle/packages/core/dist/lib/connection_manager/connection_manager.js +6 -6
  27. package/bundle/packages/rln/dist/contract/abi.js +502 -248
  28. package/bundle/packages/rln/dist/contract/constants.js +5 -9
  29. package/bundle/packages/rln/dist/contract/errors.js +62 -0
  30. package/bundle/packages/rln/dist/contract/rln_base_contract.js +347 -0
  31. package/bundle/packages/rln/dist/contract/rln_contract.js +81 -392
  32. package/bundle/packages/rln/dist/contract/types.js +9 -0
  33. package/bundle/packages/rln/dist/create.js +1 -1
  34. package/bundle/packages/rln/dist/credentials_manager.js +215 -0
  35. package/bundle/packages/rln/dist/identity.js +8 -0
  36. package/bundle/packages/rln/dist/keystore/keystore.js +20 -28
  37. package/bundle/packages/rln/dist/rln.js +56 -166
  38. package/bundle/packages/rln/dist/zerokit.js +5 -5
  39. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/checksum.js +2 -2
  40. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/cipher.js +3 -3
  41. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/class.js +4 -4
  42. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/functional.js +4 -4
  43. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/kdf.js +4 -4
  44. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/password.js +1 -1
  45. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/schema-validation-generated.js +1 -1
  46. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/lib/schema-validation.js +1 -1
  47. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/aes.js +1 -1
  48. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/pbkdf2.js +1 -1
  49. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +2 -2
  50. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/scrypt.js +1 -1
  51. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/sha256.js +1 -1
  52. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +3 -3
  53. package/bundle/packages/rln/node_modules/@noble/hashes/_assert.js +1 -1
  54. package/bundle/packages/rln/node_modules/@noble/hashes/_sha2.js +2 -2
  55. package/bundle/packages/rln/node_modules/@noble/hashes/_u64.js +1 -1
  56. package/bundle/packages/rln/node_modules/@noble/hashes/cryptoBrowser.js +1 -1
  57. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_assert.js +43 -0
  58. package/bundle/packages/rln/node_modules/@noble/hashes/esm/_sha2.js +116 -0
  59. package/bundle/packages/rln/node_modules/@noble/hashes/esm/hmac.js +79 -0
  60. package/bundle/packages/rln/node_modules/@noble/hashes/esm/sha256.js +126 -0
  61. package/bundle/packages/rln/node_modules/@noble/hashes/esm/utils.js +43 -0
  62. package/bundle/packages/rln/node_modules/@noble/hashes/hmac.js +2 -2
  63. package/bundle/packages/rln/node_modules/@noble/hashes/pbkdf2.js +2 -2
  64. package/bundle/packages/rln/node_modules/@noble/hashes/scrypt.js +3 -3
  65. package/bundle/packages/rln/node_modules/@noble/hashes/sha256.js +2 -2
  66. package/bundle/packages/rln/node_modules/@noble/hashes/sha512.js +3 -3
  67. package/bundle/packages/rln/node_modules/@noble/hashes/utils.js +2 -2
  68. package/dist/.tsbuildinfo +1 -1
  69. package/dist/codec.test-utils.d.ts +36 -0
  70. package/dist/codec.test-utils.js +56 -0
  71. package/dist/codec.test-utils.js.map +1 -0
  72. package/dist/contract/abi.d.ts +21 -17
  73. package/dist/contract/abi.js +502 -248
  74. package/dist/contract/abi.js.map +1 -1
  75. package/dist/contract/constants.d.ts +23 -19
  76. package/dist/contract/constants.js +3 -3
  77. package/dist/contract/constants.js.map +1 -1
  78. package/dist/contract/errors.d.ts +30 -0
  79. package/dist/contract/errors.js +61 -0
  80. package/dist/contract/errors.js.map +1 -0
  81. package/dist/contract/rln_base_contract.d.ts +88 -0
  82. package/dist/contract/rln_base_contract.js +330 -0
  83. package/dist/contract/rln_base_contract.js.map +1 -0
  84. package/dist/contract/rln_contract.d.ts +19 -109
  85. package/dist/contract/rln_contract.js +80 -390
  86. package/dist/contract/rln_contract.js.map +1 -1
  87. package/dist/contract/test-setup.d.ts +26 -0
  88. package/dist/contract/test-setup.js +56 -0
  89. package/dist/contract/test-setup.js.map +1 -0
  90. package/dist/contract/test-utils.d.ts +39 -0
  91. package/dist/contract/test-utils.js +118 -0
  92. package/dist/contract/test-utils.js.map +1 -0
  93. package/dist/contract/types.d.ts +40 -0
  94. package/dist/contract/types.js +8 -0
  95. package/dist/contract/types.js.map +1 -0
  96. package/dist/create.js +1 -1
  97. package/dist/create.js.map +1 -1
  98. package/dist/credentials_manager.d.ts +44 -0
  99. package/dist/credentials_manager.js +197 -0
  100. package/dist/credentials_manager.js.map +1 -0
  101. package/dist/identity.d.ts +1 -0
  102. package/dist/identity.js +8 -0
  103. package/dist/identity.js.map +1 -1
  104. package/dist/index.d.ts +5 -2
  105. package/dist/index.js +4 -2
  106. package/dist/index.js.map +1 -1
  107. package/dist/keystore/keystore.d.ts +0 -1
  108. package/dist/keystore/keystore.js +20 -28
  109. package/dist/keystore/keystore.js.map +1 -1
  110. package/dist/keystore/types.d.ts +2 -1
  111. package/dist/rln.d.ts +9 -52
  112. package/dist/rln.js +54 -163
  113. package/dist/rln.js.map +1 -1
  114. package/dist/types.d.ts +27 -0
  115. package/dist/types.js +2 -0
  116. package/dist/types.js.map +1 -0
  117. package/dist/zerokit.d.ts +3 -3
  118. package/dist/zerokit.js +5 -5
  119. package/dist/zerokit.js.map +1 -1
  120. package/package.json +1 -1
  121. package/src/codec.test-utils.ts +80 -0
  122. package/src/contract/abi.ts +502 -248
  123. package/src/contract/constants.ts +3 -3
  124. package/src/contract/errors.ts +75 -0
  125. package/src/contract/rln_base_contract.ts +500 -0
  126. package/src/contract/rln_contract.ts +102 -619
  127. package/src/contract/test-setup.ts +86 -0
  128. package/src/contract/test-utils.ts +179 -0
  129. package/src/contract/types.ts +48 -0
  130. package/src/create.ts +1 -1
  131. package/src/credentials_manager.ts +282 -0
  132. package/src/identity.ts +9 -0
  133. package/src/index.ts +17 -2
  134. package/src/keystore/keystore.ts +32 -46
  135. package/src/keystore/types.ts +2 -1
  136. package/src/rln.ts +67 -258
  137. package/src/types.ts +31 -0
  138. package/src/zerokit.ts +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rln_base_contract.js","sourceRoot":"","sources":["../../src/contract/rln_base_contract.ts"],"names":[],"mappings":"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"}
@@ -1,127 +1,37 @@
1
- import { ethers } from "ethers";
2
- import type { IdentityCredential } from "../identity.js";
3
- import type { DecryptedCredentials } from "../keystore/index.js";
4
1
  import type { RLNInstance } from "../rln.js";
5
- type Member = {
6
- idCommitment: string;
7
- index: ethers.BigNumber;
8
- };
9
- interface RLNContractOptions {
10
- signer: ethers.Signer;
11
- address: string;
12
- rateLimit?: number;
13
- }
14
- interface RLNContractInitOptions extends RLNContractOptions {
15
- contract?: ethers.Contract;
16
- }
17
- export interface MembershipRegisteredEvent {
18
- idCommitment: string;
19
- rateLimit: number;
20
- index: ethers.BigNumber;
21
- }
22
- type FetchMembersOptions = {
23
- fromBlock?: number;
24
- fetchRange?: number;
25
- fetchChunks?: number;
26
- };
27
- export interface MembershipInfo {
28
- index: ethers.BigNumber;
29
- idCommitment: string;
30
- rateLimit: number;
31
- startBlock: number;
32
- endBlock: number;
33
- state: MembershipState;
34
- }
35
- export declare enum MembershipState {
36
- Active = "Active",
37
- GracePeriod = "GracePeriod",
38
- Expired = "Expired",
39
- ErasedAwaitsWithdrawal = "ErasedAwaitsWithdrawal"
40
- }
41
- export declare class RLNContract {
42
- contract: ethers.Contract;
2
+ import { RLNBaseContract } from "./rln_base_contract.js";
3
+ import { RLNContractInitOptions } from "./types.js";
4
+ export declare class RLNContract extends RLNBaseContract {
5
+ private instance;
43
6
  private merkleRootTracker;
44
- private deployBlock;
45
- private rateLimit;
46
- private _members;
47
- private _membersFilter;
48
- private _membersRemovedFilter;
7
+ private lastSyncedBlock;
49
8
  /**
50
9
  * Asynchronous initializer for RLNContract.
51
10
  * Allows injecting a mocked contract for testing purposes.
52
11
  */
53
12
  static init(rlnInstance: RLNInstance, options: RLNContractInitOptions): Promise<RLNContract>;
54
- private constructor();
55
- /**
56
- * Gets the current rate limit for this contract instance
57
- */
58
- getRateLimit(): number;
59
13
  /**
60
- * Gets the contract address
14
+ * Override base contract method to keep Merkle tree in sync
15
+ * Registers a new membership with the given commitment and rate limit
61
16
  */
62
- get address(): string;
17
+ registerMembership(idCommitment: string, rateLimit?: number): Promise<void>;
63
18
  /**
64
- * Gets the contract provider
19
+ * Override base contract method to keep Merkle tree in sync
20
+ * Erases an existing membership from the contract
65
21
  */
66
- get provider(): ethers.providers.Provider;
22
+ eraseMembership(idCommitment: string, eraseFromMembershipSet?: boolean): Promise<void>;
67
23
  /**
68
- * Gets the minimum allowed rate limit from the contract
69
- * @returns Promise<number> The minimum rate limit in messages per epoch
24
+ * Gets the current Merkle root
25
+ * Returns the latest valid root or empty array if no roots exist
70
26
  */
71
- getMinRateLimit(): Promise<number>;
72
- /**
73
- * Gets the maximum allowed rate limit from the contract
74
- * @returns Promise<number> The maximum rate limit in messages per epoch
75
- */
76
- getMaxRateLimit(): Promise<number>;
77
- /**
78
- * Gets the maximum total rate limit across all memberships
79
- * @returns Promise<number> The maximum total rate limit in messages per epoch
80
- */
81
- getMaxTotalRateLimit(): Promise<number>;
82
- /**
83
- * Gets the current total rate limit usage across all memberships
84
- * @returns Promise<number> The current total rate limit usage in messages per epoch
85
- */
86
- getCurrentTotalRateLimit(): Promise<number>;
87
- /**
88
- * Gets the remaining available total rate limit that can be allocated
89
- * @returns Promise<number> The remaining rate limit that can be allocated
90
- */
91
- getRemainingTotalRateLimit(): Promise<number>;
27
+ getMerkleRoot(): Promise<Uint8Array>;
28
+ private constructor();
92
29
  /**
93
- * Updates the rate limit for future registrations
94
- * @param newRateLimit The new rate limit to use
30
+ * Syncs the local Merkle tree with the current contract state
95
31
  */
96
- setRateLimit(newRateLimit: number): Promise<void>;
97
- get members(): Member[];
98
- private get membersFilter();
99
- private get membersRemovedFilter();
100
- fetchMembers(rlnInstance: RLNInstance, options?: FetchMembersOptions): Promise<void>;
101
- processEvents(rlnInstance: RLNInstance, events: ethers.Event[]): void;
102
- private insertMembers;
103
- private removeMembers;
104
- subscribeToMembers(rlnInstance: RLNInstance): void;
105
- registerWithIdentity(identity: IdentityCredential): Promise<DecryptedCredentials | undefined>;
32
+ private syncState;
106
33
  /**
107
- * Helper method to get remaining messages in current epoch
108
- * @param membershipId The ID of the membership to check
109
- * @returns number of remaining messages allowed in current epoch
34
+ * Syncs new members added between fromBlock and toBlock
110
35
  */
111
- getRemainingMessages(membershipId: number): Promise<number>;
112
- registerWithPermitAndErase(identity: IdentityCredential, permit: {
113
- owner: string;
114
- deadline: number;
115
- v: number;
116
- r: string;
117
- s: string;
118
- }, idCommitmentsToErase: string[]): Promise<DecryptedCredentials | undefined>;
119
- roots(): Uint8Array[];
120
- withdraw(token: string, holder: string): Promise<void>;
121
- getMembershipInfo(idCommitment: string): Promise<MembershipInfo | undefined>;
122
- extendMembership(idCommitment: string): Promise<ethers.ContractTransaction>;
123
- eraseMembership(idCommitment: string, eraseFromMembershipSet?: boolean): Promise<ethers.ContractTransaction>;
124
- registerMembership(idCommitment: string, rateLimit?: number): Promise<ethers.ContractTransaction>;
125
- private getMemberIndex;
36
+ private syncNewMembers;
126
37
  }
127
- export {};