@bananapus/721-hook-v6 0.0.49 → 0.0.50

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/CHANGELOG.md CHANGED
@@ -12,6 +12,15 @@ This file describes the verified change from `nana-721-hook-v5` to the current `
12
12
  - `JB721TiersHookProjectDeployer`
13
13
  - `JB721TiersHookLib`
14
14
 
15
+ ## 0.0.50 — Bump nana-core-v6 to 0.0.53
16
+
17
+ `@bananapus/core-v6@0.0.53` ([nana-core-v6 PR #145](https://github.com/Bananapus/nana-core-v6/pull/145)) drops the `via_ir` requirement on `JBCashOutHookSpecsLib`, which lets this package consume the cross-project cashout work (`payAfterCashOutTokensOf` / `addToBalanceAfterCashOutTokensOf`) without needing `via_ir = true` in its own foundry profile. `JB721TiersHookStore.tiersOf` is not via-ir-tolerant under solc 0.8.28 (its category loop trips the Yul stack ceiling), so this dep release is what makes the bump possible at all.
18
+
19
+ - `JBPayDataHookRulesetMetadata` mirrors the new core `pauseCrossProjectFeeFreeInflows` field (bit 80 in the packed metadata word). Forwarded into the canonical `JBRulesetMetadata` at the three call sites in `JB721TiersHookProjectDeployer` (`_launchProjectFor`, `_launchRulesetsFor`, `_queueRulesetsFor`).
20
+ - All `JBRulesetMetadata` test literals patched to include `pauseCrossProjectFeeFreeInflows: false`.
21
+
22
+ `package.json`: version `0.0.49 → 0.0.50`, core dep `^0.0.48 → ^0.0.53`.
23
+
15
24
  ## Summary
16
25
 
17
26
  - v6 adds tier-level split routing. `JB721TierConfig` and the surrounding minting logic now support `splitPercent` and `splits`.
package/foundry.toml CHANGED
@@ -1,5 +1,6 @@
1
1
  [profile.default]
2
2
  solc = '0.8.28'
3
+ bytecode_hash = "none"
3
4
  evm_version = 'cancun'
4
5
  optimizer_runs = 200
5
6
  libs = ["node_modules", "lib"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/721-hook-v6",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@bananapus/address-registry-v6": "^0.0.25",
32
- "@bananapus/core-v6": "^0.0.48",
32
+ "@bananapus/core-v6": "^0.0.53",
33
33
  "@bananapus/ownable-v6": "^0.0.24",
34
34
  "@bananapus/permission-ids-v6": "^0.0.22",
35
35
  "@openzeppelin/contracts": "5.6.1",
@@ -277,6 +277,7 @@ contract JB721TiersHookProjectDeployer is
277
277
  ownerMustSendPayouts: payDataRulesetConfig.metadata.ownerMustSendPayouts,
278
278
  holdFees: payDataRulesetConfig.metadata.holdFees,
279
279
  scopeCashOutsToLocalBalances: payDataRulesetConfig.metadata.scopeCashOutsToLocalBalances,
280
+ pauseCrossProjectFeeFreeInflows: payDataRulesetConfig.metadata.pauseCrossProjectFeeFreeInflows,
280
281
  useDataHookForPay: true,
281
282
  useDataHookForCashOut: payDataRulesetConfig.metadata.useDataHookForCashOut,
282
283
  dataHook: address(dataHook),
@@ -351,6 +352,7 @@ contract JB721TiersHookProjectDeployer is
351
352
  ownerMustSendPayouts: payDataRulesetConfig.metadata.ownerMustSendPayouts,
352
353
  holdFees: payDataRulesetConfig.metadata.holdFees,
353
354
  scopeCashOutsToLocalBalances: payDataRulesetConfig.metadata.scopeCashOutsToLocalBalances,
355
+ pauseCrossProjectFeeFreeInflows: payDataRulesetConfig.metadata.pauseCrossProjectFeeFreeInflows,
354
356
  useDataHookForPay: true,
355
357
  useDataHookForCashOut: payDataRulesetConfig.metadata.useDataHookForCashOut,
356
358
  dataHook: address(dataHook),
@@ -426,6 +428,7 @@ contract JB721TiersHookProjectDeployer is
426
428
  ownerMustSendPayouts: payDataRulesetConfig.metadata.ownerMustSendPayouts,
427
429
  holdFees: payDataRulesetConfig.metadata.holdFees,
428
430
  scopeCashOutsToLocalBalances: payDataRulesetConfig.metadata.scopeCashOutsToLocalBalances,
431
+ pauseCrossProjectFeeFreeInflows: payDataRulesetConfig.metadata.pauseCrossProjectFeeFreeInflows,
429
432
  useDataHookForPay: true,
430
433
  useDataHookForCashOut: payDataRulesetConfig.metadata.useDataHookForCashOut,
431
434
  dataHook: address(dataHook),
@@ -24,6 +24,8 @@ pragma solidity ^0.8.0;
24
24
  /// @custom:member holdFees A flag indicating if fees should be held during this ruleset.
25
25
  /// @custom:member scopeCashOutsToLocalBalances A flag indicating if omnichain cash-out calculations should use only
26
26
  /// the local chain's terminal balance instead of the project's balance held in all terminals.
27
+ /// @custom:member pauseCrossProjectFeeFreeInflows If `true`, the project cannot be targeted by
28
+ /// `payAfterCashOutTokensOf` / `addToBalanceAfterCashOutTokensOf` calls during this ruleset.
27
29
  /// @custom:member useDataHookForCashOuts A flag indicating if the data hook should be used for cash out transactions
28
30
  /// during
29
31
  /// this ruleset.
@@ -44,6 +46,7 @@ struct JBPayDataHookRulesetMetadata {
44
46
  bool ownerMustSendPayouts;
45
47
  bool holdFees;
46
48
  bool scopeCashOutsToLocalBalances;
49
+ bool pauseCrossProjectFeeFreeInflows;
47
50
  bool useDataHookForCashOut;
48
51
  uint16 metadata;
49
52
  }
@@ -224,6 +224,7 @@ contract UnitTestSetup is Test {
224
224
  ownerMustSendPayouts: false,
225
225
  holdFees: false,
226
226
  scopeCashOutsToLocalBalances: true,
227
+ pauseCrossProjectFeeFreeInflows: false,
227
228
  useDataHookForPay: true,
228
229
  useDataHookForCashOut: true,
229
230
  dataHook: address(0),
@@ -773,6 +774,7 @@ contract UnitTestSetup is Test {
773
774
  allowAddPriceFeed: false,
774
775
  holdFees: false,
775
776
  scopeCashOutsToLocalBalances: true,
777
+ pauseCrossProjectFeeFreeInflows: false,
776
778
  useDataHookForCashOut: false,
777
779
  metadata: 0x00
778
780
  });