@docknetwork/wallet-sdk-wasm 1.5.11 → 1.7.0

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 (97) hide show
  1. package/generate-docs.js +49 -0
  2. package/jsdoc.conf.json +29 -6
  3. package/lib/index.js +8 -1
  4. package/lib/index.mjs +8 -1
  5. package/lib/rpc-server.js +10 -1
  6. package/lib/rpc-server.mjs +10 -1
  7. package/lib/services/blockchain/cached-did-resolver.js +113 -0
  8. package/lib/services/blockchain/cached-did-resolver.mjs +109 -0
  9. package/lib/services/blockchain/index.js +11 -0
  10. package/lib/services/blockchain/index.mjs +11 -0
  11. package/lib/services/blockchain/service-rpc.js +16 -0
  12. package/lib/services/blockchain/service-rpc.mjs +16 -0
  13. package/lib/services/blockchain/service.js +144 -12
  14. package/lib/services/blockchain/service.mjs +144 -12
  15. package/lib/services/credential/bbs-revocation.js +11 -0
  16. package/lib/services/credential/bbs-revocation.mjs +11 -0
  17. package/lib/services/credential/config.js +4 -1
  18. package/lib/services/credential/config.mjs +4 -1
  19. package/lib/services/credential/index.js +14 -0
  20. package/lib/services/credential/index.mjs +14 -0
  21. package/lib/services/credential/pex-helpers.js +20 -0
  22. package/lib/services/credential/pex-helpers.mjs +20 -1
  23. package/lib/services/credential/sd-jwt.js +214 -0
  24. package/lib/services/credential/sd-jwt.mjs +200 -0
  25. package/lib/services/credential/service-rpc.js +9 -0
  26. package/lib/services/credential/service-rpc.mjs +9 -0
  27. package/lib/services/credential/service.js +325 -8
  28. package/lib/services/credential/service.mjs +326 -9
  29. package/lib/services/edv/service.js +145 -1
  30. package/lib/services/edv/service.mjs +145 -1
  31. package/lib/services/index.js +13 -0
  32. package/lib/services/index.mjs +13 -0
  33. package/lib/services/relay-service/service.js +124 -1
  34. package/lib/services/relay-service/service.mjs +124 -1
  35. package/lib/services/rpc-service-client.js +0 -3
  36. package/lib/services/rpc-service-client.mjs +0 -3
  37. package/lib/services/storage/index.js +19 -2
  38. package/lib/services/storage/index.mjs +24 -1
  39. package/lib/services/storage/service-rpc.js +7 -3
  40. package/lib/services/storage/service-rpc.mjs +7 -3
  41. package/lib/services/storage/service.js +4 -0
  42. package/lib/services/storage/service.mjs +4 -0
  43. package/lib/setup-nodejs.js +8 -1
  44. package/lib/setup-nodejs.mjs +8 -1
  45. package/lib/setup-tests.js +8 -1
  46. package/lib/setup-tests.mjs +8 -1
  47. package/lib/src/services/blockchain/cached-did-resolver.d.ts +28 -0
  48. package/lib/src/services/blockchain/cached-did-resolver.d.ts.map +1 -0
  49. package/lib/src/services/blockchain/cached-did-resolver.test.d.ts +2 -0
  50. package/lib/src/services/blockchain/cached-did-resolver.test.d.ts.map +1 -0
  51. package/lib/src/services/blockchain/service.d.ts +115 -17
  52. package/lib/src/services/blockchain/service.d.ts.map +1 -1
  53. package/lib/src/services/credential/config.d.ts.map +1 -1
  54. package/lib/src/services/credential/index.d.ts +3 -0
  55. package/lib/src/services/credential/index.d.ts.map +1 -1
  56. package/lib/src/services/credential/pex-helpers.d.ts +13 -1
  57. package/lib/src/services/credential/pex-helpers.d.ts.map +1 -1
  58. package/lib/src/services/credential/sd-jwt.test.d.ts +2 -0
  59. package/lib/src/services/credential/sd-jwt.test.d.ts.map +1 -0
  60. package/lib/src/services/credential/service.d.ts +274 -4
  61. package/lib/src/services/credential/service.d.ts.map +1 -1
  62. package/lib/src/services/edv/service.d.ts +151 -1
  63. package/lib/src/services/edv/service.d.ts.map +1 -1
  64. package/lib/src/services/relay-service/service.d.ts +129 -1
  65. package/lib/src/services/relay-service/service.d.ts.map +1 -1
  66. package/lib/src/services/rpc-service-client.d.ts +2 -2
  67. package/lib/src/services/rpc-service-client.d.ts.map +1 -1
  68. package/lib/src/services/storage/index.d.ts +1 -1
  69. package/lib/src/services/storage/index.d.ts.map +1 -1
  70. package/lib/src/services/storage/service-rpc.d.ts +9 -0
  71. package/lib/src/services/storage/service-rpc.d.ts.map +1 -0
  72. package/lib/src/services/storage/service.d.ts +1 -0
  73. package/lib/src/services/storage/service.d.ts.map +1 -1
  74. package/lib/src/services/util-crypto/service.d.ts +1 -1
  75. package/lib/tsconfig.tsbuildinfo +1 -1
  76. package/lib/wallet/rpc-storage-interface.js +13 -3
  77. package/lib/wallet/rpc-storage-interface.mjs +11 -1
  78. package/lib/wallet/rpc-storage-wallet.js +10 -0
  79. package/lib/wallet/rpc-storage-wallet.mjs +10 -0
  80. package/package.json +13 -8
  81. package/src/services/blockchain/cached-did-resolver.test.ts +288 -0
  82. package/src/services/blockchain/cached-did-resolver.ts +126 -0
  83. package/src/services/blockchain/service-rpc.js +16 -0
  84. package/src/services/blockchain/service.ts +146 -12
  85. package/src/services/credential/config.ts +7 -1
  86. package/src/services/credential/pex-helpers.js +20 -1
  87. package/src/services/credential/pex-helpers.test.js +114 -0
  88. package/src/services/credential/sd-jwt.test.ts +718 -0
  89. package/src/services/credential/sd-jwt.ts +231 -0
  90. package/src/services/credential/service-rpc.js +9 -0
  91. package/src/services/credential/service.ts +330 -9
  92. package/src/services/edv/service.ts +153 -1
  93. package/src/services/relay-service/service.ts +130 -1
  94. package/src/services/rpc-service-client.js +0 -3
  95. package/src/services/storage/index.js +15 -1
  96. package/src/services/storage/service-rpc.js +7 -3
  97. package/src/services/storage/service.ts +5 -0
@@ -1,19 +1,147 @@
1
+ /**
2
+ * @module relay-service
3
+ * @description DIDComm message relay service for the Wallet SDK.
4
+ * This module provides functionality for sending, receiving, and managing DIDComm messages
5
+ * through a relay service, including push notification support.
6
+ */
1
7
  import { SendMessageParams, GetMessagesParams, ResolveDidcommMessageParams, RegisterDIDPushNotificationParams, AckMessagesParams } from './configs';
2
8
  import { RelayService as relayServiceClient } from '@docknetwork/wallet-sdk-relay-service/lib';
3
9
  /**
4
- * RelayService
10
+ * Service class for managing DIDComm message relay operations
11
+ * @class
12
+ * @description Provides methods for sending, receiving, and acknowledging DIDComm messages
13
+ * through a relay service infrastructure
5
14
  */
6
15
  export declare class RelayService {
7
16
  name: string;
8
17
  rpcMethods: (((params: AckMessagesParams) => any) | ((params: GetMessagesParams) => any) | ((params: RegisterDIDPushNotificationParams) => any) | ((params: ResolveDidcommMessageParams) => any) | ((params: SendMessageParams) => any))[];
18
+ /**
19
+ * Creates a new RelayService instance
20
+ * @constructor
21
+ */
9
22
  constructor();
23
+ /**
24
+ * Sends a DIDComm message through the relay service
25
+ * @param {SendMessageParams} params - Message parameters
26
+ * @param {Object} params.keyPairDoc - Key pair document for message encryption
27
+ * @param {Object} params.message - The message payload to send
28
+ * @param {string} params.recipientDid - DID of the message recipient
29
+ * @param {string} [params.type] - Message type identifier
30
+ * @returns {Promise<Object>} Result of the send operation
31
+ * @throws {Error} If validation fails or sending fails
32
+ * @example
33
+ * const result = await relayService.sendMessage({
34
+ * keyPairDoc: senderKeyPair,
35
+ * message: { content: 'Hello' },
36
+ * recipientDid: 'did:key:recipient123',
37
+ * type: 'basic-message'
38
+ * });
39
+ */
10
40
  sendMessage(params: SendMessageParams): any;
41
+ /**
42
+ * Acknowledges receipt of messages from the relay service
43
+ * @param {AckMessagesParams} params - Acknowledgment parameters
44
+ * @param {string} params.did - DID acknowledging the messages
45
+ * @param {Array<string>} params.messageIds - Array of message IDs to acknowledge
46
+ * @returns {Promise<Object>} Result of the acknowledgment operation
47
+ * @example
48
+ * await relayService.ackMessages({
49
+ * did: 'did:key:holder123',
50
+ * messageIds: ['msg-1', 'msg-2']
51
+ * });
52
+ */
11
53
  ackMessages(params: AckMessagesParams): any;
54
+ /**
55
+ * Resolves and decrypts a DIDComm message
56
+ * @param {ResolveDidcommMessageParams} params - Resolution parameters
57
+ * @param {Object} params.encryptedMessage - The encrypted message to resolve
58
+ * @param {Object} params.keyPairDoc - Key pair document for decryption
59
+ * @returns {Promise<Object>} The decrypted and resolved message
60
+ * @throws {Error} If validation fails or resolution fails
61
+ * @example
62
+ * const decrypted = await relayService.resolveDidcommMessage({
63
+ * encryptedMessage: encryptedData,
64
+ * keyPairDoc: recipientKeyPair
65
+ * });
66
+ */
12
67
  resolveDidcommMessage(params: ResolveDidcommMessageParams): any;
68
+ /**
69
+ * Signs a JWT using the provided key pair
70
+ * @param {ResolveDidcommMessageParams} params - Signing parameters
71
+ * @param {Object} params.payload - JWT payload to sign
72
+ * @param {Object} params.keyPairDoc - Key pair document for signing
73
+ * @returns {Promise<string>} The signed JWT token
74
+ * @throws {Error} If validation fails or signing fails
75
+ * @example
76
+ * const jwt = await relayService.signJwt({
77
+ * payload: { sub: 'did:key:123', iat: Date.now() },
78
+ * keyPairDoc: signerKeyPair
79
+ * });
80
+ */
13
81
  signJwt(params: ResolveDidcommMessageParams): any;
82
+ /**
83
+ * Retrieves messages from the relay service
84
+ * @param {GetMessagesParams} params - Retrieval parameters
85
+ * @param {Object} params.keyPairDocs - Key pair documents for decryption
86
+ * @param {number} [params.limit] - Maximum number of messages to retrieve
87
+ * @param {boolean} [params.skipMessageResolution] - Whether to skip message resolution
88
+ * @returns {Promise<Array>} Array of retrieved messages
89
+ * @throws {Error} If validation fails or retrieval fails
90
+ * @example
91
+ * const messages = await relayService.getMessages({
92
+ * keyPairDocs: [keyPairDoc1, keyPairDoc2],
93
+ * limit: 50,
94
+ * skipMessageResolution: false
95
+ * });
96
+ */
14
97
  getMessages(params: GetMessagesParams): any;
98
+ /**
99
+ * Registers a DID for push notifications
100
+ * @param {RegisterDIDPushNotificationParams} params - Registration parameters
101
+ * @param {string} params.did - The DID to register for notifications
102
+ * @param {string} params.deviceToken - Device token for push notifications
103
+ * @param {string} [params.platform] - Platform identifier (ios, android, etc.)
104
+ * @returns {Promise<Object>} Result of the registration
105
+ * @throws {Error} If validation fails or registration fails
106
+ * @example
107
+ * await relayService.registerDIDPushNotification({
108
+ * did: 'did:key:holder123',
109
+ * deviceToken: 'fcm-token-123',
110
+ * platform: 'android'
111
+ * });
112
+ */
15
113
  registerDIDPushNotification(params: RegisterDIDPushNotificationParams): any;
16
114
  }
115
+ /**
116
+ * Low-level relay service client for direct API access
117
+ * @type {Object}
118
+ * @see {@link RelayService} - Higher-level service wrapper
119
+ */
17
120
  export { relayServiceClient };
121
+ /**
122
+ * Singleton instance of the relay service
123
+ * @type {RelayService}
124
+ * @example
125
+ * import { relayService } from '@docknetwork/wallet-sdk-wasm/services/relay-service';
126
+ *
127
+ * // Send a DIDComm message
128
+ * await relayService.sendMessage({
129
+ * keyPairDoc: senderKeyPair,
130
+ * message: { type: 'greeting', content: 'Hello!' },
131
+ * recipientDid: 'did:key:recipient123'
132
+ * });
133
+ *
134
+ * // Retrieve messages
135
+ * const messages = await relayService.getMessages({
136
+ * keyPairDocs: [recipientKeyPair],
137
+ * limit: 10
138
+ * });
139
+ *
140
+ * // Acknowledge messages
141
+ * await relayService.ackMessages({
142
+ * did: 'did:key:recipient123',
143
+ * messageIds: messages.map(m => m.id)
144
+ * });
145
+ */
18
146
  export declare const relayService: RelayService;
19
147
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/relay-service/service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EAGjC,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAC,YAAY,IAAI,kBAAkB,EAAC,MAAM,2CAA2C,CAAC;AAE7F;;GAEG;AACH,qBAAa,YAAY;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,aAkBU,iBAAiB,sBAcjB,iBAAiB,sBAKD,iCAAiC,sBAfvC,2BAA2B,sBATrC,iBAAiB,aANnC;;IAMF,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAKrC,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAIrC,qBAAqB,CAAC,MAAM,EAAE,2BAA2B;IAKzD,OAAO,CAAC,MAAM,EAAE,2BAA2B;IAK3C,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAKrC,2BAA2B,CAAC,MAAM,EAAE,iCAAiC;CAItE;AAED,OAAO,EAAC,kBAAkB,EAAC,CAAC;AAE5B,eAAO,MAAM,YAAY,EAAE,YAAiC,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/relay-service/service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,2BAA2B,EAC3B,iCAAiC,EAGjC,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAC,YAAY,IAAI,kBAAkB,EAAC,MAAM,2CAA2C,CAAC;AAE7F;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,aAmDU,iBAAiB,sBAuDjB,iBAAiB,sBAoBD,iCAAiC,sBA1DvC,2BAA2B,sBAlCrC,iBAAiB,aA3BnC;IAEF;;;OAGG;;IAKH;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAKrC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAIrC;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,MAAM,EAAE,2BAA2B;IAKzD;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,EAAE,2BAA2B;IAK3C;;;;;;;;;;;;;;OAcG;IACH,WAAW,CAAC,MAAM,EAAE,iBAAiB;IAKrC;;;;;;;;;;;;;;OAcG;IACH,2BAA2B,CAAC,MAAM,EAAE,iCAAiC;CAItE;AAED;;;;GAIG;AACH,OAAO,EAAC,kBAAkB,EAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,EAAE,YAAiC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  export class RpcService {
2
2
  constructor(serviceName: any);
3
- serviceName: string;
4
- sandbox: Boolean;
3
+ serviceName: any;
4
+ sandbox: boolean;
5
5
  call(method: any, ...params: any[]): Promise<any>;
6
6
  }
7
7
  //# sourceMappingURL=rpc-service-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-service-client.d.ts","sourceRoot":"","sources":["../../../src/services/rpc-service-client.js"],"names":[],"mappings":"AAGA;IAIE,8BAKC;IARD,aAAa,MAAM,CAAC;IACpB,SAAS,OAAO,CAAC;IASjB,kDAOC;CACF"}
1
+ {"version":3,"file":"rpc-service-client.d.ts","sourceRoot":"","sources":["../../../src/services/rpc-service-client.js"],"names":[],"mappings":"AAGA;IACE,8BAKC;IAFC,iBAA8B;IAC9B,iBAAoB;IAGtB,kDAOC;CACF"}
@@ -1,2 +1,2 @@
1
- export { storageService } from "./service";
1
+ export let storageService: any;
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/index.js"],"names":[],"mappings":"AAGA,+BAAmB"}
@@ -0,0 +1,9 @@
1
+ export class StorageServiceRpc extends RpcService {
2
+ constructor();
3
+ setItem(...args: any[]): Promise<any>;
4
+ removeItem(...args: any[]): Promise<any>;
5
+ getItem(...args: any[]): Promise<any>;
6
+ getAllKeys(): Promise<any>;
7
+ }
8
+ import { RpcService } from '../rpc-service-client';
9
+ //# sourceMappingURL=service-rpc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-rpc.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/service-rpc.js"],"names":[],"mappings":"AAEA;IACE,cAEC;IAED,sCAEC;IAED,yCAEC;IAED,sCAEC;IAED,2BAEC;CACF;2BAtBwB,uBAAuB"}
@@ -4,6 +4,7 @@ export declare class StorageService {
4
4
  setItem(...args: any[]): Promise<any>;
5
5
  removeItem(...args: any[]): Promise<any>;
6
6
  getItem(...args: any[]): Promise<any>;
7
+ getAllKeys(): Promise<string[]>;
7
8
  }
8
9
  export declare const storageService: StorageService;
9
10
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/service.ts"],"names":[],"mappings":"AACA,qBAAa,cAAc;IACzB,UAAU,uBAUQ,QAAQ,GAAG,CAAC,IAN5B;;IAMF,OAAO,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9B,UAAU,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjC,OAAO,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;CAG/B;AAED,eAAO,MAAM,cAAc,EAAE,cAAqC,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/services/storage/service.ts"],"names":[],"mappings":"AACA,qBAAa,cAAc;IACzB,UAAU,uBAWQ,QAAQ,GAAG,CAAC,IAN5B;;IAMF,OAAO,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9B,UAAU,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjC,OAAO,CAAC,GAAG,IAAI,OAAA,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9B,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAGhC;AAED,eAAO,MAAM,cAAc,EAAE,cAAqC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare class UtilCryptoService {
2
- rpcMethods: (((numWords?: number) => string) | ((phrase: any) => Uint8Array) | ((value: any) => boolean) | ((hex: string) => string))[];
2
+ rpcMethods: (((value: any) => boolean) | ((numWords?: number) => string) | ((phrase: any) => Uint8Array) | ((hex: string) => string))[];
3
3
  constructor();
4
4
  mnemonicGenerate(numWords?: number): string;
5
5
  mnemonicToMiniSecret(phrase: any): Uint8Array;