Source code

Question 1

A call to PrivateToken.transfer may revert for which, if any, of the following reasons?

(A): The current root does not match either addProof.oldRoot or subProof.oldRoot.

(B): The amounts declared in addProof and subProof do not match.

(C): A nullifier has been used in the past.

(D): Either addProof or subProof does not verify.

(E): None of the above

Question 2

Which, if any, of the following statements hold with respect to MerkleTreeAdd?

(A): The MerkleTreeAdd circuit will only verify computations where MerkleTreeAdd.oldVal is in the merkle tree with root MerkleTreeAdd.oldRoot.

(B): The MerkleTreeAdd circuit will only verify computations where the leaf is at the location given by MerkleTreeAdd.index in the merkle tree with root MerkleTreeAdd.oldRoot.

(C): The MerkleTreeAdd circuit will only verify computations where the root calculated by ComputeTreeRoot matches MerkleTreeAdd.oldRoot.

(D): The MerkleTreeAdd circuit will only verify computations where the sum of MerkleTreeAdd.oldVal and MerkleTreeAdd.amount are in the merkle tree with root MerkleTreeAdd.newRoot. (E): None of the above

Question 3