0.0.15 • Published 9 months ago

@bananapus/permission-ids v0.0.15

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Bananapus Permission ID

This repository contains permission IDs to grant scoped permissions through the JBPermissions contract and the JBPermissioned modifier.

Usage

Install

How to install nana-permission-ids in another project.

For projects using npm to manage dependencies (recommended):

npm install @bananapus/permission-ids

For projects using forge to manage dependencies (not recommended):

forge install Bananapus/nana-permission-ids

If 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.

Develop

nana-permission-ids uses npm (version >=20.0.0) for package management and the Foundry development toolchain for builds, tests, and deployments. To get set up, install Node.js and install Foundry:

curl -L https://foundry.paradigm.xyz | sh

You can download and install dependencies with:

forge install

If you run into trouble with forge install, try using git submodule update --init --recursive to ensure that nested submodules have been properly initialized.

Some useful commands:

CommandDescription
forge buildCompile the contracts and write artifacts to out.
forge fmtFormat solidity files.
forge testRun the tests.
forge build --sizesGet contract sizes.
forge coverageGenerate a test coverage report.
foundryupUpdate foundry. Run this periodically.
forge cleanRemove the build artifacts and cache directories.

To learn more, visit the Foundry Book docs.

Repository Layout

The root directory contains this README, an MIT license, and config files. If you're developing, you're probably looking for one of these:

nana-permission-ids/
├── .github/
│   └── workflows/ - CI/CD workflows.
└── src/
    └── JBPermissionIds.sol

Description

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.

For 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.

Permission IDsRepository
1ROOT (all Juicebox contracts)
2-19nana-core
20-23nana-721-hook
24-25nana-buyback-hook
26-27nana-swap-terminal
28-30nana-suckers

If you're having trouble understanding this contract, take a look at the core protocol contracts and the documentation first. If you have questions, reach out on Discord.

0.0.13

9 months ago

0.0.14

9 months ago

0.0.15

9 months ago

0.0.10

1 year ago

0.0.11

12 months ago

0.0.12

11 months ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago