Ernesto García
7bb5592ad5
Bump minimum pragma version to `0.8.19` ( #4288 )
2 years ago
kfishnchips
5420879d9b
Ability to set starting token id for ERC721Consecutive ( #4097 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2 years ago
Francisco Giordano
e58c6d8ff4
Fix linter error
2 years ago
Hadrien Croubois
8ba26f388f
Merge pull request from GHSA-878m-3g6q-594q
...
* Test batch minting of 1
* Fix balance tracking
* fix lint
* add changeset
* rename UNSAFE -> unsafe
* fix docs
* fix changeset
* grammar
* add explanation of preserved invariant
* add fuzz tests
* rename variable
* improve property definition
* add burn
* add test ownership multiple batches
* refactor fuzz tests
* change ownership test for better probability
* typo
* reorder comment
* update changelog notes
* edit changelog
* lint
* Update CHANGELOG.md
---------
Co-authored-by: Francisco Giordano <fg@frang.io>
2 years ago
Hadrien Croubois
08d085f2c9
Fix ERC4906 compliance of ERC721URIStorage ( #4055 )
...
Co-authored-by: Francisco <fg@frang.io>
2 years ago
Hadrien Croubois
96a2297e15
Add IERC4906 interface and use in ERC721 ( #4012 )
...
Co-authored-by: Francisco Giordano <fg@frang.io>
2 years ago
Hadrien Croubois
d5d9d4bd3d
Simplify ERC721Wrapper.depositFor to save gas ( #4048 )
2 years ago
Ernesto García
2c711d0b05
Restrict ERC721Wrapper wrap by direct transfer ( #4043 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2 years ago
Ernesto García
6259e13a0c
Improve ERC721 Wrapper tests ( #4039 )
2 years ago
Hadrien Croubois
790cc5b65a
Add timestamp based governor with EIP-6372 and EIP-5805 ( #3934 )
...
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Francisco <frangio.1@gmail.com>
2 years ago
Ernesto García
94cd8ef12e
Add ERC721 Wrapper ( #3863 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2 years ago
Hadrien Croubois
7c6e289782
Prepare tests for hardhat-exposed transition ( #3930 )
...
Co-authored-by: Francisco <frangio.1@gmail.com>
2 years ago
Francisco
a28aafdc85
Use Prettier for JS files ( #3913 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2 years ago
Hadrien Croubois
c1d9da4052
Use hardhat-exposed to reduce the need for mocks ( #3666 )
...
Co-authored-by: Francisco <fg@frang.io>
2 years ago
Francisco
2336bd3e8e
Simplify ESLint config ( #3903 )
2 years ago
JulissaDantes
e2d2ebc8fc
Make ERC20Votes independent from ERC20Permit ( #3816 )
...
Co-authored-by: Francisco <frangio.1@gmail.com>
2 years ago
Hadrien Croubois
4a9db80cb9
Remove presets ( #3637 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
Co-authored-by: JulissaDantes <julissadcj@gmail.com>
2 years ago
Hadrien Croubois
0b3acb286a
Recommended improvement to ERC721Consecutive ( #3712 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
(cherry picked from commit c22db8104e
)
2 years ago
Hadrien Croubois
c22db8104e
Recommended improvement to ERC721Consecutive ( #3712 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
2 years ago
Hadrien Croubois
171fa40bc8
ERC721 extension for efficient batch minting ( #3311 )
...
Co-authored-by: Francisco <frangio.1@gmail.com>
2 years ago
Aleksei Magusev
fbf235661e
Improve grammar in transfer error messages ( #3542 )
3 years ago
EthanOK
96163c87e3
Implicitly clear ERC721 approval on burn ( #3538 )
3 years ago
Andrew Parker
e02c378745
Implicitly clear ERC721 approval on transfers ( #3481 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
3 years ago
Francisco Giordano
62f2c0531b
Simplify ERC721 revert reasons ( #3438 )
3 years ago
rotcivegaf
82a63f6389
Remove redundant require in ERC721 ( #3434 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
3 years ago
Kata
488dd562fb
Improve error messages for ERC721 and 1155 ( #3254 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
3 years ago
Niccolò Petti
d4e6236b2b
Fix deprecated expectEvent.inLogs #3332 ( #3333 )
3 years ago
Amin Bashiri
742e85be7c
Change zero address revert message in the balanceOf function of ERC721 and ERC1155 ( #3314 )
3 years ago
JulissaDantes
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>
3 years ago
JulissaDantes
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>
3 years ago
robriks
0c858e2071
Improve revert reason in ERC721 ( #2975 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
3 years ago
William Entriken
d89f2a4ac6
Update ERC721.behavior.js ( #2801 )
4 years ago
William Entriken
f782943099
Move variable declaration to top of test file ( #2806 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
4 years ago
William Entriken
e1c0f3eaef
Update tests for RFC 2606 ( #2802 )
4 years ago
Hadrien Croubois
cd443f0d5b
Add tests to extend code coverage ( #2586 )
4 years ago
Francisco Giordano
f07c39be8a
Add ERC165 interface detection to AccessControl ( #2562 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
(cherry picked from commit 29ffe6f426
)
4 years ago
Francisco Giordano
29ffe6f426
Add ERC165 interface detection to AccessControl ( #2562 )
...
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
4 years ago
Hadrien Croubois
4390b8df12
Add ERC721URIStorage extension ( #2555 )
...
(cherry picked from commit 1705067e65
)
4 years ago
Hadrien Croubois
1705067e65
Add ERC721URIStorage extension ( #2555 )
4 years ago
Hadrien Croubois
24a0bc23cf
Reorganize the repo structure ( #2503 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
4 years ago
Hadrien Croubois
09734e8028
Remove enumerable from ERC721 and add an ERC721Enumerable extension ( #2511 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
4 years ago
Hadrien Croubois
e66e3ca523
Improve gas efficiency of EnumerableMap ( #2518 )
...
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
4 years ago
Hadrien Croubois
60205944bb
Adopt new Solidity features interfaceId, try/catch, keccak constants ( #2487 )
...
* Clean code
- using type().interfaceId to improve readeability of ERC165 registration
- hardcoding some keccak256 that are otherwise computed at construction.
* hardcode keccak256 result
* Improve code readeability using try/catch
* Remove hardcoded hash
tests show that solc 0.8.0 does the optimization as expected
* Use try/catch to improve readability
* ERC165Checker: Do not revert when returndata is empty + new test
* Address PR comments
* improve testing of ERC721Receiver errors
* put back comment about invalid interface id
* coverage does not support 0.8.1. Reverting back to 0.8.0
* bubble all data with length > 0 if onERC721Receive fails.
* Fix test: revert without message trigger is bubble with the default message
* using enum object to improve readability
4 years ago
Francisco Giordano
f06738828b
Migrate to Hardhat ( #2397 )
4 years ago
Francisco Giordano
ace35fdeda
Update all dependencies transitively ( #2363 )
4 years ago
dibi91
0b489f4d79
Improve test descriptions #1157 ( #2334 )
...
Co-authored-by: Paolo Dibitonto <p.dibitonto@almaviva.it>
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago
Nicolás Venturo
3e139baa50
Add missing hook to ERC777, fix relevant documentation ( #2191 )
...
* Improve ERC20/721 Pausable docs
* Add ERC20Pausable mint and burn tests
* Add ERC721Pausable mint and burn tests
* Add _beforeTransfer hook in ERC777 to mint and burn
5 years ago
Robert Kaiser
b6513f6ad7
provide 'automatic' token URI by appending the token ID to the base URI ( #2174 )
...
* provide 'automatic' token URI by appending the token ID to the base URI, if a base is set but no token-specific URI is available
* make the three cases more explicit, avoid else after return
* adjust comments to reflect reality
5 years ago
Nicolás Venturo
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
5 years ago
Nicolás Venturo
24c37c1f9e
Bundle ERC721 extensions into base contract ( #2149 )
...
* Add IERC721Metadata implementation into ERC721
* Add IERC721Enumerable into ERC721
* Update ERC721Pausable and ERC721Burnable
* Delete ERC721Metadata, ERC721Enumerable and ERC721 (now ERC721)
* Update mocks
* Update tests
* Update contracts/token/ERC721/ERC721.sol
Co-Authored-By: Francisco Giordano <frangio.1@gmail.com>
* Make ERC721Pausable and ERC721Burnable abstract
Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
5 years ago