{"_id":"@hyperoracle/zkgraph-cli","_rev":"35-d8cf6ba81865fc01fb544f017afd4f80","name":"@hyperoracle/zkgraph-cli","dist-tags":{"alpha":"1.0.0-alpha.0","latest":"1.0.0"},"versions":{"0.0.1-alpha.0":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.0","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"dependencies":{"@antfu/utils":"^0.7.6","add":"^2.0.6","cac":"^6.7.14","picocolors":"^1.0.0","unconfig":"^0.3.11"},"gitHead":"9d7ded72cdf5d9192727b9eabbc260a8bb7a964b","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.0","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-QQm+94Jy+SnFRR4y6g/Ba2sUcm56rQYmfZzK6J37tBHJGkDv8iFQRm/lcdMyCR0/4qVzuWV4ORm+N5T3cIwZeA==","shasum":"233cf2965dd0ebf37b6f37460bde63940a85fd90","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.0.tgz","fileCount":8,"unpackedSize":19332,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFUG7VIkqk2B3kAaMcUmTxLeEQc7XhoZGSRx5sR0kAG4AiEAt9rVw2S/jGth3iAMapbR+hDSvscWPBi3ctZaP5bH3CU="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.0_1697160065608_0.7062780047863273"},"_hasShrinkwrap":false},"0.0.1-alpha.1":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.1","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"dependencies":{"@antfu/utils":"^0.7.6","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","ethers":"^6.7.1","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3","add":"^2.0.6"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"7684449e1b0cb507a040ba4743648a524f80e804","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.1","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-aBu5/9UjdRQ8LzwXxI5IlJO0vbFpX9GtDquhAjqy/ekWrY4AX7ruGHUC6flGmfnjay9PoIT18745w7rpCb7+Og==","shasum":"08c5a25f26d5230996c66de10181b816a89c973c","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.1.tgz","fileCount":8,"unpackedSize":44652,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/Xfkhu1Am5V1zRCjbmsfpTtwlPiNM9kUSXqzHGhWbdwIhAKd9cS/dnnVD/veuqQpHJmuFv8knCnLwHBzWkoaBUWWy"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.1_1697160708926_0.36862391724306476"},"_hasShrinkwrap":false},"0.0.1-alpha.2":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.2","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"dfab5caae5747a2357736fdd228559280cc0f6c9","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.2","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-30vanfE5t/Onf45Y8qqWL1mYA2qFiED1IBbrsAh3lkTvmSbmFuYnsVBV7fjDg2JMFTPbVMdZh90IZ3nZMkmP8g==","shasum":"7553ea746de1cce27070ee2cc2465345d2df6435","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.2.tgz","fileCount":8,"unpackedSize":52200,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDS/L9tL7q7FAoRQ278LswsA6EzKYr/aRZtCdYMXZ70dAiAjfHOQihSmNIp6V2bB8x+V4/6aiNw4TRCE468Zu/8KIA=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.2_1697179379122_0.9169941034060685"},"_hasShrinkwrap":false},"0.0.1-alpha.3":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.3","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"30a7a482433574599827a7a9e211f890b72c0186","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.3","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-q1UqjElF+lU9jNBFuL+bpNZ1PIxTK+BpIf7cEC3G3ShkoKm8KyvDjCDsipE+Y5egPSM76xYhyEDMBlfNXT8YKQ==","shasum":"0387a8d157e7166fd261490f81fa45bd9f9cf207","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.3.tgz","fileCount":8,"unpackedSize":70404,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFWoY2hx3RLQmHhKEPJu+6WCNavVdm6jCgOrkaFK+KZwIgM4pUGmRmPKK7vv8pb5Mzg3mRtbQLn0zZChOCDyPr0lI="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.3_1697439718089_0.6710351194810378"},"_hasShrinkwrap":false},"0.0.1-alpha.4":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.4","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"workspace:*","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"7bad3d4d733ce3ed6f74eccbf41463db508ac4ad","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.4","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-f1wJUApdLbMRNqYiDlvXKCIOhAtuBFyD2DfwWE7SJXJifGOkhBLjfDP45PlJwoZee3OZ4vXb3zElwq3n1bCZBg==","shasum":"38ae16f7a61446602f1d0e5bbf559f50cd70695e","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.4.tgz","fileCount":6,"unpackedSize":67181,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDSQdqH3BMyGMcLg86eHHCDHeRLpgp62s50hp34TKm42wIgCUkP3jZfWErTrsmcaveJ1E0xrQSII9zVJPP0qijWh5Q="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.4_1697450333680_0.1955728136037509"},"_hasShrinkwrap":false},"0.0.1-alpha.5":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.5","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"workspace:*","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"33a6472264e033f8904ca8a9be8ca50f0ef8f134","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.5","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-Z5X0GWGbxPSu7av18/oSsyUs8NFrTINNqzlNPzty9H2X96iEb2+0eIcyL47XEXuL12W+udLVV6hOtzPzzfgsGQ==","shasum":"7f02fb95313132bc63ac96f170e9af438b1df84e","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.5.tgz","fileCount":6,"unpackedSize":69494,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFT9N5AxrvvG79jdTKhOaVv7kpE5lXKXka3nlbLOziDwAiAGkEO0dEWzTqtKt4YodlYcO1d/oO8tvacRdeUDVlGPzQ=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.5_1697512712565_0.3561092417258833"},"_hasShrinkwrap":false},"0.0.1-alpha.6":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.6","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"workspace:*","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","remove":"^0.1.5","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"fe5be8924ed569d7a349f49fd61559cfb4ef0926","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.6","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-WRYreDbhFCO1/YOqvcWdEC4OZF8D2jTU7p57K2Z5ml+uYHRT0h4ghqyacidW+fqGdcafsjos1q2DVpstOFmkmQ==","shasum":"833c17dc95f51a5d015a84f55120c44cb4e84b89","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.6.tgz","fileCount":6,"unpackedSize":71874,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdp8aZ+MSROtJyXCjUr5FBfY7bUBuodE7j8Q41a5CAUAIgF5Teu5WAj5eb80734mMvlTGatZLEhGBwnjLLeasELd8="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.6_1697620640509_0.42845044256877696"},"_hasShrinkwrap":false},"0.0.1-alpha.7":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.7","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.7","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"f8dff97dc9c7d3570c8820c71f31092150e428f8","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.7","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-89G7wr3FSjdt7vI+YUUDyB7VZQaLjIqDnTozVoIMANQ32F+Dbi9+fMQ+LwL+QSe/VCfWkPXltgNps0Zl4bw5nQ==","shasum":"05575747fae53151f5e88b857e992cff06a489cb","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.7.tgz","fileCount":6,"unpackedSize":71852,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNRbiKl2oM/8W9rCYeYtQkYfcLUYhaxmXelrwG/GQfIAIhAJnsIoyFeOv7zS+S7fBUWq+AfvR+WzrDRgQsiaaAPPy4"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.7_1697622736344_0.6630452279365331"},"_hasShrinkwrap":false},"0.0.1-alpha.8":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.8","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.8","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"dcc384b766f97e7f6180ec8f9908c03613aed723","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.8","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-L8r5SyPXMj2NSuXDsZ9WM5l2L2mz0N9dfMR1H168MYi9Il2p4X8ZOg9BPd6PvVRqw8LABLlWigQC/T5IxKuT8g==","shasum":"766f04480f75765a1de2318de58f8e5f78e7ca22","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.8.tgz","fileCount":6,"unpackedSize":71811,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHIxxsj9FslFNgbNXa/fUsmJUMqm3wDD7uWZMqs/hT0eAiBG2E3BJ4YLFjYaTg5eOZEKrACyuyEW6iq1yYfTFjYzcw=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.8_1697697642479_0.4426128243303722"},"_hasShrinkwrap":false},"0.0.1-alpha.9":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.9","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.9","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.9","readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"f277a0a1c043e41e98e74955f08fe68f879956a0","_nodeVersion":"20.7.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-yCtNpC56p397GFf34CpTBIY/lyRpDW4yf2BlNsV45KaRtPnkeaPCnxqBKGnM3b3a0le11gHWS4MAJw9UiRdc+g==","shasum":"5582ad9c0358621677c2367774797deb96fd15b6","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.9.tgz","fileCount":6,"unpackedSize":72355,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGF9nu8RrmiYF0M6Z0pgSEy2E2N8fM5xxhHbGssjsEghAiAZWUjwG/NoLNnE2183XF8ihHJgrRbjScaxPmcwDd/WoQ=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.9_1698234122947_0.053955960703104155"},"_hasShrinkwrap":false},"0.0.1-alpha.10":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.10","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.10","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.10","readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"cd5c3049714cc92a1b30164c7426a7e17f3163c3","_nodeVersion":"20.7.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-jE3YYDiDo2aH89eU59WOtQRImXD1iSHhITAu1aOXnmzY5tKNyLh15lgGT2ZvUUpJEs9mn4Jqa8nZkHBdHllr+w==","shasum":"001ec91842c489084c370dbda66d5971c8c80ae9","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.10.tgz","fileCount":6,"unpackedSize":72359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDADcW8iowzM5ODmR9upqQrjfqzFaM9z7zYsYtHmjS0VAIhALZMvLBXmPMiPQgDLfBnhv5mKBzsPpeE0pI7x+swkc6Y"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.10_1698236627989_0.19456195634664808"},"_hasShrinkwrap":false},"0.0.1-alpha.11":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.11","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.11","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"de28d8ab4f984ba36e6c0d2e56dca446b77d1e9b","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.11","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-uMxOkYNAPEa/o8Q2OBToSWqQYr1Uu25BHo7N0OAjkUAQ9UzZwNDXgkSxLgQNmmL2tlZ56Vi9i4cYh4InMAv3UA==","shasum":"dca9bd07cd1d5e3dadfa7ed715090ccd6b08b043","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.11.tgz","fileCount":6,"unpackedSize":72359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICCXOkF4ml2XfyApQ77b4cuKdWEX8d4dUvhjObEVkS2WAiEAmP9l7K5s8MEVM1A7sD61lBlcCidS4g5Iu3GNCpbWf0E="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.11_1698236760476_0.0011810186580198945"},"_hasShrinkwrap":false},"0.0.1-alpha.12":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.12","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.7","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.12","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","semver":"^7.5.4","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"a6890e4bd712cff67100814c7d3cbf46707f54a2","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.12","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-89Q9v2iUmWQNtOn1kLqYmIBs4LWtGLsMd9RFiH+tmePuBkD/EgKbxmRKkQnqiQHHTrJcXjmODDPvRCNODAygTw==","shasum":"52cdcbfdaa2e57dc9b4f98ff8a29e1ec56277d1d","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.12.tgz","fileCount":6,"unpackedSize":72359,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCStI12z0vTWoRLmmNPD0y0ivayYDeO2WaoezJu6lM6qAIhANXi4TwErz1ijEcg/u5eOnbsxL/ZkMVg6gD1G1EsfoJv"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.12_1698283026329_0.4106758378737876"},"_hasShrinkwrap":false},"0.0.1-alpha.13":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.13","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.13","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"38642051483258c8a7c0f0ea39ebff7e55f1e81a","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.13","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-QtqXvxGS5mVLuyHXaOf9gFqchvKuWPIx+PeXbfQkO0gmd4MuMl5PhkK/fjd0dEdjLgwe0IGoxqxIyrlm56RZ9w==","shasum":"6f9568f5009dfbcfc32ef455d9283db4b56fc39b","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.13.tgz","fileCount":6,"unpackedSize":83456,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHM/XVwMM29l62i4qhGlD72T4/gG6qvdRqmFkMSZy7cnAiBpQfgclhyHxbid+sjR0sxol1xWx0KDwz6RQ/e8JaxfEw=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.13_1698375938592_0.998823481815819"},"_hasShrinkwrap":false},"0.0.1-alpha.14":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.14","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.14","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"56109f554d5f76c8aa30385b763d7454228bce16","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.14","_nodeVersion":"16.19.1","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bo/YxsBurRJA6ietjEsFNSy3/Sg5pfO/2po7Kmh5tZWY7G4oLtwyQpshc8TRB914ljAZk/Qjd7awm6Y6K2w3oA==","shasum":"a848b3a0fcd3a0ab47b30212660749a27f1ea325","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.14.tgz","fileCount":6,"unpackedSize":83456,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICv0qVDLxp7qmb+0WNBltL8WnmYUiZyJYdyXwzjJhgSnAiEAgmL7XWrr2GffcySUkuZ6gC+ePoxXS87HFRm1r42eckw="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.14_1698376033712_0.9126951118183375"},"_hasShrinkwrap":false},"0.0.1-alpha.15":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.15","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.15","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"d4131153b51c14eb9223d76b7153e7f44e618501","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.15","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-3FVdtlwYHXCgdFbu0mgjuXnkoahoJydj1GVCIgwIjDuY9+cdffMpSvbFYro3ZMqR4qztVyeb1qabT3SNRyvKRg==","shasum":"b70502891867543ff50467541bfadea8cad476a3","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.15.tgz","fileCount":6,"unpackedSize":83968,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpoHCX+jWkAvFFpCy8Cq+N14Jf3DqoG3iGTjE1y+2k0gIhAPrJ0DAHOpcnjvyx9ijQonWh/SN/ko73qRW0NIRrUkm3"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.15_1698572056062_0.2101122553739807"},"_hasShrinkwrap":false},"0.0.1-alpha.16":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.16","packageManager":"pnpm@8.6.0","description":"## CLI","author":{"name":"MuRong","email":"hi@mrong.me"},"homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.16","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"1cefb8ae0211b9461d9d35b57e20fad3ef97a89c","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.16","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-yhhWzBba+yhvKoG1mTEMFcGGUgxpUJb2EeMSsW6XcvzWBeMn/ihbD4lfe/wpIMUVlPBvN6oLRKrhd9Whmjpu9g==","shasum":"b0559d9eb89288af1311ea40ccd943e263ee299a","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.16.tgz","fileCount":6,"unpackedSize":85036,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDHhKjXM0BFlIX0F50OvYQRf6GP7+5cRDmNHyBSiolhsAIhALvCf/pXRTV1kSX0a1CDCyGgnibAifuwwQr6HWbfKv1a"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.16_1698669667488_0.26196798520299813"},"_hasShrinkwrap":false},"0.0.1-alpha.17":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.17","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.17","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"9e9c0e8c796ec138cdb40b268e7640ba3708ee13","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.17","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-RQsNspxz25IOCtPKaxYpzqbkowPDSd+xC3sUQUBMY8MBVnKzd50OWjvF8bwSnOLpuTOEIX8gSIDhvZ7C9AmWzg==","shasum":"c5ee3ad87d88d781d5192d4f8a85b1f81070d769","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.17.tgz","fileCount":6,"unpackedSize":87288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGIgySJxurCN76cnNTSShANUQsw4K6MyBsHZyjousRYXAiEAy4vHPmNIux24fTJwhbKtnHzwU8Y1MajGWRf6eYVgdI8="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.17_1698806574383_0.4932253190152174"},"_hasShrinkwrap":false},"0.0.1-alpha.18":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.18","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.18","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"fae3531e4b92f151a895c89805d18ddb2f35ed88","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.18","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-OHiyZ8t+3ucN+B706NQDYOnueZ+RrFHLvwM0GWrZPaXP4rb++7M5HHwPyFNOb1Oatvb5Q2iLCiEam5Z7bAtqcQ==","shasum":"da306470c2ff32f26e84e7e697e242e3ae97344d","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.18.tgz","fileCount":6,"unpackedSize":87288,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTbx+8kID1cBHcMdndE3JlJz/vYt2XhapyyohKAXRCyQIhAMzJiSjUfzCdEtyJg3kdDmlTozLeRtN4TjDTHenu3VFH"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.18_1698807016927_0.13167945846642537"},"_hasShrinkwrap":false},"0.0.1-alpha.19":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.19","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.19","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"7a1b38ea13088f6037c27aba4de042091b3d8282","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.19","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-+Jf+idDuRIV7TpaJhvfn87vii6bgHAV2OiftO8zhM4SoqJBPDd5kc5SwLra2FiFa2ODfgZInj4PafRXeG7kfsA==","shasum":"8f68ea0f7d58eaa392037b59fc232475f2054d35","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.19.tgz","fileCount":6,"unpackedSize":87814,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCDBo+XXhY2Pud9edk/uD2JbKWxkI6z9H1ekNoLfL0ftAIhAO2M9roAlkfRBjCUcFL3NB0TNhDxksYk9id4XdgGE4mR"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.19_1698818271849_0.8636448310453513"},"_hasShrinkwrap":false},"0.0.1-alpha.20":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.20","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.20","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"de74160cd3b0b1af37e157d5a89c82798c6b370d","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.20","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-bLudmH0sy00Cw8BNJWFN2dunwJMqbtP9lv1DlmmsYVJ6LOmz2csEAPb9QM23Zlx/dPkxQRfmFf6XoiasLxVgaQ==","shasum":"a380823604d0b22308a560c2c4e234ef23d5eb3a","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.20.tgz","fileCount":6,"unpackedSize":88030,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGl5nYye2kwQ19iTo9lZbSLOIU6HSAGDe5hMT5ds4RYTAiEAtZPamwS66+VwDOGR7ws8X4a6ZJeichnFynV5nIfYOmg="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.20_1698927381123_0.08792693673391261"},"_hasShrinkwrap":false},"0.0.1-alpha.21":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.21","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.21","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"ac4f1efac6267b6c896e10e38f000bcf71d70b4c","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.21","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-Z62VNxVMSs1k0pzwgdquqEDnBD0IDKcKm8MZjwLggjmWHDl830KUJPYDH7W3v0MHqjdsn1EvnZa5vvfo66OU2Q==","shasum":"ef5d36c05e4591df4eb2c89f459fed605cbb8e33","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.21.tgz","fileCount":6,"unpackedSize":92111,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaqfhLhlSdP8ghl3JAKQLyf4DYoF69yT5RvIRKfHeGFAIhAO3FxTukxmwFx0zFiYCvxTVKaD/ruhR/VltaS2p+NWde"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.21_1699006905254_0.6357316030702547"},"_hasShrinkwrap":false},"0.0.1-alpha.22":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.22","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.1"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^0.1.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.22","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha.1","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"3b2e94310d7c7935a20e23afe819d9ce3de1a4c5","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.22","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-prCMaLz6BWfMs3PFiyul4Fdzk7my9+eJS0KSxjMbh246w2eVLLiniLBjuugbij8yuBKXPGX+z6vCkxuTHAI92g==","shasum":"ff1ab384183d2aa6b35cef12f2ea769b0ec120b5","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.22.tgz","fileCount":6,"unpackedSize":86432,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCappiNsdJ2AU1NN+vssL/k70mlp/oHVRj6iP20PwSTSgIgczLE4MPPQxL70yGEDnW4/iKDZKm21luPjIOrBUN1NSU="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.22_1699151383740_0.1431002325379569"},"_hasShrinkwrap":false},"0.0.1-alpha.23":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.23","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.2"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.1","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.23","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha.2","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"5db003d2c3d76809279812db1458a4af213e8a86","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.23","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-OcTApbTxKu2w3rGBkhD1G8WbtVeKOX20mRSxJIE5M+T1KB12ERyG1wvFQ6tWLx9Bh0rV5buyp4IdHBofXABbkg==","shasum":"e0d676680b50168f6a831056abc09d30f218854b","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.23.tgz","fileCount":6,"unpackedSize":86607,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4XxWOb1wg8PlIC8GkuQXNPUwOHovb1LT30FR7aMs3uAIhAK7TqfPqSgmgoDN2aqVy9c6ktjgYF6fdvlOO5TgF6gDP"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.23_1699175651205_0.18022527202092542"},"_hasShrinkwrap":false},"0.0.1-alpha.24":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.24","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.2"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.2","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.24","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha.3","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"73cb0ed300190a4f2e30236ce4469cc01ad48d64","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.24","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-0V79aP+3Ga3IZRqkIQOciLeMXjxlyLXIQIKqWfywwE3EcnJnmvnfi4KBvzjtU2OzjYCqtxCQEnbTtqQthUTSHw==","shasum":"aa303b8d3f3a6319139c17b063843b33b9907254","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.24.tgz","fileCount":6,"unpackedSize":86641,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDa1XiW+HU5x62F5NUf7xJ6xhd/QkCg1oM1zVEBFvSjjwIhALk4XfnMXI26LDY8/Kfzq72UzFxkLqit3R+wcYkAEWZR"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.24_1699235314927_0.519507160812871"},"_hasShrinkwrap":false},"0.0.1-alpha.25":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1-alpha.25","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.2"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.2","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1-alpha.25","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha.3","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Deploy` (deploy verification contract) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Deploy\n\nDeploy Verification Contract for Full Image.\n\nPlease save the `verifer_contract_address` from the output dialog for following publish steps.\n\n- `network_name`: Specify the network name of deployed verification smart contract, instead of loading `dataDestinations.network` from `zkgraph.yaml`. eg. `zkgraph deploy --network-name <network (eg. goerli)>`.\n\n#### Usage\n```bash\nzkgraph deploy -n [network_name (sepolia / goerli)] [root]\n```\n\n#### Options\n\n| Options                     | Description                                                                 |\n| --------------------------- | --------------------------------------------------------------------------- |\n| `--local`                   | Deploy Verification Contract for Local Image                                |\n| `-n, --network-name <name>` | Name of deployed network for verification contract ( `sepolia` / `goerli` ) |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"65fd616cec3955209cdf105852e68f00c1691c43","_id":"@hyperoracle/zkgraph-cli@0.0.1-alpha.25","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-paAXNBZayH4t4tSiRJZhOjhFC+NdLduroEJsVb9mJmxveXD2hIqYPmu/RdnqyX5nEgFBN7ad01CzGWleHV3U1A==","shasum":"2bf899cbc6d7c5d61d7c3a58caec7fcf31ab4073","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1-alpha.25.tgz","fileCount":6,"unpackedSize":87540,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHYW+n4zPjNkM3+sGYLtm3hmYlIvJ04YVo4QqQYdRKi3AiAhOGYv2TKh4p6UYaQNmrL0VyPb1kbQ13cpsiE7ssD3mg=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1-alpha.25_1699255158969_0.7515909512411958"},"_hasShrinkwrap":false},"0.0.1":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.1","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.2"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.2","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.1","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"0.0.9-alpha.3","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"gitHead":"cc9610b493f75b6cb0990b333c60053b673ae0b0","_id":"@hyperoracle/zkgraph-cli@0.0.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-AO4EzG+4uWN9uPGXTTnl2YM6aevPelvfdksC/3Hzzofo7dSouKHwynZxYyreszkxXAtEMjMPJeVI1IsS6GgrNw==","shasum":"d5f85eed37b3f6d7f25efc2842298aed954a1638","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.1.tgz","fileCount":6,"unpackedSize":87504,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkfGNuH0xykWCM/FmTtkUAopT3b9tj3PaSAyW7vz6R4QIgDL088k0jF1m2sGOq22eaz8n3EYdjpBUT+I099CK5rb4="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.1_1699257547610_0.6006095245085459"},"_hasShrinkwrap":false},"0.0.2-alpha.1":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.1","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.4"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.3","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.1","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.4","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"ed2af900099d95ba69a27b1d240fbd91c0d4cc7a","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.1","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-8YcbjCwmwSiPtzhv/Dl0kVaNE5D+bYrPCUR/g9CiglfqK0+qRqArh1TBsBU7PxMtGRZoJoJeeg89lJPvPeelkw==","shasum":"bfc5804b5ecc0b2b52466ece93c4302fab82e38e","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.1.tgz","fileCount":6,"unpackedSize":69678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCz+1NeimYXQejOfWW0+/Y1WTg4980kK6P0lrkSKFIL3wIhAIxYBWbR3eTiB8adbJWPDACDTXP0Ahu5EYGKdHRgkFc7"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.1_1700125344390_0.9835482983683552"},"_hasShrinkwrap":false},"0.0.2-alpha.2":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.2","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.4"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.3","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.2","ethers":"^5.7.2","form-data":"^4.0.0","js-yaml":"^4.1.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.4","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"0081d197f6931751e96f6c90fe7209a211efc000","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.2","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-JlbsVYXkNRCjZgY/sGke27sZAXdoOkuImbkwDPztrNYmWlZHUeKPo4ylsH4sP7yS8d24WC4cWAd2RhVfpQIFDA==","shasum":"9c331be2a75701f85f0c271fb3eef4ac10d26e72","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.2.tgz","fileCount":6,"unpackedSize":69678,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5l5RFkaW3RiON9YPWCFATauN+7kj+T+FSd9cxz9RSZAIhAOPQbufylv+O48csJTTQOVjUJZIqoLB8+LziUVhb4Ssr"}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.2_1700127361775_0.007395014647777254"},"_hasShrinkwrap":false},"0.0.2-alpha.3":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.3","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.5"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.6","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.3","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.5","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options   | Description             |\n| --------- | ----------------------- |\n| `--local` | Compile for Local Image |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec <block id> [root]\n```\n\n\n#### Arguments\n\n| Arguments      | Description                                     |\n| ------------ | ----------------------------------------------- |\n| `<block id>` | Block number (or block hash) as runtime context |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove <block id> <expected state> [root]\n```\n\n#### Arguments\n\n| Arguments            | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments           | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                       | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n### Deposit\n\nPublish and register zkGraph Onchain.\n\n#### Usage\n```bash\nzkgraph deposit <deployed contract address> <deposit amount>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<deposit amount>`            | Deposit amount in ETH                                      |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_full.wasm`\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"7195920e3139cbf488308c81f16fb63e371227ee","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.3","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-UO2n8Wt/uYMU7ug9pS+J1O16Ew6bxwtPVAWMVWTDalawG909pjuU7kuXsaMP+cn2aC674EueAFJI1hD3hL9jQQ==","shasum":"748ff1317c8c45a72f73ba7fd83bec385d35cd8d","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.3.tgz","fileCount":6,"unpackedSize":78043,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEwjZMYN+9DEzWp9Q80U14UFoSVecEGeTPzZaqxkNwjzAiEAiSwIvyPIEBAEgCfzHih7GSiWOtGzF0yax/MpN+6lMhU="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.3_1700650252625_0.8902609685327085"},"_hasShrinkwrap":false},"0.0.2-alpha.4":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.4","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.8","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.4","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options                 | Description             |\n| ----------------------- | ----------------------- |\n| `--local`               | Compile for Local Image |\n| `--yaml-path <path>`    | Path to yaml file       |\n| `--mapping-path <path>` | Path to mapping file    |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph exec <blockId> [root]\nzkgraph exec <blockId> <offchainData> [root]\n```\n\n\n#### Arguments\n\n| Arguments        | Description                                     |\n| ---------------- | ----------------------------------------------- |\n| `<block id>`     | Block number (or block hash) as runtime context |\n| `<offchainData>` | offchain data                                   |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph prove <blockId> <expectedStateStr> [root]\nzkgraph prove <blockId> <offchainData> <expectedStateStr> [root]\n```\n\n#### Arguments\n\n| Arguments          | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n| `<offchainData>`   | offchain data                                   |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments         | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n### Deposit\n\nPublish and register zkGraph Onchain.\n\n#### Usage\n```bash\nzkgraph deposit <deployed contract address> <deposit amount>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<deposit amount>`            | Deposit amount in ETH                                      |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_full.wasm`\n\nzkGraph CLI Build-In a tag name is `root`.  \nThe `root` is user project root path.  \nOf course, you can also place this tag at any position within the string.  \n`LocalWasmBinPath` is the same.\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"6502a9af3389498a3dbbf48a993a61c294e2087b","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.4","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-rNu9EdJDWF5ZMz1sm4hf7+y1sF60E0Hn7NOfZBFgqWWeUhVlwAqx5rea8LwrYUc0cyPOvCU8w8jwQPlIb3FPww==","shasum":"b7c3dc662ec975adb9480253d824b5c37bcea3f6","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.4.tgz","fileCount":6,"unpackedSize":80777,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD7fibJjZ/zuKV/wQJDIVpTCx2iNaZQlU6DD4Qy/JTtMQIgMGVn5cOBS9NbIDN1Jm5a/dyDAV12p3NS0toD1uabp7Q="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.4_1701851653391_0.044435404194880235"},"_hasShrinkwrap":false},"0.0.2-alpha.5":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.5","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.9","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.5","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options                 | Description             |\n| ----------------------- | ----------------------- |\n| `--local`               | Compile for Local Image |\n| `--yaml-path <path>`    | Path to yaml file       |\n| `--mapping-path <path>` | Path to mapping file    |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph exec <blockId> [root]\nzkgraph exec <blockId> <offchainData> [root]\n```\n\n\n#### Arguments\n\n| Arguments        | Description                                     |\n| ---------------- | ----------------------------------------------- |\n| `<block id>`     | Block number (or block hash) as runtime context |\n| `<offchainData>` | offchain data                                   |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph prove <blockId> <expectedStateStr> [root]\nzkgraph prove <blockId> <offchainData> <expectedStateStr> [root]\n```\n\n#### Arguments\n\n| Arguments          | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n| `<offchainData>`   | offchain data                                   |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments         | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n### Deposit\n\nPublish and register zkGraph Onchain.\n\n#### Usage\n```bash\nzkgraph deposit <deployed contract address> <deposit amount>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<deposit amount>`            | Deposit amount in ETH                                      |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_full.wasm`\n\nzkGraph CLI Build-In a tag name is `root`.  \nThe `root` is user project root path.  \nOf course, you can also place this tag at any position within the string.  \n`LocalWasmBinPath` is the same.\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"ac2cf944e35ed118382320d9759eae51426a7330","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.5","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-HkNjER+pmha0ZF/QtkGaOTkaU7DGNmzJtS7TxwYkQ3Y3LEAk6ZFRnkPVEWGAFV2lEZ8YwZO5qmTLpk7mK5AbhQ==","shasum":"dbde80d7215a10fb5aa768a0e623ea79206fbc4a","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.5.tgz","fileCount":6,"unpackedSize":80777,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDbUVwG+jjD32C6OAnOP+ouG15Do0/5G0h3yGoB5z3r2AiEA9ilt2bFu+hOHJEiP7Qk+G3KytBoU3ESxXoOb6eB+LDo="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.5_1701853435053_0.6841170783273209"},"_hasShrinkwrap":false},"0.0.2-alpha.6":{"name":"@hyperoracle/zkgraph-cli","version":"0.0.2-alpha.6","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"0.1.9-alpha.10","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"0.0.2-alpha.6","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^0.0.9-alpha.6","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options                 | Description             |\n| ----------------------- | ----------------------- |\n| `--local`               | Compile for Local Image |\n| `--yaml-path <path>`    | Path to yaml file       |\n| `--mapping-path <path>` | Path to mapping file    |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph exec <blockId> [root]\nzkgraph exec <blockId> <offchainData> [root]\n```\n\n\n#### Arguments\n\n| Arguments        | Description                                     |\n| ---------------- | ----------------------------------------------- |\n| `<block id>`     | Block number (or block hash) as runtime context |\n| `<offchainData>` | offchain data                                   |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph prove <blockId> <expectedStateStr> [root]\nzkgraph prove <blockId> <offchainData> <expectedStateStr> [root]\n```\n\n#### Arguments\n\n| Arguments          | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n| `<offchainData>`   | offchain data                                   |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments         | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <deployed contract address> <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n### Deposit\n\nPublish and register zkGraph Onchain.\n\n#### Usage\n```bash\nzkgraph deposit <deployed contract address> <deposit amount>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<deposit amount>`            | Deposit amount in ETH                                      |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_full.wasm`\n\nzkGraph CLI Build-In a tag name is `root`.  \nThe `root` is user project root path.  \nOf course, you can also place this tag at any position within the string.  \n`LocalWasmBinPath` is the same.\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"a176528161cf5a650e812b0e0320f97379053a73","_id":"@hyperoracle/zkgraph-cli@0.0.2-alpha.6","_nodeVersion":"18.17.1","_npmVersion":"9.6.7","dist":{"integrity":"sha512-nv/+zcJX8eNqAozUa8H6FpAx1R2rOpVP1QV70MtGKdMW7zJFQ7H0ISmM57DxoWee7536kJwXmoEeBd3Cz4KMWw==","shasum":"b3c375d7d4b7603a9061382b2bebb3b293e0fe8b","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-0.0.2-alpha.6.tgz","fileCount":6,"unpackedSize":80778,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPPCD0cDr1NACAqCaNVElT5RJnX6ZdGwADIIpBuVVOEAiEA0yL+MsQAM1vF+WJuqGGit4PvVXjUertO+hUXIUkXdqI="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_0.0.2-alpha.6_1701855004190_0.2287079821024136"},"_hasShrinkwrap":false},"1.0.0":{"name":"@hyperoracle/zkgraph-cli","version":"1.0.0","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^1.0.0"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^1.0.0","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"1.0.0","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^1.0.0","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"gitHead":"25828df155181b52a306c4bf8fff17b9b7e5fbfe","_id":"@hyperoracle/zkgraph-cli@1.0.0","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-zOLJ7ewozb4tLpUnxg/VFcsCzENnR9+ghPRrOz1jRx57WF6GzR2damPkQjWBmujheFMP6bBVwkp8Dk32CbJQ2w==","shasum":"b2ab5f530d1b236e03a5127cde3d945df504892c","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-1.0.0.tgz","fileCount":6,"unpackedSize":81412,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGCKXzEb7YZ58B/eNeoSxnZa+O7kMC6fGlnGIPjJMVOQAiBS7ayYr6mpeGC9PWq9AZa3WDXBix6Y9tkwrK1m085tvA=="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_1.0.0_1701957653037_0.848621126600672"},"_hasShrinkwrap":false,"deprecated":"This package has been deprecated in favor of @ora-io/cle-cli. Please migrate to @ora-io/cle-cli for future updates and support."},"1.0.0-alpha.0":{"name":"@hyperoracle/zkgraph-cli","version":"1.0.0-alpha.0","packageManager":"pnpm@8.6.0","description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"keywords":[],"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.mjs"}},"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","typesVersions":{"*":{"*":["./dist/*","./dist/index.d.ts"]}},"bin":{"zkgraph":"bin/zkgraph.js"},"scripts":{"build":"unbuild","dev":"unbuild --stub","start":"esno src/index.ts"},"peerDependencies":{"@hyperoracle/zkgraph-lib":"^1.0.0-alpha.0"},"dependencies":{"@antfu/utils":"^0.7.6","@hyperoracle/zkgraph-api":"^1.0.2-alpha.0","api":"^6.1.1","assemblyscript":"^0.27.12","await-to-js":"^3.0.0","axios":"^1.5.1","axios-retry":"^3.8.0","cac":"^6.7.14","create-zkgraph":"1.0.0-alpha.0","ethers":"^5.7.2","form-data":"^4.0.0","nanoid":"^5.0.1","picocolors":"^1.0.0","prompts":"^2.4.2","semver":"^7.5.4","ts-md5":"^1.3.1","unconfig":"^0.3.11"},"devDependencies":{"@hyperoracle/zkgraph-lib":"^1.0.0-alpha.0","@types/js-yaml":"^4.0.6","@types/prompts":"^2.4.6","@types/semver":"^7.5.3"},"readme":"# zkGraph CLI\n\n## CLI\n\n> Note: Only `full` image will be processed by zkOracle node. `local` (generated by commands ending with `--local` option) means the zkGraph is compiled locally and only contains partial computation (so that proving and executing will be faster).\n\nThe workflow of local zkGraph development must follow: `Develop` (code in /src) -> `Compile` (get compiled wasm image) -> `Execute` (get expected output) -> `Prove` (generate input and pre-test for actual proving in zkOracle) -> `Verify` (verify proof on-chain).\n\nTo upload and publish your zkGraph, you should `Upload` (upload code to IPFS), and then `Publish` (register zkGraph on onchain zkGraph Registry).\n\n### Compile\n\nCompile for Full Image (Link Compiled with Compiler Server).\n\n#### Usage\n\n```bash\nzkgraph compile [root]\n```\n\n#### Options\n\n| Options                 | Description             |\n| ----------------------- | ----------------------- |\n| `--local`               | Compile for Local Image |\n| `--yaml-path <path>`    | Path to yaml file       |\n| `--mapping-path <path>` | Path to mapping file    |\n\n### Execute\n\nExecute Full Image.\n\nPlease save the `ZKGRAPH_STATE_OUTPUT` string for following prove steps.\n\n#### Usage\n```bash\nzkgraph exec [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph exec <blockId> [root]\nzkgraph exec <blockId> <offchainData> [root]\n```\n\n\n#### Arguments\n\n| Arguments        | Description                                     |\n| ---------------- | ----------------------------------------------- |\n| `<block id>`     | Block number (or block hash) as runtime context |\n| `<offchainData>` | offchain data                                   |\n\n\n#### Options\n\n| Options   | Description         |\n| --------- | ------------------- |\n| `--local` | Execute Local Image |\n\n### Set Up\n\nSet Up Full Image\n\n- `circuit-size`: Specify the circuit size of image instead of the default recommended. eg. `zkgraph setup -- --circuit-size <size> (eg. 22)`.\n\n#### Usage\n```bash\nzkgraph setup [root]\n```\n\n#### Options\n\n| Options                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `--local`                   | Set Up Local Image               |\n| `-k, --circuit-size <size>` | Circuit size (k in 2^k) of image |\n\n### Prove\n\nProve Full Image\n\n#### Usage\n```bash\nzkgraph prove [...params] [root]\n```\n\n#### Usage cases\n```bash\nzkgraph prove <blockId> <expectedStateStr> [root]\nzkgraph prove <blockId> <offchainData> <expectedStateStr> [root]\n```\n\n#### Arguments\n\n| Arguments          | Description                                     |\n| ------------------ | ----------------------------------------------- |\n| `<block id>`       | Block number (or block hash) as runtime context |\n| `<expected state>` | State output of the zkGraph execution           |\n| `<offchainData>`   | offchain data                                   |\n\n\n#### Options\n\n| Options          | Description                  |\n| ---------------- | ---------------------------- |\n| `--local`        | Prove Local Image            |\n| `-i, --inputgen` | Run in input generation Mode |\n| `-t, --test`     | Run in test Mode             |\n| `-p, --prove`    | Run in prove Mode            |\n\n### Upload\n\nUpload zkGraph (Code and Full Image).\n\nPlease save the `ipfs_hash` from the output dialog for following publish steps.\n\n#### Usage\n```bash\nzkgraph upload [root]\n```\n\n#### Options\n\n| Options   | Description                                 |\n| --------- | ------------------------------------------- |\n| `--local` | Upload Local zkGraph (Code and Local Image) |\n\n\n### Verify\n\nVerify Proof Onchain.\n\n#### Usage\n```bash\nzkgraph verify <prove task id>\n```\n\n#### Arguments\n\n| Arguments         | Description           |\n| ----------------- | --------------------- |\n| `<prove task id>` | Task id of prove task |\n\n\n### Publish\n\nPublish and Register zkGraph Onchain.\n\nSee also: [Verifier Contract Interface](https://github.com/DelphinusLab/halo2aggregator-s/blob/main/sol/contracts/AggregatorVerifier.sol#L40).\n\n#### Usage\n```bash\nzkgraph publish <ipfs_hash> <bounty_reward_per_trigger>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<ipfs hash>`                 | IPFS hash of uploaded zkGraph                              |\n| `<bounty reward per trigger>` | Bounty reward per trigger in ETH                           |\n\n### Deposit\n\nPublish and register zkGraph Onchain.\n\n#### Usage\n```bash\nzkgraph deposit <deployed contract address> <deposit amount>\n```\n\n#### Arguments\n\n| Arguments                     | Description                                                |\n| ----------------------------- | ---------------------------------------------------------- |\n| `<deployed contract address>` | Contract address of deployed verification contract address |\n| `<deposit amount>`            | Deposit amount in ETH                                      |\n\n## Config\n\n### Configuring zkGraph\n\nWhen running zkGraph from the command line, the tool will automatically attempt to locate a configuration file named zkgraph.config.js in the project’s root directory. It also supports other file extensions such as JS and TS.\n\nThe most basic config file looks like this:\n\n```js\n// zkgraph.config.js\nexport default {\n  // config options\n}\n```\n\nYou can also explicitly specify a config file to use with the --config CLI option (resolved relative to cwd):\n\n```bash\nzkgraph --config my-config.js\n```\n\n### Config Intellisense\n\nSince zkGraph ships with TypeScript typings, you can leverage your IDE's intellisense with jsdoc type hints:\n\n```js\n/** @type {import('@hyperoracle/zkgraph-cli').UserConfig} */\nexport default {\n  // ...\n}\n```\nAlternatively, you can use the defineConfig helper which should provide intellisense without the need for jsdoc annotations:\n\n```js\nimport { defineConfig } from '@hyperoracle/zkgraph-cli'\n\nexport default defineConfig({\n  // ...\n})\n```\n\nZkGraph also directly supports TS config files. You can use zkgraph.config.ts with the defineConfig helper as well.\n\n### Config Options\n\n#### JsonRpcProviderUrl\n\n- **Type:** `object`\n- **Default**: `{ mainet: \"\", sepolia: \"\", goerli: \"\"}`\n\nUpdate your Etherum JSON RPC provider URL here.\nIt is recommended to use providers that support debug_getRawReceipts RPC method.  \n\n#### UserPrivateKey\n\n- **Type:** `string`\n\nUpdate your private key here to sign zkwasm messages.\nPlease note that (during testnet phrase) your address balance (in zkwasm server) should > 0.\n\n\n#### ZkwasmProviderUrl\n\n- **Type:** `string`\n- **Default**: `https://zkwasm-explorer.delphinuslab.com:8090`\n\n#### CompilerServerEndpoint\n\n- **Type:** `string`\n- **Default**: `http://compiler.hyperoracle.io/compile`\n\n#### PinataEndpoint\n\n- **Type:** `string`\n- **Default**: `https://api.pinata.cloud/pinning/pinFileToIPFS`\n\n#### PinataJWT\n\n- **Type:** `string`\n\n#### WasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_full.wasm`\n\nzkGraph CLI Build-In a tag name is `root`.  \nThe `root` is user project root path.  \nOf course, you can also place this tag at any position within the string.  \n`LocalWasmBinPath` is the same.\n\n#### LocalWasmBinPath\n\n- **Type:** `string`\n- **Default**: `[root]/build/zkgraph_local.wasm`\n","readmeFilename":"README.md","gitHead":"44fa6d02da2d81bc74c1e9c5204485b1bd30f453","_id":"@hyperoracle/zkgraph-cli@1.0.0-alpha.0","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-LRD/KZm50bZlC+xKR1ISUdbLCJqGhhshLdcoEnUC2x2d/o1Zj3pV9T31AMjjj3sUs+EFuMx4OUECjGLInUrX1w==","shasum":"026ba770053ec116cdcde3110dee1ff71bd4c8df","tarball":"https://registry.npmjs.org/@hyperoracle/zkgraph-cli/-/zkgraph-cli-1.0.0-alpha.0.tgz","fileCount":6,"unpackedSize":81349,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHQJyePKxutkWicNMI4R5YZRPdvS8qDNblidwlyaRLowIgVOocDPmNfRjenHDecyQeiy3luBNIfdNl7pycsacBQz4="}]},"_npmUser":{"name":"murongxdb","email":"hi@mrong.me"},"directories":{},"maintainers":[{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"},{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/zkgraph-cli_1.0.0-alpha.0_1702901106298_0.15194595548526202"},"_hasShrinkwrap":false}},"time":{"created":"2023-10-13T01:21:05.491Z","0.0.1-alpha.0":"2023-10-13T01:21:05.814Z","modified":"2024-02-28T01:43:56.930Z","0.0.1-alpha.1":"2023-10-13T01:31:49.255Z","0.0.1-alpha.2":"2023-10-13T06:42:59.390Z","0.0.1-alpha.3":"2023-10-16T07:01:58.331Z","0.0.1-alpha.4":"2023-10-16T09:58:53.894Z","0.0.1-alpha.5":"2023-10-17T03:18:32.930Z","0.0.1-alpha.6":"2023-10-18T09:17:20.754Z","0.0.1-alpha.7":"2023-10-18T09:52:16.576Z","0.0.1-alpha.8":"2023-10-19T06:40:42.751Z","0.0.1-alpha.9":"2023-10-25T11:42:03.336Z","0.0.1-alpha.10":"2023-10-25T12:23:48.187Z","0.0.1-alpha.11":"2023-10-25T12:26:00.775Z","0.0.1-alpha.12":"2023-10-26T01:17:06.704Z","0.0.1-alpha.13":"2023-10-27T03:05:38.780Z","0.0.1-alpha.14":"2023-10-27T03:07:13.923Z","0.0.1-alpha.15":"2023-10-29T09:34:16.229Z","0.0.1-alpha.16":"2023-10-30T12:41:07.640Z","0.0.1-alpha.17":"2023-11-01T02:42:54.563Z","0.0.1-alpha.18":"2023-11-01T02:50:17.153Z","0.0.1-alpha.19":"2023-11-01T05:57:51.995Z","0.0.1-alpha.20":"2023-11-02T12:16:21.369Z","0.0.1-alpha.21":"2023-11-03T10:21:45.443Z","0.0.1-alpha.22":"2023-11-05T02:29:43.974Z","0.0.1-alpha.23":"2023-11-05T09:14:11.457Z","0.0.1-alpha.24":"2023-11-06T01:48:35.094Z","0.0.1-alpha.25":"2023-11-06T07:19:19.245Z","0.0.1":"2023-11-06T07:59:07.796Z","0.0.2-alpha.1":"2023-11-16T09:02:24.541Z","0.0.2-alpha.2":"2023-11-16T09:36:02.018Z","0.0.2-alpha.3":"2023-11-22T10:50:52.886Z","0.0.2-alpha.4":"2023-12-06T08:34:13.616Z","0.0.2-alpha.5":"2023-12-06T09:03:55.241Z","0.0.2-alpha.6":"2023-12-06T09:30:04.386Z","1.0.0":"2023-12-07T14:00:53.241Z","1.0.0-alpha.0":"2023-12-18T12:05:06.457Z"},"maintainers":[{"name":"fewwwww","email":"sy2940@nyu.edu"},{"name":"hyper-oracle","email":"team@hyperoracle.io"},{"name":"murongxdb","email":"hi@mrong.me"},{"name":"nom4dv3","email":"nom4dv3@hyperoracle.io"}],"description":"## CLI","homepage":"https://github.com/hyperoracle/zkgraph-cli#readme","keywords":[],"repository":{"type":"git","url":"git+https://github.com/hyperoracle/zkgraph-cli.git","directory":"packages/zkgraph-cli"},"bugs":{"url":"https://github.com/hyperoracle/zkgraph-cli/issues"},"readme":"","readmeFilename":""}