one more test

This commit is contained in:
Alexey 2021-02-06 00:04:15 +03:00
parent 822f268126
commit 9039f38440

View File

@ -141,60 +141,70 @@ describe('TornadoTrees', function () {
updatedRoot = await tornadoTrees.depositRoot() updatedRoot = await tornadoTrees.depositRoot()
expect(updatedRoot).to.be.equal(tree.root()) expect(updatedRoot).to.be.equal(tree.root())
}) })
// it('should work for batch+N filled v1 tree', async () => { it('should work for batch+N filled v1 tree', async () => {
// for (let i = 4; i < 6; i++) { for (let i = 4; i < 6; i++) {
// notes.push({ notes.push({
// instance: instances[i % instances.length], instance: instances[i % instances.length],
// depositBlock: blocks[i % blocks.length], depositBlock: blocks[i % blocks.length],
// withdrawalBlock: 2 + i + i * 4 * 60 * 24, withdrawalBlock: 2 + i + i * 4 * 60 * 24,
// commitment: randomBN(), commitment: randomBN(),
// nullifierHash: randomBN(), nullifierHash: randomBN(),
// }) })
// await register(notes[i], tornadoTreesV1, tornadoProxy) await register(notes[i], tornadoTreesV1, tornadoProxy)
// } }
// const TornadoTrees = await ethers.getContractFactory('TornadoTreesMock') const TornadoTrees = await ethers.getContractFactory('TornadoTreesMock')
// const newTornadoTrees = await TornadoTrees.deploy( const newTornadoTrees = await TornadoTrees.deploy(
// operator.address, operator.address,
// tornadoProxy.address, tornadoProxy.address,
// tornadoTreesV1.address, tornadoTreesV1.address,
// verifier.address, verifier.address,
// ) )
// let { input, args } = controller.batchTreeUpdate(tree, depositEvents) let { input, args } = controller.batchTreeUpdate(tree, depositEvents)
// let proof = await controller.prove(input, './artifacts/circuits/BatchTreeUpdate') let proof = await controller.prove(input, './artifacts/circuits/BatchTreeUpdate')
// await newTornadoTrees.updateDepositTree(proof, ...args) await newTornadoTrees.updateDepositTree(proof, ...args)
// let updatedRoot = await newTornadoTrees.depositRoot() let updatedRoot = await newTornadoTrees.depositRoot()
// expect(updatedRoot).to.be.equal(tree.root()) expect(updatedRoot).to.be.equal(tree.root())
// // register 6 new deposits for the new trees // register 6 new deposits for the new trees
// for (let i = 0; i < notes.length; i++) { for (let i = 0; i < notes.length; i++) {
// await register(notes[i], newTornadoTrees, tornadoProxy) await register(notes[i], newTornadoTrees, tornadoProxy)
// } }
// // get 2 events from v1 tress // get 2 events from v1 tress
// const events = notes.slice(4).map((note) => ({ let events = notes.slice(4).map((note) => ({
// hash: toFixedHex(note.commitment), hash: toFixedHex(note.commitment),
// instance: toFixedHex(note.instance, 20), instance: toFixedHex(note.instance, 20),
// block: toFixedHex(note.depositBlock, 4), block: toFixedHex(note.depositBlock, 4),
// })) }))
// const registeredEvents = await newTornadoTrees.queryFilter(depositDataEventFilter) const registeredEvents = await newTornadoTrees.queryFilter(depositDataEventFilter)
// console.log('registeredEvents', JSON.stringify(registeredEvents, null, 2)) events = events.concat(
// // events = events.concat( registeredEvents.slice(0, 2).map((e) => ({
// // registeredEvents.slice(0, 2).map((e) => ({ hash: toFixedHex(e.args.hash),
// // hash: toFixedHex(e.args.hash), instance: toFixedHex(e.args.instance, 20),
// // instance: toFixedHex(e.args.instance, 20), block: toFixedHex(e.args.block, 4),
// // block: toFixedHex(e.args.block, 4), })),
// // })), )
// // ) //
// // console.log('events', events) ;({ input, args } = controller.batchTreeUpdate(tree, events))
// // ;({ input, args } = controller.batchTreeUpdate(tree, events)) proof = await controller.prove(input, './artifacts/circuits/BatchTreeUpdate')
// // proof = await controller.prove(input, './artifacts/circuits/BatchTreeUpdate') await newTornadoTrees.updateDepositTree(proof, ...args)
// // await newTornadoTrees.updateDepositTree(proof, ...args) updatedRoot = await newTornadoTrees.depositRoot()
// // updatedRoot = await newTornadoTrees.depositRoot() expect(updatedRoot).to.be.equal(tree.root())
// // expect(updatedRoot).to.be.equal(tree.root())
// }) events = registeredEvents.slice(6).map((e) => ({
hash: toFixedHex(e.args.hash),
instance: toFixedHex(e.args.instance, 20),
block: toFixedHex(e.args.block, 4),
}))
;({ input, args } = controller.batchTreeUpdate(tree, events))
proof = await controller.prove(input, './artifacts/circuits/BatchTreeUpdate')
await newTornadoTrees.updateDepositTree(proof, ...args)
updatedRoot = await newTornadoTrees.depositRoot()
expect(updatedRoot).to.be.equal(tree.root())
})
it('should reject for partially filled tree') it('should reject for partially filled tree')
it('should reject for outdated deposit root') it('should reject for outdated deposit root')
it('should reject for incorrect insert index') it('should reject for incorrect insert index')