Open
Conversation
0xKitsune
reviewed
Aug 15, 2024
src/test/identity-manager/WorldIDIdentityManagerDataQuery.t.sol
Outdated
Show resolved
Hide resolved
src/test/identity-manager/WorldIDIdentityManagerIdentityRegistration.t.sol
Outdated
Show resolved
Hide resolved
src/test/identity-manager/WorldIDIdentityManagerIdentityRegistration.t.sol
Outdated
Show resolved
Hide resolved
0xKitsune
reviewed
Aug 28, 2024
Dzejkop
reviewed
Aug 29, 2024
Dzejkop
reviewed
Aug 29, 2024
Dzejkop
reviewed
Aug 29, 2024
Dzejkop
reviewed
Aug 29, 2024
kustosz
requested changes
Aug 30, 2024
Contributor
kustosz
left a comment
There was a problem hiding this comment.
Some style + this is cryptographically broken
440e522 to
c309622
Compare
6ca49e5 to
a5ab7aa
Compare
kustosz
approved these changes
Sep 11, 2024
src/WorldIDIdentityManagerImplV3.sol
Outdated
| /// @notice The root obtained after inserting all of `identityCommitments` into the tree described | ||
| /// by `preRoot`. Must be an element of the field `Kr`. (already in reduced form) | ||
| uint256 postRoot; | ||
| /// @notice Root of the merkle tree after adding identities to it. |
Contributor
There was a problem hiding this comment.
This is misleading. Better wording: Hash of all inserted identities, constructed by taking a root of the Merkle Tree of minimal depth containing all identities.
Every contract seems to use 4 anyway. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
This is groundwork for EIP-4844 support. Cancun introduces the blobhash opcode and SOLC 0.8.24 is the first revision to support this opcode in Solidity.
Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
It does not seem to be used anywhere. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
This is ground work for EIP-4844. Vm.blobhashes allow for mocking value of the next call to the blobhash opcode. This will be useful in EIP-4844 tests to mock this opcode. Update the usage of the one symbol that changed its name. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
Implement WorldID Identity Manager in its 3rd implementation. The new implementation contains one main method - registerIdentities. It's the EIP-4844 equivalent of the existing registerIdentities from the V1 implementation. The new registerIdentities calls verifyProof that is also different from its classic counterpart. The new verifyProof comes from the EIP-4844-ready InsertionTreeVerifier164844 contract, that was generated from the semaphore-mtb's InsertionCircuit modified to accommodae EIP-4844 features. Since the new verifyProof function has a different prototype than the previous one, the ITreeVerifier interface has been updated with the new prototype. This change results in lots of boilerplate changes as all contracts implementing this interface must contain a dummy implementation of the new function, even if it does not make practical sense. Add tests for the new feature. Tests are modelled by the existing registration tests. The new contract is basically a copy of the old one, with the main difference of calling the new registerIdentities implementation. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
Making these variables global shrunks stack significantly, allowing to build contracts without the --via-ir flag. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
The --gas-report flag of the forge test command seems to conflict with blobhash mocks in tests, making the new EIP-4844 tests fail, despite they pass without this flag. Turn off benchmarks temporarily, to unblock EIP-4844 development. This should be debugged and fixed later. Signed-off-by: Wojciech Zmuda <zmuda.w@gmail.com>
Author
|
@Dzejkop @0xKitsune, after consulting @kustosz we decided to temporarily block the benchmark step of the CI. Forge tests go bonkers if |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.