@bananapus/omnichain-deployers-v6 0.0.35 → 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/omnichain-deployers-v6",
3
- "version": "0.0.35",
3
+ "version": "0.0.38",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -16,7 +16,7 @@
16
16
  "src/"
17
17
  ],
18
18
  "engines": {
19
- "node": ">=20.0.0"
19
+ "node": "25.9.0"
20
20
  },
21
21
  "scripts": {
22
22
  "test": "forge test",
@@ -30,7 +30,7 @@
30
30
  "@bananapus/core-v6": "0.0.39",
31
31
  "@bananapus/ownable-v6": "0.0.24",
32
32
  "@bananapus/permission-ids-v6": "0.0.22",
33
- "@bananapus/suckers-v6": "0.0.32",
33
+ "@bananapus/suckers-v6": "0.0.34",
34
34
  "@openzeppelin/contracts": "5.6.1"
35
35
  },
36
36
  "devDependencies": {
@@ -325,10 +325,12 @@ contract JBOmnichainDeployer is
325
325
  });
326
326
  }
327
327
 
328
- /// @dev Make sure this contract can only receive project NFTs from `JBProjects`.
329
- function onERC721Received(address, address, uint256, bytes calldata) external view returns (bytes4) {
330
- // Make sure the 721 received is from the `JBProjects` contract.
331
- if (msg.sender != address(PROJECTS)) revert JBOmnichainDeployer_UnexpectedNFTReceived();
328
+ /// @dev Make sure this contract can only receive project NFTs minted from `JBProjects` (not transferred).
329
+ function onERC721Received(address, address from, uint256, bytes calldata) external view returns (bytes4) {
330
+ // Only accept mints (from == address(0)) from the `JBProjects` contract, not arbitrary transfers.
331
+ if (msg.sender != address(PROJECTS) || from != address(0)) {
332
+ revert JBOmnichainDeployer_UnexpectedNFTReceived();
333
+ }
332
334
 
333
335
  return IERC721Receiver.onERC721Received.selector;
334
336
  }
@@ -526,8 +528,8 @@ contract JBOmnichainDeployer is
526
528
  /// @param context Standard Juicebox payment context. See `JBBeforePayRecordedContext`.
527
529
  /// @return weight The weight which project tokens are minted relative to. This can be used to customize how many
528
530
  /// tokens get minted by a payment.
529
- /// @return hookSpecifications Amounts (out of what's being paid in) to be sent to pay hooks instead of being paid
530
- /// into the project. Useful for automatically routing funds from a treasury as payments come in.
531
+ /// @return hookSpecifications Amounts (out of the payment) to send to pay hooks instead of the project. Useful for
532
+ /// automatically routing funds from a treasury as payments come in.
531
533
  function beforePayRecordedWith(JBBeforePayRecordedContext calldata context)
532
534
  external
533
535
  view
@@ -4,7 +4,7 @@ pragma solidity ^0.8.0;
4
4
  import {JBDeploy721TiersHookConfig} from "@bananapus/721-hook-v6/src/structs/JBDeploy721TiersHookConfig.sol";
5
5
 
6
6
  /// @notice Configuration for deploying a 721 tiers hook alongside omnichain rulesets.
7
- /// @param deployTiersHookConfig Configuration which dictates the behavior of the 721 tiers hook being deployed.
7
+ /// @param deployTiersHookConfig Configuration which dictates the behavior of the 721 tiers hook to deploy.
8
8
  /// @param useDataHookForCashOut Whether the 721 hook should handle cash outs (via beforeCashOutRecordedWith).
9
9
  /// @param salt A salt to use for the deterministic 721 hook deployment. Combined with `msg.sender` internally, so
10
10
  /// cross-chain deterministic addresses require the same sender on each chain.