-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Add ERC7913 signers and utilities #5659
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
121 commits
Select commit
Hold shift + click to select a range
f5544fd
Add Account framework
ernestognw 40dfd20
Add missing mocks
ernestognw 0bcc521
Adding missing hardhat config
ernestognw 7e75026
up
ernestognw 5fb074c
Remove unnecessary files for mocks
ernestognw e5df541
Remove more unnecessary mock files
ernestognw 5ad9788
replace hardcoded links
ernestognw 7090f67
lockfile
ernestognw c4af1d7
update ethers
ernestognw aa8f29b
add missing interface
ernestognw 415c00d
Add changesets
ernestognw f60aa3a
up
ernestognw 087a844
up
ernestognw 79629b7
up
ernestognw f47cab7
up
ernestognw 8f58197
up
ernestognw ecede7f
up
ernestognw 68bd96a
up
ernestognw d5cb119
chore: empty commit
ernestognw 6a0ae8a
change read permissions
ernestognw a49a157
Update lucky-donuts-scream.md
ernestognw a634278
Update clean-ways-push.md
ernestognw 8b6501a
Update tame-bears-mix.md
ernestognw 39a1026
reset package-lock.json
ernestognw 71a6b25
up
ernestognw 35d4a12
up
ernestognw a95705b
reset dependencies
ernestognw 90509bd
reset dependencies
ernestognw 10f40d7
reset dependencies
ernestognw 36fb044
lint
ernestognw 7e10f80
Attempt to fix tests
ernestognw c6ed868
up
ernestognw b87c8e2
Merge branch 'master' into feature/account-abstraction
ernestognw f6d07c2
adjust action.yml
ernestognw cfa2392
up
ernestognw 9a8e63f
Merge branch 'master' into feature/account-abstraction
ernestognw 3a90091
lint
ernestognw bdec803
lint
ernestognw 73c12c7
Merge branch 'master' into feature/account-abstraction
ernestognw 1c97739
Test ethers 6.13.6-beta.1
ernestognw 6b1bbd8
up
ernestognw 7764515
up
ernestognw 19fe4c5
up
ernestognw 11c42c3
checks
ernestognw be68753
up
ernestognw f0a1155
build in slither
ernestognw c42a7fd
Update build command
ernestognw 6e576ca
compile hardhat too
ernestognw 593e879
revert slither changes
ernestognw c3f39a1
Remove package-lock.json to skip installing dependencies
ernestognw db76c3b
up
ernestognw 8eebff0
Add @custom:stateless tag
ernestognw 65fa7de
update upgradeable.patch
ernestognw abac3bd
fix conflicts
ernestognw 7d120b9
rollback <package-version>
ernestognw 02eccc1
update upgradeable.patch
ernestognw c39d5f5
Tweak workflows
ernestognw 54f632a
Use Solidity 0.8.27 as default and set default EVM to prague
ernestognw 58c794e
Adjust ERC2771Forwarder gas to avoid GasFloorMoreThanGasLimit
ernestognw 6a60523
Remove console.log
ernestognw 80edba8
Add EnumerableSetExtended and EnumerableMapExtended
ernestognw 29c48d9
Fix lint and enable formatting after generation
ernestognw fae0a67
Add ERC7913 signers and utilities
ernestognw e412bd9
Add EnumerableSetExtended and EnumerableMapExtended
ernestognw f7f64ee
Add changeset and fix linting
ernestognw b0b70eb
Merge branch 'master' into feature/enumerable-extended
ernestognw b695659
Remove TODOs
ernestognw 5c4fb88
Reset package-lock
ernestognw 8f32638
Revert run.js
ernestognw b12ca61
Merge Enumerable{Set,Map}Extended into Enumerable{Set,Map}
Amxx 45fa35f
Update scripts/generate/templates/Enumerable.opts.js
Amxx bec8059
clarification
Amxx 0d7f9d0
speedup generation with selective linter
Amxx 2376a45
update documentation
Amxx 1e35eab
Merge master
ernestognw c275c03
Remove unnecesary code
ernestognw 5975d79
Remove Bytes32x2
ernestognw 9356599
Update .changeset/pink-dolls-shop.md
ernestognw 86c2cb8
Remove unnecessary _hashes
ernestognw 6898230
Simplify
ernestognw 4e2bc70
Improve changesets
ernestognw 2a1f503
remove unecessary import
Amxx 326c466
Use Arrays.sol
ernestognw 52ac908
Merge branch 'feature/enumerable-extended' into feature/erc7913
ernestognw 6725618
up
ernestognw 0cce4d5
up
ernestognw 5c45ff0
Merge branch 'master' into feature/erc7913
Amxx 80d8bd5
Merge branch 'master' into feature/erc7913
ernestognw 30f3bfa
cleanup
ernestognw eab64f8
Remove EnumerableSetExtended usage
ernestognw e3dcc2b
Add tests
ernestognw 3ac675d
Add changesets
ernestognw b20b017
Merge branch 'master' into feature/erc7913
ernestognw 804ceea
Organize
ernestognw d0f5961
Review
ernestognw 98108d9
Increase SignatureChecker's pragma
ernestognw e1ffe05
Pragma consistency
ernestognw 9a32135
Increase SignatureChecker minimum pragma to 0.8.24
ernestognw d8e132a
Update mocks
ernestognw f2406ca
Merge branch 'master' into feature/erc7913
Amxx 2dd9f27
paginated getSigner()
Amxx 77587ad
simplify mock
Amxx b7ddad9
minor signer helper refactor
Amxx ea7ffc3
simplify helper
Amxx 2f3f054
Merge branch 'master' into feature/erc7913
ernestognw 6619a53
Add fallback to check uniqueness if signers are not ordered (#56)
Amxx cefe101
Update contracts/utils/cryptography/SignatureChecker.sol
Amxx b1753d1
Fix tests
ernestognw cd2399b
Remove unnecessary mock
ernestognw 0b1b8eb
Docs nits
ernestognw e592125
Remove weighted multisig
ernestognw 4dc17a7
Use uint64 as threshold
ernestognw d918e59
Add totalSigners function
ernestognw 2bee2c4
Update contracts/utils/cryptography/signers/MultiSignerERC7913.sol
Amxx 7977301
Apply suggestions from code review
Amxx 781644b
remove weights from MultiERC7913SigningKey
Amxx 2855e50
test style consistency
Amxx 395c67a
Suggestions
ernestognw a6bff02
up
ernestognw 92e4fc7
Update contracts/utils/cryptography/signers/MultiSignerERC7913.sol
ernestognw 7c9082f
Fix compilation
ernestognw File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| 'openzeppelin-solidity': minor | ||
| --- | ||
|
|
||
| `SignerERC7913`: Abstract signer that verifies signatures using the ERC-7913 workflow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| 'openzeppelin-solidity': minor | ||
| --- | ||
|
|
||
| `MultiSignerERC7913`: Implementation of `AbstractSigner` that supports multiple ERC-7913 signers with a threshold-based signature verification system. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| 'openzeppelin-solidity': minor | ||
| --- | ||
|
|
||
| `SignatureChecker`: Add support for ERC-7913 signatures alongside existing ECDSA and ERC-1271 signature verification. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| // SPDX-License-Identifier: MIT | ||
|
|
||
| pragma solidity ^0.8.0; | ||
|
|
||
| /** | ||
| * @dev Signature verifier interface. | ||
| */ | ||
| interface IERC7913SignatureVerifier { | ||
| /** | ||
| * @dev Verifies `signature` as a valid signature of `hash` by `key`. | ||
| * | ||
| * MUST return the bytes4 magic value IERC7913SignatureVerifier.verify.selector if the signature is valid. | ||
| * SHOULD return 0xffffffff or revert if the signature is not valid. | ||
| * SHOULD return 0xffffffff or revert if the key is empty | ||
| */ | ||
| function verify(bytes calldata key, bytes32 hash, bytes calldata signature) external view returns (bytes4); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.