@waku/rln 0.1.1-5d7f77f → 0.1.1-77ba0a6
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/README.md +26 -2
- package/bundle/assets/rln_wasm_bg-a503e304.wasm +0 -0
- package/bundle/index.js +68738 -22572
- package/dist/.tsbuildinfo +1 -1
- package/dist/byte_utils.d.ts +13 -0
- package/dist/byte_utils.js +22 -0
- package/dist/byte_utils.js.map +1 -1
- package/dist/codec.d.ts +5 -3
- package/dist/codec.js +8 -4
- package/dist/codec.js.map +1 -1
- package/dist/constants.d.ts +2 -2
- package/dist/constants.js +62 -9
- package/dist/constants.js.map +1 -1
- package/dist/create.d.ts +2 -0
- package/dist/create.js +8 -0
- package/dist/create.js.map +1 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +5 -10
- package/dist/index.js.map +1 -1
- package/dist/keystore/cipher.d.ts +4 -0
- package/dist/keystore/cipher.js +28 -0
- package/dist/keystore/cipher.js.map +1 -0
- package/dist/keystore/credential_validation_generated.d.ts +8 -0
- package/dist/keystore/credential_validation_generated.js +121 -0
- package/dist/keystore/credential_validation_generated.js.map +1 -0
- package/dist/keystore/index.d.ts +4 -0
- package/dist/keystore/index.js +3 -0
- package/dist/keystore/index.js.map +1 -0
- package/dist/keystore/keystore.d.ts +50 -0
- package/dist/keystore/keystore.js +202 -0
- package/dist/keystore/keystore.js.map +1 -0
- package/dist/keystore/keystore_validation_generated.d.ts +8 -0
- package/dist/keystore/keystore_validation_generated.js +75 -0
- package/dist/keystore/keystore_validation_generated.js.map +1 -0
- package/dist/keystore/schema_validator.d.ts +2 -0
- package/dist/keystore/schema_validator.js +18 -0
- package/dist/keystore/schema_validator.js.map +1 -0
- package/dist/keystore/types.d.ts +29 -0
- package/dist/keystore/types.js +2 -0
- package/dist/keystore/types.js.map +1 -0
- package/dist/message.d.ts +1 -1
- package/dist/message.js +1 -1
- package/dist/metamask.d.ts +2 -0
- package/dist/metamask.js +11 -0
- package/dist/metamask.js.map +1 -0
- package/dist/rln.d.ts +47 -0
- package/dist/rln.js +110 -12
- package/dist/rln.js.map +1 -1
- package/dist/rln_contract.d.ts +24 -14
- package/dist/rln_contract.js +73 -33
- package/dist/rln_contract.js.map +1 -1
- package/package.json +23 -8
- package/src/byte_utils.ts +24 -0
- package/src/codec.ts +10 -5
- package/src/constants.ts +63 -9
- package/src/create.ts +9 -0
- package/src/index.ts +13 -11
- package/src/message.ts +1 -1
- package/src/metamask.ts +16 -0
- package/src/rln.ts +194 -13
- package/src/rln_contract.ts +127 -52
- package/bundle/assets/rln_wasm_bg-6f96f821.wasm +0 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
/* eslint eslint-comments/no-unlimited-disable: "off" */
|
2
|
+
// This file was generated by /scripts/schema-validation-codegen.ts
|
3
|
+
// Do not modify this file by hand.
|
4
|
+
/* eslint-disable */
|
5
|
+
// @ts-ignore
|
6
|
+
"use strict";
|
7
|
+
export const Keystore = validate11;
|
8
|
+
const schema12 = { "type": "object", "properties": { "credentials": { "type": "object" }, "appIdentifier": { "type": "string" }, "version": { "type": "string" }, "application": { "type": "string" } }, "required": ["application", "appIdentifier", "credentials", "version"] };
|
9
|
+
function validate11(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
|
10
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
11
|
+
let missing0;
|
12
|
+
if (((((data.application === undefined) && (missing0 = "application")) || ((data.appIdentifier === undefined) && (missing0 = "appIdentifier"))) || ((data.credentials === undefined) && (missing0 = "credentials"))) || ((data.version === undefined) && (missing0 = "version"))) {
|
13
|
+
validate11.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
|
14
|
+
return false;
|
15
|
+
}
|
16
|
+
else {
|
17
|
+
if (data.credentials !== undefined) {
|
18
|
+
let data0 = data.credentials;
|
19
|
+
const _errs1 = errors;
|
20
|
+
if (!(data0 && typeof data0 == "object" && !Array.isArray(data0))) {
|
21
|
+
validate11.errors = [{ instancePath: instancePath + "/credentials", schemaPath: "#/properties/credentials/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
|
22
|
+
return false;
|
23
|
+
}
|
24
|
+
var valid0 = _errs1 === errors;
|
25
|
+
}
|
26
|
+
else {
|
27
|
+
var valid0 = true;
|
28
|
+
}
|
29
|
+
if (valid0) {
|
30
|
+
if (data.appIdentifier !== undefined) {
|
31
|
+
const _errs3 = errors;
|
32
|
+
if (typeof data.appIdentifier !== "string") {
|
33
|
+
validate11.errors = [{ instancePath: instancePath + "/appIdentifier", schemaPath: "#/properties/appIdentifier/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
|
34
|
+
return false;
|
35
|
+
}
|
36
|
+
var valid0 = _errs3 === errors;
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
var valid0 = true;
|
40
|
+
}
|
41
|
+
if (valid0) {
|
42
|
+
if (data.version !== undefined) {
|
43
|
+
const _errs5 = errors;
|
44
|
+
if (typeof data.version !== "string") {
|
45
|
+
validate11.errors = [{ instancePath: instancePath + "/version", schemaPath: "#/properties/version/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
|
46
|
+
return false;
|
47
|
+
}
|
48
|
+
var valid0 = _errs5 === errors;
|
49
|
+
}
|
50
|
+
else {
|
51
|
+
var valid0 = true;
|
52
|
+
}
|
53
|
+
if (valid0) {
|
54
|
+
if (data.application !== undefined) {
|
55
|
+
const _errs7 = errors;
|
56
|
+
if (typeof data.application !== "string") {
|
57
|
+
validate11.errors = [{ instancePath: instancePath + "/application", schemaPath: "#/properties/application/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
|
58
|
+
return false;
|
59
|
+
}
|
60
|
+
var valid0 = _errs7 === errors;
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
var valid0 = true;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
validate11.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
|
72
|
+
return false;
|
73
|
+
}
|
74
|
+
} validate11.errors = vErrors; return errors === 0; }
|
75
|
+
//# sourceMappingURL=keystore_validation_generated.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"keystore_validation_generated.js","sourceRoot":"","sources":["../../src/keystore/keystore_validation_generated.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Credential as _validateCredentialGenerated } from "./credential_validation_generated.js";
|
2
|
+
import { Keystore as _validateKeystoreGenerated } from "./keystore_validation_generated.js";
|
3
|
+
const _validateKeystore = _validateKeystoreGenerated;
|
4
|
+
const _validateCredential = _validateCredentialGenerated;
|
5
|
+
function schemaValidationErrors(validator, data) {
|
6
|
+
const validated = validator(data);
|
7
|
+
if (validated) {
|
8
|
+
return null;
|
9
|
+
}
|
10
|
+
return validator.errors;
|
11
|
+
}
|
12
|
+
export function isKeystoreValid(keystore) {
|
13
|
+
return !schemaValidationErrors(_validateKeystore, keystore);
|
14
|
+
}
|
15
|
+
export function isCredentialValid(credential) {
|
16
|
+
return !schemaValidationErrors(_validateCredential, credential);
|
17
|
+
}
|
18
|
+
//# sourceMappingURL=schema_validator.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"schema_validator.js","sourceRoot":"","sources":["../../src/keystore/schema_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAE,QAAQ,IAAI,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAY5F,MAAM,iBAAiB,GAAG,0BAAyC,CAAC;AACpE,MAAM,mBAAmB,GAAG,4BAA2C,CAAC;AAExE,SAAS,sBAAsB,CAC7B,SAAsB,EACtB,IAAa;IAEb,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,SAAS,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IACD,OAAO,SAAS,CAAC,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,OAAO,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAmB;IACnD,OAAO,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC"}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import type { IdentityCredential } from "../rln.js";
|
2
|
+
export type MembershipHash = string;
|
3
|
+
export type Sha256Hash = string;
|
4
|
+
export type Keccak256Hash = string;
|
5
|
+
export type Password = string | Uint8Array;
|
6
|
+
export type MembershipInfo = {
|
7
|
+
chainId: number;
|
8
|
+
address: string;
|
9
|
+
treeIndex: number;
|
10
|
+
};
|
11
|
+
export type KeystoreEntity = {
|
12
|
+
identity: IdentityCredential;
|
13
|
+
membership: MembershipInfo;
|
14
|
+
};
|
15
|
+
export type DecryptedCredentials = KeystoreEntity;
|
16
|
+
export type EncryptedCredentials = {
|
17
|
+
/**
|
18
|
+
* Valid JSON string that contains Keystore
|
19
|
+
*/
|
20
|
+
keystore: string;
|
21
|
+
/**
|
22
|
+
* ID of credentials from provided Keystore to use
|
23
|
+
*/
|
24
|
+
id: string;
|
25
|
+
/**
|
26
|
+
* Password to decrypt credentials provided
|
27
|
+
*/
|
28
|
+
password: Password;
|
29
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/keystore/types.ts"],"names":[],"mappings":""}
|
package/dist/message.d.ts
CHANGED
@@ -5,7 +5,7 @@ export declare class RlnMessage<T extends IDecodedMessage> implements IDecodedMe
|
|
5
5
|
rlnInstance: RLNInstance;
|
6
6
|
msg: T;
|
7
7
|
rateLimitProof: IRateLimitProof | undefined;
|
8
|
-
|
8
|
+
pubsubTopic: string;
|
9
9
|
constructor(rlnInstance: RLNInstance, msg: T, rateLimitProof: IRateLimitProof | undefined);
|
10
10
|
verify(roots: Uint8Array[]): boolean | undefined;
|
11
11
|
verifyNoRoot(): boolean | undefined;
|
package/dist/message.js
CHANGED
package/dist/metamask.js
ADDED
@@ -0,0 +1,11 @@
|
|
1
|
+
import { ethers } from "ethers";
|
2
|
+
export const extractMetaMaskSigner = async () => {
|
3
|
+
const ethereum = window.ethereum;
|
4
|
+
if (!ethereum) {
|
5
|
+
throw Error("Missing or invalid Ethereum provider. Please install a Web3 wallet such as MetaMask.");
|
6
|
+
}
|
7
|
+
await ethereum.request({ method: "eth_requestAccounts" });
|
8
|
+
const provider = new ethers.providers.Web3Provider(ethereum, "any");
|
9
|
+
return provider.getSigner();
|
10
|
+
};
|
11
|
+
//# sourceMappingURL=metamask.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"metamask.js","sourceRoot":"","sources":["../src/metamask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAA4B,EAAE;IACtE,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC;IAE1C,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,KAAK,CACT,sFAAsF,CACvF,CAAC;KACH;IAED,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEpE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC"}
|
package/dist/rln.d.ts
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
import type { IRateLimitProof } from "@waku/interfaces";
|
2
|
+
import type { ContentTopic, IDecodedMessage, EncoderOptions as WakuEncoderOptions } from "@waku/interfaces";
|
3
|
+
import { ethers } from "ethers";
|
4
|
+
import type { RLNDecoder, RLNEncoder } from "./codec.js";
|
5
|
+
import type { DecryptedCredentials, EncryptedCredentials } from "./keystore/index.js";
|
6
|
+
import { Password } from "./keystore/types.js";
|
7
|
+
import { RLNContract } from "./rln_contract.js";
|
2
8
|
import { WitnessCalculator } from "./witness_calculator.js";
|
3
9
|
/**
|
4
10
|
* Create an instance of RLN
|
@@ -35,10 +41,50 @@ export declare class Proof implements IRateLimitProof {
|
|
35
41
|
export declare function proofToBytes(p: IRateLimitProof): Uint8Array;
|
36
42
|
export declare function poseidonHash(...input: Array<Uint8Array>): Uint8Array;
|
37
43
|
export declare function sha256(input: Uint8Array): Uint8Array;
|
44
|
+
type StartRLNOptions = {
|
45
|
+
/**
|
46
|
+
* If not set - will extract MetaMask account and get signer from it.
|
47
|
+
*/
|
48
|
+
signer?: ethers.Signer;
|
49
|
+
/**
|
50
|
+
* If not set - will use default SEPOLIA_CONTRACT address.
|
51
|
+
*/
|
52
|
+
registryAddress?: string;
|
53
|
+
/**
|
54
|
+
* Credentials to use for generating proofs and connecting to the contract and network.
|
55
|
+
* If provided used for validating the network chainId and connecting to registry contract.
|
56
|
+
*/
|
57
|
+
credentials?: EncryptedCredentials | DecryptedCredentials;
|
58
|
+
};
|
59
|
+
type RegisterMembershipOptions = {
|
60
|
+
signature: string;
|
61
|
+
} | {
|
62
|
+
identity: IdentityCredential;
|
63
|
+
};
|
38
64
|
export declare class RLNInstance {
|
39
65
|
private zkRLN;
|
40
66
|
private witnessCalculator;
|
67
|
+
private started;
|
68
|
+
private starting;
|
69
|
+
private _contract;
|
70
|
+
private _signer;
|
71
|
+
private keystore;
|
72
|
+
private _credentials;
|
41
73
|
constructor(zkRLN: number, witnessCalculator: WitnessCalculator);
|
74
|
+
get contract(): undefined | RLNContract;
|
75
|
+
get signer(): undefined | ethers.Signer;
|
76
|
+
start(options?: StartRLNOptions): Promise<void>;
|
77
|
+
private determineStartOptions;
|
78
|
+
private decryptCredentialsIfNeeded;
|
79
|
+
registerMembership(options: RegisterMembershipOptions): Promise<undefined | DecryptedCredentials>;
|
80
|
+
/**
|
81
|
+
* Changes credentials in use by relying on provided Keystore earlier in rln.start
|
82
|
+
* @param id: string, hash of credentials to select from Keystore
|
83
|
+
* @param password: string or bytes to use to decrypt credentials from Keystore
|
84
|
+
*/
|
85
|
+
useCredentials(id: string, password: Password): Promise<void>;
|
86
|
+
createEncoder(options: WakuEncoderOptions): RLNEncoder;
|
87
|
+
createDecoder(contentTopic: ContentTopic): RLNDecoder<IDecodedMessage>;
|
42
88
|
generateIdentityCredentials(): IdentityCredential;
|
43
89
|
generateSeededIdentityCredential(seed: string): IdentityCredential;
|
44
90
|
insertMember(idCommitment: Uint8Array): void;
|
@@ -51,3 +97,4 @@ export declare class RLNInstance {
|
|
51
97
|
verifyWithRoots(proof: IRateLimitProof | Uint8Array, msg: Uint8Array, ...roots: Array<Uint8Array>): boolean;
|
52
98
|
verifyWithNoRoot(proof: IRateLimitProof | Uint8Array, msg: Uint8Array): boolean;
|
53
99
|
}
|
100
|
+
export {};
|
package/dist/rln.js
CHANGED
@@ -1,8 +1,14 @@
|
|
1
|
-
import {
|
1
|
+
import { createDecoder, createEncoder } from "@waku/core";
|
2
|
+
import init from "@waku/zerokit-rln-wasm";
|
2
3
|
import * as zerokitRLN from "@waku/zerokit-rln-wasm";
|
3
|
-
import { writeUIntLE } from "./byte_utils.js";
|
4
|
+
import { buildBigIntFromUint8Array, writeUIntLE } from "./byte_utils.js";
|
5
|
+
import { createRLNDecoder, createRLNEncoder } from "./codec.js";
|
6
|
+
import { SEPOLIA_CONTRACT } from "./constants.js";
|
4
7
|
import { dateToEpoch, epochIntToBytes } from "./epoch.js";
|
8
|
+
import { Keystore } from "./keystore/index.js";
|
9
|
+
import { extractMetaMaskSigner } from "./metamask.js";
|
5
10
|
import verificationKey from "./resources/verification_key.js";
|
11
|
+
import { RLNContract } from "./rln_contract.js";
|
6
12
|
import * as wc from "./witness_calculator.js";
|
7
13
|
/**
|
8
14
|
* Concatenate Uint8Arrays
|
@@ -22,15 +28,6 @@ function concatenate(...input) {
|
|
22
28
|
}
|
23
29
|
return result;
|
24
30
|
}
|
25
|
-
/**
|
26
|
-
* Transforms Uint8Array into BigInt
|
27
|
-
* @param array: Uint8Array
|
28
|
-
* @returns BigInt
|
29
|
-
*/
|
30
|
-
function buildBigIntFromUint8Array(array) {
|
31
|
-
const dataView = new DataView(array.buffer);
|
32
|
-
return dataView.getBigUint64(0, true);
|
33
|
-
}
|
34
31
|
const stringEncoder = new TextEncoder();
|
35
32
|
const DEPTH = 20;
|
36
33
|
async function loadWitnessCalculator() {
|
@@ -48,7 +45,7 @@ async function loadZkey() {
|
|
48
45
|
* @returns RLNInstance
|
49
46
|
*/
|
50
47
|
export async function create() {
|
51
|
-
await init();
|
48
|
+
await init?.();
|
52
49
|
zerokitRLN.init_panic_hook();
|
53
50
|
const witnessCalculator = await loadWitnessCalculator();
|
54
51
|
const zkey = await loadZkey();
|
@@ -123,6 +120,107 @@ export class RLNInstance {
|
|
123
120
|
constructor(zkRLN, witnessCalculator) {
|
124
121
|
this.zkRLN = zkRLN;
|
125
122
|
this.witnessCalculator = witnessCalculator;
|
123
|
+
this.started = false;
|
124
|
+
this.starting = false;
|
125
|
+
this.keystore = Keystore.create();
|
126
|
+
}
|
127
|
+
get contract() {
|
128
|
+
return this._contract;
|
129
|
+
}
|
130
|
+
get signer() {
|
131
|
+
return this._signer;
|
132
|
+
}
|
133
|
+
async start(options = {}) {
|
134
|
+
if (this.started || this.starting) {
|
135
|
+
return;
|
136
|
+
}
|
137
|
+
this.starting = true;
|
138
|
+
try {
|
139
|
+
const { signer, registryAddress } = await this.determineStartOptions(options);
|
140
|
+
this._signer = signer;
|
141
|
+
this._contract = await RLNContract.init(this, {
|
142
|
+
registryAddress: registryAddress,
|
143
|
+
signer: signer,
|
144
|
+
});
|
145
|
+
this.started = true;
|
146
|
+
}
|
147
|
+
finally {
|
148
|
+
this.starting = false;
|
149
|
+
}
|
150
|
+
}
|
151
|
+
async determineStartOptions(options) {
|
152
|
+
const credentials = await this.decryptCredentialsIfNeeded(options.credentials);
|
153
|
+
let chainId = credentials?.membership.chainId;
|
154
|
+
const registryAddress = credentials?.membership.address ||
|
155
|
+
options.registryAddress ||
|
156
|
+
SEPOLIA_CONTRACT.address;
|
157
|
+
if (registryAddress === SEPOLIA_CONTRACT.address) {
|
158
|
+
chainId = SEPOLIA_CONTRACT.chainId;
|
159
|
+
}
|
160
|
+
const signer = options.signer || (await extractMetaMaskSigner());
|
161
|
+
const currentChainId = await signer.getChainId();
|
162
|
+
if (chainId && chainId !== currentChainId) {
|
163
|
+
throw Error(`Failed to start RLN contract, chain ID of contract is different from current one: contract-${chainId}, current network-${currentChainId}`);
|
164
|
+
}
|
165
|
+
return {
|
166
|
+
signer,
|
167
|
+
registryAddress,
|
168
|
+
credentials: options.credentials,
|
169
|
+
};
|
170
|
+
}
|
171
|
+
async decryptCredentialsIfNeeded(credentials) {
|
172
|
+
if (!credentials) {
|
173
|
+
return;
|
174
|
+
}
|
175
|
+
if ("identity" in credentials) {
|
176
|
+
this._credentials = credentials;
|
177
|
+
return credentials;
|
178
|
+
}
|
179
|
+
const keystore = Keystore.fromString(credentials.keystore);
|
180
|
+
if (!keystore) {
|
181
|
+
throw Error("Failed to start RLN: cannot read Keystore provided.");
|
182
|
+
}
|
183
|
+
this.keystore = keystore;
|
184
|
+
this._credentials = await keystore.readCredential(credentials.id, credentials.password);
|
185
|
+
return this._credentials;
|
186
|
+
}
|
187
|
+
async registerMembership(options) {
|
188
|
+
if (!this.contract) {
|
189
|
+
throw Error("RLN Contract is not initialized.");
|
190
|
+
}
|
191
|
+
let identity = "identity" in options && options.identity;
|
192
|
+
if ("signature" in options) {
|
193
|
+
identity = await this.generateSeededIdentityCredential(options.signature);
|
194
|
+
}
|
195
|
+
if (!identity) {
|
196
|
+
throw Error("Missing signature or identity to register membership.");
|
197
|
+
}
|
198
|
+
return this.contract.registerWithIdentity(identity);
|
199
|
+
}
|
200
|
+
/**
|
201
|
+
* Changes credentials in use by relying on provided Keystore earlier in rln.start
|
202
|
+
* @param id: string, hash of credentials to select from Keystore
|
203
|
+
* @param password: string or bytes to use to decrypt credentials from Keystore
|
204
|
+
*/
|
205
|
+
async useCredentials(id, password) {
|
206
|
+
this._credentials = await this.keystore?.readCredential(id, password);
|
207
|
+
}
|
208
|
+
createEncoder(options) {
|
209
|
+
if (!this._credentials) {
|
210
|
+
throw Error("Failed to create Encoder: missing RLN credentials. Use createRLNEncoder directly.");
|
211
|
+
}
|
212
|
+
return createRLNEncoder({
|
213
|
+
encoder: createEncoder(options),
|
214
|
+
rlnInstance: this,
|
215
|
+
index: this._credentials.membership.treeIndex,
|
216
|
+
credential: this._credentials.identity,
|
217
|
+
});
|
218
|
+
}
|
219
|
+
createDecoder(contentTopic) {
|
220
|
+
return createRLNDecoder({
|
221
|
+
rlnInstance: this,
|
222
|
+
decoder: createDecoder(contentTopic),
|
223
|
+
});
|
126
224
|
}
|
127
225
|
generateIdentityCredentials() {
|
128
226
|
const memKeys = zerokitRLN.generateExtendedMembershipKey(this.zkRLN); // TODO: rename this function in zerokit rln-wasm
|
package/dist/rln.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"rln.js","sourceRoot":"","sources":["../src/rln.ts"],"names":[],"mappings":"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"}
|
package/dist/rln_contract.d.ts
CHANGED
@@ -1,34 +1,44 @@
|
|
1
1
|
import { ethers } from "ethers";
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
import type { DecryptedCredentials } from "./keystore/index.js";
|
3
|
+
import { type IdentityCredential, RLNInstance } from "./rln.js";
|
4
|
+
type Member = {
|
5
|
+
idCommitment: string;
|
6
|
+
index: ethers.BigNumber;
|
6
7
|
};
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
type Signer = ethers.Signer;
|
9
|
+
type RLNContractOptions = {
|
10
|
+
signer: Signer;
|
11
|
+
registryAddress: string;
|
10
12
|
};
|
11
|
-
|
13
|
+
type RLNStorageOptions = {
|
14
|
+
storageIndex?: number;
|
15
|
+
};
|
16
|
+
type RLNContractInitOptions = RLNContractOptions & RLNStorageOptions;
|
17
|
+
type FetchMembersOptions = {
|
12
18
|
fromBlock?: number;
|
13
19
|
fetchRange?: number;
|
14
20
|
fetchChunks?: number;
|
15
21
|
};
|
16
22
|
export declare class RLNContract {
|
17
|
-
private
|
18
|
-
private membersFilter;
|
23
|
+
private registryContract;
|
19
24
|
private merkleRootTracker;
|
25
|
+
private deployBlock;
|
26
|
+
private storageIndex;
|
27
|
+
private storageContract;
|
28
|
+
private _membersFilter;
|
20
29
|
private _members;
|
21
|
-
static init(rlnInstance: RLNInstance, options:
|
22
|
-
constructor(rlnInstance: RLNInstance, {
|
30
|
+
static init(rlnInstance: RLNInstance, options: RLNContractInitOptions): Promise<RLNContract>;
|
31
|
+
constructor(rlnInstance: RLNInstance, { registryAddress, signer }: RLNContractOptions);
|
32
|
+
private initStorageContract;
|
23
33
|
get contract(): ethers.Contract;
|
24
34
|
get members(): Member[];
|
35
|
+
private get membersFilter();
|
25
36
|
fetchMembers(rlnInstance: RLNInstance, options?: FetchMembersOptions): Promise<void>;
|
26
37
|
processEvents(rlnInstance: RLNInstance, events: ethers.Event[]): void;
|
27
38
|
private insertMembers;
|
28
39
|
private removeMembers;
|
29
40
|
subscribeToMembers(rlnInstance: RLNInstance): void;
|
30
|
-
|
31
|
-
registerWithKey(credential: IdentityCredential): Promise<ethers.Event | undefined>;
|
41
|
+
registerWithIdentity(identity: IdentityCredential): Promise<DecryptedCredentials | undefined>;
|
32
42
|
roots(): Uint8Array[];
|
33
43
|
}
|
34
44
|
export {};
|