-
Notifications
You must be signed in to change notification settings - Fork 35
V3.0.0 #342
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
V3.0.0 #342
Conversation
# Conflicts: # helpers/constants.ts
* Bump validator versions and target deploy addresses * Fix contract version
} | ||
|
||
function _verifyEthIdentity(uint256 id, address sender) internal view { | ||
bytes2 idType = _getState().getIdTypeIfSupported(id); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like eth auth will not work for identities from other blockchains, because their idTypes would not be in supported list. Use getIdType here instead and test cross-chain auth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed and EthIdentityValidator will not need the State contract at all
) = abi.decode(proof, (uint256[], uint256[2], uint256[2][2], uint256[2])); | ||
|
||
PubSignals memory pubSignals = parsePubSignals(inputs); | ||
_checkGistRoot(pubSignals.userID, pubSignals.gistRoot); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please check if it works cross-chain.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, it should. It is meant that idType
+ gistRoot
will is pub to State via as an oracle data before the authV2 is called. idType' is extracted from
userId' from the same source chain where the oracle GIST root proofs came from.
if ( | ||
userID != | ||
GenesisUtils.calcIdFromEthAddress( | ||
_getState().getIdTypeIfSupported(userID), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably doesn't work for cross-chain proofs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a good point. Better get idType
via GenesisUtils.getIdType(..)
as verification chain may not support user source chain idType
* @dev Sets a multiRequest | ||
* @param multiRequest The multiRequest data | ||
*/ | ||
function setMultiRequest( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it check for validator whitelist, disabled requests. Does it set request owner?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing of these is checked and no multiRequest owner exist at multi request level. Should we change anything?
* deployment libraries to billions testnet * add chainIdInfoMap for Billions * Remove artifacts * State Contract Deployment to billions-test artifacts * State Contract Deployment to billions-test artifacts * State Contract Deployment to billions-test artifacts * update verification params for billions network * update billions main chainid --------- Co-authored-by: Andriian Chestnykh <[email protected]> Co-authored-by: Oleksandr Brezhniev <[email protected]>
# Conflicts: # contracts/lib/VerifierMTPWrapper.sol # contracts/lib/VerifierSigWrapper.sol # contracts/lib/VerifierV3Wrapper.sol # contracts/lib/groth16-verifiers/Groth16VerifierAuthV2Wrapper.sol # contracts/package.json # contracts/verifiers/EmbeddedZKPVerifier.sol # contracts/verifiers/RequestOwnership.sol # contracts/verifiers/UniversalVerifier.sol # contracts/verifiers/ValidatorWhitelist.sol # helpers/constants.ts # test/verifier/embedded-zkp-verifier.test.ts # test/verifier/universal-verifier.test.ts
Uh oh!
There was an error while loading. Please reload this page.