@bananapus/721-hook-v6 0.0.26 → 0.0.27
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 +1 -1
- package/src/JB721TiersHookStore.sol +20 -20
- package/src/structs/JB721Tier.sol +4 -4
- package/src/structs/JB721TierConfig.sol +3 -3
- package/src/structs/JBStored721Tier.sol +1 -1
- package/test/721HookAttacks.t.sol +8 -8
- package/test/E2E/Pay_Mint_Redeem_E2E.t.sol +4 -4
- package/test/Fork.t.sol +19 -19
- package/test/TestAuditGaps.sol +16 -16
- package/test/audit/CodexPayCreditsBypassTierSplits.t.sol +2 -2
- package/test/audit/CodexSplitCreditsMismatch.t.sol +2 -2
- package/test/fork/ERC20CashOutFork.t.sol +8 -8
- package/test/fork/ERC20TierSplitFork.t.sol +6 -6
- package/test/fork/IssueTokensForSplitsFork.t.sol +2 -2
- package/test/invariants/handlers/TierLifecycleHandler.sol +2 -2
- package/test/invariants/handlers/TierStoreHandler.sol +2 -2
- package/test/regression/ProjectDeployerRulesets.t.sol +2 -2
- package/test/unit/AuditFixes_Unit.t.sol +8 -8
- package/test/unit/adjustTier_Unit.t.sol +64 -64
- package/test/unit/getters_constructor_Unit.t.sol +4 -4
package/package.json
CHANGED
|
@@ -551,8 +551,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
551
551
|
discountPercent: storedTier.discountPercent,
|
|
552
552
|
allowOwnerMint: (packed & 0x1 != 0),
|
|
553
553
|
transfersPausable: (packed & 0x2 != 0),
|
|
554
|
-
|
|
555
|
-
|
|
554
|
+
cantBeRemoved: (packed & 0x8 != 0),
|
|
555
|
+
cantIncreaseDiscountPercent: (packed & 0x10 != 0),
|
|
556
556
|
cantBuyWithCredits: (packed & 0x20 != 0),
|
|
557
557
|
splitPercent: storedTier.splitPercent,
|
|
558
558
|
resolvedUri: !includeResolvedUri || tokenUriResolverOf[hook] == IJB721TokenUriResolver(address(0))
|
|
@@ -674,16 +674,16 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
674
674
|
/// @param allowOwnerMint Whether or not owner minting is allowed in new tiers.
|
|
675
675
|
/// @param transfersPausable Whether or not 721 transfers can be paused.
|
|
676
676
|
/// @param useVotingUnits Whether or not custom voting unit amounts are allowed in new tiers.
|
|
677
|
-
/// @param
|
|
678
|
-
/// @param
|
|
677
|
+
/// @param cantBeRemoved Whether or not attempts to remove the tier will revert.
|
|
678
|
+
/// @param cantIncreaseDiscountPercent Whether or not attempts to increase the discount percent will revert.
|
|
679
679
|
/// @param cantBuyWithCredits Whether or not the tier cannot be purchased using accumulated pay credits.
|
|
680
680
|
/// @return packed The packed bools.
|
|
681
681
|
function _packBools(
|
|
682
682
|
bool allowOwnerMint,
|
|
683
683
|
bool transfersPausable,
|
|
684
684
|
bool useVotingUnits,
|
|
685
|
-
bool
|
|
686
|
-
bool
|
|
685
|
+
bool cantBeRemoved,
|
|
686
|
+
bool cantIncreaseDiscountPercent,
|
|
687
687
|
bool cantBuyWithCredits
|
|
688
688
|
)
|
|
689
689
|
internal
|
|
@@ -694,8 +694,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
694
694
|
packed := or(allowOwnerMint, packed)
|
|
695
695
|
packed := or(shl(0x1, transfersPausable), packed)
|
|
696
696
|
packed := or(shl(0x2, useVotingUnits), packed)
|
|
697
|
-
packed := or(shl(0x3,
|
|
698
|
-
packed := or(shl(0x4,
|
|
697
|
+
packed := or(shl(0x3, cantBeRemoved), packed)
|
|
698
|
+
packed := or(shl(0x4, cantIncreaseDiscountPercent), packed)
|
|
699
699
|
packed := or(shl(0x5, cantBuyWithCredits), packed)
|
|
700
700
|
}
|
|
701
701
|
}
|
|
@@ -705,8 +705,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
705
705
|
/// @param allowOwnerMint Whether or not owner minting is allowed in new tiers.
|
|
706
706
|
/// @param transfersPausable Whether or not 721 transfers can be paused.
|
|
707
707
|
/// @param useVotingUnits Whether or not custom voting unit amounts are allowed in new tiers.
|
|
708
|
-
/// @param
|
|
709
|
-
/// @param
|
|
708
|
+
/// @param cantBeRemoved Whether or not the tier can be removed once added.
|
|
709
|
+
/// @param cantIncreaseDiscountPercent Whether or not the discount percent cannot be increased.
|
|
710
710
|
/// @param cantBuyWithCredits Whether or not the tier cannot be purchased using accumulated pay credits.
|
|
711
711
|
function _unpackBools(uint8 packed)
|
|
712
712
|
internal
|
|
@@ -715,8 +715,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
715
715
|
bool allowOwnerMint,
|
|
716
716
|
bool transfersPausable,
|
|
717
717
|
bool useVotingUnits,
|
|
718
|
-
bool
|
|
719
|
-
bool
|
|
718
|
+
bool cantBeRemoved,
|
|
719
|
+
bool cantIncreaseDiscountPercent,
|
|
720
720
|
bool cantBuyWithCredits
|
|
721
721
|
)
|
|
722
722
|
{
|
|
@@ -724,8 +724,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
724
724
|
allowOwnerMint := iszero(iszero(and(0x1, packed)))
|
|
725
725
|
transfersPausable := iszero(iszero(and(0x2, packed)))
|
|
726
726
|
useVotingUnits := iszero(iszero(and(0x4, packed)))
|
|
727
|
-
|
|
728
|
-
|
|
727
|
+
cantBeRemoved := iszero(iszero(and(0x8, packed)))
|
|
728
|
+
cantIncreaseDiscountPercent := iszero(iszero(and(0x10, packed)))
|
|
729
729
|
cantBuyWithCredits := iszero(iszero(and(0x20, packed)))
|
|
730
730
|
}
|
|
731
731
|
}
|
|
@@ -908,8 +908,8 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
908
908
|
allowOwnerMint: tierToAdd.allowOwnerMint,
|
|
909
909
|
transfersPausable: tierToAdd.transfersPausable,
|
|
910
910
|
useVotingUnits: tierToAdd.useVotingUnits,
|
|
911
|
-
|
|
912
|
-
|
|
911
|
+
cantBeRemoved: tierToAdd.cantBeRemoved,
|
|
912
|
+
cantIncreaseDiscountPercent: tierToAdd.cantIncreaseDiscountPercent,
|
|
913
913
|
cantBuyWithCredits: tierToAdd.cantBuyWithCredits
|
|
914
914
|
})
|
|
915
915
|
});
|
|
@@ -1199,10 +1199,10 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
1199
1199
|
JBStored721Tier storage storedTier = _storedTierOf[msg.sender][tierId];
|
|
1200
1200
|
|
|
1201
1201
|
// Parse the flags.
|
|
1202
|
-
(,,, bool
|
|
1202
|
+
(,,, bool cantBeRemoved,,) = _unpackBools(storedTier.packedBools);
|
|
1203
1203
|
|
|
1204
1204
|
// Make sure the tier can be removed.
|
|
1205
|
-
if (
|
|
1205
|
+
if (cantBeRemoved) revert JB721TiersHookStore_CantRemoveTier(tierId);
|
|
1206
1206
|
|
|
1207
1207
|
// Remove the tier by marking it as removed in the bitmap.
|
|
1208
1208
|
_removedTiersBitmapWordOf[msg.sender].removeTier(tierId);
|
|
@@ -1228,10 +1228,10 @@ contract JB721TiersHookStore is IJB721TiersHookStore {
|
|
|
1228
1228
|
JBStored721Tier storage storedTier = _storedTierOf[msg.sender][tierId];
|
|
1229
1229
|
|
|
1230
1230
|
// Parse the flags.
|
|
1231
|
-
(,,,, bool
|
|
1231
|
+
(,,,, bool cantIncreaseDiscountPercent,) = _unpackBools(storedTier.packedBools);
|
|
1232
1232
|
|
|
1233
1233
|
// Make sure that increasing the discount is allowed for the tier.
|
|
1234
|
-
if (discountPercent > storedTier.discountPercent &&
|
|
1234
|
+
if (discountPercent > storedTier.discountPercent && cantIncreaseDiscountPercent) {
|
|
1235
1235
|
revert JB721TiersHookStore_DiscountPercentIncreaseNotAllowed(discountPercent, storedTier.discountPercent);
|
|
1236
1236
|
}
|
|
1237
1237
|
|
|
@@ -15,8 +15,8 @@ pragma solidity ^0.8.0;
|
|
|
15
15
|
/// @custom:member discountPercent The discount that should be applied to the tier.
|
|
16
16
|
/// @custom:member allowOwnerMint A boolean indicating whether the contract's owner can mint NFTs from this tier
|
|
17
17
|
/// on-demand.
|
|
18
|
-
/// @custom:member
|
|
19
|
-
/// @custom:member
|
|
18
|
+
/// @custom:member cantBeRemoved A boolean indicating whether attempts to remove this tier will revert.
|
|
19
|
+
/// @custom:member cantIncreaseDiscountPercent If the tier cannot have its discount increased.
|
|
20
20
|
/// @custom:member cantBuyWithCredits If true, this tier cannot be purchased using accumulated pay credits.
|
|
21
21
|
/// @custom:member transfersPausable A boolean indicating whether transfers for NFTs in tier can be paused.
|
|
22
22
|
/// @custom:member splitPercent The percentage of the tier's price that gets routed to the project's split group when
|
|
@@ -38,8 +38,8 @@ struct JB721Tier {
|
|
|
38
38
|
uint8 discountPercent;
|
|
39
39
|
bool allowOwnerMint;
|
|
40
40
|
bool transfersPausable;
|
|
41
|
-
bool
|
|
42
|
-
bool
|
|
41
|
+
bool cantBeRemoved;
|
|
42
|
+
bool cantIncreaseDiscountPercent;
|
|
43
43
|
bool cantBuyWithCredits;
|
|
44
44
|
uint32 splitPercent;
|
|
45
45
|
string resolvedUri;
|
|
@@ -24,7 +24,7 @@ import {JBSplit} from "@bananapus/core-v6/src/structs/JBSplit.sol";
|
|
|
24
24
|
/// @custom:member transfersPausable A boolean indicating whether transfers for NFTs in tier can be paused.
|
|
25
25
|
/// @custom:member useVotingUnits A boolean indicating whether the `votingUnits` should be used to calculate voting
|
|
26
26
|
/// power. If `useVotingUnits` is false, voting power is based on the tier's price.
|
|
27
|
-
/// @custom:member
|
|
27
|
+
/// @custom:member cantBeRemoved If the tier cannot be removed once added.
|
|
28
28
|
/// @custom:member cannotIncreaseDiscount If the tier cannot have its discount increased.
|
|
29
29
|
/// @custom:member cantBuyWithCredits If true, this tier cannot be purchased using accumulated pay credits. Only fresh
|
|
30
30
|
/// payment value counts toward this tier's price.
|
|
@@ -47,8 +47,8 @@ struct JB721TierConfig {
|
|
|
47
47
|
bool useReserveBeneficiaryAsDefault;
|
|
48
48
|
bool transfersPausable;
|
|
49
49
|
bool useVotingUnits;
|
|
50
|
-
bool
|
|
51
|
-
bool
|
|
50
|
+
bool cantBeRemoved;
|
|
51
|
+
bool cantIncreaseDiscountPercent;
|
|
52
52
|
bool cantBuyWithCredits;
|
|
53
53
|
uint32 splitPercent;
|
|
54
54
|
JBSplit[] splits;
|
|
@@ -12,7 +12,7 @@ pragma solidity ^0.8.0;
|
|
|
12
12
|
/// tier. With a `reserveFrequency` of 5, an extra NFT will be minted for the `reserveBeneficiary` for every 5 NFTs
|
|
13
13
|
/// purchased.
|
|
14
14
|
/// @custom:member packedBools Packed boolean flags: allowOwnerMint, transfersPausable, useVotingUnits,
|
|
15
|
-
///
|
|
15
|
+
/// cantBeRemoved, cantIncreaseDiscountPercent, cantBuyWithCredits.
|
|
16
16
|
// forge-lint: disable-next-line(pascal-case-struct)
|
|
17
17
|
struct JBStored721Tier {
|
|
18
18
|
uint104 price;
|
|
@@ -84,8 +84,8 @@ contract NFTHookAttacks is UnitTestSetup {
|
|
|
84
84
|
allowOwnerMint: false,
|
|
85
85
|
useReserveBeneficiaryAsDefault: false,
|
|
86
86
|
transfersPausable: false,
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
cantBeRemoved: false,
|
|
88
|
+
cantIncreaseDiscountPercent: false,
|
|
89
89
|
cantBuyWithCredits: false,
|
|
90
90
|
useVotingUnits: false,
|
|
91
91
|
splitPercent: 0,
|
|
@@ -116,7 +116,7 @@ contract NFTHookAttacks is UnitTestSetup {
|
|
|
116
116
|
/// @notice Set discount to 100%, verify the effective price for the tier.
|
|
117
117
|
function test_maxDiscountPercent_effectivePrice() public {
|
|
118
118
|
defaultTierConfig.discountPercent = 0;
|
|
119
|
-
defaultTierConfig.
|
|
119
|
+
defaultTierConfig.cantIncreaseDiscountPercent = false;
|
|
120
120
|
|
|
121
121
|
JB721TiersHook targetHook = _initHookDefaultTiers(1);
|
|
122
122
|
|
|
@@ -132,12 +132,12 @@ contract NFTHookAttacks is UnitTestSetup {
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
// =========================================================================
|
|
135
|
-
// Test 3:
|
|
135
|
+
// Test 3: cantIncreaseDiscountPercent flag enforcement
|
|
136
136
|
// =========================================================================
|
|
137
137
|
/// @notice Try to increase discount when the flag forbids it.
|
|
138
|
-
function
|
|
138
|
+
function test_cantIncreaseDiscountPercent_enforcement() public {
|
|
139
139
|
defaultTierConfig.discountPercent = 10;
|
|
140
|
-
defaultTierConfig.
|
|
140
|
+
defaultTierConfig.cantIncreaseDiscountPercent = true;
|
|
141
141
|
|
|
142
142
|
JB721TiersHook targetHook = _initHookDefaultTiers(1);
|
|
143
143
|
|
|
@@ -372,8 +372,8 @@ contract NFTHookAttacks is UnitTestSetup {
|
|
|
372
372
|
allowOwnerMint: true,
|
|
373
373
|
useReserveBeneficiaryAsDefault: false,
|
|
374
374
|
transfersPausable: false,
|
|
375
|
-
|
|
376
|
-
|
|
375
|
+
cantBeRemoved: false,
|
|
376
|
+
cantIncreaseDiscountPercent: false,
|
|
377
377
|
cantBuyWithCredits: false,
|
|
378
378
|
useVotingUnits: false,
|
|
379
379
|
splitPercent: 0,
|
|
@@ -800,8 +800,8 @@ contract Test_TiersHook_E2E is TestBaseWorkflow {
|
|
|
800
800
|
useReserveBeneficiaryAsDefault: false,
|
|
801
801
|
transfersPausable: false,
|
|
802
802
|
useVotingUnits: false,
|
|
803
|
-
|
|
804
|
-
|
|
803
|
+
cantBeRemoved: false,
|
|
804
|
+
cantIncreaseDiscountPercent: false,
|
|
805
805
|
cantBuyWithCredits: false,
|
|
806
806
|
splitPercent: 0,
|
|
807
807
|
splits: new JBSplit[](0)
|
|
@@ -893,8 +893,8 @@ contract Test_TiersHook_E2E is TestBaseWorkflow {
|
|
|
893
893
|
useReserveBeneficiaryAsDefault: false,
|
|
894
894
|
transfersPausable: false,
|
|
895
895
|
useVotingUnits: false,
|
|
896
|
-
|
|
897
|
-
|
|
896
|
+
cantBeRemoved: false,
|
|
897
|
+
cantIncreaseDiscountPercent: false,
|
|
898
898
|
cantBuyWithCredits: false,
|
|
899
899
|
splitPercent: 0,
|
|
900
900
|
splits: new JBSplit[](0)
|
package/test/Fork.t.sol
CHANGED
|
@@ -362,8 +362,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
362
362
|
useReserveBeneficiaryAsDefault: false,
|
|
363
363
|
transfersPausable: false,
|
|
364
364
|
useVotingUnits: false,
|
|
365
|
-
|
|
366
|
-
|
|
365
|
+
cantBeRemoved: false,
|
|
366
|
+
cantIncreaseDiscountPercent: false,
|
|
367
367
|
cantBuyWithCredits: false,
|
|
368
368
|
splitPercent: 0,
|
|
369
369
|
splits: new JBSplit[](0)
|
|
@@ -793,8 +793,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
793
793
|
useReserveBeneficiaryAsDefault: false,
|
|
794
794
|
transfersPausable: false,
|
|
795
795
|
useVotingUnits: false,
|
|
796
|
-
|
|
797
|
-
|
|
796
|
+
cantBeRemoved: false,
|
|
797
|
+
cantIncreaseDiscountPercent: false,
|
|
798
798
|
cantBuyWithCredits: false,
|
|
799
799
|
splitPercent: 0,
|
|
800
800
|
splits: new JBSplit[](0)
|
|
@@ -826,8 +826,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
826
826
|
useReserveBeneficiaryAsDefault: false,
|
|
827
827
|
transfersPausable: false,
|
|
828
828
|
useVotingUnits: false,
|
|
829
|
-
|
|
830
|
-
|
|
829
|
+
cantBeRemoved: false,
|
|
830
|
+
cantIncreaseDiscountPercent: false,
|
|
831
831
|
cantBuyWithCredits: false,
|
|
832
832
|
splitPercent: 0,
|
|
833
833
|
splits: new JBSplit[](0)
|
|
@@ -838,10 +838,10 @@ contract Fork_721Hook_Test is Test {
|
|
|
838
838
|
IJB721TiersHook(hook).adjustTiers(newTiers, new uint256[](0));
|
|
839
839
|
}
|
|
840
840
|
|
|
841
|
-
/// @notice
|
|
842
|
-
function
|
|
841
|
+
/// @notice cantBeRemoved: removing an immutable tier should revert.
|
|
842
|
+
function test_fork_cantBeRemoved_reverts() public {
|
|
843
843
|
JB721TierConfig[] memory tierConfigs = _makeStandardTiers(1, 10, false);
|
|
844
|
-
tierConfigs[0].
|
|
844
|
+
tierConfigs[0].cantBeRemoved = true;
|
|
845
845
|
JB721TiersHookFlags memory flags = _defaultFlags();
|
|
846
846
|
(, address hook) = _launchProject(tierConfigs, flags, 5000, true, 0x00);
|
|
847
847
|
|
|
@@ -902,11 +902,11 @@ contract Fork_721Hook_Test is Test {
|
|
|
902
902
|
assertEq(IERC721(hook).balanceOf(beneficiary), 1, "NFT minted for free");
|
|
903
903
|
}
|
|
904
904
|
|
|
905
|
-
/// @notice
|
|
905
|
+
/// @notice cantIncreaseDiscountPercent: setting higher discount reverts.
|
|
906
906
|
function test_fork_cannotIncreaseDiscount() public {
|
|
907
907
|
JB721TierConfig[] memory tierConfigs = _makeStandardTiers(1, 10, false);
|
|
908
908
|
tierConfigs[0].discountPercent = 50;
|
|
909
|
-
tierConfigs[0].
|
|
909
|
+
tierConfigs[0].cantIncreaseDiscountPercent = true;
|
|
910
910
|
JB721TiersHookFlags memory flags = _defaultFlags();
|
|
911
911
|
(, address hook) = _launchProject(tierConfigs, flags, 5000, true, 0x00);
|
|
912
912
|
|
|
@@ -1134,8 +1134,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
1134
1134
|
useReserveBeneficiaryAsDefault: false,
|
|
1135
1135
|
transfersPausable: false,
|
|
1136
1136
|
useVotingUnits: false,
|
|
1137
|
-
|
|
1138
|
-
|
|
1137
|
+
cantBeRemoved: false,
|
|
1138
|
+
cantIncreaseDiscountPercent: false,
|
|
1139
1139
|
cantBuyWithCredits: false,
|
|
1140
1140
|
splitPercent: 0,
|
|
1141
1141
|
splits: new JBSplit[](0)
|
|
@@ -1528,8 +1528,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
1528
1528
|
useReserveBeneficiaryAsDefault: false,
|
|
1529
1529
|
transfersPausable: false,
|
|
1530
1530
|
useVotingUnits: false,
|
|
1531
|
-
|
|
1532
|
-
|
|
1531
|
+
cantBeRemoved: false,
|
|
1532
|
+
cantIncreaseDiscountPercent: false,
|
|
1533
1533
|
cantBuyWithCredits: false,
|
|
1534
1534
|
splitPercent: 0,
|
|
1535
1535
|
splits: new JBSplit[](0)
|
|
@@ -1775,8 +1775,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
1775
1775
|
useReserveBeneficiaryAsDefault: false,
|
|
1776
1776
|
transfersPausable: false,
|
|
1777
1777
|
useVotingUnits: false,
|
|
1778
|
-
|
|
1779
|
-
|
|
1778
|
+
cantBeRemoved: false,
|
|
1779
|
+
cantIncreaseDiscountPercent: false,
|
|
1780
1780
|
cantBuyWithCredits: false,
|
|
1781
1781
|
splitPercent: 0,
|
|
1782
1782
|
splits: new JBSplit[](0)
|
|
@@ -2051,8 +2051,8 @@ contract Fork_721Hook_Test is Test {
|
|
|
2051
2051
|
useReserveBeneficiaryAsDefault: false,
|
|
2052
2052
|
transfersPausable: false,
|
|
2053
2053
|
useVotingUnits: false,
|
|
2054
|
-
|
|
2055
|
-
|
|
2054
|
+
cantBeRemoved: false,
|
|
2055
|
+
cantIncreaseDiscountPercent: false,
|
|
2056
2056
|
cantBuyWithCredits: false,
|
|
2057
2057
|
splitPercent: splitPct,
|
|
2058
2058
|
splits: splits
|
package/test/TestAuditGaps.sol
CHANGED
|
@@ -453,8 +453,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
453
453
|
allowOwnerMint: false,
|
|
454
454
|
useReserveBeneficiaryAsDefault: false,
|
|
455
455
|
transfersPausable: false,
|
|
456
|
-
|
|
457
|
-
|
|
456
|
+
cantBeRemoved: false,
|
|
457
|
+
cantIncreaseDiscountPercent: false,
|
|
458
458
|
cantBuyWithCredits: false,
|
|
459
459
|
useVotingUnits: false,
|
|
460
460
|
splitPercent: 0,
|
|
@@ -507,8 +507,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
507
507
|
allowOwnerMint: false,
|
|
508
508
|
useReserveBeneficiaryAsDefault: false,
|
|
509
509
|
transfersPausable: false,
|
|
510
|
-
|
|
511
|
-
|
|
510
|
+
cantBeRemoved: false,
|
|
511
|
+
cantIncreaseDiscountPercent: false,
|
|
512
512
|
cantBuyWithCredits: false,
|
|
513
513
|
useVotingUnits: false,
|
|
514
514
|
splitPercent: 0,
|
|
@@ -563,8 +563,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
563
563
|
allowOwnerMint: false,
|
|
564
564
|
useReserveBeneficiaryAsDefault: false,
|
|
565
565
|
transfersPausable: false,
|
|
566
|
-
|
|
567
|
-
|
|
566
|
+
cantBeRemoved: false,
|
|
567
|
+
cantIncreaseDiscountPercent: false,
|
|
568
568
|
cantBuyWithCredits: false,
|
|
569
569
|
useVotingUnits: false,
|
|
570
570
|
splitPercent: 0,
|
|
@@ -665,8 +665,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
665
665
|
allowOwnerMint: false,
|
|
666
666
|
useReserveBeneficiaryAsDefault: false,
|
|
667
667
|
transfersPausable: false,
|
|
668
|
-
|
|
669
|
-
|
|
668
|
+
cantBeRemoved: false,
|
|
669
|
+
cantIncreaseDiscountPercent: false,
|
|
670
670
|
cantBuyWithCredits: false,
|
|
671
671
|
useVotingUnits: false,
|
|
672
672
|
splitPercent: 0,
|
|
@@ -715,8 +715,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
715
715
|
allowOwnerMint: false,
|
|
716
716
|
useReserveBeneficiaryAsDefault: false,
|
|
717
717
|
transfersPausable: false,
|
|
718
|
-
|
|
719
|
-
|
|
718
|
+
cantBeRemoved: false,
|
|
719
|
+
cantIncreaseDiscountPercent: false,
|
|
720
720
|
cantBuyWithCredits: false,
|
|
721
721
|
useVotingUnits: false,
|
|
722
722
|
splitPercent: 0,
|
|
@@ -777,8 +777,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
777
777
|
allowOwnerMint: false,
|
|
778
778
|
useReserveBeneficiaryAsDefault: false,
|
|
779
779
|
transfersPausable: false,
|
|
780
|
-
|
|
781
|
-
|
|
780
|
+
cantBeRemoved: false,
|
|
781
|
+
cantIncreaseDiscountPercent: false,
|
|
782
782
|
cantBuyWithCredits: false,
|
|
783
783
|
useVotingUnits: false,
|
|
784
784
|
splitPercent: 0,
|
|
@@ -850,8 +850,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
850
850
|
allowOwnerMint: false,
|
|
851
851
|
useReserveBeneficiaryAsDefault: false,
|
|
852
852
|
transfersPausable: false,
|
|
853
|
-
|
|
854
|
-
|
|
853
|
+
cantBeRemoved: false,
|
|
854
|
+
cantIncreaseDiscountPercent: false,
|
|
855
855
|
cantBuyWithCredits: false,
|
|
856
856
|
useVotingUnits: false,
|
|
857
857
|
splitPercent: 0,
|
|
@@ -1046,8 +1046,8 @@ contract TestAuditGaps_GasLimits is UnitTestSetup {
|
|
|
1046
1046
|
allowOwnerMint: false,
|
|
1047
1047
|
useReserveBeneficiaryAsDefault: false,
|
|
1048
1048
|
transfersPausable: false,
|
|
1049
|
-
|
|
1050
|
-
|
|
1049
|
+
cantBeRemoved: false,
|
|
1050
|
+
cantIncreaseDiscountPercent: false,
|
|
1051
1051
|
cantBuyWithCredits: false,
|
|
1052
1052
|
useVotingUnits: false,
|
|
1053
1053
|
splitPercent: 0,
|
|
@@ -121,8 +121,8 @@ contract CodexPayCreditsBypassTierSplits is UnitTestSetup {
|
|
|
121
121
|
allowOwnerMint: false,
|
|
122
122
|
useReserveBeneficiaryAsDefault: false,
|
|
123
123
|
transfersPausable: false,
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
cantBeRemoved: false,
|
|
125
|
+
cantIncreaseDiscountPercent: false,
|
|
126
126
|
cantBuyWithCredits: false,
|
|
127
127
|
useVotingUnits: false,
|
|
128
128
|
splitPercent: 1_000_000_000,
|
|
@@ -124,8 +124,8 @@ contract CodexSplitCreditsMismatch is UnitTestSetup {
|
|
|
124
124
|
allowOwnerMint: false,
|
|
125
125
|
useReserveBeneficiaryAsDefault: false,
|
|
126
126
|
transfersPausable: false,
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
cantBeRemoved: false,
|
|
128
|
+
cantIncreaseDiscountPercent: false,
|
|
129
129
|
cantBuyWithCredits: false,
|
|
130
130
|
useVotingUnits: false,
|
|
131
131
|
splitPercent: 1_000_000_000,
|
|
@@ -353,8 +353,8 @@ contract ERC20CashOutFork is Test {
|
|
|
353
353
|
useReserveBeneficiaryAsDefault: false,
|
|
354
354
|
transfersPausable: false,
|
|
355
355
|
useVotingUnits: false,
|
|
356
|
-
|
|
357
|
-
|
|
356
|
+
cantBeRemoved: false,
|
|
357
|
+
cantIncreaseDiscountPercent: false,
|
|
358
358
|
cantBuyWithCredits: false,
|
|
359
359
|
splitPercent: 0,
|
|
360
360
|
splits: new JBSplit[](0)
|
|
@@ -439,8 +439,8 @@ contract ERC20CashOutFork is Test {
|
|
|
439
439
|
useReserveBeneficiaryAsDefault: false,
|
|
440
440
|
transfersPausable: false,
|
|
441
441
|
useVotingUnits: false,
|
|
442
|
-
|
|
443
|
-
|
|
442
|
+
cantBeRemoved: false,
|
|
443
|
+
cantIncreaseDiscountPercent: false,
|
|
444
444
|
cantBuyWithCredits: false,
|
|
445
445
|
splitPercent: 0,
|
|
446
446
|
splits: new JBSplit[](0)
|
|
@@ -526,8 +526,8 @@ contract ERC20CashOutFork is Test {
|
|
|
526
526
|
useReserveBeneficiaryAsDefault: false,
|
|
527
527
|
transfersPausable: false,
|
|
528
528
|
useVotingUnits: false,
|
|
529
|
-
|
|
530
|
-
|
|
529
|
+
cantBeRemoved: false,
|
|
530
|
+
cantIncreaseDiscountPercent: false,
|
|
531
531
|
cantBuyWithCredits: false,
|
|
532
532
|
splitPercent: 0,
|
|
533
533
|
splits: new JBSplit[](0)
|
|
@@ -546,8 +546,8 @@ contract ERC20CashOutFork is Test {
|
|
|
546
546
|
useReserveBeneficiaryAsDefault: false,
|
|
547
547
|
transfersPausable: false,
|
|
548
548
|
useVotingUnits: false,
|
|
549
|
-
|
|
550
|
-
|
|
549
|
+
cantBeRemoved: false,
|
|
550
|
+
cantIncreaseDiscountPercent: false,
|
|
551
551
|
cantBuyWithCredits: false,
|
|
552
552
|
splitPercent: 0,
|
|
553
553
|
splits: new JBSplit[](0)
|
|
@@ -406,8 +406,8 @@ contract ERC20TierSplitFork is Test {
|
|
|
406
406
|
useReserveBeneficiaryAsDefault: false,
|
|
407
407
|
transfersPausable: false,
|
|
408
408
|
useVotingUnits: false,
|
|
409
|
-
|
|
410
|
-
|
|
409
|
+
cantBeRemoved: false,
|
|
410
|
+
cantIncreaseDiscountPercent: false,
|
|
411
411
|
cantBuyWithCredits: false,
|
|
412
412
|
splitPercent: 300_000_000, // 30%
|
|
413
413
|
splits: splits
|
|
@@ -476,8 +476,8 @@ contract ERC20TierSplitFork is Test {
|
|
|
476
476
|
useReserveBeneficiaryAsDefault: false,
|
|
477
477
|
transfersPausable: false,
|
|
478
478
|
useVotingUnits: false,
|
|
479
|
-
|
|
480
|
-
|
|
479
|
+
cantBeRemoved: false,
|
|
480
|
+
cantIncreaseDiscountPercent: false,
|
|
481
481
|
cantBuyWithCredits: false,
|
|
482
482
|
splitPercent: 300_000_000, // 30%
|
|
483
483
|
splits: splits
|
|
@@ -544,8 +544,8 @@ contract ERC20TierSplitFork is Test {
|
|
|
544
544
|
useReserveBeneficiaryAsDefault: false,
|
|
545
545
|
transfersPausable: false,
|
|
546
546
|
useVotingUnits: false,
|
|
547
|
-
|
|
548
|
-
|
|
547
|
+
cantBeRemoved: false,
|
|
548
|
+
cantIncreaseDiscountPercent: false,
|
|
549
549
|
cantBuyWithCredits: false,
|
|
550
550
|
splitPercent: 500_000_000, // 50%
|
|
551
551
|
splits: splits
|
|
@@ -353,8 +353,8 @@ contract IssueTokensForSplitsFork is Test {
|
|
|
353
353
|
useReserveBeneficiaryAsDefault: false,
|
|
354
354
|
transfersPausable: false,
|
|
355
355
|
useVotingUnits: false,
|
|
356
|
-
|
|
357
|
-
|
|
356
|
+
cantBeRemoved: false,
|
|
357
|
+
cantIncreaseDiscountPercent: false,
|
|
358
358
|
cantBuyWithCredits: false,
|
|
359
359
|
splitPercent: splitPercent,
|
|
360
360
|
splits: splits
|
|
@@ -193,8 +193,8 @@ contract TierLifecycleHandler is Test {
|
|
|
193
193
|
useReserveBeneficiaryAsDefault: false,
|
|
194
194
|
transfersPausable: false,
|
|
195
195
|
useVotingUnits: false,
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
cantBeRemoved: false,
|
|
197
|
+
cantIncreaseDiscountPercent: false,
|
|
198
198
|
cantBuyWithCredits: false,
|
|
199
199
|
splitPercent: 0,
|
|
200
200
|
splits: new JBSplit[](0)
|
|
@@ -63,8 +63,8 @@ contract TierStoreHandler is CommonBase, StdCheats, StdUtils {
|
|
|
63
63
|
useReserveBeneficiaryAsDefault: false,
|
|
64
64
|
transfersPausable: false,
|
|
65
65
|
useVotingUnits: false,
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
cantBeRemoved: false,
|
|
67
|
+
cantIncreaseDiscountPercent: false,
|
|
68
68
|
cantBuyWithCredits: false,
|
|
69
69
|
splitPercent: 0,
|
|
70
70
|
splits: new JBSplit[](0)
|
|
@@ -123,8 +123,8 @@ contract Test_ProjectDeployerRulesets is UnitTestSetup {
|
|
|
123
123
|
useReserveBeneficiaryAsDefault: false,
|
|
124
124
|
transfersPausable: false,
|
|
125
125
|
useVotingUnits: true,
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
cantBeRemoved: false,
|
|
127
|
+
cantIncreaseDiscountPercent: false,
|
|
128
128
|
cantBuyWithCredits: false,
|
|
129
129
|
splitPercent: 0,
|
|
130
130
|
splits: new JBSplit[](0)
|
|
@@ -473,8 +473,8 @@ contract Test_AuditFixes_Unit is UnitTestSetup {
|
|
|
473
473
|
useReserveBeneficiaryAsDefault: false,
|
|
474
474
|
transfersPausable: false,
|
|
475
475
|
useVotingUnits: false,
|
|
476
|
-
|
|
477
|
-
|
|
476
|
+
cantBeRemoved: false,
|
|
477
|
+
cantIncreaseDiscountPercent: false,
|
|
478
478
|
cantBuyWithCredits: false,
|
|
479
479
|
splitPercent: 0,
|
|
480
480
|
splits: new JBSplit[](0)
|
|
@@ -492,8 +492,8 @@ contract Test_AuditFixes_Unit is UnitTestSetup {
|
|
|
492
492
|
useReserveBeneficiaryAsDefault: false,
|
|
493
493
|
transfersPausable: false,
|
|
494
494
|
useVotingUnits: false,
|
|
495
|
-
|
|
496
|
-
|
|
495
|
+
cantBeRemoved: false,
|
|
496
|
+
cantIncreaseDiscountPercent: false,
|
|
497
497
|
cantBuyWithCredits: false,
|
|
498
498
|
splitPercent: 0,
|
|
499
499
|
splits: new JBSplit[](0)
|
|
@@ -511,8 +511,8 @@ contract Test_AuditFixes_Unit is UnitTestSetup {
|
|
|
511
511
|
useReserveBeneficiaryAsDefault: false,
|
|
512
512
|
transfersPausable: false,
|
|
513
513
|
useVotingUnits: false,
|
|
514
|
-
|
|
515
|
-
|
|
514
|
+
cantBeRemoved: false,
|
|
515
|
+
cantIncreaseDiscountPercent: false,
|
|
516
516
|
cantBuyWithCredits: false,
|
|
517
517
|
splitPercent: 0,
|
|
518
518
|
splits: new JBSplit[](0)
|
|
@@ -580,8 +580,8 @@ contract Test_AuditFixes_Unit is UnitTestSetup {
|
|
|
580
580
|
useReserveBeneficiaryAsDefault: false,
|
|
581
581
|
transfersPausable: false,
|
|
582
582
|
useVotingUnits: false,
|
|
583
|
-
|
|
584
|
-
|
|
583
|
+
cantBeRemoved: false,
|
|
584
|
+
cantIncreaseDiscountPercent: false,
|
|
585
585
|
cantBuyWithCredits: false,
|
|
586
586
|
splitPercent: 0,
|
|
587
587
|
splits: new JBSplit[](0)
|
|
@@ -549,8 +549,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
549
549
|
useReserveBeneficiaryAsDefault: false,
|
|
550
550
|
transfersPausable: false,
|
|
551
551
|
useVotingUnits: true,
|
|
552
|
-
|
|
553
|
-
|
|
552
|
+
cantBeRemoved: false,
|
|
553
|
+
cantIncreaseDiscountPercent: false,
|
|
554
554
|
cantBuyWithCredits: false,
|
|
555
555
|
splitPercent: 0,
|
|
556
556
|
splits: new JBSplit[](0)
|
|
@@ -569,8 +569,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
569
569
|
discountPercent: tierConfigs[i].discountPercent,
|
|
570
570
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
571
571
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
572
|
-
|
|
573
|
-
|
|
572
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
573
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
574
574
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
575
575
|
splitPercent: 0,
|
|
576
576
|
resolvedUri: ""
|
|
@@ -684,8 +684,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
684
684
|
useReserveBeneficiaryAsDefault: false,
|
|
685
685
|
transfersPausable: false,
|
|
686
686
|
useVotingUnits: true,
|
|
687
|
-
|
|
688
|
-
|
|
687
|
+
cantBeRemoved: false,
|
|
688
|
+
cantIncreaseDiscountPercent: false,
|
|
689
689
|
cantBuyWithCredits: false,
|
|
690
690
|
splitPercent: 0,
|
|
691
691
|
splits: new JBSplit[](0)
|
|
@@ -704,8 +704,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
704
704
|
discountPercent: tierConfigs[i].discountPercent,
|
|
705
705
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
706
706
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
707
|
-
|
|
708
|
-
|
|
707
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
708
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
709
709
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
710
710
|
splitPercent: 0,
|
|
711
711
|
resolvedUri: ""
|
|
@@ -755,8 +755,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
755
755
|
useReserveBeneficiaryAsDefault: false,
|
|
756
756
|
transfersPausable: false,
|
|
757
757
|
useVotingUnits: true,
|
|
758
|
-
|
|
759
|
-
|
|
758
|
+
cantBeRemoved: false,
|
|
759
|
+
cantIncreaseDiscountPercent: false,
|
|
760
760
|
cantBuyWithCredits: false,
|
|
761
761
|
splitPercent: 0,
|
|
762
762
|
splits: new JBSplit[](0)
|
|
@@ -775,8 +775,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
775
775
|
discountPercent: tierConfigsRemaining[arrayIndex].discountPercent,
|
|
776
776
|
allowOwnerMint: tierConfigsRemaining[arrayIndex].allowOwnerMint,
|
|
777
777
|
transfersPausable: tierConfigsRemaining[arrayIndex].transfersPausable,
|
|
778
|
-
|
|
779
|
-
|
|
778
|
+
cantBeRemoved: tierConfigsRemaining[arrayIndex].cantBeRemoved,
|
|
779
|
+
cantIncreaseDiscountPercent: tierConfigsRemaining[arrayIndex].cantIncreaseDiscountPercent,
|
|
780
780
|
cantBuyWithCredits: tierConfigsRemaining[arrayIndex].cantBuyWithCredits,
|
|
781
781
|
splitPercent: 0,
|
|
782
782
|
resolvedUri: ""
|
|
@@ -808,8 +808,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
808
808
|
useReserveBeneficiaryAsDefault: false,
|
|
809
809
|
transfersPausable: false,
|
|
810
810
|
useVotingUnits: true,
|
|
811
|
-
|
|
812
|
-
|
|
811
|
+
cantBeRemoved: false,
|
|
812
|
+
cantIncreaseDiscountPercent: false,
|
|
813
813
|
cantBuyWithCredits: false,
|
|
814
814
|
splitPercent: 0,
|
|
815
815
|
splits: new JBSplit[](0)
|
|
@@ -827,8 +827,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
827
827
|
discountPercent: tierConfigsToAdd[i].discountPercent,
|
|
828
828
|
allowOwnerMint: tierConfigsToAdd[i].allowOwnerMint,
|
|
829
829
|
transfersPausable: tierConfigsToAdd[i].transfersPausable,
|
|
830
|
-
|
|
831
|
-
|
|
830
|
+
cantBeRemoved: tierConfigsToAdd[i].cantBeRemoved,
|
|
831
|
+
cantIncreaseDiscountPercent: tierConfigsToAdd[i].cantIncreaseDiscountPercent,
|
|
832
832
|
cantBuyWithCredits: tierConfigsToAdd[i].cantBuyWithCredits,
|
|
833
833
|
splitPercent: 0,
|
|
834
834
|
resolvedUri: ""
|
|
@@ -886,8 +886,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
886
886
|
useReserveBeneficiaryAsDefault: false,
|
|
887
887
|
transfersPausable: false,
|
|
888
888
|
useVotingUnits: true,
|
|
889
|
-
|
|
890
|
-
|
|
889
|
+
cantBeRemoved: false,
|
|
890
|
+
cantIncreaseDiscountPercent: false,
|
|
891
891
|
cantBuyWithCredits: false,
|
|
892
892
|
splitPercent: 0,
|
|
893
893
|
splits: new JBSplit[](0)
|
|
@@ -906,8 +906,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
906
906
|
discountPercent: tierConfigs[i].discountPercent,
|
|
907
907
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
908
908
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
909
|
-
|
|
910
|
-
|
|
909
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
910
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
911
911
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
912
912
|
splitPercent: 0,
|
|
913
913
|
resolvedUri: ""
|
|
@@ -956,8 +956,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
956
956
|
useReserveBeneficiaryAsDefault: false,
|
|
957
957
|
transfersPausable: false,
|
|
958
958
|
useVotingUnits: true,
|
|
959
|
-
|
|
960
|
-
|
|
959
|
+
cantBeRemoved: false,
|
|
960
|
+
cantIncreaseDiscountPercent: false,
|
|
961
961
|
cantBuyWithCredits: false,
|
|
962
962
|
splitPercent: 0,
|
|
963
963
|
splits: new JBSplit[](0)
|
|
@@ -975,8 +975,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
975
975
|
discountPercent: tierConfigsToAdd[i].discountPercent,
|
|
976
976
|
allowOwnerMint: tierConfigsToAdd[i].allowOwnerMint,
|
|
977
977
|
transfersPausable: tierConfigsToAdd[i].transfersPausable,
|
|
978
|
-
|
|
979
|
-
|
|
978
|
+
cantBeRemoved: tierConfigsToAdd[i].cantBeRemoved,
|
|
979
|
+
cantIncreaseDiscountPercent: tierConfigsToAdd[i].cantIncreaseDiscountPercent,
|
|
980
980
|
cantBuyWithCredits: tierConfigsToAdd[i].cantBuyWithCredits,
|
|
981
981
|
splitPercent: 0,
|
|
982
982
|
resolvedUri: ""
|
|
@@ -1018,8 +1018,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1018
1018
|
useReserveBeneficiaryAsDefault: false,
|
|
1019
1019
|
transfersPausable: false,
|
|
1020
1020
|
useVotingUnits: true,
|
|
1021
|
-
|
|
1022
|
-
|
|
1021
|
+
cantBeRemoved: false,
|
|
1022
|
+
cantIncreaseDiscountPercent: false,
|
|
1023
1023
|
cantBuyWithCredits: false,
|
|
1024
1024
|
splitPercent: 0,
|
|
1025
1025
|
splits: new JBSplit[](0)
|
|
@@ -1038,8 +1038,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1038
1038
|
discountPercent: tierConfigs[i].discountPercent,
|
|
1039
1039
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
1040
1040
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
1041
|
-
|
|
1042
|
-
|
|
1041
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
1042
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
1043
1043
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
1044
1044
|
splitPercent: 0,
|
|
1045
1045
|
resolvedUri: ""
|
|
@@ -1087,8 +1087,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1087
1087
|
useReserveBeneficiaryAsDefault: false,
|
|
1088
1088
|
transfersPausable: false,
|
|
1089
1089
|
useVotingUnits: true,
|
|
1090
|
-
|
|
1091
|
-
|
|
1090
|
+
cantBeRemoved: false,
|
|
1091
|
+
cantIncreaseDiscountPercent: false,
|
|
1092
1092
|
cantBuyWithCredits: false,
|
|
1093
1093
|
splitPercent: 0,
|
|
1094
1094
|
splits: new JBSplit[](0)
|
|
@@ -1106,8 +1106,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1106
1106
|
discountPercent: tierConfigsToAdd[i].discountPercent,
|
|
1107
1107
|
allowOwnerMint: tierConfigsToAdd[i].allowOwnerMint,
|
|
1108
1108
|
transfersPausable: tierConfigsToAdd[i].transfersPausable,
|
|
1109
|
-
|
|
1110
|
-
|
|
1109
|
+
cantBeRemoved: tierConfigsToAdd[i].cantBeRemoved,
|
|
1110
|
+
cantIncreaseDiscountPercent: tierConfigsToAdd[i].cantIncreaseDiscountPercent,
|
|
1111
1111
|
cantBuyWithCredits: tierConfigsToAdd[i].cantBuyWithCredits,
|
|
1112
1112
|
splitPercent: 0,
|
|
1113
1113
|
resolvedUri: ""
|
|
@@ -1144,8 +1144,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1144
1144
|
useReserveBeneficiaryAsDefault: false,
|
|
1145
1145
|
transfersPausable: false,
|
|
1146
1146
|
useVotingUnits: true,
|
|
1147
|
-
|
|
1148
|
-
|
|
1147
|
+
cantBeRemoved: true,
|
|
1148
|
+
cantIncreaseDiscountPercent: false,
|
|
1149
1149
|
cantBuyWithCredits: false,
|
|
1150
1150
|
splitPercent: 0,
|
|
1151
1151
|
splits: new JBSplit[](0)
|
|
@@ -1163,8 +1163,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1163
1163
|
useReserveBeneficiaryAsDefault: false,
|
|
1164
1164
|
transfersPausable: false,
|
|
1165
1165
|
useVotingUnits: true,
|
|
1166
|
-
|
|
1167
|
-
|
|
1166
|
+
cantBeRemoved: false,
|
|
1167
|
+
cantIncreaseDiscountPercent: false,
|
|
1168
1168
|
cantBuyWithCredits: false,
|
|
1169
1169
|
splitPercent: 0,
|
|
1170
1170
|
splits: new JBSplit[](0)
|
|
@@ -1220,8 +1220,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1220
1220
|
useReserveBeneficiaryAsDefault: false,
|
|
1221
1221
|
transfersPausable: false,
|
|
1222
1222
|
useVotingUnits: true,
|
|
1223
|
-
|
|
1224
|
-
|
|
1223
|
+
cantBeRemoved: false,
|
|
1224
|
+
cantIncreaseDiscountPercent: false,
|
|
1225
1225
|
cantBuyWithCredits: false,
|
|
1226
1226
|
splitPercent: 0,
|
|
1227
1227
|
splits: new JBSplit[](0)
|
|
@@ -1240,8 +1240,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1240
1240
|
discountPercent: tierConfigs[i].discountPercent,
|
|
1241
1241
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
1242
1242
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
1243
|
-
|
|
1244
|
-
|
|
1243
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
1244
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
1245
1245
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
1246
1246
|
splitPercent: 0,
|
|
1247
1247
|
resolvedUri: ""
|
|
@@ -1288,8 +1288,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1288
1288
|
useReserveBeneficiaryAsDefault: false,
|
|
1289
1289
|
transfersPausable: false,
|
|
1290
1290
|
useVotingUnits: false,
|
|
1291
|
-
|
|
1292
|
-
|
|
1291
|
+
cantBeRemoved: false,
|
|
1292
|
+
cantIncreaseDiscountPercent: false,
|
|
1293
1293
|
cantBuyWithCredits: false,
|
|
1294
1294
|
splitPercent: 0,
|
|
1295
1295
|
splits: new JBSplit[](0)
|
|
@@ -1307,8 +1307,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1307
1307
|
discountPercent: tierConfigsToAdd[i].discountPercent,
|
|
1308
1308
|
allowOwnerMint: tierConfigsToAdd[i].allowOwnerMint,
|
|
1309
1309
|
transfersPausable: tierConfigsToAdd[i].transfersPausable,
|
|
1310
|
-
|
|
1311
|
-
|
|
1310
|
+
cantBeRemoved: tierConfigsToAdd[i].cantBeRemoved,
|
|
1311
|
+
cantIncreaseDiscountPercent: tierConfigsToAdd[i].cantIncreaseDiscountPercent,
|
|
1312
1312
|
cantBuyWithCredits: tierConfigsToAdd[i].cantBuyWithCredits,
|
|
1313
1313
|
splitPercent: 0,
|
|
1314
1314
|
resolvedUri: ""
|
|
@@ -1351,9 +1351,9 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1351
1351
|
allowOwnerMint: false,
|
|
1352
1352
|
useReserveBeneficiaryAsDefault: false,
|
|
1353
1353
|
transfersPausable: false,
|
|
1354
|
-
|
|
1354
|
+
cantBeRemoved: false,
|
|
1355
1355
|
useVotingUnits: true,
|
|
1356
|
-
|
|
1356
|
+
cantIncreaseDiscountPercent: false,
|
|
1357
1357
|
cantBuyWithCredits: false,
|
|
1358
1358
|
splitPercent: 0,
|
|
1359
1359
|
splits: new JBSplit[](0)
|
|
@@ -1396,8 +1396,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1396
1396
|
useReserveBeneficiaryAsDefault: false,
|
|
1397
1397
|
transfersPausable: false,
|
|
1398
1398
|
useVotingUnits: false,
|
|
1399
|
-
|
|
1400
|
-
|
|
1399
|
+
cantBeRemoved: false,
|
|
1400
|
+
cantIncreaseDiscountPercent: false,
|
|
1401
1401
|
cantBuyWithCredits: false,
|
|
1402
1402
|
splitPercent: 0,
|
|
1403
1403
|
splits: new JBSplit[](0)
|
|
@@ -1446,8 +1446,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1446
1446
|
useReserveBeneficiaryAsDefault: false,
|
|
1447
1447
|
transfersPausable: false,
|
|
1448
1448
|
useVotingUnits: false, // <-- If false, voting power is based on tier price
|
|
1449
|
-
|
|
1450
|
-
|
|
1449
|
+
cantBeRemoved: false,
|
|
1450
|
+
cantIncreaseDiscountPercent: false,
|
|
1451
1451
|
cantBuyWithCredits: false,
|
|
1452
1452
|
splitPercent: 0,
|
|
1453
1453
|
splits: new JBSplit[](0)
|
|
@@ -1490,8 +1490,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1490
1490
|
useReserveBeneficiaryAsDefault: false,
|
|
1491
1491
|
transfersPausable: false,
|
|
1492
1492
|
useVotingUnits: true,
|
|
1493
|
-
|
|
1494
|
-
|
|
1493
|
+
cantBeRemoved: false,
|
|
1494
|
+
cantIncreaseDiscountPercent: false,
|
|
1495
1495
|
cantBuyWithCredits: false,
|
|
1496
1496
|
splitPercent: 0,
|
|
1497
1497
|
splits: new JBSplit[](0)
|
|
@@ -1540,8 +1540,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1540
1540
|
useReserveBeneficiaryAsDefault: false,
|
|
1541
1541
|
transfersPausable: false,
|
|
1542
1542
|
useVotingUnits: true, // <-- If false, voting power is based on tier price
|
|
1543
|
-
|
|
1544
|
-
|
|
1543
|
+
cantBeRemoved: false,
|
|
1544
|
+
cantIncreaseDiscountPercent: false,
|
|
1545
1545
|
cantBuyWithCredits: false,
|
|
1546
1546
|
splitPercent: 0,
|
|
1547
1547
|
splits: new JBSplit[](0)
|
|
@@ -1616,8 +1616,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1616
1616
|
useReserveBeneficiaryAsDefault: false,
|
|
1617
1617
|
transfersPausable: false,
|
|
1618
1618
|
useVotingUnits: false,
|
|
1619
|
-
|
|
1620
|
-
|
|
1619
|
+
cantBeRemoved: false,
|
|
1620
|
+
cantIncreaseDiscountPercent: false,
|
|
1621
1621
|
cantBuyWithCredits: false,
|
|
1622
1622
|
splitPercent: 0,
|
|
1623
1623
|
splits: new JBSplit[](0)
|
|
@@ -1636,8 +1636,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1636
1636
|
discountPercent: tierConfigs[i].discountPercent,
|
|
1637
1637
|
allowOwnerMint: tierConfigs[i].allowOwnerMint,
|
|
1638
1638
|
transfersPausable: tierConfigs[i].transfersPausable,
|
|
1639
|
-
|
|
1640
|
-
|
|
1639
|
+
cantBeRemoved: tierConfigs[i].cantBeRemoved,
|
|
1640
|
+
cantIncreaseDiscountPercent: tierConfigs[i].cantIncreaseDiscountPercent,
|
|
1641
1641
|
cantBuyWithCredits: tierConfigs[i].cantBuyWithCredits,
|
|
1642
1642
|
splitPercent: 0,
|
|
1643
1643
|
resolvedUri: ""
|
|
@@ -1747,8 +1747,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1747
1747
|
useReserveBeneficiaryAsDefault: false,
|
|
1748
1748
|
transfersPausable: false,
|
|
1749
1749
|
useVotingUnits: true,
|
|
1750
|
-
|
|
1751
|
-
|
|
1750
|
+
cantBeRemoved: true,
|
|
1751
|
+
cantIncreaseDiscountPercent: true,
|
|
1752
1752
|
cantBuyWithCredits: false,
|
|
1753
1753
|
splitPercent: 0,
|
|
1754
1754
|
splits: new JBSplit[](0)
|
|
@@ -1803,8 +1803,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1803
1803
|
useReserveBeneficiaryAsDefault: false,
|
|
1804
1804
|
transfersPausable: false,
|
|
1805
1805
|
useVotingUnits: true,
|
|
1806
|
-
|
|
1807
|
-
|
|
1806
|
+
cantBeRemoved: true,
|
|
1807
|
+
cantIncreaseDiscountPercent: true,
|
|
1808
1808
|
cantBuyWithCredits: false,
|
|
1809
1809
|
splitPercent: 0,
|
|
1810
1810
|
splits: new JBSplit[](0)
|
|
@@ -1822,8 +1822,8 @@ contract Test_adjustTier_Unit is UnitTestSetup {
|
|
|
1822
1822
|
useReserveBeneficiaryAsDefault: false,
|
|
1823
1823
|
transfersPausable: false,
|
|
1824
1824
|
useVotingUnits: true,
|
|
1825
|
-
|
|
1826
|
-
|
|
1825
|
+
cantBeRemoved: true,
|
|
1826
|
+
cantIncreaseDiscountPercent: false,
|
|
1827
1827
|
cantBuyWithCredits: false,
|
|
1828
1828
|
splitPercent: 0,
|
|
1829
1829
|
splits: new JBSplit[](0)
|
|
@@ -153,8 +153,8 @@ contract Test_Getters_Constructor_Unit is UnitTestSetup {
|
|
|
153
153
|
discountPercent: uint8(0),
|
|
154
154
|
allowOwnerMint: false,
|
|
155
155
|
transfersPausable: false,
|
|
156
|
-
|
|
157
|
-
|
|
156
|
+
cantBeRemoved: false,
|
|
157
|
+
cantIncreaseDiscountPercent: false,
|
|
158
158
|
cantBuyWithCredits: false,
|
|
159
159
|
splitPercent: 0,
|
|
160
160
|
resolvedUri: ""
|
|
@@ -550,8 +550,8 @@ contract Test_Getters_Constructor_Unit is UnitTestSetup {
|
|
|
550
550
|
useReserveBeneficiaryAsDefault: false,
|
|
551
551
|
transfersPausable: false,
|
|
552
552
|
useVotingUnits: true,
|
|
553
|
-
|
|
554
|
-
|
|
553
|
+
cantBeRemoved: false,
|
|
554
|
+
cantIncreaseDiscountPercent: false,
|
|
555
555
|
cantBuyWithCredits: false,
|
|
556
556
|
splitPercent: 0,
|
|
557
557
|
splits: new JBSplit[](0)
|