Skip to content

fix: Remove primary pub key - #142

Open
cosminm-affnd wants to merge 31 commits into
mainfrom
remove-primaryPubKey
Open

fix: Remove primary pub key#142
cosminm-affnd wants to merge 31 commits into
mainfrom
remove-primaryPubKey

Conversation

@cosminm-affnd

Copy link
Copy Markdown
Collaborator

No description provided.

cosminm-affnd and others added 28 commits July 1, 2025 17:07
* fix: update algos to match JOSE definitions

* fix: update

* fix: remove ed25519_sha256 completely

* fix: tests

* fix: tests

* fix: check for EdDsa encryption
* fix: Remove DidDocument as a param for DidSigner

* fix: Removing the publicKey getter from DidSigner

* fix: dart analyze issues
* feat: enhance proof verification with new data integrity suites

* fix: Align ECDSA/EdDSA hashing and ECDSA curve with specifications

Corrects hashing for ecdsa-rdfc-2019 (P-256/SHA-256) and
eddsa-rdfc-2022 (SHA-256 components). Updates ECDSA verifier
to use P-256 curve.

* feat: improve ECDSA/EdDSA generators with signature scheme validation

* feat: added DiDManager and DiDManagerStore

* feat: enhance service endpoint handling

* refactor: restructure DID manager architecture for better separation of concerns

  - Extract DidKeyManager and DidPeerManager from base DidManager class
  - Remove addVerificationMethodToDocument from all managers (immutable DIDs)
  - Make createDidDocument private (_createDidDocumentFromState)
  - Fix DidPeer.generateDocument to properly separate auth/agreement keys

* refactor: renamed DID Manager to DID Controller

* docs: clarify keyId distinction between KeyPair and DID contexts

* feat: implement DidKeyPair class

* refactor: deprecate KeyPair.id and update PublicKey to use keyId for DID operations

* refactor: update service endpoint type from DIDCommMessaging to GenericService and adjust related tests and fixtures

* feat: Implement DID Controller for did:key and did:peer methods

- Added DiDControllerStore for managing mappings between DID key identifiers and wallet key identifiers.
- Introduced DefaultDiDControllerStore as an in-memory implementation of DiDControllerStore.
- Created DidKeyController for handling DID documents using the did:key method, supporting single public key management.
- Developed DidPeerController for managing DID documents with multiple keys and service endpoints using the did:peer method.
- Removed obsolete DidKeyManager and DidPeerManager classes to streamline the architecture.
- Updated exports in index.dart and ssi.dart to reflect new controller structure.

* feat: add computeEcdhSecret method to KeyPair interface and its implementations

* fix: improve DID controller architecture

  • Replace PublicKey objects with key IDs throughout all controllers
  • Consolidate key management logic in base DidController class
  • Add validation for empty key IDs and wallet key existence
  • Make wallet operations async across all controllers
  • Remove createXXXVerificationMethod methods (use addXXX with existing keys)
  • Simplify DIDKey/DIDPeer controllers to use base class implementation

* feat: did controller (#126)

* feat: commiting wip

* feat: did store now keeps references to method purposes

* feat: updated controllers and in memory store

* feat: key pairs default signature scheme

* fix: did signer to use proper verification methods

* fix: did peer to support multiple service endpoints

* fix: type issue with signer

* fix: did peer tests

* fix: add id param to remove service

* feat: add and remove of service endpoints

* chore: rename

* fix: move did signer code_snippet

* fix: update in memory did store

* docs: did key example

* fix: prevent adding verification method on did key

* feat: examples

* fix: redundancy

* fix: keys being referenced incorrectly

* fix: outdated context and verification method type

* fix: did peer tests and fragment id

* fix: lint

* fix: update didkeypair tests

* fix: did peer tests

* feat: Add unit tests for DidKeyController and DidPeerController

- Implement tests for DidKeyController covering key generation, document creation, and verification methods.
- Include tests for different key types (P256, ED25519) and their respective behaviors in DID documents.
- Develop tests for DidPeerController focusing on multiple keys with different purposes, service endpoint handling, and proper indexing in verification method IDs.

* fix: DidPeerController tests to enhance verification method handling and document generation

* Merge branch 'main' into feat-didmanager

* fix: Refactor DID Controller Tests for Verification Methods and Service Endpoints

* fix: update DID controller examples to use async methods and improve clarity

* fix: update algos to match JOSE definitions (#114)

* fix: update algos to match JOSE definitions

* fix: update

* fix: remove ed25519_sha256 completely

* fix: tests

* fix: tests

* fix: check for EdDsa encryption

* fix: update algos to match JOSE definitions (#114)

* fix: update algos to match JOSE definitions

* fix: update

* fix: remove ed25519_sha256 completely

* fix: tests

* fix: tests

* fix: check for EdDsa encryption

* docs: removed duplicate docs

* fix: test

* fix: X25519 key reference for did peer

BREAKING CHANGE: getX25519PublicKey from Bip32Ed25519Wallet and
ed25519KeyToX25519PublicKey from Ed25519KeyPair now return a PublicKey
object

* feat: addKey convenience method

* fix: did peer 2 capability and assertion method purposes

* feat: example

* fix: did key

* fix: tests

* fix: tests

* fix: test

* fix: test

* fix: remove test

* fix: lint

* fix: formatting

* fix: proper verification method id for X key in did key

* fix: formatting

* fix: update examples and tests to use correct DID controller API

* chore: remove unused code

* feat: be more permissive allowing secp256k1 for key agreement

* docs: improve add verification method docs

---------

Co-authored-by: Carlos Rincon <86779651+carlos-affinidi@users.noreply.github.com>
Co-authored-by: Cosmin Mogos <88316789+cosminm-affnd@users.noreply.github.com>
Co-authored-by: Carlos Rincon <carlos.r@affinidi.com>
feat: supported signature checks unified
* chore: explicit key types

* qa: merge did peer tests

* qa: did peer 0 test

* fix: spec compliant no deduplication of verification methods

* qa: merged tests

* fix: formatting
* fix: did peer store misalignment

* fix: test

* fix: merge methods

* fix: remove non virtual
@cosminm-affnd
cosminm-affnd requested a review from a team as a code owner July 8, 2025 09:30
@cosminm-affnd
cosminm-affnd changed the base branch from main to v2 July 8, 2025 09:30
@github-actions

github-actions Bot commented Jul 8, 2025

Copy link
Copy Markdown

Coverage after merging remove-primaryPubKey into main will be

78.08%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart81.25%100%100%81.25%103, 126, 181
   utility.dart100%100%100%100%
   digest_utils.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart97.56%100%100%97.56%57
   jwt_dm_v1_suite.dart86%100%100%86%109, 111, 36, 38, 56, 71, 73
lib/src/credentials/linked_data
   ld_base_suite.dart91.49%100%100%91.49%102, 104, 86, 88
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   credential_schema.dart100%100%100%100%
   credential_subject.dart72.97%100%100%72.97%38, 55, 57–58, 61, 64–65, 70–71, 94
   evidence.dart76.47%100%100%76.47%50–52, 54
   holder.dart92.31%100%100%92.31%90
   terms_of_use.dart75%100%100%75%46–48, 50
lib/src/credentials/models/field_types/credential_status
   v1.dart43.18%100%100%43.18%51–57, 60–61, 64, 66–68, 71, 73–76, 78, 82–83, 85–86, 88–89
   v2.dart63.64%100%100%63.64%59–60, 63, 65–67, 70, 72–75, 77, 81–82, 87–88
   revocation_list_2020.dart10.45%100%100%10.45%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 170, 172, 174–181, 22–27, 48, 56–61, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
lib/src/credentials/models/field_types/refresh_service
   v1.dart76.47%100%100%76.47%46–48, 50
   v2.dart18.18%100%100%18.18%35–36, 38, 55–56, 61, 66–67, 69
lib/src/credentials/models/v1
   mutable_vc_data_model_v1.dart85%100%100%85%153–155, 203–204, 210–211, 217, 223
   vc_data_model_v1.dart87.88%100%100%87.88%159–161, 166, 168–169, 174–176, 181–183
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart43.33%100%100%43.33%145, 161–162, 164, 166, 168, 170, 172, 174–176, 179–180, 183, 185–187, 190, 192, 194, 196–198, 201, 203–205, 208, 210–211, 214, 216–217, 220
   vc_data_model_v2.dart83.70%100%100%83.70%138–140, 145, 147–148, 153–155, 160–162, 259, 265, 269
lib/src/credentials/parsers
   jwt_parser.dart88.89%100%100%88.89%51, 53
   ld_parser.dart85.71%100%100%85.71%26
   sdjwt_parser.dart70%100%100%70%40, 56, 58
lib/src/credentials/presentations/linked_data
   ld_vp_dm_v1_suite.dart100%100%100%100%
   ld_vp_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/presentations/models
   vc_parse_present.dart88.89%100%100%88.89%27
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart46.43%100%100%46.43%100–101, 104, 73, 76, 82–83, 85, 87–88, 90, 92, 94, 96–97
   vp_data_model_v1.dart82.69%100%100%82.69%79–81, 86, 88–89, 94–96
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart82.76%100%100%82.76%100–101, 161, 84–86, 91, 93–94, 99
   mutable_vp_data_model_v2.dart45.45%100%100%45.45%100, 102–103, 106–107, 110, 112–113, 116, 78, 82, 88–89, 91, 93–94, 96, 98
lib/src/credentials/presentations/suites
   universal_presentation_parser.dart42.86%100%100%42.86%21–22, 24–25
   universal_presentation_verifier.dart0%100%100%0%27–28, 34, 36, 41–43, 45–48, 51–54, 57
   vp_suites.dart66.67%100%100%66.67%29–31
lib/src/credentials/presentations/verification
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart75%100%100%75%36, 53–54, 62–63
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart92.31%100%100%92.31%42, 44–45
   data_integrity_eddsa_suite.dart92.31%100%100%92.31%42, 44–45
   ecdsa_secp256k1_signature2019_suite.dart98.33%100%100%98.33%110
   embedded_proof_suite.dart100%100%100%100%
   embedded_proof.dart70.59%100%100%70.59%107–108, 110, 114, 117, 148, 158–159, 165–167, 169, 183, 191, 197, 199, 76, 91, 96–97
   base_data_integrity_verifier.dart68.35%100%100%68.35%116–117, 122–123, 129–130, 141, 143, 145–146, 149, 152–153, 157–158, 209, 211–212, 241, 70–71, 77–78, 90–91
   base_secp256k1_verifier.dart82.43%100%100%82.43%113–114, 119–120, 129–130, 179, 181, 219, 67–68, 74–75
lib/src/credentials/sdjwt
   enveloped_vc_suite.dart80%100%100%80%102–104, 113, 115–116, 67, 69, 99
   sdjwt_dm_v2_suite.dart82.35%100%100%82.35%110, 112, 133–137, 192, 262, 265, 58, 60
   sdjwt_did_verifier.dart100%100%100%100%
lib/src/credentials/suites
   vc_suites.dart78.57%100%100%78.57%35–37
   universal_parser.dart100%100%100%100%
   universal_verifier.dart100%100%100%100%
lib/src/credentials/verification
   vc_expiry_verifier.dart100%100%100%100%
   vc_integrity_verifier.dart100%100%100%100%
   vc_revocation_verifier.dart85.42%100%100%85.42%110–112, 114, 116, 119, 54
lib/src/did
   did_signer.dart100%100%100%100%
   did_verifier.dart77.08%100%100%77.08%107–108, 113–114, 116–117, 136, 52, 63, 65–66
   did_key_pair.dart62.50%100%100%62.50%104–105, 112–113, 95–96
   did_key.dart78.48%100%100%78.48%209, 211, 223, 228–231, 233, 236, 74, 79–80, 84, 86–87, 89–90
   public_key_utils.dart52.45%100%100%52.45%100–108, 110–112, 119–120, 123–125, 128–130, 132–133, 136–137, 139–140, 143&n

@cosminm-affnd cosminm-affnd reopened this Jul 8, 2025
@github-actions

github-actions Bot commented Jul 8, 2025

Copy link
Copy Markdown

Coverage after merging remove-primaryPubKey into v2 will be

78.08%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart81.25%100%100%81.25%103, 126, 181
   utility.dart100%100%100%100%
   digest_utils.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart97.56%100%100%97.56%57
   jwt_dm_v1_suite.dart86%100%100%86%109, 111, 36, 38, 56, 71, 73
lib/src/credentials/linked_data
   ld_base_suite.dart91.49%100%100%91.49%102, 104, 86, 88
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   credential_schema.dart100%100%100%100%
   credential_subject.dart72.97%100%100%72.97%38, 55, 57–58, 61, 64–65, 70–71, 94
   evidence.dart76.47%100%100%76.47%50–52, 54
   holder.dart92.31%100%100%92.31%90
   terms_of_use.dart75%100%100%75%46–48, 50
lib/src/credentials/models/field_types/credential_status
   v1.dart43.18%100%100%43.18%51–57, 60–61, 64, 66–68, 71, 73–76, 78, 82–83, 85–86, 88–89
   v2.dart63.64%100%100%63.64%59–60, 63, 65–67, 70, 72–75, 77, 81–82, 87–88
   revocation_list_2020.dart10.45%100%100%10.45%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 170, 172, 174–181, 22–27, 48, 56–61, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
lib/src/credentials/models/field_types/refresh_service
   v1.dart76.47%100%100%76.47%46–48, 50
   v2.dart18.18%100%100%18.18%35–36, 38, 55–56, 61, 66–67, 69
lib/src/credentials/models/v1
   mutable_vc_data_model_v1.dart85%100%100%85%153–155, 203–204, 210–211, 217, 223
   vc_data_model_v1.dart87.88%100%100%87.88%159–161, 166, 168–169, 174–176, 181–183
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart43.33%100%100%43.33%145, 161–162, 164, 166, 168, 170, 172, 174–176, 179–180, 183, 185–187, 190, 192, 194, 196–198, 201, 203–205, 208, 210–211, 214, 216–217, 220
   vc_data_model_v2.dart83.70%100%100%83.70%138–140, 145, 147–148, 153–155, 160–162, 259, 265, 269
lib/src/credentials/parsers
   jwt_parser.dart88.89%100%100%88.89%51, 53
   ld_parser.dart85.71%100%100%85.71%26
   sdjwt_parser.dart70%100%100%70%40, 56, 58
lib/src/credentials/presentations/linked_data
   ld_vp_dm_v1_suite.dart100%100%100%100%
   ld_vp_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/presentations/models
   vc_parse_present.dart88.89%100%100%88.89%27
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart46.43%100%100%46.43%100–101, 104, 73, 76, 82–83, 85, 87–88, 90, 92, 94, 96–97
   vp_data_model_v1.dart82.69%100%100%82.69%79–81, 86, 88–89, 94–96
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart82.76%100%100%82.76%100–101, 161, 84–86, 91, 93–94, 99
   mutable_vp_data_model_v2.dart45.45%100%100%45.45%100, 102–103, 106–107, 110, 112–113, 116, 78, 82, 88–89, 91, 93–94, 96, 98
lib/src/credentials/presentations/suites
   universal_presentation_parser.dart42.86%100%100%42.86%21–22, 24–25
   universal_presentation_verifier.dart0%100%100%0%27–28, 34, 36, 41–43, 45–48, 51–54, 57
   vp_suites.dart66.67%100%100%66.67%29–31
lib/src/credentials/presentations/verification
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart75%100%100%75%36, 53–54, 62–63
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart92.31%100%100%92.31%42, 44–45
   data_integrity_eddsa_suite.dart92.31%100%100%92.31%42, 44–45
   ecdsa_secp256k1_signature2019_suite.dart98.33%100%100%98.33%110
   embedded_proof_suite.dart100%100%100%100%
   embedded_proof.dart70.59%100%100%70.59%107–108, 110, 114, 117, 148, 158–159, 165–167, 169, 183, 191, 197, 199, 76, 91, 96–97
   base_data_integrity_verifier.dart68.35%100%100%68.35%116–117, 122–123, 129–130, 141, 143, 145–146, 149, 152–153, 157–158, 209, 211–212, 241, 70–71, 77–78, 90–91
   base_secp256k1_verifier.dart82.43%100%100%82.43%113–114, 119–120, 129–130, 179, 181, 219, 67–68, 74–75
lib/src/credentials/sdjwt
   enveloped_vc_suite.dart80%100%100%80%102–104, 113, 115–116, 67, 69, 99
   sdjwt_dm_v2_suite.dart82.35%100%100%82.35%110, 112, 133–137, 192, 262, 265, 58, 60
   sdjwt_did_verifier.dart100%100%100%100%
lib/src/credentials/suites
   vc_suites.dart78.57%100%100%78.57%35–37
   universal_parser.dart100%100%100%100%
   universal_verifier.dart100%100%100%100%
lib/src/credentials/verification
   vc_expiry_verifier.dart100%100%100%100%
   vc_integrity_verifier.dart100%100%100%100%
   vc_revocation_verifier.dart85.42%100%100%85.42%110–112, 114, 116, 119, 54
lib/src/did
   did_signer.dart100%100%100%100%
   did_verifier.dart77.08%100%100%77.08%107–108, 113–114, 116–117, 136, 52, 63, 65–66
   did_key_pair.dart62.50%100%100%62.50%104–105, 112–113, 95–96
   did_key.dart78.48%100%100%78.48%209, 211, 223, 228–231, 233, 236, 74, 79–80, 84, 86–87, 89–90
   public_key_utils.dart52.45%100%100%52.45%100–108, 110–112, 119–120, 123–125, 128–130, 132–133, 136–137, 139–140, 143&nda

@github-actions

github-actions Bot commented Jul 8, 2025

Copy link
Copy Markdown

Coverage after merging remove-primaryPubKey into v2 will be

78.02%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart81.25%100%100%81.25%103, 126, 181
   utility.dart100%100%100%100%
   digest_utils.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart97.56%100%100%97.56%57
   jwt_dm_v1_suite.dart86%100%100%86%109, 111, 36, 38, 56, 71, 73
lib/src/credentials/linked_data
   ld_base_suite.dart91.49%100%100%91.49%102, 104, 86, 88
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   credential_schema.dart100%100%100%100%
   credential_subject.dart72.97%100%100%72.97%38, 55, 57–58, 61, 64–65, 70–71, 94
   evidence.dart76.47%100%100%76.47%50–52, 54
   holder.dart92.31%100%100%92.31%90
   terms_of_use.dart75%100%100%75%46–48, 50
lib/src/credentials/models/field_types/credential_status
   v1.dart43.18%100%100%43.18%51–57, 60–61, 64, 66–68, 71, 73–76, 78, 82–83, 85–86, 88–89
   v2.dart63.64%100%100%63.64%59–60, 63, 65–67, 70, 72–75, 77, 81–82, 87–88
   revocation_list_2020.dart10.45%100%100%10.45%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 170, 172, 174–181, 22–27, 48, 56–61, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
lib/src/credentials/models/field_types/refresh_service
   v1.dart76.47%100%100%76.47%46–48, 50
   v2.dart18.18%100%100%18.18%35–36, 38, 55–56, 61, 66–67, 69
lib/src/credentials/models/v1
   mutable_vc_data_model_v1.dart85%100%100%85%153–155, 203–204, 210–211, 217, 223
   vc_data_model_v1.dart87.88%100%100%87.88%159–161, 166, 168–169, 174–176, 181–183
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart43.33%100%100%43.33%145, 161–162, 164, 166, 168, 170, 172, 174–176, 179–180, 183, 185–187, 190, 192, 194, 196–198, 201, 203–205, 208, 210–211, 214, 216–217, 220
   vc_data_model_v2.dart83.70%100%100%83.70%138–140, 145, 147–148, 153–155, 160–162, 259, 265, 269
lib/src/credentials/parsers
   jwt_parser.dart88.89%100%100%88.89%51, 53
   ld_parser.dart85.71%100%100%85.71%26
   sdjwt_parser.dart70%100%100%70%40, 56, 58
lib/src/credentials/presentations/linked_data
   ld_vp_dm_v1_suite.dart100%100%100%100%
   ld_vp_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/presentations/models
   vc_parse_present.dart88.89%100%100%88.89%27
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart46.43%100%100%46.43%100–101, 104, 73, 76, 82–83, 85, 87–88, 90, 92, 94, 96–97
   vp_data_model_v1.dart82.69%100%100%82.69%79–81, 86, 88–89, 94–96
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart82.76%100%100%82.76%100–101, 161, 84–86, 91, 93–94, 99
   mutable_vp_data_model_v2.dart45.45%100%100%45.45%100, 102–103, 106–107, 110, 112–113, 116, 78, 82, 88–89, 91, 93–94, 96, 98
lib/src/credentials/presentations/suites
   universal_presentation_parser.dart42.86%100%100%42.86%21–22, 24–25
   universal_presentation_verifier.dart0%100%100%0%27–28, 34, 36, 41–43, 45–48, 51–54, 57
   vp_suites.dart66.67%100%100%66.67%29–31
lib/src/credentials/presentations/verification
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart75%100%100%75%36, 53–54, 62–63
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart92.31%100%100%92.31%42, 44–45
   data_integrity_eddsa_suite.dart92.31%100%100%92.31%42, 44–45
   ecdsa_secp256k1_signature2019_suite.dart98.33%100%100%98.33%110
   embedded_proof_suite.dart100%100%100%100%
   embedded_proof.dart70.59%100%100%70.59%107–108, 110, 114, 117, 148, 158–159, 165–167, 169, 183, 191, 197, 199, 76, 91, 96–97
   base_data_integrity_verifier.dart68.35%100%100%68.35%116–117, 122–123, 129–130, 141, 143, 145–146, 149, 152–153, 157–158, 209, 211–212, 241, 70–71, 77–78, 90–91
   base_secp256k1_verifier.dart82.43%100%100%82.43%113–114, 119–120, 129–130, 179, 181, 219, 67–68, 74–75
lib/src/credentials/sdjwt
   enveloped_vc_suite.dart80%100%100%80%102–104, 113, 115–116, 67, 69, 99
   sdjwt_dm_v2_suite.dart82.35%100%100%82.35%110, 112, 133–137, 192, 262, 265, 58, 60
   sdjwt_did_verifier.dart100%100%100%100%
lib/src/credentials/suites
   vc_suites.dart78.57%100%100%78.57%35–37
   universal_parser.dart100%100%100%100%
   universal_verifier.dart100%100%100%100%
lib/src/credentials/verification
   vc_expiry_verifier.dart100%100%100%100%
   vc_integrity_verifier.dart100%100%100%100%
   vc_revocation_verifier.dart85.42%100%100%85.42%110–112, 114, 116, 119, 54
lib/src/did
   did_signer.dart100%100%100%100%
   did_verifier.dart77.08%100%100%77.08%107–108, 113–114, 116–117, 136, 52, 63, 65–66
   did_key_pair.dart62.50%100%100%62.50%104–105, 112–113, 95–96
   did_key.dart78.48%100%100%78.48%209, 211, 223, 228–231, 233, 236, 74, 79–80, 84, 86–87, 89–90
   public_key_utils.dart52.45%100%100%52.45%100–108, 110–112, 119–120, 123–125, 128–130, 132–133, 136–137, 139–140, 143&nda

Base automatically changed from v2 to main July 10, 2025 06:22
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.

6 participants