{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach",
            "port": 9229,
            "request": "attach",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "type": "node"
        },
                {
            "type": "node",
            "request": "launch",
            "name": "groth16 setup",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "groth16", "setup",
                "test/groth16/circuit.r1cs",
                "test/plonk_circuit/powersOfTau15_final.ptau",
                "test/groth16/circuit.zkey"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "groth16 prove",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "groth16", "prove",
                "test/groth16/circuit.zkey",
                "test/groth16/witness.wtns",
                "test/groth16/proof.json",
                "test/groth16/public.json",
                "-v"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "groth16 export vk",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkev",
                "test/groth16/circuit.zkey",
                "test/groth16/verification_key.json",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "groth16 verify",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "groth16", "verify",
                "test/groth16/verification_key.json",
                "test/groth16/public.json",
                "test/groth16/proof.json",
                "-v"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "groth16 solidity verifier",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesv",
                "test/groth16/circuit.zkey",
                "test/groth16/verifier.sol",
            ]
        },

        {
            "type": "node",
            "request": "launch",
            "name": "groth16 solidity calldata",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesc",
                "test/groth16/public.json",
                "test/groth16/proof.json",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "plonk setup",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "pks",
                "test/plonk_circuit/circuit.r1cs",
                "test/plonk_circuit/powersOfTau15_final.ptau",
                "test/plonk_circuit/circuit.zkey"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "plonk prove",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "pkp",
                "test/plonk_circuit/circuit.zkey",
                "test/plonk_circuit/witness.wtns",
                "test/plonk_circuit/proof.json",
                "test/plonk_circuit/public.json",
                "-v"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "plonk export vk",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkev",
                "test/plonk_circuit/circuit.zkey",
                "test/plonk_circuit/verification_key.json",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "plonk verify",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "pkv",
                "test/plonk_circuit/verification_key.json",
                "test/plonk_circuit/public.json",
                "test/plonk_circuit/proof.json",
                "-v"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "export solidity calldata",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesc",
                "test/plonk_circuit/public.json",
                "test/plonk_circuit/proof.json",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "export solidity verifier",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesv",
                "test/plonk_circuit/circuit.zkey",
                "test/plonk_circuit/verifier.sol",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Mocha all tests",
            "program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
            "cwd": "${workspaceRoot}",
            "internalConsoleOptions": "openOnSessionStart"
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk setup",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "fflonk",
                "setup",
                "test/fflonk/circuit.r1cs",
                "test/plonk_circuit/powersOfTau15_final.ptau",
                "test/fflonk/circuit.zkey"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk prove",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "fflonk",
                "prove",
                "test/fflonk/circuit.zkey",
                "test/fflonk/witness.wtns",
                "test/fflonk/proof.json",
                "test/fflonk/public.json"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk export vkey",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkev",
                "test/fflonk/circuit.zkey",
                "test/fflonk/circuit_vk.json",
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk verify",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "fflonk",
                "verify",
                "test/fflonk/circuit_vk.json",
                "test/fflonk/public.json",
                "test/fflonk/proof.json"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk export call data",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesc",
                "test/fflonk/public.json",
                "test/fflonk/proof.json"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "fflonk export SC",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "zkesv",
                "test/fflonk/circuit.zkey",
                "test/fflonk/verifier.sol"
            ]
        },
        {
            "type": "node",
            "request": "launch",
            "name": "wtns check",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "cli.js",
            "args": [
                "wtns",
                "check",
                "test/fflonk/circuit.r1cs",
                "test/fflonk/witness.wtns",
            ]
        },
    ]
}