{"_id":"@decent.xyz/houndry-toolkit","_rev":"6-06e94f43c429e4df0d1684441a3af798","name":"@decent.xyz/houndry-toolkit","dist-tags":{"latest":"1.0.24"},"versions":{"1.0.18":{"name":"@decent.xyz/houndry-toolkit","version":"1.0.18","keywords":[],"author":{"name":"arshan"},"license":"ISC","_id":"@decent.xyz/houndry-toolkit@1.0.18","maintainers":[{"name":"edricy","email":"yu.edric@gmail.com"},{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},{"name":"wkantaros","email":"willkantaros@decent.xyz"},{"name":"zev2axa","email":"zev@decent.xyz"},{"name":"cdsiren","email":"charlie@decent.xyz"},{"name":"decentxyz","email":"team@decent.xyz"}],"dist":{"shasum":"0ad77d82b87a5683539dfeae04cd496b389b28cc","tarball":"https://registry.npmjs.org/@decent.xyz/houndry-toolkit/-/houndry-toolkit-1.0.18.tgz","fileCount":75,"integrity":"sha512-MWGzBAborZfwLEAm41WLuCxxrqovfWpjIAgvlRMN5EGWbX6Dq2SurHJsQLSBYwbemFCPz5CMPnXCm2auWAOmbA==","signatures":[{"sig":"MEUCIBYayBKaQ04r30j0Gk2Xk7a94eUUI/+ZlOf8E+fAjivJAiEA1LQ7KQTF/rb0+PN/KTJcb7gMPYXNht2J9W49KdEWsEs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018095},"main":"dist/index.js","_from":"file:decent.xyz-houndry-toolkit-1.0.18.tgz","scripts":{"task":"hardhat","test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --clean --minify --metafile","run-glue":"forknet-glue","publish:package":"pnpm run build && pnpm pack && pnpm publish --access public"},"_npmUser":{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},"_resolved":"/private/var/folders/3s/r89s0g0d3hxd_ryk4f3z38c00000gn/T/3cd04b7d9f7fec8dba69799d2c97c9a2/decent.xyz-houndry-toolkit-1.0.18.tgz","_integrity":"sha512-MWGzBAborZfwLEAm41WLuCxxrqovfWpjIAgvlRMN5EGWbX6Dq2SurHJsQLSBYwbemFCPz5CMPnXCm2auWAOmbA==","_npmVersion":"9.8.1","description":"**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**","directories":{},"_nodeVersion":"18.18.2","dependencies":{"tsup":"^8.0.1","dotenv":"^16.3.1","hardhat":"^2.14.0","shelljs":"^0.8.5","@types/shelljs":"^0.8.15","@decent.xyz/forknet-glue":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"viem":"^1.15.1","ts-node":">=8.0.0","prettier":"^3.1.0","typescript":"~5.0.4","solidity-coverage":"^0.8.0","prettier-plugin-solidity":"^1.2.0","@nomicfoundation/hardhat-viem":"^1.0.0","@nomicfoundation/hardhat-foundry":"^1.1.1","@nomicfoundation/hardhat-toolbox-viem":"^2.0.0","@nomicfoundation/hardhat-network-helpers":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/houndry-toolkit_1.0.18_1701973624931_0.7424911351113475","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"@decent.xyz/houndry-toolkit","version":"1.0.21","keywords":[],"author":{"name":"arshan"},"license":"ISC","_id":"@decent.xyz/houndry-toolkit@1.0.21","maintainers":[{"name":"edricy","email":"yu.edric@gmail.com"},{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},{"name":"wkantaros","email":"willkantaros@decent.xyz"},{"name":"zev2axa","email":"zev@decent.xyz"},{"name":"cdsiren","email":"charlie@decent.xyz"},{"name":"decentxyz","email":"team@decent.xyz"}],"dist":{"shasum":"338c52498d1385ad56a871e73e7fe5c5fd85b5aa","tarball":"https://registry.npmjs.org/@decent.xyz/houndry-toolkit/-/houndry-toolkit-1.0.21.tgz","fileCount":75,"integrity":"sha512-kL3G06VrlI8mtk/07IgmCTMZSaWOypGtdmIQw12ib4CckHw/M24R1OpeXW0SjZXg8/26YsU0pCHhjICEba5Ahg==","signatures":[{"sig":"MEUCIQDTX+B9zwUhv5Amhi0igKoDGbfhGhZoBSp/eiJ5T5tyXQIgD8P3kDsNj92Nyb9ZNrc4uLyfCamCV7bxLgu7X+ytP6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018145},"main":"dist/index.js","_from":"file:decent.xyz-houndry-toolkit-1.0.21.tgz","scripts":{"task":"hardhat","test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --clean --minify --metafile","run-glue":"forknet-glue","publish:package":"pnpm run build && pnpm pack && pnpm publish --access public"},"_npmUser":{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},"_resolved":"/private/var/folders/3s/r89s0g0d3hxd_ryk4f3z38c00000gn/T/e7d24c49caab843100317049c38a86e3/decent.xyz-houndry-toolkit-1.0.21.tgz","_integrity":"sha512-kL3G06VrlI8mtk/07IgmCTMZSaWOypGtdmIQw12ib4CckHw/M24R1OpeXW0SjZXg8/26YsU0pCHhjICEba5Ahg==","_npmVersion":"9.8.1","description":"**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**","directories":{},"_nodeVersion":"18.18.2","dependencies":{"tsup":"^8.0.1","dotenv":"^16.3.1","hardhat":"^2.14.0","shelljs":"^0.8.5","@types/shelljs":"^0.8.15","@decent.xyz/forknet-glue":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"viem":"^1.15.1","ts-node":">=8.0.0","prettier":"^3.1.0","typescript":"~5.0.4","solidity-coverage":"^0.8.0","prettier-plugin-solidity":"^1.2.0","@nomicfoundation/hardhat-viem":"^1.0.0","@nomicfoundation/hardhat-foundry":"^1.1.1","@nomicfoundation/hardhat-toolbox-viem":"^2.0.0","@nomicfoundation/hardhat-network-helpers":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/houndry-toolkit_1.0.21_1703649667669_0.37699328665401133","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"@decent.xyz/houndry-toolkit","version":"1.0.22","keywords":[],"author":{"name":"arshan"},"license":"ISC","_id":"@decent.xyz/houndry-toolkit@1.0.22","maintainers":[{"name":"edricy","email":"yu.edric@gmail.com"},{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},{"name":"wkantaros","email":"willkantaros@decent.xyz"},{"name":"zev2axa","email":"zev@decent.xyz"},{"name":"cdsiren","email":"charlie@decent.xyz"},{"name":"decentxyz","email":"team@decent.xyz"}],"dist":{"shasum":"bf7e51f0534bb4aa1a6fab72256d61f79bdbd1d2","tarball":"https://registry.npmjs.org/@decent.xyz/houndry-toolkit/-/houndry-toolkit-1.0.22.tgz","fileCount":75,"integrity":"sha512-V8av12raB/GApS03PVarjfuNuX68QqWR2+LBTTTgakcDJ618ZgeU5UVLrJTeQvGsbGnRoki+nuq5xvUJpUC46Q==","signatures":[{"sig":"MEYCIQC4VX2z5fKc2+ARPw5ISvAO11uUlRr1nZo4NEuvSlGLxQIhAOw/ZMSA4T4fPWdATof8IBAXADUI5gC2I4Hgk/K0SmGg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1018156},"main":"dist/index.js","_from":"file:decent.xyz-houndry-toolkit-1.0.22.tgz","scripts":{"task":"hardhat","test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --clean --minify --metafile","run-glue":"forknet-glue","publish:package":"pnpm run build && pnpm pack && pnpm publish --access public"},"_npmUser":{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},"_resolved":"/private/var/folders/3s/r89s0g0d3hxd_ryk4f3z38c00000gn/T/52b5cedb8898a1234dabd63cf2d87754/decent.xyz-houndry-toolkit-1.0.22.tgz","_integrity":"sha512-V8av12raB/GApS03PVarjfuNuX68QqWR2+LBTTTgakcDJ618ZgeU5UVLrJTeQvGsbGnRoki+nuq5xvUJpUC46Q==","_npmVersion":"9.8.1","description":"**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**","directories":{},"_nodeVersion":"18.18.2","dependencies":{"tsup":"^8.0.1","dotenv":"^16.3.1","hardhat":"^2.14.0","shelljs":"^0.8.5","@types/shelljs":"^0.8.15","@decent.xyz/forknet-glue":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"viem":"^1.15.1","ts-node":">=8.0.0","prettier":"^3.1.0","typescript":"~5.0.4","solidity-coverage":"^0.8.0","prettier-plugin-solidity":"^1.2.0","@nomicfoundation/hardhat-viem":"^1.0.0","@nomicfoundation/hardhat-foundry":"^1.1.1","@nomicfoundation/hardhat-toolbox-viem":"^2.0.0","@nomicfoundation/hardhat-network-helpers":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/houndry-toolkit_1.0.22_1703652395605_0.5860405168679392","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"@decent.xyz/houndry-toolkit","version":"1.0.23","keywords":[],"author":{"name":"arshan"},"license":"ISC","_id":"@decent.xyz/houndry-toolkit@1.0.23","maintainers":[{"name":"edricy","email":"yu.edric@gmail.com"},{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},{"name":"wkantaros","email":"willkantaros@decent.xyz"},{"name":"zev2axa","email":"zev@decent.xyz"},{"name":"cdsiren","email":"charlie@decent.xyz"},{"name":"decentxyz","email":"team@decent.xyz"}],"dist":{"shasum":"afb16bb4436c7a7b8eec5a1f3f3346e33841660f","tarball":"https://registry.npmjs.org/@decent.xyz/houndry-toolkit/-/houndry-toolkit-1.0.23.tgz","fileCount":75,"integrity":"sha512-yYTj3sSC5KiFzqiUXNXiMWNzb2F+dgC09NteK6c1RgTia6F8y371qA1f2uAlHTcUoeYByw9OXzRBvloZd8kfew==","signatures":[{"sig":"MEUCIHsqNYA9KasTbLNgjpXYG8E1shLAnHApRSKlNUpcIXaXAiEA0ezXGc8Xm5q4/5C5fCCiBaTzcHf1G+A5YDv1HIkR1dQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1019488},"main":"dist/index.js","_from":"file:decent.xyz-houndry-toolkit-1.0.23.tgz","scripts":{"task":"hardhat","test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --clean --minify --metafile","run-glue":"forknet-glue","publish:package":"pnpm run build && pnpm pack && pnpm publish --access public"},"_npmUser":{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},"_resolved":"/private/var/folders/3s/r89s0g0d3hxd_ryk4f3z38c00000gn/T/16dabaf89a5a93a737357a905ab5cc41/decent.xyz-houndry-toolkit-1.0.23.tgz","_integrity":"sha512-yYTj3sSC5KiFzqiUXNXiMWNzb2F+dgC09NteK6c1RgTia6F8y371qA1f2uAlHTcUoeYByw9OXzRBvloZd8kfew==","_npmVersion":"9.8.1","description":"**Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.**","directories":{},"_nodeVersion":"18.18.2","dependencies":{"tsup":"^8.0.1","dotenv":"^16.3.1","hardhat":"^2.14.0","shelljs":"^0.8.5","@types/shelljs":"^0.8.15","@decent.xyz/forknet-glue":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"viem":"^1.15.1","ts-node":">=8.0.0","prettier":"^3.1.0","typescript":"~5.0.4","solidity-coverage":"^0.8.0","prettier-plugin-solidity":"^1.2.0","@nomicfoundation/hardhat-viem":"^1.0.0","@nomicfoundation/hardhat-foundry":"^1.1.1","@nomicfoundation/hardhat-toolbox-viem":"^2.0.0","@nomicfoundation/hardhat-network-helpers":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/houndry-toolkit_1.0.23_1703800454047_0.07478755002589388","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"@decent.xyz/houndry-toolkit","version":"1.0.24","keywords":[],"author":{"name":"arshan"},"license":"ISC","_id":"@decent.xyz/houndry-toolkit@1.0.24","maintainers":[{"name":"edricy","email":"yu.edric@gmail.com"},{"name":"arshankhanifar","email":"arshankhanifar@gmail.com"},{"name":"wkantaros","email":"willkantaros@decent.xyz"},{"name":"zev2axa","email":"zev@decent.xyz"},{"name":"cdsiren","email":"charlie@decent.xyz"},{"name":"decentxyz","email":"team@decent.xyz"}],"dist":{"shasum":"8c94045c1b2d052540e8b31057687ed753e2c0dd","tarball":"https://registry.npmjs.org/@decent.xyz/houndry-toolkit/-/houndry-toolkit-1.0.24.tgz","fileCount":19,"integrity":"sha512-Qzp6cOxhXA9StjsQISQpd1GkWchwC+0dkqV0jbR/o0O5knGegyF7f4kj7Xn1HmAQX+gVf5due7ztr1iwtnG1vg==","signatures":[{"sig":"MEUCIQDBmhQsfywq22GmIH0dURuPW+3WTw3ySzGzP9RcFfOvmwIgdnGw+bAw0SR/S2sQymTRbbEv8uEvQkKVD81KPo1ARAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26315},"main":"dist/index.js","_from":"file:decent.xyz-houndry-toolkit-1.0.24.tgz","scripts":{"task":"hardhat","test":"echo \"Error: no test specified\" && exit 1","build":"tsup src/index.ts --format cjs --clean --minify --metafile","run-glue":"forknet-glue","publish:package":"pnpm run build && pnpm pack && pnpm publish --access public"},"_npmUser":{"name":"zev2axa","email":"zev@decent.xyz"},"_resolved":"/private/var/folders/64/18p8v6sj2wnbw96h0jn5x3ym0000gp/T/ffc524bbfa616aeee45bad9e01cb3cb8/decent.xyz-houndry-toolkit-1.0.24.tgz","_integrity":"sha512-Qzp6cOxhXA9StjsQISQpd1GkWchwC+0dkqV0jbR/o0O5knGegyF7f4kj7Xn1HmAQX+gVf5due7ztr1iwtnG1vg==","_npmVersion":"8.11.0","description":"This is a hardhat project that simplifies running anvil forked networks.","directories":{},"_nodeVersion":"16.16.0","dependencies":{"tsup":"^8.0.1","dotenv":"^16.3.1","hardhat":"^2.14.0","shelljs":"^0.8.5","@types/shelljs":"^0.8.15","@decent.xyz/forknet-glue":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"viem":"^1.15.1","ts-node":">=8.0.0","prettier":"^3.1.0","typescript":"~5.0.4","solidity-coverage":"^0.8.0","prettier-plugin-solidity":"^1.2.0","@nomicfoundation/hardhat-viem":"^1.0.0","@nomicfoundation/hardhat-foundry":"^1.1.1","@nomicfoundation/hardhat-toolbox-viem":"^2.0.0","@nomicfoundation/hardhat-network-helpers":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/houndry-toolkit_1.0.24_1704224929838_0.025758453091498046","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-12-07T18:27:04.866Z","modified":"2025-12-09T18:34:31.971Z","1.0.18":"2023-12-07T18:27:05.195Z","1.0.21":"2023-12-27T04:01:07.921Z","1.0.22":"2023-12-27T04:46:35.853Z","1.0.23":"2023-12-28T21:54:14.248Z","1.0.24":"2024-01-02T19:48:50.016Z"},"author":{"name":"arshan"},"license":"ISC","keywords":[],"description":"This is a hardhat project that simplifies running anvil forked networks.","maintainers":[{"email":"charlie@decent.xyz","name":"cdsiren"},{"email":"itservices@moonpay.com","name":"npmitservices"}],"readme":"# Houndry Toolkit\n\nThis is a hardhat project that simplifies running anvil\nforked networks.\n\n# Installation\n\n1. Be sure to have [installed foundry](https://book.getfoundry.sh/getting-started/installation).\n2. Install this project\n\n```\npnpm i @decent.xyz/houndry-toolkit\n```\n\n3. Import the scripts into your `hardhat.config.ts` file.\n\n```\nimport \"@decent.xyz/houndry-toolkit\";\n```\n\nThen you can run `npx hardhat --help` in your project and you get to see the tasks\nimported by this project.\n\n```\nnpx hardhat --help\nHardhat version 2.19.1\n\nUsage: hardhat [GLOBAL OPTIONS] [SCOPE] <TASK> [TASK OPTIONS]\n\n...\n\n\nAVAILABLE TASKS:\n...\n  list-forks         \tlists all running forks\n  start-fork         \tstarts a fork of a chain\n  start-forks        \tstarts forks of multiple chains\n  start-glue         \tstarts the glue service\n  stop-all-forks     \tstops all running forks\n  stop-fork\n  stop-glue          \tstarts the glue service\n```\n\n## Tasks\n\n### `start-fork --chain <chain> --port <port>`\n\nStarts a fork-net, pretty self-explanatory.\n\nThe chains are defined in the `.env` file. Refer to [.env.example](./.env.example)`\nfile for reference. Refer to [getNewFork](./src/tasks/forks.ts#L60) to see how\nthe forks are started. It retrieves the rpc from [getRpc](./src/tasks/util.ts#L57).\n\nThis generates a `glueConfig.json` for the [glue service](https://github.com/decentxyz/glue)\nto use. It also generates a `runningForks.json` file to keep track of the\nrunning forks.\n\n```\npnpm task start-fork --chain ethereum --port 6969\n\n> @decent.xyz/houndry-toolkit@1.0.23 task /Users/arshankhanifar/trying_shit/houndry-toolkit\n> hardhat \"start-fork\" \"--chain\" \"ethereum\" \"--port\" \"6969\"\n\nrunning command: anvil -p 6969 -f https://mainnet.infura.io/v3/b51ad11ef8684195bf1b0e1cce635d67\nstarted new fork at :{\n  \"chain\": \"ethereum\",\n  \"pid\": 90176,\n  \"port\": 6969\n}\n```\n\n### `start-forks --chains <chain1,chain2>`\n\nStarts forks of comma-separated chains, starts the ports from 8545 and\ngoes up from there.\n\n### `start-glue`\n\nStarts the [glue service](https://github.com/decentxyz/glue). The `glueConfig.json` will have already been\ngenerated through running `start-fork` and `start-forks`.\n\n### `stop-glue`\n\nStops the [glue service](https://github.com/decentxyz/glue).\n\n### `list-forks`\n\nShows all the currently running forks:\n\n```\npnpm task list-forks\n\n> @decent.xyz/houndry-toolkit@1.0.23 task /Users/arshankhanifar/trying_shit/houndry-toolkit\n> hardhat \"list-forks\"\n\nchain: ethereum - port: 6969 - pid: 90176\nchain: arbitrum - port: 6970 - pid: 93002\n```\n\n### `stop-all-forks`\n\nStops all running forks.\n\n## Forknet Logs\n\nThere's a `.forks/` directory created, where you can see the logs generated by\neach forked network.\n\nYou can also watch the logs by running `tail -f`. For instance, if you have\na fork of ethereum running, run:\n\n```\ntail -f ./.forks/ethereum.log\n```\n\nAnd that shows u the live logs.\n","readmeFilename":"README.md"}