From a7de5ce938bf43e3cfc04199012753e693543908 Mon Sep 17 00:00:00 2001 From: Vectorized Date: Mon, 18 Mar 2024 20:55:54 +0000 Subject: [PATCH] Add 0.8.25 to ci --- .gas-snapshot | 82 ++++++++++++++--------------- .github/workflows/ci-all-via-ir.yml | 1 + .github/workflows/ci.yml | 10 ++-- foundry.toml | 4 +- 4 files changed, 49 insertions(+), 48 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 3a58cfe..0ab2e58 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -67,19 +67,19 @@ BenchTest:testMintPandora_13() (gas: 967960) BenchTest:testMintPandora_14() (gas: 1037484) BenchTest:testMintPandora_15() (gas: 1106967) BenchTest:testMintPandora_16() (gas: 1176473) -BenchTest:test__codesize() (gas: 27267) +BenchTest:test__codesize() (gas: 26854) DN404CustomUnitTest:testInitializeCorrectUnitSuccess() (gas: 129992) DN404CustomUnitTest:testInitializeWithUnitTooLargeReverts() (gas: 33824) DN404CustomUnitTest:testInitializeWithZeroUnitReverts() (gas: 13897) DN404CustomUnitTest:testMint() (gas: 162953) -DN404CustomUnitTest:testMintWithoutNFTs(uint256,uint256,uint256) (runs: 256, μ: 154993, ~: 163078) +DN404CustomUnitTest:testMintWithoutNFTs(uint256,uint256,uint256) (runs: 256, μ: 156548, ~: 163104) DN404CustomUnitTest:testNFTMint() (gas: 57526709) -DN404CustomUnitTest:testNFTMintAndBurn(uint256,uint256,uint256) (runs: 256, μ: 206950, ~: 161963) -DN404CustomUnitTest:testNFTMintViaTransfer(uint256,uint256,uint256) (runs: 256, μ: 216750, ~: 241690) -DN404CustomUnitTest:testTotalSupplyOverflowsTrick(uint256,uint256) (runs: 256, μ: 632, ~: 692) +DN404CustomUnitTest:testNFTMintAndBurn(uint256,uint256,uint256) (runs: 256, μ: 201080, ~: 161963) +DN404CustomUnitTest:testNFTMintViaTransfer(uint256,uint256,uint256) (runs: 256, μ: 212733, ~: 238616) +DN404CustomUnitTest:testTotalSupplyOverflowsTrick(uint256,uint256) (runs: 256, μ: 638, ~: 692) DN404CustomUnitTest:testTotalSupplyOverflowsTrick(uint256,uint256,uint256) (runs: 256, μ: 781, ~: 746) DN404CustomUnitTest:testUnitInvalidCheckTrick(uint256) (runs: 256, μ: 548, ~: 550) -DN404CustomUnitTest:test__codesize() (gas: 28194) +DN404CustomUnitTest:test__codesize() (gas: 28185) DN404MirrorTest:testBaseERC20() (gas: 114608) DN404MirrorTest:testFnSelectorNotRecognized() (gas: 7032) DN404MirrorTest:testLinkMirrorContract() (gas: 45864) @@ -89,19 +89,19 @@ DN404MirrorTest:testNameAndSymbol(string,string) (runs: 256, μ: 207776, ~: 2081 DN404MirrorTest:testNotLinked() (gas: 12767) DN404MirrorTest:testPullOwner() (gas: 112643) DN404MirrorTest:testPullOwnerWithOwnable() (gas: 3249026) -DN404MirrorTest:testSafeTransferFrom(uint32) (runs: 256, μ: 467674, ~: 467674) +DN404MirrorTest:testSafeTransferFrom(uint32) (runs: 256, μ: 467681, ~: 467674) DN404MirrorTest:testSetAndGetApprovalForAll() (gas: 325499) DN404MirrorTest:testSetAndGetApproved() (gas: 322233) DN404MirrorTest:testSupportsInterface() (gas: 7544) DN404MirrorTest:testTokenURI(string,uint256) (runs: 256, μ: 158083, ~: 135821) -DN404MirrorTest:testTransferFrom(uint32) (runs: 256, μ: 370845, ~: 370838) -DN404MirrorTest:testTransferFromMixed(uint256) (runs: 256, μ: 682233, ~: 636511) -DN404MirrorTest:test__codesize() (gas: 57752) +DN404MirrorTest:testTransferFrom(uint32) (runs: 256, μ: 370847, ~: 370838) +DN404MirrorTest:testTransferFromMixed(uint256) (runs: 256, μ: 669920, ~: 593863) +DN404MirrorTest:test__codesize() (gas: 56921) DN404OnlyERC20Test:testApprove() (gas: 35803) DN404OnlyERC20Test:testApprove(address,uint256) (runs: 256, μ: 30110, ~: 31354) DN404OnlyERC20Test:testBurn() (gas: 52009) -DN404OnlyERC20Test:testBurn(address,uint256,uint256) (runs: 256, μ: 53085, ~: 53210) -DN404OnlyERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 46326, ~: 46367) +DN404OnlyERC20Test:testBurn(address,uint256,uint256) (runs: 256, μ: 53072, ~: 53210) +DN404OnlyERC20Test:testBurnInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 46248, ~: 46312) DN404OnlyERC20Test:testInfiniteApproveTransferFrom() (gas: 104918) DN404OnlyERC20Test:testMaxSupplyTrick(uint256) (runs: 256, μ: 541, ~: 541) DN404OnlyERC20Test:testMetadata() (gas: 10044) @@ -109,66 +109,66 @@ DN404OnlyERC20Test:testMint() (gas: 47577) DN404OnlyERC20Test:testMintOverMaxLimitReverts() (gas: 43571) DN404OnlyERC20Test:testMintz(address,uint256) (runs: 256, μ: 47986, ~: 47999) DN404OnlyERC20Test:testTransfer() (gas: 77636) -DN404OnlyERC20Test:testTransfer(address,uint256) (runs: 256, μ: 77998, ~: 78093) +DN404OnlyERC20Test:testTransfer(address,uint256) (runs: 256, μ: 77973, ~: 78093) DN404OnlyERC20Test:testTransferFrom() (gas: 87376) -DN404OnlyERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 256, μ: 108214, ~: 110345) +DN404OnlyERC20Test:testTransferFrom(address,address,address,uint256,uint256) (runs: 256, μ: 108327, ~: 110345) DN404OnlyERC20Test:testTransferFromInsufficientAllowanceReverts() (gas: 70282) -DN404OnlyERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 256, μ: 70805, ~: 71387) +DN404OnlyERC20Test:testTransferFromInsufficientAllowanceReverts(address,uint256,uint256) (runs: 256, μ: 70820, ~: 71447) DN404OnlyERC20Test:testTransferFromInsufficientBalanceReverts() (gas: 77235) -DN404OnlyERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 78289, ~: 78356) +DN404OnlyERC20Test:testTransferFromInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 78307, ~: 78365) DN404OnlyERC20Test:testTransferInsufficientBalanceReverts() (gas: 68734) -DN404OnlyERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 69760, ~: 69830) -DN404OnlyERC20Test:test__codesize() (gas: 30898) +DN404OnlyERC20Test:testTransferInsufficientBalanceReverts(address,uint256,uint256) (runs: 256, μ: 69774, ~: 69825) +DN404OnlyERC20Test:test__codesize() (gas: 30292) DN404Test:testBatchNFTLog() (gas: 291920) DN404Test:testBurnOnTransfer(uint32,address) (runs: 256, μ: 270255, ~: 270255) DN404Test:testFnSelectorNotRecognized() (gas: 6974) -DN404Test:testInitialize(uint32,address) (runs: 256, μ: 112530, ~: 116323) +DN404Test:testInitialize(uint32,address) (runs: 256, μ: 113152, ~: 116323) DN404Test:testMintAndBurn() (gas: 328900) DN404Test:testMintAndBurn2() (gas: 275650) DN404Test:testMintNext() (gas: 628126) -DN404Test:testMintNextMixed(uint256) (runs: 256, μ: 650204, ~: 562455) +DN404Test:testMintNextMixed(uint256) (runs: 256, μ: 627650, ~: 559205) DN404Test:testMintOnTransfer(uint32,address) (runs: 256, μ: 287689, ~: 287689) -DN404Test:testMixed(uint256) (runs: 256, μ: 771353, ~: 617951) +DN404Test:testMixed(uint256) (runs: 256, μ: 831507, ~: 631986) DN404Test:testNameAndSymbol(string,string) (runs: 256, μ: 207494, ~: 207835) DN404Test:testNumAliasesOverflowReverts() (gas: 57369) DN404Test:testOwnedIds() (gas: 350659) -DN404Test:testOwnedIds(uint256) (runs: 256, μ: 269201, ~: 279560) +DN404Test:testOwnedIds(uint256) (runs: 256, μ: 270568, ~: 279663) DN404Test:testPermit2() (gas: 438374) -DN404Test:testRegisterAndResolveAlias(address,address) (runs: 256, μ: 126511, ~: 126677) +DN404Test:testRegisterAndResolveAlias(address,address) (runs: 256, μ: 126579, ~: 126677) DN404Test:testSetAndGetAux(address,uint88) (runs: 256, μ: 22073, ~: 22344) DN404Test:testSetAndGetOperatorApprovals(address,address,bool) (runs: 256, μ: 129281, ~: 120342) DN404Test:testSetAndGetSkipNFT() (gas: 719817) DN404Test:testTokenURI(string,uint256) (runs: 256, μ: 157949, ~: 135687) DN404Test:testTransfersAndBurns() (gas: 462483) -DN404Test:testWrapAround(uint32,uint256) (runs: 256, μ: 351773, ~: 347469) -DN404Test:test__codesize() (gas: 57566) +DN404Test:testWrapAround(uint32,uint256) (runs: 256, μ: 351665, ~: 347435) +DN404Test:test__codesize() (gas: 55888) MappingsTest:testAddressPairMapSetAndGet(address[2],address[2],uint256,uint256) (runs: 256, μ: 45731, ~: 47053) -MappingsTest:testBitmapSetAndGet(uint256) (runs: 256, μ: 456631, ~: 405311) -MappingsTest:testBitmapSetAndGet(uint256,uint256,bool,bool) (runs: 256, μ: 25735, ~: 26337) +MappingsTest:testBitmapSetAndGet(uint256) (runs: 256, μ: 448253, ~: 406079) +MappingsTest:testBitmapSetAndGet(uint256,uint256,bool,bool) (runs: 256, μ: 25726, ~: 26337) MappingsTest:testFindFirstUnset() (gas: 80100) -MappingsTest:testFindFirstUnset(uint256) (runs: 256, μ: 344977, ~: 222293) +MappingsTest:testFindFirstUnset(uint256) (runs: 256, μ: 309525, ~: 222129) MappingsTest:testRestrictNFTId(uint256) (runs: 256, μ: 340, ~: 340) -MappingsTest:testSetOwnerAliasAndOwnedIndex(uint256,uint32,uint32) (runs: 256, μ: 23402, ~: 23516) -MappingsTest:testStorageSlotsNoCollision(uint256,uint256,uint256,uint256) (runs: 256, μ: 26808, ~: 26689) -MappingsTest:testUint32MapSetAndGet(uint256) (runs: 256, μ: 1359750, ~: 1445637) -MappingsTest:testUint32MapSetAndGet(uint256,uint256,uint32,uint32) (runs: 256, μ: 42856, ~: 46293) -MappingsTest:testWrapNFTIdWithOverflowCheck(uint256,uint256,uint256) (runs: 256, μ: 825, ~: 852) +MappingsTest:testSetOwnerAliasAndOwnedIndex(uint256,uint32,uint32) (runs: 256, μ: 23247, ~: 23516) +MappingsTest:testStorageSlotsNoCollision(uint256,uint256,uint256,uint256) (runs: 256, μ: 26827, ~: 26688) +MappingsTest:testUint32MapSetAndGet(uint256) (runs: 256, μ: 1372635, ~: 1526111) +MappingsTest:testUint32MapSetAndGet(uint256,uint256,uint32,uint32) (runs: 256, μ: 42310, ~: 46244) +MappingsTest:testWrapNFTIdWithOverflowCheck(uint256,uint256,uint256) (runs: 256, μ: 823, ~: 852) MappingsTest:test__codesize() (gas: 7973) -MintTests:test_WhenAmountIsGreaterThan_MAX_SUPPLYOrMintMakesNFTTotalSupplyExceed_MAX_SUPPLY(uint256) (runs: 256, μ: 64558, ~: 64721) -MintTests:test_WhenRecipientAddressHasSkipNFTEnabled(uint256) (runs: 256, μ: 85957, ~: 85956) -MintTests:test_WhenRecipientIsAddress0(uint256) (runs: 256, μ: 31103, ~: 31161) -MintTests:test_WhenRecipientsBalanceDifferenceIsNotUpTo1e18(uint256) (runs: 256, μ: 82919, ~: 82995) -MintTests:test_WhenRecipientsBalanceDifferenceIsUpTo1e18OrAbove(uint256) (runs: 256, μ: 89397, ~: 89513) -MintTests:test__codesize() (gas: 26550) +MintTests:test_WhenAmountIsGreaterThan_MAX_SUPPLYOrMintMakesNFTTotalSupplyExceed_MAX_SUPPLY(uint256) (runs: 256, μ: 64545, ~: 64720) +MintTests:test_WhenRecipientAddressHasSkipNFTEnabled(uint256) (runs: 256, μ: 85962, ~: 85956) +MintTests:test_WhenRecipientIsAddress0(uint256) (runs: 256, μ: 31102, ~: 31161) +MintTests:test_WhenRecipientsBalanceDifferenceIsNotUpTo1e18(uint256) (runs: 256, μ: 82940, ~: 82996) +MintTests:test_WhenRecipientsBalanceDifferenceIsUpTo1e18OrAbove(uint256) (runs: 256, μ: 89427, ~: 89513) +MintTests:test__codesize() (gas: 26541) NFTMintDN404Test:testAllowlistMint() (gas: 257485) NFTMintDN404Test:testMint() (gas: 231816) NFTMintDN404Test:testTotalSupplyReached() (gas: 629746900) -NFTMintDN404Test:test__codesize() (gas: 26835) +NFTMintDN404Test:test__codesize() (gas: 26536) SimpleDN404Test:testMint() (gas: 47592) SimpleDN404Test:testName() (gas: 9674) SimpleDN404Test:testSetBaseURI() (gas: 47011) SimpleDN404Test:testSymbol() (gas: 9672) SimpleDN404Test:testWithdraw() (gas: 18277) -SimpleDN404Test:test__codesize() (gas: 20487) +SimpleDN404Test:test__codesize() (gas: 20255) SoladyTest:test__codesize() (gas: 1102) TestPlus:test__codesize() (gas: 406) \ No newline at end of file diff --git a/.github/workflows/ci-all-via-ir.yml b/.github/workflows/ci-all-via-ir.yml index 0476303..daedc63 100644 --- a/.github/workflows/ci-all-via-ir.yml +++ b/.github/workflows/ci-all-via-ir.yml @@ -46,6 +46,7 @@ jobs: forge test --use 0.8.17 --via-ir ) || ( [ "${{ matrix.profile }}" = "via-ir-3" ] && + forge test --use 0.8.25 --via-ir && forge test --use 0.8.24 --via-ir && forge test --use 0.8.23 --via-ir && forge test --use 0.8.22 --via-ir && diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 40b2315..336499c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - profile: [post-shanghai,post-shanghai-via-ir,solc-past-versions-0,solc-past-versions-1,via-ir,min-solc,min-solc-via-ir,intense] + profile: [post-cancun,post-cancun-via-ir,solc-past-versions-0,solc-past-versions-1,via-ir,min-solc,min-solc-via-ir,intense] steps: - uses: actions/checkout@v4 @@ -28,11 +28,11 @@ jobs: - name: Run Tests with ${{ matrix.profile }} run: > - ( [ "${{ matrix.profile }}" = "post-shanghai" ] && - forge test --use 0.8.24 --evm-version "shanghai" + ( [ "${{ matrix.profile }}" = "post-cancun" ] && + forge test --use 0.8.25 --evm-version "cancun" ) || - ( [ "${{ matrix.profile }}" = "post-shanghai-via-ir" ] && - forge test --use 0.8.24 --evm-version "shanghai" --via-ir + ( [ "${{ matrix.profile }}" = "post-cancun-via-ir" ] && + forge test --use 0.8.25 --evm-version "cancun" --via-ir ) || ( [ "${{ matrix.profile }}" = "solc-past-versions-0" ] && forge test --use 0.8.5 --fuzz-runs 16 && diff --git a/foundry.toml b/foundry.toml index b0f670c..41c916a 100644 --- a/foundry.toml +++ b/foundry.toml @@ -4,8 +4,8 @@ # The Default Profile [profile.default] -solc_version = "0.8.24" -evm_version = "paris" # Shanghai will be tested in the CI. +solc_version = "0.8.25" +evm_version = "paris" # Cancun will be tested in the CI. auto_detect_solc = false optimizer = true optimizer_runs = 1_000