Compare commits

..

582 Commits

Author SHA1 Message Date
264f00fe39 更新合约文档,翻译为中文以增强可读性,包括 AccessControl、Ownable、ERC20 和 IERC20 的相关说明。修正了一些注释以确保准确性和一致性。
Some checks failed
transpile upgradeable / transpile (push) Has been cancelled
2025-07-12 23:27:57 +08:00
bc8f775df2 Add Calldata variants of ECDSA.recover, ECDSA.tryRecover and SignatureChecker.isValidSignatureNow (#5788) 2025-07-11 16:57:04 +02:00
667bb9b5c3 Clarify documentation for IAccessManager.canCall (#5795) 2025-07-11 16:54:18 +02:00
5def3f7c7e Add reverseBits operations to Bytes.sol (#5724)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-07-10 10:36:41 -06:00
21cd7e8aa3 Add Memory utility library (#5189)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-07-10 09:15:27 +02:00
a5350ecdd3 Add Strings.toHexString(bytes) (#5761) 2025-07-09 14:20:46 -06:00
fd9bbaec30 Add ERC-7786 interface (#5737) 2025-07-09 21:50:48 +02:00
6ef73e3386 Add Account framework docs and guides (#5660) 2025-07-09 09:10:48 -06:00
a95d01c30d Address 5.4 audit documentation improvements (#5779) 2025-07-09 15:53:47 +02:00
ba35d580f4 Cause _addSigners to revert if it triggers a totalWeight overflow (#5790) 2025-07-09 09:08:13 +02:00
f9f7db03f3 Fix flaky test testFuzzFutureBlocks (#5783)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-07-06 18:49:39 +02:00
0aaa23e57d Minimize pragma for MultiSignerERC7913Weighted.sol (#5778) 2025-07-03 13:51:56 -06:00
5936cd8025 Improve naming consystency in EnumerableSet (#5776) 2025-07-03 13:29:43 -06:00
292b3542fc Do not emit an event when setSignerWeight is a no-op (#5775) 2025-07-03 13:19:29 -06:00
6e14ecc01a Fix typos in release-5.4 (#5777) 2025-07-03 16:36:12 +02:00
cc94ea4930 MultiSignerERC7913: prevent setting the threshold to zero (#5772) 2025-06-27 13:29:40 +02:00
1a87de9326 Use hardhat network helper to clear code blockhash test (#5768)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-26 10:50:39 -04:00
2422d7cf7f Update hardhat and hardhat-ethers dependencies (#5752)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-25 16:45:59 +02:00
387ce69e6b Add script to automatically minimize pragma (#5740)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-06-25 09:56:44 -04:00
56fe41c588 Update dependency halmos to v0.3.0 (#5763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-25 10:50:09 +02:00
90117f33f0 Bump pbkdf2 from 3.1.2 to 3.1.3 (#5766)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-25 10:49:51 +02:00
b84db20fb2 Add checkpoint variant with uint256 keys and values (#5748)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-23 11:55:24 -04:00
6079eb3f01 Add signer constructors (#5757)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-06-20 13:09:28 +02:00
61f81e313c Annotate stateless cryptography contracts (#5756) 2025-06-20 11:49:06 +02:00
668221e314 Fix upgradeable workflow by not running the linter on transpiled output (#5754) 2025-06-19 14:11:57 +02:00
2909098755 ERC-7930 (#5736)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-06-19 09:17:04 +02:00
51da8ae490 Update dependency yargs to v18 (#5704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-18 22:01:19 +02:00
6ccfb7b891 Update dependency node to v22 (#5616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-18 14:41:05 +02:00
3eddace0cb Update dependency prettier-plugin-solidity to v2 (#5654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-17 17:07:27 +02:00
800200d452 Add Codeowners (#5749) 2025-06-16 22:30:31 +02:00
f27019d48e Add draft- prefix to ERC-7821 (#5742) 2025-06-13 20:34:57 +02:00
7be5dde82d Add MultiSignerERC7913Weighted (#5718) 2025-06-12 20:09:50 +02:00
5c79432e40 ERC20Bridgable (ERC-7802) (#5735)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-06-11 18:19:56 -06:00
bbc4d7ae67 Fix pragma check for upgradeable test (#5738) 2025-06-11 14:28:35 -04:00
8dcc4b9e88 Improve test of Blockhash.sol: all cases on supported and unsupported chains (#5732) 2025-06-11 19:48:25 +02:00
78c8da8648 Update pragma check: validate by actually running the compiler (#5730)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-06-11 10:55:49 -06:00
e11cac459e Add draft- prefix to ERC-7579 and ERC-7739 related files (#5728)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-06-09 14:10:35 -06:00
13d9086d0b Minimize Solidity pragma versions for interface compatibility (#5727) 2025-06-09 10:38:05 -06:00
be547e4d14 Update language in legal disclaimer (#5720) 2025-06-06 17:28:26 -04:00
4d13a007e2 Rename isValidERC7913SignatureNow to isValidSignatureNow (#5719) 2025-06-06 10:07:22 +02:00
1d9400e053 Add ERC7913 signers and utilities (#5659)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-05 09:22:26 -06:00
8bff2a72d9 Add Governor extension GovernorNoncesKeyed to use NoncesKeyed for vote by sig (#5574)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-06-05 15:03:18 +02:00
b6a5e89de7 Fix docs references to cryptographic utilities (#5717) 2025-06-04 18:23:02 -06:00
37f873d50b Increase SignatureChecker minimum pragma to 0.8.24 (#5716) 2025-06-04 10:44:41 -06:00
b3d6f71d0c Fix typos (#5631)
Co-authored-by: Olexandr88 <radole1203@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Maxim Tiron <xzstnc@mail.ru>
2025-06-04 10:51:10 +02:00
d20b9e30bd Add paginated version of EnumerableSet.values() and EnumerableMap.keys() (#5713)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-06-04 09:33:00 +02:00
f45e9158b7 Reorder cryptography folder (#5711)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-06-03 21:40:34 -06:00
784d4f71b1 Add non-value types in EnumerableSet and EnumerableMap (#5658)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-03 16:26:06 +02:00
4bafedfe72 Update dependency lint-staged to v16 (#5679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-06-03 09:28:34 +02:00
83d2a247be Add Account framework (#5657) 2025-06-02 08:22:57 -06:00
88962fb5ab Add EIP7702Utils (#5587) 2025-06-01 21:08:11 -06:00
a6ae04acf8 Refactor Blockhash lib (#5702) 2025-05-29 17:23:34 +02:00
a7d38c7a33 Revert #5663 changes that were missed in #5696 (#5703) 2025-05-27 14:44:59 -04:00
441b1c1c5b Remove legacy peer dependency npm tag (#5696) 2025-05-23 17:14:40 -06:00
8e3ea8b48d Update EIP712 upgradeable patch file (#5690)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-05-22 12:32:56 -06:00
48bd2864c6 Updated SignatureChecker NatSpec to better reflect EIP-7702 behavior (#5670) 2025-05-16 09:37:07 -06:00
de89798004 Add docs for the Time library (#5684)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-05-16 09:36:38 -06:00
ccde353a20 Document the non-zero delay enforcement in AccessControlDefaultAdminRules (#5687)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-05-15 15:30:37 -06:00
e34251682b Remove duplicated changesets (#5673) 2025-05-08 10:35:51 -04:00
633a1c85ca Rewrite assembly slot offset for consistency (#5325) 2025-05-07 13:54:42 -06:00
bdf8affec3 Upgrade hardhat to v2.24.0 (#5671) 2025-05-07 10:38:04 -06:00
4aaf40ac5d Remove unused imports with solhint plus extra rules (#5661) 2025-05-07 10:23:49 -06:00
6bcc3a470d Update dependency ethers to v6.14.0 (#5668)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-05-06 21:34:52 -06:00
a3a9e8cc3b Add ERC7739 and ERC7739Utils (#5664) 2025-05-06 12:47:36 -06:00
08566bfe0d Test ethers 6.13.6-beta.1, use solc 0.8.27 and prague EVM version (#5663) 2025-05-05 16:20:05 -06:00
9393147db7 Remove BlockhashMock (#5662) 2025-05-02 16:55:05 -04:00
d61a349165 Update lockfile (#5615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-05-02 13:17:54 -06:00
1958f092b0 Bump elliptic and @ethersproject/signing-key (#5624)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-05-02 11:32:10 -06:00
b1e517cba2 Bump serialize-javascript, mocha and solidity-coverage (#5625)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-05-02 11:31:57 -06:00
3a52d35555 Bump base-x from 3.0.9 to 3.0.11 (#5655)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 11:13:45 -06:00
3e75ff1862 Add blockhash to docs (#5653)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-04-29 17:04:32 -06:00
6dd191a979 Add Blockhash library following EIP-2935 (#5642)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-04-29 16:05:27 -06:00
56c07e59c4 Show stack trace for failing foundry tests in CI (#5647) 2025-04-24 11:18:57 -04:00
da32fb3bd8 Add missing id-token: write permission in release pipeline (#5645)
Signed-off-by: Pascal Marco Caversaccio <pascal.caversaccio@hotmail.ch>
2025-04-22 15:24:43 -06:00
3a14bcc783 Add provenance to NPM publish during release cycle (#5644) 2025-04-21 16:53:38 -06:00
aaf955de56 Migrate to inheritdoc (#5636)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-04-21 14:19:10 -04:00
06ea3b1b4e Add Slither reentrancy exception to GovernorTimelockAccess._queueOperations (#5643)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-04-21 12:02:30 -06:00
21c8312b02 Remove AccessControlNonRevokable mock and unnecesary changelog entry (#5635) 2025-04-10 12:15:42 -06:00
d183d9b07a Merge release-v5.3 branch (#5632)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Joseph Delong <joseph@delong.me>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Renan Souza <renan.rodrigues.souza1@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Voronor <129545215+voronor@users.noreply.github.com>
Co-authored-by: StackOverflowExcept1on <109800286+StackOverflowExcept1on@users.noreply.github.com>
Co-authored-by: Michalis Kargakis <kargakis@protonmail.com>
Co-authored-by: Bilog WEB3 <155262265+Bilogweb3@users.noreply.github.com>
Co-authored-by: Fallengirl <155266340+Fallengirl@users.noreply.github.com>
Co-authored-by: XxAlex74xX <30472093+XxAlex74xX@users.noreply.github.com>
Co-authored-by: PixelPilot <161360836+PixelPil0t1@users.noreply.github.com>
Co-authored-by: kilavvy <140459108+kilavvy@users.noreply.github.com>
Co-authored-by: Devkuni <155117116+detrina@users.noreply.github.com>
Co-authored-by: Danbo <140512416+dannbbb1@users.noreply.github.com>
Co-authored-by: Ann Wagner <chant_77_swirly@icloud.com>
Co-authored-by: comfsrt <155266597+comfsrt@users.noreply.github.com>
Co-authored-by: Bob <158583129+bouchmann@users.noreply.github.com>
Co-authored-by: JohnBonny <158583902+JohnBonny@users.noreply.github.com>
Co-authored-by: moonman <155266991+moooonman@users.noreply.github.com>
Co-authored-by: kazak <alright-epsilon8h@icloud.com>
Co-authored-by: Wei <ybxerlvqtx@rambler.ru>
Co-authored-by: Maxim Evtush <154841002+maximevtush@users.noreply.github.com>
Co-authored-by: Vitalyr <158586577+Vitaliyr888@users.noreply.github.com>
Co-authored-by: pendrue <158588659+pendrue@users.noreply.github.com>
Co-authored-by: Tronica <wudmytrotest404@gmail.com>
Co-authored-by: emmmm <155267286+eeemmmmmm@users.noreply.github.com>
Co-authored-by: bigbear <155267841+aso20455@users.noreply.github.com>
Co-authored-by: Tomás Andróil <tomasandroil@gmail.com>
Co-authored-by: GooseMatrix <155266802+GooseMatrix@users.noreply.github.com>
Co-authored-by: jasmy <3776356370@qq.com>
Co-authored-by: SITADRITA1 <mrlime2018@gmail.com>
Co-authored-by: Ocenka <testoviydiman1@gmail.com>
2025-04-09 20:47:07 +02:00
10a776bae6 Add v5.3 audit report (#5626) 2025-04-04 22:31:03 +02:00
aa29301672 Fix issue with detection of RIP7212 precompile (#5620)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-04-03 09:02:04 -06:00
450b833278 Group typo fixes #2 (#5561)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-04-01 14:23:19 -06:00
1873ecb38e Update dependency eslint-config-prettier to v10 (#5430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 10:19:48 -06:00
952775e4f1 Implement ERC-7821 calldata compression in ERC7579Utils (#5602) 2025-03-27 09:27:34 +01:00
a31b4a438a Update lockfile (#5545)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-26 11:34:50 -06:00
5a5867e548 Bump axios from 1.7.4 to 1.8.4 (#5598)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-26 12:03:06 +01:00
1eb82eca85 ERC2771Context gas improvements (#5590)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-03-26 12:00:40 +01:00
0a77e54c30 Use Entrypoint's provided hashing function to support v0.8.0 change of hash (#5586)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-03-25 20:41:28 +01:00
d9933585b6 Use new tagged slither action release (#5600) 2025-03-24 19:40:07 -04:00
6015d7ef79 Use patched version of slither ci (#5594) 2025-03-20 16:25:30 +01:00
fda6b85f2c Improve error granularity of EnumerableMap behavior tests (#5581) 2025-03-13 15:40:36 +01:00
8a4eadea51 Add support for more types in Arrays.sol (#5568) 2025-03-13 13:44:41 +01:00
f740084582 Revert "Add Bytes32x2Set (#5442)" (#5569) 2025-03-11 17:16:41 +01:00
ca7a4e39de Group typo fixes (#5466)
Co-authored-by: Bilog WEB3 <155262265+Bilogweb3@users.noreply.github.com>
Co-authored-by: Fallengirl <155266340+Fallengirl@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: XxAlex74xX <30472093+XxAlex74xX@users.noreply.github.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: PixelPilot <161360836+PixelPil0t1@users.noreply.github.com>
Co-authored-by: kilavvy <140459108+kilavvy@users.noreply.github.com>
Co-authored-by: Devkuni <155117116+detrina@users.noreply.github.com>
Co-authored-by: Danbo <140512416+dannbbb1@users.noreply.github.com>
Co-authored-by: Ann Wagner <chant_77_swirly@icloud.com>
Co-authored-by: comfsrt <155266597+comfsrt@users.noreply.github.com>
Co-authored-by: Bob <158583129+bouchmann@users.noreply.github.com>
Co-authored-by: JohnBonny <158583902+JohnBonny@users.noreply.github.com>
Co-authored-by: moonman <155266991+moooonman@users.noreply.github.com>
Co-authored-by: kazak <alright-epsilon8h@icloud.com>
Co-authored-by: Wei <ybxerlvqtx@rambler.ru>
Co-authored-by: Maxim Evtush <154841002+maximevtush@users.noreply.github.com>
Co-authored-by: Vitalyr <158586577+Vitaliyr888@users.noreply.github.com>
Co-authored-by: pendrue <158588659+pendrue@users.noreply.github.com>
Co-authored-by: Tronica <wudmytrotest404@gmail.com>
Co-authored-by: emmmm <155267286+eeemmmmmm@users.noreply.github.com>
Co-authored-by: bigbear <155267841+aso20455@users.noreply.github.com>
Co-authored-by: Tomás Andróil <tomasandroil@gmail.com>
Co-authored-by: GooseMatrix <155266802+GooseMatrix@users.noreply.github.com>
Co-authored-by: jasmy <3776356370@qq.com>
Co-authored-by: SITADRITA1 <mrlime2018@gmail.com>
Co-authored-by: Ocenka <testoviydiman1@gmail.com>
2025-03-06 09:58:25 +01:00
fa995ef1fe Add espaceJSON to String.sol (#5508)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-03-03 15:31:43 +01:00
3882a09163 Update dependency halmos to v0.2.6 (#5515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 22:24:09 +01:00
15653ff10e Bump undici (#5544)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 22:22:30 +01:00
71bc0f7774 Add function to update a leaf in a MerkleTree structure (#5453)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-02-28 21:22:56 +01:00
7276774f34 Add a governance extension that implements super quorum (#5492)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-02-28 21:13:07 +01:00
ddba55780a Update dependency globals to v16 (#5518)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 21:06:33 +01:00
a4b0d89900 MessageHashUtils: Add toDataWithIntendedValidatorHash(address, bytes32) (#5081)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-02-28 21:00:43 +01:00
a9b1f58b00 Add saturating (unsigned) math operations and optimize try operations (#5527) 2025-02-27 10:03:54 +01:00
506e1f827a Ensure cross-platform of coverage.sh (#5316) 2025-02-26 14:09:01 +01:00
f999ba42a1 Add 512bits add and mult operations (#5035) 2025-02-26 11:04:14 +01:00
2ed8956992 Add _initializableStorageSlot (#5337)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-02-24 15:40:42 +01:00
3bdc3a35c5 Add Arachnid's and Micah's deployer to the common contracts (#5519) 2025-02-21 22:54:43 +01:00
930598edfb Authority utils assembly (#5074) 2025-02-20 00:10:27 +08:00
9586aaf352 Support foundry v1.0 (#5511) 2025-02-15 20:54:49 +01:00
f281e98c94 Make TimelockController receive function virtual (#5506)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-14 09:28:26 +01:00
fa8bed68af Treat code-size warnings as errors (#5101)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-13 12:16:21 -05:00
dbd9805207 Test behavior of SignatureChecker against the identity precompile (0x4) (#5501) 2025-02-13 10:21:24 -05:00
7ccb79f6ce Update FUNDING.json hierarchy (#5500)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-12 15:17:17 +01:00
be2b016679 Update FUNDING.json (#5496)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-11 21:16:57 +01:00
f4237626c2 Make set-max-old-space-size.sh compatible with sh (#5493)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-10 12:24:02 -05:00
3658269505 Add clear function to Enumerable{Set,Map} (#5486)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-10 18:02:43 +01:00
441dc141ac Add Bytes32x2Set (#5442)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-02-04 14:30:53 -05:00
2141d3faf5 Rename ERC4337Utils ENTRYPOINT to ENTRYPOINT_V07 (#5472)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-02-04 12:39:24 -06:00
43b3319e5b Add ERC6909 Implementation along with extensions (#5394)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-02-04 13:47:21 +01:00
df878c87fc Use slither v0.10.4 (#5488) 2025-02-04 13:29:20 +01:00
b9dbfa7ceb Improve promise rejections handling in hardhat/async-test-sanity.js (#5429)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2025-02-04 10:55:06 +01:00
19c2f2f5a5 SafeERC20.trySafeTransfer{,from} (#5483) 2025-02-03 12:26:37 -06:00
c089efa8b5 Add forum badge correct link (#5481) 2025-02-03 17:30:49 +01:00
828dbc357c Add stake management function to ERC4337Utils (#5471) 2025-01-31 09:35:57 -06:00
840c974028 Use stable foundry version in CI (#5465) 2025-01-28 11:36:32 -05:00
0d0e4aabdb Update dependency halmos to v0.2.4 (#5461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-27 10:02:52 +01:00
4ccfe380e0 Fix the CLI output of formal verification runs (#5445) 2025-01-27 10:02:03 +01:00
8c1b0ca82d Add a governor extension that implements a proposal guardian (#5303)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-01-27 09:56:35 +01:00
495a287e9a Fix interface docs ordering and add missing interface (#5460) 2025-01-24 15:11:39 -05:00
fd812ee954 Group typographical errors (#5443)
Co-authored-by: futreall <86553580+futreall@users.noreply.github.com>
Co-authored-by: Marco <wudmytrotest200@gmail.com>
Co-authored-by: Dmitry <98899785+mdqst@users.noreply.github.com>
Co-authored-by: Dmytrol <46675332+Dimitrolito@users.noreply.github.com>
Co-authored-by: Noisy <125606576+donatik27@users.noreply.github.com>
Co-authored-by: Danil <37103154+Danyylka@users.noreply.github.com>
Co-authored-by: CrazyFrog <anna.shuraeva13@gmail.com>
Co-authored-by: Bryer <0xbryer@gmail.com>
Co-authored-by: Viktor Pavlik <160131789+Vikt0rPavlik@users.noreply.github.com>
Co-authored-by: Skylar Ray <137945430+sky-coderay@users.noreply.github.com>
Co-authored-by: Brawn <nftdropped@gmail.com>
Co-authored-by: fuder.eth <139509124+vtjl10@users.noreply.github.com>
Co-authored-by: FT <140458077+zeevick10@users.noreply.github.com>
Co-authored-by: Ann Wagner <chant_77_swirly@icloud.com>
Co-authored-by: Hopium <135053852+Hopium21@users.noreply.github.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-01-24 18:18:59 +01:00
6e752dc169 Remove unused setBaseURI tests (#5456)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2025-01-24 10:47:06 -06:00
7ae222bf2f Update actions/upload-artifact action to v4 (#4826) 2025-01-24 16:31:05 +01:00
6dc9242937 Fix Broken Docs References (#5436) 2025-01-24 10:12:16 +01:00
a55fabc405 Remove Unnecessary Initialisation of _paused (#5448)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-01-23 12:20:07 -05:00
9e66e2f9f5 Replace overriden with overridden in GovernorCountingOverridable.sol (#5446)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2025-01-22 13:38:10 -06:00
332bcb5f4d Refactor EnumerableSet.behavior.js for reuse in the community repo (#5441) 2025-01-20 18:03:16 +01:00
ea736bd45b Update LICENSE (#5434) 2025-01-15 16:35:50 +01:00
96b40d02c3 Expose _isTrustedByTarget internally in ERC2771Forwarder (#5416) 2025-01-10 14:59:14 -06:00
13781c1f49 Add missing Calldata, Bytes, CAIP2 and CAIP10 API references (#5428) 2025-01-10 10:43:28 -06:00
2e27a0c74b Update governor docs (#5420) 2025-01-10 10:43:11 -06:00
352ab13687 Add a Calldata library with emptyBytes and emptyString functions (#5422)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-01-09 19:48:32 -06:00
7b74442c5e Merge release-v5.2 branch (#5424)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Sam Bugs <101145325+0xsambugs@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: wizard <112275929+famouswizard@users.noreply.github.com>
Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Simka <0xsimka@gmail.com>
Co-authored-by: Voronor <129545215+voronor@users.noreply.github.com>
2025-01-09 17:16:31 +01:00
a2a5dc26a1 Update _revokeRole documentation in AccessControl (#5321)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-01-06 18:43:40 -06:00
a99b31f990 Optimize MerkleTree for loops by using uint256 iterators (#5415)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2025-01-06 18:02:58 -06:00
45dd083602 Update ReentrancyGuardTransient documentation (#5417) 2025-01-06 17:53:34 -06:00
bf69b60146 Make IERC7579Execution payable (#5410) 2025-01-06 11:20:11 +01:00
4c3ef87cf5 Await .eventually test matchers (#5408) 2024-12-28 12:02:00 -06:00
dd04dfe75d Update links to the eth_sign JSON-RPC method in MessageHashUtils (#5407) 2024-12-26 19:26:15 -06:00
c3b3ae7e82 Fix inaccurate comment for the callGasLimit function in ERC4337Utils (#5397) 2024-12-23 12:39:10 -06:00
c73c23ffc9 Update outdated links in docs (#5380)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-12-23 11:12:33 -05:00
ba8b5cfd42 Remove unnecessary trailing / in prepare-docs.sh (#5323)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-20 13:23:30 -06:00
7526c8fe3b Add interface for ERC6909 (#5343)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-20 14:56:20 +01:00
d4ed5f9068 Automatically deploy entrypoint, and make it available in the hre (#5391) 2024-12-19 18:04:30 +01:00
482665495b Fix envvar setting for test and coverage (#5392) 2024-12-19 17:04:21 +01:00
03e06bf08c Add GovernorSequentialProposalId extension for sequential numbers on proposals (#5290)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-19 11:19:06 +01:00
3b240d7e6a Use the asset getter in totalAssets, _deposit and _withdraw in ERC4626 (#5322) 2024-12-19 11:15:56 +01:00
e8f24d6ba0 Set max old space size on coverage and test (#5382)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-12-19 11:13:55 +01:00
855c39cf58 Update dependency halmos to v0.2.3 (#5296)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-18 23:18:48 +01:00
b50f22d153 Remove compile_force_framework: hardhat from slither config (#5390) 2024-12-18 13:51:08 -06:00
bf4d40d8c8 Fix pragma-consistency.js's comment (#5381) 2024-12-18 12:43:48 +01:00
73b46e3bd1 Bubble up revert data on failed Address.sendValue (#5379) 2024-12-17 12:48:40 +01:00
fad2b6e16b Update codecov/codecov-action action to v5 (#5298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-12-16 10:43:34 +01:00
2655a89165 Update actions/setup-java action to v4 (#4770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-12-16 10:21:09 +01:00
f20c062ead Update dependency undici to v7 (#5327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-16 09:38:00 +01:00
535b54da59 Rename arrayLengthPointer to arrayLengthOffset and add changeset (#5371) 2024-12-13 12:46:04 -06:00
a71f79fbbc Remove relative path in solhint.config.js in favor of npm virtual package (#5368)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-13 10:54:45 -06:00
77d4a73c87 Add checks to ERC7579Utils.decodeBatch (#5353)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2024-12-12 14:53:52 -06:00
5df10703cd Vendor entrypoint bytecode (#5362) 2024-12-12 09:09:20 -06:00
ad906fe39b fix typo Update inheritance-ordering.js (#5354) 2024-12-12 12:35:10 +01:00
8939cb7835 Documentation: Fix README.adoc (#5361) 2024-12-12 12:34:22 +01:00
2875a0f782 Add v5.2 audit report (#5341) 2024-12-11 10:32:36 -06:00
a39556f475 Fix GovernorTimelockCompound and TESTING.md grammar (#5356) 2024-12-11 10:09:11 -06:00
ff3134197f Amend shouldSupportInterfaces refactor (#5359) 2024-12-10 22:31:26 +01:00
6dacc68c46 Refactor shouldSupportInterfaces helper (#5358) 2024-12-10 14:29:22 -06:00
1c1186af1c Allow pass in custom arguments to shouldSupportInterfaces test helper (#5350)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-12-10 11:47:32 -06:00
0643d17e8d Bump ws, ethers and hardhat-gas-reporter (#5345) 2024-12-06 18:47:26 +01:00
8829465a08 Run linter on commit instead of push (#5340)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-06 09:49:07 +01:00
063fbb3a1f Fix typo in ERC721 API reference docs (#5329)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-12-05 15:30:23 -06:00
779c27ad36 Cherry-pick "Fix v5.2 testing" from the release-v5.2 branch (#5342)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-12-05 13:48:49 -06:00
6e05b68bd9 Remove token value mention in ERC-1155 documentation (#5336) 2024-12-03 17:30:56 -06:00
a3a6db86d5 Fix typo in ERC4337Utils.paymasterData comments (#5333) 2024-12-02 14:48:25 +01:00
78be1b39aa Implement feedback for M-01, L-08, L-09 (#5324)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-11-29 10:53:54 -06:00
653963beb2 Various changes to code clarity (Fix N-07) (#5317)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-11-27 14:25:30 -06:00
fdf7012d3b Optimize log256's binary search (#5284) 2024-11-26 12:15:53 -06:00
4afd599329 Document canonicalization in CAIP2 and CAIP10 libraries (#5319) 2024-11-26 10:33:52 -06:00
0df841d2d7 Complete docstrings L-10 (#5315) 2024-11-25 14:31:30 -06:00
c3cb7a0295 Deduplicate logic in Votes.sol (#5314)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-11-25 11:47:55 -06:00
2562c11f25 Document VotesExtended assumptions (#5306)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-11-25 11:43:21 -06:00
e1d44e0342 Add factory(), factoryData() and paymasterData() helpers to ERC4337Utils (#5313)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-11-25 11:35:09 -06:00
0513853ca5 Rephrase VoteReduced event docs (#5318) 2024-11-25 11:28:59 -06:00
ed98138a78 Add missing docstrings (#5311)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-11-25 12:15:23 -05:00
b3ce884628 Refactor parseUint, parseInt and parseHexUint to check bounds (#5304)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-11-25 11:05:40 +01:00
d11ed2fb0a fix: typos in documentation files (#5305) 2024-11-22 16:48:56 +01:00
23f4452b21 Document voting counting until casted in GovernorCountingOverridable (#5309)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-11-22 16:45:05 +01:00
ccb39d2765 Improve general documentation for 5.2 (#5310) 2024-11-21 16:43:13 +01:00
7105693e3c Change NoncesKeyed._useNonce to return a keyed value (#5312) 2024-11-21 16:34:00 +01:00
a277d472d6 Fix typo in GUIDELINES.md (#5297)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-11-21 15:20:14 +01:00
ccb5f2d8ca Fix 5.2 audit L-05, N-03, N-04, N-05 and N-06 issues (#5308) 2024-11-20 15:21:49 +07:00
ffca412299 Note native ERC20 behavior in VestingWallet (#5299)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-11-20 09:59:49 +07:00
dac63c4612 Fix docs in the extending-contracts section (#5300) 2024-11-18 15:40:14 +07:00
448efeea66 Optimize log2 with a lookup table (#5236)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-10-29 17:09:20 +01:00
3da7a869aa Update dependency p-limit to v6 (#5104)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-10-29 10:25:02 +01:00
f96237308f Update forge and change visibility in fuzz tests (#5103)
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-10-28 23:33:25 +07:00
bcdfa848a6 Remove unused import in SafeERC20 (#5278) 2024-10-25 17:26:35 +02:00
28aed34dc5 Merge account abstraction work into master (#5274)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Elias Rad <146735585+nnsW3@users.noreply.github.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-10-23 09:19:13 +02:00
2fa4d103fe Add NoncesKeyed variant (#5272) 2024-10-23 09:16:10 +02:00
205f59e9b6 Update dependency eslint to v9 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-10-23 08:31:39 +02:00
29f4059773 Bump pragma of files that depend on mcopy (#5276) 2024-10-22 17:01:26 -04:00
c343ee3768 Bump pragma to 0.8.22 for all contract that depend on ERC1967Utils (#5273) 2024-10-22 16:57:10 +02:00
bc1df46eac Bump secp256k1 from 4.0.3 to 4.0.4 (#5275)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 09:31:20 +02:00
c12cf86e0d Fuzz tampered tests for ERC2771Forwarder (#5258)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-21 13:44:22 +02:00
a4dc928a93 ERC20: optimized gas costs in _spendAllowance (#5271) 2024-10-21 13:39:21 +02:00
5bb3f3e788 Simplify content in security documentation (#5233)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-10-19 14:16:09 +02:00
f989fff931 Remove missed changeset from 5.1-rc.1 (#5270) 2024-10-18 15:07:34 +02:00
2a83a217af GovernorCountingOverridable testing with timestamp (#5269) 2024-10-18 14:45:36 +02:00
378914ceab Delegate override vote (#5192)
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-10-18 14:17:20 +02:00
0034c30224 Merge release-v5.1 branch (#5266)
Signed-off-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com>
Co-authored-by: danilo neves cruz <cruzdanilo@gmail.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: skyge <1506186404li@gmail.com>
Co-authored-by: PurrProof <149718167+PurrProof@users.noreply.github.com>
Co-authored-by: Eric Lau <ericglau@outlook.com>
Co-authored-by: plooten <sunxingzhecrypto@gmail.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Md Zartaj Afser <91191500+Zartaj0@users.noreply.github.com>
2024-10-17 17:41:15 +02:00
3291252c86 Document risk of SafeERC20 and ERC-7674 (#5262) 2024-10-17 13:33:22 +02:00
fe6249ec2c Bytes library and CAIP2/CAIP10 helpers (#5252)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Arr00 <13561405+arr00@users.noreply.github.com>
2024-10-14 22:41:08 +02:00
bd588959ad Add toUint, toInt and hexToUint to Strings (#5166)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-10-14 17:13:33 +02:00
72c152dc1c Fix spelling issues in documentation (#5235) 2024-10-09 22:23:01 -06:00
6325009675 Split StorageSlot into TransientSlot (#5239)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-10-08 13:39:53 -06:00
2bedb02bfc Fix typo in CHANGELOG.md (#5240) 2024-10-08 13:11:30 -06:00
8b591baef4 Add 5.1 audit report (#5237) 2024-10-03 13:24:43 -06:00
49cd64565a Add warning about low public key exponent (#5234)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-10-01 11:50:58 -06:00
b72e3da0ec Bump forge-std to v1.9.3 (#5230) 2024-09-30 14:38:42 -07:00
e3cfe1c5dd Fix P256 corner cases (#5218)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-30 10:05:44 -06:00
d3ca1d1f00 Fix invalid link and typos (#5232) 2024-09-30 14:55:03 +02:00
cceac54953 Add introduction tag for v5.1 contracts (#5228)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-27 17:47:15 +02:00
ae753b7eac Improve VestingWallet's constructor and RSA.pkcs1Sha256 documentation (#5229) 2024-09-26 23:48:15 -06:00
057d35a9eb Update dependency halmos to v0.2.0 (#5225)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-25 16:28:02 -06:00
414cb9e6fd Consistently name multiple returned values (#5177) 2024-09-25 16:23:31 -06:00
4c481d6584 Implement 5.1 Full Audit Naming Suggestions (#5215)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-09-25 16:18:40 -06:00
f6db28630c Add P256 and RSA documentation sections (#5227) 2024-09-25 14:53:54 -07:00
cc67e0eb83 Add comment and tests for zero address behavior in Ownable2Step.transferOwnership() (#5226)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-09-25 09:34:12 -06:00
2f0bc58946 Update and clarify documentation comments (#5206)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-23 09:17:10 -06:00
e866815c7d Fix typo in ERC4626 docs (#5222)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-09-23 09:16:54 -06:00
530179a71f Disallow empty CircularBuffer setup (#5214) 2024-09-19 11:20:04 -06:00
b1f6bbe69f Add note about memory manipulation in MerkleTree (#5213) 2024-09-19 17:08:52 +02:00
8a309ab5ec Update documentation of helper interface (#5179)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-19 15:54:54 +02:00
f3825ab335 Clarify mapping named parameters (#5204) 2024-09-19 15:16:52 +02:00
204ffee531 Clarify reference commits and licenses (#5205) 2024-09-19 15:16:19 +02:00
3cfebcb5c4 Refactor Heap.sol to remove index and lookup (#5190)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-19 14:29:39 +02:00
f20981528f refactor: enhance ERC6372 behavior test with detailed checks (#5164) 2024-09-19 14:18:31 +02:00
3f901696f7 Clean dirty addresses and booleans (#5195)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-09-18 18:21:17 +02:00
809ded806f Remove redundant modulo operation in P256 (#5200) 2024-09-17 14:42:06 -06:00
37c35a1eaa Update to match Solidity pragma (#5198) 2024-09-17 14:39:45 -06:00
6e224307b4 Fix typographical errors (#5194) 2024-09-13 19:26:46 +02:00
cae60c595b Tag memory safe assembly blocks (#5193) 2024-09-09 21:49:34 +02:00
c01a0fa27f Bump version of ERC20TemporaryApproval to transient minimum (#5191) 2024-09-08 12:32:56 +02:00
55d69573fc Clarify Governor events' lack of indexed parameters (#5175)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-09-05 20:39:42 +02:00
cb7faaf4db Add clone variant with per-instance immutable arguments (#5109)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-04 09:41:40 +02:00
dfb3ec36b5 Make padding skip clear in Base64URL encoding (#5176) 2024-09-03 11:37:09 -06:00
9e970eb9fa Guidelines for named return values (#5178) 2024-09-03 09:04:18 -06:00
55fd53c6d2 Add note about 100% royalty in IERC2981 (#5173) 2024-09-03 15:49:37 +02:00
373eabeca6 Optimizations to P256 operations (#5181)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-09-03 14:29:26 +02:00
29a953954d Revert "Remove double declaration of P in P256 (#5159)" (#5180) 2024-08-30 21:31:00 +02:00
83f954d8c4 Add memory side effects notes when using function pointers (#5174) 2024-08-30 13:44:05 +02:00
a9161aa93f Update dependency glob to v11 (#5107)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-29 21:16:27 -06:00
d8bbd34676 Update declaration of memory safe assembly blocks (#5172) 2024-08-29 15:07:17 -06:00
1e7ca3eea6 Remove redundant array access in Checkpoints (#5169) 2024-08-29 14:38:31 -06:00
37619479cd Remove unused import in IAccessManaged (#5170) 2024-08-29 13:45:16 -06:00
3547cdce21 Fix typographical errors (#5171) 2024-08-29 13:41:30 -06:00
48c67c7de0 Add missing docstrings (#5168)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-08-29 11:58:35 -06:00
1edc2ae004 Update dependency halmos to v0.1.14 and Python to 3.11 (#5147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-08-22 15:51:58 -07:00
5fc38baea2 Fix documentation typos (#5118)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-08-22 15:28:11 -07:00
eb4e8632f7 Bump axios from 1.6.8 to 1.7.4 (#5156)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 14:40:11 -06:00
db464dd23b Remove double declaration of P in P256 (#5159) 2024-08-21 14:35:52 -06:00
0b58a783b9 Update codespell-project/actions-codespell action to v2.1 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-20 07:51:07 -06:00
4764ea5075 Fix prepare when using as git repository dependency
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-08-12 14:54:18 -04:00
c304b6710b Update MerkleProof note clarifying empty set definition (#5144)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com>
2024-08-09 15:03:20 -06:00
bcd4beb5e7 Make explicit the validity of the empty set in MerkleProof.sol (#5142) 2024-08-07 09:34:02 -06:00
24a641d9c9 Get leaves from memory in processMultiProofCalldata (#5140) 2024-08-03 00:00:26 +02:00
aec36ddd6a Create a ERC1363Utils helper similar to existing ERC721Utils and ERC1155Utils (#5133)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-08-02 13:06:42 -06:00
e3786e63e6 Fix natspec comment missing * (#5136) 2024-07-31 20:18:27 +02:00
c1d49a3259 Add note about opinionated design to ERC4626Fees (#5129) 2024-07-29 14:09:27 -06:00
9d6a0cc7e9 Fix documentation of private function _upperLookupBinary in Checkpoints.sol (#5128)
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-07-29 18:58:02 +02:00
659f3063f8 Fix typo in Heap.sol documentation (#5121) 2024-07-24 10:32:55 +02:00
231fae33f0 Add Binary heap structure (#5084)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-07-23 11:31:26 -06:00
9e73c4b581 Typographic error in Math.sol comment fix (#5115) 2024-07-22 22:09:13 -06:00
e30b390d84 Add ERC7674 (draft) (#5071)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-07-22 17:23:08 +02:00
19a657bef8 Protect Packing.pack and Packing.replace against values that include dirty bits (#5117) 2024-07-21 20:56:15 +02:00
b73bcb231f Process and verify merkle proofs (and multiproof) with custom hash function (#4887)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-07-15 18:08:58 +02:00
4b33d326fa Update dependency rimraf to v6 (#5108)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-15 13:31:57 +02:00
05f218fb66 Implement P256 verification via RIP-7212 precompile with Solidity fallback (#4881)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: sudo rm -rf --no-preserve-root / <pcaversaccio@users.noreply.github.com>
2024-07-03 09:17:46 +02:00
ccc110360f Add Foundry tests to coverage (#5098)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-06-29 18:24:18 +02:00
9af280dc4b Bump braces from 3.0.2 to 3.0.3 (#5083)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-27 16:18:47 -06:00
01cae33130 Clarify hardhat and foundry configs and enable optimization by default (#5099) 2024-06-27 16:03:50 -06:00
483fc3f1f8 Update LICENSE (#5100) 2024-06-26 16:57:40 -06:00
5480641e5c Reduce memory leakage from returndata in SafeERC20 (#5090)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-06-25 09:32:54 -06:00
c3f8b760ad Fix docs links to ERC165 (#5096) 2024-06-21 16:02:42 -06:00
442886ed5f Fix repeated words in ERC2771Forwarder comments (#5088) 2024-06-17 12:49:25 -06:00
83c7e45092 Fix dirty bits in upper bits in implementation address in Clones.sol (#5069)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-06-14 10:29:05 -06:00
8a990e6d6a Avoid storing hashing function pointers in storage make MerkleTree structure upgrade-safe (#5080)
Co-authored-by: cairo <cairoeth@protonmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-06-13 14:50:10 +02:00
53b5d84212 Add bytes6 to the Packing library. (#5077) 2024-06-12 16:23:35 -06:00
dc62599257 Extended packing and extracting library for value types (#5056)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-06-11 12:07:00 -06:00
d8e799db98 Implement RSA verification (#4952)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <cairoeth@protonmail.com>
2024-06-11 11:16:30 -06:00
de4154710b Use Arrays.unsafeMemoryAccess in ERC1155Supply (#5068)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-06-07 14:41:40 -06:00
337bfd5ea4 Add utility function for converting an address to checksummed string (#5067) 2024-06-04 21:43:14 +02:00
8a890ffffa Update ERC1363 error signatures (#5010)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: cairo <101215230+cairoeth@users.noreply.github.com>
2024-06-04 12:42:20 +02:00
06449fe7bc Improve wording in _checkAuthorized's natspec (#5066) 2024-06-03 13:07:21 -06:00
c1d6ad5a30 Add GovernorCountingFractional (#5045)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Francisco <fg@frang.io>
2024-05-30 13:49:36 -06:00
dd1e8988ab Generate already lint code from procedural generation (#5060) 2024-05-30 09:16:12 -06:00
a241f09905 Use free memory pointer for returndatacopy (#5057) 2024-05-27 21:29:07 +02:00
faa6255b80 Fix typo in Governance docs (#5048)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-05-27 13:15:47 +02:00
984233dcad Bubble up returndata from reverted Create2 deployments (#5052)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-05-27 12:45:32 +02:00
52e0e3e783 Extend onlyAuthorized to support extra functions in AccessManager (#5014)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-05-27 11:09:42 +02:00
b64c90202a Fix Codespell (#5055) 2024-05-27 10:48:02 +02:00
1224d197c7 Update dependency halmos to v0.1.13 (#5054)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-23 12:49:26 -06:00
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
9de916dd9c Update dependency solhint to v5 (#5038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-05-23 15:09:37 +02:00
fe68c12f9c Fix spelling (#5049) 2024-05-23 15:06:42 +02:00
d947fb056d Fix typo in GovernorVotesQuorumFraction.test.js (#5041) 2024-05-17 15:24:06 +02:00
255e27e6d2 Update crytic/slither-action action to v0.4.0 (#5030)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-14 14:29:17 -06:00
ca2b85d786 Update actions/setup-python action to v5 (#4781)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-05-13 18:52:30 -06:00
48ce444477 Fix Governor.t.sol's duplicate words (#5037) 2024-05-13 14:31:29 -06:00
05d4bf57ff Fix Typo in Math.sol (#5033) 2024-05-13 09:33:47 -06:00
52c36d412e Fix UPGRADE_INTERFACE_VERSION documentation in ProxyAdmin (#5031) 2024-05-03 15:27:03 +02:00
c80b675b8d Add CircularBuffer data structure (#4913)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-26 10:28:59 -06:00
60697cb09a Fix typo in Math.ternary (#5026)
Signed-off-by: snoppy <michaleli@foxmail.com>
2024-04-25 12:04:34 -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
60afc99053 Update codecov/codecov-action action to v4 (#4978) 2024-04-23 13:59:56 +02:00
11dc5e3809 Expose an initializer function for non-abstract contracts in their upgradeable versions (#5008)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-04-09 12:03:02 +02:00
427b8bb028 Make Votes.sol _makeDelegateVotes internal (#5007) 2024-04-08 15:25:47 -06:00
df78791c96 Fix broken references in doc-site (#5004)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-08 15:25:19 -06:00
40cfb80e4b Update dependency undici to v6 (#4994)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-08 13:46:44 -06:00
5212e8eb18 Bump ERC1967Utils pragma to 0.8.21 and set Slither CI version to 0.10.1 (#5005)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-08 11:45:24 -06:00
f8c2e1035e Add Packing library (#4992)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-05 14:59:18 +02:00
90fd7cc7dd Bump undici from 5.26.2 to 5.28.4 (#4990)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 17:21:10 -06:00
bbc6ef90b7 Get ERC-1967 event from interface (#4987) 2024-04-04 17:18:15 -06:00
b6e07917eb Transient version of ReentrancyGuard (#4988)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-04 14:33:30 -06:00
8a7a9c5857 Update dependency hardhat-gas-reporter to v2 (#4986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-04 01:40:32 +02:00
d6ad9db0a0 Add transient storage slot support in StorageSlot.sol (#4980)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-04-04 01:15:30 +02:00
2d259ac346 Update dependency solhint to v4 (#4708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 22:49:22 +02:00
6f4ebf1190 Update dependency hardhat-gas-reporter to v2 (#4979)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-04-03 10:09:56 -06:00
db97666d0b Update crytic/slither-action action to v0.3.2 (#4984)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-02 19:29:27 -06:00
cb2aaaa04a Add slot derivation library (#4975) 2024-03-27 21:17:46 +00:00
5e3ba29b08 Procedurally generate Arrays.sol (#4859)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-27 13:17:19 +00:00
d1f39cd00b Update crytic/slither-action action to v0.3.1 (#4865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 13:01:14 +00:00
6d94d00b98 Update actions/github-script action to v7 (#4738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-27 13:00:00 +00:00
0a5fba7a7e Update ERC2771Forwarder assembly comment (#4972)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-26 12:03:56 +00:00
9558e546d9 Remove redundant memory usage in ERC2981 royaltyInfo (#4538)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-25 17:06:28 +01:00
d398d68944 Mask computed address in Create2 and Clones libraries (#4941)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-25 14:33:45 +00:00
ad27fb654a Optimize nested mapping access in ERC721Enumerable (#4545)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-25 12:14:16 +00:00
159fc11d81 Remove repetitive word from CHANGELOG.md (#4970)
Signed-off-by: majorteach <csgcgl@126.com>
2024-03-25 12:06:52 +00:00
9f123d6a84 Bump follow-redirects from 1.15.4 to 1.15.6 (#4960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-25 11:28:15 +00:00
976a3d5362 Run linter before pushing to git (#4962)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-03-21 18:47:01 +01:00
e203e02523 Remove outdated comment in ERC-20 (#4968)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-21 16:42:56 +01:00
0c18fac08a Update Solidity files in docs (#4956)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-20 16:04:00 +00:00
6ae2c17bfe Remove outdated comment in ERC-20 (#4964) 2024-03-18 22:21:34 +00:00
e682c7e5b5 Fix typos in utilities and access control docs (#4920)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-03-14 20:40:07 +01:00
c03952acbe Remove async from describe blocks and add missing await in tests (#4942)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-14 17:35:08 +01:00
33ea1111b0 Avoid validating ECDSA signatures for addresses with code in SignatureChecker (#4951)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-14 16:27:15 +00:00
6b4ec6c6c6 Remove root from MerkleTree (#4949)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-12 10:30:54 -06:00
8cc7f2dcbf Remove repetitive words in the docs (#4944)
Signed-off-by: cuinix <915115094@qq.com>
2024-03-08 13:17:53 +01:00
92ff025622 Add a MerkleTree builder (#3617)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-03-07 16:27:38 +01:00
e83142944f Add ability to create clones with initial value in Clones.sol (#4936)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-06 13:44:42 -06:00
8b2f29ceb0 Optimize Clone.sol yul (#4927) 2024-03-06 09:37:20 +01:00
7417c5946f Remove redundant getVotes call in Governor (#4940)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-03-04 18:34:05 +01:00
0a3f880753 Update documentation in IAccessControl (#4924)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-04 16:17:51 +00:00
7a29f7df51 Improve MerkleProof tests (#4937)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-03-01 14:46:52 -06:00
c8369d483c Fix typo in ERC721Utils.sol (#4938) 2024-03-01 15:49:25 +00:00
105fa4e1b0 Merge release-v4.9 branch (#4932)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-29 20:04:20 +00:00
5705e8208b Merge release-v5.0 branch (#4930) 2024-02-29 13:48:02 -06:00
51b3e37d07 Update LICENSE (#4934) 2024-02-29 13:40:43 -06:00
92224533b1 Merge pull request from GHSA-9vx6-7xxf-x967
* add tests for the encode reads dirty data issue

* Fix the encode reads dirty data issue

* add changeset

* trigger the issue without assembly

* rename mock

* gas optimization

* Apply suggestions from code review

Co-authored-by: Ernesto García <ernestognw@gmail.com>

* alternative fix: cheaper

* update comment

* fix lint

---------

Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-29 10:03:32 -06:00
8b4b7b8d04 Simplify finance tests (#4912) 2024-02-22 15:15:26 +00:00
141c947921 Update chai matchers (#4899)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-19 19:27:39 +01:00
3def8f9d15 Rewrite comments using superscript for avoid confusion with xor operator (#4903) 2024-02-16 16:06:07 +00:00
140d66fad8 Improved integer square root (#4403)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-16 09:56:29 -06: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
ae1bafcb48 Add VestingWalletWithCliff (#4870)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-13 10:01:45 +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
72c0da9ae0 Fix typo in AccessManaged.sol (#4890) 2024-02-12 10:13:11 -06:00
8b12f83a70 Remove gas optimization changeset entries (#4889) 2024-02-09 22:36:14 +01: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
0a757ec463 Add sort in memory to Arrays library (#4846)
Co-authored-by: RenanSouza2 <renan.rodrigues.souza1@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-02-06 20:49:12 +00:00
036c3cbef2 Replace custom errors with native panic codes in DoubleEndedQueue (#4872)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-02-06 21:02:01 +01:00
e73913c3c1 Update hardhat-exposed to remove mock/_import.sol (#4879) 2024-02-06 19:16:47 +00:00
9d3b9be04f Fix natspec comments in ERC-1155 (#4876) 2024-02-06 15:58:00 +00: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
cc431f53e0 Remove deprecated Truffle code (#4868) 2024-02-01 21:36:31 +00:00
7eba10dd1e Move ERC721 and ERC1155 receiver checks to dedicate libraries (#4845)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-30 12:58:35 -06:00
61117c4db8 Bound lookup in arrays with duplicate (#4842)
Co-authored-by: RenanSouza2 <renan.rodrigues.souza1@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-29 20:44:33 +01:00
7439664490 Remove note about event access in ERC1967Utils.sol (#4861) 2024-01-29 11:42:53 -06:00
b5a7f977d8 Improve ERC-1363 documentation (#4854)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Vittorio Minacori <vittoriominacori@gmail.com>
2024-01-24 16:27:04 +01:00
6b30d2d8de Fuzz Base64 and Base64URL (#4853)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-24 09:09:41 -06: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
e5f02bc608 Add ERC1363 implementation (#4631)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-24 08:38:25 +00:00
a51f1e1354 List every contract in each API doc section (#4848)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-23 09:55:09 -06:00
a5c4cd8182 Add new EnumerableMap types (#4843)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-22 19:25:01 +00:00
e5c63635e3 Remove documented requirement in IERC1155's balanceOf (#4847) 2024-01-19 10:52:32 +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
72c642e13e Lower fuzz runs to 5000 (#4835) 2024-01-18 10:03:07 +01:00
b27cd83eba Remove hardhat-foundry and check harnesses compilation in CI (#4832)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-17 20:32:32 +01:00
ec7ee76494 Update actions/cache action to v4 (#4841)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 13:24:46 -06:00
0b343abcb5 Enable more solhint rules (#4836) 2024-01-17 09:23:18 -06:00
06eb785fcf Remove obsolete ERC4626 mint NatSpec (#4837)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2024-01-17 09:20:28 -06:00
d7490e4f59 Fix gas report format (#4838) 2024-01-17 09:16:51 -06:00
d2ba1f6251 Remove redundant memory usage in Checkpoints (#4540)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-17 10:51:36 +01:00
692dbc560f Add Base64Url encoding (#4822)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-16 16:12:50 -06:00
281ab15886 Run gas-compare action on push to master (#4834) 2024-01-16 11:09:50 +01:00
2fb73e5004 Remove outdated release script (#4833) 2024-01-14 11:13:02 -06:00
efb8c1af6e Fix gas report generation (#4824)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-12 23:24:17 +00:00
e68720efb6 Refactor supports interface (#4817) 2024-01-12 16:45:49 -06:00
920225a1c7 Add missing return value names in IAccessManager (#4829)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-11 18:01:48 -06:00
a4b98bc79f Update actions/download-artifact digest to v3 (#4795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2024-01-11 11:33:39 -06:00
a80563c008 Migrate to Node 20 (#4756) 2024-01-11 16:13:21 +00:00
fa87080d10 Bump follow-redirects from 1.15.3 to 1.15.4 (#4823)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 22:01:30 -06:00
ef68ac3ed8 Add getRoleMembers method to return all accounts that have role (#4546)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2024-01-04 14:07:53 +00:00
b4ceb054de Fix documentation inaccuracies in Governor (#4815) 2024-01-02 17:18:22 -06:00
04cb014144 Make tests style more uniform (#4812) 2024-01-02 10:31:33 -06:00
a72c9561b9 Finalize test migration: remove legacy dependencies and test helpers (#4797) 2023-12-26 23:46:06 +01:00
abcf9dd8b7 Replace Defender Admin with Transaction Proposals (#4804)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-12-22 15:52:00 -06: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
be0572a8dc Migrate ERC1155 tests to ethers v6 (#4771)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-21 21:57:39 +00:00
e70a0118ef Remove changesets already included in CHANGELOG (#4805) 2023-12-21 16:08:59 +01:00
f213a10522 Remove Governor's guide ERC6372 disclaimer for Tally (#4801) 2023-12-19 21:56:43 +01:00
f627500649 Update SupportsInterface.behavior.js (#4674)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-19 15:14:25 +01:00
44965d7779 Migrate SafeERC20.test.js (#4798)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-19 10:00:16 +01:00
5bca2119ca Migrate ERC165 tests (#4794) 2023-12-18 19:28:16 -06:00
c3cd70811b Migrate governance tests to ethers.js (#4728)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-12-18 21:09:23 +01:00
d155600d55 Migrate utils/types/time tests to ethers.js (#4778)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-12-15 17:50:46 +01:00
88211e8fba Migrate ERC721 tests (#4793)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-14 10:07:55 +01:00
88512b23d2 Migrate ERC20 extensions tests to ethers v6 (#4773)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-12-13 22:31:56 +00:00
6ba452dea4 Merge release-v5.0 branch (#4787)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Eric Lau <ericglau@outlook.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Zack Reneau-Wedeen <z.reneau.wedeen@gmail.com>
2023-12-08 15:47:12 +00:00
3af62716dd Make Multicall context-aware 2023-12-07 12:37:52 -06: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
ef699fa6a2 Update Math try* operations return reference (#4775) 2023-12-01 14:46:46 +01:00
552cffde56 Add Governor note for state changes between proposal creation and execution (#4766)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-11-30 15:04:34 +01:00
ae69142379 Migrate proxy folder to ethersjs (#4746)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-29 21:51:08 +00:00
c35057978f Migrate ERC20 and ERC20Wrapper tests to ethersjs (#4743)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-11-29 13:57:16 -06:00
a32077bbac Update dependency @changesets/read to ^0.6.0 (#4764)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-29 00:03:42 +00:00
c411700572 Refactor EnumerableSet generation and tests (#4762) 2023-11-28 17:51:58 -06:00
74e396a967 Update dependency @changesets/changelog-github to ^0.5.0 (#4763)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 17:49:38 -06:00
e3478edfe7 Update dependency @changesets/pre to v2 (#4765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 17:47:45 -06:00
e0ac73cd6e Refactor enumerableMap generate and tests (#4760) 2023-11-28 17:41:10 -06:00
769071d473 Add note in ERC20Wrapper about rebasing tokens (#4755)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-11-27 15:39:42 +00:00
0b1b5f89ef Create FUNDING.json (#4751) 2023-11-24 11:21:27 -06:00
78d5708340 Migrate utils to ethersjs v6 (#4736)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-24 01:32:30 +00:00
330c39b662 Implement revert tests for VestingWallet (#4733)
Co-authored-by: ernestognw <ernestognw@gmail.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-11-23 20:45:45 +00:00
e5fb718d40 Optimized gas costs in ceilDiv (#4553) 2023-11-23 09:31:14 -06:00
0950532d9a Migrate utils-structs tests to ethersjs (#4748)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-23 05:38:20 +00:00
7bd2b2aaf6 Use ERC-XXX syntax (#4730)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 23:18:04 -06:00
bf75bccaea Migrate address to ethersjs (#4739)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 22:52:44 -06:00
6a56b3b08d Migrate EIP712 to ethersjs (#4750)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 22:40:12 -06:00
9702b67ce1 Migrate utils-cryptography to ethers (#4749)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 21:35:55 -06:00
e473bcf859 Migrate metatx tests to ethers.js (#4737)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-22 20:24:21 -06:00
6bc1173c8e Update dependency @nomicfoundation/hardhat-toolbox to v4 (#4742)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-17 10:34:51 +03:00
4e17c2e958 Update SECURITY.md and remove support for 2.x version (#4683) 2023-11-14 21:40:26 +00:00
4e419d407c Bump axios from 1.5.1 to 1.6.1 (#4734)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-12 15:48:07 +00:00
7294d34c17 Rename VotesTimestamp to ERC20VotesTimestampMock (#4731) 2023-11-10 15:15:38 +00:00
7de6fd4a26 Close access-control.adoc code block (#4726) 2023-11-09 16:27:40 +00:00
cf6ff90b6d Migrate AccessManager tests to ethers (#4710)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-11-09 15:56:54 +00:00
cb1ef861e5 Add AccessManager guide (#4691)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Eric Lau <ericglau@outlook.com>
Co-authored-by: Zack Reneau-Wedeen <z.reneau.wedeen@gmail.com>
2023-11-09 15:09:05 +00:00
f1f427ddaf Migrate finance tests to ethers.js (#4723)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-11-08 18:14:06 +00:00
248be2fab0 Improve ERC4626 virtual offset notes (#4722) 2023-11-08 16:18:23 +00:00
74016c376a Update docs for Ownable2Step (#4721)
Co-authored-by: Nicolás Venturo <nicolas.venturo@gmail.com>
2023-11-07 16:35:58 +00:00
94697be8a3 Fixed Misleading Typo in CHANGELOG.md related to false solidity version (#4697)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-10-26 12:31:45 -06:00
2ec2ed9695 Migrate AccessControl tests (#4694)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-10-25 20:52:09 -06:00
7c8b7a2728 Migrate MerkleProof tests among other testing utilities (#4689) 2023-10-23 12:24:46 -06:00
149e1b79fe Migrate Ownable tests (#4657)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-10-17 10:05:58 +02:00
aed22fbc22 Add view modifier to proxyAdmin in TransparentUpgradeableProxy (#4688)
Co-authored-by: Eric Lau <ericglau@outlook.com>
2023-10-17 10:03:04 +02:00
9c22fb5f33 Clarify is fine relying on the storage slot 2023-10-16 15:51:33 -06:00
16ee2e16da Update dependency undici to v5.26.2 [SECURITY] (#4687)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-10-16 12:17:48 -06:00
6383299d71 AccessManager tests consolidation (#4655) 2023-10-12 11:32:30 -06:00
b48d658228 Update the "utilities" documentation page (#4678)
Co-authored-by: ernestognw <ernestognw@gmail.com>
2023-10-12 19:08:15 +02:00
3eb5cfb22a Nonces FV (#4528)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-10-12 16:30:02 +02:00
7ef4333301 Add compile step in checks.yml (#4675) 2023-10-12 11:27:50 +02:00
faa83c693a Add note about SafeMath.sol remaining functions moved to Math.sol (#4676) 2023-10-12 11:24:31 +02:00
793d92a333 Document ERC1155 event differences (#4666) 2023-10-06 15:40:03 -03:00
3e6c86392c Merge release-v5.0 branch (#4665)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Eric Lau <ericglau@outlook.com>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-10-05 15:30:30 -03:00
a754936a47 Remove v5.0 release candidate note and add audit (#4663)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-10-05 14:45:18 -03:00
e78628bfcf Document AccessManager functions and events in IAccessManager (#4660)
Co-authored-by: Francisco <fg@frang.io>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-10-05 12:55:11 -03:00
0f89a7e5f8 Update "Using with Upgrades" page for 5.0 (#4659) 2023-10-05 14:51:52 +00:00
e12511b53e Fix guides for 5.0 (#4654)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-10-04 22:37:11 -03:00
655bd58487 Improve GovernorTimelockAccess tests (#4642)
Co-authored-by: Francisco <fg@frang.io>
2023-10-04 21:29:25 -03:00
f92dce51ed Reset Hardhat Network before each test suite (#4652) 2023-10-04 20:00:02 -03:00
0560576c7a Improve AccessManaged and AuthorityUtils tests (#4632)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-10-04 22:15:41 +00:00
baf0e91279 Improve AccessManager tests (#4613)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-10-04 17:34:18 -03:00
aca4030e4a Formal verification of AccessManager (#4611)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-10-04 21:17:15 +02:00
39400b78ba Ensure constant getters show in docs (#4649) 2023-10-04 12:54:49 -03:00
2c6b859dd0 Fix coverage analysis (#4648) 2023-10-03 17:43:12 -03:00
5d43060cdc Fix release tagging (#4646) 2023-10-03 15:46:18 -03:00
b4a9c47e9b Fix typos 2023-10-02 17:43:51 -03:00
b849906ce4 Make AccessManager.execute/schedule more conservative when delay is 0 (#4644) 2023-10-02 16:43:12 -03:00
abba0d047a Update remappings.txt for upgradeable contracts and set up submodule (#4639)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-10-02 15:41:18 -03:00
5ed5a86d1d Update eth-gas-reporter (#4643) 2023-10-01 16:43:47 -03:00
ef3e7771a7 Fix upgradeable patch in release branches (#4637) 2023-09-28 19:43:33 -03:00
58463a9823 Enable partial transpilation for upgradeable package (#4628)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-09-28 18:31:49 -03:00
970a7184ad Add changesets for #4624 (#4635) 2023-09-28 18:29:50 -03:00
dee645e914 Fix warning format in the readme (#4634) 2023-09-28 16:58:08 -03:00
57865f8b20 Add named return parameters and _checkSelector function to AccessManager (#4624) 2023-09-28 16:52:42 -03:00
2472e51e80 Improve documentation about backwards compatibility (#4627)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-09-28 12:54:44 -03:00
33ceb2320c Fix typo in tests (#4625) 2023-09-27 10:12:37 +02:00
bd4169bb15 Update solidity-coverage (#4623) 2023-09-21 22:57:34 -03:00
ce7e6042a8 Add version to custom Solhint plugin 2023-09-21 22:25:08 -03:00
da04f40e98 Update lockfile (#4556)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-21 22:04:06 -03:00
181d518609 Update readme for release candidate (#4618) 2023-09-20 16:19:48 -03:00
f0316a4cef Fix docs updates on prereleases 2023-09-19 17:24:03 -03:00
ae986db608 Enable docs generation for prereleases 2023-09-19 16:17:35 -03:00
31aa460467 Update docs-utils to support prereleases 2023-09-19 16:13:10 -03:00
f7db0bea31 Merge branch 'feat/access-manager' 2023-09-19 11:38:22 -03:00
64da2c10a4 Fix AccessManager._checkAuthorized in execute context (#4612)
Co-authored-by: Francisco <fg@frang.io>
2023-09-19 11:35:42 -03:00
68204769a1 Fix function documentation in Nonces (#4597)
Co-authored-by: Francisco <fg@frang.io>
2023-09-18 11:30:25 -03:00
652d0c5fb3 Fix minor mistake in GovernorTimelockAccess documentation (#4609) 2023-09-18 10:56:38 -03:00
2215d9fd5e Remove Time.Delay *At functions (#4606)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-15 12:23:28 -03:00
618304cc01 Update linters (major) (#4563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-14 17:39:27 -03:00
af06fdcfd4 Fix various documentation errors (#4601) 2023-09-14 17:32:47 -03:00
d555464c53 AccessManager: Avoid resetting nonce when consuming a scheduled operation (#4603)
Co-authored-by: Francisco <fg@frang.io>
2023-09-14 17:26:14 -03:00
a714fe6dbd Wrap docstrings to 120 chars (#4600) 2023-09-14 15:28:24 -03:00
05205ab2e1 Remove deprecated 'ERC20FailedDecreaseAllowance' error (#4604)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-09-14 10:49:04 -06:00
224c23b38f Rename ProposalCore.eta to etaSeconds (#4599) 2023-09-14 09:54:43 +02:00
80b2d1df38 Improve GovernorTimelockAccess (#4591)
Co-authored-by: Francisco <fg@frang.io>
2023-09-13 20:25:35 -03:00
3bd9ed377e Better context on _spendAllowance NatSpec (#4568)
Co-authored-by: Francisco <fg@frang.io>
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-09-13 16:22:05 -03:00
75eb7c2d49 Merge branch 'feat/access-manager' into audit/wip/2a-2b 2023-09-13 16:07:43 -03:00
e48f8fd0d2 Merge branch 'master' into feat/access-manager 2023-09-13 16:02:48 -03:00
6f1685c3eb Merge branch 'master' into audit/wip/2a-2b 2023-09-13 11:14:09 +02:00
60e3ffe6a3 Remove non-standard increaseAllowance and decreaseAllowance from ERC20 (#4585)
Co-authored-by: Francisco <fg@frang.io>
2023-09-12 11:59:48 -03:00
63851f8de5 Fix typographical errors & comments (#4595)
Co-authored-by: Francisco <fg@frang.io>
2023-09-11 18:44:28 -03:00
36bf1e46fa Migrate FV specs to CVL2 (#4527)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-09-11 17:15:51 -03:00
b6111faac8 Use namespaced storage for upgradeable contracts (#4534) 2023-09-11 16:32:10 -03:00
095c8e120c Remove SafeERC20.safePermit (#4582)
Co-authored-by: Francisco <fg@frang.io>
2023-09-11 12:07:25 -03:00
9e09e0653a Fix flaky test in AccessManager (#4593) 2023-09-11 12:07:06 -03:00
a07f28b00c Improve AccessManager docs (#4586) 2023-09-11 15:54:22 +02:00
bba33516b1 Remove unused return value and reuse helper function (#4588)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-08 18:24:23 -03:00
01659449d4 Make Solidity pragma consistent (#4589) 2023-09-08 18:24:06 -03:00
7ae7f3ef4b Remove unused import (#4590) 2023-09-08 18:05:26 -03:00
26c22169f0 Rename custom error AleadyInitialized → InvalidInitialization (#4592) 2023-09-08 18:05:00 -03:00
6f80048ce9 Improve natspec documentation and comments (#4581)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-07 22:10:28 -03:00
d54f4ac4b7 Rename AccessManager groups to roles (#4580) 2023-09-07 20:58:50 -03:00
a05a529049 Rename AccessManager.relay to execute (#4578)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-07 10:08:45 +02:00
25c416d01c Rename internal variables in EnumerableSet for improved readability (#4577)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-06 23:10:19 -03:00
5a77c9995f Make isConsumingScheduleOp return bytes4 to mitigate clashes (#4575)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-06 20:54:44 -03:00
e2a9353dea Remove unused named return variables (#4573)
Co-authored-by: Francisco <fg@frang.io>
2023-09-06 11:35:07 +02:00
87f7a2cd42 Refactor Time library to use valueBefore/valueAfter (#4555)
Co-authored-by: Francisco <fg@frang.io>
2023-09-05 23:19:21 -03:00
bb7ca7d151 Prevent setting address(0) as the initialAdmin in AccessManager (#4570)
Co-authored-by: Francisco <fg@frang.io>
2023-09-05 18:47:05 -03:00
5abbd04933 Improve Initializable readability using intermediate variables (#4576)
Co-authored-by: Francisco <fg@frang.io>
2023-09-05 18:46:14 -03:00
ff9d089dad Add a boolean to AccessManager.GrantGroup (#4569) 2023-09-05 11:50:56 -03:00
33cab7cd25 AccessManager: Remove classes (#4562) 2023-09-05 11:49:54 -03:00
9ef69c03d1 Update actions/checkout action to v4 (#4572)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-04 21:38:01 +00:00
1523a4f071 Fix accuracy of docs for ERC20._burn (#4574)
Co-authored-by: Francisco <fg@frang.io>
2023-09-04 18:05:42 -03:00
e7ba2f7784 Move beneficiary zero address check to Ownable (#4531)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco <fg@frang.io>
2023-09-04 20:17:16 +00:00
f154bc31d4 Fix some spelling issues in AccessManager.sol & Time.sol (#4571)
Co-authored-by: Francisco <fg@frang.io>
2023-09-04 13:54:28 -03:00
9d2adccf87 Add a minimum delay on all admin update operations (#4557)
Co-authored-by: Francisco <fg@frang.io>
2023-09-04 13:47:51 -03:00
630844ef50 Merge branch 'feat/access-manager' into audit/wip/2a-2b 2023-09-04 15:58:56 +02:00
e891ec587d Merge branch 'master' into feat/access-manager 2023-09-04 15:55:53 +02:00
9612083826 Refactor ERC721 _requireMinted and ownerOf (#4566) 2023-09-04 15:54:21 +02:00
a503ba1a0a Avoid overflow on empty multiproof (#4564) 2023-09-04 10:17:03 +02:00
c0545f741b Delete unused variable (#4565) 2023-09-04 10:16:23 +02:00
98b83dfbaa Move security directory contents to utils (#4551) 2023-09-04 10:11:30 +02:00
424149a682 Stop cleaning up token specific data on ERC-721 burn (#4561)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-02 01:59:00 -03:00
b7da617d8d Define ERC-4906 interfaceId in a private constant (#4560)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-09-02 01:31:59 -03:00
00c5da2034 Allow setting tokenURI for non-existent token (#4559)
Co-authored-by: Francisco <fg@frang.io>
2023-09-02 01:24:05 -03:00
10e00c8ef5 Missing view keyword IAccessManager interface (#4558) 2023-09-01 19:07:20 -03:00
8186c07a83 Follow _approve overrides in ERC721._update (#4552) 2023-08-31 11:23:40 -03:00
8a0b7bed82 Update ERC-7201 location for Initializable (#4554) 2023-08-31 11:02:05 +02:00
3266bca150 Revert memory pointer to storage pointer (#4550) 2023-08-30 19:58:51 +00:00
cd67894914 Use Trace208 in Votes to support ERC6372 clocks (#4539)
Co-authored-by: Francisco <fg@frang.io>
2023-08-30 17:25:17 +00:00
812404cee8 Use leading underscore solhint rule for private constants (#4542)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-29 18:25:35 -03:00
a5ed318634 Refactor access to Checkpoint struct without using memory (#4512) 2023-08-25 20:17:32 -03:00
b2e7bab920 caching result of reading storage variable to save gas (#4535) 2023-08-25 19:49:34 +02:00
98203a72a6 Fix blog link (#4532) 2023-08-25 14:14:49 -03:00
adbb8c9d27 Add Governor module connecting with AccessManager (#4523)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-08-16 02:33:49 -03:00
fab65cd08b Merge branch 'master' into feat/access-manager 2023-08-16 02:23:53 -03:00
9e3f4d60c5 Use the _update mechanism in ERC721 (#4377)
Co-authored-by: Francisco Giordano <fg@frang.io>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-08-09 11:03:27 -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
cb0ffefe2f Use named arguments in mapping types (#4433)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-08-08 22:48:56 -03:00
b5a3e693e7 Improve AccessManager (#4520) 2023-08-08 03:22:59 -03:00
48b860124c Remove outdated warning from ERC2771Forwarder (#4519) 2023-08-07 22:29:48 -03:00
736091afc4 Refactor restriction mechanism in AccessManager to enable enforce executionDelay (#4518)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-07 20:21:46 -03:00
70578bbb44 Allow Initializable versions greater than 256 (#4460)
Co-authored-by: Francisco <fg@frang.io>
2023-08-07 18:59:19 -03:00
9bb8008c23 Access Manager (#4416)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-07 01:57:10 -03:00
1169bb1e51 Merge branch 'master' into feat/access-manager 2023-08-07 01:28:11 -03:00
54a235f895 Refactor Governor proposal struct for efficient access (#4495)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
2023-08-04 19:12:41 -03:00
b81bec4552 Use Ownable in VestingWallet instead of an immutable beneficiary (#4508)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-04 18:57:53 -03:00
f715365ec4 Implement recommendations from 5.0 audit Phase 1B (#4502)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-04 17:23:38 -03:00
21716722ad Remove GovernorCompatibilyBravo and add simpler GovernorStorage (#4360)
Co-authored-by: Ernesto García <ernestognw@gmail.com>
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-08-03 12:51:07 -03:00
d39df78f6c Use bytes.concat in MessageHashUtils (#4504) 2023-08-02 18:45:39 +00:00
a522187b50 Implement suggestions from audit of AccessManager (#4178)
Co-authored-by: Francisco Giordano <fg@frang.io>
2023-04-22 15:40:49 -03:00
7f5e91062e Merge branch 'master' into feat/access-manager 2023-03-26 14:33:49 -03:00
fa112be682 Add AccessManager contracts (#4121)
Co-authored-by: Hadrien Croubois <hadrien.croubois@gmail.com>
Co-authored-by: Ernesto García <ernestognw@gmail.com>
2023-03-24 19:37:08 -03:00
812 changed files with 69467 additions and 40694 deletions

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC1155Receiver`: Removed in favor of `ERC1155Holder`.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': patch
---
Add constructors to the different signers.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`TimelockController`: Changed the role architecture to use `DEFAULT_ADMIN_ROLE` as the admin for all roles, instead of the bespoke `TIMELOCK_ADMIN_ROLE` that was used previously. This aligns with the general recommendation for `AccessControl` and makes the addition of new roles easier. Accordingly, the `admin` parameter and timelock will now be granted `DEFAULT_ADMIN_ROLE` instead of `TIMELOCK_ADMIN_ROLE`. ([#3799](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3799))

View File

@ -1,4 +0,0 @@
---
'openzeppelin-solidity': major
---
Use `abi.encodeCall` in place of `abi.encodeWithSelector` and `abi.encodeWithSignature` for improved type-checking of parameters

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC2771Forwarder`: Added `deadline` for expiring transactions, batching, and more secure handling of `msg.value`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`Math`: Make `ceilDiv` to revert on 0 division even if the numerator is 0

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC20`, `ERC1155`: Deleted `_beforeTokenTransfer` and `_afterTokenTransfer` hooks, added a new internal `_update` function for customizations, and refactored all extensions using those hooks to use `_update` instead. ([#3838](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3838), [#3876](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3876))

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC1155Supply`: add a `totalSupply()` function that returns the total amount of token circulating, this change will restrict the total tokens minted across all ids to 2\*\*256-1 .

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`AccountERC7579`: Extension of `Account` that implements support for ERC-7579 modules of type executor, validator, and fallback handler.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Ownable`: Add an `initialOwner` parameter to the constructor, making the ownership initialization explicit.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Memory`: Add library with utilities to manipulate memory

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`Proxy`: Removed redundant `receive` function.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Checkpoints`: Add a new checkpoint variant `Checkpoint256` using `uint256` type for the value and key.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
Optimize `Strings.equal`

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`UUPSUpgradeable`, `TransparentUpgradeableProxy` and `ProxyAdmin`: Removed `upgradeTo` and `upgrade` functions, and made `upgradeToAndCall` and `upgradeAndCall` ignore the data argument if it is empty. It is no longer possible to invoke the receive function (or send value with empty data) along with an upgrade.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`EnumerableMap`: Add `keys(uint256,uint256)` that returns a subset (slice) of the keys in the map.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
Replace some uses of `abi.encodePacked` with clearer alternatives (e.g. `bytes.concat`, `string.concat`).

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`Arrays`: Optimize `findUpperBound` by removing redundant SLOAD.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ECDSA`: Use unchecked arithmetic for the `tryRecover` function that receives the `r` and `vs` short-signature fields separately.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Checkpoints`: library moved from `utils` to `utils/structs`

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`EIP7702Utils`: Add a library for checking if an address has an EIP-7702 delegation in place.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Account`: Added a simple ERC-4337 account implementation with minimal logic to process user operations.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Governor`: Optimized use of storage for proposal data

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC1967Utils`: Refactor the `ERC1967Upgrade` abstract contract as a library.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`TransparentUpgradeableProxy`: Admin is now stored in an immutable variable (set during construction) to avoid unnecessary storage reads on every proxy call. This removed the ability to ever change the admin. Transfer of the upgrade capability is exclusively handled through the ownership of the `ProxyAdmin`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC20`: Remove `Approval` event previously emitted in `transferFrom` to indicate that part of the allowance was consumed. With this change, allowances are no longer reconstructible from events. See the code for guidelines on how to re-enable this event if needed.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
Move the logic to validate ERC-1822 during an upgrade from `ERC1967Utils` to `UUPSUpgradeable`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`Arrays`: Add `unsafeMemoryAccess` helpers to read from a memory array without checking the length.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`MessageHashUtils`: Add a new library for creating message digest to be used along with signing or recovery such as ECDSA or ERC-1271. These functions are moved from the `ECDSA` library.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`EnumerableSet`: Add `values(uint256,uint256)` that returns a subset (slice) of the values in the set.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`GovernorTimelockControl`: Clean up timelock id on execution for gas refund.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`SignerERC7702`: Implementation of `AbstractSigner` for Externally Owned Accounts (EOAs). Useful with ERC-7702.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`EIP712`: Add internal getters for the name and version strings

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`EnumerableMap`: Add support for `BytesToBytesMap` type.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`TimelockController`: Add a state getter that returns an `OperationState` enum.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
Replace revert strings and require statements with custom errors.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ERC7739`: An abstract contract to validate signatures following the rehashing scheme from `ERC7739Utils`.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Bytes`: Add `reverseBytes32`, `reverseBytes16`, `reverseBytes8`, `reverseBytes4`, and `reverseBytes2` functions to reverse byte order for converting between little-endian and big-endian representations.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Nonces`: Added a new contract to keep track of user nonces. Used for signatures in `ERC20Permit`, `ERC20Votes`, and `ERC721Votes`. ([#3816](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3816))

View File

@ -1,6 +0,0 @@
---
'openzeppelin-solidity': patch
---
`Governor`: Add validation in ERC1155 and ERC721 receiver hooks to ensure Governor is the executor.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Strings`: Add `toHexString(bytes)`.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ERC7913P256Verifier` and `ERC7913RSAVerifier`: Ready to use ERC-7913 verifiers that implement key verification for P256 (secp256r1) and RSA keys.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
Switched to using explicit Solidity import statements. Some previously available symbols may now have to be separately imported.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`EnumerableSet`: Add support for `StringSet` and `BytesSet` types.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`Math`: Optimized stack operations in `mulDiv`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Governor`: Add support for casting votes with ERC-1271 signatures by using a `bytes memory signature` instead of `r`, `s` and `v` arguments in the `castVoteBySig` and `castVoteWithReasonAndParamsBySig` functions.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`GovernorNoncesKeyed`: Extension of `Governor` that adds support for keyed nonces when voting by sig.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`BeaconProxy`: Use an immutable variable to store the address of the beacon. It is no longer possible for a `BeaconProxy` to upgrade by changing to another beacon.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ERC7739Utils`: Add a library that implements a defensive rehashing mechanism to prevent replayability of smart contract signatures based on the ERC-7739.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`MultiSignerERC7913Weighted`: Extension of `MultiSignerERC7913` that supports assigning different weights to each signer, enabling more flexible governance schemes.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`GovernorTimelockControl`: Add the Governor instance address as part of the TimelockController operation `salt` to avoid operation id collisions between governors using the same TimelockController.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`SignerERC7913`: Abstract signer that verifies signatures using the ERC-7913 workflow.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Arrays`: Add `unsafeAccess`, `unsafeMemoryAccess` and `unsafeSetLength` for `bytes[]` and `string[]`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
Overrides are now used internally for a number of functions that were previously hardcoded to their default implementation in certain locations: `ERC1155Supply.totalSupply`, `ERC721.ownerOf`, `ERC721.balanceOf` and `ERC721.totalSupply` in `ERC721Enumerable`, `ERC20.totalSupply` in `ERC20FlashMint`, and `ERC1967._getImplementation` in `ERC1967Proxy`.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`InteroperableAddress`: Add a library for formatting and parsing ERC-7930 interoperable addresses.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ERC20Bridgeable`: Implementation of ERC-7802 that makes an ERC-20 compatible with crosschain bridges.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`IERC7821`, `ERC7821`: Interface and logic for minimal batch execution. No support for additional `opData` is included.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ProxyAdmin`: Removed `getProxyAdmin` and `getProxyImplementation` getters. ([#3820](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3820))

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ERC1155`: Optimize array allocation.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
Bump minimum compiler version required to 0.8.20

View File

@ -1,7 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC20Votes`: Changed internal vote accounting to reusable `Votes` module previously used by `ERC721Votes`. Removed implicit `ERC20Permit` inheritance. Note that the `DOMAIN_SEPARATOR` getter was previously guaranteed to be available for `ERC20Votes` contracts, but is no longer available unless `ERC20Permit` is explicitly used; ERC-5267 support is included in `ERC20Votes` with `EIP712` and is recommended as an alternative.
pr: #3816

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Governor`: Add `voter` and `nonce` parameters in signed ballots, to avoid forging signatures for random addresses, prevent signature replay, and allow invalidating signatures. Add `voter` as a new parameter in the `castVoteBySig` and `castVoteWithReasonAndParamsBySig` functions.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`TransparentUpgradeableProxy`: Removed `admin` and `implementation` getters, which were only callable by the proxy owner and thus not very useful. ([#3820](https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3820))

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`ERC1155`: Remove check for address zero in `balanceOf`.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`MultiSignerERC7913`: Implementation of `AbstractSigner` that supports multiple ERC-7913 signers with a threshold-based signature verification system.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`SignatureChecker`: Add support for ERC-7913 signatures alongside existing ECDSA and ERC-1271 signature verification.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`access`: Move `AccessControl` extensions to a dedicated directory.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ERC721Consecutive`: Add a `_firstConsecutiveId` internal function that can be overridden to change the id of the first token minted through `_mintConsecutive`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`DoubleEndedQueue`: refactor internal structure to use `uint128` instead of `int128`. This has no effect on the library interface.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`AccountERC7579Hooked`: Extension of `AccountERC7579` that implements support for ERC-7579 hook modules.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`Governor`: Add a mechanism to restrict the address of the proposer using a suffix in the description.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`Governor`, `Initializable`, and `UUPSUpgradeable`: Use internal functions in modifiers to optimize bytecode size.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`AbstractSigner`, `SignerECDSA`, `SignerP256`, and `SignerRSA`: Add an abstract contract and various implementations for contracts that deal with signature verification.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Strings`: Rename `toString(int256)` to `toStringSigned(int256)`.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`BeaconProxy`: Reject value in initialization unless a payable function is explicitly invoked.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`ERC1155`: Bubble errors triggered in the `onERC1155Received` and `onERC1155BatchReceived` hooks.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ERC1155`: Optimize array accesses by skipping bounds checking when unnecessary.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
`AccessControl`: Add a boolean return value to the internal `_grantRole` and `_revokeRole` functions indicating whether the role was granted or revoked.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ERC2771Context`: Return the forwarder address whenever the `msg.data` of a call originating from a trusted forwarder is not long enough to contain the request signer address (i.e. `msg.data.length` is less than 20 bytes), as specified by ERC-2771.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': minor
---
Remove the `override` specifier from functions that only override a single interface function.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`ECDSA`: Add `recoverCalldata` and `tryRecoverCalldata`, variants of `recover` and `tryRecover` that are more efficient when signatures are in calldata.

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': patch
---
`ERC2771Context`: Prevent revert in `_msgData()` when a call originating from a trusted forwarder is not long enough to contain the request signer address (i.e. `msg.data.length` is less than 20 bytes). Return the full calldata in that case.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`Blockhash`: Add a library that provides access to historical block hashes using EIP-2935's history storage, extending the standard 256-block limit to 8191 blocks.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`SignatureChecker`: Add `isValidSignatureNowCalldata(address,bytes32,bytes calldata)` for efficient processing of calldata signatures.

View File

@ -0,0 +1,5 @@
---
'openzeppelin-solidity': minor
---
`IERC7786`: Add the (draft) interface for ERC-7786 "Cross-Chain Messaging Gateway"

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`Math`: Renamed members of `Rounding` enum, and added a new rounding mode for "away from zero".

View File

@ -1,5 +0,0 @@
---
'openzeppelin-solidity': major
---
`SafeERC20`: Refactor `safeDecreaseAllowance` and `safeIncreaseAllowance` to support USDT-like tokens.

View File

@ -10,3 +10,7 @@ coverage:
project:
default:
threshold: 1%
ignore:
- "test"
- "contracts/mocks"
- "contracts/vendor"

View File

@ -1,20 +0,0 @@
{
"root": true,
"extends" : [
"eslint:recommended",
"prettier",
],
"env": {
"es2022": true,
"browser": true,
"node": true,
"mocha": true,
},
"globals" : {
"artifacts": "readonly",
"contract": "readonly",
"web3": "readonly",
"extendEnvironment": "readonly",
"expect": "readonly",
}
}

10
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,10 @@
# List of approvers/reviewers for OpenZeppelin Contracts
#
# Get in touch with us via the OpenZeppelin Forum
# https://forum.openzeppelin.com/
#
# Learn about CODEOWNERS file format:
# https://help.github.com/en/articles/about-code-owners
# These owners will be the default owners for everything in the repo.
* @OpenZeppelin/contracts

View File

@ -10,7 +10,7 @@ about: Report a bug in OpenZeppelin Contracts
**💻 Environment**
<!-- Tell us what version of OpenZeppelin Contracts you're using, and how you're using it: Truffle, Remix, etc. -->
<!-- Tell us what version of OpenZeppelin Contracts you're using, and how you're using it: Hardhat, Remix, etc. -->
**📝 Details**

View File

@ -1,18 +1,19 @@
name: Compare gas costs
description: Compare gas costs between branches
inputs:
token:
description: github token
description: GitHub token, required to access GitHub API
required: true
report:
description: report to read from
description: Path to the report to compare
required: false
default: gasReporterOutput.json
out_report:
description: report to read
description: Path to save the output report
required: false
default: ${{ github.ref_name }}.gasreport.json
ref_report:
description: report to read from
description: Path to the reference report for comparison
required: false
default: ${{ github.base_ref }}.gasreport.json
@ -43,7 +44,8 @@ runs:
shell: bash
- name: Save report
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: gasreport
overwrite: true
path: ${{ inputs.out_report }}

View File

@ -1,12 +1,13 @@
name: Setup
description: Common environment setup
runs:
using: composite
steps:
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: 14.x
- uses: actions/cache@v3
node-version: 22.x
- uses: actions/cache@v4
id: cache
with:
path: '**/node_modules'
@ -15,5 +16,7 @@ runs:
run: npm ci
shell: bash
if: steps.cache.outputs.cache-hit != 'true'
env:
SKIP_COMPILE: true
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: stable

View File

@ -1,4 +1,5 @@
name: Compare storage layouts
description: Compare storage layouts between branches
inputs:
token:
description: github token
@ -49,7 +50,8 @@ runs:
shell: bash
- name: Save artifacts
if: github.event_name != 'pull_request'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: layout
overwrite: true
path: ${{ inputs.out_layout }}

View File

@ -9,7 +9,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Add problem matchers
run: |
# https://github.com/rhysd/actionlint/blob/3a2f2c7/docs/usage.md#problem-matchers

View File

@ -19,7 +19,7 @@ jobs:
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ignore-changeset') }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Include history so Changesets finds merge-base
- name: Set up environment

View File

@ -14,13 +14,13 @@ concurrency:
cancel-in-progress: true
env:
NODE_OPTIONS: --max_old_space_size=5120
NODE_OPTIONS: --max_old_space_size=8192
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: npm run lint
@ -29,16 +29,21 @@ jobs:
runs-on: ubuntu-latest
env:
FORCE_COLOR: 1
# Needed for "eth-gas-reporter" to produce a "gasReporterOutput.json" as documented in
# https://github.com/cgewecke/eth-gas-reporter/blob/v0.2.27/docs/gasReporterOutput.md
CI: true
GAS: true
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Run tests and generate gas report
run: npm run test
- name: Check linearisation of the inheritance graph
run: npm run test:inheritance
- name: Check proceduraly generated contracts are up-to-date
- name: Check pragma validity
run: npm run test:pragma -- --concurrency 1
- name: Check procedurally generated contracts are up-to-date
run: npm run test:generation
- name: Compare gas costs
uses: ./.github/actions/gas-compare
@ -50,64 +55,78 @@ jobs:
env:
FORCE_COLOR: 1
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Include history so patch conflicts are resolved automatically
- name: Set up environment
uses: ./.github/actions/setup
- name: Copy non-upgradeable contracts as dependency
run: |
mkdir -p lib/openzeppelin-contracts
cp -rnT contracts lib/openzeppelin-contracts/contracts
- name: Transpile to upgradeable
run: bash scripts/upgradeable/transpile.sh
- name: Run tests
run: npm run test
- name: Check linearisation of the inheritance graph
run: npm run test:inheritance
- name: Check pragma validity
run: npm run test:pragma -- --concurrency 1
- name: Check storage layout
uses: ./.github/actions/storage-layout
continue-on-error: ${{ contains(github.event.pull_request.labels.*.name, 'breaking change') }}
with:
token: ${{ github.token }}
tests-foundry:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Set up environment
uses: ./.github/actions/setup
- name: Run tests
run: forge test -vv
run: forge test -vvv
coverage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: npm run coverage
- uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
- name: Run coverage
run: npm run coverage
- uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
harnesses:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Compile harnesses
run: |
make -C certora apply
npm run compile:harnesses
slither:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: rm foundry.toml
- uses: crytic/slither-action@v0.3.0
with:
node-version: 18.15
- uses: crytic/slither-action@v0.4.1
codespell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Run CodeSpell
uses: codespell-project/actions-codespell@v2.0
uses: codespell-project/actions-codespell@v2.1
with:
check_hidden: true
check_filenames: true
skip: package-lock.json,*.pdf
skip: package-lock.json,*.pdf,vendor

View File

@ -11,7 +11,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: bash scripts/git-user-config.sh

View File

@ -10,7 +10,7 @@ on:
workflow_dispatch: {}
env:
PIP_VERSION: '3.10'
PIP_VERSION: '3.11'
JAVA_VERSION: '11'
SOLC_VERSION: '0.8.20'
@ -20,7 +20,7 @@ jobs:
apply-diff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Apply patches
run: make -C certora apply
@ -28,7 +28,7 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'formal-verification')
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up environment
@ -44,14 +44,15 @@ jobs:
fi
echo "result=$RESULT" >> "$GITHUB_OUTPUT"
- name: Install python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ env.PIP_VERSION }}
cache: 'pip'
cache-dependency-path: 'fv-requirements.txt'
- name: Install python packages
run: pip install -r requirements.txt
run: pip install -r fv-requirements.txt
- name: Install java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ env.JAVA_VERSION }}
@ -66,3 +67,20 @@ jobs:
node certora/run.js ${{ steps.arguments.outputs.result }} >> "$GITHUB_STEP_SUMMARY"
env:
CERTORAKEY: ${{ secrets.CERTORAKEY }}
halmos:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Install python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PIP_VERSION }}
cache: 'pip'
cache-dependency-path: 'fv-requirements.txt'
- name: Install python packages
run: pip install -r fv-requirements.txt
- name: Run Halmos
run: halmos --match-test '^symbolic|^testSymbolic' -vv

View File

@ -27,12 +27,12 @@ jobs:
pull-requests: read
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- id: state
name: Get state
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
TRIGGERING_ACTOR: ${{ github.triggering_actor }}
with:
@ -58,7 +58,7 @@ jobs:
if: needs.state.outputs.start == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: bash scripts/git-user-config.sh
@ -66,7 +66,7 @@ jobs:
name: Create branch with release candidate
run: bash scripts/release/workflow/start.sh
- name: Re-run workflow
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
REF: ${{ steps.start.outputs.branch }}
with:
@ -81,7 +81,7 @@ jobs:
if: needs.state.outputs.promote == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- run: bash scripts/git-user-config.sh
@ -89,7 +89,7 @@ jobs:
if: needs.state.outputs.is_prerelease == 'true'
run: bash scripts/release/workflow/exit-prerelease.sh
- name: Re-run workflow
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: await require('./scripts/release/workflow/rerun.js')({ github, context })
@ -102,13 +102,13 @@ jobs:
if: needs.state.outputs.changesets == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # To get all tags
- name: Set up environment
uses: ./.github/actions/setup
- name: Set release title
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
result-encoding: string
script: await require('./scripts/release/workflow/set-changesets-pr-title.js')({ core })
@ -131,10 +131,11 @@ jobs:
environment: npm
permissions:
contents: write
id-token: write
if: needs.state.outputs.publish == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- id: pack
@ -143,22 +144,19 @@ jobs:
env:
PRERELEASE: ${{ needs.state.outputs.is_prerelease }}
- name: Upload tarball artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ github.ref_name }}
path: ${{ steps.pack.outputs.tarball }}
- name: Tag
run: npx changeset tag
- name: Publish
run: bash scripts/release/workflow/publish.sh
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
TARBALL: ${{ steps.pack.outputs.tarball }}
TAG: ${{ steps.pack.outputs.tag }}
- name: Push tags
run: git push --tags
NPM_CONFIG_PROVENANCE: true
- name: Create Github Release
uses: actions/github-script@v6
uses: actions/github-script@v7
env:
PRERELEASE: ${{ needs.state.outputs.is_prerelease }}
with:
@ -171,12 +169,10 @@ jobs:
name: Tarball Integrity Check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Download tarball artifact
id: artifact
# Replace with actions/upload-artifact@v3 when
# https://github.com/actions/download-artifact/pull/194 gets released
uses: actions/download-artifact@e9ef242655d12993efdcda9058dee2db83a2cb9b
uses: actions/download-artifact@v4
with:
name: ${{ github.ref_name }}
- name: Check integrity
@ -195,7 +191,7 @@ jobs:
env:
MERGE_BRANCH: merge/${{ github.ref_name }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0 # All branches
- name: Set up environment
@ -206,7 +202,7 @@ jobs:
git checkout -B "$MERGE_BRANCH" "$GITHUB_REF_NAME"
git push -f origin "$MERGE_BRANCH"
- name: Create PR back to master
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
script: |
await github.rest.pulls.create({

Some files were not shown because too many files have changed in this diff Show More