@hsuite/native-connect-client 1.0.0 → 2.1.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 (30) hide show
  1. package/coverage/coverage-summary.json +9 -9
  2. package/coverage/index.html +24 -24
  3. package/coverage/lcov-report/index.html +24 -24
  4. package/coverage/lcov-report/src/handlers/index.html +9 -9
  5. package/coverage/lcov-report/src/handlers/session-handler.ts.html +6 -57
  6. package/coverage/lcov-report/src/handlers/signing-handler.ts.html +6 -57
  7. package/coverage/lcov-report/src/handlers/wallet-handler.ts.html +5 -56
  8. package/coverage/lcov-report/src/harness/index.html +10 -10
  9. package/coverage/lcov-report/src/harness/signing-harness.ts.html +25 -37
  10. package/coverage/lcov-report/src/index.html +15 -15
  11. package/coverage/lcov-report/src/memory-transport.ts.html +23 -44
  12. package/coverage/lcov-report/src/protocol/e2e-harness.ts.html +39 -30
  13. package/coverage/lcov-report/src/protocol/index.html +11 -11
  14. package/coverage/lcov-report/src/query-client.ts.html +17 -53
  15. package/coverage/lcov-report/src/reference-client.ts.html +35 -47
  16. package/coverage/lcov.info +259 -334
  17. package/coverage/src/handlers/index.html +9 -9
  18. package/coverage/src/handlers/session-handler.ts.html +6 -57
  19. package/coverage/src/handlers/signing-handler.ts.html +6 -57
  20. package/coverage/src/handlers/wallet-handler.ts.html +5 -56
  21. package/coverage/src/harness/index.html +10 -10
  22. package/coverage/src/harness/signing-harness.ts.html +25 -37
  23. package/coverage/src/index.html +15 -15
  24. package/coverage/src/memory-transport.ts.html +23 -44
  25. package/coverage/src/protocol/e2e-harness.ts.html +39 -30
  26. package/coverage/src/protocol/index.html +11 -11
  27. package/coverage/src/query-client.ts.html +17 -53
  28. package/coverage/src/reference-client.ts.html +35 -47
  29. package/package.json +3 -3
  30. package/tsconfig.build.tsbuildinfo +1 -1
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/36</span>
28
+ <span class='fraction'>0/19</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/36</span>
49
+ <span class='fraction'>0/19</span>
50
50
  </div>
51
51
 
52
52
 
@@ -82,24 +82,7 @@
82
82
  <a name='L17'></a><a href='#L17'>17</a>
83
83
  <a name='L18'></a><a href='#L18'>18</a>
84
84
  <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
85
+ <a name='L20'></a><a href='#L20'>20</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
103
86
  <span class="cline-any cline-no">&nbsp;</span>
104
87
  <span class="cline-any cline-no">&nbsp;</span>
105
88
  <span class="cline-any cline-no">&nbsp;</span>
@@ -118,41 +101,7 @@
118
101
  <span class="cline-any cline-no">&nbsp;</span>
119
102
  <span class="cline-any cline-no">&nbsp;</span>
120
103
  <span class="cline-any cline-no">&nbsp;</span>
121
- <span class="cline-any cline-no">&nbsp;</span>
122
- <span class="cline-any cline-no">&nbsp;</span>
123
- <span class="cline-any cline-no">&nbsp;</span>
124
- <span class="cline-any cline-no">&nbsp;</span>
125
- <span class="cline-any cline-no">&nbsp;</span>
126
- <span class="cline-any cline-no">&nbsp;</span>
127
- <span class="cline-any cline-no">&nbsp;</span>
128
- <span class="cline-any cline-no">&nbsp;</span>
129
- <span class="cline-any cline-no">&nbsp;</span>
130
- <span class="cline-any cline-no">&nbsp;</span>
131
- <span class="cline-any cline-no">&nbsp;</span>
132
- <span class="cline-any cline-no">&nbsp;</span>
133
- <span class="cline-any cline-no">&nbsp;</span>
134
- <span class="cline-any cline-no">&nbsp;</span>
135
- <span class="cline-any cline-no">&nbsp;</span>
136
- <span class="cline-any cline-no">&nbsp;</span>
137
- <span class="cline-any cline-no">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
139
- <span class="cstat-no" title="statement not covered" > * HSuite Native Connect</span>
140
- <span class="cstat-no" title="statement not covered" > * Copyright 2024-2025 HSuite (https://hsuite.finance)</span>
141
- <span class="cstat-no" title="statement not covered" > *</span>
142
- <span class="cstat-no" title="statement not covered" > * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0</span>
143
- <span class="cstat-no" title="statement not covered" > *</span>
144
- <span class="cstat-no" title="statement not covered" > * This file is part of HSuite Native Connect. For commercial licensing,</span>
145
- <span class="cstat-no" title="statement not covered" > * visit https://hsuite.finance/licensing</span>
146
- <span class="cstat-no" title="statement not covered" > */</span>
147
- <span class="cstat-no" title="statement not covered" ></span>
148
- <span class="cstat-no" title="statement not covered" >/**</span>
149
- <span class="cstat-no" title="statement not covered" > * @file Wallet RPC handler registration for reference client.</span>
150
- <span class="cstat-no" title="statement not covered" > * Provides handlers for account and configuration query methods.</span>
151
- <span class="cstat-no" title="statement not covered" > *</span>
152
- <span class="cstat-no" title="statement not covered" > * @module @hsuite/native-connect-client/handlers/wallet-handler</span>
153
- <span class="cstat-no" title="statement not covered" > */</span>
154
- <span class="cstat-no" title="statement not covered" ></span>
155
- <span class="cstat-no" title="statement not covered" >import { RpcRouter, getLogger } from '@hsuite/native-connect-sdk';</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" >import { RpcRouter, getLogger } from '@hsuite/connect-sdk';</span></span></span>
156
105
  <span class="cstat-no" title="statement not covered" ></span>
157
106
  <span class="cstat-no" title="statement not covered" >/**</span>
158
107
  <span class="cstat-no" title="statement not covered" > * @description Register wallet RPC handlers for account and config queries</span>
@@ -178,7 +127,7 @@
178
127
  <div class='footer quiet pad2 space-top1 center small'>
179
128
  Code coverage generated by
180
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2026-06-02T14:29:49.152Z
130
+ at 2026-01-12T14:27:06.745Z
182
131
  </div>
183
132
  <script src="../../prettify.js"></script>
184
133
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.75% </span>
26
+ <span class="strong">97.64% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>87/89</span>
28
+ <span class='fraction'>83/85</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.75% </span>
47
+ <span class="strong">97.64% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>87/89</span>
49
+ <span class='fraction'>83/85</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="signing-harness.ts"><a href="signing-harness.ts.html">signing-harness.ts</a></td>
83
- <td data-value="97.75" class="pic high">
83
+ <td data-value="97.64" class="pic high">
84
84
  <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
85
85
  </td>
86
- <td data-value="97.75" class="pct high">97.75%</td>
87
- <td data-value="89" class="abs high">87/89</td>
86
+ <td data-value="97.64" class="pct high">97.64%</td>
87
+ <td data-value="85" class="abs high">83/85</td>
88
88
  <td data-value="91.66" class="pct high">91.66%</td>
89
89
  <td data-value="12" class="abs high">11/12</td>
90
90
  <td data-value="84.61" class="pct high">84.61%</td>
91
91
  <td data-value="13" class="abs high">11/13</td>
92
- <td data-value="97.75" class="pct high">97.75%</td>
93
- <td data-value="89" class="abs high">87/89</td>
92
+ <td data-value="97.64" class="pct high">97.64%</td>
93
+ <td data-value="85" class="abs high">83/85</td>
94
94
  </tr>
95
95
 
96
96
  </tbody>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-06-02T14:29:49.152Z
104
+ at 2026-01-12T14:27:06.745Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.75% </span>
26
+ <span class="strong">97.64% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>87/89</span>
28
+ <span class='fraction'>83/85</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.75% </span>
47
+ <span class="strong">97.64% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>87/89</span>
49
+ <span class='fraction'>83/85</span>
50
50
  </div>
51
51
 
52
52
 
@@ -148,15 +148,7 @@
148
148
  <a name='L83'></a><a href='#L83'>83</a>
149
149
  <a name='L84'></a><a href='#L84'>84</a>
150
150
  <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
156
- <span class="cline-any cline-yes">1x</span>
157
- <span class="cline-any cline-yes">1x</span>
158
- <span class="cline-any cline-yes">1x</span>
159
- <span class="cline-any cline-yes">1x</span>
151
+ <a name='L86'></a><a href='#L86'>86</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
160
152
  <span class="cline-any cline-yes">1x</span>
161
153
  <span class="cline-any cline-yes">1x</span>
162
154
  <span class="cline-any cline-yes">1x</span>
@@ -241,36 +233,32 @@
241
233
  <span class="cline-any cline-yes">1x</span>
242
234
  <span class="cline-any cline-yes">1x</span>
243
235
  <span class="cline-any cline-yes">1x</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
245
- * HSuite Native Connect
246
- * Copyright 2024-2025 HSuite (https://hsuite.finance)
247
- *
248
- * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
249
- *
250
- * This file is part of HSuite Native Connect. For commercial licensing,
251
- * visit https://hsuite.finance/licensing
252
- */
253
- &nbsp;
254
- /**
255
- * @file Test harness wiring reference client to in-memory transport.
256
- * Provides complete RPC client/server setup for testing signing flows.
257
- *
258
- * @module @hsuite/native-connect-client/harness/signing-harness
259
- */
260
- &nbsp;
261
- import { ReferenceClient } from '../reference-client';
236
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ReferenceClient } from '../reference-client';
262
237
  import { MemoryTransport } from '../memory-transport';
263
- import { RpcServer, RpcRouter, RpcCodec } from '@hsuite/native-connect-sdk';
264
- import type { RpcRequest, RpcResponse, RpcEnvelope } from '@hsuite/native-connect-types';
238
+ import { RpcServer, RpcRouter, RpcCodec } from '@hsuite/connect-sdk';
239
+ import type { RpcRequest, RpcResponse, RpcEnvelope } from '@hsuite/connect-types';
265
240
  &nbsp;
266
241
  /**
267
- * @class SigningHarness
268
- * @description Test harness wiring reference client to in-memory transport.
269
- *
242
+ * @description Test harness wiring reference client to in-memory transport
243
+ *
270
244
  * Provides:
271
245
  * - Complete RPC client/server setup for testing
272
246
  * - Router-based request handling
273
247
  * - Automatic transport wiring for bidirectional communication
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const router = new RpcRouter();
252
+ * router.register('test/method', async () =&gt; ({ result: 'ok' }));
253
+ *
254
+ * const harness = new SigningHarness(router);
255
+ * const response = await harness.send({
256
+ * id: '1',
257
+ * jsonrpc: '2.0',
258
+ * method: 'test/method',
259
+ * params: {}
260
+ * });
261
+ * ```
274
262
  */
275
263
  export class SigningHarness {
276
264
  private readonly transport = new MemoryTransport();
@@ -337,7 +325,7 @@ export class SigningHarness {
337
325
  <div class='footer quiet pad2 space-top1 center small'>
338
326
  Code coverage generated by
339
327
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
340
- at 2026-06-02T14:29:49.152Z
328
+ at 2026-01-12T14:27:06.745Z
341
329
  </div>
342
330
  <script src="../../prettify.js"></script>
343
331
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.51% </span>
26
+ <span class="strong">83.83% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>291/357</span>
28
+ <span class='fraction'>280/334</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.51% </span>
47
+ <span class="strong">83.83% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>291/357</span>
49
+ <span class='fraction'>280/334</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="91" class="abs high">91/91</td>
87
+ <td data-value="84" class="abs high">84/84</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="11" class="abs high">11/11</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="8" class="abs high">8/8</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="91" class="abs high">91/91</td>
93
+ <td data-value="84" class="abs high">84/84</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -99,28 +99,28 @@
99
99
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
101
  <td data-value="0" class="pct low">0%</td>
102
- <td data-value="64" class="abs low">0/64</td>
102
+ <td data-value="52" class="abs low">0/52</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
104
  <td data-value="1" class="abs low">0/1</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="1" class="abs low">0/1</td>
107
107
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="64" class="abs low">0/64</td>
108
+ <td data-value="52" class="abs low">0/52</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
112
112
  <td class="file high" data-value="reference-client.ts"><a href="reference-client.ts.html">reference-client.ts</a></td>
113
- <td data-value="99" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 99%"></div><div class="cover-empty" style="width: 1%"></div></div>
113
+ <td data-value="98.98" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
115
115
  </td>
116
- <td data-value="99" class="pct high">99%</td>
117
- <td data-value="202" class="abs high">200/202</td>
116
+ <td data-value="98.98" class="pct high">98.98%</td>
117
+ <td data-value="198" class="abs high">196/198</td>
118
118
  <td data-value="91.42" class="pct high">91.42%</td>
119
119
  <td data-value="35" class="abs high">32/35</td>
120
120
  <td data-value="90" class="pct high">90%</td>
121
121
  <td data-value="10" class="abs high">9/10</td>
122
- <td data-value="99" class="pct high">99%</td>
123
- <td data-value="202" class="abs high">200/202</td>
122
+ <td data-value="98.98" class="pct high">98.98%</td>
123
+ <td data-value="198" class="abs high">196/198</td>
124
124
  </tr>
125
125
 
126
126
  </tbody>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-06-02T14:29:49.152Z
134
+ at 2026-01-12T14:27:06.745Z
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>91/91</span>
28
+ <span class='fraction'>84/84</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>91/91</span>
49
+ <span class='fraction'>84/84</span>
50
50
  </div>
51
51
 
52
52
 
@@ -147,23 +147,12 @@
147
147
  <a name='L82'></a><a href='#L82'>82</a>
148
148
  <a name='L83'></a><a href='#L83'>83</a>
149
149
  <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
158
- <span class="cline-any cline-yes">1x</span>
159
- <span class="cline-any cline-yes">1x</span>
160
- <span class="cline-any cline-yes">1x</span>
161
- <span class="cline-any cline-yes">1x</span>
162
- <span class="cline-any cline-yes">1x</span>
163
- <span class="cline-any cline-yes">1x</span>
164
- <span class="cline-any cline-yes">1x</span>
150
+ <a name='L85'></a><a href='#L85'>85</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
165
151
  <span class="cline-any cline-yes">1x</span>
166
152
  <span class="cline-any cline-yes">1x</span>
153
+ <span class="cline-any cline-yes">3x</span>
154
+ <span class="cline-any cline-yes">3x</span>
155
+ <span class="cline-any cline-yes">3x</span>
167
156
  <span class="cline-any cline-yes">1x</span>
168
157
  <span class="cline-any cline-yes">1x</span>
169
158
  <span class="cline-any cline-yes">1x</span>
@@ -174,9 +163,6 @@
174
163
  <span class="cline-any cline-yes">1x</span>
175
164
  <span class="cline-any cline-yes">1x</span>
176
165
  <span class="cline-any cline-yes">1x</span>
177
- <span class="cline-any cline-yes">3x</span>
178
- <span class="cline-any cline-yes">3x</span>
179
- <span class="cline-any cline-yes">3x</span>
180
166
  <span class="cline-any cline-yes">1x</span>
181
167
  <span class="cline-any cline-yes">1x</span>
182
168
  <span class="cline-any cline-yes">1x</span>
@@ -245,38 +231,31 @@
245
231
  <span class="cline-any cline-yes">1x</span>
246
232
  <span class="cline-any cline-yes">1x</span>
247
233
  <span class="cline-any cline-yes">2x</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
249
- * HSuite Native Connect
250
- * Copyright 2024-2025 HSuite (https://hsuite.finance)
251
- *
252
- * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
253
- *
254
- * This file is part of HSuite Native Connect. For commercial licensing,
255
- * visit https://hsuite.finance/licensing
256
- */
257
- &nbsp;
258
- /**
259
- * @file In-memory transport implementation for testing RPC communication.
260
- * Provides isolated message delivery between client and server without network I/O.
261
- *
262
- * @module @hsuite/native-connect-client/memory-transport
263
- */
264
- &nbsp;
265
- import { EventEmitter } from 'eventemitter3';
266
- import type { RpcEnvelope } from '@hsuite/native-connect-types';
234
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { EventEmitter } from 'eventemitter3';
235
+ import type { RpcEnvelope } from '@hsuite/connect-types';
267
236
  &nbsp;
268
237
  function cloneEnvelope(envelope: RpcEnvelope): RpcEnvelope {
269
238
  return JSON.parse(JSON.stringify(envelope)) as RpcEnvelope;
270
239
  }
271
240
  &nbsp;
272
241
  /**
273
- * @class MemoryTransport
274
- * @description In-memory transport for testing RPC communication.
275
- *
242
+ * @description In-memory transport for testing RPC communication
243
+ *
276
244
  * Provides:
277
245
  * - Synchronous message delivery between client and server emitters
278
- * - Message isolation via deep cloning to prevent mutation
246
+ * - Message isolation via deep cloning
279
247
  * - Pending promise queue for ordered delivery
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * const transport = new MemoryTransport();
252
+ *
253
+ * transport.onMessage((msg) =&gt; console.log('Client received:', msg));
254
+ * transport.onServerMessage((msg) =&gt; console.log('Server received:', msg));
255
+ *
256
+ * await transport.send(envelope, 'client');
257
+ * await transport.drain();
258
+ * ```
280
259
  */
281
260
  export class MemoryTransport {
282
261
  private readonly clientEmitter = new EventEmitter();
@@ -343,7 +322,7 @@ export class MemoryTransport {
343
322
  <div class='footer quiet pad2 space-top1 center small'>
344
323
  Code coverage generated by
345
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
346
- at 2026-06-02T14:29:49.152Z
325
+ at 2026-01-12T14:27:06.745Z
347
326
  </div>
348
327
  <script src="../prettify.js"></script>
349
328
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">81.98% </span>
26
+ <span class="strong">82.31% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>132/161</span>
28
+ <span class='fraction'>135/164</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">81.98% </span>
47
+ <span class="strong">82.31% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>132/161</span>
49
+ <span class='fraction'>135/164</span>
50
50
  </div>
51
51
 
52
52
 
@@ -224,7 +224,13 @@
224
224
  <a name='L159'></a><a href='#L159'>159</a>
225
225
  <a name='L160'></a><a href='#L160'>160</a>
226
226
  <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
231
+ <span class="cline-any cline-yes">1x</span>
232
+ <span class="cline-any cline-yes">1x</span>
233
+ <span class="cline-any cline-yes">1x</span>
228
234
  <span class="cline-any cline-yes">1x</span>
229
235
  <span class="cline-any cline-yes">1x</span>
230
236
  <span class="cline-any cline-yes">1x</span>
@@ -385,25 +391,7 @@
385
391
  <span class="cline-any cline-yes">1x</span>
386
392
  <span class="cline-any cline-yes">1x</span>
387
393
  <span class="cline-any cline-yes">1x</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
389
- * HSuite Native Connect
390
- * Copyright 2024-2025 HSuite (https://hsuite.finance)
391
- *
392
- * SPDX-License-Identifier: PolyForm-Noncommercial-1.0.0
393
- *
394
- * This file is part of HSuite Native Connect. For commercial licensing,
395
- * visit https://hsuite.finance/licensing
396
- */
397
- &nbsp;
398
- /**
399
- * @file End-to-end test harness with full wallet SDK integration.
400
- * Provides complete WalletCore, ledger registration, and session management
401
- * for comprehensive integration testing.
402
- *
403
- * @module @hsuite/native-connect-client/protocol/e2e-harness
404
- */
405
- &nbsp;
406
- import { ReferenceClient } from '../reference-client';
394
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { ReferenceClient } from '../reference-client';
407
395
  import { MemoryTransport } from '../memory-transport';
408
396
  import {
409
397
  WalletCore,
@@ -412,9 +400,9 @@ import {
412
400
  KeyVaultService,
413
401
  CryptoService,
414
402
  createChannelInvite,
415
- } from '@hsuite/native-connect-sdk';
403
+ } from '@hsuite/connect-sdk';
416
404
  import { base64 } from '@scure/base';
417
- import type { LedgerAdapter, ChannelInvite } from '@hsuite/native-connect-sdk';
405
+ import type { LedgerAdapter, ChannelInvite } from '@hsuite/connect-sdk';
418
406
  &nbsp;
419
407
  /**
420
408
  * @description Configuration options for end-to-end test harness
@@ -431,14 +419,35 @@ export interface HarnessOptions {
431
419
  }
432
420
  &nbsp;
433
421
  /**
434
- * @class EndToEndHarness
435
- * @description End-to-end test harness with full wallet SDK integration.
436
- *
422
+ * @description End-to-end test harness with full wallet SDK integration
423
+ *
437
424
  * Provides:
438
425
  * - Complete WalletCore instance with ledger registration
439
426
  * - Reference client for RPC communication
440
427
  * - In-memory transport for isolated testing
441
428
  * - Session establishment utilities
429
+ *
430
+ * @example
431
+ * ```typescript
432
+ * import { createChannelInvite } from '@hsuite/connect-sdk';
433
+ *
434
+ * const invite = createChannelInvite({
435
+ * type: 'session',
436
+ * app: { id: 'my-dapp', name: 'My DApp' },
437
+ * context: { ledgerId: 'hedera', networkId: 'hedera:testnet' },
438
+ * permissions: [],
439
+ * });
440
+ *
441
+ * const harness = new EndToEndHarness({
442
+ * ledgerAdapter: new HederaLedgerAdapter(),
443
+ * session: {
444
+ * request: invite,
445
+ * }
446
+ * });
447
+ *
448
+ * const sessionId = await harness.establishSession();
449
+ * await harness.teardown();
450
+ * ```
442
451
  */
443
452
  export class EndToEndHarness {
444
453
  readonly client: ReferenceClient;
@@ -553,7 +562,7 @@ export class EndToEndHarness {
553
562
  <div class='footer quiet pad2 space-top1 center small'>
554
563
  Code coverage generated by
555
564
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
556
- at 2026-06-02T14:29:49.152Z
565
+ at 2026-01-12T14:27:06.745Z
557
566
  </div>
558
567
  <script src="../../prettify.js"></script>
559
568
  <script>