{"_id":"@bananapus/permission-ids-v5","_rev":"2-39c94b3aac2bfa04d60096b80a1022ca","name":"@bananapus/permission-ids-v5","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@bananapus/permission-ids-v5","version":"0.0.1","license":"MIT","_id":"@bananapus/permission-ids-v5@0.0.1","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"homepage":"https://github.com/Bananapus/nana-permission-ids#readme","bugs":{"url":"https://github.com/Bananapus/nana-permission-ids/issues"},"dist":{"shasum":"4ff1a69010232244070524721ca01b4586c54355","tarball":"https://registry.npmjs.org/@bananapus/permission-ids-v5/-/permission-ids-v5-0.0.1.tgz","fileCount":6,"integrity":"sha512-vhyHh5vEYdzZYlmG8aEcU7PgHCbjzcJYHMvfjyzQ27wfdU/bB4WzC5qppdLMzZqi2jV3tnRrvPPNAy3NRB7XiA==","signatures":[{"sig":"MEUCIQCUhnacZO/ajhY+g473xKn3me0RyXOkHQA6h1LKNWTOLQIgRWysnH8p3NezC6q0oRqdV4/JP02xIo8pX3Sl3qGj12o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11014},"engines":{"node":">=20.0.0"},"gitHead":"8d054418d5139c932c0592d03a3a5d8a92618978","_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"repository":{"url":"git+https://github.com/Bananapus/nana-permission-ids.git","type":"git"},"_npmVersion":"11.5.1","description":"This repository contains permission IDs to grant scoped permissions through the [`JBPermissions`](https://github.com/Bananapus/nana-core/blob/main/src/JBPermissions.sol) contract and the [`JBPermissioned`](https://github.com/Bananapus/nana-core/blob/main/","directories":{},"_nodeVersion":"24.7.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/permission-ids-v5_0.0.1_1757193320514_0.3429373136393663","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@bananapus/permission-ids-v5","version":"0.0.2","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-permission-ids-v5.git"},"engines":{"node":">=20.0.0"},"_id":"@bananapus/permission-ids-v5@0.0.2","gitHead":"bde218533ff88644b9948f37fb846fda4724a90c","description":"This repository contains permission IDs to grant scoped permissions through the [`JBPermissions`](https://github.com/Bananapus/nana-core/blob/main/src/JBPermissions.sol) contract and the [`JBPermissioned`](https://github.com/Bananapus/nana-core/blob/main/","bugs":{"url":"https://github.com/Bananapus/nana-permission-ids-v5/issues"},"homepage":"https://github.com/Bananapus/nana-permission-ids-v5#readme","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-BZDwUUES7kIEwqsXUMn7B/yc7Xdvn+Sun+Huk6GtXSxgKZwhguL2YSqdOksFcsOqA/YZFKHqBbRh2hi3M+f3Ag==","shasum":"0d950328bf713492dcd75e50b088e545b4efc639","tarball":"https://registry.npmjs.org/@bananapus/permission-ids-v5/-/permission-ids-v5-0.0.2.tgz","fileCount":6,"unpackedSize":11059,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBG9uGGozO1ly32spYk3OiC2UnOJ4mXZx1IXV8QR7Q9zAiEAo7sWvLLUawCpn+OVzKlfrz4VN1wlfNPzE5JkJEcBbeU="}]},"_npmUser":{"name":"me.jango","email":"me.jango@protonmail.com"},"directories":{},"maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/permission-ids-v5_0.0.2_1757510088702_0.23430007409215037"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-06T21:15:20.421Z","modified":"2025-09-10T13:14:49.171Z","0.0.1":"2025-09-06T21:15:20.687Z","0.0.2":"2025-09-10T13:14:48.960Z"},"bugs":{"url":"https://github.com/Bananapus/nana-permission-ids-v5/issues"},"license":"MIT","homepage":"https://github.com/Bananapus/nana-permission-ids-v5#readme","repository":{"type":"git","url":"git+https://github.com/Bananapus/nana-permission-ids-v5.git"},"description":"This repository contains permission IDs to grant scoped permissions through the [`JBPermissions`](https://github.com/Bananapus/nana-core/blob/main/src/JBPermissions.sol) contract and the [`JBPermissioned`](https://github.com/Bananapus/nana-core/blob/main/","maintainers":[{"name":"simplemachine","email":"justinpulley92@gmail.com"},{"name":"me.jango","email":"me.jango@protonmail.com"},{"name":"filipviz","email":"f@filip.world"}],"readme":"# Bananapus Permission ID\n\nThis repository contains permission IDs to grant scoped permissions through the [`JBPermissions`](https://github.com/Bananapus/nana-core/blob/main/src/JBPermissions.sol) contract and the [`JBPermissioned`](https://github.com/Bananapus/nana-core/blob/main/src/abstract/JBPermissioned.sol) modifier.\n\n<details>\n  <summary>Table of Contents</summary>\n  <ol>\n    <li><a href=\"#usage\">Usage</a></li>\n  <ul>\n    <li><a href=\"#install\">Install</a></li>\n    <li><a href=\"#develop\">Develop</a></li>\n    </ul>\n    <li><a href=\"#repository-layout\">Repository Layout</a></li>\n    <li><a href=\"#description\">Description</a></li>\n  </ul>\n  </ol>\n</details>\n\n## Usage\n\n### Install\n\nHow to install `nana-permission-ids` in another project.\n\nFor projects using `npm` to manage dependencies (recommended):\n\n```bash\nnpm install @bananapus/permission-ids\n```\n\nFor projects using `forge` to manage dependencies (not recommended):\n\n```bash\nforge install Bananapus/nana-permission-ids\n```\n\nIf you're using `forge` to manage dependencies, add `@bananapus/permission-ids/=lib/nana-permission-ids/` to `remappings.txt`. You'll also need to install `nana-permission-ids`' dependencies and add similar remappings for them.\n\n### Develop\n\n`nana-permission-ids` uses [npm](https://www.npmjs.com/) (version >=20.0.0) for package management and the [Foundry](https://github.com/foundry-rs/foundry) development toolchain for builds, tests, and deployments. To get set up, [install Node.js](https://nodejs.org/en/download) and install [Foundry](https://github.com/foundry-rs/foundry):\n\n```bash\ncurl -L https://foundry.paradigm.xyz | sh\n```\n\nYou can download and install dependencies with:\n\n```bash\nforge install\n```\n\nIf you run into trouble with `forge install`, try using `git submodule update --init --recursive` to ensure that nested submodules have been properly initialized.\n\nSome useful commands:\n\n| Command               | Description                                         |\n| --------------------- | --------------------------------------------------- |\n| `forge build`         | Compile the contracts and write artifacts to `out`. |\n| `forge fmt`           | Format solidity files.                              |\n| `forge test`          | Run the tests.                                      |\n| `forge build --sizes` | Get contract sizes.                                 |\n| `forge coverage`      | Generate a test coverage report.                    |\n| `foundryup`           | Update foundry. Run this periodically.              |\n| `forge clean`         | Remove the build artifacts and cache directories.   |\n\nTo learn more, visit the [Foundry Book](https://book.getfoundry.sh/) docs.\n\n## Repository Layout\n\nThe root directory contains this README, an MIT license, and config files. If you're developing, you're probably looking for one of these:\n\n```\nnana-permission-ids/\n├── .github/\n│   └── workflows/ - CI/CD workflows.\n└── src/\n    └── JBPermissionIds.sol\n```\n\n## Description\n\n`JBPermissions` allows one address to grant another address permission to call functions in Juicebox contracts on their behalf. Each ID in `JBPermissionIds` grants access to a specific set of these functions.\n\nFor example, if `alice.eth` owns project ID #5, she can queue new rulesets for the project. If `alice.eth` gives `bob.eth` permission to `QUEUE_RULESETS`, `bob.eth` can also queue rulesets for project ID #5.\n\n| Permission IDs | Repository                                                                  |\n| -------------- | --------------------------------------------------------------------------- |\n| 1              | `ROOT` (all Juicebox contracts)                                             |\n| 2-19           | [`nana-core`](https://github.com/Bananapus/nana-core/)                      |\n| 20-23          | [`nana-721-hook`](https://github.com/Bananapus/nana-721-hook)               |\n| 24-25          | [`nana-buyback-hook`](https://github.com/Bananapus/nana-buyback-hook)       |\n| 26-27          | [`nana-swap-terminal`](https://github.com/Bananapus/nana-swap-terminal)     |\n| 28-30          | [`nana-suckers`](https://github.com/Bananapus/nana-suckers)                 |\n\n_If you're having trouble understanding this contract, take a look at the [core protocol contracts](https://github.com/Bananapus/nana-core) and the [documentation](https://docs.juicebox.money/) first. If you have questions, reach out on [Discord](https://discord.com/invite/ErQYmth4dS)._\n\n","readmeFilename":"README.md"}