{"_id":"@layerzerolabs/script-devtools-evm-foundry","_rev":"7-0c0ad12c21c842d9a3eaedf70f5c75ca","name":"@layerzerolabs/script-devtools-evm-foundry","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.2":{"name":"@layerzerolabs/script-devtools-evm-foundry","version":"0.0.2","license":"MIT","_id":"@layerzerolabs/script-devtools-evm-foundry@0.0.2","maintainers":[{"name":"ryanzarick","email":"ryan@layerzerolabs.org"},{"name":"lzflips","email":"philips@layerzerolabs.org"},{"name":"xinghul","email":"xinghu1989@gmail.com"},{"name":"lzhanson","email":"hanson@layerzerolabs.org"},{"name":"layerzero-bot","email":"bot@layerzerolabs.org"},{"name":"donghua.wang","email":"qwwind@gmail.com"},{"name":"_cb","email":"caleb@layerzerolabs.org"},{"name":"isaacnotnewton","email":"isaac@layerzerolabs.org"},{"name":"layerzero-piotr","email":"piotr@layerzerolabs.org"},{"name":"smith-layerzero","email":"smith@layerzerolabs.org"},{"name":"lzwarlock","email":"riley@layerzerolabs.org"},{"name":"robingautier","email":"robin@layerzerolabs.org"},{"name":"sirarthurmoney","email":"kyle@layerzerolabs.org"},{"name":"carmencheng","email":"carmen@layerzerolabs.org"},{"name":"mrowa44","email":"mrowa44@gmail.com"},{"name":"10xkelly","email":"kelly@layerzerolabs.org"},{"name":"zouguangxian","email":"gx@layerzerolabs.org"},{"name":"dwongl","email":"dwong@layerzerolabs.org"},{"name":"unkrakable","email":"matthewkrak@gmail.com"},{"name":"aberrantfluxlz","email":"kai@layerzerolabs.org"},{"name":"shankars99","email":"shankar@layerzerolabs.org"},{"name":"mohammadchavosh","email":"mohammad@layerzerolabs.org"},{"name":"danl0","email":"dan@layerzerolabs.org"},{"name":"michal-layerzero","email":"mstanisz@layerzerolabs.org"},{"name":"areklz","email":"arek@layerzerolabs.org"},{"name":"lz-thomas","email":"thomas@layerzerolabs.org"},{"name":"lzadmin","email":"lzadmin@layerzerolabs.org"},{"name":"kenyuan","email":"ken@layerzerolabs.org"},{"name":"mokyy","email":"moyaying88@gmail.com"},{"name":"ravinagill","email":"ravina@layerzerolabs.org"},{"name":"yadong-layerzero","email":"yadong@layerzerolabs.org"},{"name":"ziming.zung","email":"ziming.zung@gmail.com"},{"name":"abaltes","email":"abaltes@layerzerolabs.org"},{"name":"yargo13","email":"yargo@layerzerolabs.org"},{"name":"lzalvin","email":"alvin@layerzerolabs.org"},{"name":"lz-siddharth","email":"siddharth@layerzerolabs.org"},{"name":"joyama","email":"jun@layerzerolabs.org"},{"name":"lz.igor","email":"igor@layerzerolabs.org"},{"name":"lzerfan","email":"erfan@layerzerolabs.org"},{"name":"debjitdm","email":"debjit.mandal@layerzerolabs.org"},{"name":"lz.preetnakrani","email":"preet.nakrani@layerzerolabs.org"},{"name":"eriklzl","email":"erik@layerzerolabs.org"},{"name":"sinavafadar","email":"sina.vafadar@layerzerolabs.org"},{"name":"diarramb","email":"diarra.mbacke@layerzerolabs.org"},{"name":"shayandesh","email":"shayan.shafaghi@layerzerolabs.org"},{"name":"lzed","email":"eduardo@layerzerolabs.org"},{"name":"viniciustht","email":"vinicius.hirschle@layerzerolabs.org"},{"name":"ihor.romanchenko","email":"ihor.romanchenko@layerzerolabs.org"},{"name":"ivan-kurinnyi","email":"ivan.kurinnyi@layerzerolabs.org"},{"name":"jprevoelayerzero","email":"jeremy.prevoe@layerzerolabs.org"},{"name":"leviwclz","email":"levi.costa@layerzerolabs.org"},{"name":"andreslz","email":"andres@layerzerolabs.org"},{"name":"ismaelfezzaz","email":"ismael.fezzaz@layerzerolabs.org"},{"name":"lz_alex","email":"alexander@layerzerolabs.org"},{"name":"vincent.dufrasnes","email":"vincent.dufrasnes@layerzerolabs.org"},{"name":"isaac.defrain","email":"isaac.defrain@layerzerolabs.org"},{"name":"alex-sirenko-lzlabs","email":"alex.sirenko@layerzerolabs.org"},{"name":"moein-mirzaei","email":"moein.mirzaei@layerzerolabs.org"},{"name":"scorbiere","email":"sebastien.corbiere@layerzerolabs.org"}],"homepage":"https://github.com/LayerZero-Labs/devtools#readme","bugs":{"url":"https://github.com/LayerZero-Labs/devtools/issues"},"dist":{"shasum":"fdcece32569861ba413f3be4a436f3f7da1cae6e","tarball":"https://registry.npmjs.org/@layerzerolabs/script-devtools-evm-foundry/-/script-devtools-evm-foundry-0.0.2.tgz","fileCount":15,"integrity":"sha512-+9apw6T/JCefx33lDNIa4DCRwgk9IcXVXgcX4+PwAsGSvKiWmUkJxZKVHPQiWK+fFIeQFoIgA70J32ticJQ7sw==","signatures":[{"sig":"MEUCIByGyrdWSVcz4/r1jHsXtGjbTE6ISgBBAZa1GLvdUdDDAiEAovFs8DvjPdlJoQ0/J87lxQkCvozRyQWgNFL/rAFTNzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377840},"_from":"file:layerzerolabs-script-devtools-evm-foundry-0.0.2.tgz","scripts":{"lint":"$npm_execpath eslint '**/*.{js,ts,json}'","build":"forge build","coverage":"forge coverage --ir-minimum","lint:fix":"eslint --fix '**/*.{js,ts,json}'"},"_npmUser":{"name":"layerzero-bot","email":"bot@layerzerolabs.org"},"_resolved":"/tmp/3357b2b5679ff8cb3c7e58e77286e0e9/layerzerolabs-script-devtools-evm-foundry-0.0.2.tgz","_integrity":"sha512-+9apw6T/JCefx33lDNIa4DCRwgk9IcXVXgcX4+PwAsGSvKiWmUkJxZKVHPQiWK+fFIeQFoIgA70J32ticJQ7sw==","repository":{"url":"git+https://github.com/LayerZero-Labs/devtools.git","type":"git","directory":"packages/script-devtools-evm-foundry"},"_npmVersion":"10.2.3","description":"Scripts to help develop LayerZero EVM contracts using foundry","directories":{},"_nodeVersion":"20.10.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.4.4","@types/node":"~18.18.14","solidity-bytes-utils":"^0.8.2","@openzeppelin/contracts":"^5.0.2","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/toolbox-foundry":"^0.1.13","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@openzeppelin/contracts-upgradeable":"^5.0.2"},"peerDependencies":{"@layerzerolabs/oft-evm":"^3.1.2","@layerzerolabs/oapp-evm":"^0.3.1","@openzeppelin/contracts":"^4.9.5 || ^5.0.0","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@openzeppelin/contracts-upgradeable":"^4.9.5 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/script-devtools-evm-foundry_0.0.2_1752595795249_0.7862964699294543","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@layerzerolabs/script-devtools-evm-foundry","version":"1.0.0","license":"MIT","_id":"@layerzerolabs/script-devtools-evm-foundry@1.0.0","maintainers":[{"name":"ryanzarick","email":"ryan@layerzerolabs.org"},{"name":"lzflips","email":"philips@layerzerolabs.org"},{"name":"xinghul","email":"xinghu1989@gmail.com"},{"name":"lzhanson","email":"hanson@layerzerolabs.org"},{"name":"layerzero-bot","email":"bot@layerzerolabs.org"},{"name":"donghua.wang","email":"qwwind@gmail.com"},{"name":"_cb","email":"caleb@layerzerolabs.org"},{"name":"isaacnotnewton","email":"isaac@layerzerolabs.org"},{"name":"layerzero-piotr","email":"piotr@layerzerolabs.org"},{"name":"smith-layerzero","email":"smith@layerzerolabs.org"},{"name":"lzwarlock","email":"riley@layerzerolabs.org"},{"name":"robingautier","email":"robin@layerzerolabs.org"},{"name":"sirarthurmoney","email":"kyle@layerzerolabs.org"},{"name":"carmencheng","email":"carmen@layerzerolabs.org"},{"name":"mrowa44","email":"mrowa44@gmail.com"},{"name":"10xkelly","email":"kelly@layerzerolabs.org"},{"name":"zouguangxian","email":"gx@layerzerolabs.org"},{"name":"dwongl","email":"dwong@layerzerolabs.org"},{"name":"unkrakable","email":"matthewkrak@gmail.com"},{"name":"aberrantfluxlz","email":"kai@layerzerolabs.org"},{"name":"shankars99","email":"shankar@layerzerolabs.org"},{"name":"mohammadchavosh","email":"mohammad@layerzerolabs.org"},{"name":"danl0","email":"dan@layerzerolabs.org"},{"name":"michal-layerzero","email":"mstanisz@layerzerolabs.org"},{"name":"areklz","email":"arek@layerzerolabs.org"},{"name":"lz-thomas","email":"thomas@layerzerolabs.org"},{"name":"lzadmin","email":"lzadmin@layerzerolabs.org"},{"name":"kenyuan","email":"ken@layerzerolabs.org"},{"name":"mokyy","email":"moyaying88@gmail.com"},{"name":"ravinagill","email":"ravina@layerzerolabs.org"},{"name":"yadong-layerzero","email":"yadong@layerzerolabs.org"},{"name":"ziming.zung","email":"ziming.zung@gmail.com"},{"name":"abaltes","email":"abaltes@layerzerolabs.org"},{"name":"yargo13","email":"yargo@layerzerolabs.org"},{"name":"lzalvin","email":"alvin@layerzerolabs.org"},{"name":"lz-siddharth","email":"siddharth@layerzerolabs.org"},{"name":"joyama","email":"jun@layerzerolabs.org"},{"name":"lz.igor","email":"igor@layerzerolabs.org"},{"name":"lzerfan","email":"erfan@layerzerolabs.org"},{"name":"debjitdm","email":"debjit.mandal@layerzerolabs.org"},{"name":"lz.preetnakrani","email":"preet.nakrani@layerzerolabs.org"},{"name":"eriklzl","email":"erik@layerzerolabs.org"},{"name":"sinavafadar","email":"sina.vafadar@layerzerolabs.org"},{"name":"diarramb","email":"diarra.mbacke@layerzerolabs.org"},{"name":"shayandesh","email":"shayan.shafaghi@layerzerolabs.org"},{"name":"lzed","email":"eduardo@layerzerolabs.org"},{"name":"viniciustht","email":"vinicius.hirschle@layerzerolabs.org"},{"name":"ihor.romanchenko","email":"ihor.romanchenko@layerzerolabs.org"},{"name":"ivan-kurinnyi","email":"ivan.kurinnyi@layerzerolabs.org"},{"name":"jprevoelayerzero","email":"jeremy.prevoe@layerzerolabs.org"},{"name":"leviwclz","email":"levi.costa@layerzerolabs.org"},{"name":"andreslz","email":"andres@layerzerolabs.org"},{"name":"ismaelfezzaz","email":"ismael.fezzaz@layerzerolabs.org"},{"name":"lz_alex","email":"alexander@layerzerolabs.org"},{"name":"vincent.dufrasnes","email":"vincent.dufrasnes@layerzerolabs.org"},{"name":"isaac.defrain","email":"isaac.defrain@layerzerolabs.org"},{"name":"alex-sirenko-lzlabs","email":"alex.sirenko@layerzerolabs.org"},{"name":"scorbiere","email":"sebastien.corbiere@layerzerolabs.org"},{"name":"ssz0","email":"sivcan.singh@layerzerolabs.org"},{"name":"yota-toyama-lz","email":"yota.toyama@layerzerolabs.org"}],"homepage":"https://github.com/LayerZero-Labs/devtools#readme","bugs":{"url":"https://github.com/LayerZero-Labs/devtools/issues"},"dist":{"shasum":"24eda4177da0d7ba6d3f20cc0b1478a2be64cc5b","tarball":"https://registry.npmjs.org/@layerzerolabs/script-devtools-evm-foundry/-/script-devtools-evm-foundry-1.0.0.tgz","fileCount":15,"integrity":"sha512-tg24GBZj5R3ZBUr8//+r3/2hQLJL8VfUBGSfh4l1S/wF3byeb/+dNTpx8ji7auaoajDoF1SGnAA7CY53M5GJLg==","signatures":[{"sig":"MEUCIQChtKP7FJARXj3N55rsERNZVZpx/smX6M7Icr1rmxf0igIgcS4+J/q4DNimECzUz9lvS2Qzfu2uoMrazd0c4eRSCHg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377840},"_from":"file:layerzerolabs-script-devtools-evm-foundry-1.0.0.tgz","scripts":{"lint":"$npm_execpath eslint '**/*.{js,ts,json}'","build":"forge build","coverage":"forge coverage --ir-minimum","lint:fix":"eslint --fix '**/*.{js,ts,json}'"},"_npmUser":{"name":"layerzero-bot","email":"bot@layerzerolabs.org"},"_resolved":"/tmp/49592e7162ba708958c8f1360815766c/layerzerolabs-script-devtools-evm-foundry-1.0.0.tgz","_integrity":"sha512-tg24GBZj5R3ZBUr8//+r3/2hQLJL8VfUBGSfh4l1S/wF3byeb/+dNTpx8ji7auaoajDoF1SGnAA7CY53M5GJLg==","repository":{"url":"git+https://github.com/LayerZero-Labs/devtools.git","type":"git","directory":"packages/script-devtools-evm-foundry"},"_npmVersion":"10.2.3","description":"Scripts to help develop LayerZero EVM contracts using foundry","directories":{},"_nodeVersion":"20.10.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.2","typescript":"^5.4.4","@types/node":"~18.18.14","solidity-bytes-utils":"^0.8.2","@openzeppelin/contracts":"^5.0.2","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/toolbox-foundry":"^0.1.13","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@openzeppelin/contracts-upgradeable":"^5.0.2"},"peerDependencies":{"@layerzerolabs/oft-evm":"^3.2.0","@layerzerolabs/oapp-evm":"^0.3.2","@openzeppelin/contracts":"^4.9.5 || ^5.0.0","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@openzeppelin/contracts-upgradeable":"^4.9.5 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/script-devtools-evm-foundry_1.0.0_1753203723120_0.3865144787751573","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@layerzerolabs/script-devtools-evm-foundry","version":"2.0.0","description":"Scripts to help develop LayerZero EVM contracts using foundry","repository":{"type":"git","url":"git+https://github.com/LayerZero-Labs/devtools.git","directory":"packages/script-devtools-evm-foundry"},"license":"MIT","devDependencies":{"@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/toolbox-foundry":"^0.1.13","@openzeppelin/contracts":"^5.0.2","@openzeppelin/contracts-upgradeable":"^5.0.2","@types/node":"~18.18.14","solidity-bytes-utils":"^0.8.2","ts-node":"^10.9.2","typescript":"^5.4.4"},"peerDependencies":{"@layerzerolabs/lz-evm-messagelib-v2":"^3.0.12","@layerzerolabs/lz-evm-protocol-v2":"^3.0.12","@layerzerolabs/lz-evm-v1-0.7":"^3.0.12","@layerzerolabs/oapp-evm":"^0.4.0","@layerzerolabs/oft-evm":"^4.0.0","@openzeppelin/contracts":"^4.9.5 || ^5.0.0","@openzeppelin/contracts-upgradeable":"^4.9.5 || ^5.0.0"},"publishConfig":{"access":"public"},"scripts":{"build":"forge build","coverage":"forge coverage --ir-minimum","lint":"$npm_execpath eslint '**/*.{js,ts,json}'","lint:fix":"eslint --fix '**/*.{js,ts,json}'"},"_id":"@layerzerolabs/script-devtools-evm-foundry@2.0.0","bugs":{"url":"https://github.com/LayerZero-Labs/devtools/issues"},"homepage":"https://github.com/LayerZero-Labs/devtools#readme","_integrity":"sha512-pEmVLdFYewcB/ScNOQXNO4y09hwGRMLhZQufm4/o0k3FRAtWaGECRdwPESspRrlq83WUUFBxWDj2S5EspQk8Cw==","_resolved":"/tmp/f64f9e24858a43ec16a212d2e86a743a/layerzerolabs-script-devtools-evm-foundry-2.0.0.tgz","_from":"file:layerzerolabs-script-devtools-evm-foundry-2.0.0.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-pEmVLdFYewcB/ScNOQXNO4y09hwGRMLhZQufm4/o0k3FRAtWaGECRdwPESspRrlq83WUUFBxWDj2S5EspQk8Cw==","shasum":"ab5567786ec548138b746cafa383fc96d3c8cf16","tarball":"https://registry.npmjs.org/@layerzerolabs/script-devtools-evm-foundry/-/script-devtools-evm-foundry-2.0.0.tgz","fileCount":15,"unpackedSize":377840,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG6kQo4XWjaiwjOCM08PpzaQBhn6IeqUT7ToQG6I2B2kAiEA9dE9U558CDK/WhkmxKjecadGzGzAzhIUvjOLVj9yAaU="}]},"_npmUser":{"name":"layerzero-bot","email":"bot@layerzerolabs.org"},"directories":{},"maintainers":[{"name":"layerzero-bot","email":"bot@layerzerolabs.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/script-devtools-evm-foundry_2.0.0_1763000930992_0.4361048537334684"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-15T16:09:55.147Z","modified":"2025-11-13T02:28:51.834Z","0.0.2":"2025-07-15T16:09:55.433Z","1.0.0":"2025-07-22T17:02:03.343Z","2.0.0":"2025-11-13T02:28:51.193Z"},"bugs":{"url":"https://github.com/LayerZero-Labs/devtools/issues"},"license":"MIT","homepage":"https://github.com/LayerZero-Labs/devtools#readme","repository":{"type":"git","url":"git+https://github.com/LayerZero-Labs/devtools.git","directory":"packages/script-devtools-evm-foundry"},"description":"Scripts to help develop LayerZero EVM contracts using foundry","maintainers":[{"name":"layerzero-bot","email":"bot@layerzerolabs.org"}],"readme":"<p align=\"center\">\n  <a href=\"https://layerzero.network\">\n    <img alt=\"LayerZero\" style=\"max-width: 500px\" src=\"https://d3a2dpnnrypp5h.cloudfront.net/bridge-app/lz.png\"/>\n  </a>\n</p>\n\n<h1 align=\"center\">@layerzerolabs/script-devtools-evm-foundry</h1>\n\n<!-- The badges section -->\n<p align=\"center\">\n  <!-- Shields.io NPM published package version -->\n  <a href=\"https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry\"><img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/@layerzerolabs/script-devtools-evm-foundry\"/></a>\n  <!-- Shields.io NPM downloads -->\n  <a href=\"https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry\"><img alt=\"Downloads\" src=\"https://img.shields.io/npm/dm/@layerzerolabs/script-devtools-evm-foundry\"/></a>\n  <!-- Shields.io license badge -->\n  <a href=\"https://www.npmjs.com/package/@layerzerolabs/script-devtools-evm-foundry\"><img alt=\"NPM License\" src=\"https://img.shields.io/npm/l/@layerzerolabs/script-devtools-evm-foundry\"/></a>\n</p>\n\n## Installation\n\n```sh\n$ npm install @layerzerolabs/script-devtools-evm-foundry\n```\n\n## Usage\n\nThis package not only exports a bunch of scripts for you to use in your foundry projects. But since they compile into your `artifacts` folder, you can run them from your command line.\n\n```sh\nforge script SimulateReceive --rpc-url YOUR_DESTINATION_CHAIN_RPC_URL --ffi\n```\n\nSince all the scripts are bundled into `LZScripts.s.sol`, you can import them in your own scripts like this:\n\n```solidity\nimport { LZUtils } from \"@layerzerolabs/script-devtools-evm-foundry/scripts/LZScripts.s.sol\";\n```\n\n## List of scripts\n\n### 1. SimulateReceive\n\nSimulate receiving a message on an EVM chain - [Read more](./script/SimulateReceive/README.md)\nSource code: [SimulateReceive.s.sol](./script/SimulateReceive/SimulateReceive.s.sol)\nShell command:\n\n```sh\nforge script SimulateReceive --rpc-url $DESTINATION_CHAIN_RPC_URL --ffi\n```\n\n### 2. GasProfiler\n\nProfile the gas usage of OFT transfers on multiple mainnet networks - [Read more](./script/GasProfiling/README.md)\nSource code: [OFTProfilerExample.s.sol](./script/GasProfiling/OFTProfilerExample.s.sol)\nShell command: Not available\n","readmeFilename":"README.md"}