@bananapus/core-v6 0.0.14 → 0.0.16
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/ADMINISTRATION.md +4 -0
- package/README.md +2 -2
- package/SKILLS.md +2 -0
- package/STYLE_GUIDE.md +150 -43
- package/foundry.toml +3 -3
- package/package.json +4 -4
- package/remappings.txt +1 -1
- package/script/Deploy.s.sol +23 -16
- package/script/DeployPeriphery.s.sol +71 -66
- package/script/helpers/CoreDeploymentLib.sol +84 -37
- package/src/JBChainlinkV3PriceFeed.sol +1 -0
- package/src/JBController.sol +19 -4
- package/src/JBERC20.sol +12 -3
- package/src/JBFundAccessLimits.sol +12 -2
- package/src/JBMultiTerminal.sol +3 -1
- package/src/JBPermissions.sol +1 -0
- package/src/JBProjects.sol +1 -1
- package/src/JBRulesets.sol +11 -0
- package/src/JBSplits.sol +5 -0
- package/src/JBTerminalStore.sol +3 -0
- package/src/JBTokens.sol +40 -4
- package/src/interfaces/IJBController.sol +6 -1
- package/src/interfaces/IJBPayoutTerminal.sol +0 -1
- package/src/interfaces/IJBPermitTerminal.sol +1 -0
- package/src/interfaces/IJBToken.sol +5 -0
- package/src/interfaces/IJBTokens.sol +13 -0
- package/src/libraries/JBMetadataResolver.sol +7 -3
- package/src/libraries/JBRulesetMetadataResolver.sol +21 -21
- package/src/structs/JBAccountingContext.sol +1 -0
- package/src/structs/JBAfterCashOutRecordedContext.sol +1 -0
- package/src/structs/JBAfterPayRecordedContext.sol +1 -0
- package/src/structs/JBBeforeCashOutRecordedContext.sol +1 -0
- package/src/structs/JBBeforePayRecordedContext.sol +1 -0
- package/src/structs/JBCashOutHookSpecification.sol +1 -0
- package/src/structs/JBCurrencyAmount.sol +1 -0
- package/src/structs/JBFee.sol +1 -0
- package/src/structs/JBFundAccessLimitGroup.sol +1 -0
- package/src/structs/JBPayHookSpecification.sol +1 -0
- package/src/structs/JBPermissionsData.sol +1 -0
- package/src/structs/JBRuleset.sol +1 -0
- package/src/structs/JBRulesetConfig.sol +1 -0
- package/src/structs/JBRulesetMetadata.sol +1 -0
- package/src/structs/JBRulesetWeightCache.sol +1 -0
- package/src/structs/JBRulesetWithMetadata.sol +1 -0
- package/src/structs/JBSingleAllowance.sol +1 -0
- package/src/structs/JBSplit.sol +1 -0
- package/src/structs/JBSplitGroup.sol +1 -0
- package/src/structs/JBSplitHookContext.sol +1 -0
- package/src/structs/JBTerminalConfig.sol +1 -0
- package/src/structs/JBTokenAmount.sol +1 -0
- package/test/ComprehensiveInvariant.t.sol +15 -5
- package/test/{AuditExploits.t.sol → CoreExploitTests.t.sol} +35 -4
- package/test/EconomicSimulation.t.sol +10 -2
- package/test/EntryPointPermutations.t.sol +18 -5
- package/test/FlashLoanAttacks.t.sol +12 -2
- package/test/PermissionEscalation.t.sol +54 -22
- package/test/RulesetTransitions.t.sol +15 -1
- package/test/SplitLoopTests.t.sol +26 -5
- package/test/TestAccessToFunds.sol +17 -2
- package/test/TestCashOut.sol +15 -2
- package/test/TestCashOutCountFor.sol +1 -2
- package/test/TestCashOutHooks.sol +47 -25
- package/test/TestCashOutTimingEdge.sol +13 -1
- package/test/TestDurationUnderflow.sol +13 -1
- package/test/TestFeeProcessingFailure.sol +17 -7
- package/test/TestFees.sol +14 -1
- package/test/TestInterfaceSupport.sol +20 -1
- package/test/TestJBERC20Inheritance.sol +11 -1
- package/test/TestLaunchProject.sol +13 -1
- package/test/TestMetaTx.sol +15 -1
- package/test/TestMetadataParserLib.sol +37 -4
- package/test/TestMigrationHeldFees.sol +17 -11
- package/test/TestMintTokensOf.sol +14 -1
- package/test/TestMultiTokenSurplus.sol +14 -1
- package/test/TestMultipleAccessLimits.sol +23 -1
- package/test/TestPayBurnRedeemFlow.sol +16 -1
- package/test/TestPayHooks.sol +33 -14
- package/test/TestPermissions.sol +20 -1
- package/test/TestPermissionsEdge.sol +5 -1
- package/test/TestPermit2Terminal.sol +36 -3
- package/test/TestRulesetQueueing.sol +24 -1
- package/test/TestRulesetQueuingStress.sol +28 -2
- package/test/TestRulesetWeightCaching.sol +5 -2
- package/test/TestSplits.sol +23 -1
- package/test/TestTerminalMigration.sol +11 -1
- package/test/TestTokenFlow.sol +18 -1
- package/test/TestWeightCacheStaleAfterRejection.sol +15 -1
- package/test/WeirdTokenTests.t.sol +18 -2
- package/test/fork/TestChainlinkPriceFeedFork.sol +254 -0
- package/test/formal/BondingCurveProperties.t.sol +8 -2
- package/test/formal/FeeProperties.t.sol +7 -1
- package/test/helpers/JBTest.sol +7 -7
- package/test/helpers/TestBaseWorkflow.sol +84 -1
- package/test/invariants/Phase3DeepInvariant.t.sol +13 -5
- package/test/invariants/RulesetsInvariant.t.sol +12 -2
- package/test/invariants/TerminalStoreInvariant.t.sol +11 -2
- package/test/invariants/TokensInvariant.t.sol +13 -2
- package/test/invariants/handlers/ComprehensiveHandler.sol +19 -1
- package/test/invariants/handlers/EconomicHandler.sol +31 -1
- package/test/invariants/handlers/Phase3Handler.sol +31 -2
- package/test/invariants/handlers/RulesetsHandler.sol +5 -1
- package/test/invariants/handlers/TerminalStoreHandler.sol +6 -1
- package/test/invariants/handlers/TokensHandler.sol +1 -2
- package/test/mock/ERC2771ForwarderMock.sol +1 -1
- package/test/mock/MockERC20.sol +1 -3
- package/test/mock/MockMaliciousBeneficiary.sol +2 -2
- package/test/mock/MockMaliciousSplitHook.sol +2 -1
- package/test/mock/MockPriceFeed.sol +1 -1
- package/test/units/static/JBChainlinkV3PriceFeed/TestPriceFeed.sol +0 -1
- package/test/units/static/JBController/JBControllerSetup.sol +10 -1
- package/test/units/static/JBController/TestBurnTokensOf.sol +8 -1
- package/test/units/static/JBController/TestClaimTokensFor.sol +4 -1
- package/test/units/static/JBController/TestDeployErc20For.sol +7 -1
- package/test/units/static/JBController/TestLaunchProjectFor.sol +21 -1
- package/test/units/static/JBController/TestLaunchRulesetsFor.sol +21 -1
- package/test/units/static/JBController/TestMigrateController.sol +10 -1
- package/test/units/static/JBController/TestMintTokensOfUnits.sol +10 -1
- package/test/units/static/JBController/TestPayReservedTokenToTerminal.sol +4 -1
- package/test/units/static/JBController/TestReceiveMigrationFrom.sol +5 -1
- package/test/units/static/JBController/TestRulesetViews.sol +7 -1
- package/test/units/static/JBController/TestSendReservedTokensToSplitsOf.sol +21 -1
- package/test/units/static/JBController/TestSetSplitGroupsOf.sol +6 -1
- package/test/units/static/JBController/TestSetTokenFor.sol +13 -1
- package/test/units/static/JBController/TestSetUriOf.sol +5 -1
- package/test/units/static/JBController/TestTransferCreditsFrom.sol +11 -1
- package/test/units/static/JBDeadline/TestDeadlineFuzz.sol +15 -4
- package/test/units/static/JBDirectory/JBDirectorySetup.sol +4 -1
- package/test/units/static/JBDirectory/TestPrimaryTerminalOf.sol +5 -1
- package/test/units/static/JBDirectory/TestSetControllerOf.sol +11 -1
- package/test/units/static/JBDirectory/TestSetControllerOfMigrationOrder.sol +7 -1
- package/test/units/static/JBDirectory/TestSetPrimaryTerminalOf.sol +11 -1
- package/test/units/static/JBDirectory/TestSetTerminalsOf.sol +10 -1
- package/test/units/static/JBERC20/JBERC20Setup.sol +2 -1
- package/test/units/static/JBERC20/SigUtils.sol +2 -0
- package/test/units/static/JBERC20/TestInitialize.sol +1 -1
- package/test/units/static/JBERC20/TestName.sol +1 -1
- package/test/units/static/JBERC20/TestNonces.sol +3 -1
- package/test/units/static/JBERC20/TestSymbol.sol +1 -1
- package/test/units/static/JBFeelessAdresses/JBFeelessSetup.sol +2 -1
- package/test/units/static/JBFeelessAdresses/TestInterfaces.sol +2 -1
- package/test/units/static/JBFeelessAdresses/TestSetFeelessAddress.sol +1 -1
- package/test/units/static/JBFees/TestFeesFuzz.sol +1 -1
- package/test/units/static/JBFixedPointNumber/TestAdjustDecimals.sol +0 -1
- package/test/units/static/JBFixedPointNumber/TestAdjustDecimalsFuzz.sol +0 -1
- package/test/units/static/JBFundAccessLimits/JBFundAccessSetup.sol +3 -1
- package/test/units/static/JBFundAccessLimits/TestFundAccessLimitsEdge.sol +4 -1
- package/test/units/static/JBFundAccessLimits/TestPayoutLimitOf.sol +4 -1
- package/test/units/static/JBFundAccessLimits/TestPayoutLimitsOf.sol +8 -1
- package/test/units/static/JBFundAccessLimits/TestSetFundAccessLimitsFor.sol +8 -1
- package/test/units/static/JBFundAccessLimits/TestSurplusAllowanceOf.sol +4 -1
- package/test/units/static/JBFundAccessLimits/TestSurplusAllowancesOf.sol +7 -1
- package/test/units/static/JBMetadataResolver/TestGetDataFor.sol +1 -1
- package/test/units/static/JBMetadataResolver/{TestMetadataResolverM20M21.sol → TestMetadataResolverEdgeCases.sol} +6 -5
- package/test/units/static/JBMetadataResolver/TestMetadataResolverFuzz.sol +2 -1
- package/test/units/static/JBMultiTerminal/JBMultiTerminalSetup.sol +12 -1
- package/test/units/static/JBMultiTerminal/TestAccountingContextsOf.sol +9 -1
- package/test/units/static/JBMultiTerminal/TestAddAccountingContextsFor.sol +18 -2
- package/test/units/static/JBMultiTerminal/TestAddToBalanceOf.sol +42 -7
- package/test/units/static/JBMultiTerminal/TestCashOutTokensOf.sol +30 -6
- package/test/units/static/JBMultiTerminal/TestExecutePayout.sol +18 -2
- package/test/units/static/JBMultiTerminal/TestExecuteProcessFee.sol +13 -3
- package/test/units/static/JBMultiTerminal/TestMigrateBalanceOf.sol +21 -4
- package/test/units/static/JBMultiTerminal/TestPay.sol +32 -6
- package/test/units/static/JBMultiTerminal/TestProcessHeldFeesOf.sol +0 -1
- package/test/units/static/JBMultiTerminal/TestSendPayoutsOf.sol +15 -1
- package/test/units/static/JBMultiTerminal/TestUseAllowanceOf.sol +17 -1
- package/test/units/static/JBPermissions/JBPermissionsSetup.sol +2 -1
- package/test/units/static/JBPermissions/TestHasPermission.sol +1 -1
- package/test/units/static/JBPermissions/TestHasPermissions.sol +1 -1
- package/test/units/static/JBPermissions/TestSetPermissionsFor.sol +3 -1
- package/test/units/static/JBPrices/JBPricesSetup.sol +6 -1
- package/test/units/static/JBPrices/TestAddPriceFeedFor.sol +6 -1
- package/test/units/static/JBPrices/TestPricePerUnitOf.sol +4 -1
- package/test/units/static/JBPrices/TestPrices.sol +4 -1
- package/test/units/static/JBProjects/JBProjectsSetup.sol +2 -1
- package/test/units/static/JBProjects/TestCreateFor.sol +3 -1
- package/test/units/static/JBProjects/TestInitialProject.sol +2 -1
- package/test/units/static/JBProjects/TestInterfaces.sol +0 -1
- package/test/units/static/JBProjects/TestSetResolver.sol +2 -1
- package/test/units/static/JBProjects/TestTokenUri.sol +3 -1
- package/test/units/static/JBRulesetMetadataResolver/TestSetCashOutTaxRateTo.sol +9 -1
- package/test/units/static/JBRulesets/JBRulesetsSetup.sol +3 -1
- package/test/units/static/JBRulesets/TestCurrentApprovalStatusForLatestRulesetOf.sol +9 -1
- package/test/units/static/JBRulesets/TestCurrentOf.sol +10 -1
- package/test/units/static/JBRulesets/TestGetRulesetOf.sol +7 -1
- package/test/units/static/JBRulesets/TestLatestQueuedRulesetOf.sol +9 -1
- package/test/units/static/JBRulesets/TestRulesets.sol +12 -2
- package/test/units/static/JBRulesets/TestRulesetsOf.sol +1 -1
- package/test/units/static/JBRulesets/TestUpcomingRulesetOf.sol +10 -1
- package/test/units/static/JBRulesets/TestUpdateRulesetWeightCache.sol +6 -1
- package/test/units/static/JBSplits/JBSplitsSetup.sol +3 -1
- package/test/units/static/JBSplits/TestSelfManagedSplitGroups.sol +8 -1
- package/test/units/static/JBSplits/TestSetSplitGroupsOf.sol +8 -1
- package/test/units/static/JBSplits/TestSplitsLockedEdge.sol +6 -1
- package/test/units/static/JBSplits/TestSplitsOf.sol +1 -1
- package/test/units/static/JBSplits/TestSplitsPacking.sol +5 -2
- package/test/units/static/JBSurplus/TestSurplusFuzz.sol +4 -2
- package/test/units/static/JBTerminalStore/JBTerminalStoreSetup.sol +5 -1
- package/test/units/static/JBTerminalStore/TestCurrentReclaimableSurplusOf.sol +14 -1
- package/test/units/static/JBTerminalStore/TestCurrentSurplusOf.sol +14 -1
- package/test/units/static/JBTerminalStore/TestCurrentTotalSurplusOf.sol +3 -1
- package/test/units/static/JBTerminalStore/TestRecordCashOutsFor.sol +20 -1
- package/test/units/static/JBTerminalStore/TestRecordPaymentFrom.sol +15 -1
- package/test/units/static/JBTerminalStore/TestRecordPayoutFor.sol +13 -1
- package/test/units/static/JBTerminalStore/TestRecordTerminalMigration.sol +8 -1
- package/test/units/static/JBTerminalStore/TestRecordUsedAllowanceOf.sol +16 -1
- package/test/units/static/JBTerminalStore/TestUint224Overflow.sol +15 -1
- package/test/units/static/JBTokens/JBTokensSetup.sol +5 -1
- package/test/units/static/JBTokens/TestBurnFrom.sol +4 -1
- package/test/units/static/JBTokens/TestClaimTokensFor.sol +4 -1
- package/test/units/static/JBTokens/TestDeployERC20ForUnits.sol +4 -1
- package/test/units/static/JBTokens/TestMintFor.sol +4 -1
- package/test/units/static/JBTokens/TestSetTokenFor.sol +4 -1
- package/test/units/static/JBTokens/TestTotalBalanceOf.sol +1 -1
- package/test/units/static/JBTokens/TestTotalSupplyOf.sol +1 -1
- package/test/units/static/JBTokens/TestTransferCreditsFrom.sol +3 -1
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBMultiTerminal} from "../../../../src/JBMultiTerminal.sol";
|
|
5
|
+
import {IJBController} from "../../../../src/interfaces/IJBController.sol";
|
|
6
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
7
|
+
import {IJBFeelessAddresses} from "../../../../src/interfaces/IJBFeelessAddresses.sol";
|
|
8
|
+
import {IJBPayoutTerminal} from "../../../../src/interfaces/IJBPayoutTerminal.sol";
|
|
9
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
10
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
11
|
+
import {IJBTerminalStore} from "../../../../src/interfaces/IJBTerminalStore.sol";
|
|
12
|
+
import {JBAccountingContext} from "../../../../src/structs/JBAccountingContext.sol";
|
|
13
|
+
import {JBPayHookSpecification} from "../../../../src/structs/JBPayHookSpecification.sol";
|
|
14
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
15
|
+
import {JBTokenAmount} from "../../../../src/structs/JBTokenAmount.sol";
|
|
16
|
+
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
17
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
|
18
|
+
import {IERC721} from "@openzeppelin/contracts/token/ERC721/IERC721.sol";
|
|
5
19
|
import {JBMultiTerminalSetup} from "./JBMultiTerminalSetup.sol";
|
|
6
20
|
|
|
7
21
|
contract TestUseAllowanceOf_Local is JBMultiTerminalSetup {
|
|
@@ -177,6 +191,7 @@ contract TestUseAllowanceOf_Local is JBMultiTerminalSetup {
|
|
|
177
191
|
// Weight for a fee calculation that would take place in terminal store
|
|
178
192
|
uint112 weight = 1000 * 10 ** 18;
|
|
179
193
|
|
|
194
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
180
195
|
uint32 currencyId = uint32(uint160(mockToken));
|
|
181
196
|
|
|
182
197
|
// Start the cascade of issuing project tokens to the fee beneficiary. (recieving platform tokens for paying a
|
|
@@ -288,6 +303,7 @@ contract TestUseAllowanceOf_Local is JBMultiTerminalSetup {
|
|
|
288
303
|
});
|
|
289
304
|
}
|
|
290
305
|
|
|
306
|
+
// forge-lint: disable-next-line(mixed-case-function)
|
|
291
307
|
modifier whenMsgSenderDNEQFeeless() {
|
|
292
308
|
_;
|
|
293
309
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPermissions} from "../../../../src/JBPermissions.sol";
|
|
5
|
+
import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
|
|
5
6
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
7
|
|
|
7
8
|
/*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPermissions} from "../../../../src/JBPermissions.sol";
|
|
5
5
|
import {JBPermissionsSetup} from "./JBPermissionsSetup.sol";
|
|
6
6
|
|
|
7
7
|
contract TestHasPermissions_Local is JBPermissionsSetup {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPermissions} from "../../../../src/JBPermissions.sol";
|
|
5
5
|
import {JBPermissionsSetup} from "./JBPermissionsSetup.sol";
|
|
6
6
|
|
|
7
7
|
contract TestHasPermissions_Local is JBPermissionsSetup {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPermissions} from "../../../../src/JBPermissions.sol";
|
|
5
|
+
import {JBPermissionsData} from "../../../../src/structs/JBPermissionsData.sol";
|
|
6
|
+
import {JBPermissionIds} from "@bananapus/permission-ids-v6/src/JBPermissionIds.sol";
|
|
5
7
|
import {JBPermissionsSetup} from "./JBPermissionsSetup.sol";
|
|
6
8
|
|
|
7
9
|
contract TestSetPermissionsFor_Local is JBPermissionsSetup {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPrices} from "../../../../src/JBPrices.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
|
|
7
|
+
import {IJBPrices} from "../../../../src/interfaces/IJBPrices.sol";
|
|
8
|
+
import {IJBProjects} from "../../../../src/interfaces/IJBProjects.sol";
|
|
9
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
5
10
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
11
|
|
|
7
12
|
/*
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPrices} from "../../../../src/JBPrices.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBPriceFeed} from "../../../../src/interfaces/IJBPriceFeed.sol";
|
|
7
|
+
import {IJBPrices} from "../../../../src/interfaces/IJBPrices.sol";
|
|
8
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
5
9
|
import {JBPricesSetup} from "./JBPricesSetup.sol";
|
|
6
10
|
|
|
7
11
|
contract TestAddPriceFeedFor_Local is JBPricesSetup {
|
|
8
12
|
IJBPriceFeed _feed = IJBPriceFeed(makeAddr("feed"));
|
|
13
|
+
// forge-lint: disable-next-line(mixed-case-variable)
|
|
9
14
|
uint256 DEFAULT_PROJECT_ID = 0;
|
|
10
15
|
uint256 _projectId = 1;
|
|
11
16
|
address _projectOneOwner = makeAddr("oneOwner");
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPrices} from "../../../../src/JBPrices.sol";
|
|
5
|
+
import {IJBPriceFeed} from "../../../../src/interfaces/IJBPriceFeed.sol";
|
|
6
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
5
7
|
import {JBPricesSetup} from "./JBPricesSetup.sol";
|
|
6
8
|
|
|
7
9
|
contract TestPricePerUnitOf_Local is JBPricesSetup {
|
|
8
10
|
IJBPriceFeed _feed = IJBPriceFeed(makeAddr("priceFeed"));
|
|
11
|
+
// forge-lint: disable-next-line(mixed-case-variable)
|
|
9
12
|
uint256 DEFAULT_PROJECT_ID = 0;
|
|
10
13
|
uint256 _projectId = 1;
|
|
11
14
|
uint256 _defaultDirectPrice = 1_000_000_000;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBPrices} from "../../../../src/JBPrices.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
7
|
+
import {mulDiv} from "@prb/math/src/Common.sol";
|
|
5
8
|
import {JBPricesSetup} from "./JBPricesSetup.sol";
|
|
6
9
|
import {MockPriceFeed} from "../../../mock/MockPriceFeed.sol";
|
|
7
10
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBProjects} from "../../../../src/JBProjects.sol";
|
|
5
|
+
import {IJBProjects} from "../../../../src/interfaces/IJBProjects.sol";
|
|
5
6
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
7
|
|
|
7
8
|
/*
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
|
|
5
|
+
import {stdError} from "forge-std/StdError.sol";
|
|
6
|
+
import {IJBProjects} from "../../../../src/interfaces/IJBProjects.sol";
|
|
5
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
6
8
|
import {JBProjectsSetup} from "./JBProjectsSetup.sol";
|
|
7
9
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBProjects} from "../../../../src/JBProjects.sol";
|
|
5
|
+
import {IJBProjects} from "../../../../src/interfaces/IJBProjects.sol";
|
|
5
6
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
7
|
|
|
7
8
|
contract TestInitialProject_Local is JBTest {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBProjects} from "../../../../src/interfaces/IJBProjects.sol";
|
|
5
|
+
import {IJBTokenUriResolver} from "../../../../src/interfaces/IJBTokenUriResolver.sol";
|
|
5
6
|
import {JBProjectsSetup} from "./JBProjectsSetup.sol";
|
|
6
7
|
|
|
7
8
|
contract TestSetTokenURIResolver_Local is JBProjectsSetup {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {StdStorage, stdStorage} from "forge-std/StdStorage.sol";
|
|
5
|
+
import {IJBTokenUriResolver} from "../../../../src/interfaces/IJBTokenUriResolver.sol";
|
|
6
|
+
import {IERC721Metadata} from "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol";
|
|
5
7
|
import {JBProjectsSetup} from "./JBProjectsSetup.sol";
|
|
6
8
|
|
|
7
9
|
contract TestTokenURI_Local is JBProjectsSetup {
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
5
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
6
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
7
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
5
8
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
9
|
|
|
7
10
|
contract TestSetCashOutTaxRateTo_Local is JBTest {
|
|
@@ -50,24 +53,29 @@ contract TestSetCashOutTaxRateTo_Local is JBTest {
|
|
|
50
53
|
uint256 _packed = _rulesMetadata.packRulesetMetadata();
|
|
51
54
|
|
|
52
55
|
// Reserved Rate
|
|
56
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
53
57
|
uint256 _reservedPercent = uint256(uint16(_packed >> 4));
|
|
54
58
|
|
|
55
59
|
// Cash out tax rate
|
|
60
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
56
61
|
uint256 _cashOutTaxRate = uint256(uint16(_packed >> 20));
|
|
57
62
|
|
|
58
63
|
assertEq(_reservedPercent, _fuzzReservedPercent);
|
|
59
64
|
assertEq(_cashOutTaxRate, _fuzzCashOutTaxRate);
|
|
60
65
|
|
|
61
66
|
for (uint256 _i = 68; _i < 81; _i++) {
|
|
67
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
62
68
|
uint256 _flag = uint256(uint16(_packed >> _i) & 1);
|
|
63
69
|
assertEq(_flag, 1);
|
|
64
70
|
}
|
|
65
71
|
|
|
66
72
|
// Data source address
|
|
73
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
67
74
|
address _packedDataHook = address(uint160(_packed >> 82));
|
|
68
75
|
assertEq(_packedDataHook, _hookAddress);
|
|
69
76
|
|
|
70
77
|
// Metadata
|
|
78
|
+
// forge-lint: disable-next-line(unsafe-typecast)
|
|
71
79
|
uint256 _packedMetadata = uint256(uint16(_packed >> 242));
|
|
72
80
|
assertEq(_packedMetadata, uint256(_fuzzMetadata));
|
|
73
81
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBRulesets} from "../../../../src/JBRulesets.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
5
7
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
8
|
|
|
7
9
|
/*
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
7
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
8
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
9
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
10
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
11
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
12
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
13
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
14
|
|
|
7
15
|
contract TestCurrentApprovalStatusForLatestRulesetOf_Local is JBRulesetsSetup {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
7
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
8
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
9
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
10
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
11
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
12
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
13
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
14
|
|
|
7
15
|
contract TestCurrentOf_Local is JBRulesetsSetup {
|
|
@@ -79,6 +87,7 @@ contract TestCurrentOf_Local is JBRulesetsSetup {
|
|
|
79
87
|
assertEq(_ruleset.id, 0);
|
|
80
88
|
}
|
|
81
89
|
|
|
90
|
+
// forge-lint: disable-next-line(mixed-case-function)
|
|
82
91
|
modifier whenLatestRulesetIdDNEQZero() {
|
|
83
92
|
// put code at hook address
|
|
84
93
|
vm.etch(address(_mockApprovalHook), abi.encode(1));
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
5
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
6
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
7
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
8
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
9
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
10
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
5
11
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
12
|
|
|
7
13
|
contract TestGetRulesetOf_Local is JBRulesetsSetup {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
7
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
8
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
9
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
10
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
11
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
12
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
13
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
14
|
|
|
7
15
|
contract TestLatestQueuedRulesetOf_Local is JBRulesetsSetup {
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {stdError} from "forge-std/StdError.sol";
|
|
5
|
+
import {JBRulesets} from "../../../../src/JBRulesets.sol";
|
|
6
|
+
import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
|
|
7
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
8
|
+
import {IJBPermissions} from "../../../../src/interfaces/IJBPermissions.sol";
|
|
9
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
10
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
11
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
12
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
13
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
14
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
15
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
16
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
|
-
import {JBRulesetWeightCache} from "src/structs/JBRulesetWeightCache.sol";
|
|
7
17
|
|
|
8
18
|
contract TestJBRulesetsUnits_Local is JBTest {
|
|
9
19
|
// Contracts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
5
5
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
6
|
|
|
7
7
|
contract TestRulesetsOf_Local is JBRulesetsSetup {
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBApprovalStatus} from "../../../../src/enums/JBApprovalStatus.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
7
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
8
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
9
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
10
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
11
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
12
|
+
import {IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
13
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
14
|
|
|
7
15
|
contract TestUpcomingOf_Local is JBRulesetsSetup {
|
|
@@ -79,6 +87,7 @@ contract TestUpcomingOf_Local is JBRulesetsSetup {
|
|
|
79
87
|
assertEq(_upcoming.id, 0);
|
|
80
88
|
}
|
|
81
89
|
|
|
90
|
+
// forge-lint: disable-next-line(mixed-case-function)
|
|
82
91
|
modifier whenUpcomingRulesetIdDNEQZero() {
|
|
83
92
|
// put code at hook address
|
|
84
93
|
vm.etch(address(_mockApprovalHook), abi.encode(1));
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
5
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
6
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
7
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
8
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
9
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
5
10
|
import {JBRulesetsSetup} from "./JBRulesetsSetup.sol";
|
|
6
11
|
|
|
7
12
|
contract TestUpdateRulesetWeightCache_Local is JBRulesetsSetup {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBSplits} from "../../../../src/JBSplits.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBSplits} from "../../../../src/interfaces/IJBSplits.sol";
|
|
5
7
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
8
|
|
|
7
9
|
/*
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBSplits} from "../../../../src/JBSplits.sol";
|
|
5
|
+
import {JBControlled} from "../../../../src/abstract/JBControlled.sol";
|
|
6
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
7
|
+
import {IJBSplitHook} from "../../../../src/interfaces/IJBSplitHook.sol";
|
|
8
|
+
import {IJBSplits} from "../../../../src/interfaces/IJBSplits.sol";
|
|
9
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
10
|
+
import {JBSplit} from "../../../../src/structs/JBSplit.sol";
|
|
11
|
+
import {JBSplitGroup} from "../../../../src/structs/JBSplitGroup.sol";
|
|
5
12
|
import {JBSplitsSetup} from "./JBSplitsSetup.sol";
|
|
6
13
|
|
|
7
14
|
contract TestSelfManagedSplitGroups_Local is JBSplitsSetup {
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBSplits} from "../../../../src/JBSplits.sol";
|
|
5
|
+
import {JBControlled} from "../../../../src/abstract/JBControlled.sol";
|
|
6
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
7
|
+
import {IJBSplitHook} from "../../../../src/interfaces/IJBSplitHook.sol";
|
|
8
|
+
import {IJBSplits} from "../../../../src/interfaces/IJBSplits.sol";
|
|
9
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
10
|
+
import {JBSplit} from "../../../../src/structs/JBSplit.sol";
|
|
11
|
+
import {JBSplitGroup} from "../../../../src/structs/JBSplitGroup.sol";
|
|
5
12
|
import {JBSplitsSetup} from "./JBSplitsSetup.sol";
|
|
6
13
|
|
|
7
14
|
contract TestSetSplitGroupsOf_Local is JBSplitsSetup {
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBSplits} from "../../../../src/JBSplits.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBSplitHook} from "../../../../src/interfaces/IJBSplitHook.sol";
|
|
7
|
+
import {IJBSplits} from "../../../../src/interfaces/IJBSplits.sol";
|
|
8
|
+
import {JBSplit} from "../../../../src/structs/JBSplit.sol";
|
|
9
|
+
import {JBSplitGroup} from "../../../../src/structs/JBSplitGroup.sol";
|
|
5
10
|
import {JBSplitsSetup} from "./JBSplitsSetup.sol";
|
|
6
11
|
|
|
7
12
|
/// @notice Edge case tests for JBSplits lock enforcement.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBSplit} from "../../../../src/structs/JBSplit.sol";
|
|
5
5
|
import {JBSplitsSetup} from "./JBSplitsSetup.sol";
|
|
6
6
|
|
|
7
7
|
contract TestSplitsOf_Local is JBSplitsSetup {
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import "src/JBSplits.sol";
|
|
5
|
-
import "
|
|
4
|
+
import {JBSplits} from "src/JBSplits.sol";
|
|
5
|
+
import {IJBDirectory} from "src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {JBConstants} from "src/libraries/JBConstants.sol";
|
|
7
|
+
import {JBSplit} from "src/structs/JBSplit.sol";
|
|
8
|
+
import {Test} from "forge-std/Test.sol";
|
|
6
9
|
|
|
7
10
|
contract TestSplitsPacking_Local is JBSplits, Test {
|
|
8
11
|
constructor() JBSplits(IJBDirectory(address(0))) {}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
|
|
5
|
+
import {JBAccountingContext} from "../../../../src/structs/JBAccountingContext.sol";
|
|
6
|
+
import {ERC165, IERC165} from "@openzeppelin/contracts/utils/introspection/ERC165.sol";
|
|
5
7
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
8
|
import {JBSurplus} from "../../../../src/libraries/JBSurplus.sol";
|
|
7
9
|
|
|
@@ -53,7 +55,7 @@ contract MockSurplusTerminal is ERC165, IJBTerminal {
|
|
|
53
55
|
override
|
|
54
56
|
{}
|
|
55
57
|
|
|
56
|
-
function migrateBalanceOf(uint256, address, IJBTerminal) external override returns (uint256) {
|
|
58
|
+
function migrateBalanceOf(uint256, address, IJBTerminal) external pure override returns (uint256) {
|
|
57
59
|
return 0;
|
|
58
60
|
}
|
|
59
61
|
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {JBTerminalStore} from "../../../../src/JBTerminalStore.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBPrices} from "../../../../src/interfaces/IJBPrices.sol";
|
|
7
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
8
|
+
import {IJBTerminalStore} from "../../../../src/interfaces/IJBTerminalStore.sol";
|
|
5
9
|
import {JBTest} from "../../../helpers/JBTest.sol";
|
|
6
10
|
|
|
7
11
|
/*
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBController} from "../../../../src/interfaces/IJBController.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBFundAccessLimits} from "../../../../src/interfaces/IJBFundAccessLimits.sol";
|
|
7
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
8
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
9
|
+
import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
|
|
10
|
+
import {IJBToken} from "../../../../src/interfaces/IJBToken.sol";
|
|
11
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
12
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
13
|
+
import {JBAccountingContext} from "../../../../src/structs/JBAccountingContext.sol";
|
|
14
|
+
import {JBCurrencyAmount} from "../../../../src/structs/JBCurrencyAmount.sol";
|
|
15
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
16
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
17
|
+
import {mulDiv} from "@prb/math/src/Common.sol";
|
|
5
18
|
import {JBTerminalStoreSetup} from "./JBTerminalStoreSetup.sol";
|
|
6
19
|
import {JBCashOuts} from "../../../../src/libraries/JBCashOuts.sol";
|
|
7
20
|
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBController} from "../../../../src/interfaces/IJBController.sol";
|
|
5
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
6
|
+
import {IJBFundAccessLimits} from "../../../../src/interfaces/IJBFundAccessLimits.sol";
|
|
7
|
+
import {IJBPrices} from "../../../../src/interfaces/IJBPrices.sol";
|
|
8
|
+
import {IJBRulesetApprovalHook} from "../../../../src/interfaces/IJBRulesetApprovalHook.sol";
|
|
9
|
+
import {IJBRulesets} from "../../../../src/interfaces/IJBRulesets.sol";
|
|
10
|
+
import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
|
|
11
|
+
import {IJBToken} from "../../../../src/interfaces/IJBToken.sol";
|
|
12
|
+
import {JBConstants} from "../../../../src/libraries/JBConstants.sol";
|
|
13
|
+
import {JBRulesetMetadataResolver} from "../../../../src/libraries/JBRulesetMetadataResolver.sol";
|
|
14
|
+
import {JBAccountingContext} from "../../../../src/structs/JBAccountingContext.sol";
|
|
15
|
+
import {JBCurrencyAmount} from "../../../../src/structs/JBCurrencyAmount.sol";
|
|
16
|
+
import {JBRuleset} from "../../../../src/structs/JBRuleset.sol";
|
|
17
|
+
import {JBRulesetMetadata} from "../../../../src/structs/JBRulesetMetadata.sol";
|
|
5
18
|
import {JBTerminalStoreSetup} from "./JBTerminalStoreSetup.sol";
|
|
6
19
|
|
|
7
20
|
contract TestCurrentSurplusOf_Local is JBTerminalStoreSetup {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.26;
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import {IJBDirectory} from "../../../../src/interfaces/IJBDirectory.sol";
|
|
5
|
+
import {IJBTerminal} from "../../../../src/interfaces/IJBTerminal.sol";
|
|
6
|
+
import {JBAccountingContext} from "../../../../src/structs/JBAccountingContext.sol";
|
|
5
7
|
import {JBTerminalStoreSetup} from "./JBTerminalStoreSetup.sol";
|
|
6
8
|
|
|
7
9
|
contract TestCurrentTotalSurplusOf_Local is JBTerminalStoreSetup {
|