diff --git a/.gas-snapshot b/.gas-snapshot index 762a423400..637914cd1c 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -914,9 +914,9 @@ ReceiverTest:test__codesize() (gas: 3310) RedBlackTreeLibTest:testRedBlackTreeBenchUint160() (gas: 3438464) RedBlackTreeLibTest:testRedBlackTreeBenchUint256() (gas: 5850774) RedBlackTreeLibTest:testRedBlackTreeClear() (gas: 57543) -RedBlackTreeLibTest:testRedBlackTreeClear(uint256) (runs: 256, μ: 303560, ~: 216103) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 640741, ~: 503212) -RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 426221, ~: 388854) +RedBlackTreeLibTest:testRedBlackTreeClear(uint256) (runs: 256, μ: 296953, ~: 214791) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 647105, ~: 525248) +RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 416355, ~: 388854) RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21537965) RedBlackTreeLibTest:testRedBlackTreeInsertBenchStep() (gas: 3711341) RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint160() (gas: 3476959) @@ -925,16 +925,16 @@ RedBlackTreeLibTest:testRedBlackTreeInsertOneGas() (gas: 45574) RedBlackTreeLibTest:testRedBlackTreeInsertTenGas() (gas: 283398) RedBlackTreeLibTest:testRedBlackTreeInsertThreeGas() (gas: 96286) RedBlackTreeLibTest:testRedBlackTreeInsertTwoGas() (gas: 69823) -RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 232855, ~: 222642) -RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 255913, ~: 246502) -RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 235523, ~: 200995) +RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 232208, ~: 224742) +RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 247456, ~: 246502) +RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 230754, ~: 192926) RedBlackTreeLibTest:testRedBlackTreePointers() (gas: 91923) RedBlackTreeLibTest:testRedBlackTreeRejectsEmptyValue() (gas: 3238) RedBlackTreeLibTest:testRedBlackTreeRemoveViaPointer() (gas: 58216) RedBlackTreeLibTest:testRedBlackTreeTreeFullReverts() (gas: 50359) RedBlackTreeLibTest:testRedBlackTreeTryInsertAndRemove() (gas: 56162) RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 177033) -RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 281311, ~: 237749) +RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 277183, ~: 218609) RedBlackTreeLibTest:test__codesize() (gas: 14806) ReentrancyGuardTest:testRecursiveDirectUnguardedCall() (gas: 34256) ReentrancyGuardTest:testRecursiveIndirectUnguardedCall() (gas: 47773) diff --git a/src/utils/RedBlackTreeLib.sol b/src/utils/RedBlackTreeLib.sol index fbbb10eabe..520c650cca 100644 --- a/src/utils/RedBlackTreeLib.sol +++ b/src/utils/RedBlackTreeLib.sol @@ -95,6 +95,7 @@ library RedBlackTreeLib { /// @dev Returns an array of all the values in the tree in ascending sorted order. /// WARNING! This function can exhaust the block gas limit if the tree is big. + /// It is intended for usage in off-chain view functions. function values(Tree storage tree) internal view returns (uint256[] memory result) { uint256 nodes = _nodes(tree); /// @solidity memory-safe-assembly