Skip to content

Commit

Permalink
✨ DynamicBufferLib push singles (#931)
Browse files Browse the repository at this point in the history
  • Loading branch information
Vectorized committed May 13, 2024
1 parent ab1e79d commit 16cbe5c
Show file tree
Hide file tree
Showing 3 changed files with 927 additions and 38 deletions.
72 changes: 37 additions & 35 deletions .gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,18 @@ DateTimeLibTest:testWeekday() (gas: 682)
DateTimeLibTest:test__codesize() (gas: 19094)
DeploylessPredeployQueryerTest:testPredeployQueryer(bytes32) (runs: 271, μ: 227343, ~: 218488)
DeploylessPredeployQueryerTest:test__codesize() (gas: 6702)
DynamicBufferLibTest:testClear(uint256) (runs: 271, μ: 34490, ~: 34534)
DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 271, μ: 901374, ~: 796089)
DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 271, μ: 806480, ~: 684407)
DynamicBufferLibTest:testDynamicBufferChaining() (gas: 12499)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty() (gas: 2736)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty2() (gas: 2423)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 271, μ: 3172, ~: 2122)
DynamicBufferLibTest:testJoinWithConcat() (gas: 31407)
DynamicBufferLibTest:testJoinWithDynamicBuffer() (gas: 10764)
DynamicBufferLibTest:test__codesize() (gas: 9852)
DynamicBufferLibTest:testClear(uint256) (runs: 271, μ: 34512, ~: 34562)
DynamicBufferLibTest:testDynamicBuffer(bytes[],uint256) (runs: 271, μ: 941671, ~: 793328)
DynamicBufferLibTest:testDynamicBuffer(uint256) (runs: 271, μ: 814549, ~: 678271)
DynamicBufferLibTest:testDynamicBufferChaining() (gas: 12661)
DynamicBufferLibTest:testDynamicBufferPushSingles(uint256,uint256,uint256) (runs: 271, μ: 375615, ~: 42703)
DynamicBufferLibTest:testDynamicBufferPushSinglesReinterpretCast() (gas: 21959)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty() (gas: 2754)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty2() (gas: 2463)
DynamicBufferLibTest:testDynamicBufferReserveFromEmpty3(bytes,uint256) (runs: 271, μ: 2997, ~: 2150)
DynamicBufferLibTest:testJoinWithConcat() (gas: 31429)
DynamicBufferLibTest:testJoinWithDynamicBuffer() (gas: 10830)
DynamicBufferLibTest:test__codesize() (gas: 12754)
ECDSATest:testBytes32ToEthSignedMessageHash() (gas: 381)
ECDSATest:testBytesToEthSignedMessageHash() (gas: 11587935)
ECDSATest:testBytesToEthSignedMessageHashEmpty() (gas: 578)
Expand Down Expand Up @@ -192,7 +194,7 @@ ERC1967FactoryTest:testUpgradeAndCallWithRevert() (gas: 265645)
ERC1967FactoryTest:testUpgradeUnauthorized() (gas: 270340)
ERC1967FactoryTest:testUpgradeWithCorruptedProxy() (gas: 263130)
ERC1967FactoryTest:test__codesize() (gas: 32000)
ERC20Invariants:invariantBalanceSum() (runs: 256, calls: 3840, reverts: 2302)
ERC20Invariants:invariantBalanceSum() (runs: 256, calls: 3840, reverts: 2311)
ERC20Invariants:test__codesize() (gas: 7534)
ERC20Test:testApprove() (gas: 35730)
ERC20Test:testApprove(address,uint256) (runs: 271, μ: 31107, ~: 31181)
Expand Down Expand Up @@ -241,7 +243,7 @@ ERC4337Test:testDisableInitializerForImplementation() (gas: 1320597)
ERC4337Test:testETHReceived() (gas: 16584)
ERC4337Test:testExecute() (gas: 382808)
ERC4337Test:testExecuteBatch() (gas: 692731)
ERC4337Test:testExecuteBatch(uint256) (runs: 271, μ: 545941, ~: 669068)
ERC4337Test:testExecuteBatch(uint256) (runs: 271, μ: 543668, ~: 669058)
ERC4337Test:testInitializer() (gas: 285472)
ERC4337Test:testIsValidSignature() (gas: 119651)
ERC4337Test:testIsValidSignaturePersonalSign() (gas: 102966)
Expand Down Expand Up @@ -274,21 +276,21 @@ ERC4626Test:testWithdrawZero() (gas: 51874)
ERC4626Test:test__codesize() (gas: 37202)
ERC6551Test:testBaseFeeMini() (gas: 39514)
ERC6551Test:testCdFallback() (gas: 894982)
ERC6551Test:testDeployERC6551(uint256) (runs: 271, μ: 170655, ~: 168891)
ERC6551Test:testDeployERC6551(uint256) (runs: 271, μ: 170603, ~: 168890)
ERC6551Test:testDeployERC6551Proxy() (gas: 80395)
ERC6551Test:testExecute() (gas: 506735)
ERC6551Test:testExecuteBatch() (gas: 816151)
ERC6551Test:testExecuteBatch(uint256) (runs: 271, μ: 621149, ~: 482768)
ERC6551Test:testExecuteBatch(uint256) (runs: 271, μ: 623234, ~: 592342)
ERC6551Test:testInitializeERC6551ProxyImplementation() (gas: 189914)
ERC6551Test:testIsValidSigner(address) (runs: 271, μ: 167492, ~: 167474)
ERC6551Test:testOnERC1155BatchReceived() (gas: 1697916)
ERC6551Test:testOnERC1155Received() (gas: 1695271)
ERC6551Test:testOnERC721Received() (gas: 1738609)
ERC6551Test:testOnERC721ReceivedCycles() (gas: 1727948)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 271, μ: 450390, ~: 455363)
ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 271, μ: 1363684, ~: 1363678)
ERC6551Test:testOnERC721ReceivedCyclesWithDifferentChainIds(uint256) (runs: 271, μ: 450366, ~: 455356)
ERC6551Test:testOwnerWorksWithChainIdChange(uint256,uint256) (runs: 271, μ: 1363685, ~: 1363678)
ERC6551Test:testSupportsInterface() (gas: 169450)
ERC6551Test:testUpdateState(uint256) (runs: 271, μ: 235184, ~: 235124)
ERC6551Test:testUpdateState(uint256) (runs: 271, μ: 235185, ~: 235126)
ERC6551Test:testUpgrade() (gas: 248420)
ERC6551Test:test__codesize() (gas: 51483)
ERC6909Test:testApprove() (gas: 36868)
Expand Down Expand Up @@ -867,19 +869,19 @@ LibStringTest:testToStringZeroBrutalized() (gas: 546679)
LibStringTest:testToStringZeroRightPadded(uint256) (runs: 271, μ: 591359, ~: 547409)
LibStringTest:test__codesize() (gas: 40904)
LibZipTest:testCdCompress() (gas: 126842)
LibZipTest:testCdCompressDecompress(bytes) (runs: 271, μ: 748538, ~: 656042)
LibZipTest:testCdCompressDecompress(uint256) (runs: 271, μ: 799143, ~: 671488)
LibZipTest:testCdCompressDecompress(bytes) (runs: 271, μ: 749724, ~: 656502)
LibZipTest:testCdCompressDecompress(uint256) (runs: 271, μ: 786119, ~: 671836)
LibZipTest:testCdDecompressOnInvalidInput() (gas: 1397)
LibZipTest:testCdFallback() (gas: 5647022)
LibZipTest:testCdFallback(bytes,uint256) (runs: 271, μ: 1157343, ~: 1058090)
LibZipTest:testCdFallback(bytes,uint256) (runs: 271, μ: 1163535, ~: 1059172)
LibZipTest:testCdFallbackDecompressor(bytes) (runs: 271, μ: 121400, ~: 117715)
LibZipTest:testCdFallbackDecompressor(uint256) (runs: 271, μ: 173696, ~: 159949)
LibZipTest:testCdFallbackDecompressor(uint256) (runs: 271, μ: 171434, ~: 159867)
LibZipTest:testCdFallbackMaskTrick(uint256,uint256) (runs: 271, μ: 590, ~: 585)
LibZipTest:testDecompressWontRevert(bytes) (runs: 271, μ: 736437, ~: 634466)
LibZipTest:testFlzCompressDecompress() (gas: 1250087)
LibZipTest:testFlzCompressDecompress(bytes) (runs: 271, μ: 801847, ~: 674713)
LibZipTest:testFlzCompressDecompress2() (gas: 759122)
LibZipTest:test__codesize() (gas: 20352)
LibZipTest:testDecompressWontRevert(bytes) (runs: 271, μ: 738141, ~: 634927)
LibZipTest:testFlzCompressDecompress() (gas: 1250287)
LibZipTest:testFlzCompressDecompress(bytes) (runs: 271, μ: 802148, ~: 675173)
LibZipTest:testFlzCompressDecompress2() (gas: 759322)
LibZipTest:test__codesize() (gas: 20356)
MerkleProofLibTest:testEmptyCalldataHelpers() (gas: 985)
MerkleProofLibTest:testVerifyMultiProof(bool,bool,bool,bool,bytes32) (runs: 271, μ: 740107, ~: 642851)
MerkleProofLibTest:testVerifyMultiProofForHeightOneTree(bool,bool,bool,bool,bool,bool[]) (runs: 271, μ: 37178, ~: 38010)
Expand Down Expand Up @@ -1064,7 +1066,7 @@ SafeCastLibTest:testSafeCastUint256ToIntBench() (gas: 330222)
SafeCastLibTest:testSafeCastUint256ToUintBench() (gas: 326262)
SafeCastLibTest:testSafeCastUintToUint(uint256,uint256) (runs: 271, μ: 19336, ~: 24926)
SafeCastLibTest:test__codesize() (gas: 23270)
SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 271, μ: 109744, ~: 123540)
SafeTransferLibTest:testApproveWithGarbageReverts(address,uint256) (runs: 271, μ: 109928, ~: 123668)
SafeTransferLibTest:testApproveWithMissingReturn() (gas: 32065)
SafeTransferLibTest:testApproveWithMissingReturn(address,uint256) (runs: 271, μ: 32211, ~: 32285)
SafeTransferLibTest:testApproveWithNonContract() (gas: 3012)
Expand All @@ -1088,15 +1090,15 @@ SafeTransferLibTest:testApproveWithStandardERC20(address,uint256) (runs: 271, μ
SafeTransferLibTest:testBalanceOfStandardERC20() (gas: 7852)
SafeTransferLibTest:testBalanceOfStandardERC20(address,uint256) (runs: 271, μ: 40449, ~: 40719)
SafeTransferLibTest:testForceTransferETHToGriever() (gas: 1511565)
SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 271, μ: 538375, ~: 570885)
SafeTransferLibTest:testForceTransferETHToGriever(uint256,uint256) (runs: 271, μ: 538014, ~: 570885)
SafeTransferLibTest:testPermit2() (gas: 89497)
SafeTransferLibTest:testPermit2InvalidAmount(uint256) (runs: 271, μ: 102472, ~: 102494)
SafeTransferLibTest:testPermit2OnDAI() (gas: 89519)
SafeTransferLibTest:testPermit2TransferFromInvalidAmount(uint256) (runs: 271, μ: 133512, ~: 133949)
SafeTransferLibTest:testSimplePermit2AndPermit2TransferFrom() (gas: 1102105)
SafeTransferLibTest:testSimplePermit2AndPermit2TransferFromGas() (gas: 137347)
SafeTransferLibTest:testTransferAllETH() (gas: 34621)
SafeTransferLibTest:testTransferAllETH(address) (runs: 271, μ: 34671, ~: 35034)
SafeTransferLibTest:testTransferAllETH(address) (runs: 271, μ: 34789, ~: 35034)
SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts() (gas: 10846)
SafeTransferLibTest:testTransferAllETHToContractWithoutFallbackReverts(uint256) (runs: 271, μ: 10869, ~: 10869)
SafeTransferLibTest:testTransferAllFromWithStandardERC20() (gas: 33319)
Expand Down Expand Up @@ -1124,23 +1126,23 @@ SafeTransferLibTest:testTransferFromWithRevertingReverts() (gas: 527143)
SafeTransferLibTest:testTransferFromWithRevertingReverts(address,address,uint256) (runs: 271, μ: 655176, ~: 527301)
SafeTransferLibTest:testTransferFromWithStandardERC20() (gas: 566534)
SafeTransferLibTest:testTransferFromWithStandardERC20(address,address,uint256) (runs: 271, μ: 682809, ~: 566572)
SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 271, μ: 748750, ~: 648388)
SafeTransferLibTest:testTransferWithGarbageReverts(address,uint256) (runs: 271, μ: 748566, ~: 648388)
SafeTransferLibTest:testTransferWithMissingReturn() (gas: 554420)
SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 271, μ: 675337, ~: 554767)
SafeTransferLibTest:testTransferWithMissingReturn(address,uint256) (runs: 271, μ: 675336, ~: 554767)
SafeTransferLibTest:testTransferWithNonContract() (gas: 3010)
SafeTransferLibTest:testTransferWithNonContract(address,address,uint256) (runs: 271, μ: 3622, ~: 3634)
SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 271, μ: 739212, ~: 624046)
SafeTransferLibTest:testTransferWithNonGarbage(address,uint256) (runs: 271, μ: 739367, ~: 624046)
SafeTransferLibTest:testTransferWithReturnsFalseReverts() (gas: 530949)
SafeTransferLibTest:testTransferWithReturnsFalseReverts(address,uint256) (runs: 271, μ: 688395, ~: 531206)
SafeTransferLibTest:testTransferWithReturnsTooLittleReverts() (gas: 531136)
SafeTransferLibTest:testTransferWithReturnsTooLittleReverts(address,uint256) (runs: 271, μ: 683335, ~: 531152)
SafeTransferLibTest:testTransferWithReturnsTooMuch() (gas: 554821)
SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 271, μ: 635227, ~: 555224)
SafeTransferLibTest:testTransferWithReturnsTooMuch(address,uint256) (runs: 271, μ: 632419, ~: 555224)
SafeTransferLibTest:testTransferWithReturnsTwoReverts(address,uint256) (runs: 271, μ: 676551, ~: 531163)
SafeTransferLibTest:testTransferWithRevertingReverts() (gas: 530843)
SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 271, μ: 730501, ~: 531121)
SafeTransferLibTest:testTransferWithRevertingReverts(address,uint256) (runs: 271, μ: 730501, ~: 531142)
SafeTransferLibTest:testTransferWithStandardERC20() (gas: 555088)
SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 271, μ: 621450, ~: 555059)
SafeTransferLibTest:testTransferWithStandardERC20(address,uint256) (runs: 271, μ: 629241, ~: 555059)
SafeTransferLibTest:testTrySafeTransferFrom(address,address,uint256) (runs: 271, μ: 109073, ~: 111573)
SafeTransferLibTest:testTryTransferAllETH() (gas: 148698)
SafeTransferLibTest:testTryTransferETH() (gas: 148701)
Expand Down

0 comments on commit 16cbe5c

Please sign in to comment.