@bananapus/core-v6 0.0.25 → 0.0.26

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.
Files changed (160) hide show
  1. package/AUDIT_INSTRUCTIONS.md +2 -2
  2. package/CHANGE_LOG.md +2 -2
  3. package/README.md +1 -1
  4. package/SKILLS.md +1 -1
  5. package/STYLE_GUIDE.md +2 -2
  6. package/foundry.toml +1 -1
  7. package/package.json +3 -2
  8. package/script/Deploy.s.sol +1 -1
  9. package/script/DeployPeriphery.s.sol +1 -1
  10. package/script/helpers/CoreDeploymentLib.sol +1 -1
  11. package/src/JBChainlinkV3PriceFeed.sol +1 -1
  12. package/src/JBChainlinkV3SequencerPriceFeed.sol +1 -1
  13. package/src/JBController.sol +1 -1
  14. package/src/JBDeadline.sol +1 -1
  15. package/src/JBDirectory.sol +1 -1
  16. package/src/JBERC20.sol +1 -1
  17. package/src/JBFeelessAddresses.sol +1 -1
  18. package/src/JBFundAccessLimits.sol +1 -1
  19. package/src/JBMultiTerminal.sol +1 -1
  20. package/src/JBPermissions.sol +1 -1
  21. package/src/JBPrices.sol +1 -1
  22. package/src/JBProjects.sol +1 -1
  23. package/src/JBRulesets.sol +1 -1
  24. package/src/JBSplits.sol +1 -1
  25. package/src/JBTerminalStore.sol +1 -1
  26. package/src/JBTokens.sol +1 -1
  27. package/src/libraries/JBPayoutSplitGroupLib.sol +1 -1
  28. package/src/periphery/JBDeadline1Day.sol +1 -1
  29. package/src/periphery/JBDeadline3Days.sol +1 -1
  30. package/src/periphery/JBDeadline3Hours.sol +1 -1
  31. package/src/periphery/JBDeadline7Days.sol +1 -1
  32. package/src/periphery/JBMatchingPriceFeed.sol +1 -1
  33. package/test/TestJBERC20Inheritance.sol +1 -1
  34. package/test/TestMetadataOffsetOverflow.sol +1 -1
  35. package/test/TestMetadataParserLib.sol +1 -1
  36. package/test/TestTerminalPreviewParity.sol +1 -1
  37. package/test/fork/TestChainlinkPriceFeedFork.sol +1 -1
  38. package/test/fork/TestSequencerPriceFeedFork.sol +1 -1
  39. package/test/fork/TestTerminalPreviewParityFork.sol +1 -1
  40. package/test/helpers/JBTest.sol +1 -1
  41. package/test/helpers/MetadataResolverHelper.sol +1 -1
  42. package/test/mock/MockERC20.sol +1 -1
  43. package/test/mock/MockMaliciousBeneficiary.sol +1 -1
  44. package/test/mock/MockMaliciousSplitHook.sol +1 -1
  45. package/test/mock/MockPriceFeed.sol +1 -1
  46. package/test/mock/MockUSDT.sol +1 -1
  47. package/test/units/static/JBChainlinkV3PriceFeed/TestPriceFeed.sol +1 -1
  48. package/test/units/static/JBController/JBControllerSetup.sol +1 -1
  49. package/test/units/static/JBController/TestBurnTokensOf.sol +1 -1
  50. package/test/units/static/JBController/TestClaimTokensFor.sol +1 -1
  51. package/test/units/static/JBController/TestDeployErc20For.sol +1 -1
  52. package/test/units/static/JBController/TestLaunchProjectFor.sol +1 -1
  53. package/test/units/static/JBController/TestLaunchRulesetsFor.sol +1 -1
  54. package/test/units/static/JBController/TestMigrateController.sol +1 -1
  55. package/test/units/static/JBController/TestMintTokensOfUnits.sol +1 -1
  56. package/test/units/static/JBController/TestOmnichainRulesetOperator.sol +1 -1
  57. package/test/units/static/JBController/TestPayReservedTokenToTerminal.sol +1 -1
  58. package/test/units/static/JBController/TestPreviewMintOf.sol +1 -1
  59. package/test/units/static/JBController/TestReceiveMigrationFrom.sol +1 -1
  60. package/test/units/static/JBController/TestRulesetViews.sol +1 -1
  61. package/test/units/static/JBController/TestSendReservedTokensToSplitsOf.sol +1 -1
  62. package/test/units/static/JBController/TestSetSplitGroupsOf.sol +1 -1
  63. package/test/units/static/JBController/TestSetTokenFor.sol +1 -1
  64. package/test/units/static/JBController/TestSetUriOf.sol +1 -1
  65. package/test/units/static/JBController/TestTransferCreditsFrom.sol +1 -1
  66. package/test/units/static/JBDeadline/TestDeadlineFuzz.sol +1 -1
  67. package/test/units/static/JBDirectory/JBDirectorySetup.sol +1 -1
  68. package/test/units/static/JBDirectory/TestPrimaryTerminalOf.sol +1 -1
  69. package/test/units/static/JBDirectory/TestSetControllerOf.sol +1 -1
  70. package/test/units/static/JBDirectory/TestSetControllerOfMigrationOrder.sol +1 -1
  71. package/test/units/static/JBDirectory/TestSetPrimaryTerminalOf.sol +1 -1
  72. package/test/units/static/JBDirectory/TestSetTerminalsOf.sol +1 -1
  73. package/test/units/static/JBERC20/JBERC20Setup.sol +1 -1
  74. package/test/units/static/JBERC20/SigUtils.sol +1 -1
  75. package/test/units/static/JBERC20/TestInitialize.sol +1 -1
  76. package/test/units/static/JBERC20/TestName.sol +1 -1
  77. package/test/units/static/JBERC20/TestNonces.sol +1 -1
  78. package/test/units/static/JBERC20/TestSymbol.sol +1 -1
  79. package/test/units/static/JBFeelessAdresses/JBFeelessSetup.sol +1 -1
  80. package/test/units/static/JBFeelessAdresses/TestInterfaces.sol +1 -1
  81. package/test/units/static/JBFeelessAdresses/TestSetFeelessAddress.sol +1 -1
  82. package/test/units/static/JBFees/TestFeesFuzz.sol +1 -1
  83. package/test/units/static/JBFixedPointNumber/TestAdjustDecimals.sol +1 -1
  84. package/test/units/static/JBFixedPointNumber/TestAdjustDecimalsFuzz.sol +1 -1
  85. package/test/units/static/JBFundAccessLimits/JBFundAccessSetup.sol +1 -1
  86. package/test/units/static/JBFundAccessLimits/TestFundAccessLimitsEdge.sol +1 -1
  87. package/test/units/static/JBFundAccessLimits/TestPayoutLimitOf.sol +1 -1
  88. package/test/units/static/JBFundAccessLimits/TestPayoutLimitsOf.sol +1 -1
  89. package/test/units/static/JBFundAccessLimits/TestSetFundAccessLimitsFor.sol +1 -1
  90. package/test/units/static/JBFundAccessLimits/TestSurplusAllowanceOf.sol +1 -1
  91. package/test/units/static/JBFundAccessLimits/TestSurplusAllowancesOf.sol +1 -1
  92. package/test/units/static/JBMetadataResolver/TestGetDataFor.sol +1 -1
  93. package/test/units/static/JBMetadataResolver/TestMetadataResolverEdgeCases.sol +1 -1
  94. package/test/units/static/JBMetadataResolver/TestMetadataResolverFuzz.sol +1 -1
  95. package/test/units/static/JBMultiTerminal/JBMultiTerminalSetup.sol +1 -1
  96. package/test/units/static/JBMultiTerminal/TestAccountingContextsOf.sol +1 -1
  97. package/test/units/static/JBMultiTerminal/TestAddAccountingContextsFor.sol +1 -1
  98. package/test/units/static/JBMultiTerminal/TestAddToBalanceOf.sol +1 -1
  99. package/test/units/static/JBMultiTerminal/TestCashOutTokensOf.sol +1 -1
  100. package/test/units/static/JBMultiTerminal/TestExecutePayout.sol +1 -1
  101. package/test/units/static/JBMultiTerminal/TestExecuteProcessFee.sol +1 -1
  102. package/test/units/static/JBMultiTerminal/TestMigrateBalanceOf.sol +1 -1
  103. package/test/units/static/JBMultiTerminal/TestPay.sol +1 -1
  104. package/test/units/static/JBMultiTerminal/TestPreviewCashOutFrom.sol +1 -1
  105. package/test/units/static/JBMultiTerminal/TestPreviewPayFor.sol +1 -1
  106. package/test/units/static/JBMultiTerminal/TestProcessHeldFeesOf.sol +1 -1
  107. package/test/units/static/JBMultiTerminal/TestSendPayoutsOf.sol +1 -1
  108. package/test/units/static/JBMultiTerminal/TestUseAllowanceOf.sol +1 -1
  109. package/test/units/static/JBPermissions/JBPermissionsSetup.sol +1 -1
  110. package/test/units/static/JBPermissions/TestHasPermission.sol +1 -1
  111. package/test/units/static/JBPermissions/TestHasPermissions.sol +1 -1
  112. package/test/units/static/JBPermissions/TestSetPermissionsFor.sol +1 -1
  113. package/test/units/static/JBPrices/JBPricesSetup.sol +1 -1
  114. package/test/units/static/JBPrices/TestAddPriceFeedFor.sol +1 -1
  115. package/test/units/static/JBPrices/TestPricePerUnitOf.sol +1 -1
  116. package/test/units/static/JBPrices/TestPrices.sol +1 -1
  117. package/test/units/static/JBProjects/JBProjectsSetup.sol +1 -1
  118. package/test/units/static/JBProjects/TestCreateFor.sol +1 -1
  119. package/test/units/static/JBProjects/TestInitialProject.sol +1 -1
  120. package/test/units/static/JBProjects/TestInterfaces.sol +1 -1
  121. package/test/units/static/JBProjects/TestSetResolver.sol +1 -1
  122. package/test/units/static/JBProjects/TestTokenUri.sol +1 -1
  123. package/test/units/static/JBRulesetMetadataResolver/TestSetCashOutTaxRateTo.sol +1 -1
  124. package/test/units/static/JBRulesets/JBRulesetsSetup.sol +1 -1
  125. package/test/units/static/JBRulesets/TestCurrentApprovalStatusForLatestRulesetOf.sol +1 -1
  126. package/test/units/static/JBRulesets/TestCurrentOf.sol +1 -1
  127. package/test/units/static/JBRulesets/TestGetRulesetOf.sol +1 -1
  128. package/test/units/static/JBRulesets/TestLatestQueuedRulesetOf.sol +1 -1
  129. package/test/units/static/JBRulesets/TestRulesets.sol +1 -1
  130. package/test/units/static/JBRulesets/TestRulesetsOf.sol +1 -1
  131. package/test/units/static/JBRulesets/TestUpcomingRulesetOf.sol +1 -1
  132. package/test/units/static/JBRulesets/TestUpdateRulesetWeightCache.sol +1 -1
  133. package/test/units/static/JBSplits/JBSplitsSetup.sol +1 -1
  134. package/test/units/static/JBSplits/TestSelfManagedSplitGroups.sol +1 -1
  135. package/test/units/static/JBSplits/TestSetSplitGroupsOf.sol +1 -1
  136. package/test/units/static/JBSplits/TestSplitsLockedEdge.sol +1 -1
  137. package/test/units/static/JBSplits/TestSplitsOf.sol +1 -1
  138. package/test/units/static/JBSplits/TestSplitsPacking.sol +1 -1
  139. package/test/units/static/JBSurplus/TestSurplusFuzz.sol +1 -1
  140. package/test/units/static/JBTerminalStore/JBTerminalStoreSetup.sol +1 -1
  141. package/test/units/static/JBTerminalStore/TestCurrentReclaimableSurplusOf.sol +1 -1
  142. package/test/units/static/JBTerminalStore/TestCurrentSurplusOf.sol +1 -1
  143. package/test/units/static/JBTerminalStore/TestCurrentTotalSurplusOf.sol +1 -1
  144. package/test/units/static/JBTerminalStore/TestPreviewCashOutFrom.sol +1 -1
  145. package/test/units/static/JBTerminalStore/TestPreviewPayFrom.sol +1 -1
  146. package/test/units/static/JBTerminalStore/TestRecordCashOutsFor.sol +1 -1
  147. package/test/units/static/JBTerminalStore/TestRecordPaymentFrom.sol +1 -1
  148. package/test/units/static/JBTerminalStore/TestRecordPayoutFor.sol +1 -1
  149. package/test/units/static/JBTerminalStore/TestRecordTerminalMigration.sol +1 -1
  150. package/test/units/static/JBTerminalStore/TestRecordUsedAllowanceOf.sol +1 -1
  151. package/test/units/static/JBTerminalStore/TestUint224Overflow.sol +1 -1
  152. package/test/units/static/JBTokens/JBTokensSetup.sol +1 -1
  153. package/test/units/static/JBTokens/TestBurnFrom.sol +1 -1
  154. package/test/units/static/JBTokens/TestClaimTokensFor.sol +1 -1
  155. package/test/units/static/JBTokens/TestDeployERC20ForUnits.sol +1 -1
  156. package/test/units/static/JBTokens/TestMintFor.sol +1 -1
  157. package/test/units/static/JBTokens/TestSetTokenFor.sol +1 -1
  158. package/test/units/static/JBTokens/TestTotalBalanceOf.sol +1 -1
  159. package/test/units/static/JBTokens/TestTotalSupplyOf.sol +1 -1
  160. package/test/units/static/JBTokens/TestTransferCreditsFrom.sol +1 -1
@@ -6,7 +6,7 @@ Read [RISKS.md](./RISKS.md) for known risks, trust model, and reentrancy analysi
6
6
 
7
7
  ## Architecture Overview
8
8
 
9
- 16 contracts, ~8,100 lines in main contracts. All contracts use Solidity 0.8.28.
9
+ 16 contracts, ~8,100 lines in main contracts. All contracts use Solidity ^0.8.26.
10
10
 
11
11
  ```
12
12
  JBProjects (ERC-721)
@@ -420,7 +420,7 @@ The 185 test files cover most flows, but these areas have limited or no coverage
420
420
 
421
421
  ## Compiler and Version Info
422
422
 
423
- - **Solidity**: 0.8.28
423
+ - **Solidity**: ^0.8.26
424
424
  - **EVM target**: Cancun (uses transient storage opcodes)
425
425
  - **Optimizer**: 200 runs (no via-IR)
426
426
  - **Dependencies**: OpenZeppelin 5.x, Solady, forge-std
package/CHANGE_LOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # nana-core-v6 Changelog (v5 -> v6)
2
2
 
3
- This document describes all changes between `nana-core` (v5, Solidity 0.8.23) and `nana-core-v6` (v6, Solidity 0.8.28).
3
+ This document describes all changes between `nana-core` (v5, Solidity 0.8.23) and `nana-core-v6` (v6, Solidity ^0.8.26).
4
4
 
5
5
  ## Summary
6
6
 
@@ -375,7 +375,7 @@ No changes.
375
375
 
376
376
  ### 8.10 Solidity Version
377
377
 
378
- All contracts upgraded from `pragma solidity 0.8.23` to `pragma solidity 0.8.28`.
378
+ All contracts upgraded from `pragma solidity 0.8.23` to `pragma solidity ^0.8.26`.
379
379
 
380
380
  ### 8.11 Named Arguments
381
381
 
package/README.md CHANGED
@@ -100,7 +100,7 @@ Projects can migrate between controllers using the `IJBMigratable` interface. Th
100
100
 
101
101
  Juicebox V6 separates concerns across specialized contracts that coordinate through a central directory. Projects are represented as ERC-721 NFTs. Each project configures rulesets that dictate how payments, payouts, cash outs, and token minting behave over time.
102
102
 
103
- All contracts use Solidity `0.8.28`.
103
+ All contracts use Solidity `^0.8.26`.
104
104
 
105
105
  ```mermaid
106
106
  graph TD;
package/SKILLS.md CHANGED
@@ -417,7 +417,7 @@ Returns whether `addr` is allowed to mint tokens for the project. Called by `JBC
417
417
 
418
418
  ```solidity
419
419
  // SPDX-License-Identifier: MIT
420
- pragma solidity 0.8.28;
420
+ pragma solidity ^0.8.26;
421
421
 
422
422
  import {IJBController} from "@bananapus/core-v6/src/interfaces/IJBController.sol";
423
423
  import {IJBDirectory} from "@bananapus/core-v6/src/interfaces/IJBDirectory.sol";
package/STYLE_GUIDE.md CHANGED
@@ -21,7 +21,7 @@ One contract/interface/struct/enum per file. Name the file after the type it con
21
21
 
22
22
  ```solidity
23
23
  // Contracts — pin to exact version
24
- pragma solidity 0.8.28;
24
+ pragma solidity ^0.8.26;
25
25
 
26
26
  // Interfaces, structs, enums — caret for forward compatibility
27
27
  pragma solidity ^0.8.0;
@@ -331,7 +331,7 @@ Standard config across all repos:
331
331
 
332
332
  ```toml
333
333
  [profile.default]
334
- solc = '0.8.28'
334
+ solc = '0.8.26'
335
335
  evm_version = 'cancun'
336
336
  optimizer_runs = 200
337
337
  libs = ["node_modules", "lib"]
package/foundry.toml CHANGED
@@ -1,5 +1,5 @@
1
1
  [profile.default]
2
- solc = '0.8.28'
2
+ solc = '0.8.26'
3
3
  evm_version = 'cancun'
4
4
  optimizer_runs = 200
5
5
  libs = ["node_modules", "lib"]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bananapus/core-v6",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,7 +26,8 @@
26
26
  "artifacts": "source ./.env && npx sphinx artifacts --org-id 'ea165b21-7cdc-4d7b-be59-ecdd4c26bee4' --project-name 'nana-core-v6'"
27
27
  },
28
28
  "dependencies": {
29
- "@bananapus/permission-ids-v6": "^0.0.11",
29
+ "@bananapus/address-registry-v6": "^0.0.14",
30
+ "@bananapus/permission-ids-v6": "^0.0.12",
30
31
  "@chainlink/contracts": "^1.3.0",
31
32
  "@openzeppelin/contracts": "^5.6.1",
32
33
  "@prb/math": "^4.1.1",
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Sphinx} from "@sphinx-labs/contracts/contracts/foundry/SphinxPlugin.sol";
5
5
  import {Script} from "forge-std/Script.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Sphinx} from "@sphinx-labs/contracts/contracts/foundry/SphinxPlugin.sol";
5
5
  import {Script} from "forge-std/Script.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {stdJson} from "forge-std/Script.sol";
5
5
  import {Vm} from "forge-std/Vm.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {AggregatorV2V3Interface} from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV2V3Interface.sol";
5
5
  import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissionIds} from "@bananapus/permission-ids-v6/src/JBPermissionIds.sol";
5
5
  import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissionIds} from "@bananapus/permission-ids-v6/src/JBPermissionIds.sol";
5
5
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
package/src/JBERC20.sol CHANGED
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
5
  import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
5
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBControlled} from "./abstract/JBControlled.sol";
5
5
  import {IJBDirectory} from "./interfaces/IJBDirectory.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissionIds} from "@bananapus/permission-ids-v6/src/JBPermissionIds.sol";
5
5
  import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissionIds} from "@bananapus/permission-ids-v6/src/JBPermissionIds.sol";
5
5
  import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
package/src/JBPrices.sol CHANGED
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
5
  import {ERC2771Context, Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
5
5
  import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {mulDiv} from "@prb/math/src/Common.sol";
5
5
 
package/src/JBSplits.sol CHANGED
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBControlled} from "./abstract/JBControlled.sol";
5
5
  import {IJBDirectory} from "./interfaces/IJBDirectory.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {mulDiv} from "@prb/math/src/Common.sol";
5
5
  import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
package/src/JBTokens.sol CHANGED
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {mulDiv} from "@prb/math/src/Common.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBDeadline} from "../JBDeadline.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBDeadline} from "../JBDeadline.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBDeadline} from "../JBDeadline.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBDeadline} from "../JBDeadline.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IJBPriceFeed} from "src/interfaces/IJBPriceFeed.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {TestBaseWorkflow} from "./helpers/TestBaseWorkflow.sol";
5
5
  import {JBERC20} from "../src/JBERC20.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Test} from "forge-std/Test.sol";
5
5
  import {MetadataResolverHelper} from "./helpers/MetadataResolverHelper.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Test} from "forge-std/Test.sol";
5
5
  import {MetadataResolverHelper} from "./helpers/MetadataResolverHelper.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {TestBaseWorkflow} from "./helpers/TestBaseWorkflow.sol";
5
5
  import {IJBController} from "../src/interfaces/IJBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Test} from "forge-std/Test.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Test} from "forge-std/Test.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity ^0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {TestTerminalPreviewParity_Local} from "../TestTerminalPreviewParity.sol";
5
5
  import {IJBTerminal} from "../../src/interfaces/IJBTerminal.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBRuleset} from "../../src/structs/JBRuleset.sol";
5
5
  import {JBRulesetMetadata} from "../../src/structs/JBRulesetMetadata.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBMetadataResolver} from "../../src/libraries/JBMetadataResolver.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {Test} from "forge-std/Test.sol";
5
5
  import {JBTerminalStore} from "../../src/JBTerminalStore.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IJBSplitHook} from "../../src/interfaces/IJBSplitHook.sol";
5
5
  import {JBSplitHookContext} from "../../src/structs/JBSplitHookContext.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IJBPriceFeed} from "../../src/interfaces/IJBPriceFeed.sol";
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  /// @notice Mimics Tether (USDT) whose transfer/transferFrom/approve return void instead of bool.
5
5
  /// @dev Uses inline assembly to return empty data (no bool), matching USDT's on-chain behavior.
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBTest} from "../../../helpers/JBTest.sol";
5
5
  import {JBChainlinkV3PriceFeed} from "../../../../src/JBChainlinkV3PriceFeed.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBController} from "../../../../src/interfaces/IJBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
5
5
  import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
5
5
  import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBController} from "../../../../src/interfaces/IJBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
5
5
  import {JBController} from "../../../../src/JBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {IJBController} from "../../../../src/interfaces/IJBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
5
5
  import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
5
5
  import {JBController} from "../../../../src/JBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
5
5
  import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
5
5
  import {IJBController} from "../../../../src/interfaces/IJBController.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBController} from "../../../../src/JBController.sol";
5
5
  import {JBPermissioned} from "../../../../src/abstract/JBPermissioned.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
5
5
  import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {JBDirectory} from "../../../../src/JBDirectory.sol";
5
5
  import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {IJBDirectoryAccessControl} from "../../../../src/interfaces/IJBDirectoryAccessControl.sol";
5
5
  import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
5
5
  import {JBDirectory} from "../../../../src/JBDirectory.sol";
@@ -1,5 +1,5 @@
1
1
  // SPDX-License-Identifier: MIT
2
- pragma solidity 0.8.28;
2
+ pragma solidity ^0.8.26;
3
3
 
4
4
  import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
5
5
  import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";