Skip to content

Add new version of common lib - #55

Merged
toninorair merged 3 commits into
mainfrom
feat/new-version-of-common-libs
Sep 17, 2026
Merged

toninorair merged 3 commits into
mainfrom
feat/new-version-of-common-libs

Conversation

@toninorair

Copy link
Copy Markdown
Contributor

No description provided.

@CLAassistant

CLAassistant commented Sep 17, 2026 •

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 2 committers have signed the CLA.

✅ toninorair
❌ PierrickGT
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

Changes to gas cost

Generated at commit: ccabf0473fe0b073d47e89f2e89758e5195e0125, compared to commit: 3d82be9440793f2cec52f86f65c91a6a6974dd8a

🧾 Summary (20% most significant diffs)

Contract Method Avg (+/-) %
ContinuousIndexingMathHarness convertFromBasisPoints
convertToBasisPoints
exponent
getContinuousIndex
multiplyIndicesDown
+137 ❌
+126 ❌
+949 ❌
+1,091 ❌
+130 ❌
+31.79%
+23.77%
+163.06%
+157.43%
+23.72%
ERC20ExtendedHarness receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
transferFrom
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
+4,889 ❌
+2,338 ❌
+4,889 ❌
+6.28%
+7.06%
+6.28%

Full diff report 👇
Contract Deployment Cost (+/-) Method Min (+/-) % Avg (+/-) % Median (+/-) % Max (+/-) % # Calls (+/-)
ContinuousIndexingMathHarness 335,530 (+62,065) convertFromBasisPoints
convertToBasisPoints
exponent
getContinuousIndex
multiplyIndicesDown
568 (+137)
656 (+126)
1,531 (+949)
1,784 (+1,091)
678 (+130)
+31.79%
+23.77%
+163.06%
+157.43%
+23.72%
568 (+137)
656 (+126)
1,531 (+949)
1,784 (+1,091)
678 (+130)
+31.79%
+23.77%
+163.06%
+157.43%
+23.72%
568 (+137)
656 (+126)
1,531 (+949)
1,784 (+1,091)
678 (+130)
+31.79%
+23.77%
+163.06%
+157.43%
+23.72%
568 (+137)
656 (+126)
1,531 (+949)
1,784 (+1,091)
678 (+130)
+31.79%
+23.77%
+163.06%
+157.43%
+23.72%
110,962 (0)
4 (0)
27 (0)
110,976 (0)
110,960 (0)
ERC20ExtendedHandler 766,606 (-12) approve
burn
mint
transfer
transferFrom
31,355 (+1,760)
41,828 (-363)
381 (0)
477 (0)
488 (0)
+5.95%
-0.86%
0.00%
0.00%
0.00%
45,717 (-2,588)
46,253 (+553)
50,688 (-2,690)
57,726 (-8,267)
54,412 (-8,067)
-5.36%
+1.21%
-5.04%
-12.53%
-12.91%
51,303 (-264)
44,691 (0)
62,063 (-48)
60,896 (-12)
60,925 (-216)
-0.51%
0.00%
-0.08%
-0.02%
-0.35%
51,879 (0)
53,627 (0)
96,839 (0)
131,412 (+15)
133,779 (+156)
0.00%
0.00%
0.00%
+0.01%
+0.12%
12,921 (+18)
12,835 (+104)
12,949 (+260)
12,987 (+109)
12,559 (-490)
ERC20ExtendedHarness 1,677,854 (0) approve
burn
mint
permit
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes)
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)
setAuthorizationState
transfer
transferFrom
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes)
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)
26,013 (+1,760)
24,108 (-12)
28,461 (0)
23,832 (-12)
60,754 (0)
59,899 (0)
29,183 (0)
27,324 (+4,800)
24,109 (-12)
24,594 (-12)
60,586 (0)
59,863 (0)
29,086 (0)
+7.26%
-0.05%
0.00%
-0.05%
0.00%
0.00%
0.00%
+21.31%
-0.05%
-0.05%
0.00%
0.00%
0.00%
41,105 (-2,170)
29,681 (+290)
50,627 (+2,190)
60,489 (+68)
83,632 (+4,889)
82,777 (+4,889)
80,251 (+4,637)
41,013 (+960)
31,643 (-1,742)
35,432 (+2,338)
83,474 (+4,889)
82,751 (+4,889)
80,305 (+4,654)
-5.01%
+0.99%
+4.52%
+0.11%
+6.21%
+6.28%
+6.13%
+2.40%
-5.22%
+7.06%
+6.22%
+6.28%
+6.15%
45,973 (-264)
28,711 (0)
51,377 (-36)
74,966 (-18)
83,826 (+4,796)
82,971 (+4,796)
83,184 (+4,800)
44,436 (0)
28,871 (0)
31,873 (-12)
83,666 (+4,796)
82,943 (+4,796)
83,046 (+4,792)
-0.57%
0.00%
-0.07%
-0.02%
+6.07%
+6.13%
+6.12%
0.00%
0.00%
-0.04%
+6.08%
+6.14%
+6.12%
46,537 (0)
34,695 (0)
68,873 (0)
75,881 (-12)
84,222 (+4,800)
83,367 (+4,800)
83,588 (+4,800)
44,436 (0)
51,955 (0)
57,769 (+3,098)
84,062 (+4,800)
83,339 (+4,800)
83,450 (+4,800)
0.00%
0.00%
0.00%
-0.02%
+6.04%
+6.11%
+6.09%
0.00%
0.00%
+5.67%
+6.06%
+6.11%
+6.10%
14,746 (+523)
13,350 (+104)
15,269 (-1,030)
1,548 (0)
258 (0)
258 (0)
272 (0)
5 (0)
12,125 (-1,267)
10,962 (-2,858)
258 (0)
258 (0)
271 (0)
Bytes32StringHarness 238,480 (0) toBytes32
toString
822 (0)
698 (0)
0.00%
0.00%
846 (-1)
7,887 (+383)
-0.12%
+5.10%
856 (0)
9,651 (+1,650)
0.00%
+20.62%
856 (0)
11,261 (0)
0.00%
0.00%
293 (0)
293 (0)
ERC20ExtendedUpgradeableHarness 1,964,420 (0) approve
burn
mint
permit
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes)
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
receiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)
transferFrom
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes)
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,bytes32,bytes32)
transferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)
4,725 (0)
2,789 (0)
7,154 (0)
862 (0)
41,138 (0)
40,798 (0)
9,766 (0)
2,936 (0)
41,087 (0)
40,770 (0)
9,689 (0)
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
24,374 (-193)
7,716 (+11)
46,579 (-22)
40,600 (+64)
63,672 (+177)
63,332 (+177)
60,644 (+168)
15,154 (-221)
63,620 (+176)
63,303 (+176)
60,696 (+168)
-0.79%
+0.14%
-0.05%
+0.16%
+0.28%
+0.28%
+0.28%
-1.44%
+0.28%
+0.28%
+0.28%
24,625 (0)
7,176 (0)
46,954 (0)
55,898 (0)
63,858 (+20)
63,518 (+20)
63,557 (0)
8,262 (0)
63,787 (0)
63,470 (0)
63,419 (0)
0.00%
0.00%
0.00%
0.00%
+0.03%
+0.03%
0.00%
0.00%
0.00%
0.00%
0.00%
24,625 (0)
12,776 (0)
46,954 (0)
56,167 (0)
63,858 (0)
63,518 (0)
63,577 (0)
35,516 (0)
63,807 (0)
63,490 (0)
63,439 (0)
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
0.00%
1,033 (0)
515 (0)
3,612 (0)
1,548 (0)
258 (0)
258 (0)
272 (0)
775 (0)
258 (0)
258 (0)
271 (0)
Proxy 0 (-104,317) fallback 5,070 (0) 0.00% 37,877 (+499) +1.34% 16,681 (0) 0.00% 165,559 (0) 0.00% 19,346 (0)
DeployTimelockHelpersHarness 2,670,783 (-12) deployTimelockWithRolesGranted 1,587,023 (0) 0.00% 1,603,056 (+9,950) +0.62% 1,603,056 (+9,950) +0.62% 1,619,090 (+19,900) +1.24% 2 (0)
TransferHelperHarness 472,638 (+12) safeApprove
safeTransfer
safeTransferExact
safeTransferExactFrom
safeTransferFrom
25,909 (0)
28,310 (-96)
32,918 (0)
36,230 (0)
34,039 (0)
0.00%
-0.34%
0.00%
0.00%
0.00%
37,129 (-78)
40,900 (-70)
68,107 (-66)
74,194 (-77)
47,034 (-82)
-0.21%
-0.17%
-0.10%
-0.10%
-0.17%
27,294 (-6)
29,679 (0)
68,274 (0)
74,383 (0)
34,839 (0)
-0.02%
0.00%
0.00%
0.00%
0.00%
48,875 (0)
53,780 (0)
80,919 (0)
87,024 (0)
59,931 (0)
0.00%
0.00%
0.00%
0.00%
0.00%
1,028 (0)
1,028 (0)
514 (0)
514 (0)
1,028 (0)
ContractHelperHarness 221,136 (0) getContractFrom 697 (0) 0.00% 754 (+1) +0.13% 768 (0) 0.00% 781 (0) 0.00% 270 (0)
SignatureCheckerHarness 618,072 (-12) isValidSignature
recoverECDSASigner(bytes32,bytes32,bytes32)
4,436 (0)
805 (0)
0.00%
0.00%
4,965 (-1)
4,219 (-1)
-0.02%
-0.02%
4,952 (0)
4,243 (0)
0.00%
0.00%
8,729 (0)
4,243 (0)
0.00%
0.00%
534 (0)
260 (0)
AccountWithFunctionReturningNothing 124,195 (+12)
AccountWithRevertingFunction 129,175 (-12)
FeeOnTransferERC20 429,052 (-12)
ERC712ExtendedUpgradeableHarness 980,034 (-12)
IndexingMathHarness 285,253 (+67,137)

@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

LCOV of commit 10702a0 during Forge Coverage #183

Summary coverage rate:
  lines......: 95.4% (476 of 499 lines)
  functions..: 95.6% (153 of 160 functions)
  branches...: no data found

Files changed coverage rate:
                                     |Lines       |Functions  |Branches    
  Filename                           |Rate     Num|Rate    Num|Rate     Num
  =========================================================================
  src/ERC3009Upgradeable.sol         |33.3%     57| 0.0%    19|    -      0
  src/libs/ContinuousIndexingMath.sol|46.2%     13| 0.0%     5|    -      0
  src/libs/IndexingMath.sol          |38.5%     13| 0.0%     5|    -      0

Comment thread src/libs/IndexingMath.sol
Comment thread test/IndexingMath.t.sol
@toninorair
toninorair merged commit 81ec16e into main Sep 17, 2026
2 of 3 checks passed
@toninorair
toninorair deleted the feat/new-version-of-common-libs branch September 17, 2026 22:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants