* implement self uups upgradeable
* small changes in identityVerificationHubImplV2
* delete aderyn.toml
* chore: add custom verifier
* chnage return output
* feat: use self structs and a Generic output struct
* feat: add userIdentifier, nullifier, forbiddencountries to returned output
* add root view functions from registry
* fix: build and compilation errors
* add userDefined data into selfVerificationRoot
* "resolve conflicts"
* fix compilation problem
* fix how to register verification config
* test: CustomVerifier
* fix verification root and hub integration
* add scope check in hub impl
* replace poseidon hash to ripemd+sha256
* add todo list
* feat: refactor and add test cases for generic formatter
* add performUserIdentifierCheck in basicVerification
* change how to handle additionalData and fix stack too deep
* start adding test codes
* fix dependency problems in monorepo
* fix: forbidden countries (#612)
LGTM!
* able to run test code
* pass happy path
* delete unused codes
* change error code name, add caller address validation and add scripts to run test and build in monorepo
* add all test cases in vcAndDisclose flow
* remove comment out
* chore: use actual user identifier outputs
* success in registration tests
* cover all cases
* pass contractVersion instead of circuitVersion
* fix disclose test
* chore: add natspecs for ImplHubV2, CustomVerifier and GenericFormatter
* change val name and remove unused lines
* add val name change
* remove userIdentifier from return data
* feat: use GenericDiscloseOutput struct in verfication hook fix test cases for user identifier
* chore: change the function order for Hub Impl V2 (#625)
* fix nat specs
* add nat spec in SelfStructs
---------
Co-authored-by: Ayman <aymanshaik1015@gmail.com>
Co-authored-by: Nesopie <87437291+Nesopie@users.noreply.github.com>
* add euid support in app
* yarn nice
* add euid support to proving machine
* update provingMachine and add id endpoints
* fix circuitsDNSmapping
* fix proving
* fix validateDocument
* add todo comment
* add the skip PCR0 option
* set multiple passportData types
* allow storing different id documents
* fix wording
* use goback on the passportOboardingScreen
* update tamagui version
* update yarn.lock
* remove logs in mockdata screen
* remove SKIP_PRC0_CHECK const
* refactor passport data keychain storage
* update project.pbxproj
* yarn nice
* yarn nice
* fix imports
* yarn nice
* add ManageDocuments screen to tests
* update name of the ManageDocument screen in the settings
* run linter in common repo
* clean mrz before doing the length check on android
* bump build
* update clean commands
* add notification tracking provider, and update provider paths
* request permission for firebase cloud messaging
* since the app asks for permissions, let's enable this after configuring the APN
* remove monorepo building as it doesn't affect app build success
* add flags to expose build issues
* fix hermes path
* fix hermes path for emulator and bundle build
* Revert "Bump build to test PACE polling (ios 127; android 66) (#591)"
This reverts commit 6d27b365c7.
* revert old logic and fix build from breaking
* sort package.json
* bump builds
* update env.sample with new env vars, and add _NFC to mixpanel nfc var
* remove NDEF so we can keep target sdk version at 15
* add sort package json command
* sort all project package.json files
* enable hermes
* disable hermes
* revert disabling
* remove hermes
* fix: added missing range checks for Sha1Bytes
* more descriptive comments around range checks
* added range assumption of Sha1Bytes
* added range assumption of Sha1General
---------
Co-authored-by: nicoshark <i.am.nicoshark@gmail.com>
Co-authored-by: turnoffthiscomputer <98749896+remicolin@users.noreply.github.com>
* add eu id support
* add ofac and disclosure euid support
* add contract support for euid cards
* update contracts
* add comment out to remember the interface what we need to implement
* prettier
* get combine verifyVcAndDisclose function and get bytes data
* unified library and clean constant V2
* fix verifyVcAndDisclose interface
* add prettier and run prettier except .sol files
* prettier
* circuit compilation for local environment
* add register id circuit in the contracts dir
* clean up ignition deploy scritps
* refactor deploy scripts
* prettier
* update serialized dsc tree
* fix ofac check
* fix passport attestation id
---------
Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
* Run prettier
* Update yarn.lock
* Refactor SelfVerificationRoot contract to support bytes-based proof verification and update related interfaces. Introduce contract versioning and enhance event emissions for verification success. Update Airdrop, HappyBirthday, and SelfPassportERC721 contracts to align with new SelfVerificationRoot structure and improve attestation ID handling.
* add fix
* add getSKIPems to fetchAll - store the passport data with the used csca
* fix the dsc parsing error
* use bitwise operation, implement the new isRegisteredWithAlternativesCSCA in the recovery methods
* add eu id support
* add ofac and disclosure euid support
* add contract support for euid cards
* update contracts
* add comment out to remember the interface what we need to implement
* prettier
* get combine verifyVcAndDisclose function and get bytes data
* unified library and clean constant V2
* fix verifyVcAndDisclose interface
* add prettier and run prettier except .sol files
* prettier
---------
Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
* add eu id support
* add ofac and disclosure euid support
* add contract support for euid cards
* update contracts
* add comment out to remember the interface what we need to implement
* add prettier and run prettier except .sol files
* prettier
---------
Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
* add eu id support
* add ofac and disclosure euid support
* add contract support for euid cards
* update contracts
* add comment out to remember the interface what we need to implement
---------
Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
* add eu id support
* add ofac and disclosure euid support
* add contract support for euid cards
---------
Co-authored-by: motemotech <i.am.nicoshark@gmail.com>
* Add SelfVerificationConsumer contract for self-verification logic
- Introduced an abstract contract, SelfVerificationConsumer, that extends SelfVerificationRoot.
- Implemented nullifier tracking, verification success events, and customizable validation and update methods for nullifiers.
- Added error handling for nullifier check failures and hooks for derived contracts to implement custom logic after successful verification.
* Add SelfHappyBirthday contract example using SelfVerificationConsumer
- Introduced SelfHappyBirthday contract that allows users to claim USDC on their birthday.
- Integrated SelfVerificationConsumer for handling verification and nullifier tracking.
- Added functions to set claimable amount and window, along with event emissions for state changes.
- Implemented logic to check if the claim is within the user's birthday window and transfer USDC accordingly.
* Refactor imports in HappyBirthday contract for better organization
- Updated import statements in HappyBirthday.sol to use relative paths for ISelfVerificationRoot, SelfCircuitLibrary, and SelfVerificationConsumer.
- Improved code readability and maintainability by organizing imports more logically.
* Refactor Airdrop contract to use SelfVerificationConsumer for registration logic
- Updated Airdrop contract to inherit from SelfVerificationConsumer instead of SelfVerificationRoot.
- Refactored mappings for user identifiers and nullifiers for improved clarity and functionality.
- Enhanced error handling and updated function parameters for consistency.
- Implemented new validation and update methods for nullifiers, streamlining the registration process.
- Removed deprecated verifySelfProof function and integrated logic into new methods.
* Add events and refactor SelfVerificationRoot and related contracts
- Introduced new events in SelfVerificationRoot for verification configuration updates, scope changes, and attestation ID management.
- Updated Airdrop contract to remove deprecated events and added a new event for Merkle root updates.
- Refactored SelfPassportERC721 to inherit from SelfVerificationConsumer, enhancing verification logic and event handling.
- Improved function parameters for consistency and clarity across contracts.
* Refactor contracts to use SelfVerificationRoot and enhance verification logic
- Removed SelfVerificationConsumer contract and updated related contracts to inherit from SelfVerificationRoot.
- Refactored mappings and event emissions in Airdrop, HappyBirthday, and SelfPassportERC721 for improved clarity and functionality.
- Enhanced verification success hooks to include user identifiers and nullifiers for better tracking.
- Updated constructor parameters for consistency across contracts and improved error handling for user registration and claims.
* Refactor constructor in SelfPassportERC721 for improved readability
* Refactor function parameters in SelfVerificationRoot and related contracts
* Refactor constructor parameter names in IdentityVerificationHub, Airdrop, IdentityRegistry, and ProxyRoot contracts for improved clarity and consistency