@bananapus/ownable-v6 0.0.37 → 0.0.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
  - [SKILLS.md](./SKILLS.md) — reusable patterns and gotchas for builders
13
13
  - [STYLE_GUIDE.md](./STYLE_GUIDE.md) — code style conventions
14
14
  - [AUDIT_INSTRUCTIONS.md](./AUDIT_INSTRUCTIONS.md) — guidance for auditors
15
- - [CHANGELOG.md](./CHANGELOG.md) release notes
15
+ - [CHANGELOG.md](./CHANGELOG.md) - V5 to V6 migration changelog
16
16
  - [references/runtime.md](./references/runtime.md) — owner-resolution, transfer, and delegation behavior by surface
17
17
  - [references/operations.md](./references/operations.md) — change checklist and common failure modes
18
18
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/ownable-v6",
3
- "version": "0.0.37",
3
+ "version": "0.0.38",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,8 +17,8 @@
17
17
  "node": ">=20.0.0"
18
18
  },
19
19
  "dependencies": {
20
- "@bananapus/core-v6": "^0.0.78",
21
- "@bananapus/permission-ids-v6": "^0.0.28",
20
+ "@bananapus/core-v6": "^0.0.82",
21
+ "@bananapus/permission-ids-v6": "^0.0.30",
22
22
  "@openzeppelin/contracts": "5.6.1"
23
23
  },
24
24
  "scripts": {
package/src/JBOwnable.sol CHANGED
@@ -17,10 +17,8 @@ contract JBOwnable is JBOwnableOverrides {
17
17
  // -------------------------- constructor ---------------------------- //
18
18
  //*********************************************************************//
19
19
 
20
- /// @dev To make a Juicebox project's owner this contract's owner, pass that project's ID as the
21
- /// `initialProjectIdOwner`.
22
- /// @dev To make a specific address the owner, pass that address as the `initialOwner` and `0` as the
23
- /// `initialProjectIdOwner`.
20
+ /// @dev To make a Juicebox project's owner this contract's owner, pass its ID as `initialProjectIdOwner`.
21
+ /// @dev To make a specific address the owner, pass it as `initialOwner` and `0` as `initialProjectIdOwner`.
24
22
  /// @dev The owner can give other addresses owner access through the `permissions` contract.
25
23
  /// @param permissions A contract storing permissions.
26
24
  /// @param projects Mints ERC-721s that represent project ownership and transfers.
@@ -65,11 +65,10 @@ abstract contract JBOwnableOverrides is Context, JBPermissioned, IJBOwnable {
65
65
 
66
66
  /// @dev To restrict access to a Juicebox project's owner, pass that project's ID as the `initialProjectIdOwner` and
67
67
  /// the zero address as the `initialOwner`.
68
- /// To restrict access to a specific address, pass that address as the `initialOwner` and `0` as the
69
- /// `initialProjectIdOwner`.
68
+ /// To restrict access to a specific address, pass it as `initialOwner` and `0` as `initialProjectIdOwner`.
70
69
  /// @dev Project-based owners can give owner access to other addresses through the `permissions` contract.
71
- /// Address-based owners cannot enable delegated owner access because `JBPermissions` project ID `0` is the
72
- /// wildcard project namespace.
70
+ /// Address-based owners cannot delegate owner access because `JBPermissions` project ID `0` is the wildcard
71
+ /// project namespace.
73
72
  /// @dev If `initialProjectIdOwner` references an unminted project, `owner()` resolves to `address(0)` and
74
73
  /// owner-gated calls revert until that project is created. The first account to mint that project becomes the
75
74
  /// effective owner, so deployers must control the mint sequence.
@@ -208,8 +207,7 @@ abstract contract JBOwnableOverrides is Context, JBPermissioned, IJBOwnable {
208
207
  _setPermissionId(permissionId);
209
208
  }
210
209
 
211
- /// @notice Transfers ownership of this contract to a new address (the `newOwner`). Can only be called by the
212
- /// current owner.
210
+ /// @notice Transfers ownership of this contract to a new address. Can only be called by the current owner.
213
211
  /// @dev The `permissionId` is reset to 0 on transfer to prevent permission clashes for the new owner.
214
212
  /// The new owner must explicitly call `setPermissionId()` to configure owner-level permission delegation.
215
213
  /// @param newOwner The address to transfer ownership to.
@@ -222,8 +220,7 @@ abstract contract JBOwnableOverrides is Context, JBPermissioned, IJBOwnable {
222
220
  _transferOwnership({newOwner: newOwner, projectId: 0});
223
221
  }
224
222
 
225
- /// @notice Transfers ownership to a Juicebox project whoever holds that project's ERC-721 NFT becomes the
226
- /// owner.
223
+ /// @notice Transfers ownership to a Juicebox project, whose ERC-721 NFT holder becomes the owner.
227
224
  /// @dev The `permissionId` is reset to 0 on transfer to prevent the previous owner's delegates from retaining
228
225
  /// access. The new project owner must call `setPermissionId()` to re-enable delegation.
229
226
  /// @dev The `projectId` must fit within a `uint88` and the project must already exist.