Skip to content

Commit 8392173

Browse files
authored
Merge pull request #272 from semaphore-protocol/fix/data-ethers
Correct check for group existence Former-commit-id: 46c2ad2
2 parents 1878ce2 + 2649030 commit 8392173

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

packages/data/src/ethers.test.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,19 @@ describe("SemaphoreEthers", () => {
2828
it("Should instantiate a SemaphoreEthers object with different networks", () => {
2929
semaphore = new SemaphoreEthers()
3030
const semaphore1 = new SemaphoreEthers("arbitrum")
31-
const semaphore2 = new SemaphoreEthers("homestead", {
31+
const semaphore2 = new SemaphoreEthers("matic")
32+
const semaphore3 = new SemaphoreEthers("homestead", {
3233
address: "0x0000000000000000000000000000000000000000",
3334
startBlock: 0
3435
})
3536

3637
expect(semaphore.network).toBe("goerli")
3738
expect(semaphore.contract).toBeInstanceOf(Object)
3839
expect(semaphore1.network).toBe("arbitrum")
39-
expect(semaphore2.network).toBe("homestead")
40-
expect(semaphore2.options.startBlock).toBe(0)
41-
expect(semaphore2.options.address).toContain("0x000000")
40+
expect(semaphore2.network).toBe("maticmum")
41+
expect(semaphore3.network).toBe("homestead")
42+
expect(semaphore3.options.startBlock).toBe(0)
43+
expect(semaphore3.options.address).toContain("0x000000")
4244
})
4345

4446
it("Should instantiate a SemaphoreEthers object with different providers", () => {
@@ -249,6 +251,14 @@ describe("SemaphoreEthers", () => {
249251

250252
describe("# getGroupVerifiedProofs", () => {
251253
it("Should return a list of group verified proofs", async () => {
254+
getEventsMocked.mockReturnValueOnce(
255+
Promise.resolve([
256+
{
257+
merkleTreeDepth: "20",
258+
zeroValue: "0"
259+
}
260+
])
261+
)
252262
getEventsMocked.mockReturnValueOnce(
253263
Promise.resolve([
254264
{

packages/data/src/ethers.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,17 +246,19 @@ export default class SemaphoreEthers {
246246
async getGroupVerifiedProofs(groupId: string): Promise<any> {
247247
checkParameter(groupId, "groupId", "string")
248248

249+
const [groupCreatedEvent] = await getEvents(this._contract, "GroupCreated", [groupId], this._options.startBlock)
250+
251+
if (!groupCreatedEvent) {
252+
throw new Error(`Group '${groupId}' not found`)
253+
}
254+
249255
const proofVerifiedEvents = await getEvents(
250256
this._contract,
251257
"ProofVerified",
252258
[groupId],
253259
this._options.startBlock
254260
)
255261

256-
if (proofVerifiedEvents.length === 0) {
257-
throw new Error(`Group '${groupId}' not found`)
258-
}
259-
260262
return proofVerifiedEvents.map((event) => ({
261263
signal: event.signal.toString(),
262264
merkleTreeRoot: event.merkleTreeRoot.toString(),

0 commit comments

Comments
 (0)