Skip to content

Commit 77dbaed

Browse files
committed
feat: update add new key test
1 parent ce7ec68 commit 77dbaed

File tree

14 files changed

+3896
-354
lines changed

14 files changed

+3896
-354
lines changed

docs/AddNewKey-Test-Summary.md

Lines changed: 434 additions & 0 deletions
Large diffs are not rendered by default.

e2e/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"test:stateTree": "pnpm run mocha-test tests/state-tree.e2e.test.ts",
1515
"test:batch-publish": "pnpm run mocha-test tests/batch-publish.e2e.test.ts",
1616
"test:key-rotation": "pnpm run mocha-test tests/key-rotation.e2e.test.ts",
17+
"test:add-new-key": "pnpm run mocha-test tests/add-new-key.e2e.test.ts",
1718
"generate:vectors": "ts-node poseidon-test/generate-vectors.ts",
1819
"pretest:poseidon": "pnpm run generate:vectors",
1920
"test:poseidon": "pnpm run mocha-test tests/poseidon-consistency.e2e.test.ts",

e2e/src/contracts/contractClients.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,25 @@ export class AmaciContractClient extends BaseContractClient {
119119
});
120120
}
121121

122+
/**
123+
* Pre add new key (uses pre-uploaded deactivate data)
124+
*/
125+
async preAddNewKey(
126+
pubkey: { x: string; y: string },
127+
nullifier: string,
128+
d: [string, string, string, string],
129+
proof: { a: string; b: string; c: string }
130+
): Promise<any> {
131+
return await this.execute({
132+
pre_add_new_key: {
133+
pubkey,
134+
nullifier,
135+
d,
136+
groth16_proof: proof
137+
}
138+
});
139+
}
140+
122141
/**
123142
* Publish message (vote)
124143
*/
@@ -269,6 +288,24 @@ export class AmaciContractClient extends BaseContractClient {
269288
async getProcessedDMsgCount(): Promise<any> {
270289
return await this.query({ get_processed_d_msg_count: {} });
271290
}
291+
292+
/**
293+
* Upload deactivate message (for pre-add-new-key)
294+
*/
295+
async uploadDeactivateMessage(deactivateMessage: string[][]): Promise<any> {
296+
return await this.execute({
297+
upload_deactivate_message: {
298+
deactivate_message: deactivateMessage
299+
}
300+
});
301+
}
302+
303+
/**
304+
* Query: Get deactivate message
305+
*/
306+
async getDeactivateMessage(): Promise<string[][]> {
307+
return await this.query({ get_deactivate_message: {} });
308+
}
272309
}
273310

274311
/**

0 commit comments

Comments
 (0)