@bannynet/core-v6 0.0.16 → 0.0.18
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 +28 -0
- package/ARCHITECTURE.md +51 -75
- package/AUDIT_INSTRUCTIONS.md +64 -331
- package/CHANGELOG.md +31 -0
- package/README.md +53 -167
- package/RISKS.md +18 -1
- package/SKILLS.md +27 -243
- package/STYLE_GUIDE.md +56 -17
- package/USER_JOURNEYS.md +51 -496
- package/package.json +3 -3
- package/references/operations.md +25 -0
- package/references/runtime.md +27 -0
- package/script/Add.Denver.s.sol +10 -7
- package/script/Deploy.s.sol +37 -28
- package/script/Drop1.s.sol +424 -329
- package/src/Banny721TokenUriResolver.sol +7 -7
- package/test/Banny721TokenUriResolver.t.sol +8 -5
- package/test/BannyAttacks.t.sol +8 -5
- package/test/DecorateFlow.t.sol +8 -5
- package/test/Fork.t.sol +25 -17
- package/test/OutfitTransferLifecycle.t.sol +8 -5
- package/test/TestAuditGaps.sol +8 -5
- package/test/TestQALastMile.t.sol +8 -5
- package/test/audit/AntiStrandingRetention.t.sol +8 -5
- package/test/audit/BurnedBodyStrandsAssets.t.sol +8 -5
- package/test/audit/MergedOutfitExclusivity.t.sol +8 -5
- package/test/audit/TryTransferFromStrandsAssets.t.sol +8 -5
- package/test/regression/BodyCategoryValidation.t.sol +8 -5
- package/test/regression/BurnedTokenCheck.t.sol +8 -5
- package/test/regression/CEIReorder.t.sol +8 -5
- package/test/regression/RemovedTierDesync.t.sol +8 -5
- package/CHANGE_LOG.md +0 -243
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// SPDX-License-Identifier: MIT
|
|
2
2
|
pragma solidity 0.8.28;
|
|
3
3
|
|
|
4
|
-
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
|
|
5
|
-
import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
|
|
6
|
-
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
|
-
import {Context} from "@openzeppelin/contracts/utils/Context.sol";
|
|
8
|
-
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
9
|
-
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
|
|
10
|
-
import {Base64} from "lib/base64/base64.sol";
|
|
11
4
|
import {IERC721} from "@bananapus/721-hook-v6/src/abstract/ERC721.sol";
|
|
12
5
|
import {IJB721TiersHook} from "@bananapus/721-hook-v6/src/interfaces/IJB721TiersHook.sol";
|
|
13
6
|
import {IJB721TiersHookStore} from "@bananapus/721-hook-v6/src/interfaces/IJB721TiersHookStore.sol";
|
|
14
7
|
import {IJB721TokenUriResolver} from "@bananapus/721-hook-v6/src/interfaces/IJB721TokenUriResolver.sol";
|
|
15
8
|
import {JBIpfsDecoder} from "@bananapus/721-hook-v6/src/libraries/JBIpfsDecoder.sol";
|
|
16
9
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
10
|
+
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
|
|
11
|
+
import {ERC2771Context} from "@openzeppelin/contracts/metatx/ERC2771Context.sol";
|
|
12
|
+
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
13
|
+
import {Context} from "@openzeppelin/contracts/utils/Context.sol";
|
|
14
|
+
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
|
|
15
|
+
import {Strings} from "@openzeppelin/contracts/utils/Strings.sol";
|
|
16
|
+
import {Base64} from "lib/base64/base64.sol";
|
|
17
17
|
|
|
18
18
|
import {IBanny721TokenUriResolver} from "./interfaces/IBanny721TokenUriResolver.sol";
|
|
19
19
|
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../src/Banny721TokenUriResolver.sol";
|
|
@@ -677,11 +678,13 @@ contract TestBanny721TokenUriResolver is Test {
|
|
|
677
678
|
encodedIPFSUri: bytes32(0),
|
|
678
679
|
category: category,
|
|
679
680
|
discountPercent: 0,
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
681
|
+
flags: JB721TierFlags({
|
|
682
|
+
allowOwnerMint: false,
|
|
683
|
+
transfersPausable: false,
|
|
684
|
+
cantBeRemoved: false,
|
|
685
|
+
cantIncreaseDiscountPercent: false,
|
|
686
|
+
cantBuyWithCredits: false
|
|
687
|
+
}),
|
|
685
688
|
splitPercent: 0,
|
|
686
689
|
resolvedUri: ""
|
|
687
690
|
});
|
package/test/BannyAttacks.t.sol
CHANGED
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../src/Banny721TokenUriResolver.sol";
|
|
@@ -161,11 +162,13 @@ contract BannyAttacks is Test {
|
|
|
161
162
|
encodedIPFSUri: bytes32(0),
|
|
162
163
|
category: category,
|
|
163
164
|
discountPercent: 0,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
165
|
+
flags: JB721TierFlags({
|
|
166
|
+
allowOwnerMint: false,
|
|
167
|
+
transfersPausable: false,
|
|
168
|
+
cantBeRemoved: false,
|
|
169
|
+
cantIncreaseDiscountPercent: false,
|
|
170
|
+
cantBuyWithCredits: false
|
|
171
|
+
}),
|
|
169
172
|
splitPercent: 0,
|
|
170
173
|
resolvedUri: ""
|
|
171
174
|
})
|
package/test/DecorateFlow.t.sol
CHANGED
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../src/Banny721TokenUriResolver.sol";
|
|
@@ -1075,11 +1076,13 @@ contract DecorateFlowTests is Test {
|
|
|
1075
1076
|
encodedIPFSUri: bytes32(0),
|
|
1076
1077
|
category: category,
|
|
1077
1078
|
discountPercent: 0,
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1079
|
+
flags: JB721TierFlags({
|
|
1080
|
+
allowOwnerMint: false,
|
|
1081
|
+
transfersPausable: false,
|
|
1082
|
+
cantBeRemoved: false,
|
|
1083
|
+
cantIncreaseDiscountPercent: false,
|
|
1084
|
+
cantBuyWithCredits: false
|
|
1085
|
+
}),
|
|
1083
1086
|
splitPercent: 0,
|
|
1084
1087
|
resolvedUri: ""
|
|
1085
1088
|
})
|
package/test/Fork.t.sol
CHANGED
|
@@ -26,6 +26,8 @@ import {JB721InitTiersConfig} from "@bananapus/721-hook-v6/src/structs/JB721Init
|
|
|
26
26
|
import {JB721TiersHookFlags} from "@bananapus/721-hook-v6/src/structs/JB721TiersHookFlags.sol";
|
|
27
27
|
import {JBDeploy721TiersHookConfig} from "@bananapus/721-hook-v6/src/structs/JBDeploy721TiersHookConfig.sol";
|
|
28
28
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
29
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
30
|
+
import {JB721TierConfigFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierConfigFlags.sol";
|
|
29
31
|
import {IJB721TokenUriResolver} from "@bananapus/721-hook-v6/src/interfaces/IJB721TokenUriResolver.sol";
|
|
30
32
|
import {JBCurrencyIds} from "@bananapus/core-v6/src/libraries/JBCurrencyIds.sol";
|
|
31
33
|
import {JBSplit} from "@bananapus/core-v6/src/structs/JBSplit.sol";
|
|
@@ -865,11 +867,13 @@ contract BannyForkTest is Test {
|
|
|
865
867
|
encodedIPFSUri: bytes32(0),
|
|
866
868
|
category: 0, // body
|
|
867
869
|
discountPercent: 0,
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
870
|
+
flags: JB721TierFlags({
|
|
871
|
+
allowOwnerMint: false,
|
|
872
|
+
transfersPausable: false,
|
|
873
|
+
cantBeRemoved: false,
|
|
874
|
+
cantIncreaseDiscountPercent: false,
|
|
875
|
+
cantBuyWithCredits: false
|
|
876
|
+
}),
|
|
873
877
|
splitPercent: 0,
|
|
874
878
|
resolvedUri: ""
|
|
875
879
|
})
|
|
@@ -888,11 +892,13 @@ contract BannyForkTest is Test {
|
|
|
888
892
|
encodedIPFSUri: bytes32(0),
|
|
889
893
|
category: 3, // necklace
|
|
890
894
|
discountPercent: 0,
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
895
|
+
flags: JB721TierFlags({
|
|
896
|
+
allowOwnerMint: false,
|
|
897
|
+
transfersPausable: false,
|
|
898
|
+
cantBeRemoved: false,
|
|
899
|
+
cantIncreaseDiscountPercent: false,
|
|
900
|
+
cantBuyWithCredits: false
|
|
901
|
+
}),
|
|
896
902
|
splitPercent: 0,
|
|
897
903
|
resolvedUri: ""
|
|
898
904
|
})
|
|
@@ -1936,13 +1942,15 @@ contract BannyForkTest is Test {
|
|
|
1936
1942
|
encodedIPFSUri: bytes32(0),
|
|
1937
1943
|
category: category,
|
|
1938
1944
|
discountPercent: 0,
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1945
|
+
flags: JB721TierConfigFlags({
|
|
1946
|
+
allowOwnerMint: true,
|
|
1947
|
+
useReserveBeneficiaryAsDefault: false,
|
|
1948
|
+
transfersPausable: false,
|
|
1949
|
+
useVotingUnits: false,
|
|
1950
|
+
cantBeRemoved: false,
|
|
1951
|
+
cantIncreaseDiscountPercent: false,
|
|
1952
|
+
cantBuyWithCredits: false
|
|
1953
|
+
}),
|
|
1946
1954
|
splitPercent: 0,
|
|
1947
1955
|
splits: new JBSplit[](0)
|
|
1948
1956
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../src/Banny721TokenUriResolver.sol";
|
|
@@ -379,11 +380,13 @@ contract OutfitTransferLifecycleTest is Test {
|
|
|
379
380
|
encodedIPFSUri: bytes32(0),
|
|
380
381
|
category: category,
|
|
381
382
|
discountPercent: 0,
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
383
|
+
flags: JB721TierFlags({
|
|
384
|
+
allowOwnerMint: false,
|
|
385
|
+
transfersPausable: false,
|
|
386
|
+
cantBeRemoved: false,
|
|
387
|
+
cantIncreaseDiscountPercent: false,
|
|
388
|
+
cantBuyWithCredits: false
|
|
389
|
+
}),
|
|
387
390
|
splitPercent: 0,
|
|
388
391
|
resolvedUri: ""
|
|
389
392
|
})
|
package/test/TestAuditGaps.sol
CHANGED
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../src/Banny721TokenUriResolver.sol";
|
|
@@ -157,11 +158,13 @@ contract TestAuditGaps is Test {
|
|
|
157
158
|
encodedIPFSUri: bytes32(0),
|
|
158
159
|
category: category,
|
|
159
160
|
discountPercent: 0,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
161
|
+
flags: JB721TierFlags({
|
|
162
|
+
allowOwnerMint: false,
|
|
163
|
+
transfersPausable: false,
|
|
164
|
+
cantBeRemoved: false,
|
|
165
|
+
cantIncreaseDiscountPercent: false,
|
|
166
|
+
cantBuyWithCredits: false
|
|
167
|
+
}),
|
|
165
168
|
splitPercent: 0,
|
|
166
169
|
resolvedUri: ""
|
|
167
170
|
})
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
import {Base64} from "lib/base64/base64.sol";
|
|
8
9
|
|
|
@@ -182,11 +183,13 @@ contract TestQALastMile is Test {
|
|
|
182
183
|
encodedIPFSUri: bytes32(0),
|
|
183
184
|
category: category,
|
|
184
185
|
discountPercent: 0,
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
flags: JB721TierFlags({
|
|
187
|
+
allowOwnerMint: false,
|
|
188
|
+
transfersPausable: false,
|
|
189
|
+
cantBeRemoved: false,
|
|
190
|
+
cantIncreaseDiscountPercent: false,
|
|
191
|
+
cantBuyWithCredits: false
|
|
192
|
+
}),
|
|
190
193
|
splitPercent: 0,
|
|
191
194
|
resolvedUri: ""
|
|
192
195
|
})
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -380,11 +381,13 @@ contract AntiStrandingRetentionTest is Test {
|
|
|
380
381
|
encodedIPFSUri: bytes32(0),
|
|
381
382
|
category: category,
|
|
382
383
|
discountPercent: 0,
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
384
|
+
flags: JB721TierFlags({
|
|
385
|
+
allowOwnerMint: false,
|
|
386
|
+
transfersPausable: false,
|
|
387
|
+
cantBeRemoved: false,
|
|
388
|
+
cantIncreaseDiscountPercent: false,
|
|
389
|
+
cantBuyWithCredits: false
|
|
390
|
+
}),
|
|
388
391
|
splitPercent: 0,
|
|
389
392
|
resolvedUri: ""
|
|
390
393
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -146,11 +147,13 @@ contract BurnedBodyStrandsAssetsTest is Test {
|
|
|
146
147
|
encodedIPFSUri: bytes32(0),
|
|
147
148
|
category: category,
|
|
148
149
|
discountPercent: 0,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
flags: JB721TierFlags({
|
|
151
|
+
allowOwnerMint: false,
|
|
152
|
+
transfersPausable: false,
|
|
153
|
+
cantBeRemoved: false,
|
|
154
|
+
cantIncreaseDiscountPercent: false,
|
|
155
|
+
cantBuyWithCredits: false
|
|
156
|
+
}),
|
|
154
157
|
splitPercent: 0,
|
|
155
158
|
resolvedUri: ""
|
|
156
159
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -210,11 +211,13 @@ contract MergedOutfitExclusivityTest is Test {
|
|
|
210
211
|
encodedIPFSUri: bytes32(0),
|
|
211
212
|
category: category,
|
|
212
213
|
discountPercent: 0,
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
214
|
+
flags: JB721TierFlags({
|
|
215
|
+
allowOwnerMint: false,
|
|
216
|
+
transfersPausable: false,
|
|
217
|
+
cantBeRemoved: false,
|
|
218
|
+
cantIncreaseDiscountPercent: false,
|
|
219
|
+
cantBuyWithCredits: false
|
|
220
|
+
}),
|
|
218
221
|
splitPercent: 0,
|
|
219
222
|
resolvedUri: ""
|
|
220
223
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -180,11 +181,13 @@ contract TryTransferFromStrandsAssetsTest is Test {
|
|
|
180
181
|
encodedIPFSUri: bytes32(0),
|
|
181
182
|
category: category,
|
|
182
183
|
discountPercent: 0,
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
184
|
+
flags: JB721TierFlags({
|
|
185
|
+
allowOwnerMint: false,
|
|
186
|
+
transfersPausable: false,
|
|
187
|
+
cantBeRemoved: false,
|
|
188
|
+
cantIncreaseDiscountPercent: false,
|
|
189
|
+
cantBuyWithCredits: false
|
|
190
|
+
}),
|
|
188
191
|
splitPercent: 0,
|
|
189
192
|
resolvedUri: ""
|
|
190
193
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -131,11 +132,13 @@ contract BodyCategoryValidationTest is Test {
|
|
|
131
132
|
encodedIPFSUri: bytes32(0),
|
|
132
133
|
category: category,
|
|
133
134
|
discountPercent: 0,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
flags: JB721TierFlags({
|
|
136
|
+
allowOwnerMint: false,
|
|
137
|
+
transfersPausable: false,
|
|
138
|
+
cantBeRemoved: false,
|
|
139
|
+
cantIncreaseDiscountPercent: false,
|
|
140
|
+
cantBuyWithCredits: false
|
|
141
|
+
}),
|
|
139
142
|
splitPercent: 0,
|
|
140
143
|
resolvedUri: ""
|
|
141
144
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -170,11 +171,13 @@ contract BurnedTokenCheckTest is Test {
|
|
|
170
171
|
encodedIPFSUri: bytes32(0),
|
|
171
172
|
category: category,
|
|
172
173
|
discountPercent: 0,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
174
|
+
flags: JB721TierFlags({
|
|
175
|
+
allowOwnerMint: false,
|
|
176
|
+
transfersPausable: false,
|
|
177
|
+
cantBeRemoved: false,
|
|
178
|
+
cantIncreaseDiscountPercent: false,
|
|
179
|
+
cantBuyWithCredits: false
|
|
180
|
+
}),
|
|
178
181
|
splitPercent: 0,
|
|
179
182
|
resolvedUri: ""
|
|
180
183
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -193,11 +194,13 @@ contract CEIReorderTest is Test {
|
|
|
193
194
|
encodedIPFSUri: bytes32(0),
|
|
194
195
|
category: category,
|
|
195
196
|
discountPercent: 0,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
197
|
+
flags: JB721TierFlags({
|
|
198
|
+
allowOwnerMint: false,
|
|
199
|
+
transfersPausable: false,
|
|
200
|
+
cantBeRemoved: false,
|
|
201
|
+
cantIncreaseDiscountPercent: false,
|
|
202
|
+
cantBuyWithCredits: false
|
|
203
|
+
}),
|
|
201
204
|
splitPercent: 0,
|
|
202
205
|
resolvedUri: ""
|
|
203
206
|
});
|
|
@@ -3,6 +3,7 @@ pragma solidity 0.8.28;
|
|
|
3
3
|
|
|
4
4
|
import {Test} from "forge-std/Test.sol";
|
|
5
5
|
import {JB721Tier} from "@bananapus/721-hook-v6/src/structs/JB721Tier.sol";
|
|
6
|
+
import {JB721TierFlags} from "@bananapus/721-hook-v6/src/structs/JB721TierFlags.sol";
|
|
6
7
|
import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol";
|
|
7
8
|
|
|
8
9
|
import {Banny721TokenUriResolver} from "../../src/Banny721TokenUriResolver.sol";
|
|
@@ -330,11 +331,13 @@ contract RemovedTierDesyncTest is Test {
|
|
|
330
331
|
encodedIPFSUri: bytes32(0),
|
|
331
332
|
category: category,
|
|
332
333
|
discountPercent: 0,
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
334
|
+
flags: JB721TierFlags({
|
|
335
|
+
allowOwnerMint: false,
|
|
336
|
+
transfersPausable: false,
|
|
337
|
+
cantBeRemoved: false,
|
|
338
|
+
cantIncreaseDiscountPercent: false,
|
|
339
|
+
cantBuyWithCredits: false
|
|
340
|
+
}),
|
|
338
341
|
splitPercent: 0,
|
|
339
342
|
resolvedUri: ""
|
|
340
343
|
});
|