Skip to content
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

Identity proofs #13

Merged
merged 44 commits into from
Mar 22, 2024
Merged

Identity proofs #13

merged 44 commits into from
Mar 22, 2024

Conversation

shjortConcordium
Copy link
Contributor

@shjortConcordium shjortConcordium commented Mar 18, 2024

Purpose

Support identity proofs.
This can be tested with the proof explorer (Currently one needs to use the enable-wallet-connect branch):
https://github.com/Concordium/concordium-web3id/tree/enable-wallet-connect/test-tools/proof-explorer

Known missing stuff:

  • Reject web3Id proofs nicely.
  • Reject proofs with "incompatible identity providers".
  • Reject "Unacceptable requests", like using the same attribute twice in the same credential statement.
  • Fix crash when clicking outside bottom sheet during account selection.
  • Sometimes between requests, the index does not reset. (So a new request doesn't start on the first statement)
    (All of these will be fixed in a later PR)

This have been added

Changes

  • Update Gradle
  • Add Concordium-android-sdk and jackson as dependencies.
  • Refactoring in IdentityAttributeConverterUtil
  • Added support for Identity proofs

Checklist

  • My code follows the style of this project.
  • The code compiles without warnings.
  • I have performed a self-review of the changes.
  • I have documented my code, in particular the intent of the
    hard-to-understand areas.
  • (If necessary) I have updated the CHANGELOG.

orhoj and others added 30 commits February 21, 2024 14:11
…ntity-proofs

# Conflicts:
#	app/src/main/java/com/concordium/wallet/ui/walletconnect/WalletConnectView.kt
#	app/src/main/res/values/strings.xml
Copy link
Member

@Radiokot Radiokot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, check out the comments.
I've also found the following issues when testing the feature locally:

  1. When account selector is opened for ID proof and you dismiss the sheet by swiping it down, "Could not send response" message is shown instead of rejecting the request;
    1.1 When account selector is opened for ID proof and you press Back button (or gesture), session proposal is opened instead returning to the ID proof;
  2. When I click "Approve" there is a delay before closing the sheet (global params are loading). If the params are not to be changed during request review, I think it is better to load them prior to showing the request, as it is done for smart contract calls;
  3. Not sure if it is a proof checker or the app issue, but if I select that only Notabene and DTS are allowed, the request can be proved with Concordium testnet IP anyway;

@shjortConcordium
Copy link
Contributor Author

Please, check out the comments. I've also found the following issues when testing the feature locally:

1. When account selector is opened for ID proof and you dismiss the sheet by swiping it down, "Could not send response" message is shown instead of rejecting the request;
   1.1 When account selector is opened for ID proof and you press Back button (or gesture), session proposal is opened instead returning to the ID proof;

2. When I click "Approve" there is a delay before closing the sheet (global params are loading). If the params are not to be changed during request review, I think it is better to load them prior to showing the request, as it is done for smart contract calls;

3. Not sure if it is a proof checker or the app issue, but if I select that only Notabene and DTS are allowed, the request can be proved with Concordium testnet IP anyway;
  1. This should be fixed now. 👍
    1.1 Good catch, should also be fixed now 👍
  2. I think the delay is mostly from the proof being constructed, unless I'm mistaken/misunderstanding. 🤔
  3. It is an app issue, should be fixed now. (A "special view" is added if you none, if you have some accounts with the correct issuers, the ones with the "wrong" issuers are filtered out). 👍

@shjortConcordium
Copy link
Contributor Author

Note that Jakob changed the wallet connect method name, so if you pull this, you also need to pull in the web3-id repo, for the proof explorer to keep working.

@shjortConcordium shjortConcordium merged commit 97f376f into main Mar 22, 2024
1 check passed
@shjortConcordium shjortConcordium deleted the identity-proofs-ui branch March 22, 2024 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants