@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.
- package/lib/index.js +1 -0
- package/lib/index.mjs +1 -0
- package/lib/modules/network-manager.js +15 -12
- package/lib/modules/network-manager.mjs +15 -12
- package/lib/rpc-server.js +1 -0
- package/lib/rpc-server.mjs +1 -0
- package/lib/services/blockchain/service.js +22 -9
- package/lib/services/blockchain/service.mjs +23 -10
- package/lib/services/credential/bound-check.js +1 -1
- package/lib/services/credential/bound-check.mjs +1 -1
- package/lib/services/credential/delegatable-credentials.js +300 -0
- package/lib/services/credential/delegatable-credentials.mjs +263 -0
- package/lib/services/credential/index.js +39 -0
- package/lib/services/credential/index.mjs +4 -0
- package/lib/services/credential/pex-helpers.js +4 -4
- package/lib/services/credential/pex-helpers.mjs +4 -4
- package/lib/services/edv/index.js +1 -0
- package/lib/services/edv/index.mjs +1 -0
- package/lib/services/edv/service-rpc.js +23 -0
- package/lib/services/edv/service-rpc.mjs +23 -0
- package/lib/services/edv/service.js +81 -1
- package/lib/services/edv/service.mjs +78 -2
- package/lib/services/index.js +1 -0
- package/lib/services/index.mjs +1 -0
- package/lib/services/pex/config.js +4 -0
- package/lib/services/pex/config.mjs +4 -0
- package/lib/services/pex/service-rpc.js +4 -0
- package/lib/services/pex/service-rpc.mjs +4 -0
- package/lib/services/pex/service.js +7 -0
- package/lib/services/pex/service.mjs +7 -0
- package/lib/setup-nodejs.js +1 -0
- package/lib/setup-nodejs.mjs +1 -0
- package/lib/setup-tests.js +1 -0
- package/lib/setup-tests.mjs +1 -0
- package/lib/src/modules/event-manager.d.ts +0 -1
- package/lib/src/modules/event-manager.d.ts.map +1 -1
- package/lib/src/modules/network-manager.d.ts +2 -4
- package/lib/src/modules/network-manager.d.ts.map +1 -1
- package/lib/src/services/blockchain/configs.d.ts +1 -2
- package/lib/src/services/blockchain/configs.d.ts.map +1 -1
- package/lib/src/services/blockchain/service.d.ts +4 -3
- package/lib/src/services/blockchain/service.d.ts.map +1 -1
- package/lib/src/services/credential/bbs-revocation.d.ts +1 -1
- package/lib/src/services/credential/bbs-revocation.d.ts.map +1 -1
- package/lib/src/services/credential/bound-check.d.ts.map +1 -1
- package/lib/src/services/credential/delegatable-credentials.d.ts +272 -0
- package/lib/src/services/credential/delegatable-credentials.d.ts.map +1 -0
- package/lib/src/services/credential/index.d.ts +1 -0
- package/lib/src/services/credential/index.d.ts.map +1 -1
- package/lib/src/services/credential/pex-helpers.d.ts +2 -2
- package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
- package/lib/src/services/dids/keypair-utils.d.ts +2 -2
- package/lib/src/services/dids/keypair-utils.d.ts.map +1 -1
- package/lib/src/services/dids/service.d.ts +35 -3
- package/lib/src/services/dids/service.d.ts.map +1 -1
- package/lib/src/services/edv/service.d.ts +50 -1
- package/lib/src/services/edv/service.d.ts.map +1 -1
- package/lib/src/services/pex/config.d.ts +1 -0
- package/lib/src/services/pex/config.d.ts.map +1 -1
- package/lib/src/services/pex/service.d.ts +1 -0
- package/lib/src/services/pex/service.d.ts.map +1 -1
- package/lib/src/services/relay-service/service.d.ts +19 -7
- package/lib/src/services/relay-service/service.d.ts.map +1 -1
- package/lib/src/services/storage/service.d.ts.map +1 -1
- package/lib/src/services/util-crypto/service.d.ts +2 -2
- package/lib/src/services/util-crypto/service.d.ts.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +24 -16
- package/rollup.config.mjs +5 -3
- package/src/globals.d.ts +3 -0
- package/src/modules/network-manager.ts +15 -14
- package/src/services/blockchain/configs.ts +1 -2
- package/src/services/blockchain/service.ts +26 -10
- package/src/services/credential/bound-check.ts +1 -1
- package/src/services/credential/delegatable-credentials.ts +409 -0
- package/src/services/credential/index.ts +16 -0
- package/src/services/credential/pex-helpers.js +4 -4
- package/src/services/credential/pex-helpers.test.js +2 -2
- package/src/services/edv/index.test.js +229 -0
- package/src/services/edv/service-rpc.js +23 -0
- package/src/services/edv/service.ts +119 -0
- package/src/services/pex/config.ts +4 -0
- package/src/services/pex/service-rpc.js +4 -0
- package/src/services/pex/service.ts +13 -0
- 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
|
});
|