test solidity-zokratos integration

This commit is contained in:
Evgeny Marchenko
2019-06-22 19:10:54 +03:00
parent 49aa30e5ad
commit 39cdc6e0e5
4 changed files with 641 additions and 6 deletions

View File

@ -0,0 +1,23 @@
pragma solidity ^0.5.4;
pragma experimental ABIEncoderV2;
import "./Structs.sol";
import "./verifier.sol";
contract VerifierProxy is Structs {
Verifier internal verifier;
constructor(Verifier ver) public {
verifier = ver;
}
// Truffle gives `UnimplementedFeatureError: Encoding struct from calldata is not yet supported.`
// that's why function is public and uses memory location modifier
function isValid(Data memory data, Proof memory proof) public returns (bool) {
bytes memory payload = abi.encodeWithSelector(verifier.verifyTx.selector, proof, data);
(bool success, bytes memory r) = address(verifier).call(payload);
require(success);
return abi.decode(r, (bool));
}
}