-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updates ABI Encoder #201 #359
Conversation
Would be super awesome to have this!
|
Regarding Remix: I'm currently having some issue with the gm17 contract, for some reason the compiler wont link the imported libraries properly so can't test the gas usage for that one atm, still investigating. Overall it seems to have a positive effect on deployment and execution cost. I used the root code for the comparison, with the values given in the getting started. Regarding having two versions of the contract, I agree. Should I implement that? |
@petscheit I checked with @yann300 from Remix and passing structs works fine with the new interface which is being rolled out. So with this and ABIv2 being still experimental, I guess for this PR it would make sense to have a |
I agree. This ABIv2 contract should be covered by the tests @petscheit is currently adding to the CI pipeline as well. |
OK, sounds good to me too. I"ll get going on this now and implement it into the testing pipeline aswell. @Schaeff Should I change the proof.json format so it works for the different ABI's? I'm thinking the proof.json could have two sections, one for abiv1 and one for abiv2 and they contain the data needed for the proof in copy/paste friendly format. Would also make the circleci integration easier |
If i may chime in here: The goal is to have the proof.json as an independent minimal format and then offer a cli-option to convert into copy-past friendly representations for various target platforms/IDEs. |
Hey @petscheit , closing this as we merged #414 please shout if I got this wrong! |
Updates the ABIEncoder to v2, which enables us to pass structs as parameters to functions. Simplifies the Verifier.sol a bit and is also needed for application tests (takes a lot of complexity out of the testing script because I can simply pass the proof object from the proof.json instead of parsing every value separately when calling verifyTx)