f1a69f164e
Add Halmos support for formal verification ( #5034 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2024-05-23 09:01:12 -06:00
4032b42694
Branchless ternary, min and max methods ( #4976 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Ernesto García <ernestognw@gmail.com >
2024-04-23 14:08:08 +02:00
96e5c0830a
Deduplicate code in scripts/helpers and test/helpers/iterate ( #4895 )
...
Co-authored-by: ernestognw <ernestognw@gmail.com >
2024-02-15 17:40:48 -06:00
4e7e6e54da
Add bytes memory version of Math.modExp ( #4893 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2024-02-14 10:06:34 +01:00
f8b1ddf591
Add variants of Array.sort for address[] and bytes32[] ( #4883 )
...
Co-authored-by: Ernesto García <ernestognw@gmail.com >
2024-02-12 16:34:07 +00:00
17a8955cd8
Optimize Math operations using branchless bool to uint translation. ( #4878 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: ernestognw <ernestognw@gmail.com >
2024-02-07 10:20:25 +01:00
192e873fcb
Add Math.modExp and a Panic library ( #3298 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: ernestognw <ernestognw@gmail.com >
2024-02-02 18:40:00 +01:00
e86bb45477
Add a Math.inv function that inverse a number in Z/nZ ( #4839 )
...
Co-authored-by: ernestognw <ernestognw@gmail.com >
2024-01-24 09:57:24 +01:00
dfae50fa5b
Refactor abs without logical branching ( #4497 )
...
Co-authored-by: Francisco Giordano <fg@frang.io >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: ernestognw <ernestognw@gmail.com >
2024-01-18 20:22:47 +00:00
a72c9561b9
Finalize test migration: remove legacy dependencies and test helpers ( #4797 )
2023-12-26 23:46:06 +01:00
015ef69287
Refactor time helper and remove custom error helper. ( #4803 )
...
Co-authored-by: ernestognw <ernestognw@gmail.com >
2023-12-22 19:50:25 +00:00
cffb2f1ddc
Migrate math tests to ethers.js v6 ( #4769 )
...
Co-authored-by: Ernesto García <ernestognw@gmail.com >
2023-12-04 13:00:00 -06:00
e5fb718d40
Optimized gas costs in ceilDiv ( #4553 )
2023-11-23 09:31:14 -06:00
8643fd45fd
Update remappings and install instructions for Foundry on docs site ( #4498 )
...
Co-authored-by: ernestognw <ernestognw@gmail.com >
2023-08-08 23:22:57 -03:00
00cbf5a236
Update pragma to 0.8.20 ( #4489 )
...
Co-authored-by: Francisco Giordano <fg@frang.io >
Co-authored-by: ernestognw <ernestognw@gmail.com >
2023-07-31 17:25:45 -03:00
84db204a41
Rename rounding modes and complete with fourth ( #4455 )
...
Co-authored-by: ernestognw <ernestognw@gmail.com >
2023-07-13 17:52:03 -03:00
874c2d3c02
Use explicit imports ( #4399 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: ernestognw <ernestognw@gmail.com >
2023-06-29 20:12:26 +00:00
2477534260
Change behavior of ceilDiv(0, 0) and improve test coverage ( #4348 )
2023-06-14 17:21:42 -03:00
b425a72240
Replace revert strings with custom errors ( #4261 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco <fg@frang.io >
2023-06-12 23:41:52 +00:00
7bb5592ad5
Bump minimum pragma version to 0.8.19 ( #4288 )
2023-05-29 21:37:37 +02:00
0f10efe232
Remove code in preparation for v5.0 ( #4258 )
...
Co-authored-by: Ernesto García <ernestognw@gmail.com >
Co-authored-by: Francisco <fg@frang.io >
2023-05-19 22:48:05 +02:00
d64d7aa5d1
ERC4626 inflation attack mitigation ( #3979 )
...
Co-authored-by: Francisco <fg@frang.io >
2023-02-17 10:08:31 +01:00
a28aafdc85
Use Prettier for JS files ( #3913 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2023-01-04 15:03:40 +01:00
c1d9da4052
Use hardhat-exposed to reduce the need for mocks ( #3666 )
...
Co-authored-by: Francisco <fg@frang.io >
2023-01-03 14:38:13 +00:00
2336bd3e8e
Simplify ESLint config ( #3903 )
2022-12-29 17:08:12 -03:00
b709eae01d
Update Prettier Solidity ( #3898 )
2022-12-23 22:28:05 -03:00
7201e6707f
Fix typo in a comment ( #3747 )
2022-10-03 10:06:44 +02:00
c08c6e1b84
Add fuzz testing of mulDiv ( #3717 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-09-23 18:45:20 -03:00
8f0d4d4a41
Fix fuzzing coverage ( #3716 )
2022-09-22 23:13:09 +02:00
80ae402387
Add fuzz tests for Math.sqrt & Math.logX using Foundry ( #3676 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-09-07 14:25:29 -03:00
c1d6e39aab
Add log2, log10 and log256 functions ( #3670 )
2022-09-07 08:29:48 +00:00
3ac4add548
Add sqrt for math ( #3242 )
2022-06-07 08:26:45 +02:00
5e00787199
ERC4626 ( #3171 )
2022-06-02 10:03:03 +02:00
b61faf8368
Procedural SafeCast.sol generation ( #3245 )
2022-05-21 14:38:31 +02:00
3eb2d43b06
Move abs(int256) from Math to SafeMath ( #3110 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-14 22:27:04 +00:00
3458c1e854
Add SignedMath with math utilities for signed integers ( #2686 )
...
* add contract and tests
* avoid implicit cast
* add test cases
* fix test names
* modify avarage and add tests
* improve signed average formula
* fix lint
* better average formula
* refactor signed average testing
* add doc and changelog entry
* Update contracts/utils/math/SignedMath.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* remove ceilDiv
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-12 20:08:59 +01:00
f6db5c1f30
A function which returns the absolute value of a signed value ( #2984 )
...
* Add a function which returns the absolute (and obviously unsigned) value of a signed value.
* add changelog entry and fix lint
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-11-24 14:09:05 +01:00
6d97f09195
Gas optimization on average function of Math.sol ( #2757 )
...
* change implementation to save gas
* add average test with two max uni256 number
2021-07-10 21:28:12 +02:00
e3661abe84
Split ERC20Votes and ERC20VotesComp ( #2706 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-04 12:52:19 -03:00
7c754d0665
Add ceiling division operation to the Math.sol library ( #2681 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-05-20 13:53:31 +00:00
24a0bc23cf
Reorganize the repo structure ( #2503 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-02-22 16:44:16 +00:00