{
|
|
"mainCode": "{\n}\n",
|
|
"signalName2Idx": {
|
|
"one": 0,
|
|
"main.a": 2,
|
|
"main.b": 3,
|
|
"main.c": 1
|
|
},
|
|
"components": [
|
|
{
|
|
"name": "main",
|
|
"params": {},
|
|
"template": "Multiplier",
|
|
"inputSignals": 2
|
|
}
|
|
],
|
|
"componentName2Idx": {
|
|
"main": 0
|
|
},
|
|
"signals": [
|
|
{
|
|
"names": [
|
|
"one"
|
|
],
|
|
"triggerComponents": []
|
|
},
|
|
{
|
|
"names": [
|
|
"main.c"
|
|
],
|
|
"triggerComponents": []
|
|
},
|
|
{
|
|
"names": [
|
|
"main.a"
|
|
],
|
|
"triggerComponents": [
|
|
0
|
|
]
|
|
},
|
|
{
|
|
"names": [
|
|
"main.b"
|
|
],
|
|
"triggerComponents": [
|
|
0
|
|
]
|
|
}
|
|
],
|
|
"constraints": [
|
|
[
|
|
{
|
|
"2": "21888242871839275222246405745257275088548364400416034343698204186575808495616"
|
|
},
|
|
{
|
|
"3": "1"
|
|
},
|
|
{
|
|
"1": "21888242871839275222246405745257275088548364400416034343698204186575808495616"
|
|
}
|
|
]
|
|
],
|
|
"templates": {
|
|
"Multiplier": "function(ctx) {\n ctx.setSignal(\"c\", [], bigInt(ctx.getSignal(\"a\", [])).mul(bigInt(ctx.getSignal(\"b\", []))).mod(__P__));\n ctx.assert(ctx.getSignal(\"c\", []), bigInt(ctx.getSignal(\"a\", [])).mul(bigInt(ctx.getSignal(\"b\", []))).mod(__P__));\n}\n"
|
|
},
|
|
"functions": {},
|
|
"nPrvInputs": 2,
|
|
"nPubInputs": 0,
|
|
"nInputs": 2,
|
|
"nOutputs": 1,
|
|
"nVars": 4,
|
|
"nConstants": 0,
|
|
"nSignals": 4
|
|
}
|