feat: makes mimcsponge contract act like the circuit version
Kobi Gurkan kobigurk@gmail.com
Mon, 08 Jul 2019 10:52:23 +0300
2 files changed,
9 insertions(+),
5 deletions(-)
M
package-lock.json
→
package-lock.json
@@ -8632,7 +8632,7 @@ }
}, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-cancelable": {@@ -9248,7 +9248,7 @@ }
}, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": {
M
src/mimcsponge_gencontract.js
→
src/mimcsponge_gencontract.js
@@ -50,7 +50,11 @@ C.mulmod(); // d=t^5 xR q xL k q
C.addmod(); // e=t^5+xR xL k q (for next round: xL xR k q) for (let i=0; i<n-1; i++) { - ci = Web3Utils.keccak256(ci); + if (i < n-2) { + ci = Web3Utils.keccak256(ci); + } else { + ci = "0x00"; + } C.swap(1); // xR xL k q C.dup(3); // q xR xL k q C.dup(3); // k q xR xL k q@@ -74,9 +78,9 @@ C.swap(2); // xR d q xL k q
C.addmod(); // e=t^5+xR xL k q (for next round: xL xR k q) } - C.push("0x00"); - C.mstore(); // Save it to pos 0; C.push("0x20"); + C.mstore(); // Save it to pos 0; + C.push("0x00"); C.mstore(); // Save it to pos 1; C.push("0x40"); C.push("0x00");