504 lines
37 KiB
JSON
504 lines
37 KiB
JSON
|
{
|
||
|
"address": "0x006BDB9609B919146555f42d9d617FD709dfe5D2",
|
||
|
"abi": [
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "x",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "y",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G1Point",
|
||
|
"name": "alpha1",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "x",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "y",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G2Point",
|
||
|
"name": "beta2",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "x",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "y",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G2Point",
|
||
|
"name": "gamma2",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "x",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "y",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G2Point",
|
||
|
"name": "delta2",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "x",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "y",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G1Point[]",
|
||
|
"name": "ic",
|
||
|
"type": "tuple[]"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Groth16Verifier.VerifyingKey",
|
||
|
"name": "key",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "nonpayable",
|
||
|
"type": "constructor"
|
||
|
},
|
||
|
{
|
||
|
"inputs": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "x",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "y",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G1Point",
|
||
|
"name": "a",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "x",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "real",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "imag",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Fp2Element",
|
||
|
"name": "y",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G2Point",
|
||
|
"name": "b",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"components": [
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "x",
|
||
|
"type": "uint256"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256",
|
||
|
"name": "y",
|
||
|
"type": "uint256"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct G1Point",
|
||
|
"name": "c",
|
||
|
"type": "tuple"
|
||
|
}
|
||
|
],
|
||
|
"internalType": "struct Groth16Proof",
|
||
|
"name": "proof",
|
||
|
"type": "tuple"
|
||
|
},
|
||
|
{
|
||
|
"internalType": "uint256[]",
|
||
|
"name": "input",
|
||
|
"type": "uint256[]"
|
||
|
}
|
||
|
],
|
||
|
"name": "verify",
|
||
|
"outputs": [
|
||
|
{
|
||
|
"internalType": "bool",
|
||
|
"name": "success",
|
||
|
"type": "bool"
|
||
|
}
|
||
|
],
|
||
|
"stateMutability": "view",
|
||
|
"type": "function"
|
||
|
}
|
||
|
],
|
||
|
"transactionHash": "0xc11ee6b8f87514b6539c42760ebbb5c96d98c675b6ac92b518cdb5a0cf8c2410",
|
||
|
"receipt": {
|
||
|
"to": null,
|
||
|
"from": "0x3A39904B71595608524274BFD8c20FCfd9e77236",
|
||
|
"contractAddress": "0x006BDB9609B919146555f42d9d617FD709dfe5D2",
|
||
|
"transactionIndex": 0,
|
||
|
"gasUsed": "1049878",
|
||
|
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
|
||
|
"blockHash": "0x6c7ab9b47b74b21bdaaf7f4b07467ca02a3e8095f9e46c43f2b5a916c6bdd96c",
|
||
|
"transactionHash": "0xc11ee6b8f87514b6539c42760ebbb5c96d98c675b6ac92b518cdb5a0cf8c2410",
|
||
|
"logs": [],
|
||
|
"blockNumber": 1269340,
|
||
|
"cumulativeGasUsed": "1049878",
|
||
|
"status": 1,
|
||
|
"byzantium": true
|
||
|
},
|
||
|
"args": [
|
||
|
{
|
||
|
"alpha1": {
|
||
|
"x": "20491192805390485299153009773594534940189261866228447918068658471970481763042",
|
||
|
"y": "9383485363053290200918347156157836566562967994039712273449902621266178545958"
|
||
|
},
|
||
|
"beta2": {
|
||
|
"x": {
|
||
|
"real": "6375614351688725206403948262868962793625744043794305715222011528459656738731",
|
||
|
"imag": "4252822878758300859123897981450591353533073413197771768651442665752259397132"
|
||
|
},
|
||
|
"y": {
|
||
|
"real": "10505242626370262277552901082094356697409835680220590971873171140371331206856",
|
||
|
"imag": "21847035105528745403288232691147584728191162732299865338377159692350059136679"
|
||
|
}
|
||
|
},
|
||
|
"gamma2": {
|
||
|
"x": {
|
||
|
"real": "10857046999023057135944570762232829481370756359578518086990519993285655852781",
|
||
|
"imag": "11559732032986387107991004021392285783925812861821192530917403151452391805634"
|
||
|
},
|
||
|
"y": {
|
||
|
"real": "8495653923123431417604973247489272438418190587263600148770280649306958101930",
|
||
|
"imag": "4082367875863433681332203403145435568316851327593401208105741076214120093531"
|
||
|
}
|
||
|
},
|
||
|
"delta2": {
|
||
|
"x": {
|
||
|
"real": "8321720458379749666823386825227056127081924802669925431784739727378156677382",
|
||
|
"imag": "14141580529097791627231845981225524632168564751319587997467779923455725496079"
|
||
|
},
|
||
|
"y": {
|
||
|
"real": "15024906427889277439289353579726244817293833564358393668604654171509717518421",
|
||
|
"imag": "13787451728104268002555014427964156203625399954344379526977581439804219111920"
|
||
|
}
|
||
|
},
|
||
|
"ic": [
|
||
|
{
|
||
|
"x": "11919420103024546168896650006162652130022732573970705849225139177428442519914",
|
||
|
"y": "17747753383929265689844293401689552935018333420134132157824903795680624926572"
|
||
|
},
|
||
|
{
|
||
|
"x": "13158415194355348546090070151711085027834066488127676886518524272551654481129",
|
||
|
"y": "18831701962118195025265682681702066674741422770850028135520336928884612556978"
|
||
|
},
|
||
|
{
|
||
|
"x": "20882269691461568155321689204947751047717828445545223718893788782534717197527",
|
||
|
"y": "11996193054822748526485644723594571195813487505803351159052936325857690315211"
|
||
|
},
|
||
|
{
|
||
|
"x": "18155166643053044822201627105588517913195535693446564472247126736722594445000",
|
||
|
"y": "13816319482622393060406816684195314200198627617641073470088058848129378231754"
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"numDeployments": 1,
|
||
|
"solcInputHash": "c09963445d55f04ec1cd7dd500a29a55",
|
||
|
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"struct G1Point\",\"name\":\"alpha1\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"x\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"y\",\"type\":\"tuple\"}],\"internalType\":\"struct G2Point\",\"name\":\"beta2\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"x\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"y\",\"type\":\"tuple\"}],\"internalType\":\"struct G2Point\",\"name\":\"gamma2\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"x\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"y\",\"type\":\"tuple\"}],\"internalType\":\"struct G2Point\",\"name\":\"delta2\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"struct G1Point[]\",\"name\":\"ic\",\"type\":\"tuple[]\"}],\"internalType\":\"struct Groth16Verifier.VerifyingKey\",\"name\":\"key\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"struct G1Point\",\"name\":\"a\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"x\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"real\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"imag\",\"type\":\"uint256\"}],\"internalType\":\"struct Fp2Element\",\"name\":\"y\",\"type\":\"tuple\"}],\"internalType\":\"struct G2Point\",\"name\":\"b\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"internalType\":\"struct G1Point\",\"name\":\"c\",\"type\":\"tuple\"}],\"internalType\":\"struct Groth16Proof\",\"name\":\"proof\",\"type\":\"tuple\"},{\"internalType\":\"uint256[]\",\"name\":\"input\",\"type\":\"uint256[]\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Groth16Verifier.sol\":\"Groth16Verifier\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true}
|
||
|
"bytecode": "0x60806040523480156200001157600080fd5b5060405162000bd638038062000bd6833981016040819052620000349162000225565b805180516000908155602091820151600155818301518051805160025583015160035582015180516004558201516005556040830151805180516006558301516007558201518051600855820151600955606083015180518051600a55830151600b558201518051600c5590910151600d555b8160800151518110156200010a576000600e0182608001518281518110620000d357620000d362000369565b60209081029190910181015182546001818101855560009485529383902082516002909202019081559101519082015501620000a7565b50506200037f565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156200014d576200014d62000112565b60405290565b60405160a081016001600160401b03811182821017156200014d576200014d62000112565b604051601f8201601f191681016001600160401b0381118282101715620001a357620001a362000112565b604052919050565b600060408284031215620001be57600080fd5b620001c862000128565b9050815181526020820151602082015292915050565b600060808284031215620001f157600080fd5b620001fb62000128565b9050620002098383620001ab565b81526200021a8360408401620001ab565b602082015292915050565b600060208083850312156200023957600080fd5b82516001600160401b03808211156200025157600080fd5b908401906101e082870312156200026757600080fd5b6200027162000153565b6200027d8784620001ab565b81526040620002908860408601620001de565b85830152620002a38860c08601620001de565b6040830152620002b8886101408601620001de565b60608301526101c084015183811115620002d157600080fd5b80850194505087601f850112620002e757600080fd5b835183811115620002fc57620002fc62000112565b6200030c868260051b0162000178565b818152868101945060069190911b8501860190898211156200032d57600080fd5b948601945b818610156200035757620003478a87620001ab565b8552948201949386019362000332565b60808401525090979650505050505050565b634e487b7160e01b600052603260045260246000fd5b610847806200038f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c8919d14610030575b600080fd5b61004361003e366004610647565b610057565b604051901515815260200160405180910390f35b600e5481516000919061006b906001610721565b146100785750600061030c565b60005b82518110156100d6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018382815181106100b7576100b7610734565b6020026020010151106100ce57600091505061030c565b60010161007b565b50600080600e016000815481106100ef576100ef610734565b600091825260208083206040805180820190915260029093020180548352600101549082015291505b83518110156101e05760408051808201909152600080825260208201526101a1600e610145846001610721565b8154811061015557610155610734565b90600052602060002090600202016040518060400160405290816000820154815260200160018201548152505086848151811061019457610194610734565b6020026020010151610312565b9094509050836101b7576000935050505061030c565b6101c18382610361565b9094509250836101d7576000935050505061030c565b50600101610118565b5060006102f06101fd6101f83688900388018861077a565b6103bc565b61020f3688900388016040890161079d565b604080518082018252600054815260015460208083019190915282516080808201855260025482860190815260035460608085019190915290835285518087018752600454815260055481860152838501528551918201865260065482870190815260075491830191909152815284518086019095526008548552600954858401529182019390935290919087906102af368d90038d0160c08e0161077a565b60408051608081018252600a54818301908152600b54606083015281528151808301909252600c548252600d54602083810191909152810191909152610448565b9093509050826103055760009250505061030c565b6001149150505b92915050565b6000610331604051806040016040528060008152602001600081525090565b61033961055e565b845181526020808601519082015260408082018590528260608360075afa9250509250929050565b6000610380604051806040016040528060008152602001600081525090565b61038861057c565b845181526020808601518183015284516040808401919091529085015160608301528260808360065afa9250509250929050565b60408051808201909152600080825260208201526040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761043691906107dc565b61044091906107ef565b905292915050565b60008061045361059a565b61045b6105b9565b8b5182526020808d01518184
|
||
|
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806394c8919d14610030575b600080fd5b61004361003e366004610647565b610057565b604051901515815260200160405180910390f35b600e5481516000919061006b906001610721565b146100785750600061030c565b60005b82518110156100d6577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018382815181106100b7576100b7610734565b6020026020010151106100ce57600091505061030c565b60010161007b565b50600080600e016000815481106100ef576100ef610734565b600091825260208083206040805180820190915260029093020180548352600101549082015291505b83518110156101e05760408051808201909152600080825260208201526101a1600e610145846001610721565b8154811061015557610155610734565b90600052602060002090600202016040518060400160405290816000820154815260200160018201548152505086848151811061019457610194610734565b6020026020010151610312565b9094509050836101b7576000935050505061030c565b6101c18382610361565b9094509250836101d7576000935050505061030c565b50600101610118565b5060006102f06101fd6101f83688900388018861077a565b6103bc565b61020f3688900388016040890161079d565b604080518082018252600054815260015460208083019190915282516080808201855260025482860190815260035460608085019190915290835285518087018752600454815260055481860152838501528551918201865260065482870190815260075491830191909152815284518086019095526008548552600954858401529182019390935290919087906102af368d90038d0160c08e0161077a565b60408051608081018252600a54818301908152600b54606083015281528151808301909252600c548252600d54602083810191909152810191909152610448565b9093509050826103055760009250505061030c565b6001149150505b92915050565b6000610331604051806040016040528060008152602001600081525090565b61033961055e565b845181526020808601519082015260408082018590528260608360075afa9250509250929050565b6000610380604051806040016040528060008152602001600081525090565b61038861057c565b845181526020808601518183015284516040808401919091529085015160608301528260808360065afa9250509250929050565b60408051808201909152600080825260208201526040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4761043691906107dc565b61044091906107ef565b905292915050565b60008061045361059a565b61045b6105b9565b8b5182526020808d0151818401528b5181015160408401528b515160608401528b810180518201516080850152515160a08401528a5160c08401528a81015160e08401528951810151610100840152895151610120840152898101805182015161014085015251516101608401528851610180840152888101516101a084015287518101516101c08401528751516101e08401528781018051820151610200850152515161022084015286516102408401528681015161026084015285518101516102808401528551516102a084015285810180518201516102c085015251516102e0840152816103008460085afa9051909c909b509950505050505050505050565b60405180606001604052806003906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518061030001604052806018906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610610576106106105d7565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561063f5761063f6105d7565b604052919050565b60008082840361012081121561065c57600080fd5b6101008082121561066c57600080fd5b849350830135905067ffffffffffffffff8082111561068a57600080fd5b818501915085601f83011261069e57600080fd5b81356020828211156106b2576106b26105d7565b8160051b92506106c3818401610616565b82815292840181019281810190898511156106dd57600080fd5b948201945b848610156106fb578535825294820194908201906106e2565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561030c5761030c61070b565b634e487b7160e01b600052603260045260246000fd5b60006040828403121561075c57600080fd5b6107646105ed565b9050813581526020820135602082015292915050565b60006040828403121561078c57600080fd5b610796838361074a565b9392505050565b6000608082840312156107af57600080fd5b6107b76105ed565b6107c1848461074a565b81526107d0846040850161074a565b60208201529392505050565b8181038181111561030c5761030c61070b565b600082
|
||
|
"devdoc": {
|
||
|
"kind": "dev",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
},
|
||
|
"userdoc": {
|
||
|
"kind": "user",
|
||
|
"methods": {},
|
||
|
"version": 1
|
||
|
},
|
||
|
"storageLayout": {
|
||
|
"storage": [
|
||
|
{
|
||
|
"astId": 2414,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "_verifyingKey",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_struct(VerifyingKey)2431_storage"
|
||
|
}
|
||
|
],
|
||
|
"types": {
|
||
|
"t_array(t_struct(G1Point)2366_storage)dyn_storage": {
|
||
|
"base": "t_struct(G1Point)2366_storage",
|
||
|
"encoding": "dynamic_array",
|
||
|
"label": "struct G1Point[]",
|
||
|
"numberOfBytes": "32"
|
||
|
},
|
||
|
"t_struct(Fp2Element)2371_storage": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "struct Fp2Element",
|
||
|
"members": [
|
||
|
{
|
||
|
"astId": 2368,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "real",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_uint256"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2370,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "imag",
|
||
|
"offset": 0,
|
||
|
"slot": "1",
|
||
|
"type": "t_uint256"
|
||
|
}
|
||
|
],
|
||
|
"numberOfBytes": "64"
|
||
|
},
|
||
|
"t_struct(G1Point)2366_storage": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "struct G1Point",
|
||
|
"members": [
|
||
|
{
|
||
|
"astId": 2363,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "x",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_uint256"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2365,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "y",
|
||
|
"offset": 0,
|
||
|
"slot": "1",
|
||
|
"type": "t_uint256"
|
||
|
}
|
||
|
],
|
||
|
"numberOfBytes": "64"
|
||
|
},
|
||
|
"t_struct(G2Point)2378_storage": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "struct G2Point",
|
||
|
"members": [
|
||
|
{
|
||
|
"astId": 2374,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "x",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_struct(Fp2Element)2371_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2377,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "y",
|
||
|
"offset": 0,
|
||
|
"slot": "2",
|
||
|
"type": "t_struct(Fp2Element)2371_storage"
|
||
|
}
|
||
|
],
|
||
|
"numberOfBytes": "128"
|
||
|
},
|
||
|
"t_struct(VerifyingKey)2431_storage": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "struct Groth16Verifier.VerifyingKey",
|
||
|
"members": [
|
||
|
{
|
||
|
"astId": 2417,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "alpha1",
|
||
|
"offset": 0,
|
||
|
"slot": "0",
|
||
|
"type": "t_struct(G1Point)2366_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2420,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "beta2",
|
||
|
"offset": 0,
|
||
|
"slot": "2",
|
||
|
"type": "t_struct(G2Point)2378_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2423,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "gamma2",
|
||
|
"offset": 0,
|
||
|
"slot": "6",
|
||
|
"type": "t_struct(G2Point)2378_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2426,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "delta2",
|
||
|
"offset": 0,
|
||
|
"slot": "10",
|
||
|
"type": "t_struct(G2Point)2378_storage"
|
||
|
},
|
||
|
{
|
||
|
"astId": 2430,
|
||
|
"contract": "contracts/Groth16Verifier.sol:Groth16Verifier",
|
||
|
"label": "ic",
|
||
|
"offset": 0,
|
||
|
"slot": "14",
|
||
|
"type": "t_array(t_struct(G1Point)2366_storage)dyn_storage"
|
||
|
}
|
||
|
],
|
||
|
"numberOfBytes": "480"
|
||
|
},
|
||
|
"t_uint256": {
|
||
|
"encoding": "inplace",
|
||
|
"label": "uint256",
|
||
|
"numberOfBytes": "32"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|