Skip to content

fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.4.1 - #299

Merged
marco-a-affinidi merged 6 commits into
mainfrom
fix/dart_minimum_sdk_3_10
Sep 10, 2026
Merged

fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.4.1#299
marco-a-affinidi merged 6 commits into
mainfrom
fix/dart_minimum_sdk_3_10

Conversation

@marco-a-affinidi

@marco-a-affinidi marco-a-affinidi commented Aug 31, 2026

Copy link
Copy Markdown
Contributor
  • Upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.4.1
  • Adopt Dart 3.7's new formatter style

@marco-a-affinidi
marco-a-affinidi requested a review from a team as a code owner August 31, 2026 09:43
Comment thread .github/workflows/check.yaml Fixed
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

79.76%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart76.25%100%100%76.25%124, 129–130, 132, 134–135, 137, 139–140, 142, 144–145, 147, 151–152, 154, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart65.38%100%100%65.38%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 331, 336–337, 339, 341–342, 344, 346–347, 349, 351–352, 354, 357–358, 360, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35,

@github-actions

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

79.76%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart76.25%100%100%76.25%124, 129–130, 132, 134–135, 137, 139–140, 142, 144–145, 147, 151–152, 154, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart65.38%100%100%65.38%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 331, 336–337, 339, 341–342, 344, 346–347, 349, 351–352, 354, 357–358, 360, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35,

@marco-a-affinidi marco-a-affinidi changed the title Fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.3.1 fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.3.1 Aug 31, 2026
@github-actions

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

79.76%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart76.25%100%100%76.25%124, 129–130, 132, 134–135, 137, 139–140, 142, 144–145, 147, 151–152, 154, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart65.38%100%100%65.38%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 331, 336–337, 339, 341–342, 344, 346–347, 349, 351–352, 354, 357–358, 360, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35,

@marco-a-affinidi
marco-a-affinidi force-pushed the fix/dart_minimum_sdk_3_10 branch from a4180fb to 616e938 Compare September 8, 2026 10:12
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

79.76%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart100%100%100%100%
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart76.25%100%100%76.25%124, 129–130, 132, 134–135, 137, 139–140, 142, 144–145, 147, 151–152, 154, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart65.38%100%100%65.38%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 331, 336–337, 339, 341–342, 344, 346–347, 349, 351–352, 354, 357–358, 360, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35,

@marco-a-affinidi marco-a-affinidi changed the title fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.3.1 fix: upgrade minimum sdk version from 3.6.0 to 3.10.0 as required by pqcrypto ^0.4.1 Sep 8, 2026
@affinidi-appsecurity-bot

Copy link
Copy Markdown

🛡️ AI Agentic Security Code Review

2 AI-confirmed issues, 1 finding needs a human to review/validate.

Mandatory to check: 🔒 Security Code Review Report — Security tab ↗

📊 Summary & findings
✅ Confirmed ⚠️ Must-Review-By-Human
2 1

Finding details (titles, evidence + remediation) are in the 🔒 Security tab ↗ — visible to maintainers / code owners only.

….3.1

Run dependency resolution, static analysis, and the native test suite on Dart 3.10.0.
This keeps the declared SDK lower bound continuously verified while current Dart and WebAssembly checks remain independent.
@marco-a-affinidi
marco-a-affinidi force-pushed the fix/dart_minimum_sdk_3_10 branch from 616e938 to 2cb0fd6 Compare September 9, 2026 14:47
@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

80.24%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart88.89%100%100%88.89%17
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart80.52%100%100%80.52%129–130, 132, 134–135, 137, 139–140, 142, 146–147, 149, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart67.72%100%100%67.72%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 336–337, 339, 341–342, 344, 346–347, 349, 352–353, 355, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35, 37
   base_jcs_verifier.dart73.21%100%100%73.21%103, 105–106, 117,

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Coverage after merging fix/dart_minimum_sdk_3_10 into main will be

80.24%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/src
   types.dart70.83%100%100%70.83%133, 172–173, 185, 187, 202, 255
   digest_utils.dart100%100%100%100%
   utility.dart88.89%100%100%88.89%17
lib/src/credentials/jwt
   jwt_data_model_v1.dart100%100%100%100%
   jwt_dm_v1_suite.dart86.54%100%100%86.54%107, 109, 39, 41, 59, 76, 78
lib/src/credentials/linked_data
   ld_base_suite.dart90.77%100%100%90.77%121, 123, 175, 178, 212, 218
   ld_dm_v1_suite.dart100%100%100%100%
   ld_dm_v2_suite.dart100%100%100%100%
lib/src/credentials/models
   sdjwt_signer_adapter.dart100%100%100%100%
lib/src/credentials/models/field_types
   issuer.dart100%100%100%100%
   context.dart85.96%100%100%85.96%171, 173, 206–211
   credential_schema.dart100%100%100%100%
   credential_subject.dart74.36%100%100%74.36%42, 59, 61–62, 65, 68–69, 74–75, 97
   evidence.dart75%100%100%75%45–47, 49
   holder.dart100%100%100%100%
   terms_of_use.dart75%100%100%75%43–45, 47
lib/src/credentials/models/field_types/credential_status
   revocation_list_2020.dart20.90%100%100%20.90%101–104, 107, 110–112, 114–116, 118–120, 122–124, 14, 177, 179, 181–188, 22–27, 65, 68–75, 81, 84–85, 87–88, 90–91, 93–94, 99
   v1.dart73.33%100%100%73.33%61–62, 72, 74–77, 79, 83–84, 89–90
   v2.dart73.33%100%100%73.33%60–61, 71, 73–76, 78, 82–83, 88–89
lib/src/credentials/models/field_types/refresh_service
   v1.dart75%100%100%75%44–46, 48
   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.dart89.83%100%100%89.83%155, 209–210, 217, 224, 231
   vc_data_model_v1.dart91.47%100%100%91.47%161, 163–164, 188–190, 213–216, 219
lib/src/credentials/models/v2
   mutable_vc_data_model_v2.dart88.14%100%100%88.14%185, 192, 203–204, 212, 219, 226
   vc_data_model_v2.dart90.91%100%100%90.91%166–168, 191–194, 197, 323, 330, 337
lib/src/credentials/parsers
   jwt_parser.dart85.71%100%100%85.71%52, 54
   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.dart60%100%100%60%102, 107–108, 35–37, 62–64, 89–90, 93–96, 99
lib/src/credentials/presentations/models/v1
   mutable_vp_data_model_v1.dart48.28%100%100%48.28%102, 104, 109, 76, 82–83, 85–87, 89, 91, 93, 95, 97–98
   vp_data_model_v1.dart88.89%100%100%88.89%112, 114, 139, 144, 85, 87–88
lib/src/credentials/presentations/models/v2
   vp_data_model_v2.dart88.41%100%100%88.41%117, 119, 143, 148, 212, 90, 92–93
   mutable_vp_data_model_v2.dart47.06%100%100%47.06%100, 102, 104–105, 109, 111, 116, 118–119, 123, 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, 26
   universal_presentation_verifier.dart90.32%100%100%90.32%104–106
   vp_suites.dart61.54%100%100%61.54%31, 34, 56–58
lib/src/credentials/presentations/verification
   delegation_vc_verifier.dart100%100%100%100%
   holder_binding_verifier.dart97.30%100%100%97.30%64
   vp_expiry_verifier.dart100%100%100%100%
   vp_integrity_verifier.dart100%100%100%100%
   vp_domain_challenge_verifier.dart76.19%100%100%76.19%33, 54–55, 65–66
lib/src/credentials/proof
   data_integrity_ecdsa_suite.dart76.79%100%100%76.79%142, 151, 154, 157, 160, 163, 170, 173, 180, 270–271, 277, 279–280, 355, 360, 395, 397, 417–418, 424, 426–427, 52, 54–55
   data_integrity_eddsa_suite.dart79.69%100%100%79.69%136, 145, 148, 151, 154, 157, 164, 167, 174, 180, 49, 51–52
   data_integrity_mldsa_suite.dart91.14%100%100%91.14%280, 282–283, 60, 68–70
   ecdsa_secp256k1_signature2019_suite.dart80.52%100%100%80.52%129–130, 132, 134–135, 137, 139–140, 142, 146–147, 149, 79, 81, 84
   embedded_proof_suite.dart100%100%100%100%
   jcs_utils.dart49.06%100%100%49.06%17, 193, 196, 199–202, 221, 225, 229, 240–241, 249, 252, 42, 44–45, 53, 55, 61, 64, 72–73, 75, 79, 81, 84
   embedded_proof.dart72.46%100%100%72.46%105–106, 108, 115, 156–157, 163–168, 182, 190, 196, 198, 89, 94–95
   base_data_integrity_verifier.dart67.72%100%100%67.72%105, 121–124, 128–132, 158–163, 187, 213, 215, 217, 219, 222, 225–226, 298, 300–301, 336–337, 339, 341–342, 344, 346–347, 349, 352–353, 355, 91–92
   proof_validation_utils.dart100%100%100%100%
   base_jcs_generator.dart100%100%100%100%
   data_integrity_context_util.dart60%100%100%60%14, 23, 25, 31, 35, 37
   base_jcs_verifier.dart73.21%100%100%73.21%103, 105–106, 117,

@marco-a-affinidi
marco-a-affinidi merged commit 17b2a7f into main Sep 10, 2026
6 checks passed
@marco-a-affinidi
marco-a-affinidi deleted the fix/dart_minimum_sdk_3_10 branch September 10, 2026 07:00
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.

7 participants