NFTHookAttacks:test_adjustTiers_noPermission_reverts() (gas: 355534)
NFTHookAttacks:test_cannotIncreaseDiscountPercent_enforcement() (gas: 371175)
NFTHookAttacks:test_cashOutWeight_afterTierRemoval() (gas: 9879224)
NFTHookAttacks:test_duplicateTierIdsInMetadata_mintsMultiple() (gas: 9844592)
NFTHookAttacks:test_invalidTierIdInMetadata_reverts() (gas: 401784)
NFTHookAttacks:test_maxDiscountPercent_effectivePrice() (gas: 362841)
NFTHookAttacks:test_maxSupplyTier_noOverflow() (gas: 357301)
NFTHookAttacks:test_reserveDrain_highFrequency() (gas: 10193674)
NFTHookAttacks:test_supplyExhaustion_noOvermint() (gas: 9847419)
NFTHookAttacks:test_zeroPriceTier_mintBehavior() (gas: 9846210)
TestJB721TiersRulesetMetadataResolver:testFuzz_mintPendingReservesPaused_bitIsolation(uint256) (runs: 256, μ: 488, ~: 488)
TestJB721TiersRulesetMetadataResolver:testFuzz_packExpandRoundTrip(bool,bool) (runs: 256, μ: 1090, ~: 1091)
TestJB721TiersRulesetMetadataResolver:testFuzz_pack_onlyUsesLow2Bits(bool,bool) (runs: 256, μ: 733, ~: 734)
TestJB721TiersRulesetMetadataResolver:testFuzz_transfersPaused_bitIsolation(uint256) (runs: 256, μ: 459, ~: 459)
TestJB721TiersRulesetMetadataResolver:test_expandMetadata_one() (gas: 453)
TestJB721TiersRulesetMetadataResolver:test_expandMetadata_three() (gas: 475)
TestJB721TiersRulesetMetadataResolver:test_expandMetadata_two() (gas: 485)
TestJB721TiersRulesetMetadataResolver:test_expandMetadata_zero() (gas: 455)
TestJB721TiersRulesetMetadataResolver:test_mintPendingReservesPaused() (gas: 457)
TestJB721TiersRulesetMetadataResolver:test_packExpandRoundTrip_allCombinations() (gas: 2977)
TestJB721TiersRulesetMetadataResolver:test_pack_allFalse() (gas: 514)
TestJB721TiersRulesetMetadataResolver:test_pack_bothTrue() (gas: 477)
TestJB721TiersRulesetMetadataResolver:test_pack_pauseMintPendingReservesOnly() (gas: 505)
TestJB721TiersRulesetMetadataResolver:test_pack_pauseTransfersOnly() (gas: 486)
TestJB721TiersRulesetMetadataResolver:test_transfersPaused() (gas: 434)
TestJBBitmap:testFuzz_readId_depthMatchesIndex(uint16) (runs: 256, μ: 2886, ~: 2886)
TestJBBitmap:testFuzz_refreshBitmapNeeded_consistency(uint16,uint16) (runs: 256, μ: 3127, ~: 3127)
TestJBBitmap:testFuzz_removeTier_isolatedBit(uint16,uint16) (runs: 256, μ: 28176, ~: 28755)
TestJBBitmap:testFuzz_removeTier_multipleBits(uint8,uint8,uint8) (runs: 256, μ: 28174, ~: 28174)
TestJBBitmap:testFuzz_removeTier_roundTrip(uint16) (runs: 256, μ: 23824, ~: 23824)
TestJBBitmap:test_isTierIdRemoved_memoryStruct() (gas: 23394)
TestJBBitmap:test_isTierIdRemoved_wrongDepthReturnsWrong() (gas: 25144)
TestJBBitmap:test_readId_depthCalculation() (gas: 7636)
TestJBBitmap:test_readId_initiallyZero() (gas: 2859)
TestJBBitmap:test_refreshBitmapNeeded_differentDepth() (gas: 2965)
TestJBBitmap:test_refreshBitmapNeeded_sameDepth() (gas: 3052)
TestJBBitmap:test_removeTier_acrossWords() (gas: 70159)
TestJBBitmap:test_removeTier_doesNotAffectOtherBits() (gas: 24281)
TestJBBitmap:test_removeTier_idempotent() (gas: 23479)
TestJBBitmap:test_removeTier_multipleBitsInSameWord() (gas: 25337)
TestJBBitmap:test_removeTier_setsbit() (gas: 23638)
TestJBIpfsDecoder:testFuzz_decode_alwaysProduces46Chars(bytes32) (runs: 256, μ: 359415, ~: 359415)
TestJBIpfsDecoder:testFuzz_decode_alwaysStartsWithQm(bytes32) (runs: 256, μ: 359671, ~: 359671)
TestJBIpfsDecoder:testFuzz_decode_onlyBase58Chars(bytes32) (runs: 256, μ: 647995, ~: 649242)
TestJBIpfsDecoder:testFuzz_decode_prependsBaseUri(bytes32,uint8) (runs: 256, μ: 369117, ~: 362596)
TestJBIpfsDecoder:test_decode_deterministic() (gas: 718939)
TestJBIpfsDecoder:test_decode_differentHashesDifferentOutput() (gas: 718729)
TestJBIpfsDecoder:test_decode_emptyBaseUri() (gas: 359299)
TestJBIpfsDecoder:test_decode_onlyBase58Chars() (gas: 626479)
TestJBIpfsDecoder:test_decode_outputLength() (gas: 359327)
TestJBIpfsDecoder:test_decode_outputStartsWithQm() (gas: 359626)
TestJBIpfsDecoder:test_decode_prependsBaseUri() (gas: 361561)
TestTieredHookStoreInvariant:invariant_maxTierIdMonotonic() (runs: 256, calls: 128000, reverts: 0)
TestTieredHookStoreInvariant:invariant_reserveMintBounds() (runs: 256, calls: 128000, reverts: 0)
TestTieredHookStoreInvariant:invariant_supplyConservation() (runs: 256, calls: 128000, reverts: 0)
Test_Getters_Constructor_Unit:test_balanceOf_returnsCompleteBalance(uint256,address) (runs: 256, μ: 11423292, ~: 11326514)
Test_Getters_Constructor_Unit:test_bools_doesPackingAndUnpackingWork(bool,bool,bool,bool,bool) (runs: 256, μ: 3439343, ~: 3439343)
Test_Getters_Constructor_Unit:test_cashOutWeightOf_returnsCorrectWeightAsCumSumOfPrices(uint256,uint256,uint256) (runs: 256, μ: 11195261, ~: 10992258)
Test_Getters_Constructor_Unit:test_constructor_deployIfInitialSuppliesNotEmpty(uint256) (runs: 256, μ: 10167481, ~: 10200751)
Test_Getters_Constructor_Unit:test_constructor_revertDeploymentIfOneEmptyInitialSupply(uint256,uint256) (runs: 256, μ: 487693, ~: 400030)
Test_Getters_Constructor_Unit:test_firstOwnerOf_shouldReturnCurrentOwnerIfFirstOwner(uint256,address) (runs: 256, μ: 10587416, ~: 10587416)
Test_Getters_Constructor_Unit:test_firstOwnerOf_shouldReturnFirstOwnerIfOwnerChanged(address,address) (runs: 256, μ: 10485438, ~: 10485438)
Test_Getters_Constructor_Unit:test_firstOwnerOf_shouldReturnZeroAddressIfNotMinted(uint256) (runs: 256, μ: 10566284, ~: 10566284)
Test_Getters_Constructor_Unit:test_numberOfPendingReservesFor_returnsPendingReserves() (gas: 10915529)
Test_Getters_Constructor_Unit:test_pricingContext_packingFunctionsAsExpected(uint32,uint8,address,bytes32) (runs: 256, μ: 991314, ~: 991314)
Test_Getters_Constructor_Unit:test_setEncodedIPFSUriOf_returnsCorrectEncodedURI() (gas: 10971375)
Test_Getters_Constructor_Unit:test_tierOfTokenId_returnsCorrectTierNumber(uint16,uint16) (runs: 256, μ: 29544, ~: 29544)
Test_Getters_Constructor_Unit:test_tierOf_returnsAGivenTier(uint256,uint16) (runs: 256, μ: 11097249, ~: 11056900)
Test_Getters_Constructor_Unit:test_tiersOf_returnsAllTiers(uint256) (runs: 256, μ: 11333900, ~: 11133203)
Test_Getters_Constructor_Unit:test_tiersOf_returnsAllTiersExcludingRemovedOnes(uint256,uint256,uint256) (runs: 256, μ: 11587343, ~: 11564906)
Test_Getters_Constructor_Unit:test_tiersOf_returnsAllTiersWithResolver(uint256) (runs: 256, μ: 11605638, ~: 11393755)
Test_Getters_Constructor_Unit:test_tokenURI_returnsCorrectUriWithResolver(uint256) (runs: 256, μ: 10641767, ~: 10641767)
Test_Getters_Constructor_Unit:test_tokenURI_returnsCorrectUriWithoutResolver() (gas: 14291263)
Test_Getters_Constructor_Unit:test_totalCashOutWeight_returnsCorrectTotalWeightAsCumSumOfPrices(uint256) (runs: 256, μ: 11051332, ~: 10917296)
Test_Getters_Constructor_Unit:test_totalSupplyOf_returnsTotalSupply(uint256) (runs: 256, μ: 11036700, ~: 10904015)
Test_Getters_Constructor_Unit:test_votingUnitsOf_returnsVotingUnitsCorrectly(uint256,uint256,uint256) (runs: 256, μ: 11413665, ~: 11289995)
Test_ProjectDeployer_Unit:test_launchProjectFor_shouldLaunchProject(uint256,bytes32) (runs: 256, μ: 1007027, ~: 1006740)
Test_TiersHook_E2E:testCashOutAll(bytes32) (runs: 256, μ: 2638007, ~: 2638007)
Test_TiersHook_E2E:testCashOutToken(uint256,bytes32) (runs: 256, μ: 2384922, ~: 2389496)
Test_TiersHook_E2E:testFuzzMintWithDiscountOnPayIfOneTierIsPassed(uint256,uint256) (runs: 257, μ: 1265656, ~: 1308144)
Test_TiersHook_E2E:testLaunchProjectAndAddHookToRegistry(bytes32) (runs: 256, μ: 4570480, ~: 4570480)
Test_TiersHook_E2E:testMintOnPayIfMultipleTiersArePassed(bytes32) (runs: 256, μ: 2444650, ~: 2444650)
Test_TiersHook_E2E:testMintOnPayIfOneTierIsPassed(uint256,bytes32) (runs: 256, μ: 2049940, ~: 2050860)
Test_TiersHook_E2E:testMintReservedNft(uint256,bytes32) (runs: 256, μ: 2140927, ~: 2141363)
Test_TiersHook_E2E:testNoMintOnPayWhenNotIncludingMetadata(uint256,bytes32) (runs: 256, μ: 1868459, ~: 1868581)
Test_TiersHook_E2E:testNoMintOnPayWhenNotIncludingTierIds(uint256,bytes32) (runs: 256, μ: 1874747, ~: 1874869)
Test_adjustTier_Unit:test_adjustTiers_addAndRemoveTiers() (gas: 1343154)
Test_adjustTier_Unit:test_adjustTiers_addNewTiers(uint256,uint256,uint256) (runs: 256, μ: 2340387, ~: 2352813)
Test_adjustTier_Unit:test_adjustTiers_addNewTiersWithNonSequentialCategories(uint256,uint256,uint256) (runs: 256, μ: 2581968, ~: 2563953)
Test_adjustTier_Unit:test_adjustTiers_addNewTiers_fetchSpecificTier(uint256,uint256,uint256) (runs: 256, μ: 1660417, ~: 1683246)
Test_adjustTier_Unit:test_adjustTiers_removeTiers(uint256,uint256,uint256) (runs: 256, μ: 10170249, ~: 10150499)
Test_adjustTier_Unit:test_adjustTiers_removeTiersMultipleTimes(uint256,uint256,uint256) (runs: 256, μ: 2285592, ~: 2265940)
Test_adjustTier_Unit:test_adjustTiers_revertIfAddingWithReserveFrequency(uint256,uint256) (runs: 256, μ: 10169685, ~: 10166640)
Test_adjustTier_Unit:test_adjustTiers_revertIfAddingWithVotingPower(uint256,uint256) (runs: 256, μ: 10168360, ~: 10165321)
Test_adjustTier_Unit:test_adjustTiers_revertIfCannotRemoveTier() (gas: 394356)
Test_adjustTier_Unit:test_adjustTiers_revertIfEmptyQuantity(uint256,uint256) (runs: 256, μ: 10169424, ~: 10166381)
Test_adjustTier_Unit:test_adjustTiers_revertIfInvalidCategorySortOrder(uint256,uint256) (runs: 256, μ: 10897255, ~: 10925524)
Test_adjustTier_Unit:test_adjustTiers_revertIfMoreVotingUnitsNotAllowedUsingVotingUnits(uint256,uint256) (runs: 256, μ: 10778370, ~: 10808162)
Test_adjustTier_Unit:test_adjustTiers_revertIfMoreVotingUnitsNotAllowedWithPriceChange(uint256,uint256) (runs: 256, μ: 10141122, ~: 10138435)
Test_adjustTier_Unit:test_adjustTiers_withDifferentCategories(uint256,uint256,uint256) (runs: 256, μ: 2609853, ~: 2601407)
Test_adjustTier_Unit:test_adjustTiers_withDifferentCategoriesAndFetchedTogether(uint256,uint256,uint256) (runs: 256, μ: 2651662, ~: 2655539)
Test_adjustTier_Unit:test_adjustTiers_withSameCategoryMultipleTimes(uint256,uint256,uint256) (runs: 256, μ: 3211356, ~: 3174714)
Test_adjustTier_Unit:test_adjustTiers_withZeroCategory(uint256,uint256,uint256) (runs: 256, μ: 2019794, ~: 1998614)
Test_adjustTier_Unit:test_cleanTiers_removeInactiveTiers(uint256,uint256,uint256) (runs: 256, μ: 10396186, ~: 10378896)
Test_adjustTier_Unit:test_setDiscountPercentOf_revertIfCannotIncreaseDiscount() (gas: 338824)
Test_adjustTier_Unit:test_setDiscountPercentsOf_revertIfCannotIncreaseDiscounts() (gas: 395153)
Test_adjustTier_Unit:test_tiersOf_emptyArrayIfNoInitializedTiers(uint256) (runs: 256, μ: 217659, ~: 217659)
Test_adjustTier_Unit:test_tiersOf_recentlyAddedTiersFetchedFirstWhenSorted(uint256,uint256,uint256) (runs: 256, μ: 2200972, ~: 2196814)
Test_adjustTier_Unit:test_tiersOf_recentlyAddedTiersFetchedFirstWhenSortedAfterTiersCleaned(uint256,uint256,uint256) (runs: 256, μ: 3616874, ~: 3631859)
Test_afterPayRecorded_Unit:test_afterCashOutRecordedWith_cashOutEvenIfTransfersPausedInRuleset() (gas: 1385297)
Test_afterPayRecorded_Unit:test_afterPayRecorded_doNotMintIfNotUsingCorrectToken(address) (runs: 257, μ: 85884, ~: 85884)
Test_afterPayRecorded_Unit:test_afterPayRecorded_doNotMintWithSomeoneElsesCredits() (gas: 514975)
Test_afterPayRecorded_Unit:test_afterPayRecorded_doesNotRevertOnAmountBelowPriceIfNoMetadata() (gas: 65557)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintAndReserveCorrectAmounts(uint256,uint256,uint256) (runs: 256, μ: 14417219, ~: 14622413)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintCorrectTier() (gas: 344650)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintCorrectTierWithAnotherCurrency() (gas: 1574686)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintCorrectTiersWhenPartiallyUsingPayCredits() (gas: 553961)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintNoneIfNonePassed(uint8) (runs: 256, μ: 126870, ~: 130887)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintTierAndTrackLeftover() (gas: 190328)
Test_afterPayRecorded_Unit:test_afterPayRecorded_mintWithExistingCreditsWhenMoreExistingCreditsThanNewCredits() (gas: 439389)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfAllowanceRunsOutInSpecifiedTier() (gas: 9359196)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfAmountTooLow() (gas: 150759)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfCallerIsNotATerminalOfProjectId(address) (runs: 256, μ: 25585, ~: 25585)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfTierDoesNotExist(uint256) (runs: 256, μ: 177275, ~: 177754)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfTierRemoved() (gas: 170846)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfUnexpectedLeftover() (gas: 64790)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertIfUnexpectedLeftoverAndOverspendingPrevented(bool) (runs: 256, μ: 65853, ~: 53252)
Test_afterPayRecorded_Unit:test_afterPayRecorded_revertsOnAmountBelowPriceIfNoMetadataAndOverspendingIsPrevented() (gas: 1325309)
Test_afterPayRecorded_Unit:test_transferFrom_pauseFlagOverridesRuleset() (gas: 1603935)
Test_afterPayRecorded_Unit:test_transferFrom_revertTransferIfPausedInRuleset() (gas: 1568089)
Test_cashOut_Unit:test_afterCashOutRecordedWith_burnCashOutNft(uint256) (runs: 256, μ: 13781545, ~: 13639188)
Test_cashOut_Unit:test_afterCashOutRecordedWith_revertIfCallerIsNotATerminalOfTheProject() (gas: 27783)
Test_cashOut_Unit:test_afterCashOutRecordedWith_revertIfNotCorrectProjectId(uint8) (runs: 256, μ: 28421, ~: 28421)
Test_cashOut_Unit:test_afterCashOutRecordedWith_revertIfWrongHolder(address,uint8) (runs: 256, μ: 9677720, ~: 9677720)
Test_cashOut_Unit:test_beforeCashOutContext_returnsCorrectAmount() (gas: 10828929)
Test_cashOut_Unit:test_beforeCashOutContext_returnsPartOfOverflowOwnedIfCashOutTaxRateIsMaximum() (gas: 10830525)
Test_cashOut_Unit:test_beforeCashOutContext_returnsZeroAmountIfReserveFrequencyIsZero() (gas: 10812126)
Test_cashOut_Unit:test_beforeCashOutContext_revertIfNonZeroTokenCount(uint256) (runs: 256, μ: 19456, ~: 19456)
Test_mintFor_mintReservesFor_Unit:test_mintFor_mintArrayOfTiers() (gas: 10129100)
Test_mintFor_mintReservesFor_Unit:test_mintFor_revertIfManualMintNotAllowed() (gas: 10585321)
Test_mintFor_mintReservesFor_Unit:test_mintPendingReservesFor_mintMultipleReservedTokens() (gas: 9977856)
Test_mintFor_mintReservesFor_Unit:test_mintPendingReservesFor_mintOddReservedTokens() (gas: 10344857)
Test_mintFor_mintReservesFor_Unit:test_mintPendingReservesFor_mintsCorrectly() (gas: 9984341)
Test_mintFor_mintReservesFor_Unit:test_mintPendingReservesFor_revertIfNotEnoughPendingReserves() (gas: 11010767)
Test_mintFor_mintReservesFor_Unit:test_mintPendingReservesFor_revertIfReservedMintingIsPausedInRuleset() (gas: 9954862)
Test_mintFor_mintReservesFor_Unit:test_numberOfPendingReservesFor_noReservesIfNoBeneficiarySet() (gas: 10812175)
TierLifecycleInvariant_Local:invariant_721_1_perTierSupplyAccounting() (runs: 256, calls: 128000, reverts: 0)
TierLifecycleInvariant_Local:invariant_721_2_totalCashOutWeightConsistency() (runs: 256, calls: 128000, reverts: 0)
TierLifecycleInvariant_Local:invariant_721_3_payCreditsNonNegative() (runs: 256, calls: 128000, reverts: 0)
TierLifecycleInvariant_Local:invariant_721_4_reserveMintsBounded() (runs: 256, calls: 128000, reverts: 0)
TierLifecycleInvariant_Local:invariant_721_5_removedTiersExcluded() (runs: 256, calls: 128000, reverts: 0)
TierLifecycleInvariant_Local:invariant_721_6_cashOutWeightBoundedByPrice() (runs: 256, calls: 128000, reverts: 0)