Skip to content

Commit

Permalink
Merge pull request #207 from 0xPolygonHermez/feature/update-doc-verif…
Browse files Browse the repository at this point in the history
…ydeploy-elderberry

update verify document
  • Loading branch information
invocamanman authored Mar 5, 2024
2 parents 47e4834 + 86c39f9 commit 3542481
Showing 1 changed file with 72 additions and 64 deletions.
136 changes: 72 additions & 64 deletions verifyMainnetDeployment/verifyMainnetProofVerifier.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Verify deployment on Mainnet the proof verifier smart contract (etrog-fork.7)
# Verify deployment on Mainnet the proof verifier smart contract (elderberry-fork.8)

In order to verify the smart contract, you will need a machine with at least 256GB of RAM and 16 cores.

Expand Down Expand Up @@ -82,7 +82,7 @@ this step takes less than 1 minute.
cd ~
git clone https://github.com/0xPolygonHermez/zkevm-proverjs.git
cd zkevm-proverjs
git checkout ede545493ca4ab6cbd136dbcc452c7794d01bb08
git checkout 1f228c110be466ec8b91d251713df4194ba49aeb
npm install
tmux -c "npm run buildsetup --bctree=../zkevm-prover/build/bctree"
```
Expand Down Expand Up @@ -151,7 +151,7 @@ sha256sum contracts/verifiers/FflonkVerifier.sol
The result should be:

```
8ae7baadd9f2ffb07862b0a74c20e1ad1cc2d4136e416ce5beac82a4e9a44923
9bf2d96c589a64ba8ebde36f280993d1dc0ac3ca3cac1d09b5550055b8a523e8
```

To compile smartcontract execute following command:
Expand All @@ -167,28 +167,29 @@ npx hardhat compile
Bytecode of smartcontract was on bytecode property of json file _FflonkVerifier_ generated on path _artifacts/contracts/verifiers/FflonkVerifier.sol/_

```
608060405234801561000f575f80fd5b506159c7
806200001e5f395ff3fe60806040523480156100
0f575f80fd5b5060043610610029575f3560e01c
80639121da8a1461002d575b5f80fd5b61004061
003b366004615950565b610054565b6040519015
15815260200160405180910390f35b5f6158e056
5b6040516104c08201518082526020820191507f
30644e72e131a029b85045b68181585d2833e848
79b9709143e1f593f00000016104e08401518209
90508082526020820191507f30644e72e131a029
608060405234801561001057600080fd5b506159
ee80620000216000396000f3fe60806040523480
1561001057600080fd5b506004361061002b5760
003560e01c80639121da8a14610030575b600080
fd5b61004361003e366004615973565b61005756
5b604051901515815260200160405180910390f3
5b6000615901565b6040516104c0820151808252
6020820191507f30644e72e131a029b85045b681
81585d2833e84879b9709143e1f593f000000161
04e0840151820990508082526020820191507f30
:
:
5b61590f8161286e565b61591983826128a7565b
61592281612906565b61592b81613e54565b6159
3481614549565b61593d816151d0565b61594681
6156ce565b9050805f5260205ff35b5f80610320
808486031215615963575f80fd5b610300840185
811115615974575f80fd5b849350858286011115
615985575f80fd5b8092505050925092905056fe
a2646970667358221220761b1f07d5034592f204
cb3439dbfabc28fb771c6e1bc6c8016e3d7b42ad
5a2164736f6c63430008140033
81612878565b61593a83826128b1565b61594381
612911565b61594c81613e61565b615955816145
59565b61595e816151f0565b615967816156ee56
5b90508060005260206000f35b60008061032080
848603121561598857600080fd5b610300840185
81111561599a57600080fd5b8493508582860111
156159ac57600080fd5b80925050509250929050
56fea2646970667358221220065c100f41ce696b
303e853b86cdaa6a5ef43dec684aa118e566f3fa
613427c464736f6c63430008140033
```

Verify bytecode compiled:
Expand All @@ -201,29 +202,30 @@ cat ./artifacts/contracts/verifiers/FflonkVerifier.sol/FflonkVerifier.json | jq
The result should be:

```
34c11f41d424eb821b42630183c4b97dc8689163276ca50095e5918202950703
27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22
```

## Download bytecode of deployed smartcontract

To download bytecode of deployed smartcontract, need the address of smart contract, in this case it's _0x1C3A3da552b8662CD69538356b1E7c2E9CC1EBD8_.
To download bytecode of deployed smartcontract, need the address of smart contract, in this case it's _0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be_.

### Download by copying data manually

Go to Etherscan or Beaconcha to get transaction bytecode.

Associated with address _0x1C3A3da552b8662CD69538356b1E7c2E9CC1EBD8_ found the transacction _0x2f0ce26dd454211f84df373e7b37be2d683cb71532bc6d0ec63d6fcdbaa4c5e3_.
Associated with address _0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be_ found the transacction _0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9_.

- ### Etherscan (https://etherscan.io)
https://etherscan.io/address/0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be
https://etherscan.io/tx/0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9

https://etherscan.io/address/0x1C3A3da552b8662CD69538356b1E7c2E9CC1EBD8
https://etherscan.io/tx/0x2f0ce26dd454211f84df373e7b37be2d683cb71532bc6d0ec63d6fcdbaa4c5e3

Click to see more > Input Data > Select all data and copy to clipboard.

- ### Beacocha (https://beaconcha.in)
https://beaconcha.in/address/0x1C3A3da552b8662CD69538356b1E7c2E9CC1EBD8
https://beaconcha.in/tx/0x2f0ce26dd454211f84df373e7b37be2d683cb71532bc6d0ec63d6fcdbaa4c5e3
https://beaconcha.in/address/0x4AaBBA26EA9E7A7fbD052d17a167e6aE3F8eC7Be
https://beaconcha.in/tx/0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9

Advanced Info > Call Data > Select all data and copy to clipboard.

_NOTE: Don't use button "Copy Raw Data" because it generated non compatible format._
Expand All @@ -242,7 +244,7 @@ In nano, to paste the clipboard to the file use CTRL+P, save content using CTRL+
```bash
cd ~/contract
L1_ENDPOINT=<YOUR_L1_ENDPOINT_HERE>
curl -s -X POST -H "Content-Type: application/json" --data '{"method":"eth_getTransactionByHash","params":["0x2f0ce26dd454211f84df373e7b37be2d683cb71532bc6d0ec63d6fcdbaa4c5e3"], "id":1,"jsonrpc":"2.0"}' $L1_ENDPOINT | jq .result.input -r > FflonkVerifier.sol.explorer.bytecode
curl -s -X POST -H "Content-Type: application/json" --data '{"method":"eth_getTransactionByHash","params":["0x6cc2cbf18cefe30ec2b4776b525e187f06f88bb52fe94c1b0dd2629b199fd9c9"], "id":1,"jsonrpc":"2.0"}' $L1_ENDPOINT | jq .result.input -r > FflonkVerifier.sol.explorer.bytecode
```

## Compare bytecodes
Expand All @@ -264,8 +266,8 @@ sha256sum FflonkVerifier.sol.*.bytecode
The result should be:

```
34c11f41d424eb821b42630183c4b97dc8689163276ca50095e5918202950703 FflonkVerifier.sol.compiled.bytecode
34c11f41d424eb821b42630183c4b97dc8689163276ca50095e5918202950703 FflonkVerifier.sol.explorer.bytecode
27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22 FflonkVerifier.sol.compiled.bytecode
27270e1846e7e8512ab9cc311a96a1425a03adda282b18d5beb521dfe09c3d22 FflonkVerifier.sol.explorer.bytecode
```

## Generated files hash
Expand All @@ -280,90 +282,96 @@ The result should be:
<tr><td colspan=2><b>buildstoragerom</b></td></tr>
<tr><td>storage_sm_rom.json</td><td>676c3f58263fc284bc53ef949dd1acedcfb090f3287ee080b2a277ed2157894a</td></tr>
<tr><td colspan=2><b>buildconstants</b></td></tr>
<tr><td>zkevm.const</td><td>3d0c910c9bfa143209e8f545e23e2e98b29f4f5a40c04001fc8254aee9f121c7</td></tr>
<tr><td>zkevm.const</td><td>ca00d4c994f4793c14b19a9a26f17f170165b9177ada598f94a416604a6ec0b8</td></tr>
<tr><td colspan=2><b>buildstarkinfo</b></td></tr>
<tr><td>zkevm.starkstruct.json</td><td>284b6ce275c637af4a0b4b10cd83a881c6f1b21e21ad7ea2276379ed8393b099</td></tr>
<tr><td>zkevm.starkinfo.json</td><td>cd4615be096817d14b3b19780897ad39f5cd26f83e5d17518dae7688563fcb54</td></tr>
<tr><td colspan=2><b>buildconstanttree</b></td></tr>
<tr><td>zkevm.verkey.json</td><td>7d024c2295c3bc478de5a71c4006ede5731420236651e29a384609c913c8eee9</td></tr>
<tr><td>zkevm.consttree</td><td>3d0c910c9bfa143209e8f545e23e2e98b29f4f5a40c04001fc8254aee9f121c7</td></tr>
<tr><td>zkevm.verkey.json</td><td>466b663f730c032b235e7c9ac57d4492bdeea51af8b62bc204ef20700de88c6d</td></tr>
<tr><td>zkevm.consttree</td><td>ca00d4c994f4793c14b19a9a26f17f170165b9177ada598f94a416604a6ec0b8</td></tr>
<tr><td colspan=2><b>gencircom</b></td></tr>
<tr><td>zkevm.verifier.circom</td><td>e832840aa97ca0e47a448f24ac7019ea80bfb6e9354cbe2fd7a6dada1d5d807b</td></tr>
<tr><td>zkevm.verifier.circom</td><td>4a9abd5c5d31f3675cac455fb4e8e06a1f524d86e4e6e18f32f0090f017c9f6d</td></tr>
<tr><td colspan=2><b>compilecircom</b></td></tr>
<tr><td>zkevm.verifier.r1cs</td><td>25f656f632964f8c7800c4d222f34a6e94a576c9b4f3b81fbc2ba6f03889719f</td></tr>
<tr><td>zkevm.verifier.sym</td><td>e32fc039e6bb550f7d2e375804b0679c6761d488111e6aa9b3b3a638af08ec36</td></tr>
<tr><td>zkevm.verifier.r1cs</td><td>3ed36eec0462885d480e6e3023f91e0265aad8c5556aa33d6c7b34e866e59605</td></tr>
<tr><td>zkevm.verifier.sym</td><td>57803c3774b227440b0cae55bace553a198ec675d8bdae72b37bbc2a59b7d9c9</td></tr>
<tr><td colspan=2><b>c12a_setup</b></td></tr>
<tr><td>c12a.pil</td><td>13b74f6e33dcbfcb9aa1a5eb7a93691635f51f33aa91e7c867dec11509c93f4d</td></tr>
<tr><td>c12a.const</td><td>5fffa6480307f60c9c1202539ae39051cbcb72863bb8e2db5bebf74a2d048f9b</td></tr>
<tr><td>c12a.const</td><td>96b15b147af5ffcf08f2692d6bcbc149ca46521f80a2d5476da017c78c673cb7</td></tr>
<tr><td>c12a.exec</td><td>6fe8e529645f1b72de3851ecd50dde6b830846c4cd3af0b83267151b11ec45e1</td></tr>
<tr><td colspan=2><b>c12a_buildstarkinfo</b></td></tr>
<tr><td>c12a.starkstruct.json</td><td>c8ceea75f0aa05fdbdb20ac41b224355fde07a0dbeecd6649ff8c2636b9a759c</td></tr>
<tr><td>c12a.starkinfo.json</td><td>c05b27f4538e8071a0e8045faeb8a6de8771053587ad657b07c9401b9597a663</td></tr>
<tr><td colspan=2><b>c12a_buildconstanttree</b></td></tr>
<tr><td>c12a.verkey.json</td><td>e6a963de090b49ce93c058ffe5438f209091186987b5fc162d6e9122bf86f333</td></tr>
<tr><td>c12a.consttree</td><td>5fffa6480307f60c9c1202539ae39051cbcb72863bb8e2db5bebf74a2d048f9b</td></tr>
<tr><td>c12a.verkey.json</td><td>20f9ed1d602fe5155c0c93f342fda579987cd85b9011fd8658a427ffd09e7468</td></tr>
<tr><td>c12a.consttree</td><td>96b15b147af5ffcf08f2692d6bcbc149ca46521f80a2d5476da017c78c673cb7</td></tr>
<tr><td colspan=2><b>c12a_gencircom</b></td></tr>
<tr><td>c12a.verifier.circom</td><td>306ef5102ad64e14cb385e7e888dce3fccd73dbd55aa443c1561152779fdf9dd</td></tr>
<tr><td>c12a.verifier.circom</td><td>63c0537db15875dd0e61696c5b97344424f1a1dffaa201ae04bded78feb5bb0e</td></tr>
<tr><td colspan=2><b>recursive1_gencircom</b></td></tr>
<tr><td>recursive1.circom</td><td>83543e99e0a1f660761fa8a06310dfd9b69d0c0a358a73b6baec55d9587234e5</td></tr>
<tr><td colspan=2><b>recursive1_compile</b></td></tr>
<tr><td>recursive1.r1cs</td><td>bf748272be6aeba8eb8dc3146e68a9eb938c7139d690be1e94a506a4d756eec8</td></tr>
<tr><td>recursive1.sym</td><td>646bc2e3ca5da30c1221039c1e37af2ed46a2f8f7023d65a41cb80c7de5882a9</td></tr>
<tr><td>recursive1.r1cs</td><td>9ef158594515431ac644c0b79cc9b3ca441754ea98529e1ae2db176ccced110a</td></tr>
<tr><td>recursive1.sym</td><td>f2db344f3289e513fc8a9cacc68b697a39a410fae834bdc8feabee7b394cabc0</td></tr>
<tr><td colspan=2><b>recursive1_setup</b></td></tr>
<tr><td>recursive1.pil</td><td>94ea2856942dd0745e2d6443c6988a4fdc65ac2c3173633e897e02b6d7eaad8b</td></tr>
<tr><td>recursive1.const</td><td>bba22272d800b85e67e3b0360dbd67f972804129a8f5ee4a434a26976a3bc8a4</td></tr>
<tr><td>recursive1.const</td><td>f81f9d99dc7be4ec8ce515a0d58958e10d09aaefabd778164fc4f076bbf273d0</td></tr>
<tr><td>recursive1.exec</td><td>359e6e221cefd35827960ff5cf9cd506ba5e2a5ec92c33312a5903ce087aa155</td></tr>
<tr><td colspan=2><b>recursive1_buildstarkinfo</b></td></tr>
<tr><td>recursive.starkstruct.json</td><td>8bc8b44a7e493e447af7c04d1a362c2198f3e9b29e425248b7646c36b67fd02c</td></tr>
<tr><td>recursive1.starkinfo.json</td><td>ab63b4008c2b2e769519ff3df4ba6130d66b8d6778c0ba0fb7724d5a4a9e2841</td></tr>
<tr><td colspan=2><b>recursive1_buildconstanttree</b></td></tr>
<tr><td>recursive1.verkey.json</td><td>44f3b6afb36a458031e327d2119a15689ec38eb10ccff729dfda0bae3bf16921</td></tr>
<tr><td>recursive1.consttree</td><td>bba22272d800b85e67e3b0360dbd67f972804129a8f5ee4a434a26976a3bc8a4</td></tr>
<tr><td>recursive1.verkey.json</td><td>883d526a0a9027641307a56f3cf94bbd3072d98413273f424c5026951277aec6</td></tr>
<tr><td>recursive1.consttree</td><td>f81f9d99dc7be4ec8ce515a0d58958e10d09aaefabd778164fc4f076bbf273d0</td></tr>
<tr><td colspan=2><b>recursive1_verifier_gencircom</b></td></tr>
<tr><td>recursive1.verifier.circom</td><td>835cf0a8c4706ced7395957a8bef1e00b70d1007586c9fccf107f12b4936dea5</td></tr>
<tr><td colspan=2><b>recursive2_gencircom</b></td></tr>
<tr><td>recursive2.circom</td><td>0c03000a9a56601a086fc5c91e9119e2e63fa699fe9d5f362b506c2d3602449f</td></tr>
<tr><td>recursive2.circom</td><td>c936419331d9d07aacdc912002d30bce42baa2c05a956b51d12580c82276803a</td></tr>
<tr><td colspan=2><b>recursive2_compile</b></td></tr>
<tr><td>recursive2.r1cs</td><td>2fdd9f433b07c90a367dbc2335b7921c1ef242e6466fc5a25b8ebcf8660ff77a</td></tr>
<tr><td>recursive2.r1cs</td><td>b2c0f5fb9ccda0474e246cdeca3e34fc5907cd5b34f15f2192b163fb53062376</td></tr>
<tr><td>recursive2.sym</td><td>a47d475bcb09309b2100bfc19ce4c4baa9cee2699373290569617d71fcf51a64</td></tr>
<tr><td colspan=2><b>recursive2_setup</b></td></tr>
<tr><td>recursive2.pil</td><td>94ea2856942dd0745e2d6443c6988a4fdc65ac2c3173633e897e02b6d7eaad8b</td></tr>
<tr><td>recursive2.const</td><td>7ee905f3949c67af84f417ce2b996b2946b7bf1d4557f8a67f9d7f7ab9540902</td></tr>
<tr><td>recursive2.const</td><td>381fcf6ad4237bdbf878473f854053849a7decfbaab6c846624c41d3000ef5b8</td></tr>
<tr><td>recursive2.exec</td><td>f32201da15042d9167dc8dd6707c2920d7d2e772d411566739ac874bdbf269fb</td></tr>
<tr><td colspan=2><b>recursive2_buildstarkinfo</b></td></tr>
<tr><td>recursive2.starkinfo.json</td><td>ab63b4008c2b2e769519ff3df4ba6130d66b8d6778c0ba0fb7724d5a4a9e2841</td></tr>
<tr><td colspan=2><b>recursive2_buildconstanttree</b></td></tr>
<tr><td>recursive2.verkey.json</td><td>fc3f0d4aaf11bb001102a37e397262aa62a02b6ca001b5c00ba9fccdfb06dda6</td></tr>
<tr><td>recursive2.consttree</td><td>7ee905f3949c67af84f417ce2b996b2946b7bf1d4557f8a67f9d7f7ab9540902</td></tr>
<tr><td>recursive2.verkey.json</td><td>a2477ca847f493163113860a42ecede027bc67b4935e5ab30f2e825009363a47</td></tr>
<tr><td>recursive2.consttree</td><td>381fcf6ad4237bdbf878473f854053849a7decfbaab6c846624c41d3000ef5b8</td></tr>
<tr><td colspan=2><b>recursive2_verifier_gencircom</b></td></tr>
<tr><td>recursive2.verifier.circom</td><td>835cf0a8c4706ced7395957a8bef1e00b70d1007586c9fccf107f12b4936dea5</td></tr>
<tr><td colspan=2><b>recursivef_gencircom</b></td></tr>
<tr><td>recursivef.circom</td><td>84f7538268a29a67e7836691b1706f9228fe73f4d890eee7f65f3ddcfc3aafc3</td></tr>
<tr><td>recursivef.circom</td><td>68ba6079a221f4cfe3afd071e8df62c38309f34d0633f5574cf76750d8fe2066</td></tr>
<tr><td colspan=2><b>recursivef_compile</b></td></tr>
<tr><td>recursivef.r1cs</td><td>2861953db44082184ee7a1dcff9b37ab131e3d58cc5539cfe258c6d23f505f8c</td></tr>
<tr><td>recursivef.r1cs</td><td>f45f7a9caa97913263f81ba31630dd615403f9fe3d72478a270b65b1be8a468e</td></tr>
<tr><td>recursivef.sym</td><td>fcbe9cd852065f1224a82f8b595d2c7aaa9fdbc616ef9048714105d69d988cd7</td></tr>
<tr><td colspan=2><b>recursivef_setup</b></td></tr>
<tr><td>recursivef.pil</td><td>62527bfc12f535e8fa3a6dd7055bc595b27fc491f7203987108ee3d13283dbfe</td></tr>
<tr><td>recursivef.const</td><td>0f32c1d45e2e7390cd21bcfadb1be399ea02f6c91c76aaca963a7ee1f131ba41</td></tr>
<tr><td>recursivef.const</td><td>a74d6e18aab5a524c0e1ea87001cdd88cb20fcf8a957e831d28b58b116cb358d</td></tr>
<tr><td>recursivef.exec</td><td>1751c8a070d68cc64aa7d932a1785330da24139e547805e583f5407c5600715e</td></tr>
<tr><td colspan=2><b>recursivef_buildstarkinfo</b></td></tr>
<tr><td>recursivef.starkstruct.json</td><td>ba99ad986178db98b1a867bb9d8592fa6ba5c29d9233fd939d01424425ce6cba</td></tr>
<tr><td>recursivef.starkinfo.json</td><td>8d6e9503550ad8bdde303af5b37ad0320171d4f180fc11323b58fbf8d82bb1a6</td></tr>
<tr><td colspan=2><b>recursivef_buildconstanttree</b></td></tr>
<tr><td>recursivef.verkey.json</td><td>3e16829b5af0ea65a5f49724d96ed429e1d4da088d4b0c1556093632f94e6bbc</td></tr>
<tr><td>recursivef.consttree</td><td>0f32c1d45e2e7390cd21bcfadb1be399ea02f6c91c76aaca963a7ee1f131ba41</td></tr>
<tr><td>recursivef.verkey.json</td><td>f41c6973c1a71970af291da4177f11f1b7accda7654c63169c607efeef5981e6</td></tr>
<tr><td>recursivef.consttree</td><td>a74d6e18aab5a524c0e1ea87001cdd88cb20fcf8a957e831d28b58b116cb358d</td></tr>
<tr><td colspan=2><b>recursivef_verifier_gencircom</b></td></tr>
<tr><td>recursivef.verifier.circom</td><td>68406381a2d730ede86e41ce80f4c214cabb83fd307768b43d5b407978f94c04</td></tr>
<tr><td>recursivef.verifier.circom</td><td>3607ed5c1ec397aaa35a09122128d57896b0b9ae648a273721f23c82f69eca30</td></tr>
<tr><td colspan=2><b>final_gencircom</b></td></tr>
<tr><td>final.circom</td><td>74a06304ce73b282a520c358baead152dad790b0aa6b7031f6ba8c00166be459</td></tr>
<tr><td colspan=2><b>final_compile</b></td></tr>
<tr><td>final.r1cs</td><td>bf28b9d2adff923fbf2505a116bf5c29f116b1187fcae972bc78d1f254963380</td></tr>
<tr><td>final.r1cs</td><td>8980408e97bd37a12dcb3cca90309421a25b17d899a9021a7eb55d86c46b4eb5</td></tr>
<tr><td>final.sym</td><td>9c20071021039f3f82b3ecb471402949cbbc290812da97f47aae4b13ad73342d</td></tr>
<tr><td colspan=2><b>fflonk_setup</b></td></tr>
<tr><td>final.fflonk.zkey</td><td>b0a674854e811c9d935cfae6fa0cc4b0efbba7014365b06d026b0bc3667a0c7b</td></tr>
<tr><td>final.fflonk.zkey</td><td>95f221bb359705463b02c43e7c7fc3928676dfc4e2a788504d2009a598f144ee</td></tr>
<tr><td colspan=2><b>fflonk_evk</b></td></tr>
<tr><td>final.fflonk.verkey.json</td><td>44b4d3ac1331dd17246611687f7c65f659d377c34467df1d49e2e558c3aad1ad</td></tr>
<tr><td>dependencies.txt</td><td>bb198945774e109721e2bde02a369edf96d21a0533f4bf9882a472dadd90d117</td></tr>
<tr><td>final.fflonk.verkey.json</td><td>65fe92de992fa6a8e43760dd4c7629d700dd9cb4ef8c4210581b6e277fec104a</td></tr>
<tr><td>dependencies.txt</td><td>1201d73ded9420e99e434147a91f82200781bb6b6348dfca6439f315b9612672</td></tr>
<tr><td colspan=2><b>fflonk_solidity</b></td></tr>
<tr><td>final.fflonk.verifier.sol</td><td>8ae7baadd9f2ffb07862b0a74c20e1ad1cc2d4136e416ce5beac82a4e9a44923</td></tr>
<tr><td>final.fflonk.verifier.sol</td><td>9bf2d96c589a64ba8ebde36f280993d1dc0ac3ca3cac1d09b5550055b8a523e8</td></tr>
</table>


<div class="meta_for_parser tablespecs" style="visibility:hidden">
sed "s/^0x//;s/\([0-9a-f]\{40\}\)/\1\n/g" ~/contract/FflonkVerifier.sol.compiled.bytecode | head
sed "s/^0x//;s/\([0-9a-f]\{40\}\)/\1\n/g" ~/contract/FflonkVerifier.sol.compiled.bytecode | tail
</div>

0 comments on commit 3542481

Please sign in to comment.