function mint() public {

bool result = mv.verifyTx(
proofs[msg.sender].a,
proofs[msg.sender].a_p,
proofs[msg.sender].b,
proofs[msg.sender].b_p,
proofs[msg.sender].c,
proofs[msg.sender].c_p,
proofs[msg.sender].h,
proofs[msg.sender].k,
msg.sender);




require(result); 
bytes8 d = mv.getInputBits(0, msg.sender); 
bytes8 z = mv.getInputBits(64, msg.sender);
for (uint i=0; i<zCount; i++) { 
require(ds[i]!= d);
}
zs[zCount] = z; 
ds[zCount++] = d; 
bytes8 root = merkle(0,0); 
currentRootIndex = roots.push(root)-1; 
}