Repository: pcaversaccio/snekmate (language: python)

Issue:
🔁 Upgrade to Solidity Version `0.8.18`
The new Solidity release `0.8.18` should be released this or next week (see [here](https://forum.soliditylang.org/t/feature-preview-user-defined-operators/1435)).


Discussion / hints:
https://github.com/ethereum/solidity/releases/tag/v0.8.18

Fix patch:
diff --git a/.gas-snapshot b/.gas-snapshot
index e134818a..a7bc52e5 100644
--- a/.gas-snapshot
+++ b/.gas-snapshot
@@ -1,148 +1,195 @@
-AccessControlTest:testGrantRoleAdminRoleSuccess() (gas: 43721)
-AccessControlTest:testGrantRoleMultipleTimesSuccess() (gas: 49245)
-AccessControlTest:testGrantRoleNonAdmin() (gas: 13732)
-AccessControlTest:testGrantRoleSuccess() (gas: 43852)
-AccessControlTest:testInitialSetup() (gas: 25522)
-AccessControlTest:testRenounceRoleAdminRoleSuccess() (gas: 20458)
-AccessControlTest:testRenounceRoleMultipleTimesSuccess() (gas: 45148)
-AccessControlTest:testRenounceRoleNonMsgSender() (gas: 9383)
-AccessControlTest:testRenounceRoleSuccess() (gas: 41411)
-AccessControlTest:testRevokeRoleAdminRoleSuccess() (gas: 24648)
-AccessControlTest:testRevokeRoleMultipleTimesSuccess() (gas: 41185)
-AccessControlTest:testRevokeRoleNonAdmin() (gas: 13788)
-AccessControlTest:testRevokeRoleSuccess() (gas: 39976)
-AccessControlTest:testSetRoleAdminPreviousAdminCallsGrantRole() (gas: 75958)
-AccessControlTest:testSetRoleAdminPreviousAdminCallsRevokeRole() (gas: 101559)
-AccessControlTest:testSetRoleAdminSuccess() (gas: 90393)
-AccessControlTest:testSupportsInterfaceGasCost() (gas: 5636)
-AccessControlTest:testSupportsInterfaceInvalidInterfaceId() (gas: 5502)
-AccessControlTest:testSupportsInterfaceSuccess() (gas: 6232)
-OwnableTest:testHasOwner() (gas: 9682)
-OwnableTest:testInitialSetup() (gas: 9697)
-OwnableTest:testRenounceOwnershipNonOwner() (gas: 10715)
-OwnableTest:testRenounceOwnershipSuccess() (gas: 15508)
-OwnableTest:testTransferOwnershipNonOwner() (gas: 11255)
-OwnableTest:testTransferOwnershipSuccess() (gas: 20757)
-OwnableTest:testTransferOwnershipToZeroAddress() (gas: 13338)
-Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 43408)
-Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 36812)
-Ownable2StepTest:testHasOwner() (gas: 9683)
-Ownable2StepTest:testInitialSetup() (gas: 12654)
-Ownable2StepTest:testPendingOwnerResetAfterRenounceOwnership() (gas: 36363)
-Ownable2StepTest:testRenounceOwnershipNonOwner() (gas: 10949)
-Ownable2StepTest:testRenounceOwnershipSuccess() (gas: 17815)
-Ownable2StepTest:testTransferOwnershipNonOwner() (gas: 11321)
-Ownable2StepTest:testTransferOwnershipSuccess() (gas: 41735)
-ERC1155Test:testBalanceOfBatchCase1() (gas: 267981)
-ERC1155Test:testBalanceOfBatchCase2() (gas: 222553)
-ERC1155Test:testBalanceOfBatchCase3() (gas: 35825)
-ERC1155Test:testBalanceOfBatchLengthsMismatch() (gas: 19627)
-ERC1155Test:testBalanceOfBatchZeroAddress() (gas: 14622)
+AccessControlTest:testGrantRoleAdminRoleSuccess() (gas: 43677)
+AccessControlTest:testGrantRoleMultipleTimesSuccess() (gas: 49290)
+AccessControlTest:testGrantRoleNonAdmin() (gas: 13799)
+AccessControlTest:testGrantRoleSuccess() (gas: 43874)
+AccessControlTest:testInitialSetup() (gas: 25567)
+AccessControlTest:testRenounceRoleAdminRoleSuccess() (gas: 20436)
+AccessControlTest:testRenounceRoleMultipleTimesSuccess() (gas: 45112)
+AccessControlTest:testRenounceRoleNonMsgSender() (gas: 9450)
+AccessControlTest:testRenounceRoleSuccess() (gas: 41393)
+AccessControlTest:testRevokeRoleAdminRoleSuccess() (gas: 24738)
+AccessControlTest:testRevokeRoleMultipleTimesSuccess() (gas: 41150)
+AccessControlTest:testRevokeRoleNonAdmin() (gas: 13877)
+AccessControlTest:testRevokeRoleSuccess() (gas: 39941)
+AccessControlTest:testSetRoleAdminPreviousAdminCallsGrantRole() (gas: 76092)
+AccessControlTest:testSetRoleAdminPreviousAdminCallsRevokeRole() (gas: 101626)
+AccessControlTest:testSetRoleAdminSuccess() (gas: 90438)
+AccessControlTest:testSupportsInterfaceGasCost() (gas: 5614)
+AccessControlTest:testSupportsInterfaceInvalidInterfaceId() (gas: 5458)
+AccessControlTest:testSupportsInterfaceSuccess() (gas: 6277)
+Base64Test:testDataLengthMismatch() (gas: 12503)
+Base64Test:testDecodeEmptyString() (gas: 7978)
+Base64Test:testDecodeSafeUrl() (gas: 321150)
+Base64Test:testDecodeSentence() (gas: 814472)
+Base64Test:testDecodeSingleCharacter() (gas: 153715)
+Base64Test:testDecodeWithDoublePadding() (gas: 226418)
+Base64Test:testDecodeWithNoPadding() (gas: 179634)
+Base64Test:testDecodeWithSinglePadding() (gas: 189896)
+Base64Test:testEncodeEmptyString() (gas: 9139)
+Base64Test:testEncodeSafeUrl() (gas: 83808)
+Base64Test:testEncodeSentence() (gas: 111712)
+Base64Test:testEncodeSingleCharacter() (gas: 65928)
+Base64Test:testEncodeWithDoublePadding() (gas: 71661)
+Base64Test:testEncodeWithNoPadding() (gas: 70314)
+Base64Test:testEncodeWithSinglePadding() (gas: 71764)
+BatchDistributorTest:testDistributeEtherMultipleAddressesSuccess() (gas: 146006)
+BatchDistributorTest:testDistributeEtherOneAddressSuccess() (gas: 74891)
+BatchDistributorTest:testDistributeEtherRevertWithInsufficientFunds() (gas: 76840)
+BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForMsgSender() (gas: 152614)
+BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForReceipt() (gas: 49086)
+BatchDistributorTest:testDistributeEtherSendsBackExcessiveEther() (gas: 179606)
+BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 758662)
+BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 723728)
+BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 713145)
+BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 715743)
+Create2AddressTest:testComputeAddress() (gas: 701572)
+Create2AddressTest:testComputeAddressSelf() (gas: 35725)
+CreateAddressTest:testComputeAddressNonce0x00() (gas: 14781)
+CreateAddressTest:testComputeAddressNonce0x7f() (gas: 680592)
+CreateAddressTest:testComputeAddressNonceUint16() (gas: 680689)
+CreateAddressTest:testComputeAddressNonceUint24() (gas: 680762)
+CreateAddressTest:testComputeAddressNonceUint32() (gas: 680789)
+CreateAddressTest:testComputeAddressNonceUint40() (gas: 680840)
+CreateAddressTest:testComputeAddressNonceUint48() (gas: 680868)
+CreateAddressTest:testComputeAddressNonceUint56() (gas: 680852)
+CreateAddressTest:testComputeAddressNonceUint64() (gas: 680966)
+CreateAddressTest:testComputeAddressNonceUint8() (gas: 680707)
+CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 9302)
+CreateAddressTest:testComputeAddressSelfNonce0x7f() (gas: 12866)
+CreateAddressTest:testComputeAddressSelfNonceUint16() (gas: 13065)
+CreateAddressTest:testComputeAddressSelfNonceUint24() (gas: 13094)
+CreateAddressTest:testComputeAddressSelfNonceUint32() (gas: 13146)
+CreateAddressTest:testComputeAddressSelfNonceUint40() (gas: 13219)
+CreateAddressTest:testComputeAddressSelfNonceUint48() (gas: 13269)
+CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 13262)
+CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 13376)
+CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 12999)
+CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 9146)
+ECDSATest:testEthSignedMessageHash() (gas: 5846)
+ECDSATest:testRecoverWith0x00Value() (gas: 14015)
+ECDSATest:testRecoverWithArbitraryMessage() (gas: 19392)
+ECDSATest:testRecoverWithCorrectVersion() (gas: 20118)
+ECDSATest:testRecoverWithInvalidSignature() (gas: 13600)
+ECDSATest:testRecoverWithTooHighSValue() (gas: 11777)
+ECDSATest:testRecoverWithTooLongSignature() (gas: 9881)
+ECDSATest:testRecoverWithTooShortSignature() (gas: 9651)
+ECDSATest:testRecoverWithValidSignature() (gas: 19386)
+ECDSATest:testRecoverWithWrongMessage() (gas: 19426)
+ECDSATest:testRecoverWithWrongVersion() (gas: 13998)
+ECDSATest:testToTypedDataHash() (gas: 5949)
+EIP712DomainSeparatorTest:testCachedDomainSeparatorV4() (gas: 7554)
+EIP712DomainSeparatorTest:testDomainSeparatorV4() (gas: 9279)
+EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 10922)
+ERC1155Test:testBalanceOfBatchCase1() (gas: 268040)
+ERC1155Test:testBalanceOfBatchCase2() (gas: 222611)
+ERC1155Test:testBalanceOfBatchCase3() (gas: 35861)
+ERC1155Test:testBalanceOfBatchLengthsMismatch() (gas: 19699)
+ERC1155Test:testBalanceOfBatchZeroAddress() (gas: 14614)
 ERC1155Test:testBalanceOfCase1() (gas: 137780)
 ERC1155Test:testBalanceOfCase2() (gas: 17784)
-ERC1155Test:testBalanceOfZeroAddress() (gas: 9031)
-ERC1155Test:testBurnAmountExceedsBalance() (gas: 120811)
-ERC1155Test:testBurnBatch() (gas: 213026)
-ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 195973)
-ERC1155Test:testBurnBatchByApprovedOperator() (gas: 246458)
-ERC1155Test:testBurnBatchByNotApprovedOperator() (gas: 29697)
-ERC1155Test:testBurnBatchFromZeroAddress() (gas: 24166)
-ERC1155Test:testBurnBatchLengthsMismatch() (gas: 40932)
-ERC1155Test:testBurnBatchNonExistentTokenIds() (gas: 27409)
+ERC1155Test:testBalanceOfZeroAddress() (gas: 9053)
+ERC1155Test:testBurnAmountExceedsBalance() (gas: 120789)
+ERC1155Test:testBurnBatch() (gas: 213062)
+ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 195956)
+ERC1155Test:testBurnBatchByApprovedOperator() (gas: 246476)
+ERC1155Test:testBurnBatchByNotApprovedOperator() (gas: 29675)
+ERC1155Test:testBurnBatchFromZeroAddress() (gas: 24122)
+ERC1155Test:testBurnBatchLengthsMismatch() (gas: 40933)
+ERC1155Test:testBurnBatchNonExistentTokenIds() (gas: 27387)
 ERC1155Test:testBurnByApprovedOperator() (gas: 185021)
 ERC1155Test:testBurnByNotApprovedOperator() (gas: 140695)
-ERC1155Test:testBurnFromZeroAddress() (gas: 15398)
-ERC1155Test:testBurnNonExistentTokenId() (gas: 19485)
+ERC1155Test:testBurnFromZeroAddress() (gas: 15420)
+ERC1155Test:testBurnNonExistentTokenId() (gas: 19463)
 ERC1155Test:testBurnSuccess() (gas: 129748)
-ERC1155Test:testExistsAfterBatchBurn() (gas: 131679)
-ERC1155Test:testExistsAfterBatchMint() (gas: 142778)
-ERC1155Test:testExistsAfterSingleBurn() (gas: 127473)
+ERC1155Test:testExistsAfterBatchBurn() (gas: 131697)
+ERC1155Test:testExistsAfterBatchMint() (gas: 142756)
+ERC1155Test:testExistsAfterSingleBurn() (gas: 127451)
 ERC1155Test:testExistsAfterSingleMint() (gas: 111557)
-ERC1155Test:testExistsBeforeMint() (gas: 7769)
-ERC1155Test:testHasOwner() (gas: 10097)
-ERC1155Test:testInitialSetup() (gas: 25537)
-ERC1155Test:testRenounceOwnershipNonOwner() (gas: 11238)
-ERC1155Test:testRenounceOwnershipSuccess() (gas: 21174)
-ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 334852)
+ERC1155Test:testExistsBeforeMint() (gas: 7792)
+ERC1155Test:testHasOwner() (gas: 10119)
+ERC1155Test:testInitialSetup() (gas: 25560)
+ERC1155Test:testRenounceOwnershipNonOwner() (gas: 11216)
+ERC1155Test:testRenounceOwnershipSuccess() (gas: 21196)
+ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 334875)
 ERC1155Test:testSafeBatchTransferFromByNotApprovedOperator() (gas: 257949)
-ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 294332)
+ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 294314)
 ERC1155Test:testSafeBatchTransferFromInsufficientBalance() (gas: 266018)
-ERC1155Test:testSafeBatchTransferFromLengthsMismatch() (gas: 61848)
+ERC1155Test:testSafeBatchTransferFromLengthsMismatch() (gas: 61914)
 ERC1155Test:testSafeBatchTransferFromNoData() (gas: 678314)
 ERC1155Test:testSafeBatchTransferFromReceiverFunctionNotImplemented() (gas: 280330)
-ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 656127)
+ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 656105)
 ERC1155Test:testSafeBatchTransferFromReceiverReverts() (gas: 649479)
 ERC1155Test:testSafeBatchTransferFromReceiverRevertsOnlySingle() (gas: 678334)
 ERC1155Test:testSafeBatchTransferFromToZeroAddress() (gas: 254942)
 ERC1155Test:testSafeBatchTransferFromWithData() (gas: 680128)
-ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 245289)
-ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 66856)
-ERC1155Test:testSafeMintBatchNoData() (gas: 623169)
+ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 245267)
+ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 66901)
+ERC1155Test:testSafeMintBatchNoData() (gas: 623214)
 ERC1155Test:testSafeMintBatchNonMinter() (gas: 37708)
 ERC1155Test:testSafeMintBatchOverflow() (gas: 262536)
-ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 227185)
-ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 607086)
-ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 600504)
+ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 227097)
+ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 607064)
+ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 600482)
 ERC1155Test:testSafeMintBatchReceiverRevertsOnlySingle() (gas: 623190)
-ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 39160)
-ERC1155Test:testSafeMintBatchWithData() (gas: 624127)
-ERC1155Test:testSafeMintEOAReceiver() (gas: 140095)
+ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 39116)
+ERC1155Test:testSafeMintBatchWithData() (gas: 624105)
+ERC1155Test:testSafeMintEOAReceiver() (gas: 140073)
 ERC1155Test:testSafeMintNoData() (gas: 517080)
 ERC1155Test:testSafeMintNonMinter() (gas: 30079)
-ERC1155Test:testSafeMintOverflow() (gas: 84732)
-ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 130520)
-ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 510287)
-ERC1155Test:testSafeMintReceiverReverts() (gas: 504085)
-ERC1155Test:testSafeMintToZeroAddress() (gas: 31454)
-ERC1155Test:testSafeMintWithData() (gas: 518838)
+ERC1155Test:testSafeMintOverflow() (gas: 84710)
+ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 130543)
+ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 510310)
+ERC1155Test:testSafeMintReceiverReverts() (gas: 503997)
+ERC1155Test:testSafeMintToZeroAddress() (gas: 31476)
+ERC1155Test:testSafeMintWithData() (gas: 518860)
 ERC1155Test:testSafeTransferFromByApprovedOperator() (gas: 192753)
 ERC1155Test:testSafeTransferFromByNotApprovedOperator() (gas: 141880)
-ERC1155Test:testSafeTransferFromEOAReceiver() (gas: 157736)
-ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 83295)
+ERC1155Test:testSafeTransferFromEOAReceiver() (gas: 157759)
+ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 83273)
 ERC1155Test:testSafeTransferFromNoData() (gas: 597870)
-ERC1155Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 192236)
-ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 571905)
-ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 565615)
-ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 81560)
-ERC1155Test:testSafeTransferFromWithData() (gas: 601369)
-ERC1155Test:testSetApprovalForAllRevoke() (gas: 32284)
+ERC1155Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 192192)
+ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 571928)
+ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 565638)
+ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 81516)
+ERC1155Test:testSafeTransferFromWithData() (gas: 601325)
+ERC1155Test:testSetApprovalForAllRevoke() (gas: 32267)
 ERC1155Test:testSetApprovalForAllSuccess() (gas: 45584)
 ERC1155Test:testSetApprovalForAllToSelf() (gas: 9993)
 ERC1155Test:testSetMinterNonOwner() (gas: 11687)
-ERC1155Test:testSetMinterRemoveOwnerAddress() (gas: 14191)
-ERC1155Test:testSetMinterSuccess() (gas: 33278)
-ERC1155Test:testSetMinterToZeroAddress() (gas: 13956)
-ERC1155Test:testSetUri() (gas: 69644)
+ERC1155Test:testSetMinterRemoveOwnerAddress() (gas: 14169)
+ERC1155Test:testSetMinterSuccess() (gas: 33296)
+ERC1155Test:testSetMinterToZeroAddress() (gas: 13934)
+ERC1155Test:testSetUri() (gas: 69666)
 ERC1155Test:testSetUriEmpty() (gas: 27790)
 ERC1155Test:testSetUriNonMinter() (gas: 12277)
-ERC1155Test:testSupportsInterfaceGasCost() (gas: 5571)
-ERC1155Test:testSupportsInterfaceInvalidInterfaceId() (gas: 5592)
-ERC1155Test:testSupportsInterfaceSuccess() (gas: 7062)
-ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 131961)
-ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 143045)
-ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 124549)
-ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 111775)
-ERC1155Test:testTotalSupplyBeforeMint() (gas: 7965)
-ERC1155Test:testTransferOwnershipNonOwner() (gas: 11623)
-ERC1155Test:testTransferOwnershipSuccess() (gas: 53199)
+ERC1155Test:testSupportsInterfaceGasCost() (gas: 5594)
+ERC1155Test:testSupportsInterfaceInvalidInterfaceId() (gas: 5548)
+ERC1155Test:testSupportsInterfaceSuccess() (gas: 7107)
+ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 131980)
+ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 143023)
+ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 124637)
+ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 111731)
+ERC1155Test:testTotalSupplyBeforeMint() (gas: 7943)
+ERC1155Test:testTransferOwnershipNonOwner() (gas: 11668)
+ERC1155Test:testTransferOwnershipSuccess() (gas: 53221)
 ERC1155Test:testTransferOwnershipToZeroAddress() (gas: 13818)
 ERC1155Test:testUriBaseAndTokenUriNotSet() (gas: 2993588)
-ERC1155Test:testUriBaseAndTokenUriSet() (gas: 66090)
-ERC1155Test:testUriNoBaseURI() (gas: 3042360)
-ERC1155Test:testUriNoTokenUri() (gas: 16901)
-ERC20Test:testApproveExceedingBalanceCase1() (gas: 39384)
-ERC20Test:testApproveExceedingBalanceCase2() (gas: 46096)
+ERC1155Test:testUriBaseAndTokenUriSet() (gas: 66113)
+ERC1155Test:testUriNoBaseURI() (gas: 3042383)
+ERC1155Test:testUriNoTokenUri() (gas: 16857)
+ERC20Test:testApproveExceedingBalanceCase1() (gas: 39406)
+ERC20Test:testApproveExceedingBalanceCase2() (gas: 46118)
 ERC20Test:testApproveFromZeroAddress() (gas: 9833)
 ERC20Test:testApproveSuccessCase1() (gas: 42487)
-ERC20Test:testApproveSuccessCase2() (gas: 49215)
+ERC20Test:testApproveSuccessCase2() (gas: 49237)
 ERC20Test:testApproveToZeroAddress() (gas: 14688)
-ERC20Test:testBalanceOf() (gas: 17696)
+ERC20Test:testBalanceOf() (gas: 17674)
 ERC20Test:testBurnFromExceedingBalance() (gas: 30528)
 ERC20Test:testBurnFromFromZeroAddress() (gas: 12301)
-ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 40846)
-ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 40922)
+ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 40824)
+ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 40944)
 ERC20Test:testBurnFromSuccessCase1() (gas: 38239)
-ERC20Test:testBurnFromSuccessCase2() (gas: 63862)
+ERC20Test:testBurnFromSuccessCase2() (gas: 63774)
 ERC20Test:testBurnFromUnlimitedAllowance() (gas: 48205)
 ERC20Test:testBurnFromZeroAddress() (gas: 9354)
 ERC20Test:testBurnInvalidAmount() (gas: 15013)
@@ -151,219 +198,173 @@ ERC20Test:testBurnSuccessCase2() (gas: 30170)
 ERC20Test:testCachedDomainSeparator() (gas: 7862)
 ERC20Test:testDecreaseAllowanceExceedingBalanceCase1() (gas: 46516)
 ERC20Test:testDecreaseAllowanceExceedingBalanceCase2() (gas: 33054)
-ERC20Test:testDecreaseAllowanceFromZeroAddress() (gas: 12126)
-ERC20Test:testDecreaseAllowanceInvalidAmountCase1() (gas: 14212)
+ERC20Test:testDecreaseAllowanceFromZeroAddress() (gas: 12148)
+ERC20Test:testDecreaseAllowanceInvalidAmountCase1() (gas: 14234)
 ERC20Test:testDecreaseAllowanceInvalidAmountCase2() (gas: 45853)
-ERC20Test:testDecreaseAllowanceSuccessCase1() (gas: 49717)
+ERC20Test:testDecreaseAllowanceSuccessCase1() (gas: 49739)
 ERC20Test:testDecreaseAllowanceSuccessCase2() (gas: 35519)
 ERC20Test:testDecreaseAllowanceToZeroAddress() (gas: 17002)
 ERC20Test:testDomainSeparator() (gas: 9706)
 ERC20Test:testHasOwner() (gas: 10096)
 ERC20Test:testIncreaseAllowanceExceedingBalanceCase1() (gas: 39590)
-ERC20Test:testIncreaseAllowanceExceedingBalanceCase2() (gas: 46496)
+ERC20Test:testIncreaseAllowanceExceedingBalanceCase2() (gas: 46474)
 ERC20Test:testIncreaseAllowanceFromZeroAddress() (gas: 12137)
 ERC20Test:testIncreaseAllowanceSuccessCase1() (gas: 42759)
 ERC20Test:testIncreaseAllowanceSuccessCase2() (gas: 49657)
-ERC20Test:testIncreaseAllowanceToZeroAddress() (gas: 17081)
+ERC20Test:testIncreaseAllowanceToZeroAddress() (gas: 17103)
 ERC20Test:testInitialSetup() (gas: 27031)
 ERC20Test:testMintNonMinter() (gas: 11611)
-ERC20Test:testMintOverflow() (gas: 15915)
+ERC20Test:testMintOverflow() (gas: 15937)
 ERC20Test:testMintSuccess() (gas: 49076)
 ERC20Test:testMintToZeroAddress() (gas: 13709)
 ERC20Test:testPermitBadChainId() (gas: 40065)
 ERC20Test:testPermitBadNonce() (gas: 39029)
-ERC20Test:testPermitExpiredDeadline() (gas: 15885)
+ERC20Test:testPermitExpiredDeadline() (gas: 15907)
 ERC20Test:testPermitOtherSignature() (gas: 40311)
 ERC20Test:testPermitReplaySignature() (gas: 72425)
-ERC20Test:testPermitSuccess() (gas: 68616)
-ERC20Test:testRenounceOwnershipNonOwner() (gas: 11125)
-ERC20Test:testRenounceOwnershipSuccess() (gas: 21194)
-ERC20Test:testSetMinterNonOwner() (gas: 11536)
-ERC20Test:testSetMinterRemoveOwnerAddress() (gas: 13951)
+ERC20Test:testPermitSuccess() (gas: 68638)
+ERC20Test:testRenounceOwnershipNonOwner() (gas: 11147)
+ERC20Test:testRenounceOwnershipSuccess() (gas: 21107)
+ERC20Test:testSetMinterNonOwner() (gas: 11558)
+ERC20Test:testSetMinterRemoveOwnerAddress() (gas: 13973)
 ERC20Test:testSetMinterSuccess() (gas: 33067)
-ERC20Test:testSetMinterToZeroAddress() (gas: 13762)
-ERC20Test:testTotalSupply() (gas: 9296)
+ERC20Test:testSetMinterToZeroAddress() (gas: 13784)
+ERC20Test:testTotalSupply() (gas: 9318)
 ERC20Test:testTransferFromExceedingBalance() (gas: 30884)
 ERC20Test:testTransferFromFromZeroAddress() (gas: 14405)
-ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 41278)
+ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 41300)
 ERC20Test:testTransferFromInsufficientAllowanceCase2() (gas: 41330)
 ERC20Test:testTransferFromSuccess() (gas: 60106)
 ERC20Test:testTransferFromToZeroAddress() (gas: 30332)
 ERC20Test:testTransferFromUnlimitedAllowance() (gas: 69632)
-ERC20Test:testTransferFromZeroAddress() (gas: 16928)
-ERC20Test:testTransferInvalidAmount() (gas: 14201)
+ERC20Test:testTransferFromZeroAddress() (gas: 16858)
+ERC20Test:testTransferInvalidAmount() (gas: 14290)
 ERC20Test:testTransferOwnershipNonOwner() (gas: 11642)
-ERC20Test:testTransferOwnershipSuccess() (gas: 53265)
+ERC20Test:testTransferOwnershipSuccess() (gas: 53287)
 ERC20Test:testTransferOwnershipToZeroAddress() (gas: 13705)
 ERC20Test:testTransferSuccess() (gas: 42042)
-ERC20Test:testTransferToZeroAddress() (gas: 14721)
+ERC20Test:testTransferToZeroAddress() (gas: 14743)
 ERC20Test:testTransferZeroTokens() (gas: 24114)
-ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 174531)
-ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 182806)
-ERC721Test:testApproveFromApprovedAddress() (gas: 196906)
-ERC721Test:testApproveFromNonOwner() (gas: 169893)
-ERC721Test:testApproveFromOperatorAddress() (gas: 221346)
+ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 174553)
+ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 182784)
+ERC721Test:testApproveFromApprovedAddress() (gas: 196928)
+ERC721Test:testApproveFromNonOwner() (gas: 169915)
+ERC721Test:testApproveFromOperatorAddress() (gas: 221368)
 ERC721Test:testApproveInvalidTokenId() (gas: 169090)
-ERC721Test:testApproveToOwner() (gas: 166772)
-ERC721Test:testApproveToZeroAddress() (gas: 182872)
-ERC721Test:testApproveWithNoPriorApproval() (gas: 194821)
-ERC721Test:testApproveWithPriorApprovalToDifferentAddress() (gas: 203137)
-ERC721Test:testApproveWithPriorApprovalToSameAddress() (gas: 202789)
-ERC721Test:testBalanceOfCase1() (gas: 327067)
-ERC721Test:testBalanceOfCase2() (gas: 10668)
-ERC721Test:testBalanceOfZeroAddress() (gas: 8936)
-ERC721Test:testBurnSuccess() (gas: 304547)
-ERC721Test:testBurnSuccessViaApproveAndSetApprovalForAll() (gas: 369931)
+ERC721Test:testApproveToOwner() (gas: 166794)
+ERC721Test:testApproveToZeroAddress() (gas: 182783)
+ERC721Test:testApproveWithNoPriorApproval() (gas: 194843)
+ERC721Test:testApproveWithPriorApprovalToDifferentAddress() (gas: 203159)
+ERC721Test:testApproveWithPriorApprovalToSameAddress() (gas: 202767)
+ERC721Test:testBalanceOfCase1() (gas: 327089)
+ERC721Test:testBalanceOfCase2() (gas: 10690)
+ERC721Test:testBalanceOfZeroAddress() (gas: 8958)
+ERC721Test:testBurnSuccess() (gas: 304564)
+ERC721Test:testBurnSuccessViaApproveAndSetApprovalForAll() (gas: 369948)
 ERC721Test:testCachedDomainSeparator() (gas: 8044)
-ERC721Test:testDomainSeparator() (gas: 9822)
+ERC721Test:testDomainSeparator() (gas: 9844)
 ERC721Test:testGetApprovedApprovedTokenId() (gas: 192380)
-ERC721Test:testGetApprovedInvalidTokenId() (gas: 11145)
+ERC721Test:testGetApprovedInvalidTokenId() (gas: 11167)
 ERC721Test:testGetApprovedNotApprovedTokenId() (gas: 167028)
-ERC721Test:testHasOwner() (gas: 10166)
-ERC721Test:testInitialSetup() (gas: 18473)
-ERC721Test:testOwnerOf() (gas: 164741)
-ERC721Test:testOwnerOfInvalidTokenId() (gas: 11077)
+ERC721Test:testHasOwner() (gas: 10188)
+ERC721Test:testInitialSetup() (gas: 18495)
+ERC721Test:testOwnerOf() (gas: 164763)
+ERC721Test:testOwnerOfInvalidTokenId() (gas: 11099)
 ERC721Test:testPermitBadChainId() (gas: 196705)
-ERC721Test:testPermitBadNonce() (gas: 195766)
-ERC721Test:testPermitExpiredDeadline() (gas: 168733)
-ERC721Test:testPermitOtherSignature() (gas: 197089)
-ERC721Test:testPermitReplaySignature() (gas: 230556)
-ERC721Test:testPermitSuccess() (gas: 226099)
-ERC721Test:testRenounceOwnershipNonOwner() (gas: 11311)
-ERC721Test:testRenounceOwnershipSuccess() (gas: 21383)
-ERC721Test:testSafeMintNonMinter() (gas: 12264)
-ERC721Test:testSafeMintOverflow() (gas: 12487)
-ERC721Test:testSafeMintReceiverContract() (gas: 392750)
-ERC721Test:testSafeMintReceiverContractFunctionNotImplemented() (gas: 116800)
+ERC721Test:testPermitBadNonce() (gas: 195788)
+ERC721Test:testPermitExpiredDeadline() (gas: 168755)
+ERC721Test:testPermitOtherSignature() (gas: 197111)
+ERC721Test:testPermitReplaySignature() (gas: 230578)
+ERC721Test:testPermitSuccess() (gas: 226012)
+ERC721Test:testRenounceOwnershipNonOwner() (gas: 11223)
+ERC721Test:testRenounceOwnershipSuccess() (gas: 21405)
+ERC721Test:testSafeMintNonMinter() (gas: 12286)
+ERC721Test:testSafeMintOverflow() (gas: 12509)
+ERC721Test:testSafeMintReceiverContract() (gas: 392794)
+ERC721Test:testSafeMintReceiverContractFunctionNotImplemented() (gas: 116711)
 ERC721Test:testSafeMintReceiverContractInvalidReturnIdentifier() (gas: 345734)
 ERC721Test:testSafeMintReceiverContractRevertsWithMessage() (gas: 343000)
-ERC721Test:testSafeMintReceiverContractRevertsWithPanic() (gas: 343247)
-ERC721Test:testSafeMintReceiverContractRevertsWithoutMessage() (gas: 342628)
-ERC721Test:testSafeMintSuccess() (gas: 515026)
-ERC721Test:testSafeMintToZeroAddress() (gas: 36612)
+ERC721Test:testSafeMintReceiverContractRevertsWithPanic() (gas: 343269)
+ERC721Test:testSafeMintReceiverContractRevertsWithoutMessage() (gas: 342650)
+ERC721Test:testSafeMintSuccess() (gas: 515048)
+ERC721Test:testSafeMintToZeroAddress() (gas: 36634)
 ERC721Test:testSafeMintTokenAlreadyMinted() (gas: 354592)
-ERC721Test:testSafeTransferFromNoData() (gas: 1153639)
+ERC721Test:testSafeTransferFromNoData() (gas: 1153656)
 ERC721Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 181510)
-ERC721Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 410532)
+ERC721Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 410510)
 ERC721Test:testSafeTransferFromReceiverRevertsWithMessage() (gas: 407781)
 ERC721Test:testSafeTransferFromReceiverRevertsWithPanic() (gas: 408051)
-ERC721Test:testSafeTransferFromReceiverRevertsWithoutMessage() (gas: 407431)
+ERC721Test:testSafeTransferFromReceiverRevertsWithoutMessage() (gas: 407453)
 ERC721Test:testSafeTransferFromWithData() (gas: 1162949)
-ERC721Test:testSetApprovalForAllOperatorIsOwner() (gas: 166299)
+ERC721Test:testSetApprovalForAllOperatorIsOwner() (gas: 166321)
 ERC721Test:testSetApprovalForAllSuccessCase1() (gas: 193738)
-ERC721Test:testSetApprovalForAllSuccessCase2() (gas: 187509)
-ERC721Test:testSetApprovalForAllSuccessCase3() (gas: 200570)
-ERC721Test:testSetMinterNonOwner() (gas: 11759)
-ERC721Test:testSetMinterRemoveOwnerAddress() (gas: 14130)
-ERC721Test:testSetMinterSuccess() (gas: 33525)
-ERC721Test:testSetMinterToZeroAddress() (gas: 13917)
+ERC721Test:testSetApprovalForAllSuccessCase2() (gas: 187531)
+ERC721Test:testSetApprovalForAllSuccessCase3() (gas: 200592)
+ERC721Test:testSetMinterNonOwner() (gas: 11781)
+ERC721Test:testSetMinterRemoveOwnerAddress() (gas: 14152)
+ERC721Test:testSetMinterSuccess() (gas: 33543)
+ERC721Test:testSetMinterToZeroAddress() (gas: 13939)
 ERC721Test:testSupportsInterfaceGasCost() (gas: 5754)
 ERC721Test:testSupportsInterfaceInvalidInterfaceId() (gas: 5641)
-ERC721Test:testSupportsInterfaceSuccess() (gas: 9386)
-ERC721Test:testTokenByIndex() (gas: 557643)
-ERC721Test:testTokenByIndexOutOfBounds() (gas: 329537)
-ERC721Test:testTokenOfOwnerByIndex() (gas: 577369)
+ERC721Test:testSupportsInterfaceSuccess() (gas: 9408)
+ERC721Test:testTokenByIndex() (gas: 557665)
+ERC721Test:testTokenByIndexOutOfBounds() (gas: 329448)
+ERC721Test:testTokenOfOwnerByIndex() (gas: 577391)
 ERC721Test:testTokenOfOwnerByIndexReverts() (gas: 549957)
-ERC721Test:testTokenURIAfterBurning() (gas: 137982)
-ERC721Test:testTokenURIDefault() (gas: 167794)
-ERC721Test:testTokenURIInvalidTokenId() (gas: 11585)
+ERC721Test:testTokenURIAfterBurning() (gas: 138053)
+ERC721Test:testTokenURIDefault() (gas: 167705)
+ERC721Test:testTokenURIInvalidTokenId() (gas: 11607)
 ERC721Test:testTokenURINoBaseURI() (gas: 2558116)
 ERC721Test:testTokenURINoTokenUri() (gas: 124830)
-ERC721Test:testTotalSupply() (gas: 327164)
-ERC721Test:testTransferFrom() (gas: 554469)
-ERC721Test:testTransferOwnershipNonOwner() (gas: 11785)
-ERC721Test:testTransferOwnershipSuccess() (gas: 53632)
+ERC721Test:testTotalSupply() (gas: 327075)
+ERC721Test:testTransferFrom() (gas: 554487)
+ERC721Test:testTransferOwnershipNonOwner() (gas: 11696)
+ERC721Test:testTransferOwnershipSuccess() (gas: 53545)
 ERC721Test:testTransferOwnershipToZeroAddress() (gas: 13891)
-Base64Test:testDataLengthMismatch() (gas: 12503)
-Base64Test:testDecodeEmptyString() (gas: 7978)
-Base64Test:testDecodeSafeUrl() (gas: 321150)
-Base64Test:testDecodeSentence() (gas: 814472)
-Base64Test:testDecodeSingleCharacter() (gas: 153715)
-Base64Test:testDecodeWithDoublePadding() (gas: 226418)
-Base64Test:testDecodeWithNoPadding() (gas: 179634)
-Base64Test:testDecodeWithSinglePadding() (gas: 189896)
-Base64Test:testEncodeEmptyString() (gas: 9139)
-Base64Test:testEncodeSafeUrl() (gas: 83808)
-Base64Test:testEncodeSentence() (gas: 111712)
-Base64Test:testEncodeSingleCharacter() (gas: 65928)
-Base64Test:testEncodeWithDoublePadding() (gas: 71661)
-Base64Test:testEncodeWithNoPadding() (gas: 70314)
-Base64Test:testEncodeWithSinglePadding() (gas: 71764)
-BatchDistributorTest:testDistributeEtherMultipleAddressesSuccess() (gas: 145962)
-BatchDistributorTest:testDistributeEtherOneAddressSuccess() (gas: 74891)
-BatchDistributorTest:testDistributeEtherRevertWithInsufficientFunds() (gas: 76796)
-BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForMsgSender() (gas: 152636)
-BatchDistributorTest:testDistributeEtherRevertWithNoFallbackFunctionForReceipt() (gas: 49020)
-BatchDistributorTest:testDistributeEtherSendsBackExcessiveEther() (gas: 179540)
-BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 758684)
-BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 723705)
-BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 713101)
-BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 715788)
-Create2AddressTest:testComputeAddress() (gas: 701549)
-Create2AddressTest:testComputeAddressSelf() (gas: 35725)
-CreateAddressTest:testComputeAddressNonce0x00() (gas: 14758)
-CreateAddressTest:testComputeAddressNonce0x7f() (gas: 680636)
-CreateAddressTest:testComputeAddressNonceUint16() (gas: 680733)
-CreateAddressTest:testComputeAddressNonceUint24() (gas: 680806)
-CreateAddressTest:testComputeAddressNonceUint32() (gas: 680811)
-CreateAddressTest:testComputeAddressNonceUint40() (gas: 680795)
-CreateAddressTest:testComputeAddressNonceUint48() (gas: 680779)
-CreateAddressTest:testComputeAddressNonceUint56() (gas: 680896)
-CreateAddressTest:testComputeAddressNonceUint64() (gas: 680921)
-CreateAddressTest:testComputeAddressNonceUint8() (gas: 680684)
-CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 9346)
-CreateAddressTest:testComputeAddressSelfNonce0x7f() (gas: 12910)
-CreateAddressTest:testComputeAddressSelfNonceUint16() (gas: 13087)
-CreateAddressTest:testComputeAddressSelfNonceUint24() (gas: 13116)
-CreateAddressTest:testComputeAddressSelfNonceUint32() (gas: 13145)
-CreateAddressTest:testComputeAddressSelfNonceUint40() (gas: 13196)
-CreateAddressTest:testComputeAddressSelfNonceUint48() (gas: 13313)
-CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 13217)
-CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 13353)
-CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 12954)
-CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 9168)
-ECDSATest:testEthSignedMessageHash() (gas: 5802)
-ECDSATest:testRecoverWith0x00Value() (gas: 13971)
-ECDSATest:testRecoverWithArbitraryMessage() (gas: 19348)
-ECDSATest:testRecoverWithCorrectVersion() (gas: 20118)
-ECDSATest:testRecoverWithInvalidSignature() (gas: 13556)
-ECDSATest:testRecoverWithTooHighSValue() (gas: 11711)
-ECDSATest:testRecoverWithTooLongSignature() (gas: 9947)
-ECDSATest:testRecoverWithTooShortSignature() (gas: 9585)
-ECDSATest:testRecoverWithValidSignature() (gas: 19431)
-ECDSATest:testRecoverWithWrongMessage() (gas: 19426)
-ECDSATest:testRecoverWithWrongVersion() (gas: 13954)
-ECDSATest:testToTypedDataHash() (gas: 5882)
-EIP712DomainSeparatorTest:testCachedDomainSeparatorV4() (gas: 7575)
-EIP712DomainSeparatorTest:testDomainSeparatorV4() (gas: 9234)
-EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 10876)
-MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 412478466)
-MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 33970262)
+MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 412478444)
+MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 33970351)
 MerkleProofVerificationTest:testInvalidMerkleProofLength() (gas: 33972496)
-MerkleProofVerificationTest:testInvalidMultiProof() (gas: 909634320)
+MerkleProofVerificationTest:testInvalidMultiProof() (gas: 909634365)
 MerkleProofVerificationTest:testMultiProofEdgeCase1() (gas: 412458074)
-MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 412458157)
-MerkleProofVerificationTest:testMultiProofVerify() (gas: 412482395)
-MerkleProofVerificationTest:testVerify() (gas: 67939287)
+MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 412458202)
+MerkleProofVerificationTest:testMultiProofVerify() (gas: 412482417)
+MerkleProofVerificationTest:testVerify() (gas: 67939309)
 MulticallsTest:testMulticallRevert() (gas: 545361187)
-MulticallsTest:testMulticallSelfRevert() (gas: 1090159014)
-MulticallsTest:testMulticallSelfSuccess() (gas: 1635485932)
-MulticallsTest:testMulticallSuccess() (gas: 545364135)
+MulticallsTest:testMulticallSelfRevert() (gas: 1090159036)
+MulticallsTest:testMulticallSelfSuccess() (gas: 1635485954)
+MulticallsTest:testMulticallSuccess() (gas: 545364202)
 MulticallsTest:testMulticallValueRevertCase1() (gas: 545904534)
-MulticallsTest:testMulticallValueRevertCase2() (gas: 545905772)
-MulticallsTest:testMulticallValueSelfCase1() (gas: 1091235768)
-MulticallsTest:testMulticallValueSelfCase2() (gas: 1091253522)
+MulticallsTest:testMulticallValueRevertCase2() (gas: 545905882)
+MulticallsTest:testMulticallValueSelfCase1() (gas: 1091235746)
+MulticallsTest:testMulticallValueSelfCase2() (gas: 1091253566)
 MulticallsTest:testMulticallValueSelfSuccess() (gas: 1091257158)
-MulticallsTest:testMulticallValueSuccess() (gas: 545926196)
-MulticallsTest:testMultistaticcallRevert() (gas: 8937393460525250605)
-MulticallsTest:testMultistaticcallSuccess() (gas: 545336832)
-SignatureCheckerTest:testEIP1271WithInvalidSignature1() (gas: 32115)
-SignatureCheckerTest:testEIP1271WithInvalidSignature2() (gas: 27924)
-SignatureCheckerTest:testEIP1271WithInvalidSigner() (gas: 32111)
-SignatureCheckerTest:testEIP1271WithMaliciousWallet() (gas: 22123)
-SignatureCheckerTest:testEIP1271WithValidSignature() (gas: 32075)
-SignatureCheckerTest:testEOAWithInvalidSignature1() (gas: 19164)
-SignatureCheckerTest:testEOAWithInvalidSignature2() (gas: 18992)
-SignatureCheckerTest:testEOAWithInvalidSigner() (gas: 19175)
-SignatureCheckerTest:testEOAWithTooHighSValue() (gas: 16024)
-SignatureCheckerTest:testEOAWithValidSignature() (gas: 18359)
+MulticallsTest:testMulticallValueSuccess() (gas: 545926262)
+MulticallsTest:testMultistaticcallRevert() (gas: 8937393460525250606)
+MulticallsTest:testMultistaticcallSuccess() (gas: 545336876)
+Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 43453)
+Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 36865)
+Ownable2StepTest:testHasOwner() (gas: 9772)
+Ownable2StepTest:testInitialSetup() (gas: 12676)
+Ownable2StepTest:testPendingOwnerResetAfterRenounceOwnership() (gas: 36381)
+Ownable2StepTest:testRenounceOwnershipNonOwner() (gas: 10928)
+Ownable2StepTest:testRenounceOwnershipSuccess() (gas: 17793)
+Ownable2StepTest:testTransferOwnershipNonOwner() (gas: 11344)
+Ownable2StepTest:testTransferOwnershipSuccess() (gas: 41713)
+OwnableTest:testHasOwner() (gas: 9682)
+OwnableTest:testInitialSetup() (gas: 9631)
+OwnableTest:testRenounceOwnershipNonOwner() (gas: 10827)
+OwnableTest:testRenounceOwnershipSuccess() (gas: 15508)
+OwnableTest:testTransferOwnershipNonOwner() (gas: 11300)
+OwnableTest:testTransferOwnershipSuccess() (gas: 20757)
+OwnableTest:testTransferOwnershipToZeroAddress() (gas: 13406)
+SignatureCheckerTest:testEIP1271NoIsValidSignatureFunction() (gas: 21271)
+SignatureCheckerTest:testEIP1271WithInvalidSignature1() (gas: 32266)
+SignatureCheckerTest:testEIP1271WithInvalidSignature2() (gas: 27429)
+SignatureCheckerTest:testEIP1271WithInvalidSigner() (gas: 32196)
+SignatureCheckerTest:testEIP1271WithMaliciousWallet() (gas: 22253)
+SignatureCheckerTest:testEIP1271WithValidSignature() (gas: 32270)
+SignatureCheckerTest:testEOAWithInvalidSignature1() (gas: 19205)
+SignatureCheckerTest:testEOAWithInvalidSignature2() (gas: 19069)
+SignatureCheckerTest:testEOAWithInvalidSigner() (gas: 19216)
+SignatureCheckerTest:testEOAWithTooHighSValue() (gas: 16124)
+SignatureCheckerTest:testEOAWithValidSignature() (gas: 18459)
\ No newline at end of file
diff --git a/lib/create-util b/lib/create-util
index 2bd31de9..ce9d2c3a 160000
--- a/lib/create-util
+++ b/lib/create-util
@@ -1,1 +1,1 @@
-Subproject commit 2bd31de95bb16646f4d39269f2408d12c6211627
+Subproject commit ce9d2c3a72575ca4350381849d1eec21f230a5f2
diff --git a/lib/forge-std b/lib/forge-std
index 066ff16c..b4f12155 160000
--- a/lib/forge-std
+++ b/lib/forge-std
@@ -1,1 +1,1 @@
-Subproject commit 066ff16c5c03e6f931cd041fd366bc4be1fae82a
+Subproject commit b4f121555729b3afb3c5ffccb62ff4b6e2818fd3
diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts
index c8b466b7..3b591a48 160000
--- a/lib/openzeppelin-contracts
+++ b/lib/openzeppelin-contracts
@@ -1,1 +1,1 @@
-Subproject commit c8b466b7b55aee3967af21cb3c659ec07e93021d
+Subproject commit 3b591a48acaab78008ed39d60fbcf429a83155ca
diff --git a/lib/utils/VyperDeployer.sol b/lib/utils/VyperDeployer.sol
index 3ec82b43..d67cc7b3 100644
--- a/lib/utils/VyperDeployer.sol
+++ b/lib/utils/VyperDeployer.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Create} from "create-util/Create.sol";
 


Test patch:
diff --git a/lib/prb-test b/lib/prb-test
index c0ac4f05..ccf48be3 160000
--- a/lib/prb-test
+++ b/lib/prb-test
@@ -1,1 +1,1 @@
-Subproject commit c0ac4f05e5b3872854e4a0f6c5c7fdd7bc6a9121
+Subproject commit ccf48be39a63f9f7f93d04af4b705bde25cec522
diff --git a/test/auth/AccessControl.t.sol b/test/auth/AccessControl.t.sol
index b1b4275d..caf74c6e 100644
--- a/test/auth/AccessControl.t.sol
+++ b/test/auth/AccessControl.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/auth/Ownable.t.sol b/test/auth/Ownable.t.sol
index e6180daa..2c7c7c7e 100644
--- a/test/auth/Ownable.t.sol
+++ b/test/auth/Ownable.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/auth/Ownable2Step.t.sol b/test/auth/Ownable2Step.t.sol
index ff514b03..a94d7c62 100644
--- a/test/auth/Ownable2Step.t.sol
+++ b/test/auth/Ownable2Step.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/auth/interfaces/IAccessControlExtended.sol b/test/auth/interfaces/IAccessControlExtended.sol
index e7c250e8..79c7ec9b 100644
--- a/test/auth/interfaces/IAccessControlExtended.sol
+++ b/test/auth/interfaces/IAccessControlExtended.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC165} from "openzeppelin/utils/introspection/IERC165.sol";
 import {IAccessControl} from "openzeppelin/access/IAccessControl.sol";
diff --git a/test/auth/interfaces/IOwnable.sol b/test/auth/interfaces/IOwnable.sol
index 0a21d2d5..f78de753 100644
--- a/test/auth/interfaces/IOwnable.sol
+++ b/test/auth/interfaces/IOwnable.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IOwnable {
     function owner() external view returns (address);
diff --git a/test/auth/interfaces/IOwnable2Step.sol b/test/auth/interfaces/IOwnable2Step.sol
index 4089bbbf..344c2b2a 100644
--- a/test/auth/interfaces/IOwnable2Step.sol
+++ b/test/auth/interfaces/IOwnable2Step.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IOwnable2Step {
     function owner() external view returns (address);
diff --git a/test/tokens/ERC1155.t.sol b/test/tokens/ERC1155.t.sol
index f5637d28..93afb53f 100644
--- a/test/tokens/ERC1155.t.sol
+++ b/test/tokens/ERC1155.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/tokens/ERC20.t.sol b/test/tokens/ERC20.t.sol
index e104f159..06f789a4 100644
--- a/test/tokens/ERC20.t.sol
+++ b/test/tokens/ERC20.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/tokens/ERC721.t.sol b/test/tokens/ERC721.t.sol
index fd2f683f..910e110d 100644
--- a/test/tokens/ERC721.t.sol
+++ b/test/tokens/ERC721.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {stdError} from "forge-std/StdError.sol";
diff --git a/test/tokens/interfaces/IERC1155Extended.sol b/test/tokens/interfaces/IERC1155Extended.sol
index 2a04d9c7..80b50844 100644
--- a/test/tokens/interfaces/IERC1155Extended.sol
+++ b/test/tokens/interfaces/IERC1155Extended.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC1155MetadataURI} from "openzeppelin/token/ERC1155/extensions/IERC1155MetadataURI.sol";
 
diff --git a/test/tokens/interfaces/IERC20Extended.sol b/test/tokens/interfaces/IERC20Extended.sol
index 19992674..e38dc0b7 100644
--- a/test/tokens/interfaces/IERC20Extended.sol
+++ b/test/tokens/interfaces/IERC20Extended.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC20Metadata} from "openzeppelin/token/ERC20/extensions/IERC20Metadata.sol";
 import {IERC20Permit} from "openzeppelin/token/ERC20/extensions/IERC20Permit.sol";
diff --git a/test/tokens/interfaces/IERC4494.sol b/test/tokens/interfaces/IERC4494.sol
index d156dea2..66155e13 100644
--- a/test/tokens/interfaces/IERC4494.sol
+++ b/test/tokens/interfaces/IERC4494.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC165} from "openzeppelin/utils/introspection/IERC165.sol";
 
diff --git a/test/tokens/interfaces/IERC721Extended.sol b/test/tokens/interfaces/IERC721Extended.sol
index 6054522e..653f5258 100644
--- a/test/tokens/interfaces/IERC721Extended.sol
+++ b/test/tokens/interfaces/IERC721Extended.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC721Metadata} from "openzeppelin/token/ERC721/extensions/IERC721Metadata.sol";
 import {IERC721Enumerable} from "openzeppelin/token/ERC721/extensions/IERC721Enumerable.sol";
diff --git a/test/tokens/mocks/ERC1155ReceiverMock.sol b/test/tokens/mocks/ERC1155ReceiverMock.sol
index 7ce0aa9b..b7e20f03 100644
--- a/test/tokens/mocks/ERC1155ReceiverMock.sol
+++ b/test/tokens/mocks/ERC1155ReceiverMock.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {ERC165} from "openzeppelin/utils/introspection/ERC165.sol";
 import {IERC1155Receiver} from "openzeppelin/token/ERC1155/IERC1155Receiver.sol";
diff --git a/test/tokens/mocks/ERC721ReceiverMock.sol b/test/tokens/mocks/ERC721ReceiverMock.sol
index 98d8d8af..e9ff75cb 100644
--- a/test/tokens/mocks/ERC721ReceiverMock.sol
+++ b/test/tokens/mocks/ERC721ReceiverMock.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC721Receiver} from "openzeppelin/token/ERC721/IERC721Receiver.sol";
 
diff --git a/test/utils/Base64.t.sol b/test/utils/Base64.t.sol
index 1c3711a6..d6296f55 100644
--- a/test/utils/Base64.t.sol
+++ b/test/utils/Base64.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {PRBTest} from "prb/test/PRBTest.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/BatchDistributor.t.sol b/test/utils/BatchDistributor.t.sol
index b0f879bb..619cdd97 100644
--- a/test/utils/BatchDistributor.t.sol
+++ b/test/utils/BatchDistributor.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/Create2Address.t.sol b/test/utils/Create2Address.t.sol
index 3d124e79..9d6a3e61 100644
--- a/test/utils/Create2Address.t.sol
+++ b/test/utils/Create2Address.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/CreateAddress.t.sol b/test/utils/CreateAddress.t.sol
index d31b39b8..1aa1779c 100644
--- a/test/utils/CreateAddress.t.sol
+++ b/test/utils/CreateAddress.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/ECDSA.t.sol b/test/utils/ECDSA.t.sol
index d044f6bd..931cd5a2 100644
--- a/test/utils/ECDSA.t.sol
+++ b/test/utils/ECDSA.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/EIP712DomainSeparator.t.sol b/test/utils/EIP712DomainSeparator.t.sol
index ebe8bbeb..f2ecfc5c 100644
--- a/test/utils/EIP712DomainSeparator.t.sol
+++ b/test/utils/EIP712DomainSeparator.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/MerkleProofVerification.t.sol b/test/utils/MerkleProofVerification.t.sol
index cce7152a..1438bb37 100644
--- a/test/utils/MerkleProofVerification.t.sol
+++ b/test/utils/MerkleProofVerification.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/Multicall.t.sol b/test/utils/Multicall.t.sol
index cb4fa65e..e2d635cd 100644
--- a/test/utils/Multicall.t.sol
+++ b/test/utils/Multicall.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/SignatureChecker.t.sol b/test/utils/SignatureChecker.t.sol
index 01124f10..75bd2a3e 100644
--- a/test/utils/SignatureChecker.t.sol
+++ b/test/utils/SignatureChecker.t.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Test} from "forge-std/Test.sol";
 import {VyperDeployer} from "utils/VyperDeployer.sol";
diff --git a/test/utils/interfaces/IBase64.sol b/test/utils/interfaces/IBase64.sol
index b83591de..0443fec4 100644
--- a/test/utils/interfaces/IBase64.sol
+++ b/test/utils/interfaces/IBase64.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IBase64 {
     function encode(
diff --git a/test/utils/interfaces/IBatchDistributor.sol b/test/utils/interfaces/IBatchDistributor.sol
index dcdb3f74..7f75aeaf 100644
--- a/test/utils/interfaces/IBatchDistributor.sol
+++ b/test/utils/interfaces/IBatchDistributor.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC20} from "openzeppelin/token/ERC20/IERC20.sol";
 
diff --git a/test/utils/interfaces/ICreate2Address.sol b/test/utils/interfaces/ICreate2Address.sol
index 2b958c20..04fe079b 100644
--- a/test/utils/interfaces/ICreate2Address.sol
+++ b/test/utils/interfaces/ICreate2Address.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface ICreate2Address {
     function compute_address_self(
diff --git a/test/utils/interfaces/ICreateAddress.sol b/test/utils/interfaces/ICreateAddress.sol
index e697d9ac..a4dbc9a0 100644
--- a/test/utils/interfaces/ICreateAddress.sol
+++ b/test/utils/interfaces/ICreateAddress.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface ICreateAddress {
     function compute_address_rlp_self(
diff --git a/test/utils/interfaces/IECDSA.sol b/test/utils/interfaces/IECDSA.sol
index 14c98568..eff5e094 100644
--- a/test/utils/interfaces/IECDSA.sol
+++ b/test/utils/interfaces/IECDSA.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IECDSA {
     function recover_sig(
diff --git a/test/utils/interfaces/IEIP712DomainSeparator.sol b/test/utils/interfaces/IEIP712DomainSeparator.sol
index 9009d277..96887c69 100644
--- a/test/utils/interfaces/IEIP712DomainSeparator.sol
+++ b/test/utils/interfaces/IEIP712DomainSeparator.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IEIP712DomainSeparator {
     function domain_separator_v4() external view returns (bytes32);
diff --git a/test/utils/interfaces/IMerkleProofVerification.sol b/test/utils/interfaces/IMerkleProofVerification.sol
index a8b63ee9..41f94444 100644
--- a/test/utils/interfaces/IMerkleProofVerification.sol
+++ b/test/utils/interfaces/IMerkleProofVerification.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IMerkleProofVerification {
     function verify(
diff --git a/test/utils/interfaces/IMulticall.sol b/test/utils/interfaces/IMulticall.sol
index 0fd57d69..26c9a97a 100644
--- a/test/utils/interfaces/IMulticall.sol
+++ b/test/utils/interfaces/IMulticall.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface IMulticall {
     struct Batch {
diff --git a/test/utils/interfaces/ISignatureChecker.sol b/test/utils/interfaces/ISignatureChecker.sol
index 0e79518a..fa886230 100644
--- a/test/utils/interfaces/ISignatureChecker.sol
+++ b/test/utils/interfaces/ISignatureChecker.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: WTFPL
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 interface ISignatureChecker {
     function is_valid_signature_now(
diff --git a/test/utils/mocks/Create2Impl.sol b/test/utils/mocks/Create2Impl.sol
index ec2321b0..824dfcc6 100644
--- a/test/utils/mocks/Create2Impl.sol
+++ b/test/utils/mocks/Create2Impl.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Create2} from "openzeppelin/utils/Create2.sol";
 import {ERC1820Implementer} from "openzeppelin/utils/introspection/ERC1820Implementer.sol";
diff --git a/test/utils/mocks/ERC1271MaliciousMock.sol b/test/utils/mocks/ERC1271MaliciousMock.sol
index 47c01e67..a1381a2d 100644
--- a/test/utils/mocks/ERC1271MaliciousMock.sol
+++ b/test/utils/mocks/ERC1271MaliciousMock.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {IERC1271} from "openzeppelin/interfaces/IERC1271.sol";
 
diff --git a/test/utils/mocks/ERC1271WalletMock.sol b/test/utils/mocks/ERC1271WalletMock.sol
index b7bea84b..ff8aa206 100644
--- a/test/utils/mocks/ERC1271WalletMock.sol
+++ b/test/utils/mocks/ERC1271WalletMock.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {Ownable} from "openzeppelin/access/Ownable.sol";
 import {IERC1271} from "openzeppelin/interfaces/IERC1271.sol";
diff --git a/test/utils/mocks/ERC20Mock.sol b/test/utils/mocks/ERC20Mock.sol
index 62529839..9e8b15d4 100644
--- a/test/utils/mocks/ERC20Mock.sol
+++ b/test/utils/mocks/ERC20Mock.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 import {ERC20} from "openzeppelin/token/ERC20/ERC20.sol";
 
diff --git a/test/utils/mocks/EtherReceiver.sol b/test/utils/mocks/EtherReceiver.sol
index 79d593ec..5a96145f 100644
--- a/test/utils/mocks/EtherReceiver.sol
+++ b/test/utils/mocks/EtherReceiver.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 /**
  * @title EtherReceiver
diff --git a/test/utils/mocks/MockCallee.sol b/test/utils/mocks/MockCallee.sol
index 453b134c..2713344a 100644
--- a/test/utils/mocks/MockCallee.sol
+++ b/test/utils/mocks/MockCallee.sol
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: MIT
-pragma solidity ^0.8.17;
+pragma solidity ^0.8.18;
 
 /**
  * @dev Error that occurs when a method reverts.