From bb15f554274eb0fc76c87ed07869c86e09ea7e76 Mon Sep 17 00:00:00 2001 From: sudo rm -rf --no-preserve-root / Date: Thu, 7 Mar 2024 14:18:18 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=96=20Prepare=20`=F0=9F=90=8D=20snekma?= =?UTF-8?q?te`=20`0.0.5`=20Release=20(#211)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pascal Marco Caversaccio --- .gas-snapshot | 522 ++++++++++++++++++------------------- .gitmodules | 30 +-- .prettierignore | 1 + .solhintignore | 1 + CHANGELOG.md | 2 +- README.md | 4 + foundry.toml | 1 - lib/openzeppelin-contracts | 2 +- package.json | 2 +- pyproject.toml | 2 +- scripts/compile.py | 2 +- 11 files changed, 287 insertions(+), 282 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index a83ddbc6..e5f9a230 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -17,7 +17,7 @@ AccessControlTest:testGrantRoleAdminRoleSuccess() (gas: 44705) AccessControlTest:testGrantRoleMultipleTimesSuccess() (gas: 49948) AccessControlTest:testGrantRoleNonAdmin() (gas: 14998) AccessControlTest:testGrantRoleSuccess() (gas: 44924) -AccessControlTest:testInitialSetup() (gas: 468134) +AccessControlTest:testInitialSetup() (gas: 468125) AccessControlTest:testRenounceRoleAdminRoleSuccess() (gas: 19927) AccessControlTest:testRenounceRoleMultipleTimesSuccess() (gas: 45206) AccessControlTest:testRenounceRoleNonMsgSender() (gas: 10644) @@ -60,12 +60,12 @@ BatchDistributorTest:testDistributeTokenMultipleAddressesSuccess() (gas: 616202) BatchDistributorTest:testDistributeTokenOneAddressSuccess() (gas: 578527) BatchDistributorTest:testDistributeTokenRevertWithInsufficientAllowance() (gas: 574268) BatchDistributorTest:testDistributeTokenRevertWithInsufficientBalance() (gas: 575054) -BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1847732, ~: 1861320) -BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1338225, ~: 1332404) -Create2AddressTest:testComputeAddress() (gas: 550599) -Create2AddressTest:testComputeAddressSelf() (gas: 558922) -Create2AddressTest:testFuzzComputeAddress(bytes32,address) (runs: 256, μ: 551194, ~: 551194) -Create2AddressTest:testFuzzComputeAddressSelf(bytes32) (runs: 256, μ: 558943, ~: 558943) +BatchDistributorTest:testFuzzDistributeEtherMultipleAddressesSuccess(((address,uint256)[]),uint256) (runs: 256, μ: 1830176, ~: 1828488) +BatchDistributorTest:testFuzzDistributeTokenMultipleAddressesSuccess(((address,uint256)[]),address,uint256) (runs: 256, μ: 1337440, ~: 1321455) +Create2AddressTest:testComputeAddress() (gas: 550611) +Create2AddressTest:testComputeAddressSelf() (gas: 558934) +Create2AddressTest:testFuzzComputeAddress(bytes32,address) (runs: 256, μ: 551206, ~: 551206) +Create2AddressTest:testFuzzComputeAddressSelf(bytes32) (runs: 256, μ: 558955, ~: 558955) CreateAddressTest:testComputeAddressNonce0x00() (gas: 16180) CreateAddressTest:testComputeAddressNonce0x7f() (gas: 534914) CreateAddressTest:testComputeAddressNonceUint16() (gas: 534966) @@ -76,7 +76,7 @@ CreateAddressTest:testComputeAddressNonceUint48() (gas: 535123) CreateAddressTest:testComputeAddressNonceUint56() (gas: 535151) CreateAddressTest:testComputeAddressNonceUint64() (gas: 535288) CreateAddressTest:testComputeAddressNonceUint8() (gas: 535006) -CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 10607) +CreateAddressTest:testComputeAddressRevertTooHighNonce() (gas: 10613) CreateAddressTest:testComputeAddressSelfNonce0x7f() (gas: 538796) CreateAddressTest:testComputeAddressSelfNonceUint16() (gas: 539017) CreateAddressTest:testComputeAddressSelfNonceUint24() (gas: 539046) @@ -87,198 +87,198 @@ CreateAddressTest:testComputeAddressSelfNonceUint56() (gas: 539228) CreateAddressTest:testComputeAddressSelfNonceUint64() (gas: 539345) CreateAddressTest:testComputeAddressSelfNonceUint8() (gas: 538951) CreateAddressTest:testComputeAddressSelfRevertTooHighNonce() (gas: 8836) -CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 537952, ~: 538066) -CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 537400, ~: 537680) -CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 537534, ~: 537657) -CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 537550, ~: 537664) -CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 537661, ~: 537756) -CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 537642, ~: 537740) -CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 537682, ~: 537769) -CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 537665, ~: 537873) -CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 537461, ~: 537531) -CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 12923, ~: 12857) -CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 543801, ~: 543905) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 543047, ~: 543194) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 543298, ~: 543395) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 543384, ~: 543491) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 543390, ~: 543475) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 543439, ~: 543549) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 543530, ~: 543619) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 543571, ~: 543749) -CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 543110, ~: 543186) -CreateAddressTest:testFuzzComputeAddressSelfRevertTooHighNonce(uint256) (runs: 256, μ: 12730, ~: 12696) +CreateAddressTest:testFuzzComputeAddressNonce0x7f(uint64,address) (runs: 256, μ: 537957, ~: 538066) +CreateAddressTest:testFuzzComputeAddressNonceUint16(uint64,address) (runs: 256, μ: 537401, ~: 537605) +CreateAddressTest:testFuzzComputeAddressNonceUint24(uint64,address) (runs: 256, μ: 537536, ~: 537657) +CreateAddressTest:testFuzzComputeAddressNonceUint32(uint64,address) (runs: 256, μ: 537551, ~: 537664) +CreateAddressTest:testFuzzComputeAddressNonceUint40(uint64,address) (runs: 256, μ: 537660, ~: 537756) +CreateAddressTest:testFuzzComputeAddressNonceUint48(uint64,address) (runs: 256, μ: 537643, ~: 537740) +CreateAddressTest:testFuzzComputeAddressNonceUint56(uint64,address) (runs: 256, μ: 537685, ~: 537769) +CreateAddressTest:testFuzzComputeAddressNonceUint64(uint64,address) (runs: 256, μ: 537662, ~: 537873) +CreateAddressTest:testFuzzComputeAddressNonceUint8(uint64,address) (runs: 256, μ: 537457, ~: 537531) +CreateAddressTest:testFuzzComputeAddressRevertTooHighNonce(uint256,address) (runs: 256, μ: 12912, ~: 12857) +CreateAddressTest:testFuzzComputeAddressSelfNonce0x7f(uint64) (runs: 256, μ: 543799, ~: 543905) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint16(uint64) (runs: 256, μ: 543022, ~: 542941) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint24(uint64) (runs: 256, μ: 543302, ~: 543395) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint32(uint64) (runs: 256, μ: 543394, ~: 543491) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint40(uint64) (runs: 256, μ: 543392, ~: 543475) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint48(uint64) (runs: 256, μ: 543433, ~: 543549) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint56(uint64) (runs: 256, μ: 543528, ~: 543619) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint64(uint64) (runs: 256, μ: 543574, ~: 543749) +CreateAddressTest:testFuzzComputeAddressSelfNonceUint8(uint64) (runs: 256, μ: 543105, ~: 543186) +CreateAddressTest:testFuzzComputeAddressSelfRevertTooHighNonce(uint256) (runs: 256, μ: 12733, ~: 12696) ECDSATest:testEthSignedMessageHash() (gas: 5846) ECDSATest:testFuzzEthSignedMessageHash(string) (runs: 256, μ: 6432, ~: 6426) -ECDSATest:testFuzzRecoverWithInvalidSignature(bytes,string) (runs: 256, μ: 15159, ~: 15161) -ECDSATest:testFuzzRecoverWithTooLongSignature(bytes,string) (runs: 256, μ: 13993, ~: 13996) +ECDSATest:testFuzzRecoverWithInvalidSignature(bytes,string) (runs: 256, μ: 15165, ~: 15167) +ECDSATest:testFuzzRecoverWithTooLongSignature(bytes,string) (runs: 256, μ: 13999, ~: 14002) ECDSATest:testFuzzRecoverWithValidSignature(string,string) (runs: 256, μ: 21714, ~: 21775) ECDSATest:testFuzzRecoverWithWrongMessage(string,string,bytes32) (runs: 256, μ: 21717, ~: 21663) ECDSATest:testFuzzToDataWithIntendedValidatorHash(address,bytes) (runs: 256, μ: 7303, ~: 7290) -ECDSATest:testFuzzToDataWithIntendedValidatorHashSelf(bytes) (runs: 256, μ: 9334, ~: 9318) +ECDSATest:testFuzzToDataWithIntendedValidatorHashSelf(bytes) (runs: 256, μ: 9328, ~: 9312) ECDSATest:testFuzzToTypedDataHash(string,string) (runs: 256, μ: 7050, ~: 7051) ECDSATest:testRecoverWith0x00Value() (gas: 15622) ECDSATest:testRecoverWithArbitraryMessage() (gas: 20642) ECDSATest:testRecoverWithCorrectVersion() (gas: 21384) ECDSATest:testRecoverWithInvalidSignature() (gas: 15211) -ECDSATest:testRecoverWithTooHighSValue() (gas: 16531) +ECDSATest:testRecoverWithTooHighSValue() (gas: 16537) ECDSATest:testRecoverWithTooLongSignature() (gas: 13109) ECDSATest:testRecoverWithTooShortSignature() (gas: 13953) ECDSATest:testRecoverWithValidSignature() (gas: 20635) ECDSATest:testRecoverWithWrongMessage() (gas: 20696) ECDSATest:testRecoverWithWrongVersion() (gas: 15651) ECDSATest:testToDataWithIntendedValidatorHash() (gas: 11596) -ECDSATest:testToDataWithIntendedValidatorHashSelf() (gas: 9487) +ECDSATest:testToDataWithIntendedValidatorHashSelf() (gas: 9481) ECDSATest:testToTypedDataHash() (gas: 5937) EIP712DomainSeparatorTest:testCachedDomainSeparatorV4() (gas: 7562) EIP712DomainSeparatorTest:testDomainSeparatorV4() (gas: 11305) EIP712DomainSeparatorTest:testEIP712Domain() (gas: 13629) -EIP712DomainSeparatorTest:testFuzzDomainSeparatorV4(uint8) (runs: 256, μ: 11459, ~: 11480) -EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19158, ~: 19122) +EIP712DomainSeparatorTest:testFuzzDomainSeparatorV4(uint8) (runs: 256, μ: 11460, ~: 11480) +EIP712DomainSeparatorTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19161, ~: 19115) EIP712DomainSeparatorTest:testFuzzHashTypedDataV4(address,address,uint256,uint256,uint64) (runs: 256, μ: 7698, ~: 7698) EIP712DomainSeparatorTest:testHashTypedDataV4() (gas: 13017) ERC1155Invariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3437) -ERC1155Test:testBalanceOfBatchCase1() (gas: 278855) -ERC1155Test:testBalanceOfBatchCase2() (gas: 233425) +ERC1155Test:testBalanceOfBatchCase1() (gas: 278846) +ERC1155Test:testBalanceOfBatchCase2() (gas: 233416) ERC1155Test:testBalanceOfBatchCase3() (gas: 35736) ERC1155Test:testBalanceOfBatchLengthsMismatch() (gas: 26717) ERC1155Test:testBalanceOfBatchZeroAddress() (gas: 17875) ERC1155Test:testBalanceOfCase1() (gas: 145672) ERC1155Test:testBalanceOfCase2() (gas: 21510) ERC1155Test:testBalanceOfZeroAddress() (gas: 11061) -ERC1155Test:testBurnAmountExceedsBalance() (gas: 129986) -ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 197360) -ERC1155Test:testBurnBatchByApprovedOperator() (gas: 248034) +ERC1155Test:testBurnAmountExceedsBalance() (gas: 129983) +ERC1155Test:testBurnBatchAmountExceedsBalance() (gas: 197353) +ERC1155Test:testBurnBatchByApprovedOperator() (gas: 248027) ERC1155Test:testBurnBatchByNotApprovedOperator() (gas: 31835) ERC1155Test:testBurnBatchFromZeroAddress() (gas: 25983) ERC1155Test:testBurnBatchLengthsMismatch() (gas: 41694) ERC1155Test:testBurnBatchNonExistentTokenIds() (gas: 28292) -ERC1155Test:testBurnBatchSuccess() (gas: 213900) +ERC1155Test:testBurnBatchSuccess() (gas: 213893) ERC1155Test:testBurnByApprovedOperator() (gas: 196899) -ERC1155Test:testBurnByNotApprovedOperator() (gas: 148393) +ERC1155Test:testBurnByNotApprovedOperator() (gas: 148390) ERC1155Test:testBurnFromZeroAddress() (gas: 17362) ERC1155Test:testBurnNonExistentTokenId() (gas: 21540) ERC1155Test:testBurnSuccess() (gas: 142167) -ERC1155Test:testExistsAfterBatchBurn() (gas: 131872) -ERC1155Test:testExistsAfterBatchMint() (gas: 143320) -ERC1155Test:testExistsAfterSingleBurn() (gas: 137816) -ERC1155Test:testExistsAfterSingleMint() (gas: 119400) +ERC1155Test:testExistsAfterBatchBurn() (gas: 131865) +ERC1155Test:testExistsAfterBatchMint() (gas: 143311) +ERC1155Test:testExistsAfterSingleBurn() (gas: 137813) +ERC1155Test:testExistsAfterSingleMint() (gas: 119397) ERC1155Test:testExistsBeforeMint() (gas: 7642) -ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 132340, ~: 132344) -ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 140124, ~: 140134) +ERC1155Test:testFuzzBurnBatchSuccess(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 132330, ~: 132326) +ERC1155Test:testFuzzBurnSuccess(address,address,uint256) (runs: 256, μ: 140134, ~: 140134) ERC1155Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13977, ~: 13977) ERC1155Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48432, ~: 48416) -ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 225230, ~: 225191) -ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 190337, ~: 190304) -ERC1155Test:testFuzzSafeBatchTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 564154, ~: 564164) -ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 564789, ~: 565221) -ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152243, ~: 152222) -ERC1155Test:testFuzzSafeMintBatchNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 519941, ~: 519951) +ERC1155Test:testFuzzSafeBatchTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 225221, ~: 225182) +ERC1155Test:testFuzzSafeBatchTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 190328, ~: 190295) +ERC1155Test:testFuzzSafeBatchTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 564155, ~: 564155) +ERC1155Test:testFuzzSafeBatchTransferFromWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 564747, ~: 564312) +ERC1155Test:testFuzzSafeMintBatchEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 152225, ~: 152213) +ERC1155Test:testFuzzSafeMintBatchNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 519942, ~: 519942) ERC1155Test:testFuzzSafeMintBatchNonMinter(address) (runs: 256, μ: 40926, ~: 40926) -ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 520268, ~: 520066) -ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 151294, ~: 151259) -ERC1155Test:testFuzzSafeMintNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 520108, ~: 520118) +ERC1155Test:testFuzzSafeMintBatchWithData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 520286, ~: 520057) +ERC1155Test:testFuzzSafeMintEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 151290, ~: 151265) +ERC1155Test:testFuzzSafeMintNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 520124, ~: 520124) ERC1155Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 33132, ~: 33132) -ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 521406, ~: 521009) +ERC1155Test:testFuzzSafeMintWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 521401, ~: 520994) ERC1155Test:testFuzzSafeTransferFromByApprovedOperator(address,address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 204239, ~: 204191) ERC1155Test:testFuzzSafeTransferFromEOAReceiver(address,address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 169433, ~: 169391) -ERC1155Test:testFuzzSafeTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 606383, ~: 606383) -ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 608365, ~: 607645) +ERC1155Test:testFuzzSafeTransferFromNoData(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 606373, ~: 606383) +ERC1155Test:testFuzzSafeTransferFromWithData(address,uint256,uint256,uint256,uint256,bytes) (runs: 256, μ: 608355, ~: 607645) ERC1155Test:testFuzzSetApprovalForAllRevoke(address,address) (runs: 256, μ: 31054, ~: 31022) ERC1155Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 44181, ~: 44181) ERC1155Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15772, ~: 15699) -ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33178, ~: 33178) +ERC1155Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33181, ~: 33180) ERC1155Test:testFuzzSetUriNonMinter(address) (runs: 256, μ: 14452, ~: 14452) -ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 126380, ~: 126384) -ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 140990, ~: 141055) -ERC1155Test:testFuzzTotalSupplyAfterSingleBurn(address,uint256,bytes) (runs: 256, μ: 138036, ~: 138007) -ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 93519, ~: 119839) +ERC1155Test:testFuzzTotalSupplyAfterBatchBurn(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 126370, ~: 126366) +ERC1155Test:testFuzzTotalSupplyAfterBatchMint(address,uint256,uint256,uint256,uint256) (runs: 256, μ: 140973, ~: 140913) +ERC1155Test:testFuzzTotalSupplyAfterSingleBurn(address,uint256,bytes) (runs: 256, μ: 138027, ~: 138007) +ERC1155Test:testFuzzTotalSupplyAfterSingleMint(uint256,uint256,bytes) (runs: 256, μ: 91653, ~: 119836) ERC1155Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14086, ~: 14086) -ERC1155Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 73958, ~: 73928) +ERC1155Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 73957, ~: 73928) ERC1155Test:testHasOwner() (gas: 9714) -ERC1155Test:testInitialSetup() (gas: 2810225) +ERC1155Test:testInitialSetup() (gas: 2810216) ERC1155Test:testRenounceOwnershipNonOwner() (gas: 10918) ERC1155Test:testRenounceOwnershipSuccess() (gas: 22164) -ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 337726) -ERC1155Test:testSafeBatchTransferFromByNotApprovedOperator() (gas: 261065) -ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 295678) -ERC1155Test:testSafeBatchTransferFromInsufficientBalance() (gas: 267882) +ERC1155Test:testSafeBatchTransferFromByApprovedOperator() (gas: 337717) +ERC1155Test:testSafeBatchTransferFromByNotApprovedOperator() (gas: 261056) +ERC1155Test:testSafeBatchTransferFromEOAReceiver() (gas: 295671) +ERC1155Test:testSafeBatchTransferFromInsufficientBalance() (gas: 267873) ERC1155Test:testSafeBatchTransferFromLengthsMismatch() (gas: 64116) -ERC1155Test:testSafeBatchTransferFromNoData() (gas: 671326) -ERC1155Test:testSafeBatchTransferFromReceiverFunctionNotImplemented() (gas: 281004) -ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 649208) -ERC1155Test:testSafeBatchTransferFromReceiverReverts() (gas: 642568) -ERC1155Test:testSafeBatchTransferFromReceiverRevertsOnlySingle() (gas: 671389) -ERC1155Test:testSafeBatchTransferFromToZeroAddress() (gas: 257762) -ERC1155Test:testSafeBatchTransferFromWithData() (gas: 673095) -ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 246578) -ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 66509) -ERC1155Test:testSafeMintBatchNoData() (gas: 615785) +ERC1155Test:testSafeBatchTransferFromNoData() (gas: 671317) +ERC1155Test:testSafeBatchTransferFromReceiverFunctionNotImplemented() (gas: 280997) +ERC1155Test:testSafeBatchTransferFromReceiverInvalidReturnIdentifier() (gas: 649199) +ERC1155Test:testSafeBatchTransferFromReceiverReverts() (gas: 642559) +ERC1155Test:testSafeBatchTransferFromReceiverRevertsOnlySingle() (gas: 671380) +ERC1155Test:testSafeBatchTransferFromToZeroAddress() (gas: 257753) +ERC1155Test:testSafeBatchTransferFromWithData() (gas: 673086) +ERC1155Test:testSafeMintBatchEOAReceiver() (gas: 246569) +ERC1155Test:testSafeMintBatchLengthsMismatch() (gas: 66500) +ERC1155Test:testSafeMintBatchNoData() (gas: 615776) ERC1155Test:testSafeMintBatchNonMinter() (gas: 39827) -ERC1155Test:testSafeMintBatchOverflow() (gas: 265271) -ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 226880) -ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 599191) -ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 592527) -ERC1155Test:testSafeMintBatchReceiverRevertsOnlySingle() (gas: 615762) -ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 40903) -ERC1155Test:testSafeMintBatchWithData() (gas: 616635) -ERC1155Test:testSafeMintEOAReceiver() (gas: 148476) -ERC1155Test:testSafeMintNoData() (gas: 516688) +ERC1155Test:testSafeMintBatchOverflow() (gas: 265262) +ERC1155Test:testSafeMintBatchReceiverFunctionNotImplemented() (gas: 226871) +ERC1155Test:testSafeMintBatchReceiverInvalidReturnIdentifier() (gas: 599182) +ERC1155Test:testSafeMintBatchReceiverReverts() (gas: 592518) +ERC1155Test:testSafeMintBatchReceiverRevertsOnlySingle() (gas: 615753) +ERC1155Test:testSafeMintBatchToZeroAddress() (gas: 40894) +ERC1155Test:testSafeMintBatchWithData() (gas: 616626) +ERC1155Test:testSafeMintEOAReceiver() (gas: 148482) +ERC1155Test:testSafeMintNoData() (gas: 516694) ERC1155Test:testSafeMintNonMinter() (gas: 32079) ERC1155Test:testSafeMintOverflow() (gas: 92104) -ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 136351) -ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 508151) -ERC1155Test:testSafeMintReceiverReverts() (gas: 501910) +ERC1155Test:testSafeMintReceiverFunctionNotImplemented() (gas: 136348) +ERC1155Test:testSafeMintReceiverInvalidReturnIdentifier() (gas: 508148) +ERC1155Test:testSafeMintReceiverReverts() (gas: 501907) ERC1155Test:testSafeMintToZeroAddress() (gas: 33064) -ERC1155Test:testSafeMintWithData() (gas: 518489) -ERC1155Test:testSafeTransferFromByApprovedOperator() (gas: 204688) +ERC1155Test:testSafeMintWithData() (gas: 518495) +ERC1155Test:testSafeTransferFromByApprovedOperator() (gas: 204685) ERC1155Test:testSafeTransferFromByNotApprovedOperator() (gas: 150979) ERC1155Test:testSafeTransferFromEOAReceiver() (gas: 168649) -ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 89880) +ERC1155Test:testSafeTransferFromInsufficientBalance() (gas: 89877) ERC1155Test:testSafeTransferFromNoData() (gas: 604164) ERC1155Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 206194) -ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 578032) -ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 571748) -ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 87488) +ERC1155Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 578029) +ERC1155Test:testSafeTransferFromReceiverReverts() (gas: 571745) +ERC1155Test:testSafeTransferFromToZeroAddress() (gas: 87485) ERC1155Test:testSafeTransferFromWithData() (gas: 607593) ERC1155Test:testSetApprovalForAllRevoke() (gas: 33276) ERC1155Test:testSetApprovalForAllSuccess() (gas: 46899) ERC1155Test:testSetApprovalForAllToSelf() (gas: 11116) ERC1155Test:testSetMinterNonOwner() (gas: 12717) ERC1155Test:testSetMinterRemoveOwnerAddress() (gas: 13770) -ERC1155Test:testSetMinterSuccess() (gas: 33017) +ERC1155Test:testSetMinterSuccess() (gas: 33012) ERC1155Test:testSetMinterToZeroAddress() (gas: 15768) -ERC1155Test:testSetUri() (gas: 68945) +ERC1155Test:testSetUri() (gas: 68936) ERC1155Test:testSetUriEmpty() (gas: 27196) ERC1155Test:testSetUriNonMinter() (gas: 13456) ERC1155Test:testSupportsInterfaceInvalidInterfaceId() (gas: 5540) ERC1155Test:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 6418) ERC1155Test:testSupportsInterfaceSuccess() (gas: 7344) ERC1155Test:testSupportsInterfaceSuccessGasCost() (gas: 6525) -ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 131752) -ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 143169) -ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 134921) -ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 119288) +ERC1155Test:testTotalSupplyAfterBatchBurn() (gas: 131744) +ERC1155Test:testTotalSupplyAfterBatchMint() (gas: 143160) +ERC1155Test:testTotalSupplyAfterSingleBurn() (gas: 134918) +ERC1155Test:testTotalSupplyAfterSingleMint() (gas: 119285) ERC1155Test:testTotalSupplyBeforeMint() (gas: 7562) ERC1155Test:testTransferOwnershipNonOwner() (gas: 12652) -ERC1155Test:testTransferOwnershipSuccess() (gas: 52936) +ERC1155Test:testTransferOwnershipSuccess() (gas: 52930) ERC1155Test:testTransferOwnershipToZeroAddress() (gas: 15672) ERC1155Test:testUriBaseAndTokenUriNotSet() (gas: 2768309) -ERC1155Test:testUriBaseAndTokenUriSet() (gas: 65517) -ERC1155Test:testUriNoBaseURI() (gas: 2818381) +ERC1155Test:testUriBaseAndTokenUriSet() (gas: 65508) +ERC1155Test:testUriNoBaseURI() (gas: 2818372) ERC1155Test:testUriNoTokenUri() (gas: 17407) -ERC20Invariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3392) -ERC20Invariants:invariantTotalSupply() (runs: 256, calls: 3840, reverts: 3392) -ERC20Test:testApproveExceedingBalanceCase1() (gas: 40223) -ERC20Test:testApproveExceedingBalanceCase2() (gas: 46478) +ERC20Invariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3393) +ERC20Invariants:invariantTotalSupply() (runs: 256, calls: 3840, reverts: 3393) +ERC20Test:testApproveExceedingBalanceCase1() (gas: 40217) +ERC20Test:testApproveExceedingBalanceCase2() (gas: 46472) ERC20Test:testApproveFromZeroAddress() (gas: 13220) -ERC20Test:testApproveSuccessCase1() (gas: 42925) -ERC20Test:testApproveSuccessCase2() (gas: 49262) +ERC20Test:testApproveSuccessCase1() (gas: 42919) +ERC20Test:testApproveSuccessCase2() (gas: 49256) ERC20Test:testApproveToZeroAddress() (gas: 16512) ERC20Test:testBalanceOf() (gas: 17928) -ERC20Test:testBurnFromExceedingBalance() (gas: 31179) +ERC20Test:testBurnFromExceedingBalance() (gas: 31174) ERC20Test:testBurnFromFromZeroAddress() (gas: 15618) -ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 41657) -ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 41688) +ERC20Test:testBurnFromInsufficientAllowanceCase1() (gas: 41651) +ERC20Test:testBurnFromInsufficientAllowanceCase2() (gas: 41682) ERC20Test:testBurnFromSuccessCase1() (gas: 39144) ERC20Test:testBurnFromSuccessCase2() (gas: 64697) ERC20Test:testBurnFromUnlimitedAllowance() (gas: 49520) @@ -288,33 +288,33 @@ ERC20Test:testBurnSuccessCase1() (gas: 25055) ERC20Test:testBurnSuccessCase2() (gas: 30620) ERC20Test:testCachedDomainSeparator() (gas: 7699) ERC20Test:testDomainSeparator() (gas: 11449) -ERC20Test:testEIP712Domain() (gas: 13739) +ERC20Test:testEIP712Domain() (gas: 13703) ERC20Test:testFuzzApproveSuccess(address,uint256) (runs: 256, μ: 39193, ~: 40437) -ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 175159, ~: 175281) -ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 280149, ~: 281323) +ERC20Test:testFuzzBurnFromInsufficientAllowance(address,uint256,uint8) (runs: 256, μ: 207199, ~: 207541) +ERC20Test:testFuzzBurnFromSuccess(address,uint256) (runs: 256, μ: 339357, ~: 340407) ERC20Test:testFuzzBurnInvalidAmount(address,uint256) (runs: 256, μ: 16454, ~: 16454) -ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 256023, ~: 255800) -ERC20Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11663, ~: 11685) -ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19449, ~: 19409) +ERC20Test:testFuzzBurnSuccessCase(uint256) (runs: 256, μ: 315427, ~: 315224) +ERC20Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11665, ~: 11685) +ERC20Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19412, ~: 19373) ERC20Test:testFuzzMintNonMinter(string,uint256) (runs: 256, μ: 13152, ~: 13080) -ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 54123, ~: 55192) +ERC20Test:testFuzzMintSuccess(string,uint256) (runs: 256, μ: 54138, ~: 55195) ERC20Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 45279, ~: 45277) ERC20Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70299, ~: 70295) ERC20Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13979, ~: 13979) -ERC20Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48362, ~: 48345) +ERC20Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48361, ~: 48345) ERC20Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15777, ~: 15704) -ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33196, ~: 33196) -ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 173301, ~: 173761) -ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 200320, ~: 202152) +ERC20Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33198, ~: 33198) +ERC20Test:testFuzzTransferFromInsufficientAllowance(address,address,uint256,uint8) (runs: 256, μ: 205453, ~: 205850) +ERC20Test:testFuzzTransferFromSuccess(address,address,uint256) (runs: 256, μ: 231905, ~: 234238) ERC20Test:testFuzzTransferInvalidAmount(address,address,uint256) (runs: 256, μ: 16849, ~: 16849) ERC20Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14068, ~: 14068) -ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 73901, ~: 73874) -ERC20Test:testFuzzTransferSuccess(address,uint256) (runs: 256, μ: 172888, ~: 173883) +ERC20Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 73903, ~: 73874) +ERC20Test:testFuzzTransferSuccess(address,uint256) (runs: 256, μ: 204975, ~: 205973) ERC20Test:testHasOwner() (gas: 9758) -ERC20Test:testInitialSetup() (gas: 1467701) +ERC20Test:testInitialSetup() (gas: 1467692) ERC20Test:testMintNonMinter() (gas: 12639) ERC20Test:testMintOverflow() (gas: 16962) -ERC20Test:testMintSuccess() (gas: 51251) +ERC20Test:testMintSuccess() (gas: 51245) ERC20Test:testMintToZeroAddress() (gas: 15617) ERC20Test:testPermitBadChainId() (gas: 43804) ERC20Test:testPermitBadNonce() (gas: 40932) @@ -326,24 +326,24 @@ ERC20Test:testRenounceOwnershipNonOwner() (gas: 10856) ERC20Test:testRenounceOwnershipSuccess() (gas: 22185) ERC20Test:testSetMinterNonOwner() (gas: 12721) ERC20Test:testSetMinterRemoveOwnerAddress() (gas: 13709) -ERC20Test:testSetMinterSuccess() (gas: 32947) +ERC20Test:testSetMinterSuccess() (gas: 32942) ERC20Test:testSetMinterToZeroAddress() (gas: 15706) ERC20Test:testTotalSupply() (gas: 8677) -ERC20Test:testTransferFromExceedingBalance() (gas: 32560) +ERC20Test:testTransferFromExceedingBalance() (gas: 32556) ERC20Test:testTransferFromFromZeroAddress() (gas: 17778) -ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 43435) -ERC20Test:testTransferFromInsufficientAllowanceCase2() (gas: 43444) -ERC20Test:testTransferFromSuccess() (gas: 60553) -ERC20Test:testTransferFromToZeroAddress() (gas: 32624) -ERC20Test:testTransferFromUnlimitedAllowance() (gas: 70611) +ERC20Test:testTransferFromInsufficientAllowanceCase1() (gas: 43429) +ERC20Test:testTransferFromInsufficientAllowanceCase2() (gas: 43438) +ERC20Test:testTransferFromSuccess() (gas: 60548) +ERC20Test:testTransferFromToZeroAddress() (gas: 32620) +ERC20Test:testTransferFromUnlimitedAllowance() (gas: 70605) ERC20Test:testTransferFromZeroAddress() (gas: 19689) ERC20Test:testTransferInvalidAmount() (gas: 15473) ERC20Test:testTransferOwnershipNonOwner() (gas: 12611) -ERC20Test:testTransferOwnershipSuccess() (gas: 52934) +ERC20Test:testTransferOwnershipSuccess() (gas: 52928) ERC20Test:testTransferOwnershipToZeroAddress() (gas: 15586) -ERC20Test:testTransferSuccess() (gas: 42151) +ERC20Test:testTransferSuccess() (gas: 42145) ERC20Test:testTransferToZeroAddress() (gas: 16457) -ERC20Test:testTransferZeroTokens() (gas: 24324) +ERC20Test:testTransferZeroTokens() (gas: 24318) ERC2981Invariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3840) ERC2981Test:testDeleteDefaultRoyaltyNonOwner() (gas: 10537) ERC2981Test:testFuzzDeleteDefaultRoyaltyNonOwner(address) (runs: 256, μ: 13271, ~: 13271) @@ -354,8 +354,8 @@ ERC2981Test:testFuzzResetTokenRoyaltyNonOwner(address) (runs: 256, μ: 13246, ~: ERC2981Test:testFuzzRoyaltyInfoDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 77838, ~: 79183) ERC2981Test:testFuzzRoyaltyInfoDeleteDefaultRoyalty(address,uint256,uint256,uint96,uint256) (runs: 256, μ: 61787, ~: 62578) ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 119683, ~: 121030) -ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 163331, ~: 165531) -ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 83706, ~: 84678) +ERC2981Test:testFuzzRoyaltyInfoSetTokenRoyaltyUpdate(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 163567, ~: 165531) +ERC2981Test:testFuzzRoyaltyInfoUpdateDefaultRoyalty(address,address,uint256,uint256,uint96,uint256) (runs: 256, μ: 83792, ~: 84678) ERC2981Test:testFuzzSetDefaultRoyaltyNonOwner(address) (runs: 256, μ: 15525, ~: 15525) ERC2981Test:testFuzzSetDefaultRoyaltyTooHighFeeNumerator(uint96) (runs: 256, μ: 21332, ~: 21125) ERC2981Test:testFuzzSetTokenRoyaltyInvalidReceiver(address) (runs: 256, μ: 18626, ~: 18626) @@ -388,8 +388,8 @@ ERC2981Test:testSupportsInterfaceSuccessGasCost() (gas: 6345) ERC2981Test:testTransferOwnershipNonOwner() (gas: 12649) ERC2981Test:testTransferOwnershipSuccess() (gas: 22091) ERC2981Test:testTransferOwnershipToZeroAddress() (gas: 15557) -ERC4626VaultInvariants:invariantTotalAssets() (runs: 256, calls: 3840, reverts: 3242) -ERC4626VaultInvariants:invariantTotalSupply() (runs: 256, calls: 3840, reverts: 3242) +ERC4626VaultInvariants:invariantTotalAssets() (runs: 256, calls: 3840, reverts: 3243) +ERC4626VaultInvariants:invariantTotalSupply() (runs: 256, calls: 3840, reverts: 3243) ERC4626VaultTest:testCachedDomainSeparator() (gas: 7676) ERC4626VaultTest:testDepositInsufficientAllowance() (gas: 82425) ERC4626VaultTest:testDepositWithNoApproval() (gas: 24740) @@ -400,10 +400,10 @@ ERC4626VaultTest:testEmptyVaultDeposit() (gas: 556789) ERC4626VaultTest:testEmptyVaultMint() (gas: 557600) ERC4626VaultTest:testEmptyVaultRedeem() (gas: 191988) ERC4626VaultTest:testEmptyVaultwithdraw() (gas: 204833) -ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 554494, ~: 558288) -ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 556236, ~: 560088) -ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11556, ~: 11577) -ERC4626VaultTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19366, ~: 19328) +ERC4626VaultTest:testFail_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 554453, ~: 558247) +ERC4626VaultTest:testFail_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 556320, ~: 560088) +ERC4626VaultTest:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11557, ~: 11577) +ERC4626VaultTest:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19365, ~: 19328) ERC4626VaultTest:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 45211, ~: 45209) ERC4626VaultTest:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 70194, ~: 70190) ERC4626VaultTest:testInitialSetup() (gas: 5784849) @@ -424,40 +424,40 @@ ERC4626VaultTest:testVaultInteractionsForSomeoneElse() (gas: 221714) ERC4626VaultTest:testWithdrawInsufficientAllowance() (gas: 122543) ERC4626VaultTest:testWithdrawInsufficientAssets() (gas: 117830) ERC4626VaultTest:testWithdrawWithNoAssets() (gas: 21327) -ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473282, ~: 475685) -ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 475436, ~: 477510) -ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474446, ~: 476378) -ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476578, ~: 478011) -ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473524, ~: 476596) -ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473988, ~: 476755) -ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 475296, ~: 478274) -ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476226, ~: 478233) -ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423587, ~: 427672) -ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 429491, ~: 432688) -ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428755, ~: 432626) -ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469025, ~: 472398) -ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423600, ~: 427685) -ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423625, ~: 427710) -ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423740, ~: 427824) -ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425277, ~: 429363) -ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469801, ~: 472593) -ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 466022, ~: 468277) -ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467287, ~: 468997) -ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 468183, ~: 470717) -ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 470682, ~: 472156) -ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 472239, ~: 475113) -ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 424190, ~: 428274) -ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 473616, ~: 476610) +ERC4626VaultTest:test_RT_deposit_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473422, ~: 475920) +ERC4626VaultTest:test_RT_deposit_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 475447, ~: 477826) +ERC4626VaultTest:test_RT_mint_redeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474410, ~: 476254) +ERC4626VaultTest:test_RT_mint_withdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476617, ~: 478178) +ERC4626VaultTest:test_RT_redeem_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473419, ~: 476625) +ERC4626VaultTest:test_RT_redeem_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 473986, ~: 476783) +ERC4626VaultTest:test_RT_withdraw_deposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 474932, ~: 478054) +ERC4626VaultTest:test_RT_withdraw_mint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 476168, ~: 478562) +ERC4626VaultTest:test_asset((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423321, ~: 427704) +ERC4626VaultTest:test_convertToAssets((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428704, ~: 432449) +ERC4626VaultTest:test_convertToShares((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 428790, ~: 432570) +ERC4626VaultTest:test_deposit((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 468961, ~: 472314) +ERC4626VaultTest:test_maxDeposit((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423349, ~: 427732) +ERC4626VaultTest:test_maxMint((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423374, ~: 427757) +ERC4626VaultTest:test_maxRedeem((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423489, ~: 427872) +ERC4626VaultTest:test_maxWithdraw((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 425053, ~: 429529) +ERC4626VaultTest:test_mint((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 469640, ~: 472762) +ERC4626VaultTest:test_previewDeposit((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 465974, ~: 468286) +ERC4626VaultTest:test_previewMint((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 467692, ~: 468988) +ERC4626VaultTest:test_previewRedeem((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 468074, ~: 470600) +ERC4626VaultTest:test_previewWithdraw((address[4],uint256[4],uint256[4],int256),uint256) (runs: 256, μ: 470532, ~: 472323) +ERC4626VaultTest:test_redeem((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 472219, ~: 475074) +ERC4626VaultTest:test_totalAssets((address[4],uint256[4],uint256[4],int256)) (runs: 256, μ: 423923, ~: 428305) +ERC4626VaultTest:test_withdraw((address[4],uint256[4],uint256[4],int256),uint256,uint256) (runs: 256, μ: 473551, ~: 476367) ERC721Invariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3469) ERC721Invariants:invariantTotalSupply() (runs: 256, calls: 3840, reverts: 3469) -ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 177294) -ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 185988) +ERC721Test:testApproveClearingApprovalWithNoPriorApproval() (gas: 177300) +ERC721Test:testApproveClearingApprovalWithPriorApproval() (gas: 185994) ERC721Test:testApproveFromApprovedAddress() (gas: 199707) ERC721Test:testApproveFromNonOwner() (gas: 173500) ERC721Test:testApproveFromOperatorAddress() (gas: 224255) ERC721Test:testApproveInvalidTokenId() (gas: 171496) ERC721Test:testApproveToOwner() (gas: 167882) -ERC721Test:testApproveToZeroAddress() (gas: 186031) +ERC721Test:testApproveToZeroAddress() (gas: 186037) ERC721Test:testApproveWithNoPriorApproval() (gas: 196701) ERC721Test:testApproveWithPriorApprovalToDifferentAddress() (gas: 205511) ERC721Test:testApproveWithPriorApprovalToSameAddress() (gas: 203873) @@ -469,29 +469,29 @@ ERC721Test:testBurnSuccessViaApproveAndSetApprovalForAll() (gas: 371421) ERC721Test:testCachedDomainSeparator() (gas: 7699) ERC721Test:testDomainSeparator() (gas: 11450) ERC721Test:testEIP712Domain() (gas: 13877) -ERC721Test:testFuzzApproveClearingApprovalWithNoPriorApproval(address,address) (runs: 256, μ: 196789, ~: 196799) +ERC721Test:testFuzzApproveClearingApprovalWithNoPriorApproval(address,address) (runs: 256, μ: 196799, ~: 196799) ERC721Test:testFuzzApproveClearingApprovalWithPriorApproval(address,address) (runs: 256, μ: 184072, ~: 184072) ERC721Test:testFuzzApproveFromNonOwner(address) (runs: 256, μ: 172895, ~: 172895) ERC721Test:testFuzzApproveFromOperatorAddress(address,address,address) (runs: 256, μ: 222958, ~: 222958) -ERC721Test:testFuzzApproveWithNoPriorApproval(address,address) (runs: 256, μ: 196744, ~: 196754) -ERC721Test:testFuzzApproveWithPriorApproval(address,address) (runs: 256, μ: 203874, ~: 203884) -ERC721Test:testFuzzBurnSuccess(address) (runs: 256, μ: 305615, ~: 305600) +ERC721Test:testFuzzApproveWithNoPriorApproval(address,address) (runs: 256, μ: 196754, ~: 196754) +ERC721Test:testFuzzApproveWithPriorApproval(address,address) (runs: 256, μ: 203884, ~: 203884) +ERC721Test:testFuzzBurnSuccess(address) (runs: 256, μ: 305608, ~: 305600) ERC721Test:testFuzzDomainSeparator(uint8) (runs: 256, μ: 11643, ~: 11663) -ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19581, ~: 19542) -ERC721Test:testFuzzGetApprovedApprovedTokenId(address,address) (runs: 256, μ: 194375, ~: 194385) +ERC721Test:testFuzzEIP712Domain(bytes1,uint8,bytes32,uint256[]) (runs: 256, μ: 19582, ~: 19542) +ERC721Test:testFuzzGetApprovedApprovedTokenId(address,address) (runs: 256, μ: 194385, ~: 194385) ERC721Test:testFuzzPermitInvalid(string,string,uint16) (runs: 256, μ: 201667, ~: 201665) ERC721Test:testFuzzPermitSuccess(string,string,uint16) (runs: 256, μ: 227137, ~: 227133) ERC721Test:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13938, ~: 13938) ERC721Test:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 48380, ~: 48364) ERC721Test:testFuzzSafeMintNonMinter(address) (runs: 256, μ: 15894, ~: 15894) -ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 20866394, ~: 20267685) -ERC721Test:testFuzzSafeTransferFromWithData(address,address,address,bytes) (runs: 256, μ: 1429057, ~: 1429893) +ERC721Test:testFuzzSafeMintSuccess(address[]) (runs: 256, μ: 20885258, ~: 20267685) +ERC721Test:testFuzzSafeTransferFromWithData(address,address,address,bytes) (runs: 256, μ: 1429161, ~: 1429913) ERC721Test:testFuzzSetApprovalForAllSuccess(address,address) (runs: 256, μ: 188481, ~: 188481) ERC721Test:testFuzzSetMinterNonOwner(address,string) (runs: 256, μ: 15822, ~: 15749) ERC721Test:testFuzzSetMinterSuccess(string) (runs: 256, μ: 33217, ~: 33216) -ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 21262289, ~: 21172166) -ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 21133787, ~: 21043655) -ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 560096, ~: 560080) +ERC721Test:testFuzzTokenByIndex(address,string[]) (runs: 256, μ: 21201003, ~: 21161157) +ERC721Test:testFuzzTotalSupply(address,string[]) (runs: 256, μ: 21072884, ~: 21033698) +ERC721Test:testFuzzTransferFrom(address,address,address) (runs: 256, μ: 560104, ~: 560084) ERC721Test:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14090, ~: 14090) ERC721Test:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 73920, ~: 73892) ERC721Test:testGetApprovedApprovedTokenId() (gas: 194287) @@ -520,13 +520,13 @@ ERC721Test:testSafeMintReceiverContractRevertsWithoutMessage() (gas: 337325) ERC721Test:testSafeMintSuccess() (gas: 524242) ERC721Test:testSafeMintToZeroAddress() (gas: 38430) ERC721Test:testSafeMintTokenAlreadyMinted() (gas: 363393) -ERC721Test:testSafeTransferFromNoData() (gas: 1429392) +ERC721Test:testSafeTransferFromNoData() (gas: 1429407) ERC721Test:testSafeTransferFromReceiverFunctionNotImplemented() (gas: 181184) ERC721Test:testSafeTransferFromReceiverInvalidReturnIdentifier() (gas: 405451) ERC721Test:testSafeTransferFromReceiverRevertsWithMessage() (gas: 402725) ERC721Test:testSafeTransferFromReceiverRevertsWithPanic() (gas: 402991) ERC721Test:testSafeTransferFromReceiverRevertsWithoutMessage() (gas: 402355) -ERC721Test:testSafeTransferFromWithData() (gas: 1194672) +ERC721Test:testSafeTransferFromWithData() (gas: 1194681) ERC721Test:testSetApprovalForAllOperatorIsOwner() (gas: 167663) ERC721Test:testSetApprovalForAllSuccessCase1() (gas: 195887) ERC721Test:testSetApprovalForAllSuccessCase2() (gas: 188412) @@ -549,26 +549,26 @@ ERC721Test:testTokenURIInvalidTokenId() (gas: 13172) ERC721Test:testTokenURINoBaseURI() (gas: 2527723) ERC721Test:testTokenURINoTokenUri() (gas: 126435) ERC721Test:testTotalSupply() (gas: 328797) -ERC721Test:testTransferFrom() (gas: 569632) +ERC721Test:testTransferFrom() (gas: 569636) ERC721Test:testTransferOwnershipNonOwner() (gas: 12612) ERC721Test:testTransferOwnershipSuccess() (gas: 52972) ERC721Test:testTransferOwnershipToZeroAddress() (gas: 15608) MathTest:testCbrtRoundDown() (gas: 41159) MathTest:testCbrtRoundUp() (gas: 41806) MathTest:testCeilDiv() (gas: 12481) -MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 19445, ~: 19333) +MathTest:testFuzzCbrt(uint256,bool) (runs: 256, μ: 19442, ~: 19299) MathTest:testFuzzCeilDiv(uint256,uint256) (runs: 256, μ: 8962, ~: 8979) -MathTest:testFuzzInt256Average(int256,int256) (runs: 256, μ: 5683, ~: 5683) -MathTest:testFuzzLog10(uint256,bool) (runs: 256, μ: 6966, ~: 6961) -MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 6825, ~: 6803) -MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 6845, ~: 6822) -MathTest:testFuzzMulDiv(uint256,uint256,uint256) (runs: 256, μ: 13038, ~: 12781) -MathTest:testFuzzMulDivDomain(uint256,uint256,uint256) (runs: 256, μ: 10485, ~: 10570) +MathTest:testFuzzInt256Average(int256,int256) (runs: 256, μ: 5689, ~: 5689) +MathTest:testFuzzLog10(uint256,bool) (runs: 256, μ: 6968, ~: 6961) +MathTest:testFuzzLog2(uint256,bool) (runs: 256, μ: 6828, ~: 6807) +MathTest:testFuzzLog256(uint256,bool) (runs: 256, μ: 6847, ~: 6827) +MathTest:testFuzzMulDiv(uint256,uint256,uint256) (runs: 256, μ: 13034, ~: 12781) +MathTest:testFuzzMulDivDomain(uint256,uint256,uint256) (runs: 256, μ: 10487, ~: 10570) MathTest:testFuzzSignum(int256) (runs: 256, μ: 5578, ~: 5570) MathTest:testFuzzUint256Average(uint256,uint256) (runs: 256, μ: 5763, ~: 5763) -MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 18982, ~: 18686) -MathTest:testFuzzWadExp(int256) (runs: 256, μ: 14487, ~: 14597) -MathTest:testFuzzWadLn(int256) (runs: 256, μ: 15983, ~: 15735) +MathTest:testFuzzWadCbrt(uint256) (runs: 256, μ: 19006, ~: 18690) +MathTest:testFuzzWadExp(int256) (runs: 256, μ: 14493, ~: 14597) +MathTest:testFuzzWadLn(int256) (runs: 256, μ: 15982, ~: 15744) MathTest:testInt256Average() (gas: 12010) MathTest:testLog10RoundDown() (gas: 17685) MathTest:testLog10RoundUp() (gas: 18866) @@ -589,25 +589,25 @@ MathTest:testWadExp() (gas: 24809) MathTest:testWadExpOverflow() (gas: 11127) MathTest:testWadLn() (gas: 24196) MathTest:testWadLnNegativeValues() (gas: 11130) -MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 1649976167, ~: 1649972653) -MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 135974879, ~: 135971441) +MerkleProofVerificationTest:testFuzzMultiProofVerifySingleLeaf(bytes32[],uint256) (runs: 256, μ: 1649976172, ~: 1649972786) +MerkleProofVerificationTest:testFuzzVerify(bytes32[],uint256) (runs: 256, μ: 135974887, ~: 135971577) MerkleProofVerificationTest:testFuzzVerifyMultiProofMultipleLeaves(bool,bool,bool) (runs: 256, μ: 412472467, ~: 412472462) MerkleProofVerificationTest:testInvalidMerkleMultiProof() (gas: 412478415) MerkleProofVerificationTest:testInvalidMerkleProof() (gas: 33970390) -MerkleProofVerificationTest:testInvalidMerkleProofLength() (gas: 33972548) +MerkleProofVerificationTest:testInvalidMerkleProofLength() (gas: 33972557) MerkleProofVerificationTest:testInvalidMultiProof() (gas: 909636471) MerkleProofVerificationTest:testMaliciousMultiProofVerify() (gas: 303217500) -MerkleProofVerificationTest:testMultiProofEdgeCase1() (gas: 412458019) -MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 412458192) +MerkleProofVerificationTest:testMultiProofEdgeCase1() (gas: 412458049) +MerkleProofVerificationTest:testMultiProofEdgeCase2() (gas: 412458201) MerkleProofVerificationTest:testMultiProofVerify() (gas: 412482394) MerkleProofVerificationTest:testVerify() (gas: 67939391) MulticallTest:testMulticallRevert() (gas: 545382964) MulticallTest:testMulticallSelfRevert() (gas: 1090186642) MulticallTest:testMulticallSelfSuccess() (gas: 1635533968) MulticallTest:testMulticallSuccess() (gas: 545386255) -MulticallTest:testMulticallValueRevertCase1() (gas: 545926293) -MulticallTest:testMulticallValueRevertCase2() (gas: 545933655) -MulticallTest:testMulticallValueSuccess() (gas: 545954538) +MulticallTest:testMulticallValueRevertCase1() (gas: 545926302) +MulticallTest:testMulticallValueRevertCase2() (gas: 545933664) +MulticallTest:testMulticallValueSuccess() (gas: 545954547) MulticallTest:testMultistaticcallRevert() (gas: 8937393460525252382) MulticallTest:testMultistaticcallSuccess() (gas: 545350963) Ownable2StepInvariants:invariantOwner() (runs: 256, calls: 3840, reverts: 3840) @@ -615,14 +615,14 @@ Ownable2StepInvariants:invariantPendingOwner() (runs: 256, calls: 3840, reverts: Ownable2StepTest:testAcceptOwnershipNonPendingOwner() (gas: 46604) Ownable2StepTest:testAcceptOwnershipSuccess() (gas: 39404) Ownable2StepTest:testFuzzAcceptOwnershipNonPendingOwner(address) (runs: 256, μ: 45814, ~: 45814) -Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 65114, ~: 65084) -Ownable2StepTest:testFuzzPendingOwnerResetAfterRenounceOwnership(address) (runs: 256, μ: 38751, ~: 38735) +Ownable2StepTest:testFuzzAcceptOwnershipSuccess(address,address) (runs: 256, μ: 65112, ~: 65084) +Ownable2StepTest:testFuzzPendingOwnerResetAfterRenounceOwnership(address) (runs: 256, μ: 38752, ~: 38735) Ownable2StepTest:testFuzzRenounceOwnershipNonOwner(address) (runs: 256, μ: 13954, ~: 13954) -Ownable2StepTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 43684, ~: 43668) +Ownable2StepTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 43685, ~: 43668) Ownable2StepTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14106, ~: 14106) Ownable2StepTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 50453, ~: 50453) Ownable2StepTest:testHasOwner() (gas: 9668) -Ownable2StepTest:testInitialSetup() (gas: 235722) +Ownable2StepTest:testInitialSetup() (gas: 235713) Ownable2StepTest:testPendingOwnerResetAfterRenounceOwnership() (gas: 39629) Ownable2StepTest:testRenounceOwnershipNonOwner() (gas: 10941) Ownable2StepTest:testRenounceOwnershipSuccess() (gas: 19879) @@ -634,7 +634,7 @@ OwnableTest:testFuzzRenounceOwnershipSuccess(address) (runs: 256, μ: 24551, ~: OwnableTest:testFuzzTransferOwnershipNonOwner(address,address) (runs: 256, μ: 14080, ~: 14080) OwnableTest:testFuzzTransferOwnershipSuccess(address,address) (runs: 256, μ: 29575, ~: 29575) OwnableTest:testHasOwner() (gas: 9665) -OwnableTest:testInitialSetup() (gas: 200875) +OwnableTest:testInitialSetup() (gas: 200866) OwnableTest:testRenounceOwnershipNonOwner() (gas: 10847) OwnableTest:testRenounceOwnershipSuccess() (gas: 17624) OwnableTest:testTransferOwnershipNonOwner() (gas: 12559) @@ -658,59 +658,59 @@ SignatureCheckerTest:testFuzzEOAWithInvalidSignature(bytes,string) (runs: 256, SignatureCheckerTest:testFuzzEOAWithInvalidSigner(string,string) (runs: 256, μ: 21466, ~: 21527) SignatureCheckerTest:testFuzzEOAWithValidSignature(string,string) (runs: 256, μ: 20585, ~: 20646) SignatureCheckerTest:testInitialSetup() (gas: 5415) -TimelockControllerInvariants:invariantExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1308) -TimelockControllerInvariants:invariantExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1319) -TimelockControllerInvariants:invariantExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1304) -TimelockControllerInvariants:invariantExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1277) -TimelockControllerInvariants:invariantOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1309) -TimelockControllerInvariants:invariantProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1308) -TimelockControllerInvariants:invariantSumOfProposals() (runs: 256, calls: 3840, reverts: 1308) +TimelockControllerInvariants:invariantExecutedLessThanOrEqualToScheduled() (runs: 256, calls: 3840, reverts: 1280) +TimelockControllerInvariants:invariantExecutedProposalCancellation() (runs: 256, calls: 3840, reverts: 1316) +TimelockControllerInvariants:invariantExecutingCancelledProposal() (runs: 256, calls: 3840, reverts: 1266) +TimelockControllerInvariants:invariantExecutingNotReadyProposal() (runs: 256, calls: 3840, reverts: 1255) +TimelockControllerInvariants:invariantOnceProposalExecution() (runs: 256, calls: 3840, reverts: 1262) +TimelockControllerInvariants:invariantProposalsExecutedMatchCount() (runs: 256, calls: 3840, reverts: 1280) +TimelockControllerInvariants:invariantSumOfProposals() (runs: 256, calls: 3840, reverts: 1280) TimelockControllerTest:testAdminCannotBatchExecute() (gas: 750573) TimelockControllerTest:testAdminCannotBatchSchedule() (gas: 748359) TimelockControllerTest:testAdminCannotCancel() (gas: 13280) -TimelockControllerTest:testAdminCannotExecute() (gas: 18397) -TimelockControllerTest:testAdminCannotSchedule() (gas: 16069) -TimelockControllerTest:testBatchCancelFinished() (gas: 4641370) -TimelockControllerTest:testBatchEqualAndGreaterMinimumDelay() (gas: 6144529) -TimelockControllerTest:testBatchHasBeenExecuted() (gas: 4638874) -TimelockControllerTest:testBatchHasNotBeenExecuted() (gas: 3078509) +TimelockControllerTest:testAdminCannotExecute() (gas: 18406) +TimelockControllerTest:testAdminCannotSchedule() (gas: 16078) +TimelockControllerTest:testBatchCancelFinished() (gas: 4641379) +TimelockControllerTest:testBatchEqualAndGreaterMinimumDelay() (gas: 6144538) +TimelockControllerTest:testBatchHasBeenExecuted() (gas: 4638883) +TimelockControllerTest:testBatchHasNotBeenExecuted() (gas: 3078518) TimelockControllerTest:testBatchInsufficientDelay() (gas: 1532717) -TimelockControllerTest:testBatchMinimumDelayUpdate() (gas: 3085797) -TimelockControllerTest:testBatchOperationAlreadyScheduled() (gas: 4593338) -TimelockControllerTest:testBatchOperationIsNotReady() (gas: 4598655) -TimelockControllerTest:testBatchPendingIfExecuted() (gas: 4637848) -TimelockControllerTest:testBatchPendingIfNotYetExecuted() (gas: 3078517) -TimelockControllerTest:testBatchPredecessorInvalid() (gas: 4601007) -TimelockControllerTest:testBatchPredecessorMultipleNotExecuted() (gas: 6141737) -TimelockControllerTest:testBatchPredecessorNotExecuted() (gas: 7662956) -TimelockControllerTest:testBatchPredecessorNotScheduled() (gas: 6116865) -TimelockControllerTest:testBatchReadyAfterTheExecutionTime() (gas: 3079082) -TimelockControllerTest:testBatchReadyBeforeTheExecutionTime() (gas: 3079099) -TimelockControllerTest:testBatchReadyOnTheExecutionTime() (gas: 3078985) -TimelockControllerTest:testBatchScheduleAndExecuteWithEmptySalt() (gas: 4642907) -TimelockControllerTest:testBatchScheduleAndExecuteWithNonEmptySalt() (gas: 4646352) -TimelockControllerTest:testBatchTargetRevert() (gas: 9186500) -TimelockControllerTest:testBatchTimestampHasBeenExecuted() (gas: 4637665) -TimelockControllerTest:testBatchTimestampHasNotBeenExecuted() (gas: 3078316) +TimelockControllerTest:testBatchMinimumDelayUpdate() (gas: 3085786) +TimelockControllerTest:testBatchOperationAlreadyScheduled() (gas: 4593347) +TimelockControllerTest:testBatchOperationIsNotReady() (gas: 4598664) +TimelockControllerTest:testBatchPendingIfExecuted() (gas: 4637857) +TimelockControllerTest:testBatchPendingIfNotYetExecuted() (gas: 3078526) +TimelockControllerTest:testBatchPredecessorInvalid() (gas: 4601016) +TimelockControllerTest:testBatchPredecessorMultipleNotExecuted() (gas: 6141746) +TimelockControllerTest:testBatchPredecessorNotExecuted() (gas: 7662965) +TimelockControllerTest:testBatchPredecessorNotScheduled() (gas: 6116874) +TimelockControllerTest:testBatchReadyAfterTheExecutionTime() (gas: 3079091) +TimelockControllerTest:testBatchReadyBeforeTheExecutionTime() (gas: 3079108) +TimelockControllerTest:testBatchReadyOnTheExecutionTime() (gas: 3078994) +TimelockControllerTest:testBatchScheduleAndExecuteWithEmptySalt() (gas: 4642916) +TimelockControllerTest:testBatchScheduleAndExecuteWithNonEmptySalt() (gas: 4646361) +TimelockControllerTest:testBatchTargetRevert() (gas: 9186509) +TimelockControllerTest:testBatchTimestampHasBeenExecuted() (gas: 4637674) +TimelockControllerTest:testBatchTimestampHasNotBeenExecuted() (gas: 3078325) TimelockControllerTest:testCanReceiveEther() (gas: 12124) -TimelockControllerTest:testCancellerCanCancelOperation() (gas: 3064799) +TimelockControllerTest:testCancellerCanCancelOperation() (gas: 3064808) TimelockControllerTest:testCompleteOperationWithAssignExecutorRoleToZeroAddress() (gas: 124673) -TimelockControllerTest:testCompletePipelineOperationMinimumDelayUpdate() (gas: 73442) +TimelockControllerTest:testCompletePipelineOperationMinimumDelayUpdate() (gas: 73428) TimelockControllerTest:testCompletePipelineOperationSetRoleAdmin() (gas: 100466) TimelockControllerTest:testExecutorCanBatchExecute() (gas: 3049249) -TimelockControllerTest:testExecutorCanExecute() (gas: 29920) +TimelockControllerTest:testExecutorCanExecute() (gas: 29938) TimelockControllerTest:testExecutorCannotBatchSchedule() (gas: 1485375) TimelockControllerTest:testExecutorCannotCancel() (gas: 15281) -TimelockControllerTest:testExecutorCannotSchedule() (gas: 19073) -TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4652716, ~: 4652826) +TimelockControllerTest:testExecutorCannotSchedule() (gas: 19091) +TimelockControllerTest:testFuzzBatchValue(uint256) (runs: 256, μ: 4652730, ~: 4652835) TimelockControllerTest:testFuzzHashOperation(address,uint256,bytes,bytes32,bytes32) (runs: 256, μ: 8261, ~: 8159) TimelockControllerTest:testFuzzHashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32) (runs: 256, μ: 1881454, ~: 1889945) -TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 113104, ~: 113263) -TimelockControllerTest:testHandleERC1155() (gas: 41505977) -TimelockControllerTest:testHandleERC721() (gas: 7056837) +TimelockControllerTest:testFuzzOperationValue(uint256) (runs: 256, μ: 113179, ~: 113263) +TimelockControllerTest:testHandleERC1155() (gas: 41505998) +TimelockControllerTest:testHandleERC721() (gas: 7056846) TimelockControllerTest:testHashOperation() (gas: 10233) -TimelockControllerTest:testHashOperationBatch() (gas: 1523421) -TimelockControllerTest:testInitialSetup() (gas: 4245431) +TimelockControllerTest:testHashOperationBatch() (gas: 1523430) +TimelockControllerTest:testInitialSetup() (gas: 4245407) TimelockControllerTest:testInvalidOperation() (gas: 7856) TimelockControllerTest:testOperationAlreadyScheduled() (gas: 52465) TimelockControllerTest:testOperationCancelFinished() (gas: 101892) @@ -718,7 +718,7 @@ TimelockControllerTest:testOperationEqualAndGreaterMinimumDelay() (gas: 90244) TimelockControllerTest:testOperationHasBeenExecuted() (gas: 99429) TimelockControllerTest:testOperationHasNotBeenExecuted() (gas: 52365) TimelockControllerTest:testOperationInsufficientDelay() (gas: 19490) -TimelockControllerTest:testOperationMinimumDelayUpdate() (gas: 61101) +TimelockControllerTest:testOperationMinimumDelayUpdate() (gas: 61081) TimelockControllerTest:testOperationOperationIsNotReady() (gas: 57820) TimelockControllerTest:testOperationPendingIfExecuted() (gas: 98359) TimelockControllerTest:testOperationPendingIfNotYetExecuted() (gas: 52429) @@ -729,23 +729,23 @@ TimelockControllerTest:testOperationPredecessorNotScheduled() (gas: 66755) TimelockControllerTest:testOperationReadyAfterTheExecutionTime() (gas: 52984) TimelockControllerTest:testOperationReadyBeforeTheExecutionTime() (gas: 52927) TimelockControllerTest:testOperationReadyOnTheExecutionTime() (gas: 52821) -TimelockControllerTest:testOperationTargetRevert() (gas: 110365) +TimelockControllerTest:testOperationTargetRevert() (gas: 110362) TimelockControllerTest:testOperationTimestampHasBeenExecuted() (gas: 98112) TimelockControllerTest:testOperationTimestampHasNotBeenExecuted() (gas: 52195) TimelockControllerTest:testProposerCanBatchSchedule() (gas: 3088645) TimelockControllerTest:testProposerCanCancel() (gas: 20179) -TimelockControllerTest:testProposerCanSchedule() (gas: 75659) +TimelockControllerTest:testProposerCanSchedule() (gas: 75677) TimelockControllerTest:testProposerCannotBatchExecute() (gas: 1489786) -TimelockControllerTest:testProposerCannotExecute() (gas: 23599) -TimelockControllerTest:testReturnsLaterMinimumDelayForCalls() (gas: 20365) +TimelockControllerTest:testProposerCannotExecute() (gas: 23617) +TimelockControllerTest:testReturnsLaterMinimumDelayForCalls() (gas: 20331) TimelockControllerTest:testRevertWhenNotTimelock() (gas: 9053) TimelockControllerTest:testScheduleAndExecuteWithEmptySalt() (gas: 103471) TimelockControllerTest:testScheduleAndExecuteWithNonEmptySalt() (gas: 106828) TimelockControllerTest:testStrangerCannotBatchExecute() (gas: 748592) TimelockControllerTest:testStrangerCannotBatchSchedule() (gas: 746399) TimelockControllerTest:testStrangerCannotCancel() (gas: 11276) -TimelockControllerTest:testStrangerCannotExecute() (gas: 16414) -TimelockControllerTest:testStrangerCannotSchedule() (gas: 14198) +TimelockControllerTest:testStrangerCannotExecute() (gas: 16423) +TimelockControllerTest:testStrangerCannotSchedule() (gas: 14207) TimelockControllerTest:testSupportsInterfaceInvalidInterfaceId() (gas: 5628) TimelockControllerTest:testSupportsInterfaceInvalidInterfaceIdGasCost() (gas: 6418) TimelockControllerTest:testSupportsInterfaceSuccess() (gas: 7234) diff --git a/.gitmodules b/.gitmodules index 20be5e2e..ac883613 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,27 +1,27 @@ +[submodule "lib/murky"] + path = lib/murky + url = https://github.com/dmfxyz/murky.git +[submodule "lib/solady"] + path = lib/solady + url = https://github.com/vectorized/solady.git +[submodule "lib/solmate"] + path = lib/solmate + url = https://github.com/transmissions11/solmate.git +[submodule "lib/prb-test"] + path = lib/prb-test + url = https://github.com/paulrberg/prb-test.git [submodule "lib/forge-std"] path = lib/forge-std url = https://github.com/foundry-rs/forge-std.git [submodule "lib/create-util"] path = lib/create-util url = https://github.com/pcaversaccio/create-util.git +[submodule "lib/erc4626-tests"] + path = lib/erc4626-tests + url = https://github.com/a16z/erc4626-tests.git [submodule "lib/solidity-bytes-utils"] path = lib/solidity-bytes-utils url = https://github.com/GNSPS/solidity-bytes-utils.git [submodule "lib/openzeppelin-contracts"] path = lib/openzeppelin-contracts url = https://github.com/OpenZeppelin/openzeppelin-contracts.git -[submodule "lib/prb-test"] - path = lib/prb-test - url = https://github.com/paulrberg/prb-test.git -[submodule "lib/murky"] - path = lib/murky - url = https://github.com/dmfxyz/murky.git -[submodule "lib/erc4626-tests"] - path = lib/erc4626-tests - url = https://github.com/a16z/erc4626-tests.git -[submodule "lib/solady"] - path = lib/solady - url = https://github.com/vectorized/solady.git -[submodule "lib/solmate"] - path = lib/solmate - url = https://github.com/transmissions11/solmate.git diff --git a/.prettierignore b/.prettierignore index b5bf3f2a..136923a9 100644 --- a/.prettierignore +++ b/.prettierignore @@ -11,3 +11,4 @@ lib/openzeppelin-contracts cache out dist +venv diff --git a/.solhintignore b/.solhintignore index b5bf3f2a..136923a9 100644 --- a/.solhintignore +++ b/.solhintignore @@ -11,3 +11,4 @@ lib/openzeppelin-contracts cache out dist +venv diff --git a/CHANGELOG.md b/CHANGELOG.md index b578abe9..09de05ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # 🕓 Changelog -## [`0.0.5`](https://github.com/pcaversaccio/snekmate/releases/tag/v0.0.5) (Unreleased) +## [`0.0.5`](https://github.com/pcaversaccio/snekmate/releases/tag/v0.0.5) (07-03-2024) ### 💥 New Features diff --git a/README.md b/README.md index 1f4d4af0..9800f547 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ **State-of-the-art**, **highly opinionated**, **hyper-optimised**, and **secure** 🐍Vyper smart contract building blocks. +> [!WARNING] > This is **experimental software** and is provided on an "as is" and "as available" basis. We **do not give any warranties** and **will not be liable for any losses** incurred through any use of this code base. ## 📜 Contracts @@ -60,6 +61,9 @@ src ## 🎛 Installation +> [!IMPORTANT] +> 🐍 snekmate uses a [ZeroVer](https://0ver.org)-based versioning scheme. This means 🐍 snekmate's major version will never exceed the first and most important number in computing: zero. + We offer three convenient ways to install the 🐍 snekmate contracts: ### 1️⃣ Foundry diff --git a/foundry.toml b/foundry.toml index 8d6d93ea..516e57fa 100644 --- a/foundry.toml +++ b/foundry.toml @@ -4,7 +4,6 @@ src = 'src' # the source directo test = 'test' # the test directory out = 'out' # the output directory (for artifacts) libs = ['lib'] # a list of library directories -remappings = [] # a list of remappings cache = true # whether to cache builds or not cache_path = 'cache' # where the cache is stored if enabled force = false # whether to ignore the cache (clean build) diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index 7417c594..8b2f29ce 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit 7417c5946f8a213a8e61eca8d3c5247bf3854249 +Subproject commit 8b2f29ceb0db64957a49deb63af7792772bd7a5d diff --git a/package.json b/package.json index 1e6d6613..e6bc9b7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "snekmate", - "version": "0.0.5-rc.3", + "version": "0.0.5", "description": "State-of-the-art, highly opinionated, hyper-optimised, and secure 🐍Vyper smart contract building blocks.", "author": "Pascal Marco Caversaccio ", "license": "AGPL-3.0-only", diff --git a/pyproject.toml b/pyproject.toml index ec1f01c7..cd8eb970 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "snekmate" -version = "0.0.5rc3" +version = "0.0.5" description = "State-of-the-art, highly opinionated, hyper-optimised, and secure 🐍Vyper smart contract building blocks." readme = {file = "README.md", content-type = "text/markdown"} requires-python = ">=3.10" diff --git a/scripts/compile.py b/scripts/compile.py index a3dd78ae..3f25ed33 100644 --- a/scripts/compile.py +++ b/scripts/compile.py @@ -1,6 +1,6 @@ import subprocess, glob -for filename in glob.glob("**/*.vy", recursive=True): +for filename in glob.glob("src/**/*.vy", recursive=True): result = subprocess.run( ["vyper", "-f", "userdoc,devdoc", filename], capture_output=True, text=True )