@docknetwork/wallet-sdk-wasm 1.7.0 → 1.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/lib/index.js +1 -0
  2. package/lib/index.mjs +1 -0
  3. package/lib/modules/network-manager.js +15 -12
  4. package/lib/modules/network-manager.mjs +15 -12
  5. package/lib/rpc-server.js +1 -0
  6. package/lib/rpc-server.mjs +1 -0
  7. package/lib/services/blockchain/service.js +22 -9
  8. package/lib/services/blockchain/service.mjs +23 -10
  9. package/lib/services/credential/bound-check.js +1 -1
  10. package/lib/services/credential/bound-check.mjs +1 -1
  11. package/lib/services/credential/delegatable-credentials.js +300 -0
  12. package/lib/services/credential/delegatable-credentials.mjs +263 -0
  13. package/lib/services/credential/index.js +39 -0
  14. package/lib/services/credential/index.mjs +4 -0
  15. package/lib/services/credential/pex-helpers.js +4 -4
  16. package/lib/services/credential/pex-helpers.mjs +4 -4
  17. package/lib/services/edv/index.js +1 -0
  18. package/lib/services/edv/index.mjs +1 -0
  19. package/lib/services/edv/service-rpc.js +23 -0
  20. package/lib/services/edv/service-rpc.mjs +23 -0
  21. package/lib/services/edv/service.js +81 -1
  22. package/lib/services/edv/service.mjs +78 -2
  23. package/lib/services/index.js +1 -0
  24. package/lib/services/index.mjs +1 -0
  25. package/lib/services/pex/config.js +4 -0
  26. package/lib/services/pex/config.mjs +4 -0
  27. package/lib/services/pex/service-rpc.js +4 -0
  28. package/lib/services/pex/service-rpc.mjs +4 -0
  29. package/lib/services/pex/service.js +7 -0
  30. package/lib/services/pex/service.mjs +7 -0
  31. package/lib/setup-nodejs.js +1 -0
  32. package/lib/setup-nodejs.mjs +1 -0
  33. package/lib/setup-tests.js +1 -0
  34. package/lib/setup-tests.mjs +1 -0
  35. package/lib/src/modules/event-manager.d.ts +0 -1
  36. package/lib/src/modules/event-manager.d.ts.map +1 -1
  37. package/lib/src/modules/network-manager.d.ts +2 -4
  38. package/lib/src/modules/network-manager.d.ts.map +1 -1
  39. package/lib/src/services/blockchain/configs.d.ts +1 -2
  40. package/lib/src/services/blockchain/configs.d.ts.map +1 -1
  41. package/lib/src/services/blockchain/service.d.ts +4 -3
  42. package/lib/src/services/blockchain/service.d.ts.map +1 -1
  43. package/lib/src/services/credential/bbs-revocation.d.ts +1 -1
  44. package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
  45. package/lib/src/services/credential/bound-check.d.ts.map +1 -1
  46. package/lib/src/services/credential/delegatable-credentials.d.ts +272 -0
  47. package/lib/src/services/credential/delegatable-credentials.d.ts.map +1 -0
  48. package/lib/src/services/credential/index.d.ts +1 -0
  49. package/lib/src/services/credential/index.d.ts.map +1 -1
  50. package/lib/src/services/credential/pex-helpers.d.ts +2 -2
  51. package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
  52. package/lib/src/services/dids/keypair-utils.d.ts +2 -2
  53. package/lib/src/services/dids/keypair-utils.d.ts.map +1 -1
  54. package/lib/src/services/dids/service.d.ts +35 -3
  55. package/lib/src/services/dids/service.d.ts.map +1 -1
  56. package/lib/src/services/edv/service.d.ts +50 -1
  57. package/lib/src/services/edv/service.d.ts.map +1 -1
  58. package/lib/src/services/pex/config.d.ts +1 -0
  59. package/lib/src/services/pex/config.d.ts.map +1 -1
  60. package/lib/src/services/pex/service.d.ts +1 -0
  61. package/lib/src/services/pex/service.d.ts.map +1 -1
  62. package/lib/src/services/relay-service/service.d.ts +19 -7
  63. package/lib/src/services/relay-service/service.d.ts.map +1 -1
  64. package/lib/src/services/storage/service.d.ts.map +1 -1
  65. package/lib/src/services/util-crypto/service.d.ts +2 -2
  66. package/lib/src/services/util-crypto/service.d.ts.map +1 -1
  67. package/lib/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +24 -16
  69. package/rollup.config.mjs +5 -3
  70. package/src/globals.d.ts +3 -0
  71. package/src/modules/network-manager.ts +15 -14
  72. package/src/services/blockchain/configs.ts +1 -2
  73. package/src/services/blockchain/service.ts +26 -10
  74. package/src/services/credential/bound-check.ts +1 -1
  75. package/src/services/credential/delegatable-credentials.ts +409 -0
  76. package/src/services/credential/index.ts +16 -0
  77. package/src/services/credential/pex-helpers.js +4 -4
  78. package/src/services/credential/pex-helpers.test.js +2 -2
  79. package/src/services/edv/index.test.js +229 -0
  80. package/src/services/edv/service-rpc.js +23 -0
  81. package/src/services/edv/service.ts +119 -0
  82. package/src/services/pex/config.ts +4 -0
  83. package/src/services/pex/service-rpc.js +4 -0
  84. package/src/services/pex/service.ts +13 -0
  85. package/src/services/pex/tests/pex-service.test.js +210 -0
@@ -647,4 +647,214 @@ describe('Pex Examples', () => {
647
647
  expect(result).not.toBe(template); // Ensure immutability
648
648
  });
649
649
  });
650
+
651
+ describe('isCredentialSelectionValid', () => {
652
+ const presentationDefinition = {
653
+ id: 'b4a4bcf5-56a6-4e1c-810f-f2161c295b27',
654
+ input_descriptors: [
655
+ {
656
+ id: 'Credential 1',
657
+ name: 'api test',
658
+ group: ['1'],
659
+ purpose: 'blah blah',
660
+ constraints: {
661
+ fields: [
662
+ {
663
+ path: ['$.credentialSubject.id'],
664
+ optional: true,
665
+ },
666
+ {
667
+ path: ['$.expirationDate'],
668
+ optional: true,
669
+ },
670
+ {
671
+ path: ['$.credentialSchema.id'],
672
+ filter: {
673
+ const:
674
+ 'https://schema.truvera.io/BasicCredential-V2-1703777584571.json',
675
+ },
676
+ },
677
+ ],
678
+ },
679
+ },
680
+ {
681
+ id: 'Credential 2',
682
+ name: 'api test',
683
+ group: ['2'],
684
+ purpose: 'blah blah',
685
+ constraints: {
686
+ fields: [
687
+ {
688
+ path: ['$.credentialSubject.id'],
689
+ optional: true,
690
+ },
691
+ {
692
+ path: ['$.expirationDate'],
693
+ optional: true,
694
+ },
695
+ {
696
+ path: ['$.credentialSchema.id'],
697
+ filter: {
698
+ const:
699
+ 'https://schema.truvera.io/UniversityDegree-V1-1703767509472.json',
700
+ },
701
+ },
702
+ ],
703
+ },
704
+ },
705
+ ],
706
+ submission_requirements: [
707
+ {
708
+ from: '1',
709
+ name: 'Multi Credential Request',
710
+ rule: 'pick',
711
+ count: 1,
712
+ },
713
+ {
714
+ from: '2',
715
+ name: 'Multi Credential Request',
716
+ rule: 'pick',
717
+ count: 1,
718
+ },
719
+ ],
720
+ };
721
+
722
+ const basicCredential1 = {
723
+ '@context': [
724
+ 'https://www.w3.org/2018/credentials/v1',
725
+ 'https://ld.truvera.io/credentials/extensions-v1',
726
+ {
727
+ BasicCredential: 'dk:BasicCredential',
728
+ dk: 'https://ld.truvera.io/credentials#',
729
+ },
730
+ 'https://ld.truvera.io/credentials/prettyvc',
731
+ ],
732
+ id: 'https://creds.truvera.io/29224c9c87c87c5edfcbace893d99d009513a0548e855bcb793ea30e1c5f8ce8',
733
+ type: [
734
+ 'VerifiableCredential',
735
+ 'BasicCredential',
736
+ 'PrettyVerifiableCredential',
737
+ ],
738
+ credentialSubject: {
739
+ id: 'did:key:z6Mktpass177BSFLMuCpNJzCyrLeAUs16XUmg15VLHCQsnhk',
740
+ name: 'Another Cred',
741
+ },
742
+ issuanceDate: '2025-11-25T13:44:36.365Z',
743
+ issuer: 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7',
744
+ credentialSchema: {
745
+ id: 'https://schema.truvera.io/BasicCredential-V2-1703777584571.json',
746
+ type: 'JsonSchemaValidator2018',
747
+ },
748
+ name: 'Another Cred',
749
+ proof: {
750
+ type: 'Ed25519Signature2018',
751
+ created: '2025-11-25T13:45:06Z',
752
+ verificationMethod:
753
+ 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7#keys-1',
754
+ proofPurpose: 'assertionMethod',
755
+ jws: 'eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..x1EjlAHJwJFwKfXtbAegJ8xOycY5m47yvvOQm-0sLzzuvSjbSKerIkphQ8w5J0_MJONb-j1-UE0NWZ9quM4CAQ',
756
+ },
757
+ };
758
+
759
+ const basicCredential2 = {
760
+ '@context': [
761
+ 'https://www.w3.org/2018/credentials/v1',
762
+ 'https://ld.truvera.io/credentials/extensions-v1',
763
+ {
764
+ BasicCredential: 'dk:BasicCredential',
765
+ dk: 'https://ld.truvera.io/credentials#',
766
+ },
767
+ 'https://ld.truvera.io/credentials/prettyvc',
768
+ ],
769
+ id: 'https://creds.truvera.io/86bdd6cc4d4915939bc2c11a0f8c7ebd64ef0872da02627ab9d7e6866fe2effb',
770
+ type: [
771
+ 'VerifiableCredential',
772
+ 'BasicCredential',
773
+ 'PrettyVerifiableCredential',
774
+ ],
775
+ credentialSubject: {
776
+ name: 'test',
777
+ },
778
+ issuanceDate: '2025-11-25T13:42:02.877Z',
779
+ issuer: 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7',
780
+ credentialSchema: {
781
+ id: 'https://schema.truvera.io/BasicCredential-V2-1703777584571.json',
782
+ type: 'JsonSchemaValidator2018',
783
+ },
784
+ name: 'test',
785
+ proof: {
786
+ type: 'Ed25519Signature2018',
787
+ created: '2025-11-25T13:42:42Z',
788
+ verificationMethod:
789
+ 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7#keys-1',
790
+ proofPurpose: 'assertionMethod',
791
+ jws: 'eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..R-cJhQlBr3TJS6ArSIBwLjLcQO-yuPZ5FUY5zGe6TYIJNm0teHFvgFHjg_-Y9VeuhLZprVNufXyqLoPSkTC7CQ',
792
+ },
793
+ };
794
+
795
+ const universityDegreeCredential = {
796
+ '@context': [
797
+ 'https://www.w3.org/2018/credentials/v1',
798
+ 'https://ld.truvera.io/credentials/extensions-v1',
799
+ {
800
+ UniversityDegree: 'dk:UniversityDegree',
801
+ additionalDistinctions: 'dk:additionalDistinctions',
802
+ awardedDate: 'dk:awardedDate',
803
+ dateOfBirth: 'dk:dateOfBirth',
804
+ degreeName: 'dk:degreeName',
805
+ degreeType: 'dk:degreeType',
806
+ dk: 'https://ld.truvera.io/credentials#',
807
+ },
808
+ 'https://ld.truvera.io/credentials/prettyvc',
809
+ ],
810
+ id: 'https://creds.truvera.io/4343d71719d56e2a3461f24a522229f2c89a3bef68ad2664e1f48d70002034c4',
811
+ type: [
812
+ 'VerifiableCredential',
813
+ 'UniversityDegree',
814
+ 'PrettyVerifiableCredential',
815
+ ],
816
+ credentialSubject: {
817
+ id: 'did:key:z6Mktpass177BSFLMuCpNJzCyrLeAUs16XUmg15VLHCQsnhk',
818
+ degreeName: 'testing',
819
+ degreeType: 'testing',
820
+ name: 'Tester',
821
+ awardedDate: '2025-11-20',
822
+ dateOfBirth: '2025-11-20',
823
+ additionalDistinctions: 'test',
824
+ },
825
+ issuanceDate: '2025-11-25T13:45:25.699Z',
826
+ issuer: 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7',
827
+ credentialSchema: {
828
+ id: 'https://schema.truvera.io/UniversityDegree-V1-1703767509472.json',
829
+ type: 'JsonSchemaValidator2018',
830
+ },
831
+ name: 'University Degree',
832
+ proof: {
833
+ type: 'Ed25519Signature2018',
834
+ created: '2025-11-25T13:46:09Z',
835
+ verificationMethod:
836
+ 'did:cheqd:testnet:c0890f1c-c7bb-4ea6-be7a-8c31404743b7#keys-1',
837
+ proofPurpose: 'assertionMethod',
838
+ jws: 'eyJhbGciOiJFZERTQSIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0Il19..lb0SOlbNGZAEnGOqnaFg-fTSSOp-EWCMdMtKkjVasRkPjwAVSSK4VZmjis3Czdacbhl8VL0q3f6Ow4rge3eHDQ',
839
+ },
840
+ };
841
+
842
+ it('should return true if the credential selection is valid', () => {
843
+ expect(
844
+ pexService.isCredentialSelectionValid({
845
+ credentials: [basicCredential1, universityDegreeCredential],
846
+ presentationDefinition: presentationDefinition,
847
+ }),
848
+ ).toBe(true);
849
+ });
850
+
851
+ it('should return false if the credential selection is invalid', () => {
852
+ expect(
853
+ pexService.isCredentialSelectionValid({
854
+ credentials: [basicCredential1, basicCredential2],
855
+ presentationDefinition: presentationDefinition,
856
+ }),
857
+ ).toBe(false);
858
+ });
859
+ });
650
860
  });