@waku/rln 0.1.0-e52107d → 0.1.1-5d7f77f
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.
- package/bundle/index.js +150 -95
- package/dist/.tsbuildinfo +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +4 -4
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/message.d.ts +2 -1
- package/dist/message.js +5 -2
- package/dist/message.js.map +1 -1
- package/dist/rln.js +2 -1
- package/dist/rln.js.map +1 -1
- package/dist/rln_contract.d.ts +6 -2
- package/dist/rln_contract.js +69 -16
- package/dist/rln_contract.js.map +1 -1
- package/package.json +6 -6
- package/src/constants.ts +4 -4
- package/src/index.ts +2 -2
- package/src/message.ts +7 -2
- package/src/rln.ts +2 -1
- package/src/rln_contract.ts +87 -22
package/bundle/index.js
CHANGED
@@ -1909,9 +1909,9 @@ class RlnMessage {
|
|
1909
1909
|
this.rateLimitProof = rateLimitProof;
|
1910
1910
|
this.pubSubTopic = "";
|
1911
1911
|
}
|
1912
|
-
verify() {
|
1912
|
+
verify(roots) {
|
1913
1913
|
return this.rateLimitProof
|
1914
|
-
? this.rlnInstance.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg)) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
|
1914
|
+
? this.rlnInstance.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg), ...roots) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
|
1915
1915
|
: undefined;
|
1916
1916
|
}
|
1917
1917
|
verifyNoRoot() {
|
@@ -1931,6 +1931,9 @@ class RlnMessage {
|
|
1931
1931
|
get ephemeral() {
|
1932
1932
|
return this.msg.ephemeral;
|
1933
1933
|
}
|
1934
|
+
get meta() {
|
1935
|
+
return this.msg.meta;
|
1936
|
+
}
|
1934
1937
|
get epoch() {
|
1935
1938
|
const bytes = this.msg.rateLimitProof?.epoch;
|
1936
1939
|
if (!bytes)
|
@@ -2005,10 +2008,10 @@ const RLN_ABI = [
|
|
2005
2008
|
"event MemberRegistered(uint256 pubkey, uint256 index)",
|
2006
2009
|
"event MemberWithdrawn(uint256 pubkey, uint256 index)",
|
2007
2010
|
];
|
2008
|
-
const
|
2009
|
-
chainId:
|
2010
|
-
startBlock:
|
2011
|
-
address: "
|
2011
|
+
const SEPOLIA_CONTRACT = {
|
2012
|
+
chainId: 11155111,
|
2013
|
+
startBlock: 3193048,
|
2014
|
+
address: "0x9C09146844C1326c2dBC41c451766C7138F88155",
|
2012
2015
|
abi: RLN_ABI,
|
2013
2016
|
};
|
2014
2017
|
|
@@ -27147,14 +27150,88 @@ try {
|
|
27147
27150
|
}
|
27148
27151
|
catch (error) { }
|
27149
27152
|
|
27153
|
+
class RootPerBlock {
|
27154
|
+
constructor(root, blockNumber) {
|
27155
|
+
this.root = root;
|
27156
|
+
this.blockNumber = blockNumber;
|
27157
|
+
}
|
27158
|
+
}
|
27159
|
+
const maxBufferSize = 20;
|
27160
|
+
class MerkleRootTracker {
|
27161
|
+
constructor(acceptableRootWindowSize, initialRoot) {
|
27162
|
+
this.acceptableRootWindowSize = acceptableRootWindowSize;
|
27163
|
+
this.validMerkleRoots = new Array();
|
27164
|
+
this.merkleRootBuffer = new Array();
|
27165
|
+
this.pushRoot(0, initialRoot);
|
27166
|
+
}
|
27167
|
+
backFill(fromBlockNumber) {
|
27168
|
+
if (this.validMerkleRoots.length == 0)
|
27169
|
+
return;
|
27170
|
+
let numBlocks = 0;
|
27171
|
+
for (let i = this.validMerkleRoots.length - 1; i >= 0; i--) {
|
27172
|
+
if (this.validMerkleRoots[i].blockNumber >= fromBlockNumber) {
|
27173
|
+
numBlocks++;
|
27174
|
+
}
|
27175
|
+
}
|
27176
|
+
if (numBlocks == 0)
|
27177
|
+
return;
|
27178
|
+
const olderBlock = fromBlockNumber < this.validMerkleRoots[0].blockNumber;
|
27179
|
+
// Remove last roots
|
27180
|
+
let rootsToPop = numBlocks;
|
27181
|
+
if (this.validMerkleRoots.length < rootsToPop) {
|
27182
|
+
rootsToPop = this.validMerkleRoots.length;
|
27183
|
+
}
|
27184
|
+
this.validMerkleRoots = this.validMerkleRoots.slice(0, this.validMerkleRoots.length - rootsToPop);
|
27185
|
+
if (this.merkleRootBuffer.length == 0)
|
27186
|
+
return;
|
27187
|
+
if (olderBlock) {
|
27188
|
+
const idx = this.merkleRootBuffer.findIndex((x) => x.blockNumber == fromBlockNumber);
|
27189
|
+
if (idx > -1) {
|
27190
|
+
this.merkleRootBuffer = this.merkleRootBuffer.slice(0, idx);
|
27191
|
+
}
|
27192
|
+
}
|
27193
|
+
// Backfill the tree's acceptable roots
|
27194
|
+
let rootsToRestore = this.acceptableRootWindowSize - this.validMerkleRoots.length;
|
27195
|
+
if (this.merkleRootBuffer.length < rootsToRestore) {
|
27196
|
+
rootsToRestore = this.merkleRootBuffer.length;
|
27197
|
+
}
|
27198
|
+
for (let i = 0; i < rootsToRestore; i++) {
|
27199
|
+
const x = this.merkleRootBuffer.pop();
|
27200
|
+
if (x)
|
27201
|
+
this.validMerkleRoots.unshift(x);
|
27202
|
+
}
|
27203
|
+
}
|
27204
|
+
pushRoot(blockNumber, root) {
|
27205
|
+
this.validMerkleRoots.push(new RootPerBlock(root, blockNumber));
|
27206
|
+
// Maintain valid merkle root window
|
27207
|
+
if (this.validMerkleRoots.length > this.acceptableRootWindowSize) {
|
27208
|
+
const x = this.validMerkleRoots.shift();
|
27209
|
+
if (x)
|
27210
|
+
this.merkleRootBuffer.push(x);
|
27211
|
+
}
|
27212
|
+
// Maintain merkle root buffer
|
27213
|
+
if (this.merkleRootBuffer.length > maxBufferSize) {
|
27214
|
+
this.merkleRootBuffer.shift();
|
27215
|
+
}
|
27216
|
+
}
|
27217
|
+
roots() {
|
27218
|
+
return this.validMerkleRoots.map((x) => x.root);
|
27219
|
+
}
|
27220
|
+
buffer() {
|
27221
|
+
return this.merkleRootBuffer.map((x) => x.root);
|
27222
|
+
}
|
27223
|
+
}
|
27224
|
+
|
27150
27225
|
class RLNContract {
|
27151
|
-
constructor({ address, provider }) {
|
27226
|
+
constructor(rlnInstance, { address, provider }) {
|
27152
27227
|
this._members = [];
|
27228
|
+
const initialRoot = rlnInstance.getMerkleRoot();
|
27153
27229
|
this._contract = new Contract(address, RLN_ABI, provider);
|
27230
|
+
this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
|
27154
27231
|
this.membersFilter = this.contract.filters.MemberRegistered();
|
27155
27232
|
}
|
27156
27233
|
static async init(rlnInstance, options) {
|
27157
|
-
const rlnContract = new RLNContract(options);
|
27234
|
+
const rlnContract = new RLNContract(rlnInstance, options);
|
27158
27235
|
await rlnContract.fetchMembers(rlnInstance);
|
27159
27236
|
rlnContract.subscribeToMembers(rlnInstance);
|
27160
27237
|
return rlnContract;
|
@@ -27170,22 +27247,69 @@ class RLNContract {
|
|
27170
27247
|
...options,
|
27171
27248
|
membersFilter: this.membersFilter,
|
27172
27249
|
});
|
27173
|
-
|
27174
|
-
this.addMemberFromEvent(rlnInstance, event);
|
27175
|
-
}
|
27250
|
+
this.processEvents(rlnInstance, registeredMemberEvents);
|
27176
27251
|
}
|
27177
|
-
|
27178
|
-
|
27252
|
+
processEvents(rlnInstance, events) {
|
27253
|
+
const toRemoveTable = new Map();
|
27254
|
+
const toInsertTable = new Map();
|
27255
|
+
events.forEach((evt) => {
|
27256
|
+
if (!evt.args) {
|
27257
|
+
return;
|
27258
|
+
}
|
27259
|
+
if (evt.removed) {
|
27260
|
+
const index = evt.args.index;
|
27261
|
+
const toRemoveVal = toRemoveTable.get(evt.blockNumber);
|
27262
|
+
if (toRemoveVal != undefined) {
|
27263
|
+
toRemoveVal.push(index);
|
27264
|
+
toRemoveTable.set(evt.blockNumber, toRemoveVal);
|
27265
|
+
}
|
27266
|
+
else {
|
27267
|
+
toRemoveTable.set(evt.blockNumber, [index]);
|
27268
|
+
}
|
27269
|
+
}
|
27270
|
+
else {
|
27271
|
+
let eventsPerBlock = toInsertTable.get(evt.blockNumber);
|
27272
|
+
if (eventsPerBlock == undefined) {
|
27273
|
+
eventsPerBlock = [];
|
27274
|
+
}
|
27275
|
+
eventsPerBlock.push(evt);
|
27276
|
+
toInsertTable.set(evt.blockNumber, eventsPerBlock);
|
27277
|
+
}
|
27278
|
+
this.removeMembers(rlnInstance, toRemoveTable);
|
27279
|
+
this.insertMembers(rlnInstance, toInsertTable);
|
27280
|
+
});
|
27179
27281
|
}
|
27180
|
-
|
27181
|
-
|
27182
|
-
|
27183
|
-
|
27184
|
-
|
27185
|
-
|
27186
|
-
|
27187
|
-
|
27188
|
-
|
27282
|
+
insertMembers(rlnInstance, toInsert) {
|
27283
|
+
toInsert.forEach((events, blockNumber) => {
|
27284
|
+
events.forEach((evt) => {
|
27285
|
+
if (!evt.args) {
|
27286
|
+
return;
|
27287
|
+
}
|
27288
|
+
const pubkey = evt.args.pubkey;
|
27289
|
+
const index = evt.args.index;
|
27290
|
+
const idCommitment = zeroPad(arrayify(pubkey), 32);
|
27291
|
+
rlnInstance.insertMember(idCommitment);
|
27292
|
+
this.members.push({ index, pubkey });
|
27293
|
+
});
|
27294
|
+
const currentRoot = rlnInstance.getMerkleRoot();
|
27295
|
+
this.merkleRootTracker.pushRoot(blockNumber, currentRoot);
|
27296
|
+
});
|
27297
|
+
}
|
27298
|
+
removeMembers(rlnInstance, toRemove) {
|
27299
|
+
const removeDescending = new Map([...toRemove].sort().reverse());
|
27300
|
+
removeDescending.forEach((indexes, blockNumber) => {
|
27301
|
+
indexes.forEach((index) => {
|
27302
|
+
const idx = this.members.findIndex((m) => m.index === index);
|
27303
|
+
if (idx > -1) {
|
27304
|
+
this.members.splice(idx, 1);
|
27305
|
+
}
|
27306
|
+
rlnInstance.deleteMember(index);
|
27307
|
+
});
|
27308
|
+
this.merkleRootTracker.backFill(blockNumber);
|
27309
|
+
});
|
27310
|
+
}
|
27311
|
+
subscribeToMembers(rlnInstance) {
|
27312
|
+
this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, event));
|
27189
27313
|
}
|
27190
27314
|
async registerWithSignature(rlnInstance, signature) {
|
27191
27315
|
const identityCredential = await rlnInstance.generateSeededIdentityCredential(signature);
|
@@ -27199,6 +27323,9 @@ class RLNContract {
|
|
27199
27323
|
const txRegisterReceipt = await txRegisterResponse.wait();
|
27200
27324
|
return txRegisterReceipt?.events?.[0];
|
27201
27325
|
}
|
27326
|
+
roots() {
|
27327
|
+
return this.merkleRootTracker.roots();
|
27328
|
+
}
|
27202
27329
|
}
|
27203
27330
|
// these value should be tested on other networks
|
27204
27331
|
const FETCH_CHUNK = 5;
|
@@ -27251,78 +27378,6 @@ function ignoreErrors(promise, defaultValue) {
|
|
27251
27378
|
});
|
27252
27379
|
}
|
27253
27380
|
|
27254
|
-
class RootPerBlock {
|
27255
|
-
constructor(root, blockNumber) {
|
27256
|
-
this.root = root;
|
27257
|
-
this.blockNumber = blockNumber;
|
27258
|
-
}
|
27259
|
-
}
|
27260
|
-
const maxBufferSize = 20;
|
27261
|
-
class MerkleRootTracker {
|
27262
|
-
constructor(acceptableRootWindowSize, initialRoot) {
|
27263
|
-
this.acceptableRootWindowSize = acceptableRootWindowSize;
|
27264
|
-
this.validMerkleRoots = new Array();
|
27265
|
-
this.merkleRootBuffer = new Array();
|
27266
|
-
this.pushRoot(0, initialRoot);
|
27267
|
-
}
|
27268
|
-
backFill(fromBlockNumber) {
|
27269
|
-
if (this.validMerkleRoots.length == 0)
|
27270
|
-
return;
|
27271
|
-
let numBlocks = 0;
|
27272
|
-
for (let i = this.validMerkleRoots.length - 1; i >= 0; i--) {
|
27273
|
-
if (this.validMerkleRoots[i].blockNumber >= fromBlockNumber) {
|
27274
|
-
numBlocks++;
|
27275
|
-
}
|
27276
|
-
}
|
27277
|
-
if (numBlocks == 0)
|
27278
|
-
return;
|
27279
|
-
const olderBlock = fromBlockNumber < this.validMerkleRoots[0].blockNumber;
|
27280
|
-
// Remove last roots
|
27281
|
-
let rootsToPop = numBlocks;
|
27282
|
-
if (this.validMerkleRoots.length < rootsToPop) {
|
27283
|
-
rootsToPop = this.validMerkleRoots.length;
|
27284
|
-
}
|
27285
|
-
this.validMerkleRoots = this.validMerkleRoots.slice(0, this.validMerkleRoots.length - rootsToPop);
|
27286
|
-
if (this.merkleRootBuffer.length == 0)
|
27287
|
-
return;
|
27288
|
-
if (olderBlock) {
|
27289
|
-
const idx = this.merkleRootBuffer.findIndex((x) => x.blockNumber == fromBlockNumber);
|
27290
|
-
if (idx > -1) {
|
27291
|
-
this.merkleRootBuffer = this.merkleRootBuffer.slice(0, idx);
|
27292
|
-
}
|
27293
|
-
}
|
27294
|
-
// Backfill the tree's acceptable roots
|
27295
|
-
let rootsToRestore = this.acceptableRootWindowSize - this.validMerkleRoots.length;
|
27296
|
-
if (this.merkleRootBuffer.length < rootsToRestore) {
|
27297
|
-
rootsToRestore = this.merkleRootBuffer.length;
|
27298
|
-
}
|
27299
|
-
for (let i = 0; i < rootsToRestore; i++) {
|
27300
|
-
const x = this.merkleRootBuffer.pop();
|
27301
|
-
if (x)
|
27302
|
-
this.validMerkleRoots.unshift(x);
|
27303
|
-
}
|
27304
|
-
}
|
27305
|
-
pushRoot(blockNumber, root) {
|
27306
|
-
this.validMerkleRoots.push(new RootPerBlock(root, blockNumber));
|
27307
|
-
// Maintain valid merkle root window
|
27308
|
-
if (this.validMerkleRoots.length > this.acceptableRootWindowSize) {
|
27309
|
-
const x = this.validMerkleRoots.shift();
|
27310
|
-
if (x)
|
27311
|
-
this.merkleRootBuffer.push(x);
|
27312
|
-
}
|
27313
|
-
// Maintain merkle root buffer
|
27314
|
-
if (this.merkleRootBuffer.length > maxBufferSize) {
|
27315
|
-
this.merkleRootBuffer.shift();
|
27316
|
-
}
|
27317
|
-
}
|
27318
|
-
roots() {
|
27319
|
-
return this.validMerkleRoots.map((x) => x.root);
|
27320
|
-
}
|
27321
|
-
buffer() {
|
27322
|
-
return this.merkleRootBuffer.map((x) => x.root);
|
27323
|
-
}
|
27324
|
-
}
|
27325
|
-
|
27326
27381
|
// reexport the create function, dynamically imported from rln.ts
|
27327
27382
|
async function create() {
|
27328
27383
|
// A dependency graph that contains any wasm must all be imported
|
@@ -27332,4 +27387,4 @@ async function create() {
|
|
27332
27387
|
return await rlnModule.create();
|
27333
27388
|
}
|
27334
27389
|
|
27335
|
-
export {
|
27390
|
+
export { IdentityCredential, MerkleRootTracker, Proof, ProofMetadata, RLNContract, RLNDecoder, RLNEncoder, RLNInstance, RLN_ABI, SEPOLIA_CONTRACT, create };
|
package/dist/.tsbuildinfo
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/byte_utils.ts","../node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/@libp2p/interface-peer-id/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-info/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/enr.d.ts","../node_modules/@libp2p/interfaces/dist/src/events.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface-record/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-store/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interface-stream-muxer/dist/src/index.d.ts","../node_modules/@libp2p/interface-transport/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/startable.d.ts","../node_modules/@libp2p/interface-metrics/dist/src/index.d.ts","../node_modules/@libp2p/interface-address-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/transport-manager.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/pb/message.d.ts","../node_modules/@libp2p/interface-registrar/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/index.d.ts","../node_modules/@libp2p/interface-peer-discovery/dist/src/index.d.ts","../node_modules/@libp2p/interface-dht/dist/src/index.d.ts","../node_modules/libp2p/node_modules/interface-store/dist/src/index.d.ts","../node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/multiformats/dist/types/src/codecs/raw.d.ts","../node_modules/multiformats/dist/types/src/codecs/json.d.ts","../node_modules/multiformats/dist/types/src/bases/base.d.ts","../node_modules/multiformats/dist/types/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/interface-content-routing/dist/src/index.d.ts","../node_modules/libp2p/dist/src/circuit/index.d.ts","../node_modules/@libp2p/interface-connection-encrypter/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-routing/dist/src/index.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface-pubsub/dist/src/index.d.ts","../node_modules/libp2p/dist/src/ping/index.d.ts","../node_modules/libp2p/dist/src/fetch/index.d.ts","../node_modules/libp2p/dist/src/components.d.ts","../node_modules/@libp2p/interface-keychain/dist/src/index.d.ts","../node_modules/@libp2p/interface-libp2p/dist/src/index.d.ts","../node_modules/libp2p/dist/src/keychain/cms.d.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/rsa-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.d.ts","../node_modules/@libp2p/interface-keys/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/libp2p/dist/src/keychain/index.d.ts","../node_modules/@achingbrain/nat-port-mapper/dist/src/index.d.ts","../node_modules/libp2p/dist/src/nat-manager.d.ts","../node_modules/libp2p/dist/src/address-manager/index.d.ts","../node_modules/libp2p/dist/src/peer-routing.d.ts","../node_modules/libp2p/dist/src/connection-manager/latency-monitor.d.ts","../node_modules/libp2p/dist/src/connection-manager/index.d.ts","../node_modules/libp2p/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/message.d.ts","../node_modules/@waku/interfaces/dist/protocols.d.ts","../node_modules/@waku/interfaces/dist/receiver.d.ts","../node_modules/@waku/interfaces/dist/filter.d.ts","../node_modules/@waku/interfaces/dist/sender.d.ts","../node_modules/@waku/interfaces/dist/light_push.d.ts","../node_modules/@waku/interfaces/dist/peer_exchange.d.ts","../node_modules/@libp2p/logger/dist/src/index.d.ts","../node_modules/protobufjs/index.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/rpc.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/types.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message-cache.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-params.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score-thresholds.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-stats.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/compute-score.d.ts","../node_modules/denque/index.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/message-deliveries.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/metrics.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/utils/set.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/peer-score.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/score/index.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/tracer.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/config.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/stream.d.ts","../node_modules/protobufjs/minimal.d.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/message/decodeRpc.ts","../node_modules/@chainsafe/libp2p-gossipsub/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/relay.d.ts","../node_modules/@waku/interfaces/dist/store.d.ts","../node_modules/@waku/interfaces/dist/waku.d.ts","../node_modules/@waku/interfaces/dist/connection_manager.d.ts","../node_modules/@waku/interfaces/dist/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@waku/utils/dist/bytes/index.d.ts","../src/epoch.ts","../node_modules/@waku/zerokit-rln-wasm/rln_wasm.d.ts","../src/resources/verification_key.js","../src/witness_calculator.d.ts","../src/rln.ts","../src/message.ts","../src/codec.ts","../src/constants.ts","../node_modules/@ethersproject/bytes/lib/index.d.ts","../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../node_modules/@ethersproject/bignumber/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/fragments.d.ts","../node_modules/@ethersproject/abi/lib/coders/abstract-coder.d.ts","../node_modules/@ethersproject/abi/lib/abi-coder.d.ts","../node_modules/@ethersproject/properties/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/interface.d.ts","../node_modules/@ethersproject/abi/lib/index.d.ts","../node_modules/@ethersproject/networks/lib/types.d.ts","../node_modules/@ethersproject/networks/lib/index.d.ts","../node_modules/@ethersproject/transactions/lib/index.d.ts","../node_modules/@ethersproject/web/lib/index.d.ts","../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../node_modules/@ethersproject/contracts/lib/index.d.ts","../node_modules/@ethersproject/logger/lib/index.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlist.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlists.d.ts","../node_modules/@ethersproject/wordlists/lib/index.d.ts","../node_modules/@ethersproject/hdnode/lib/index.d.ts","../node_modules/@ethersproject/signing-key/lib/index.d.ts","../node_modules/@ethersproject/json-wallets/lib/crowdsale.d.ts","../node_modules/@ethersproject/json-wallets/lib/inspect.d.ts","../node_modules/@ethersproject/json-wallets/lib/keystore.d.ts","../node_modules/@ethersproject/json-wallets/lib/index.d.ts","../node_modules/@ethersproject/wallet/lib/index.d.ts","../node_modules/@ethersproject/constants/lib/addresses.d.ts","../node_modules/@ethersproject/constants/lib/bignumbers.d.ts","../node_modules/@ethersproject/constants/lib/hashes.d.ts","../node_modules/@ethersproject/constants/lib/strings.d.ts","../node_modules/@ethersproject/constants/lib/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@ethersproject/providers/lib/formatter.d.ts","../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../node_modules/@ethersproject/providers/lib/index.d.ts","../node_modules/@ethersproject/address/lib/index.d.ts","../node_modules/@ethersproject/base64/lib/base64.d.ts","../node_modules/@ethersproject/base64/lib/index.d.ts","../node_modules/@ethersproject/basex/lib/index.d.ts","../node_modules/@ethersproject/hash/lib/id.d.ts","../node_modules/@ethersproject/hash/lib/namehash.d.ts","../node_modules/@ethersproject/hash/lib/message.d.ts","../node_modules/@ethersproject/hash/lib/typed-data.d.ts","../node_modules/@ethersproject/hash/lib/index.d.ts","../node_modules/@ethersproject/keccak256/lib/index.d.ts","../node_modules/@ethersproject/sha2/lib/types.d.ts","../node_modules/@ethersproject/sha2/lib/sha2.d.ts","../node_modules/@ethersproject/sha2/lib/index.d.ts","../node_modules/@ethersproject/solidity/lib/index.d.ts","../node_modules/@ethersproject/random/lib/random.d.ts","../node_modules/@ethersproject/random/lib/shuffle.d.ts","../node_modules/@ethersproject/random/lib/index.d.ts","../node_modules/@ethersproject/rlp/lib/index.d.ts","../node_modules/@ethersproject/strings/lib/bytes32.d.ts","../node_modules/@ethersproject/strings/lib/idna.d.ts","../node_modules/@ethersproject/strings/lib/utf8.d.ts","../node_modules/@ethersproject/strings/lib/index.d.ts","../node_modules/@ethersproject/units/lib/index.d.ts","../node_modules/ethers/lib/utils.d.ts","../node_modules/ethers/lib/_version.d.ts","../node_modules/ethers/lib/ethers.d.ts","../node_modules/ethers/lib/index.d.ts","../src/rln_contract.ts","../src/root_tracker.ts","../src/index.ts","../src/witness_calculator.js","../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"ea0a30e70b372a2ab9e9d1f6fa2b5850be0cadc47cb5fa8fa45a9df4b88831f7","signature":"49dc7187ccbcf7bc5b5f95b7d10765053bb2f4cf4f344ce48ce85b79db7cb596"},"65da6f0b8f50b27e05ebf35c88a8757eb4308751cdf2b1064a0e310a2a485895","2e3dc1d28f2467b2af0c931a3b0d2c595746a2f21818fc3c7b5d050996ace788","237be372eeb9a7ce07c6b2a21358f22772cde924614d67de175a4ac0ba3eb486","862eacc247d6c92524d7879feac6da363f55428cc78270bce7b14f2d3d0b0cef","f55f3ab9485b5fd1a3ba3a5a53e680cb8d3acc3552816a5d58a1fa26324262d0","ee93f3313289b31afd1544da65086607942df227eb61aedf488b7c072aa1128f","5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","42b5333564fef3c9becbe8daf55b1ea124514cd86c2f8bed401d2a3f0037b3b1","109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","edb50eace77052203c3bc6eb251fe31f44ab0107e2b6d949ec983a918726aaf4","a5419b108da7e4c0241d74ab53bf2041c62e77815965d24605c2407415f11c5d","4a5612eb59f581a5b8e05d22e668b4199787751266a0291e3e07113fc52abf2a","ea86fe238f679714f2b3662d9d932bc3b47a0500894985718243167043f2bda8","866f0c4f16380a56653adc6cbeac08c58c626dabb431f0fa6cc2ba07874836d8","e8c5b68c1182684e8cfc177430b80fef003976d1dbde326087c28f5125fe4b5d","a807c0a82557d68f6f0464d6af0a6566d1ef708f57c7d1d7dd8dde28879635bc","a2023e18c62b1109f17241fb1f90a84e75fffcb3ee9265d2e9bc0fa40b6ede42","6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","3ccf65e2230413ab1facbad92a2fb77b8e2bcd314618d0ebc12f6cb7aaa21619","4c5e54a2d502770a63859a00fbf77e8b91ce76b18080278f62866e7cdb582798","71dfda7df8d05d2d54627963af1c3c675ef99363d421b7ff42ae237d038db4ce","5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","1b03f8d19b753269d85e2e50ec2a2866bf349fb4f6e72aef6559e94c64511dee","109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","6377354dd753557d479933e0bec6ca6836f839c87394ecb071e85f062b708058","16c594cd8a44be9f5398d3fc7dbc9575f0b67d91a6553f35bd3576136862b32b","0fc1e0effc8ea83ceca9a1ff36c2696489fefea040d33fc5cbe244111333fcd4","0dd67171a4a3fa82044faec51befa11ab96f9205fd8cc96be09de275b65d36ab","42570779c28480ae0d1fa0695974a888305ee2b2efd37bacdeb57204dec843db","20e85d1b2ce7381a938a25a725a90f8610e68862c5a661acfeffaacd6513d392","667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","76513b0c51c81a929f4f90694edf4dcc85f71bb46121b4192b5530e0601f9d81","a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","0820608ae5bf3995d77eedf0fa7f987c0d5c7c9592fdc0bcb391fb742d5067a0","14b8a1dd226271e6b045d91262602b15820ff871b3dab24510a15e6989d05a5d","2596013e7e3f002455e29bad0a70e0ae1a1364cac8584d2590b73133e63d6073","274b714a925cc417f249f430b9c5c3ec80986044d8322d41e40fd39a7d154fa8","70cbb43b1e838bb77b16e1085115494c8b6925a954edf7fbdd494ad56a88adb8","ad716342f559ff88871c01a351dbf89fe72c8313f329cd2a714f09f532c50eab","6adc54eb855f3fda2603173a431be81830172099df37ddda11b6730c1c8d9147","8ad13afb5324460426b210f7c5040d3d19375accd24e22bb52a534c728aca73e","e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","b27c2a28daf3e502ae6b631cbf51881247fffd3e0163520bc5904604f9e48096","87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","8747571dae434deca4847b49e09b5421d7068b0956a1df841756812645d4e1ed","474ab86e676e0c1b664bfcd21b1e58bed351f3390ba1d892e8da703f371b7a4e","fb7a601066e19b5d0c173b564bd46b358cf00c9040e79fb6fd427b7aa223eed1","4a8ce4a308482d69bd9032ee59f895a9d91e28ac5324665b31ea3a374b45e686","8b097e48fdeabcee00e2aacd4d009dff135c2cd51675a272d74ec25dd853dfee","28235440c6b330eb66df3a7badfc11e32cf7e08fbdb17b518a6b775fb269170f","247a5bebf668df6d3bb7e0b297ed5a6b6913d9343dcfea5bf77ce4662ab102bf","531556008024c69163c0d120823a69e7a6a5be1279ea87fc725a63dc386278b7","df99b5b6041e9e37b46c876cd487020e4bc9e02a519fa4a735cbe18f5c4f2f38","272cd5e6428b68d973ce707329c3f621ac6b3eb4bf5bd4421b1106299600ddde","2202644315d85ab8985d4f72fe136c00e53db91ac06a0646eff7980e55bdacb3","cd5ab2f30a27d53001804b7ef51758a79b73e4ccb7716b8e2ab8e17d69a7183b","9080b537cd4fa24273477f33faf5f983e5f10aa386c2de8fcb6de837c9cc9763","d34a8917095f11006957bed03e1e60dacc0b82906f5d0ddc87b959e283fbb5cc","bffe8a5db9410d2f3320df7016f83e9de47328e377aa78b9aaed1fe6d5db9d66","a9dc4418352bc4a8d1e9314aba1e29327b17d06c604b397c6140d6488c5b022a","6adcf362e079c177ea4730c8b7beb3e9848b3f970ef08b497a641e034b0a0ece","114ef8adba09ab579b6bd6d16b2c83ddea02c1f5ff598f3144f2c3853ef3eb7d","1217c84b164e559b2371aea1b8c11eea9f95e123dab98942c8a5a4aacc2ad252","28092d5b5aea82adc509a3d522d265d9d5a8a0ddf92f94c8fb336c5787893030","995a3938e28f1a7e359847f83b43951c05727b6ca42398982778adc8b9a58609","77411d10dad0e74a86ce28dd0f720cce2947421e42f3fb5d1849bc14520f9b5b","667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","a380f922477db0b9b4a17cde7d29585e2280036fd62ac4564814d4844b64717a","a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","1a57e52e42a8ff2121d47cba8133c73b4e10ede7252881dc131cf514b28f884e","cfb5cd87dcce3ac2d6e4e575ae732791e1d77e047c0018bfc5f9e4d1ba355719","a979d3d312f1d879a5c77493697380b6caae9333e2fe0f51bb0fb0473dc211ba","aaf4673898dca18c059997aae0e8ae725215c8ee0998e9d4a6fd173384276748","b90473059128d1a4c028852a710058a3a8944835188672f5846deba05a1e778e","216601fa3da32170d99a6cbdea143a00dfd5a7bfddcf231126493c0ab992daf4","06245aedbc73b4f39fabd67ab13f451e009489bd66dac614184c8f97034f8016","b3bff8270798e03d00349137271e3f11074ec5281a393289dd8f33f37627828b","3b65ca51bc8915ae230bb40cb6a9662bcdcde83c402f57d7f8b8c803d497d0af","28393110732dca5855c0fd444777dc978d010ecba3204c4c48cfa26ee612bc13","01fd310805f9c29fc38a6580e32f75291d5dd3918e7acdfc7d50548ba0c4bf9b","f569da0d6f4c6fb153811dd6b7d34afb4511c7d85f5089e30a1db78004975ec1","537b1070107a0454a2fe365a633555700fff55a4b3e15d55520633b93dbf96d1","6b616e00e177a11c8054c70c821ca2d0c976403d11ad466385dddc89245e7ade","8dac050016c78a797699221c95d569c47ea4176e403b47f9f5a2e95afe26cdd6","d8a63ecc9188f8ef5fce8c82ea2c691acce9a152b8bd07d75a6531c7d4c07df9","4967ab74e79f8d087627020dd95dd6f803b79a14410acb11b4c8a33db61bdcf3","41326ccdc0707b973e3a285711e4d4ff37b999745d1539e346800a8f1db8e702","c9ca50a4faff709bceadf9a51c7e4743d5dff717459a044e3b24193f3988b658","b70c5f86a62c2c46fa4913b0b5e26842082247f74b97f31b3e87acef5a72a11e","5c144546fc0ca913086f55d3be0193579fdb477490ac15ba823b23fd9a9510a8","c4b62e88d338895f62ea1c2eecff4dae3ea7d6c5aa08436f89960bebade12be9","0c5bc6a0a6664bfcb6d53bec072fe1b83e129ea965143e826b7e3f40b0c8fa96","2e1d641e085f3fad3bfaa36a3aa917703f314cd3e52057538554c8f5a1362872","94fc6dd8f95aaf163e5cde84558bf45867fccacfb2632c6e85265efda6dbc0a4","b6d189963f04bd06137fe46fb8db1dca958aa65a15cc3aa210a3b2f9a2641c2a","1558c642e03689d42843e7b047b9c20e77ee09ab388ff854484db5dcfbed11da","925a8770415572378b7b62dcd714e744b7ffed86de59bdbe1d25c68d9d1f7f51","95a29532177f932fec5fc4e51577eaae6bd037fd21188fb3060a3e5c9fbc806a","53fd58c3edf98bdecd9f4fccab88f8f34b5c7ea3d7411b7c2aeea77419048789","831f1ad45e156fa12bf736f4895329cb6e785f1c940fc58043718409d9845a43","32ffd3e74601a33cbf6a7596e00338eba67cf598faed2903be4281ba7ec076b5","a74df8c2d7267abcce2128511b4260a68eb1a377db38a95ec7e9a58aa98beb02","bc78b25c3aaf139ca527952875c53bff67360e6b5812b82a8fa89fdefb720879","460f30d6ea494bbf076853e1588d30ec4651efcc26cbfcd2c91362f7efc87e89","b96a5c8de20ea0ec0bd266593fdafce71126c8d9f02cb292ed106dccc1bc45b5","ef3379e7046ae854d3eb44f54e4f262375515df90eef4d43ffcd031aa4b845a2","58e4a27ed43582c3d5322a2460f8016562b709454498c39b1bff15aab648125b","4a79e2c6d0d94fcb0f8eff4a518c2b75da5ccf9b9cc67ee80cf2e33e9e0c8aff","ce218e7127b5c109cc128316dcafb71146b483c3476cb6e30c4a84e38a4ea7e7","989a1bfc460b911efd1e8869871d820b7a75993c8fb39ab71a4d548f1bacf4a8","60ca66c2e560e891c4bbac8a6664edeb14a2757c1269bc4a5be91859fe70b14e","4554975154067a41dbf852d4d68c887940ad9ff463a9e8415c37c6cf8dc9b10c","932cade1c5802123b5831f332ad8a6297f0f7d14d0ee04f5a774408f393e2200","1165dc3daad62e737ee6c7016470a4a9a4c751be9f47da494a718a0b428bfe49","0f4aec11b2cbb95ea43fd2552236c03a0f3bbfd0747ea4a8f0a882b1b08998a8","eb6527640f6cd73d8b1350ed74cf374d5d08a951f78bebbf8f1f0786ad914e41","9baaecd1ece45f7966156fcb69f9d366aed3d1e8e604e58042970de681228929","15a6ebf6dc00e8474f7ee0e2c6321b7ad328b4b59d03ee7b103c94a71bbd3a7e","3e836ec68dd734248c913405f458ed2c66565c4fa4647aa1d0cb8fe5f35e2d66","ab70aae36275f7a79bb69987ca4663a6c2637f857ae9ad6a09e559495e497d1c","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","f98f7fd5c208374f072a67a46306ab9b3f914554b4ebb673fb805e13a4119b6c",{"version":"e9318530496429d8c5f5a39ce1f0eaf39ecf0a779a0e2f0f54ab37cd1ec057b6","signature":"b5b1f8f8b94f35a0a1b59e923899562482f6c99b912a0c2fa9424410fdd6f910"},"4a8ba0a75f66d19e6de5e1af20301769e3c2922b9ed766849e4134d32090854b",{"version":"4e5dd895ed64dedb1a4a959ae8236a5f7fb803267a2986498d946b68a5dbde16","signature":"8e87acd8260ebbda136579bdf35e3535475864e40a3fd7ed09f45bd731fa6c3a"},"23c811b86e2e70be10ba78aba44942fb7dea4d7ca01cfbc14524508c5efbdc27",{"version":"f8cafe31eeae65ec832fd191aefa7c746dad2d1e40bb0590c0f6f9c04274e54c","signature":"1005bd68c0e2012ed116b83235ecef9a8c05d56f905f31fa091dff6819df2879"},{"version":"626e8029cba1cead0a3ab5042e073a9cf1df217c8e9c64b6fffa1fa26cdd6310","signature":"580cf9e214e8a8e25f42df3985ea35ffc05790e237da06f2a809092f0074cc42"},{"version":"cc704dd72d42219ff6f6dd38c0585364940763337412b253c9a84bd9440e4226","signature":"7ce814a75931a044a619f099254e6dd5df1f1f96ce1442a24c135e5c68696f58"},{"version":"2abd0fb3a9d023b4938afc416233296ecc6688d73cce2d4ef75562e9c2e2e3d3","signature":"4a5897d09f064b7b589fcacfbe33705af94b866a46d7e6a36ad54c9dc05e40b4"},"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","a0c8e17f4d1ea2704c62d7349bc3b8d9a12e3761b5960cb44144d3f0333b3fcb","3471c0df3d0391e1dffe6e8bf150294531b2b71a2afa5f2b86e52bf84a5db60a","5d4df4de055eddf3187094f938a640f8d96e4c551a47d6686596fdb6ba4c3014","8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","a1059d1bbc8ad46bfe668b8450e7e8002887c4ab987bdb96d6108d8023f8bb8f","5134885e9648e2c6745f8aa1c3e7f5ab3b3617258b3d81ca02de6655ede3d74e","4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","c914014ab7c7001178663f29d31a495398234a41219af61f26d7e8e91b46af96","b135893253d5e507232d1d0b8639dbc00c2bac453fc0420a9af738f1792f8b29","267eb41d7d34151d8b5fdf8b73ddefe0684d7921f4b7db14101f600ea3e8ed02","eb848e4da1fa7568c893e0a0e1f221572c56768dedfe21d2f7741d383c381552","bd6b7d9ff1992fbde49e974f6bf4e8c35922042fc0b6f5326e61fa17a912ffe6","ac443b1f93babbfadff3aef4490044012ff461ba1cf1c7d90ac45f5a26863358","42e4cdd55aa23586b9aff929e2c216150276a37d30c2cf7c0f32ba917722b5e0","4a1ed19ead46b1dd5a319d533fb92162b4ef052ab1c690889cb2eaee293441a1","d0d5b967e5c36354b2f13b4bfb78aae4c1685efa9df3fd946d2e576d370e9302","8076164b388640f7856b25e945a2ded7738e0f8674ac50c256734067b0f0b1b9","36819a1e04a8dbed754a5b3ba2fd5aca2eafb95977eaad6356d77df596c732f4","5fe9c19f085365b73956e27becc5167ad25c5fb024bed4728884966a0faab3f3","d67961ebada9a5e5c393d9c46a4155877a9f7a48b02a0afc6bbe4e87061e46f5","d5e88cd4816669da170c646844042bc83f4523275f85060cf3e2b5b3bf902ee0","137ee20e77a23986e9a1fdf6397b555e6d3073bdcca15927c40671d1ac564aac","a28b00d18def7993bc502f19be6abdb89db2548fe946a51f0771b8ed26a6786c","0fc6ddce4aabc8d84a6aa6644e1012a1474ba844ed6bddc7bea7115583e8a72e","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true},"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","f02da9dd36d7a9aa33c9b2e37ef1f54b0d9ad6a713bae372ae4b72890e40c168","3a5652c44d7b3ee47b1d294b1893b30253d8fb6a1ecaafaf5fdef5fdc118f54c","4fba134e9015779329678ff1fd1afc32bbbf391b1f419f7622a3ecde7bbfc355","af75984f58aa9205be02b0a2248d05f6105a8d4bf8be0baca294b5ceaa10e33e","45a910666b455daf042c0a0cfa610c20ea59a0aaf702f93d3b467a05f9a27e20","5580ff53b5f6f1ecdb68ecb61327e63112f97660912c15444c1f8a08f69c19dc","84fb7c52fc116ddcbd1b34535e387053f2a0134d11c5e39b193f4c1328fb1fb5","fd3cd8bf3c90ef4694195a617a5daaac561d8be52ba33c607f170c11f3c50154","6852fc2f309e330e38694bad95bde670c384d1498bf4fbe3a751761b43279934","9f963b28320dd50221cd23f23059bc23cc7799c7025b44942da68974f90c2e6c","c17329bcf495af58e3010f8e61af51709aaa24a6664d8557a7d01a82b5397c59","4eebb617b12f21864e6641d0a9eefaca77a9ccf93f00bb7d50b26d8073866e53","ca0b43e2565d78809383e9a025b0638a5e65bcde4a2b68ff2c6fa5013642db46","1d0a0e5c6471d81467c3fecfa4db4e93ee87d364b776feb83b18d773ad9496d5","ef6eddcbf08e7ae71cd9ba8da47e9a3cfc7db36650af48f1b440a5ed50eeee7a","e14ee3cb4b764895f2ff2fed229df10b59df8a761c79d8e91d868793322b8896","7e36003872035a49bc3a5f21351c37d0e418f60d994ecc470a9463b33b4a7c12","b862345e219e6a4d829f7b7cf6d2d6e91e6fa00c29a7c6c86a3f68c77c25de39","5b919d9204446816876000e03f033458527bde5e3637783b2bc2e7e9ef7ce897","213984ba990f03127a98c3f022d5ca0f0d42df64d4dca199f7319448ce6f3021","020ab2020569964d12e40c68ceae39f40f6c0bee9d502a180f039fcb59c2e34d","aa50dc8a102c76282915e78944293a777866efe6d220a28884ac4a42d7f4c4e2","2b88f02598c9de626b35fbe3ffb1ef33ad9fd175e36e06ba27dc79e444796f6c","b728dc56eb9b0d27b4044e076c155f3cd3a121a4a9939afe829cfc0d680d423b","324b7298f76ce938cd28d2698a0767ca3c740bc843fd9104e171be8eca839555","76aa33edb0042dd572d64e4bda231374390d250d29eeab7e7f27010e8f826006","03b6d387edf18a9ee8126e705edff759f65d9c602e11b649e13a5261fe6951a4",{"version":"0b18625b9aa5167e76853ed4d0234a5c5f73e81d61f86affcdd55e4144441be1","signature":"261a95e04cca3edaae0cd95c142817f23d1537ed4f5ffa8dbe1666a62ec4b919"},{"version":"bd417d58253e07264fbeacda216296af3274af2a2fcd335829598d3b04166e09","signature":"a2e0aca3a13a3a6e787129bb908cfe040bd64a3d546be3ce734ee0344627a62e"},{"version":"6a2eb3138ffaa6705aee761c4d239a7abc6fee4bb3eed5e381b7e27967ae0efe","signature":"acf698975bdc21e67f903d5caf5b6c03d13bca9e70ae81b2b054ebaab68263bb"},{"version":"cb732dfea79ca2a9a5fd4ed240df67d6c47fd5b66fe188c645367efd1762ed24","signature":"39257e47f71a52d198342c47d3a6b35338a3c8618e4335b56530f2cb3b0dc511"},{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true}],"options":{"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[259],[48,54,57,81,82,107,146,148,149,150,157,160,161,162,163,165,259],[148,149,259],[148,164,259],[147,259],[107,148,149,152,259],[151,153,259],[151,152,159,259],[155,259],[149,151,153,154,156,157,158,259],[149,259],[55,61,259],[149,157,259],[48,51,107,129,148,259],[183,187,188,259],[183,186,259],[186,259],[187,189,191,259],[183,186,187,188,189,190,259],[183,186,190,194,195,196,259],[183,186,190,197,259],[183,259],[259,285],[183,184,259],[184,185,259],[211,212,213,214,259],[183,186,192,195,197,198,259],[259,288,289,290,291],[198,259],[183,198,203,259],[183,190,198,259],[183,198,206,207,208,259],[183,190,198,204,259],[193,259],[194,196,259,267,270,271],[194,196,259,271],[186,190,194,195,197,259,266,267],[194,259,271],[194,197,259,268],[186,195,197,259],[194,197,259,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282],[194,259,269],[259,266,269],[183,190,194,195,196,197,198,259,268],[194,196,259,267,269],[194,259,268,269],[259,298,299],[259,294,295],[183,259,294],[259,302,303,304],[183,197,198,203,204,205,209,259],[201,202,259],[200,259],[201,259],[122,259],[93,259],[124,259],[121,123,125,126,127,128,129,259],[55,120,259],[51,54,259],[48,59,259],[48,51,54,58,61,259],[48,51,55,58,59,60,259],[47,52,58,259],[47,48,52,58,84,259],[44,48,259],[48,51,52,54,57,58,61,69,70,81,85,102,105,107,111,259],[61,259],[52,54,259],[43,47,259],[48,51,259],[48,52,58,259],[48,51,52,54,56,259],[48,54,55,61,106,259],[48,55,259],[48,61,259],[58,59,61,259],[51,54,58,59,61,62,259],[51,259],[49,50,259],[172,259],[216,259],[219,259],[220,225,259],[221,231,232,239,248,258,259],[221,222,231,239,259],[223,259],[224,225,232,240,259],[225,248,255,259],[226,228,231,239,259],[227,259],[228,229,259],[230,231,259],[231,259],[231,232,233,248,258,259],[231,232,233,248,259],[259,263],[234,239,248,258,259],[231,232,234,235,239,248,255,258,259],[234,236,248,255,258,259],[216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265],[231,237,259],[238,258,259],[228,231,239,248,259],[240,259],[241,259],[219,242,259],[243,257,259,263],[244,259],[245,259],[231,246,259],[246,247,259,261],[231,248,249,250,259],[248,250,259],[248,249,259],[251,259],[252,259],[231,253,254,259],[253,254,259],[225,239,248,255,259],[256,259],[239,257,259],[220,234,245,258,259],[225,259],[248,259,260],[259,261],[259,262],[220,225,231,233,242,248,258,259,261,263],[248,259,264],[48,51,52,259],[140,141,259],[53,139,140,141,142,143,144,145,167,168,169,170,259],[140,143,259],[48,53,57,82,140,259],[48,57,138,139,259],[139,140,259],[141,143,149,166,259],[48,51,61,112,140,142,144,167,168,259],[183,186,195,198,199,200,203,210,215,259,283,307,308],[259,309],[183,190,192,195,196,200,204,205,209,210,259,284,286,287,292,293,296,297,300,301,305,306],[48,54,63,65,71,259],[48,57,63,69,81,82,102,259],[48,57,63,68,69,70,71,81,82,85,101,102,105,107,259],[48,54,57,58,63,65,68,69,70,82,136,259],[54,259],[48,58,68,69,81,82,259],[48,57,58,65,68,69,71,80,81,82,259],[55,79,259],[48,52,57,58,62,63,68,70,72,83,84,85,101,102,103,104,105,107,108,109,110,112,131,133,134,135,137,259],[131,259],[48,69,101,113,130,259],[48,63,69,71,132,259],[48,52,57,58,69,105,259],[48,58,69,81,82,259],[54,58,63,65,68,69,70,71,259],[48,51,55,58,59,67,259],[64,259],[65,259],[86,100,259],[99,259],[79,259],[73,259],[73,79,259],[55,73,259],[73,74,75,76,77,78,259],[44,259],[93,94,95,96,259],[46,47,259],[46,259],[45,259],[87,259],[43,259],[43,89,259],[47,88,89,90,91,92,259],[43,44,45,46,87,259],[43,44,45,259],[120,259],[114,259],[114,120,259],[55,114,259],[114,115,116,117,118,119,259],[98,259],[93,97,259],[171,173,179,180,259],[173,259],[179,181,182,259,311,312],[171,174,175,179,259],[42,171,175,176,177,178,259],[179,182,259,310],[171,179,180],[179,181,182,311,312],[171,179],[171,178],[179,310]],"referencedMap":[[132,1],[162,1],[166,2],[150,3],[165,4],[148,5],[157,6],[154,7],[160,8],[156,9],[151,1],[152,1],[159,10],[153,11],[163,12],[161,13],[149,14],[158,1],[189,15],[188,16],[187,17],[192,18],[191,19],[197,20],[198,21],[284,16],[285,22],[286,23],[287,22],[184,22],[185,24],[186,25],[183,1],[211,1],[212,17],[213,1],[215,26],[214,1],[199,27],[288,1],[292,28],[290,22],[289,1],[291,29],[204,30],[206,31],[209,32],[207,1],[208,33],[293,22],[200,1],[194,34],[193,1],[190,1],[272,35],[273,36],[268,37],[274,38],[275,39],[276,39],[267,40],[283,41],[278,35],[277,42],[279,43],[269,44],[280,38],[281,36],[271,45],[282,42],[270,46],[300,47],[298,1],[299,1],[301,22],[296,48],[295,49],[294,1],[205,22],[297,1],[302,22],[303,1],[305,50],[304,22],[195,16],[306,17],[210,51],[196,1],[203,52],[201,53],[202,54],[124,55],[127,56],[125,57],[130,58],[122,1],[123,55],[121,59],[126,56],[128,56],[71,60],[104,61],[82,62],[61,63],[60,1],[102,64],[85,65],[111,66],[129,1],[112,67],[70,68],[84,69],[48,70],[52,71],[105,72],[57,73],[107,74],[56,75],[81,76],[62,77],[63,78],[54,1],[58,1],[69,1],[146,1],[50,79],[51,80],[49,79],[173,81],[315,1],[172,1],[216,82],[217,82],[219,83],[220,84],[221,85],[222,86],[223,87],[224,88],[225,89],[226,90],[227,91],[228,92],[229,92],[230,93],[231,94],[232,95],[233,96],[218,97],[265,1],[234,98],[235,99],[236,100],[266,101],[237,102],[238,103],[239,104],[240,105],[241,106],[242,107],[243,108],[244,109],[245,110],[246,111],[247,112],[248,113],[250,114],[249,115],[251,116],[252,117],[253,118],[254,119],[255,120],[256,121],[257,122],[258,123],[259,124],[260,125],[261,126],[262,127],[263,128],[264,129],[170,1],[53,130],[142,131],[171,132],[144,133],[139,1],[145,134],[140,135],[141,136],[167,137],[143,136],[168,136],[169,138],[174,1],[176,1],[155,1],[308,1],[309,139],[310,140],[307,141],[106,1],[59,1],[134,142],[103,143],[110,144],[137,145],[136,146],[109,147],[83,148],[80,149],[138,150],[113,151],[131,152],[133,153],[135,154],[108,155],[72,156],[68,157],[67,1],[66,80],[65,158],[64,159],[101,160],[100,161],[86,1],[73,162],[76,163],[77,164],[74,165],[75,163],[79,166],[78,162],[96,167],[44,1],[97,168],[45,169],[92,1],[47,170],[87,171],[95,172],[94,172],[89,173],[90,174],[43,1],[93,175],[88,176],[46,177],[91,1],[147,1],[164,5],[114,178],[117,179],[118,180],[115,181],[116,179],[120,182],[119,178],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[99,183],[98,184],[42,1],[181,185],[182,1],[175,186],[313,187],[180,188],[177,1],[179,189],[311,190],[312,1],[178,1],[314,1]],"exportedModulesMap":[[132,1],[162,1],[166,2],[150,3],[165,4],[148,5],[157,6],[154,7],[160,8],[156,9],[151,1],[152,1],[159,10],[153,11],[163,12],[161,13],[149,14],[158,1],[189,15],[188,16],[187,17],[192,18],[191,19],[197,20],[198,21],[284,16],[285,22],[286,23],[287,22],[184,22],[185,24],[186,25],[183,1],[211,1],[212,17],[213,1],[215,26],[214,1],[199,27],[288,1],[292,28],[290,22],[289,1],[291,29],[204,30],[206,31],[209,32],[207,1],[208,33],[293,22],[200,1],[194,34],[193,1],[190,1],[272,35],[273,36],[268,37],[274,38],[275,39],[276,39],[267,40],[283,41],[278,35],[277,42],[279,43],[269,44],[280,38],[281,36],[271,45],[282,42],[270,46],[300,47],[298,1],[299,1],[301,22],[296,48],[295,49],[294,1],[205,22],[297,1],[302,22],[303,1],[305,50],[304,22],[195,16],[306,17],[210,51],[196,1],[203,52],[201,53],[202,54],[124,55],[127,56],[125,57],[130,58],[122,1],[123,55],[121,59],[126,56],[128,56],[71,60],[104,61],[82,62],[61,63],[60,1],[102,64],[85,65],[111,66],[129,1],[112,67],[70,68],[84,69],[48,70],[52,71],[105,72],[57,73],[107,74],[56,75],[81,76],[62,77],[63,78],[54,1],[58,1],[69,1],[146,1],[50,79],[51,80],[49,79],[173,81],[315,1],[172,1],[216,82],[217,82],[219,83],[220,84],[221,85],[222,86],[223,87],[224,88],[225,89],[226,90],[227,91],[228,92],[229,92],[230,93],[231,94],[232,95],[233,96],[218,97],[265,1],[234,98],[235,99],[236,100],[266,101],[237,102],[238,103],[239,104],[240,105],[241,106],[242,107],[243,108],[244,109],[245,110],[246,111],[247,112],[248,113],[250,114],[249,115],[251,116],[252,117],[253,118],[254,119],[255,120],[256,121],[257,122],[258,123],[259,124],[260,125],[261,126],[262,127],[263,128],[264,129],[170,1],[53,130],[142,131],[171,132],[144,133],[139,1],[145,134],[140,135],[141,136],[167,137],[143,136],[168,136],[169,138],[174,1],[176,1],[155,1],[308,1],[309,139],[310,140],[307,141],[106,1],[59,1],[134,142],[103,143],[110,144],[137,145],[136,146],[109,147],[83,148],[80,149],[138,150],[113,151],[131,152],[133,153],[135,154],[108,155],[72,156],[68,157],[67,1],[66,80],[65,158],[64,159],[101,160],[100,161],[86,1],[73,162],[76,163],[77,164],[74,165],[75,163],[79,166],[78,162],[96,167],[44,1],[97,168],[45,169],[92,1],[47,170],[87,171],[95,172],[94,172],[89,173],[90,174],[43,1],[93,175],[88,176],[46,177],[91,1],[147,1],[164,5],[114,178],[117,179],[118,180],[115,181],[116,179],[120,182],[119,178],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[99,183],[98,184],[181,191],[313,192],[180,193],[179,194],[311,195],[178,1]],"semanticDiagnosticsPerFile":[132,162,166,150,165,148,157,154,160,156,151,152,159,153,163,161,149,158,189,188,187,192,191,197,198,284,285,286,287,184,185,186,183,211,212,213,215,214,199,288,292,290,289,291,204,206,209,207,208,293,200,194,193,190,272,273,268,274,275,276,267,283,278,277,279,269,280,281,271,282,270,300,298,299,301,296,295,294,205,297,302,303,305,304,195,306,210,196,203,201,202,124,127,125,130,122,123,121,126,128,71,104,82,61,60,102,85,111,129,112,70,84,48,52,105,57,107,56,81,62,63,54,58,69,146,50,51,49,173,315,172,216,217,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,218,265,234,235,236,266,237,238,239,240,241,242,243,244,245,246,247,248,250,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,170,53,142,171,144,139,145,140,141,167,143,168,169,174,176,155,308,309,310,307,106,59,134,103,110,137,136,109,83,80,138,113,131,133,135,108,72,68,67,66,65,64,101,100,86,73,76,77,74,75,79,78,96,44,97,45,92,47,87,95,94,89,90,43,93,88,46,91,147,164,114,117,118,115,116,120,119,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,55,99,98,42,181,182,175,313,180,177,179,311,312,178,314]},"version":"4.8.2"}
|
1
|
+
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/byte_utils.ts","../node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/@libp2p/interface-peer-id/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-info/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/enr.d.ts","../node_modules/@libp2p/interfaces/dist/src/events.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface-record/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-store/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interface-stream-muxer/dist/src/index.d.ts","../node_modules/@libp2p/interface-transport/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/startable.d.ts","../node_modules/@libp2p/interface-metrics/dist/src/index.d.ts","../node_modules/@libp2p/interface-address-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/transport-manager.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/pb/message.d.ts","../node_modules/@libp2p/interface-registrar/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/index.d.ts","../node_modules/@libp2p/interface-peer-discovery/dist/src/index.d.ts","../node_modules/@libp2p/interface-dht/dist/src/index.d.ts","../node_modules/libp2p/node_modules/interface-store/dist/src/index.d.ts","../node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/multiformats/dist/types/src/codecs/raw.d.ts","../node_modules/multiformats/dist/types/src/codecs/json.d.ts","../node_modules/multiformats/dist/types/src/bases/base.d.ts","../node_modules/multiformats/dist/types/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/interface-content-routing/dist/src/index.d.ts","../node_modules/libp2p/dist/src/circuit/index.d.ts","../node_modules/@libp2p/interface-connection-encrypter/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-routing/dist/src/index.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface-pubsub/dist/src/index.d.ts","../node_modules/libp2p/dist/src/ping/index.d.ts","../node_modules/libp2p/dist/src/fetch/index.d.ts","../node_modules/libp2p/dist/src/components.d.ts","../node_modules/@libp2p/interface-keychain/dist/src/index.d.ts","../node_modules/@libp2p/interface-libp2p/dist/src/index.d.ts","../node_modules/libp2p/dist/src/keychain/cms.d.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/rsa-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.d.ts","../node_modules/@libp2p/interface-keys/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/libp2p/dist/src/keychain/index.d.ts","../node_modules/@achingbrain/nat-port-mapper/dist/src/index.d.ts","../node_modules/libp2p/dist/src/nat-manager.d.ts","../node_modules/libp2p/dist/src/address-manager/index.d.ts","../node_modules/libp2p/dist/src/peer-routing.d.ts","../node_modules/libp2p/dist/src/connection-manager/latency-monitor.d.ts","../node_modules/libp2p/dist/src/connection-manager/index.d.ts","../node_modules/libp2p/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/message.d.ts","../node_modules/@waku/interfaces/dist/protocols.d.ts","../node_modules/@waku/interfaces/dist/misc.d.ts","../node_modules/@waku/interfaces/dist/receiver.d.ts","../node_modules/@waku/interfaces/dist/filter.d.ts","../node_modules/@waku/interfaces/dist/sender.d.ts","../node_modules/@waku/interfaces/dist/light_push.d.ts","../node_modules/@waku/interfaces/dist/peer_exchange.d.ts","../node_modules/@waku/interfaces/dist/relay.d.ts","../node_modules/@waku/interfaces/dist/store.d.ts","../node_modules/@waku/interfaces/dist/waku.d.ts","../node_modules/@waku/interfaces/dist/connection_manager.d.ts","../node_modules/@waku/interfaces/dist/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@waku/utils/dist/bytes/index.d.ts","../src/epoch.ts","../node_modules/@waku/zerokit-rln-wasm/rln_wasm.d.ts","../src/resources/verification_key.js","../src/witness_calculator.d.ts","../src/rln.ts","../src/message.ts","../src/codec.ts","../src/constants.ts","../node_modules/@ethersproject/bytes/lib/index.d.ts","../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../node_modules/@ethersproject/bignumber/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/fragments.d.ts","../node_modules/@ethersproject/abi/lib/coders/abstract-coder.d.ts","../node_modules/@ethersproject/abi/lib/abi-coder.d.ts","../node_modules/@ethersproject/properties/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/interface.d.ts","../node_modules/@ethersproject/abi/lib/index.d.ts","../node_modules/@ethersproject/networks/lib/types.d.ts","../node_modules/@ethersproject/networks/lib/index.d.ts","../node_modules/@ethersproject/transactions/lib/index.d.ts","../node_modules/@ethersproject/web/lib/index.d.ts","../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../node_modules/@ethersproject/contracts/lib/index.d.ts","../node_modules/@ethersproject/logger/lib/index.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlist.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlists.d.ts","../node_modules/@ethersproject/wordlists/lib/index.d.ts","../node_modules/@ethersproject/hdnode/lib/index.d.ts","../node_modules/@ethersproject/signing-key/lib/index.d.ts","../node_modules/@ethersproject/json-wallets/lib/crowdsale.d.ts","../node_modules/@ethersproject/json-wallets/lib/inspect.d.ts","../node_modules/@ethersproject/json-wallets/lib/keystore.d.ts","../node_modules/@ethersproject/json-wallets/lib/index.d.ts","../node_modules/@ethersproject/wallet/lib/index.d.ts","../node_modules/@ethersproject/constants/lib/addresses.d.ts","../node_modules/@ethersproject/constants/lib/bignumbers.d.ts","../node_modules/@ethersproject/constants/lib/hashes.d.ts","../node_modules/@ethersproject/constants/lib/strings.d.ts","../node_modules/@ethersproject/constants/lib/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@ethersproject/providers/lib/formatter.d.ts","../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../node_modules/@ethersproject/providers/lib/index.d.ts","../node_modules/@ethersproject/address/lib/index.d.ts","../node_modules/@ethersproject/base64/lib/base64.d.ts","../node_modules/@ethersproject/base64/lib/index.d.ts","../node_modules/@ethersproject/basex/lib/index.d.ts","../node_modules/@ethersproject/hash/lib/id.d.ts","../node_modules/@ethersproject/hash/lib/namehash.d.ts","../node_modules/@ethersproject/hash/lib/message.d.ts","../node_modules/@ethersproject/hash/lib/typed-data.d.ts","../node_modules/@ethersproject/hash/lib/index.d.ts","../node_modules/@ethersproject/keccak256/lib/index.d.ts","../node_modules/@ethersproject/sha2/lib/types.d.ts","../node_modules/@ethersproject/sha2/lib/sha2.d.ts","../node_modules/@ethersproject/sha2/lib/index.d.ts","../node_modules/@ethersproject/solidity/lib/index.d.ts","../node_modules/@ethersproject/random/lib/random.d.ts","../node_modules/@ethersproject/random/lib/shuffle.d.ts","../node_modules/@ethersproject/random/lib/index.d.ts","../node_modules/@ethersproject/rlp/lib/index.d.ts","../node_modules/@ethersproject/strings/lib/bytes32.d.ts","../node_modules/@ethersproject/strings/lib/idna.d.ts","../node_modules/@ethersproject/strings/lib/utf8.d.ts","../node_modules/@ethersproject/strings/lib/index.d.ts","../node_modules/@ethersproject/units/lib/index.d.ts","../node_modules/ethers/lib/utils.d.ts","../node_modules/ethers/lib/_version.d.ts","../node_modules/ethers/lib/ethers.d.ts","../node_modules/ethers/lib/index.d.ts","../src/root_tracker.ts","../src/rln_contract.ts","../src/index.ts","../src/witness_calculator.js","../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea0a30e70b372a2ab9e9d1f6fa2b5850be0cadc47cb5fa8fa45a9df4b88831f7","signature":"49dc7187ccbcf7bc5b5f95b7d10765053bb2f4cf4f344ce48ce85b79db7cb596","impliedFormat":99},{"version":"65da6f0b8f50b27e05ebf35c88a8757eb4308751cdf2b1064a0e310a2a485895","impliedFormat":99},{"version":"2e3dc1d28f2467b2af0c931a3b0d2c595746a2f21818fc3c7b5d050996ace788","impliedFormat":99},{"version":"237be372eeb9a7ce07c6b2a21358f22772cde924614d67de175a4ac0ba3eb486","impliedFormat":99},{"version":"862eacc247d6c92524d7879feac6da363f55428cc78270bce7b14f2d3d0b0cef","impliedFormat":99},{"version":"f55f3ab9485b5fd1a3ba3a5a53e680cb8d3acc3552816a5d58a1fa26324262d0","impliedFormat":99},{"version":"ee93f3313289b31afd1544da65086607942df227eb61aedf488b7c072aa1128f","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"42b5333564fef3c9becbe8daf55b1ea124514cd86c2f8bed401d2a3f0037b3b1","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"edb50eace77052203c3bc6eb251fe31f44ab0107e2b6d949ec983a918726aaf4","impliedFormat":99},{"version":"a5419b108da7e4c0241d74ab53bf2041c62e77815965d24605c2407415f11c5d","impliedFormat":99},{"version":"4a5612eb59f581a5b8e05d22e668b4199787751266a0291e3e07113fc52abf2a","impliedFormat":99},{"version":"ea86fe238f679714f2b3662d9d932bc3b47a0500894985718243167043f2bda8","impliedFormat":99},{"version":"866f0c4f16380a56653adc6cbeac08c58c626dabb431f0fa6cc2ba07874836d8","impliedFormat":99},{"version":"e8c5b68c1182684e8cfc177430b80fef003976d1dbde326087c28f5125fe4b5d","impliedFormat":99},{"version":"a807c0a82557d68f6f0464d6af0a6566d1ef708f57c7d1d7dd8dde28879635bc","impliedFormat":99},{"version":"a2023e18c62b1109f17241fb1f90a84e75fffcb3ee9265d2e9bc0fa40b6ede42","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"3ccf65e2230413ab1facbad92a2fb77b8e2bcd314618d0ebc12f6cb7aaa21619","impliedFormat":99},{"version":"4c5e54a2d502770a63859a00fbf77e8b91ce76b18080278f62866e7cdb582798","impliedFormat":99},{"version":"71dfda7df8d05d2d54627963af1c3c675ef99363d421b7ff42ae237d038db4ce","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"1b03f8d19b753269d85e2e50ec2a2866bf349fb4f6e72aef6559e94c64511dee","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"6377354dd753557d479933e0bec6ca6836f839c87394ecb071e85f062b708058","impliedFormat":99},{"version":"16c594cd8a44be9f5398d3fc7dbc9575f0b67d91a6553f35bd3576136862b32b","impliedFormat":99},{"version":"0fc1e0effc8ea83ceca9a1ff36c2696489fefea040d33fc5cbe244111333fcd4","impliedFormat":99},{"version":"0dd67171a4a3fa82044faec51befa11ab96f9205fd8cc96be09de275b65d36ab","impliedFormat":99},{"version":"42570779c28480ae0d1fa0695974a888305ee2b2efd37bacdeb57204dec843db","impliedFormat":99},{"version":"20e85d1b2ce7381a938a25a725a90f8610e68862c5a661acfeffaacd6513d392","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"76513b0c51c81a929f4f90694edf4dcc85f71bb46121b4192b5530e0601f9d81","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"0820608ae5bf3995d77eedf0fa7f987c0d5c7c9592fdc0bcb391fb742d5067a0","impliedFormat":99},{"version":"14b8a1dd226271e6b045d91262602b15820ff871b3dab24510a15e6989d05a5d","impliedFormat":99},{"version":"2596013e7e3f002455e29bad0a70e0ae1a1364cac8584d2590b73133e63d6073","impliedFormat":99},{"version":"274b714a925cc417f249f430b9c5c3ec80986044d8322d41e40fd39a7d154fa8","impliedFormat":99},{"version":"70cbb43b1e838bb77b16e1085115494c8b6925a954edf7fbdd494ad56a88adb8","impliedFormat":99},{"version":"ad716342f559ff88871c01a351dbf89fe72c8313f329cd2a714f09f532c50eab","impliedFormat":99},{"version":"6adc54eb855f3fda2603173a431be81830172099df37ddda11b6730c1c8d9147","impliedFormat":1},{"version":"8ad13afb5324460426b210f7c5040d3d19375accd24e22bb52a534c728aca73e","impliedFormat":99},{"version":"e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","impliedFormat":99},{"version":"635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","impliedFormat":99},{"version":"b27c2a28daf3e502ae6b631cbf51881247fffd3e0163520bc5904604f9e48096","impliedFormat":99},{"version":"87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","impliedFormat":99},{"version":"32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","impliedFormat":99},{"version":"8747571dae434deca4847b49e09b5421d7068b0956a1df841756812645d4e1ed","impliedFormat":99},{"version":"474ab86e676e0c1b664bfcd21b1e58bed351f3390ba1d892e8da703f371b7a4e","impliedFormat":99},{"version":"fb7a601066e19b5d0c173b564bd46b358cf00c9040e79fb6fd427b7aa223eed1","impliedFormat":99},{"version":"4a8ce4a308482d69bd9032ee59f895a9d91e28ac5324665b31ea3a374b45e686","impliedFormat":99},{"version":"8b097e48fdeabcee00e2aacd4d009dff135c2cd51675a272d74ec25dd853dfee","impliedFormat":99},{"version":"28235440c6b330eb66df3a7badfc11e32cf7e08fbdb17b518a6b775fb269170f","impliedFormat":99},{"version":"247a5bebf668df6d3bb7e0b297ed5a6b6913d9343dcfea5bf77ce4662ab102bf","impliedFormat":99},{"version":"531556008024c69163c0d120823a69e7a6a5be1279ea87fc725a63dc386278b7","impliedFormat":99},{"version":"df99b5b6041e9e37b46c876cd487020e4bc9e02a519fa4a735cbe18f5c4f2f38","impliedFormat":99},{"version":"272cd5e6428b68d973ce707329c3f621ac6b3eb4bf5bd4421b1106299600ddde","impliedFormat":99},{"version":"2202644315d85ab8985d4f72fe136c00e53db91ac06a0646eff7980e55bdacb3","impliedFormat":99},{"version":"cd5ab2f30a27d53001804b7ef51758a79b73e4ccb7716b8e2ab8e17d69a7183b","impliedFormat":99},{"version":"9080b537cd4fa24273477f33faf5f983e5f10aa386c2de8fcb6de837c9cc9763","impliedFormat":99},{"version":"d34a8917095f11006957bed03e1e60dacc0b82906f5d0ddc87b959e283fbb5cc","impliedFormat":99},{"version":"bffe8a5db9410d2f3320df7016f83e9de47328e377aa78b9aaed1fe6d5db9d66","impliedFormat":99},{"version":"a9dc4418352bc4a8d1e9314aba1e29327b17d06c604b397c6140d6488c5b022a","impliedFormat":99},{"version":"6adcf362e079c177ea4730c8b7beb3e9848b3f970ef08b497a641e034b0a0ece","impliedFormat":99},{"version":"114ef8adba09ab579b6bd6d16b2c83ddea02c1f5ff598f3144f2c3853ef3eb7d","impliedFormat":99},{"version":"1217c84b164e559b2371aea1b8c11eea9f95e123dab98942c8a5a4aacc2ad252","impliedFormat":99},{"version":"28092d5b5aea82adc509a3d522d265d9d5a8a0ddf92f94c8fb336c5787893030","impliedFormat":99},{"version":"995a3938e28f1a7e359847f83b43951c05727b6ca42398982778adc8b9a58609","impliedFormat":99},{"version":"77411d10dad0e74a86ce28dd0f720cce2947421e42f3fb5d1849bc14520f9b5b","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"a380f922477db0b9b4a17cde7d29585e2280036fd62ac4564814d4844b64717a","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"1a57e52e42a8ff2121d47cba8133c73b4e10ede7252881dc131cf514b28f884e","impliedFormat":99},{"version":"cfb5cd87dcce3ac2d6e4e575ae732791e1d77e047c0018bfc5f9e4d1ba355719","impliedFormat":99},{"version":"a979d3d312f1d879a5c77493697380b6caae9333e2fe0f51bb0fb0473dc211ba","impliedFormat":99},{"version":"aaf4673898dca18c059997aae0e8ae725215c8ee0998e9d4a6fd173384276748","impliedFormat":99},{"version":"b90473059128d1a4c028852a710058a3a8944835188672f5846deba05a1e778e","impliedFormat":99},{"version":"216601fa3da32170d99a6cbdea143a00dfd5a7bfddcf231126493c0ab992daf4","impliedFormat":99},{"version":"06245aedbc73b4f39fabd67ab13f451e009489bd66dac614184c8f97034f8016","impliedFormat":99},{"version":"b3bff8270798e03d00349137271e3f11074ec5281a393289dd8f33f37627828b","impliedFormat":99},{"version":"3b65ca51bc8915ae230bb40cb6a9662bcdcde83c402f57d7f8b8c803d497d0af","impliedFormat":99},{"version":"28393110732dca5855c0fd444777dc978d010ecba3204c4c48cfa26ee612bc13","impliedFormat":99},{"version":"01fd310805f9c29fc38a6580e32f75291d5dd3918e7acdfc7d50548ba0c4bf9b","impliedFormat":99},{"version":"f569da0d6f4c6fb153811dd6b7d34afb4511c7d85f5089e30a1db78004975ec1","impliedFormat":99},{"version":"537b1070107a0454a2fe365a633555700fff55a4b3e15d55520633b93dbf96d1","impliedFormat":99},{"version":"6b616e00e177a11c8054c70c821ca2d0c976403d11ad466385dddc89245e7ade","impliedFormat":99},{"version":"8dac050016c78a797699221c95d569c47ea4176e403b47f9f5a2e95afe26cdd6","impliedFormat":99},{"version":"d8a63ecc9188f8ef5fce8c82ea2c691acce9a152b8bd07d75a6531c7d4c07df9","impliedFormat":99},{"version":"4967ab74e79f8d087627020dd95dd6f803b79a14410acb11b4c8a33db61bdcf3","impliedFormat":99},{"version":"41326ccdc0707b973e3a285711e4d4ff37b999745d1539e346800a8f1db8e702","impliedFormat":99},{"version":"55ceb2bf66892116339189e65e54fb1b22def0d6aec0a64ff0038e69c079b1c7","impliedFormat":99},{"version":"d645480bf6b4bbea9b456d72dc0bf48db82b8218f80134d6d1f0e23123279d13","impliedFormat":99},{"version":"b2f91bd2d0f60e3dca8217d9e405b594c1268f51306bca54b6b6b50d76177a43","impliedFormat":99},{"version":"a6ba587a908313fff2672c8fa74f1f93c3d74861464488c352304f20d4883e27","impliedFormat":99},{"version":"c4b62e88d338895f62ea1c2eecff4dae3ea7d6c5aa08436f89960bebade12be9","impliedFormat":99},{"version":"0c5bc6a0a6664bfcb6d53bec072fe1b83e129ea965143e826b7e3f40b0c8fa96","impliedFormat":99},{"version":"2e1d641e085f3fad3bfaa36a3aa917703f314cd3e52057538554c8f5a1362872","impliedFormat":99},{"version":"94fc6dd8f95aaf163e5cde84558bf45867fccacfb2632c6e85265efda6dbc0a4","impliedFormat":99},{"version":"eb6527640f6cd73d8b1350ed74cf374d5d08a951f78bebbf8f1f0786ad914e41","impliedFormat":99},{"version":"9baaecd1ece45f7966156fcb69f9d366aed3d1e8e604e58042970de681228929","impliedFormat":99},{"version":"15a6ebf6dc00e8474f7ee0e2c6321b7ad328b4b59d03ee7b103c94a71bbd3a7e","impliedFormat":99},{"version":"3e836ec68dd734248c913405f458ed2c66565c4fa4647aa1d0cb8fe5f35e2d66","impliedFormat":99},{"version":"dd4f10fd0eab2df1b95f1da2de90806cdbe5b9c9552596115521d36e2fd9da4f","impliedFormat":99},{"version":"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","impliedFormat":1},{"version":"78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","impliedFormat":1},{"version":"f98f7fd5c208374f072a67a46306ab9b3f914554b4ebb673fb805e13a4119b6c","impliedFormat":99},{"version":"e9318530496429d8c5f5a39ce1f0eaf39ecf0a779a0e2f0f54ab37cd1ec057b6","signature":"b5b1f8f8b94f35a0a1b59e923899562482f6c99b912a0c2fa9424410fdd6f910","impliedFormat":99},{"version":"4a8ba0a75f66d19e6de5e1af20301769e3c2922b9ed766849e4134d32090854b","impliedFormat":1},{"version":"4e5dd895ed64dedb1a4a959ae8236a5f7fb803267a2986498d946b68a5dbde16","signature":"8e87acd8260ebbda136579bdf35e3535475864e40a3fd7ed09f45bd731fa6c3a","impliedFormat":99},{"version":"23c811b86e2e70be10ba78aba44942fb7dea4d7ca01cfbc14524508c5efbdc27","impliedFormat":99},{"version":"7882af096e82373e03ca2440af7403647e679ef57e3f469e33591ddbe3e50c8f","signature":"1005bd68c0e2012ed116b83235ecef9a8c05d56f905f31fa091dff6819df2879","impliedFormat":99},{"version":"5cc8e8f6ab452f986e30bdeeba5ed3fbc37300ac3a233af794f505ba41694955","signature":"adb0928b920e0cad8efd70e2c47e84ebad4bec9134e3caae137df49f65160450","impliedFormat":99},{"version":"cc704dd72d42219ff6f6dd38c0585364940763337412b253c9a84bd9440e4226","signature":"7ce814a75931a044a619f099254e6dd5df1f1f96ce1442a24c135e5c68696f58","impliedFormat":99},{"version":"6b812887bda525fca50cb8b789836117d11393592dade7e0d32dd08d5669e9e1","signature":"0aeaa195975e86ad265ff27f7dc362d15252fb59ddfc8cdb0cf47b8047804651","impliedFormat":99},{"version":"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","impliedFormat":1},{"version":"bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","impliedFormat":1},{"version":"9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","impliedFormat":1},{"version":"66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","impliedFormat":1},{"version":"a0c8e17f4d1ea2704c62d7349bc3b8d9a12e3761b5960cb44144d3f0333b3fcb","impliedFormat":1},{"version":"3471c0df3d0391e1dffe6e8bf150294531b2b71a2afa5f2b86e52bf84a5db60a","impliedFormat":1},{"version":"5d4df4de055eddf3187094f938a640f8d96e4c551a47d6686596fdb6ba4c3014","impliedFormat":1},{"version":"8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","impliedFormat":1},{"version":"a1059d1bbc8ad46bfe668b8450e7e8002887c4ab987bdb96d6108d8023f8bb8f","impliedFormat":1},{"version":"5134885e9648e2c6745f8aa1c3e7f5ab3b3617258b3d81ca02de6655ede3d74e","impliedFormat":1},{"version":"4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","impliedFormat":1},{"version":"d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","impliedFormat":1},{"version":"d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","impliedFormat":1},{"version":"f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","impliedFormat":1},{"version":"175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","impliedFormat":1},{"version":"c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","impliedFormat":1},{"version":"c914014ab7c7001178663f29d31a495398234a41219af61f26d7e8e91b46af96","impliedFormat":1},{"version":"b135893253d5e507232d1d0b8639dbc00c2bac453fc0420a9af738f1792f8b29","impliedFormat":1},{"version":"267eb41d7d34151d8b5fdf8b73ddefe0684d7921f4b7db14101f600ea3e8ed02","impliedFormat":1},{"version":"eb848e4da1fa7568c893e0a0e1f221572c56768dedfe21d2f7741d383c381552","impliedFormat":1},{"version":"bd6b7d9ff1992fbde49e974f6bf4e8c35922042fc0b6f5326e61fa17a912ffe6","impliedFormat":1},{"version":"ac443b1f93babbfadff3aef4490044012ff461ba1cf1c7d90ac45f5a26863358","impliedFormat":1},{"version":"42e4cdd55aa23586b9aff929e2c216150276a37d30c2cf7c0f32ba917722b5e0","impliedFormat":1},{"version":"4a1ed19ead46b1dd5a319d533fb92162b4ef052ab1c690889cb2eaee293441a1","impliedFormat":1},{"version":"d0d5b967e5c36354b2f13b4bfb78aae4c1685efa9df3fd946d2e576d370e9302","impliedFormat":1},{"version":"8076164b388640f7856b25e945a2ded7738e0f8674ac50c256734067b0f0b1b9","impliedFormat":1},{"version":"36819a1e04a8dbed754a5b3ba2fd5aca2eafb95977eaad6356d77df596c732f4","impliedFormat":1},{"version":"5fe9c19f085365b73956e27becc5167ad25c5fb024bed4728884966a0faab3f3","impliedFormat":1},{"version":"d67961ebada9a5e5c393d9c46a4155877a9f7a48b02a0afc6bbe4e87061e46f5","impliedFormat":1},{"version":"d5e88cd4816669da170c646844042bc83f4523275f85060cf3e2b5b3bf902ee0","impliedFormat":1},{"version":"137ee20e77a23986e9a1fdf6397b555e6d3073bdcca15927c40671d1ac564aac","impliedFormat":1},{"version":"a28b00d18def7993bc502f19be6abdb89db2548fe946a51f0771b8ed26a6786c","impliedFormat":1},{"version":"0fc6ddce4aabc8d84a6aa6644e1012a1474ba844ed6bddc7bea7115583e8a72e","impliedFormat":1},{"version":"0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af","impliedFormat":1},{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","impliedFormat":1},{"version":"f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894","impliedFormat":1},{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","impliedFormat":1},{"version":"34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","impliedFormat":1},{"version":"d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","impliedFormat":1},{"version":"f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","impliedFormat":1},{"version":"c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","impliedFormat":1},{"version":"f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79","impliedFormat":1},{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","impliedFormat":1},{"version":"ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","impliedFormat":1},{"version":"10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","impliedFormat":1},{"version":"063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","impliedFormat":1},{"version":"bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","impliedFormat":1},{"version":"7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","impliedFormat":1},{"version":"12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","impliedFormat":1},{"version":"08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","impliedFormat":1},{"version":"08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304","impliedFormat":1},{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","impliedFormat":1},{"version":"002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","impliedFormat":1},{"version":"1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","impliedFormat":1},{"version":"a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","impliedFormat":1},{"version":"00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248","impliedFormat":1},{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","impliedFormat":1},{"version":"f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","impliedFormat":1},{"version":"59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","impliedFormat":1},{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","impliedFormat":1},{"version":"3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","impliedFormat":1},{"version":"a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","impliedFormat":1},{"version":"85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","impliedFormat":1},{"version":"9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","impliedFormat":1},{"version":"f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","impliedFormat":1},{"version":"277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","impliedFormat":1},{"version":"c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","impliedFormat":1},{"version":"3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","impliedFormat":1},{"version":"da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","impliedFormat":1},{"version":"3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","impliedFormat":1},{"version":"cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","impliedFormat":1},{"version":"b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","impliedFormat":1},{"version":"f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","impliedFormat":1},{"version":"1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","impliedFormat":1},{"version":"e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","impliedFormat":1},{"version":"e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","impliedFormat":1},{"version":"942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","impliedFormat":1},{"version":"73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","impliedFormat":1},{"version":"a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","impliedFormat":1},{"version":"258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","impliedFormat":1},{"version":"00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","impliedFormat":1},{"version":"649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","impliedFormat":1},{"version":"f02da9dd36d7a9aa33c9b2e37ef1f54b0d9ad6a713bae372ae4b72890e40c168","impliedFormat":1},{"version":"3a5652c44d7b3ee47b1d294b1893b30253d8fb6a1ecaafaf5fdef5fdc118f54c","impliedFormat":1},{"version":"4fba134e9015779329678ff1fd1afc32bbbf391b1f419f7622a3ecde7bbfc355","impliedFormat":1},{"version":"af75984f58aa9205be02b0a2248d05f6105a8d4bf8be0baca294b5ceaa10e33e","impliedFormat":1},{"version":"45a910666b455daf042c0a0cfa610c20ea59a0aaf702f93d3b467a05f9a27e20","impliedFormat":1},{"version":"5580ff53b5f6f1ecdb68ecb61327e63112f97660912c15444c1f8a08f69c19dc","impliedFormat":1},{"version":"84fb7c52fc116ddcbd1b34535e387053f2a0134d11c5e39b193f4c1328fb1fb5","impliedFormat":1},{"version":"fd3cd8bf3c90ef4694195a617a5daaac561d8be52ba33c607f170c11f3c50154","impliedFormat":1},{"version":"6852fc2f309e330e38694bad95bde670c384d1498bf4fbe3a751761b43279934","impliedFormat":1},{"version":"9f963b28320dd50221cd23f23059bc23cc7799c7025b44942da68974f90c2e6c","impliedFormat":1},{"version":"c17329bcf495af58e3010f8e61af51709aaa24a6664d8557a7d01a82b5397c59","impliedFormat":1},{"version":"4eebb617b12f21864e6641d0a9eefaca77a9ccf93f00bb7d50b26d8073866e53","impliedFormat":1},{"version":"ca0b43e2565d78809383e9a025b0638a5e65bcde4a2b68ff2c6fa5013642db46","impliedFormat":1},{"version":"1d0a0e5c6471d81467c3fecfa4db4e93ee87d364b776feb83b18d773ad9496d5","impliedFormat":1},{"version":"ef6eddcbf08e7ae71cd9ba8da47e9a3cfc7db36650af48f1b440a5ed50eeee7a","impliedFormat":1},{"version":"e14ee3cb4b764895f2ff2fed229df10b59df8a761c79d8e91d868793322b8896","impliedFormat":1},{"version":"7e36003872035a49bc3a5f21351c37d0e418f60d994ecc470a9463b33b4a7c12","impliedFormat":1},{"version":"b862345e219e6a4d829f7b7cf6d2d6e91e6fa00c29a7c6c86a3f68c77c25de39","impliedFormat":1},{"version":"5b919d9204446816876000e03f033458527bde5e3637783b2bc2e7e9ef7ce897","impliedFormat":1},{"version":"213984ba990f03127a98c3f022d5ca0f0d42df64d4dca199f7319448ce6f3021","impliedFormat":1},{"version":"020ab2020569964d12e40c68ceae39f40f6c0bee9d502a180f039fcb59c2e34d","impliedFormat":1},{"version":"aa50dc8a102c76282915e78944293a777866efe6d220a28884ac4a42d7f4c4e2","impliedFormat":1},{"version":"2b88f02598c9de626b35fbe3ffb1ef33ad9fd175e36e06ba27dc79e444796f6c","impliedFormat":1},{"version":"b728dc56eb9b0d27b4044e076c155f3cd3a121a4a9939afe829cfc0d680d423b","impliedFormat":1},{"version":"324b7298f76ce938cd28d2698a0767ca3c740bc843fd9104e171be8eca839555","impliedFormat":1},{"version":"76aa33edb0042dd572d64e4bda231374390d250d29eeab7e7f27010e8f826006","impliedFormat":1},{"version":"03b6d387edf18a9ee8126e705edff759f65d9c602e11b649e13a5261fe6951a4","impliedFormat":1},{"version":"bd417d58253e07264fbeacda216296af3274af2a2fcd335829598d3b04166e09","signature":"a2e0aca3a13a3a6e787129bb908cfe040bd64a3d546be3ce734ee0344627a62e","impliedFormat":99},{"version":"91c8c41a4feaa6a31b29f4eb9205fdfa23160c9d8c1e49ff64e6643742d93eeb","signature":"e5ad3c788895a6d5ac5d3a181550c55b7ebb11e205729b86776f2634a97f2c7c","impliedFormat":99},{"version":"b201b1ffa355044aa1c517c8aae6a69975a71ade02e261df72c178ec72953977","signature":"4d5bc4ec6a775ae28d82adad2eff9b8876479772ba78e98a12ef496ce73ebad9","impliedFormat":99},{"version":"cb732dfea79ca2a9a5fd4ed240df67d6c47fd5b66fe188c645367efd1762ed24","signature":"39257e47f71a52d198342c47d3a6b35338a3c8618e4335b56530f2cb3b0dc511","impliedFormat":99},{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true,"impliedFormat":1}],"options":{"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[239],[163,167,168,239],[163,166,239],[166,239],[167,169,171,239],[163,166,167,168,169,170,239],[163,166,170,174,175,176,239],[163,166,170,177,239],[163,239],[239,265],[163,164,239],[164,165,239],[191,192,193,194,239],[163,166,172,175,177,178,239],[239,268,269,270,271],[178,239],[163,178,183,239],[163,170,178,239],[163,178,186,187,188,239],[163,170,178,184,239],[173,239],[174,176,239,247,250,251],[174,176,239,251],[166,170,174,175,177,239,246,247],[174,239,251],[174,177,239,248],[166,175,177,239],[174,177,239,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262],[174,239,249],[239,246,249],[163,170,174,175,176,177,178,239,248],[174,176,239,247,249],[174,239,248,249],[239,278,279],[239,274,275],[163,239,274],[239,282,283,284],[163,177,178,183,184,185,189,239],[181,182,239],[180,239],[181,239],[122,239],[93,239],[124,239],[121,123,125,126,127,128,129,239],[55,120,239],[51,54,239],[48,59,239],[48,51,54,58,61,239],[48,51,55,58,59,60,239],[47,52,58,239],[47,48,52,58,84,239],[44,48,239],[48,51,52,54,57,58,61,69,70,81,85,102,105,107,111,239],[61,239],[52,54,239],[43,47,239],[48,51,239],[48,52,58,239],[48,51,52,54,56,239],[48,54,55,61,106,239],[48,55,239],[48,61,239],[58,59,61,239],[51,54,58,59,61,62,239],[51,239],[49,50,239],[152,239],[196,239],[199,239],[200,205,239],[201,211,212,219,228,238,239],[201,202,211,219,239],[203,239],[204,205,212,220,239],[205,228,235,239],[206,208,211,219,239],[207,239],[208,209,239],[210,211,239],[211,239],[211,212,213,228,238,239],[211,212,213,228,239],[239,243],[214,219,228,238,239],[211,212,214,215,219,228,235,238,239],[214,216,228,235,238,239],[196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245],[211,217,239],[218,238,239],[208,211,219,228,239],[220,239],[221,239],[199,222,239],[223,237,239,243],[224,239],[225,239],[211,226,239],[226,227,239,241],[211,228,229,230,239],[228,230,239],[228,229,239],[231,239],[232,239],[211,233,234,239],[233,234,239],[205,219,228,235,239],[236,239],[219,237,239],[200,214,225,238,239],[205,239],[228,239,240],[239,241],[239,242],[200,205,211,213,222,228,238,239,241,243],[228,239,244],[48,51,52,239],[140,142,239],[53,139,140,141,142,143,144,145,146,147,148,149,150,239],[140,144,239],[139,239],[48,53,57,82,140,239],[48,57,138,139,239],[139,140,141,239],[142,144,239],[139,140,239],[48,51,61,112,140,143,145,147,148,239],[163,166,175,178,179,180,183,190,195,239,263,287,288],[239,289],[163,170,172,175,176,180,184,185,189,190,239,264,266,267,272,273,276,277,280,281,285,286],[48,54,63,65,71,239],[48,57,63,69,81,82,102,239],[48,57,63,68,69,70,71,81,82,85,101,102,105,107,239],[48,54,57,58,63,65,68,69,70,82,136,239],[54,239],[48,58,68,69,81,82,239],[48,57,58,65,68,69,71,80,81,82,239],[55,79,239],[48,52,57,58,62,63,68,70,72,83,84,85,101,102,103,104,105,107,108,109,110,112,131,133,134,135,137,239],[131,239],[48,101,113,130,239],[48,63,69,71,132,239],[48,52,57,58,69,105,239],[48,58,69,81,82,239],[54,58,63,65,68,69,70,71,239],[48,51,55,58,59,67,239],[64,239],[65,239],[86,100,239],[99,239],[79,239],[73,239],[73,79,239],[55,73,239],[73,74,75,76,77,78,239],[44,239],[93,94,95,96,239],[46,47,239],[46,239],[45,239],[87,239],[43,239],[43,89,239],[47,88,89,90,91,92,239],[43,44,45,46,87,239],[43,44,45,239],[120,239],[114,239],[114,120,239],[55,114,239],[114,115,116,117,118,119,239],[98,239],[93,97,239],[151,153,159,160,239],[153,239],[159,161,162,239,291,292],[151,154,155,159,239],[42,151,155,156,157,158,239],[159,162,239,290,291],[151,159,160],[159,161,162,291,292],[151,159],[151,158],[159,290]],"referencedMap":[[132,1],[169,2],[168,3],[167,4],[172,5],[171,6],[177,7],[178,8],[264,3],[265,9],[266,10],[267,9],[164,9],[165,11],[166,12],[163,1],[191,1],[192,4],[193,1],[195,13],[194,1],[179,14],[268,1],[272,15],[270,9],[269,1],[271,16],[184,17],[186,18],[189,19],[187,1],[188,20],[273,9],[180,1],[174,21],[173,1],[170,1],[252,22],[253,23],[248,24],[254,25],[255,26],[256,26],[247,27],[263,28],[258,22],[257,29],[259,30],[249,31],[260,25],[261,23],[251,32],[262,29],[250,33],[280,34],[278,1],[279,1],[281,9],[276,35],[275,36],[274,1],[185,9],[277,1],[282,9],[283,1],[285,37],[284,9],[175,3],[286,4],[190,38],[176,1],[183,39],[181,40],[182,41],[124,42],[127,43],[125,44],[130,45],[122,1],[123,42],[121,46],[126,43],[128,43],[71,47],[104,48],[82,49],[61,50],[60,1],[102,51],[85,52],[111,53],[129,1],[112,54],[70,55],[84,56],[48,57],[52,58],[105,59],[57,60],[107,61],[56,62],[81,63],[62,64],[63,65],[54,1],[58,1],[69,1],[50,66],[51,67],[49,66],[153,68],[295,1],[152,1],[196,69],[197,69],[199,70],[200,71],[201,72],[202,73],[203,74],[204,75],[205,76],[206,77],[207,78],[208,79],[209,79],[210,80],[211,81],[212,82],[213,83],[198,84],[245,1],[214,85],[215,86],[216,87],[246,88],[217,89],[218,90],[219,91],[220,92],[221,93],[222,94],[223,95],[224,96],[225,97],[226,98],[227,99],[228,100],[230,101],[229,102],[231,103],[232,104],[233,105],[234,106],[235,107],[236,108],[237,109],[238,110],[239,111],[240,112],[241,113],[242,114],[243,115],[244,116],[150,1],[53,117],[143,118],[151,119],[145,120],[139,1],[141,121],[146,122],[140,123],[142,124],[147,125],[144,126],[148,126],[149,127],[154,1],[156,1],[288,1],[289,128],[290,129],[287,130],[106,1],[59,1],[134,131],[103,132],[110,133],[137,134],[136,135],[109,136],[83,137],[80,138],[138,139],[113,140],[131,141],[133,142],[135,143],[108,144],[72,145],[68,146],[67,1],[66,67],[65,147],[64,148],[101,149],[100,150],[86,1],[73,151],[76,152],[77,153],[74,154],[75,152],[79,155],[78,151],[96,156],[44,1],[97,157],[45,158],[92,1],[47,159],[87,160],[95,161],[94,161],[89,162],[90,163],[43,1],[93,164],[88,165],[46,166],[91,1],[114,167],[117,168],[118,169],[115,170],[116,168],[120,171],[119,167],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[99,172],[98,173],[42,1],[161,174],[162,1],[155,175],[293,176],[160,177],[157,1],[159,178],[292,179],[291,1],[158,1],[294,1]],"exportedModulesMap":[[132,1],[169,2],[168,3],[167,4],[172,5],[171,6],[177,7],[178,8],[264,3],[265,9],[266,10],[267,9],[164,9],[165,11],[166,12],[163,1],[191,1],[192,4],[193,1],[195,13],[194,1],[179,14],[268,1],[272,15],[270,9],[269,1],[271,16],[184,17],[186,18],[189,19],[187,1],[188,20],[273,9],[180,1],[174,21],[173,1],[170,1],[252,22],[253,23],[248,24],[254,25],[255,26],[256,26],[247,27],[263,28],[258,22],[257,29],[259,30],[249,31],[260,25],[261,23],[251,32],[262,29],[250,33],[280,34],[278,1],[279,1],[281,9],[276,35],[275,36],[274,1],[185,9],[277,1],[282,9],[283,1],[285,37],[284,9],[175,3],[286,4],[190,38],[176,1],[183,39],[181,40],[182,41],[124,42],[127,43],[125,44],[130,45],[122,1],[123,42],[121,46],[126,43],[128,43],[71,47],[104,48],[82,49],[61,50],[60,1],[102,51],[85,52],[111,53],[129,1],[112,54],[70,55],[84,56],[48,57],[52,58],[105,59],[57,60],[107,61],[56,62],[81,63],[62,64],[63,65],[54,1],[58,1],[69,1],[50,66],[51,67],[49,66],[153,68],[295,1],[152,1],[196,69],[197,69],[199,70],[200,71],[201,72],[202,73],[203,74],[204,75],[205,76],[206,77],[207,78],[208,79],[209,79],[210,80],[211,81],[212,82],[213,83],[198,84],[245,1],[214,85],[215,86],[216,87],[246,88],[217,89],[218,90],[219,91],[220,92],[221,93],[222,94],[223,95],[224,96],[225,97],[226,98],[227,99],[228,100],[230,101],[229,102],[231,103],[232,104],[233,105],[234,106],[235,107],[236,108],[237,109],[238,110],[239,111],[240,112],[241,113],[242,114],[243,115],[244,116],[150,1],[53,117],[143,118],[151,119],[145,120],[139,1],[141,121],[146,122],[140,123],[142,124],[147,125],[144,126],[148,126],[149,127],[154,1],[156,1],[288,1],[289,128],[290,129],[287,130],[106,1],[59,1],[134,131],[103,132],[110,133],[137,134],[136,135],[109,136],[83,137],[80,138],[138,139],[113,140],[131,141],[133,142],[135,143],[108,144],[72,145],[68,146],[67,1],[66,67],[65,147],[64,148],[101,149],[100,150],[86,1],[73,151],[76,152],[77,153],[74,154],[75,152],[79,155],[78,151],[96,156],[44,1],[97,157],[45,158],[92,1],[47,159],[87,160],[95,161],[94,161],[89,162],[90,163],[43,1],[93,164],[88,165],[46,166],[91,1],[114,167],[117,168],[118,169],[115,170],[116,168],[120,171],[119,167],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[99,172],[98,173],[161,180],[293,181],[160,182],[159,183],[292,184],[158,1]],"semanticDiagnosticsPerFile":[132,169,168,167,172,171,177,178,264,265,266,267,164,165,166,163,191,192,193,195,194,179,268,272,270,269,271,184,186,189,187,188,273,180,174,173,170,252,253,248,254,255,256,247,263,258,257,259,249,260,261,251,262,250,280,278,279,281,276,275,274,185,277,282,283,285,284,175,286,190,176,183,181,182,124,127,125,130,122,123,121,126,128,71,104,82,61,60,102,85,111,129,112,70,84,48,52,105,57,107,56,81,62,63,54,58,69,50,51,49,153,295,152,196,197,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,198,245,214,215,216,246,217,218,219,220,221,222,223,224,225,226,227,228,230,229,231,232,233,234,235,236,237,238,239,240,241,242,243,244,150,53,143,151,145,139,141,146,140,142,147,144,148,149,154,156,288,289,290,287,106,59,134,103,110,137,136,109,83,80,138,113,131,133,135,108,72,68,67,66,65,64,101,100,86,73,76,77,74,75,79,78,96,44,97,45,92,47,87,95,94,89,90,43,93,88,46,91,114,117,118,115,116,120,119,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,55,99,98,42,161,162,155,293,160,157,159,292,291,158,294]},"version":"4.8.2"}
|
package/dist/constants.d.ts
CHANGED
package/dist/constants.js
CHANGED
@@ -5,10 +5,10 @@ export const RLN_ABI = [
|
|
5
5
|
"event MemberRegistered(uint256 pubkey, uint256 index)",
|
6
6
|
"event MemberWithdrawn(uint256 pubkey, uint256 index)",
|
7
7
|
];
|
8
|
-
export const
|
9
|
-
chainId:
|
10
|
-
startBlock:
|
11
|
-
address: "
|
8
|
+
export const SEPOLIA_CONTRACT = {
|
9
|
+
chainId: 11155111,
|
10
|
+
startBlock: 3193048,
|
11
|
+
address: "0x9C09146844C1326c2dBC41c451766C7138F88155",
|
12
12
|
abi: RLN_ABI,
|
13
13
|
};
|
14
14
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,4DAA4D;IAC5D,oDAAoD;IACpD,4FAA4F;IAC5F,uDAAuD;IACvD,sDAAsD;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,4DAA4D;IAC5D,oDAAoD;IACpD,4FAA4F;IAC5F,uDAAuD;IACvD,sDAAsD;CACvD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,4CAA4C;IACrD,GAAG,EAAE,OAAO;CACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { RLNDecoder, RLNEncoder } from "./codec.js";
|
2
|
-
import {
|
2
|
+
import { RLN_ABI, SEPOLIA_CONTRACT } from "./constants.js";
|
3
3
|
import { IdentityCredential, Proof, ProofMetadata, RLNInstance } from "./rln.js";
|
4
4
|
import { RLNContract } from "./rln_contract.js";
|
5
5
|
import { MerkleRootTracker } from "./root_tracker.js";
|
6
6
|
export declare function create(): Promise<RLNInstance>;
|
7
|
-
export { RLNInstance, IdentityCredential, Proof, ProofMetadata, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_ABI,
|
7
|
+
export { RLNInstance, IdentityCredential, Proof, ProofMetadata, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_ABI, SEPOLIA_CONTRACT, };
|
package/dist/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { RLNDecoder, RLNEncoder } from "./codec.js";
|
2
|
-
import {
|
2
|
+
import { RLN_ABI, SEPOLIA_CONTRACT } from "./constants.js";
|
3
3
|
import { IdentityCredential, Proof, ProofMetadata, RLNInstance, } from "./rln.js";
|
4
4
|
import { RLNContract } from "./rln_contract.js";
|
5
5
|
import { MerkleRootTracker } from "./root_tracker.js";
|
@@ -11,5 +11,5 @@ export async function create() {
|
|
11
11
|
const rlnModule = await import("./rln.js");
|
12
12
|
return await rlnModule.create();
|
13
13
|
}
|
14
|
-
export { RLNInstance, IdentityCredential, Proof, ProofMetadata, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_ABI,
|
14
|
+
export { RLNInstance, IdentityCredential, Proof, ProofMetadata, RLNEncoder, RLNDecoder, MerkleRootTracker, RLNContract, RLN_ABI, SEPOLIA_CONTRACT, };
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,aAAa,EACb,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,iEAAiE;AACjE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,iEAAiE;IACjE,6DAA6D;IAC7D,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;AAClC,CAAC;AAED,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,KAAK,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,CAAC"}
|
package/dist/message.d.ts
CHANGED
@@ -7,11 +7,12 @@ export declare class RlnMessage<T extends IDecodedMessage> implements IDecodedMe
|
|
7
7
|
rateLimitProof: IRateLimitProof | undefined;
|
8
8
|
pubSubTopic: string;
|
9
9
|
constructor(rlnInstance: RLNInstance, msg: T, rateLimitProof: IRateLimitProof | undefined);
|
10
|
-
verify(): boolean | undefined;
|
10
|
+
verify(roots: Uint8Array[]): boolean | undefined;
|
11
11
|
verifyNoRoot(): boolean | undefined;
|
12
12
|
get payload(): Uint8Array;
|
13
13
|
get contentTopic(): string;
|
14
14
|
get timestamp(): Date | undefined;
|
15
15
|
get ephemeral(): boolean | undefined;
|
16
|
+
get meta(): Uint8Array | undefined;
|
16
17
|
get epoch(): number | undefined;
|
17
18
|
}
|
package/dist/message.js
CHANGED
@@ -11,9 +11,9 @@ export class RlnMessage {
|
|
11
11
|
this.rateLimitProof = rateLimitProof;
|
12
12
|
this.pubSubTopic = "";
|
13
13
|
}
|
14
|
-
verify() {
|
14
|
+
verify(roots) {
|
15
15
|
return this.rateLimitProof
|
16
|
-
? this.rlnInstance.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg)) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
|
16
|
+
? this.rlnInstance.verifyWithRoots(this.rateLimitProof, toRLNSignal(this.msg.contentTopic, this.msg), ...roots) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
|
17
17
|
: undefined;
|
18
18
|
}
|
19
19
|
verifyNoRoot() {
|
@@ -33,6 +33,9 @@ export class RlnMessage {
|
|
33
33
|
get ephemeral() {
|
34
34
|
return this.msg.ephemeral;
|
35
35
|
}
|
36
|
+
get meta() {
|
37
|
+
return this.msg.meta;
|
38
|
+
}
|
36
39
|
get epoch() {
|
37
40
|
const bytes = this.msg.rateLimitProof?.epoch;
|
38
41
|
if (!bytes)
|
package/dist/message.js.map
CHANGED
@@ -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;
|
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"}
|
package/dist/rln.js
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import
|
1
|
+
import { default as init } from "@waku/zerokit-rln-wasm";
|
2
|
+
import * as zerokitRLN from "@waku/zerokit-rln-wasm";
|
2
3
|
import { writeUIntLE } from "./byte_utils.js";
|
3
4
|
import { dateToEpoch, epochIntToBytes } from "./epoch.js";
|
4
5
|
import verificationKey from "./resources/verification_key.js";
|
package/dist/rln.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,EAAE,KAAK,UAAU,MAAM,wBAAwB,CAAC;
|
1
|
+
{"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"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"}
|
package/dist/rln_contract.d.ts
CHANGED
@@ -16,15 +16,19 @@ declare type FetchMembersOptions = {
|
|
16
16
|
export declare class RLNContract {
|
17
17
|
private _contract;
|
18
18
|
private membersFilter;
|
19
|
+
private merkleRootTracker;
|
19
20
|
private _members;
|
20
21
|
static init(rlnInstance: RLNInstance, options: ContractOptions): Promise<RLNContract>;
|
21
|
-
constructor({ address, provider }: ContractOptions);
|
22
|
+
constructor(rlnInstance: RLNInstance, { address, provider }: ContractOptions);
|
22
23
|
get contract(): ethers.Contract;
|
23
24
|
get members(): Member[];
|
24
25
|
fetchMembers(rlnInstance: RLNInstance, options?: FetchMembersOptions): Promise<void>;
|
26
|
+
processEvents(rlnInstance: RLNInstance, events: ethers.Event[]): void;
|
27
|
+
private insertMembers;
|
28
|
+
private removeMembers;
|
25
29
|
subscribeToMembers(rlnInstance: RLNInstance): void;
|
26
|
-
private addMemberFromEvent;
|
27
30
|
registerWithSignature(rlnInstance: RLNInstance, signature: string): Promise<ethers.Event | undefined>;
|
28
31
|
registerWithKey(credential: IdentityCredential): Promise<ethers.Event | undefined>;
|
32
|
+
roots(): Uint8Array[];
|
29
33
|
}
|
30
34
|
export {};
|
package/dist/rln_contract.js
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
import { ethers } from "ethers";
|
2
2
|
import { RLN_ABI } from "./constants.js";
|
3
|
+
import { MerkleRootTracker } from "./root_tracker.js";
|
3
4
|
export class RLNContract {
|
4
|
-
constructor({ address, provider }) {
|
5
|
+
constructor(rlnInstance, { address, provider }) {
|
5
6
|
this._members = [];
|
7
|
+
const initialRoot = rlnInstance.getMerkleRoot();
|
6
8
|
this._contract = new ethers.Contract(address, RLN_ABI, provider);
|
9
|
+
this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
|
7
10
|
this.membersFilter = this.contract.filters.MemberRegistered();
|
8
11
|
}
|
9
12
|
static async init(rlnInstance, options) {
|
10
|
-
const rlnContract = new RLNContract(options);
|
13
|
+
const rlnContract = new RLNContract(rlnInstance, options);
|
11
14
|
await rlnContract.fetchMembers(rlnInstance);
|
12
15
|
rlnContract.subscribeToMembers(rlnInstance);
|
13
16
|
return rlnContract;
|
@@ -23,22 +26,69 @@ export class RLNContract {
|
|
23
26
|
...options,
|
24
27
|
membersFilter: this.membersFilter,
|
25
28
|
});
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
+
this.processEvents(rlnInstance, registeredMemberEvents);
|
30
|
+
}
|
31
|
+
processEvents(rlnInstance, events) {
|
32
|
+
const toRemoveTable = new Map();
|
33
|
+
const toInsertTable = new Map();
|
34
|
+
events.forEach((evt) => {
|
35
|
+
if (!evt.args) {
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
if (evt.removed) {
|
39
|
+
const index = evt.args.index;
|
40
|
+
const toRemoveVal = toRemoveTable.get(evt.blockNumber);
|
41
|
+
if (toRemoveVal != undefined) {
|
42
|
+
toRemoveVal.push(index);
|
43
|
+
toRemoveTable.set(evt.blockNumber, toRemoveVal);
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
toRemoveTable.set(evt.blockNumber, [index]);
|
47
|
+
}
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
let eventsPerBlock = toInsertTable.get(evt.blockNumber);
|
51
|
+
if (eventsPerBlock == undefined) {
|
52
|
+
eventsPerBlock = [];
|
53
|
+
}
|
54
|
+
eventsPerBlock.push(evt);
|
55
|
+
toInsertTable.set(evt.blockNumber, eventsPerBlock);
|
56
|
+
}
|
57
|
+
this.removeMembers(rlnInstance, toRemoveTable);
|
58
|
+
this.insertMembers(rlnInstance, toInsertTable);
|
59
|
+
});
|
60
|
+
}
|
61
|
+
insertMembers(rlnInstance, toInsert) {
|
62
|
+
toInsert.forEach((events, blockNumber) => {
|
63
|
+
events.forEach((evt) => {
|
64
|
+
if (!evt.args) {
|
65
|
+
return;
|
66
|
+
}
|
67
|
+
const pubkey = evt.args.pubkey;
|
68
|
+
const index = evt.args.index;
|
69
|
+
const idCommitment = ethers.utils.zeroPad(ethers.utils.arrayify(pubkey), 32);
|
70
|
+
rlnInstance.insertMember(idCommitment);
|
71
|
+
this.members.push({ index, pubkey });
|
72
|
+
});
|
73
|
+
const currentRoot = rlnInstance.getMerkleRoot();
|
74
|
+
this.merkleRootTracker.pushRoot(blockNumber, currentRoot);
|
75
|
+
});
|
76
|
+
}
|
77
|
+
removeMembers(rlnInstance, toRemove) {
|
78
|
+
const removeDescending = new Map([...toRemove].sort().reverse());
|
79
|
+
removeDescending.forEach((indexes, blockNumber) => {
|
80
|
+
indexes.forEach((index) => {
|
81
|
+
const idx = this.members.findIndex((m) => m.index === index);
|
82
|
+
if (idx > -1) {
|
83
|
+
this.members.splice(idx, 1);
|
84
|
+
}
|
85
|
+
rlnInstance.deleteMember(index);
|
86
|
+
});
|
87
|
+
this.merkleRootTracker.backFill(blockNumber);
|
88
|
+
});
|
29
89
|
}
|
30
90
|
subscribeToMembers(rlnInstance) {
|
31
|
-
this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.
|
32
|
-
}
|
33
|
-
addMemberFromEvent(rlnInstance, event) {
|
34
|
-
if (!event.args) {
|
35
|
-
return;
|
36
|
-
}
|
37
|
-
const pubkey = event.args.pubkey;
|
38
|
-
const index = event.args.index;
|
39
|
-
this.members.push({ index, pubkey });
|
40
|
-
const idCommitment = ethers.utils.zeroPad(ethers.utils.arrayify(pubkey), 32);
|
41
|
-
rlnInstance.insertMember(idCommitment);
|
91
|
+
this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, event));
|
42
92
|
}
|
43
93
|
async registerWithSignature(rlnInstance, signature) {
|
44
94
|
const identityCredential = await rlnInstance.generateSeededIdentityCredential(signature);
|
@@ -52,6 +102,9 @@ export class RLNContract {
|
|
52
102
|
const txRegisterReceipt = await txRegisterResponse.wait();
|
53
103
|
return txRegisterReceipt?.events?.[0];
|
54
104
|
}
|
105
|
+
roots() {
|
106
|
+
return this.merkleRootTracker.roots();
|
107
|
+
}
|
55
108
|
}
|
56
109
|
// these value should be tested on other networks
|
57
110
|
const FETCH_CHUNK = 5;
|
package/dist/rln_contract.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../src/rln_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
1
|
+
{"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../src/rln_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkBtD,MAAM,OAAO,WAAW;IAmBtB,YACE,WAAwB,EACxB,EAAE,OAAO,EAAE,QAAQ,EAAmB;QAhBhC,aAAQ,GAAa,EAAE,CAAC;QAkB9B,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAChE,CAAC;IArBM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,WAAwB,EACxB,OAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,WAAW,CAAC;IACrB,CAAC;IAaD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,UAA+B,EAAE;QAEjC,MAAM,sBAAsB,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9D,GAAG,OAAO;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAEM,aAAa,CAAC,WAAwB,EAAE,MAAsB;QACnE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACb,OAAO;aACR;YAED,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,MAAM,KAAK,GAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC5B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;iBACjD;qBAAM;oBACL,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7C;aACF;iBAAM;gBACL,IAAI,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,cAAc,IAAI,SAAS,EAAE;oBAC/B,cAAc,GAAG,EAAE,CAAC;iBACrB;gBAED,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,WAAwB,EACxB,QAAqC;QAErC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAsB,EAAE,WAAmB,EAAE,EAAE;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;oBACb,OAAO;iBACR;gBAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CACvC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,EAAE,CACH,CAAC;gBACF,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,WAAwB,EACxB,QAA+B;QAE/B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAiB,EAAE,WAAmB,EAAE,EAAE;YAClE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBAC7D,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;oBACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC7B;gBACD,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,WAAwB;QAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAC9D,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CACvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,SAAiB;QAEjB,MAAM,kBAAkB,GACtB,MAAM,WAAW,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,UAA8B;QAE9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAE9D,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,kBAAkB,EAAE;YAC1D,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;QACL,MAAM,iBAAiB,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAE1D,OAAO,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;CACF;AAMD,iDAAiD;AACjD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,WAAW,CACxB,QAAyB,EACzB,OAA2B;IAE3B,MAAM,EACJ,SAAS,EACT,aAAa,EACb,UAAU,GAAG,WAAW,EACxB,WAAW,GAAG,WAAW,GAC1B,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7B,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAC5D;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEhE,IAAI,OAAO,GAAG,SAAS,GAAG,UAAU,EAAE;QACpC,OAAO,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAmB,MAAM,EAAE,WAAW,CAAC,EAAE;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAC7C,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACnE,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,EAAU,EACV,IAAY;IAEZ,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,GAAG,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAqB,CAAC,CAAC;QAE/C,IAAI,GAAG,KAAK,CAAC;KACd;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,CAAC,KAAK,CAAI,KAAU,EAAE,IAAY;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzC,MAAM,OAAO,CAAC;QAEd,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,IAAI,IAAI,CAAC;KACd;AACH,CAAC;AAED,SAAS,YAAY,CAAI,OAAmB,EAAE,YAAe;IAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@waku/rln",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.1-5d7f77f",
|
4
4
|
"description": "Rate Limit Nullifier for js-waku",
|
5
5
|
"types": "./dist/index.d.ts",
|
6
6
|
"module": "./dist/index.js",
|
@@ -83,9 +83,9 @@
|
|
83
83
|
"husky": "^7.0.4",
|
84
84
|
"ignore-loader": "^0.1.2",
|
85
85
|
"isomorphic-fetch": "^3.0.0",
|
86
|
-
"@waku/interfaces": "^0.0.
|
87
|
-
"@waku/message-encryption": "^0.0.
|
88
|
-
"@waku/core": "^0.0.
|
86
|
+
"@waku/interfaces": "^0.0.13",
|
87
|
+
"@waku/message-encryption": "^0.0.16",
|
88
|
+
"@waku/core": "^0.0.18",
|
89
89
|
"jsdom": "^19.0.0",
|
90
90
|
"jsdom-global": "^3.0.2",
|
91
91
|
"karma": "^6.3.12",
|
@@ -93,7 +93,7 @@
|
|
93
93
|
"karma-mocha": "^2.0.1",
|
94
94
|
"karma-webpack": "^5.0.0",
|
95
95
|
"lint-staged": "^13.0.3",
|
96
|
-
"mocha": "
|
96
|
+
"mocha": "10.1.0",
|
97
97
|
"npm-run-all": "^4.1.5",
|
98
98
|
"p-timeout": "^4.1.0",
|
99
99
|
"prettier": "^2.1.1",
|
@@ -129,7 +129,7 @@
|
|
129
129
|
]
|
130
130
|
},
|
131
131
|
"dependencies": {
|
132
|
-
"@waku/utils": "^0.0.
|
132
|
+
"@waku/utils": "^0.0.6",
|
133
133
|
"@waku/zerokit-rln-wasm": "^0.0.10",
|
134
134
|
"ethers": "^5.7.2"
|
135
135
|
}
|
package/src/constants.ts
CHANGED
@@ -6,9 +6,9 @@ export const RLN_ABI = [
|
|
6
6
|
"event MemberWithdrawn(uint256 pubkey, uint256 index)",
|
7
7
|
];
|
8
8
|
|
9
|
-
export const
|
10
|
-
chainId:
|
11
|
-
startBlock:
|
12
|
-
address: "
|
9
|
+
export const SEPOLIA_CONTRACT = {
|
10
|
+
chainId: 11155111,
|
11
|
+
startBlock: 3193048,
|
12
|
+
address: "0x9C09146844C1326c2dBC41c451766C7138F88155",
|
13
13
|
abi: RLN_ABI,
|
14
14
|
};
|
package/src/index.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { RLNDecoder, RLNEncoder } from "./codec.js";
|
2
|
-
import {
|
2
|
+
import { RLN_ABI, SEPOLIA_CONTRACT } from "./constants.js";
|
3
3
|
import {
|
4
4
|
IdentityCredential,
|
5
5
|
Proof,
|
@@ -28,5 +28,5 @@ export {
|
|
28
28
|
MerkleRootTracker,
|
29
29
|
RLNContract,
|
30
30
|
RLN_ABI,
|
31
|
-
|
31
|
+
SEPOLIA_CONTRACT,
|
32
32
|
};
|
package/src/message.ts
CHANGED
@@ -22,11 +22,12 @@ export class RlnMessage<T extends IDecodedMessage> implements IDecodedMessage {
|
|
22
22
|
public rateLimitProof: IRateLimitProof | undefined
|
23
23
|
) {}
|
24
24
|
|
25
|
-
public verify(): boolean | undefined {
|
25
|
+
public verify(roots: Uint8Array[]): boolean | undefined {
|
26
26
|
return this.rateLimitProof
|
27
27
|
? this.rlnInstance.verifyWithRoots(
|
28
28
|
this.rateLimitProof,
|
29
|
-
toRLNSignal(this.msg.contentTopic, this.msg)
|
29
|
+
toRLNSignal(this.msg.contentTopic, this.msg),
|
30
|
+
...roots
|
30
31
|
) // this.rlnInstance.verifyRLNProof once issue status-im/nwaku#1248 is fixed
|
31
32
|
: undefined;
|
32
33
|
}
|
@@ -56,6 +57,10 @@ export class RlnMessage<T extends IDecodedMessage> implements IDecodedMessage {
|
|
56
57
|
return this.msg.ephemeral;
|
57
58
|
}
|
58
59
|
|
60
|
+
get meta(): Uint8Array | undefined {
|
61
|
+
return this.msg.meta;
|
62
|
+
}
|
63
|
+
|
59
64
|
get epoch(): number | undefined {
|
60
65
|
const bytes = this.msg.rateLimitProof?.epoch;
|
61
66
|
if (!bytes) return;
|
package/src/rln.ts
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { IRateLimitProof } from "@waku/interfaces";
|
2
|
-
import
|
2
|
+
import { default as init } from "@waku/zerokit-rln-wasm";
|
3
|
+
import * as zerokitRLN from "@waku/zerokit-rln-wasm";
|
3
4
|
|
4
5
|
import { writeUIntLE } from "./byte_utils.js";
|
5
6
|
import { dateToEpoch, epochIntToBytes } from "./epoch.js";
|
package/src/rln_contract.ts
CHANGED
@@ -2,6 +2,7 @@ import { ethers } from "ethers";
|
|
2
2
|
|
3
3
|
import { RLN_ABI } from "./constants.js";
|
4
4
|
import { IdentityCredential, RLNInstance } from "./rln.js";
|
5
|
+
import { MerkleRootTracker } from "./root_tracker.js";
|
5
6
|
|
6
7
|
type Member = {
|
7
8
|
pubkey: string;
|
@@ -22,6 +23,7 @@ type FetchMembersOptions = {
|
|
22
23
|
export class RLNContract {
|
23
24
|
private _contract: ethers.Contract;
|
24
25
|
private membersFilter: ethers.EventFilter;
|
26
|
+
private merkleRootTracker: MerkleRootTracker;
|
25
27
|
|
26
28
|
private _members: Member[] = [];
|
27
29
|
|
@@ -29,7 +31,7 @@ export class RLNContract {
|
|
29
31
|
rlnInstance: RLNInstance,
|
30
32
|
options: ContractOptions
|
31
33
|
): Promise<RLNContract> {
|
32
|
-
const rlnContract = new RLNContract(options);
|
34
|
+
const rlnContract = new RLNContract(rlnInstance, options);
|
33
35
|
|
34
36
|
await rlnContract.fetchMembers(rlnInstance);
|
35
37
|
rlnContract.subscribeToMembers(rlnInstance);
|
@@ -37,8 +39,14 @@ export class RLNContract {
|
|
37
39
|
return rlnContract;
|
38
40
|
}
|
39
41
|
|
40
|
-
constructor(
|
42
|
+
constructor(
|
43
|
+
rlnInstance: RLNInstance,
|
44
|
+
{ address, provider }: ContractOptions
|
45
|
+
) {
|
46
|
+
const initialRoot = rlnInstance.getMerkleRoot();
|
47
|
+
|
41
48
|
this._contract = new ethers.Contract(address, RLN_ABI, provider);
|
49
|
+
this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
|
42
50
|
this.membersFilter = this.contract.filters.MemberRegistered();
|
43
51
|
}
|
44
52
|
|
@@ -58,36 +66,89 @@ export class RLNContract {
|
|
58
66
|
...options,
|
59
67
|
membersFilter: this.membersFilter,
|
60
68
|
});
|
61
|
-
|
62
|
-
for (const event of registeredMemberEvents) {
|
63
|
-
this.addMemberFromEvent(rlnInstance, event);
|
64
|
-
}
|
69
|
+
this.processEvents(rlnInstance, registeredMemberEvents);
|
65
70
|
}
|
66
71
|
|
67
|
-
public
|
68
|
-
|
69
|
-
|
70
|
-
|
72
|
+
public processEvents(rlnInstance: RLNInstance, events: ethers.Event[]): void {
|
73
|
+
const toRemoveTable = new Map<number, number[]>();
|
74
|
+
const toInsertTable = new Map<number, ethers.Event[]>();
|
75
|
+
|
76
|
+
events.forEach((evt) => {
|
77
|
+
if (!evt.args) {
|
78
|
+
return;
|
79
|
+
}
|
80
|
+
|
81
|
+
if (evt.removed) {
|
82
|
+
const index: number = evt.args.index;
|
83
|
+
const toRemoveVal = toRemoveTable.get(evt.blockNumber);
|
84
|
+
if (toRemoveVal != undefined) {
|
85
|
+
toRemoveVal.push(index);
|
86
|
+
toRemoveTable.set(evt.blockNumber, toRemoveVal);
|
87
|
+
} else {
|
88
|
+
toRemoveTable.set(evt.blockNumber, [index]);
|
89
|
+
}
|
90
|
+
} else {
|
91
|
+
let eventsPerBlock = toInsertTable.get(evt.blockNumber);
|
92
|
+
if (eventsPerBlock == undefined) {
|
93
|
+
eventsPerBlock = [];
|
94
|
+
}
|
95
|
+
|
96
|
+
eventsPerBlock.push(evt);
|
97
|
+
toInsertTable.set(evt.blockNumber, eventsPerBlock);
|
98
|
+
}
|
99
|
+
|
100
|
+
this.removeMembers(rlnInstance, toRemoveTable);
|
101
|
+
this.insertMembers(rlnInstance, toInsertTable);
|
102
|
+
});
|
71
103
|
}
|
72
104
|
|
73
|
-
private
|
105
|
+
private insertMembers(
|
74
106
|
rlnInstance: RLNInstance,
|
75
|
-
|
107
|
+
toInsert: Map<number, ethers.Event[]>
|
76
108
|
): void {
|
77
|
-
|
78
|
-
|
79
|
-
|
109
|
+
toInsert.forEach((events: ethers.Event[], blockNumber: number) => {
|
110
|
+
events.forEach((evt) => {
|
111
|
+
if (!evt.args) {
|
112
|
+
return;
|
113
|
+
}
|
114
|
+
|
115
|
+
const pubkey = evt.args.pubkey;
|
116
|
+
const index = evt.args.index;
|
117
|
+
const idCommitment = ethers.utils.zeroPad(
|
118
|
+
ethers.utils.arrayify(pubkey),
|
119
|
+
32
|
120
|
+
);
|
121
|
+
rlnInstance.insertMember(idCommitment);
|
122
|
+
this.members.push({ index, pubkey });
|
123
|
+
});
|
124
|
+
|
125
|
+
const currentRoot = rlnInstance.getMerkleRoot();
|
126
|
+
this.merkleRootTracker.pushRoot(blockNumber, currentRoot);
|
127
|
+
});
|
128
|
+
}
|
80
129
|
|
81
|
-
|
82
|
-
|
130
|
+
private removeMembers(
|
131
|
+
rlnInstance: RLNInstance,
|
132
|
+
toRemove: Map<number, number[]>
|
133
|
+
): void {
|
134
|
+
const removeDescending = new Map([...toRemove].sort().reverse());
|
135
|
+
removeDescending.forEach((indexes: number[], blockNumber: number) => {
|
136
|
+
indexes.forEach((index) => {
|
137
|
+
const idx = this.members.findIndex((m) => m.index === index);
|
138
|
+
if (idx > -1) {
|
139
|
+
this.members.splice(idx, 1);
|
140
|
+
}
|
141
|
+
rlnInstance.deleteMember(index);
|
142
|
+
});
|
83
143
|
|
84
|
-
|
144
|
+
this.merkleRootTracker.backFill(blockNumber);
|
145
|
+
});
|
146
|
+
}
|
85
147
|
|
86
|
-
|
87
|
-
|
88
|
-
|
148
|
+
public subscribeToMembers(rlnInstance: RLNInstance): void {
|
149
|
+
this.contract.on(this.membersFilter, (_pubkey, _index, event) =>
|
150
|
+
this.processEvents(rlnInstance, event)
|
89
151
|
);
|
90
|
-
rlnInstance.insertMember(idCommitment);
|
91
152
|
}
|
92
153
|
|
93
154
|
public async registerWithSignature(
|
@@ -113,6 +174,10 @@ export class RLNContract {
|
|
113
174
|
|
114
175
|
return txRegisterReceipt?.events?.[0];
|
115
176
|
}
|
177
|
+
|
178
|
+
public roots(): Uint8Array[] {
|
179
|
+
return this.merkleRootTracker.roots();
|
180
|
+
}
|
116
181
|
}
|
117
182
|
|
118
183
|
type CustomQueryOptions = FetchMembersOptions & {
|