I was trying to use the existing tooling of zk-snark (snark-js) but their BLS12_381 based power of tau ceremony gets some error which I have forwarded on their Github issues. However in the hopes of using it successfully in Sophia language’s BLS12_381 functions and types with the values created within the scalar field of BN128 I am trying different approaches and one of those got me here…
Line 23 verificationKey() returns list(int): are verification keys in int then converted to
Line 54 points48ToVerify() returns list(int): are converted integers from Calldata (To verify: type
Line 73 points32ToVerify() returns list(int): are converted integers from Calldata (To verify: type
Init runs smoothly with higher gas amount but
verify_proof() gives error:
VerifyContract: Verify_proof_method: Error: Invocation failed: "Incomplete patterns" at d (node_modules/@aeternity/aepp-sdk/dist/aepp-sdk.js:1:99543) at Object.c.call (node_modules/@aeternity/aepp-sdk/dist/aepp-sdk.js:1:101493) at processTicksAndRejections (internal/process/task_queues.js:95:5) at async Context.<anonymous> (test/verifyTests.js:148:15)
And with the same points the Solidity Version is:
The valid call data that will return true upon running
verifyProof with it in solidity is:
and I am currently not aware of how to pass
fr types from outside the contracts So I am using inner conversions to pass and convert integers to relative types and construct correct records like
fp2. I tried passing bytes padded with 0 to match the requirement as 32 and 48 bytes for
fp but I was getting type errors. I hope you can also provide some more examples on it in the future regarding
fr (Montgomery) as inputs with editors or js-sdk.
Please let me know about this error and what should I do to solve it.