ca755ce799
Add AddressToUintMap ( #3150 )
...
* add AddressToUintMap
* Update contracts/utils/structs/EnumerableMap.sol
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* address comments
* lint code
* merge mocks into a single file
* add PR link to changelog entry
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-02-01 17:37:32 +01:00
4f8af2dceb
Add test and docs describing a misuse of MerkleProof ( #3090 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2022-01-31 12:10:13 -03:00
783ac759a9
upgrade solidity-coverage to 0.7.18 to support ERC165 coverage ( #3117 )
2022-01-18 00:05:17 -03: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
a65c03bc0d
Implement Non Fungible Token Royalty (EIP2981) ( #3012 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2022-01-06 19:34:57 -03:00
ef0273fde1
Add Base64 library to utils ( #2884 )
...
* Add Base64 library to utils
* Fix typo on Base64 padding
* Added documentation for Base64 and references from ERC1155 and ERC721
* Updated Changelog
* Fix typo in utilities doc
* use mstore8 to improve memory accesses
* use shorter strings with encodePacked
* do not use using-for syntax, for clarity
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-12-29 20:41:20 +01:00
b42b05311b
Add ERC721Votes for NFT-based governance ( #2944 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien@openzeppelin.com >
2021-12-10 18:58:45 -03: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
7006e4e3e6
Remove invalid parameters in MerkleProof tests ( #2912 )
2021-10-14 22:02:49 -03:00
5b28259dac
#890 : Add ECDSA.toEthSignedMessageHash(bytes) for abritrary length message hashing ( #2865 )
...
* #890 : Add ECDSA#toEthSignedMessage for bytes type
* refactor
* add test, refactor
* select overloaded function explicitly
* use short test message string
* add changelog entry
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-10-11 14:59:30 +02:00
541e82144f
Optimize EOA signature verification ( #2661 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-08-06 10:47:52 -03:00
7279273ebb
Fix inconsistencies in contract/test hierachy ( #2814 )
...
* Fix inconsistencies in contract/test hierachy
* changelog entry
2021-08-06 13:43:23 +02:00
4b152bd8ce
Improve Governor ( #2794 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-08-04 18:29:13 -03:00
6c1a634053
Add Governor contracts ( #2672 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-07-16 12:44:01 -03:00
f88e555234
Add values() functions to EnumerableSets ( #2768 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-07-16 12:06:47 -03: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
f7da53cebd
Add a BitMap struct ( #2710 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-11 15:24:00 -03:00
e3661abe84
Split ERC20Votes and ERC20VotesComp ( #2706 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-06-04 12:52:19 -03:00
1488d4f678
Improve ECDSA tests and docs ( #2619 )
2021-06-01 17:59:24 -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
8ea06b75aa
Add a Counter.reset function ( #2678 )
2021-05-19 15:52:43 -03:00
165e6f1948
EnumerableSet: Remove Boundary Check in _at ( #2606 )
...
* remove boundary check
* fix tests for EnumerableSet "index out of bound"
* Changelog
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-04-20 19:51:26 +00:00
1c676ac0ec
Implement UUPS proxy (ERC1822) ( #2542 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-16 11:41:47 -03:00
555be63c90
Add support for EIP2098 "short signatures" in the ECDSA library ( #2582 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-09 22:58:03 +00:00
7f6a1666fa
Add Multicall module ( #2608 )
2021-04-07 17:26:40 +00:00
0c621246d3
Add tooling to verify signatures with support for ERC1271 ( #2532 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-04-07 13:09:17 +00:00
82e3ec3afe
Fix MerkleProof generation in tests and add some documentation ( #2585 )
2021-03-12 21:41:54 +00:00
508a879ef0
Remove merkleTree.js in favor of merkletreejs dependency ( #2578 )
2021-03-10 18:30:16 +01:00
29ffe6f426
Add ERC165 interface detection to AccessControl ( #2562 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com >
2021-03-04 18:50:12 -03:00
24a0bc23cf
Reorganize the repo structure ( #2503 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-02-22 16:44:16 +00:00
f7c8252611
Remove GSNv1 contracts ( #2521 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-02-18 15:27:18 +00:00
9c1e703990
Add a Strings.toHexString function ( #2504 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-02-08 20:55:56 +00:00
f2112be4d8
Add revert string to Counter decrement overflow ( #2500 )
2021-02-04 20:28:13 +00:00
0db76e98f9
Merge branch 'solc-0.7' into solc-0.8
2021-01-27 11:28:23 +01:00
c34211417c
Refactor SafeMath to avoid memory leaks ( #2462 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-01-18 18:06:27 -03:00
974c534210
Update contracts to support Solidity 0.8.x ( #2442 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2021-01-14 19:38:53 -03:00
c6b07b33c5
Lint
2020-11-11 12:24:08 -03:00
47e37975c9
Remove bad SafeCast test
2020-11-11 12:22:06 -03:00
fcdf8f4618
Add BytesSet ( #2395 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-11-04 16:57:48 -03:00
f06738828b
Migrate to Hardhat ( #2397 )
2020-10-28 17:03:05 -03:00
87326f7313
Add functionStaticCall and functionDelegateCall methods to Address library ( #2333 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-09-17 16:19:11 -03:00
ace35fdeda
Update all dependencies transitively ( #2363 )
2020-09-16 12:14:53 -03:00
c7d99531a7
Re-enable coverage analysis ( #2291 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-09-15 20:59:42 -03:00
0b489f4d79
Improve test descriptions #1157 ( #2334 )
...
Co-authored-by: Paolo Dibitonto <p.dibitonto@almaviva.it >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-08-25 14:58:45 -03:00
8b58fc7191
feat: add wrapper function for low level calls ( #2264 )
...
* feat: add wrapper function for low level calls
* add error message parameter
* adding unit tests and required mocks
* implement error message on SafeERC20
* fixed variable name in tests
* Add missing tests
* Improve docs.
* Add functionCallWithValue
* Add functionCallWithValue
* Skip balance check on non-value functionCall variants
* Increase out of gas test timeout
* Fix compile errors
* Apply suggestions from code review
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
* Add missing tests
* Add changelog entry
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-06-11 16:25:46 -03:00
d7a6e7be2e
Feature/uint enumerable set tests #2253 ( #2254 )
...
* feature: setting sublevel test scenario for AddressSet
* feat: adding tests for EnumerableSet.UintSet
* feat: adding Behavior and AddressSet and UintSet tests
2020-06-04 14:57:35 -03:00
5513dfd3cf
Adding SafeCast variants for signed integers ( #2243 )
...
* feat: Adding SafeCast variants for signed integers
* Add newline at EOF
* Update CHANGELOG.md
* Update contracts/utils/SafeCast.sol
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com >
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com >
2020-05-26 19:17:34 -03:00
bd0778461d
Add EnumerableMap, refactor ERC721 ( #2160 )
...
* Implement AddressSet in terms of a generic Set
* Add Uint256Set
* Add EnumerableMap
* Fix wording on EnumerableSet docs and tests
* Refactor ERC721 using EnumerableSet and EnumerableMap
* Fix tests
* Fix linter error
* Gas optimization for EnumerableMap
* Gas optimization for EnumerableSet
* Remove often not-taken if from Enumerable data structures
* Fix failing test
* Gas optimization for EnumerableMap
* Fix linter errors
* Add comment for clarification
* Improve test naming
* Rename EnumerableMap.add to set
* Add overload for EnumerableMap.get with custom error message
* Improve Enumerable docs
* Rename Uint256Set to UintSet
* Add changelog entry
2020-04-02 15:43:06 -03:00
0408e51ae6
Bundle ERC20Detailed ( #2161 )
...
* Merge ERC20Detailed into ERC20, make derived contracts abstract
* Fix Create2 tests
* Fix failing test
* Default decimals to 18
* Add tests for setupDecimals
* Add changelog entry
* Update CHANGELOG.md
* Update CHANGELOG.md
* Replace isConstructor for !isContract
* Update CHANGELOG.md
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com >
Co-authored-by: Francisco Giordano <frangio.1@gmail.com >
2020-04-02 15:30:21 -03:00