@typeberry/lib 0.5.3-fb6e98a → 0.5.4-472e282

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 (162) hide show
  1. package/package.json +1 -1
  2. package/packages/core/networking/certificate.d.ts.map +1 -1
  3. package/packages/core/networking/certificate.js +1 -0
  4. package/packages/core/networking/package.json +1 -1
  5. package/packages/core/networking/setup.d.ts.map +1 -1
  6. package/packages/core/networking/setup.js +16 -12
  7. package/packages/core/telemetry/package.json +1 -1
  8. package/packages/core/utils/compatibility.d.ts +0 -1
  9. package/packages/core/utils/compatibility.d.ts.map +1 -1
  10. package/packages/core/utils/compatibility.js +1 -2
  11. package/packages/core/utils/compatibility.test.js +6 -10
  12. package/packages/extensions/ipc/jamnp/handler.d.ts +5 -4
  13. package/packages/extensions/ipc/jamnp/handler.d.ts.map +1 -1
  14. package/packages/extensions/ipc/jamnp/handler.js +59 -34
  15. package/packages/extensions/ipc/jamnp/stream.d.ts +6 -4
  16. package/packages/extensions/ipc/jamnp/stream.d.ts.map +1 -1
  17. package/packages/jam/block/index.d.ts +11 -11
  18. package/packages/jam/block/index.d.ts.map +1 -1
  19. package/packages/jam/block/index.js +11 -11
  20. package/packages/jam/block/work-package.d.ts +3 -1
  21. package/packages/jam/block/work-package.d.ts.map +1 -1
  22. package/packages/jam/block/work-package.js +6 -2
  23. package/packages/jam/block-json/block.d.ts +125 -0
  24. package/packages/jam/block-json/block.d.ts.map +1 -1
  25. package/packages/jam/block-json/block.js +9 -2
  26. package/packages/jam/database-lmdb/states.test.js +3 -5
  27. package/packages/jam/fuzz-proto/v1/handler.d.ts +1 -1
  28. package/packages/jam/fuzz-proto/v1/handler.d.ts.map +1 -1
  29. package/packages/jam/fuzz-proto/v1/handler.js +43 -19
  30. package/packages/jam/fuzz-proto/v1/types.d.ts +1 -1
  31. package/packages/jam/jam-host-calls/accumulate/bless.d.ts.map +1 -1
  32. package/packages/jam/jam-host-calls/accumulate/bless.js +6 -10
  33. package/packages/jam/jam-host-calls/accumulate/bless.test.js +32 -72
  34. package/packages/jam/jam-host-calls/accumulate/new.d.ts.map +1 -1
  35. package/packages/jam/jam-host-calls/accumulate/new.js +2 -4
  36. package/packages/jam/jam-host-calls/accumulate/new.test.js +4 -5
  37. package/packages/jam/jam-host-calls/general/fetch.d.ts +1 -57
  38. package/packages/jam/jam-host-calls/general/fetch.d.ts.map +1 -1
  39. package/packages/jam/jam-host-calls/general/fetch.js +6 -29
  40. package/packages/jam/jam-host-calls/general/fetch.test.js +2 -58
  41. package/packages/jam/jamnp-s/peers.d.ts.map +1 -1
  42. package/packages/jam/jamnp-s/peers.js +10 -0
  43. package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts +1 -1
  44. package/packages/jam/jamnp-s/protocol/ce-128-block-request.d.ts.map +1 -1
  45. package/packages/jam/jamnp-s/protocol/ce-128-block-request.js +10 -8
  46. package/packages/jam/jamnp-s/protocol/ce-129-state-request.d.ts.map +1 -1
  47. package/packages/jam/jamnp-s/protocol/ce-129-state-request.js +11 -9
  48. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts +3 -3
  49. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.d.ts.map +1 -1
  50. package/packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.js +2 -2
  51. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts +6 -6
  52. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.d.ts.map +1 -1
  53. package/packages/jam/jamnp-s/protocol/ce-133-work-package-submission.js +2 -2
  54. package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.d.ts.map +1 -1
  55. package/packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.js +8 -6
  56. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts +16 -16
  57. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.d.ts.map +1 -1
  58. package/packages/jam/jamnp-s/protocol/ce-135-work-report-distribution.js +2 -2
  59. package/packages/jam/jamnp-s/protocol/stream.d.ts +13 -7
  60. package/packages/jam/jamnp-s/protocol/stream.d.ts.map +1 -1
  61. package/packages/jam/jamnp-s/protocol/stream.js +5 -4
  62. package/packages/jam/jamnp-s/protocol/test-utils.d.ts +1 -1
  63. package/packages/jam/jamnp-s/protocol/test-utils.d.ts.map +1 -1
  64. package/packages/jam/jamnp-s/protocol/test-utils.js +9 -12
  65. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts +2 -2
  66. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.d.ts.map +1 -1
  67. package/packages/jam/jamnp-s/protocol/up-0-block-announcement.js +1 -1
  68. package/packages/jam/jamnp-s/stream-manager.d.ts.map +1 -1
  69. package/packages/jam/jamnp-s/stream-manager.js +7 -5
  70. package/packages/jam/jamnp-s/stream-manager.test.js +8 -5
  71. package/packages/jam/jamnp-s/tasks/sync.js +1 -1
  72. package/packages/jam/node/jam-config.d.ts +4 -1
  73. package/packages/jam/node/jam-config.d.ts.map +1 -1
  74. package/packages/jam/node/jam-config.js +6 -2
  75. package/packages/jam/node/main.d.ts.map +1 -1
  76. package/packages/jam/node/main.js +5 -4
  77. package/packages/jam/node/package.json +1 -1
  78. package/packages/jam/node/reader.d.ts +25 -25
  79. package/packages/jam/node/workers.d.ts +183 -183
  80. package/packages/jam/state/accumulation-queue.d.ts +26 -26
  81. package/packages/jam/state/assurances.d.ts +26 -26
  82. package/packages/jam/state/privileged-services.d.ts +1 -1
  83. package/packages/jam/state/privileged-services.d.ts.map +1 -1
  84. package/packages/jam/state/privileged-services.js +1 -6
  85. package/packages/jam/state/service.d.ts +1 -1
  86. package/packages/jam/state/service.d.ts.map +1 -1
  87. package/packages/jam/state/statistics.d.ts +0 -8
  88. package/packages/jam/state/statistics.d.ts.map +1 -1
  89. package/packages/jam/state/statistics.js +14 -44
  90. package/packages/jam/state/statistics.test.js +1 -8
  91. package/packages/jam/state/test.utils.d.ts +1 -1
  92. package/packages/jam/state/test.utils.d.ts.map +1 -1
  93. package/packages/jam/state/test.utils.js +4 -22
  94. package/packages/jam/state-json/accounts.d.ts +10 -0
  95. package/packages/jam/state-json/accounts.d.ts.map +1 -1
  96. package/packages/jam/state-json/accounts.js +47 -19
  97. package/packages/jam/state-json/dump.d.ts.map +1 -1
  98. package/packages/jam/state-json/dump.js +5 -9
  99. package/packages/jam/state-json/dump.test.js +2 -10
  100. package/packages/jam/state-json/statistics.d.ts +1 -1
  101. package/packages/jam/state-json/statistics.d.ts.map +1 -1
  102. package/packages/jam/state-json/statistics.js +1 -13
  103. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts +29 -31
  104. package/packages/jam/state-merkleization/in-memory-state-codec.d.ts.map +1 -1
  105. package/packages/jam/state-merkleization/serialize.d.ts +4 -4
  106. package/packages/jam/state-merkleization/serialize.d.ts.map +1 -1
  107. package/packages/jam/state-merkleization/serialize.js +5 -8
  108. package/packages/jam/state-merkleization/serialized-state-view.d.ts.map +1 -1
  109. package/packages/jam/state-merkleization/state-entries.test.js +1 -7
  110. package/packages/jam/state-vectors/index.d.ts +377 -5
  111. package/packages/jam/state-vectors/index.d.ts.map +1 -1
  112. package/packages/jam/state-vectors/index.js +3 -3
  113. package/packages/jam/transition/accumulate/accumulate-state.d.ts +1 -2
  114. package/packages/jam/transition/accumulate/accumulate-state.d.ts.map +1 -1
  115. package/packages/jam/transition/accumulate/accumulate-utils.d.ts.map +1 -1
  116. package/packages/jam/transition/accumulate/accumulate-utils.js +2 -6
  117. package/packages/jam/transition/accumulate/accumulate-utils.test.js +2 -4
  118. package/packages/jam/transition/accumulate/accumulate.d.ts.map +1 -1
  119. package/packages/jam/transition/accumulate/accumulate.js +11 -20
  120. package/packages/jam/transition/accumulate/index.d.ts +0 -1
  121. package/packages/jam/transition/accumulate/index.d.ts.map +1 -1
  122. package/packages/jam/transition/accumulate/index.js +0 -1
  123. package/packages/jam/transition/accumulate/operand.d.ts +7 -7
  124. package/packages/jam/transition/chain-stf.d.ts +3 -5
  125. package/packages/jam/transition/chain-stf.d.ts.map +1 -1
  126. package/packages/jam/transition/chain-stf.js +5 -29
  127. package/packages/jam/transition/disputes/disputes.test.data2.d.ts +3 -3
  128. package/packages/jam/transition/disputes/disputes.test.data2.d.ts.map +1 -1
  129. package/packages/jam/transition/externalities/accumulate-externalities.d.ts.map +1 -1
  130. package/packages/jam/transition/externalities/accumulate-externalities.js +22 -49
  131. package/packages/jam/transition/externalities/accumulate-externalities.test.js +8 -72
  132. package/packages/jam/transition/externalities/fetch-externalities.d.ts +3 -22
  133. package/packages/jam/transition/externalities/fetch-externalities.d.ts.map +1 -1
  134. package/packages/jam/transition/externalities/fetch-externalities.js +3 -55
  135. package/packages/jam/transition/externalities/fetch-externalities.test.js +199 -112
  136. package/packages/jam/transition/reports/error.d.ts +3 -1
  137. package/packages/jam/transition/reports/error.d.ts.map +1 -1
  138. package/packages/jam/transition/reports/error.js +2 -0
  139. package/packages/jam/transition/reports/verify-basic.d.ts.map +1 -1
  140. package/packages/jam/transition/reports/verify-basic.js +10 -0
  141. package/packages/jam/transition/reports/verify-basic.test.js +29 -0
  142. package/packages/jam/transition/statistics.d.ts +0 -7
  143. package/packages/jam/transition/statistics.d.ts.map +1 -1
  144. package/packages/jam/transition/statistics.js +2 -11
  145. package/packages/jam/transition/statistics.test.js +0 -40
  146. package/packages/workers/block-authorship/generator.test.d.ts +2 -0
  147. package/packages/workers/block-authorship/generator.test.d.ts.map +1 -0
  148. package/packages/workers/block-authorship/generator.test.js +200 -0
  149. package/packages/workers/block-authorship/main.d.ts.map +1 -1
  150. package/packages/workers/block-authorship/main.js +23 -4
  151. package/packages/workers/block-authorship/package.json +1 -1
  152. package/packages/workers/block-authorship/protocol.d.ts +53 -51
  153. package/packages/workers/block-authorship/protocol.d.ts.map +1 -1
  154. package/packages/workers/block-authorship/protocol.js +6 -3
  155. package/packages/workers/importer/importer.d.ts.map +1 -1
  156. package/packages/workers/importer/importer.js +0 -1
  157. package/packages/workers/importer/package.json +1 -1
  158. package/packages/workers/importer/protocol.d.ts +54 -54
  159. package/packages/workers/jam-network/protocol.d.ts +79 -79
  160. package/packages/jam/transition/accumulate/deferred-transfers.d.ts +0 -36
  161. package/packages/jam/transition/accumulate/deferred-transfers.d.ts.map +0 -1
  162. package/packages/jam/transition/accumulate/deferred-transfers.js +0 -94
@@ -142,19 +142,6 @@ export interface IFetchExternalities {
142
142
  * https://graypaper.fluffylabs.dev/#/9a08063/32f00132f001?v=0.6.6
143
143
  */
144
144
  workItemPayload(workItem: U64): BytesBlob | null;
145
- /**
146
- * Get all accumulation operands (work results?).
147
- *
148
- * Is Authorized: <empty>
149
- * Refine: <empty>
150
- * Accumulate: `E(↕o)`
151
- * On Transfer: <empty>
152
- *
153
- * @deprecated since 0.7.1
154
- *
155
- * https://graypaper.fluffylabs.dev/#/9a08063/32fb0132fb01?v=0.6.6
156
- */
157
- allOperands(): BytesBlob | null;
158
145
  /**
159
146
  * Get all accumulation operands (work results?) and transfers.
160
147
  *
@@ -165,19 +152,6 @@ export interface IFetchExternalities {
165
152
  * https://graypaper.fluffylabs.dev/#/ab2cdbd/314c03314c03?v=0.7.2
166
153
  */
167
154
  allTransfersAndOperands(): BytesBlob | null;
168
- /**
169
- * Get one selected accumulation operand.
170
- *
171
- * Is Authorized: <empty>
172
- * Refine: <empty>
173
- * Accumulate: `E(o[omega_11])`
174
- * On Transfer: <empty>
175
- *
176
- * @deprecated 0.7.1
177
- *
178
- * https://graypaper.fluffylabs.dev/#/9a08063/320202320202?v=0.6.6
179
- */
180
- oneOperand(operandIndex: U64): BytesBlob | null;
181
155
  /**
182
156
  * Get one selected accumulation operand or transfer.
183
157
  *
@@ -188,32 +162,6 @@ export interface IFetchExternalities {
188
162
  * https://graypaper.fluffylabs.dev/#/ab2cdbd/315503315503?v=0.7.2
189
163
  */
190
164
  oneTransferOrOperand(index: U64): BytesBlob | null;
191
- /**
192
- * Inspect all incoming transfers.
193
- *
194
- * Is Authorized: <empty>
195
- * Refine: <empty>
196
- * Accumulate: <empty>
197
- * On Transfer: `E(↕t)`
198
- *
199
- * @deprecated 0.7.1
200
- *
201
- * https://graypaper.fluffylabs.dev/#/9a08063/320c02320c02?v=0.6.6
202
- */
203
- allTransfers(): BytesBlob | null;
204
- /**
205
- * Inspect one particular incoming transfers.
206
- *
207
- * Is Authorized: <empty>
208
- * Refine: <empty>
209
- * Accumulate: <empty>
210
- * On Transfer: `E(t[omega_11])`
211
- *
212
- * @deprecated 0.7.1
213
- *
214
- * https://graypaper.fluffylabs.dev/#/9a08063/321302321302?v=0.6.6
215
- */
216
- oneTransfer(transferIndex: U64): BytesBlob | null;
217
165
  }
218
166
  /**
219
167
  * https://graypaper.fluffylabs.dev/#/7e6ff6a/324000324000?v=0.6.7
@@ -243,11 +191,7 @@ export declare enum FetchKind {
243
191
  AllWorkItems = 11,
244
192
  OneWorkItem = 12,
245
193
  WorkItemPayload = 13,
246
- LegacyAllOperands = 14,
247
194
  AllTransfersAndOperands = 14,
248
- LegacyOneOperand = 15,
249
- OneTransferOrOperand = 15,
250
- LegacyAllTransfers = 16,
251
- LegacyOneTransfer = 17
195
+ OneTransferOrOperand = 15
252
196
  }
253
197
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jam-host-calls/general/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAsC,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAM3E,sBAAsB;AACtB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,SAAS,IAAI,SAAS,CAAC;IAEvB;;;;;;;;;OASG;IACH,OAAO,IAAI,SAAS,GAAG,IAAI,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,eAAe,IAAI,SAAS,GAAG,IAAI,CAAC;IAEpC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEtE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEnE;;;;;;;;;OASG;IACH,WAAW,IAAI,SAAS,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,UAAU,IAAI,SAAS,GAAG,IAAI,CAAC;IAE/B;;;;;;;;;OASG;IACH,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAAC;IAEvC;;;;;;;;;OASG;IACH,aAAa,IAAI,SAAS,GAAG,IAAI,CAAC;IAElC;;;;;;;;;;OAUG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI,CAAC;IAEjC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAE7C;;;;;;;;;OASG;IACH,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEjD;;;;;;;;;;;OAWG;IACH,WAAW,IAAI,SAAS,GAAG,IAAI,CAAC;IAEhC;;;;;;;;OAQG;IACH,uBAAuB,IAAI,SAAS,GAAG,IAAI,CAAC;IAE5C;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,YAAY,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEhD;;;;;;;;OAQG;IACH,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI,CAAC;IAEjC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,aAAa,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;CACnD;AAID;;GAEG;AACH,qBAAa,KAAM,YAAW,eAAe;aAMzB,gBAAgB,EAAE,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,KAAK,iIAAyB;IAC9B,YAAY,4HAAqB;IACjC,eAAe,uEAAgD;gBAG7C,gBAAgB,EAAE,SAAS,EAC1B,KAAK,EAAE,mBAAmB;IAGvC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;IA6BpH,OAAO,CAAC,QAAQ;CAgGjB;AAED,oBAAY,SAAS;IACnB,SAAS,IAAI;IACb,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,uBAAuB,IAAI;IAC3B,YAAY,IAAI;IAChB,oBAAoB,IAAI;IACxB,SAAS,IAAI;IACb,WAAW,IAAI;IACf,UAAU,IAAI;IACd,kBAAkB,IAAI;IACtB,aAAa,KAAK;IAClB,YAAY,KAAK;IACjB,WAAW,KAAK;IAChB,eAAe,KAAK;IACpB,iBAAiB,KAAK;IACtB,uBAAuB,KAAK;IAC5B,gBAAgB,KAAK;IACrB,oBAAoB,KAAK;IACzB,kBAAkB,KAAK;IACvB,iBAAiB,KAAK;CACvB"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jam-host-calls/general/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAA8B,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAsC,MAAM,2BAA2B,CAAC;AAC7F,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,0BAA0B,CAAC;AAK3E,sBAAsB;AACtB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,SAAS,IAAI,SAAS,CAAC;IAEvB;;;;;;;;;OASG;IACH,OAAO,IAAI,SAAS,GAAG,IAAI,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,eAAe,IAAI,SAAS,GAAG,IAAI,CAAC;IAEpC;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEtE;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEnE;;;;;;;;;OASG;IACH,WAAW,IAAI,SAAS,GAAG,IAAI,CAAC;IAEhC;;;;;;;;;;OAUG;IACH,UAAU,IAAI,SAAS,GAAG,IAAI,CAAC;IAE/B;;;;;;;;;OASG;IACH,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAAC;IAEvC;;;;;;;;;OASG;IACH,aAAa,IAAI,SAAS,GAAG,IAAI,CAAC;IAElC;;;;;;;;;;OAUG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI,CAAC;IAEjC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAE7C;;;;;;;;;OASG;IACH,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;IAEjD;;;;;;;;OAQG;IACH,uBAAuB,IAAI,SAAS,GAAG,IAAI,CAAC;IAE5C;;;;;;;;OAQG;IACH,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC;CACpD;AAID;;GAEG;AACH,qBAAa,KAAM,YAAW,eAAe;aAMzB,gBAAgB,EAAE,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,KAAK,iIAAyB;IAC9B,YAAY,4HAAqB;IACjC,eAAe,uEAAgD;gBAG7C,gBAAgB,EAAE,SAAS,EAC1B,KAAK,EAAE,mBAAmB;IAGvC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,YAAY,CAAC;IA6BpH,OAAO,CAAC,QAAQ;CA4EjB;AAED,oBAAY,SAAS;IACnB,SAAS,IAAI;IACb,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,uBAAuB,IAAI;IAC3B,YAAY,IAAI;IAChB,oBAAoB,IAAI;IACxB,SAAS,IAAI;IACb,WAAW,IAAI;IACf,UAAU,IAAI;IACd,kBAAkB,IAAI;IACtB,aAAa,KAAK;IAClB,YAAY,KAAK;IACjB,WAAW,KAAK;IAChB,eAAe,KAAK;IACpB,uBAAuB,KAAK;IAC5B,oBAAoB,KAAK;CAC1B"}
@@ -1,7 +1,6 @@
1
1
  import { minU64, tryAsU64 } from "#@typeberry/numbers";
2
2
  import { PvmExecution, traceRegisters, tryAsHostCallIndex } from "#@typeberry/pvm-host-calls";
3
3
  import { tryAsSmallGas } from "#@typeberry/pvm-interface";
4
- import { Compatibility, GpVersion } from "#@typeberry/utils";
5
4
  import { logger } from "../logger.js";
6
5
  import { clampU64ToU32 } from "../utils.js";
7
6
  import { HostCallResult } from "./results.js";
@@ -94,30 +93,12 @@ export class Fetch {
94
93
  const workItem = regs.get(11);
95
94
  return this.fetch.workItemPayload(workItem);
96
95
  }
97
- if (Compatibility.isGreaterOrEqual(GpVersion.V0_7_1)) {
98
- if (kind === FetchKind.AllTransfersAndOperands) {
99
- return this.fetch.allTransfersAndOperands();
100
- }
101
- if (kind === FetchKind.OneTransferOrOperand) {
102
- const index = regs.get(11);
103
- return this.fetch.oneTransferOrOperand(index);
104
- }
105
- }
106
- else {
107
- if (kind === FetchKind.LegacyAllOperands) {
108
- return this.fetch.allOperands();
109
- }
110
- if (kind === FetchKind.LegacyOneOperand) {
111
- const index = regs.get(11);
112
- return this.fetch.oneOperand(index);
113
- }
114
- if (kind === FetchKind.LegacyAllTransfers) {
115
- return this.fetch.allTransfers();
116
- }
117
- if (kind === FetchKind.LegacyOneTransfer) {
118
- const index = regs.get(11);
119
- return this.fetch.oneTransfer(index);
120
- }
96
+ if (kind === FetchKind.AllTransfersAndOperands) {
97
+ return this.fetch.allTransfersAndOperands();
98
+ }
99
+ if (kind === FetchKind.OneTransferOrOperand) {
100
+ const index = regs.get(11);
101
+ return this.fetch.oneTransferOrOperand(index);
121
102
  }
122
103
  return null;
123
104
  }
@@ -138,10 +119,6 @@ export var FetchKind;
138
119
  FetchKind[FetchKind["AllWorkItems"] = 11] = "AllWorkItems";
139
120
  FetchKind[FetchKind["OneWorkItem"] = 12] = "OneWorkItem";
140
121
  FetchKind[FetchKind["WorkItemPayload"] = 13] = "WorkItemPayload";
141
- FetchKind[FetchKind["LegacyAllOperands"] = 14] = "LegacyAllOperands";
142
122
  FetchKind[FetchKind["AllTransfersAndOperands"] = 14] = "AllTransfersAndOperands";
143
- FetchKind[FetchKind["LegacyOneOperand"] = 15] = "LegacyOneOperand";
144
123
  FetchKind[FetchKind["OneTransferOrOperand"] = 15] = "OneTransferOrOperand";
145
- FetchKind[FetchKind["LegacyAllTransfers"] = 16] = "LegacyAllTransfers";
146
- FetchKind[FetchKind["LegacyOneTransfer"] = 17] = "LegacyOneTransfer";
147
124
  })(FetchKind || (FetchKind = {}));
@@ -7,14 +7,12 @@ import { HostCallMemory, HostCallRegisters, PvmExecution } from "#@typeberry/pvm
7
7
  import { tryAsGas } from "#@typeberry/pvm-interface";
8
8
  import { gasCounter, MemoryBuilder, tryAsMemoryIndex, tryAsSbrkIndex } from "#@typeberry/pvm-interpreter";
9
9
  import { PAGE_SIZE } from "#@typeberry/pvm-interpreter/memory/memory-consts.js";
10
- import { Compatibility, GpVersion } from "#@typeberry/utils";
11
10
  import { emptyRegistersBuffer } from "../utils.js";
12
11
  import { Fetch, FetchKind } from "./fetch.js";
13
12
  import { HostCallResult } from "./results.js";
14
13
  describe("Fetch", () => {
15
14
  const IN_OUT_REG = 7;
16
15
  const gas = gasCounter(tryAsGas(0));
17
- const [itPre071, itPost071] = Compatibility.isGreaterOrEqual(GpVersion.V0_7_1) ? [it.skip, it] : [it, it.skip];
18
16
  it("should return PvmExecution.Panic if memory write fails", async () => {
19
17
  const currentServiceId = tryAsServiceId(10_000);
20
18
  const blob = BytesBlob.blobFromNumbers([1, 2, 3]);
@@ -277,61 +275,7 @@ describe("Fetch", () => {
277
275
  assert.deepStrictEqual(readBack(), blob.raw);
278
276
  assert.deepStrictEqual(fetchMock.workItemPayloadData, [[workItem]]);
279
277
  });
280
- itPre071("should fetch all operands and write result to memory", async () => {
281
- const currentServiceId = tryAsServiceId(10_000);
282
- const blob = BytesBlob.blobFromNumbers([101, 102, 103]);
283
- const fetchMock = new FetchMock();
284
- fetchMock.allOperandsResponse = blob;
285
- const { registers, memory, readBack, expectedLength } = prepareRegsAndMemory(blob, FetchKind.LegacyAllOperands);
286
- const fetch = new Fetch(currentServiceId, fetchMock);
287
- const result = await fetch.execute(gas, registers, memory);
288
- assert.strictEqual(result, undefined);
289
- assert.deepStrictEqual(registers.get(IN_OUT_REG), expectedLength);
290
- assert.deepStrictEqual(readBack(), blob.raw);
291
- });
292
- itPre071("should fetch one operand and write result to memory", async () => {
293
- const currentServiceId = tryAsServiceId(10_000);
294
- const blob = BytesBlob.blobFromNumbers([115, 116, 117]);
295
- const fetchMock = new FetchMock();
296
- const index = tryAsU64(9);
297
- fetchMock.oneOperandResponses.set(index.toString(), blob);
298
- const { registers, memory, readBack, expectedLength } = prepareRegsAndMemory(blob, FetchKind.LegacyOneOperand);
299
- registers.set(11, index);
300
- const fetch = new Fetch(currentServiceId, fetchMock);
301
- const result = await fetch.execute(gas, registers, memory);
302
- assert.strictEqual(result, undefined);
303
- assert.deepStrictEqual(registers.get(IN_OUT_REG), expectedLength);
304
- assert.deepStrictEqual(readBack(), blob.raw);
305
- assert.deepStrictEqual(fetchMock.oneOperandData, [[index]]);
306
- });
307
- itPre071("should fetch all transfers and write result to memory", async () => {
308
- const currentServiceId = tryAsServiceId(10_000);
309
- const blob = BytesBlob.blobFromNumbers([130, 131, 132]);
310
- const fetchMock = new FetchMock();
311
- fetchMock.allTransfersResponse = blob;
312
- const { registers, memory, readBack, expectedLength } = prepareRegsAndMemory(blob, FetchKind.LegacyAllTransfers);
313
- const fetch = new Fetch(currentServiceId, fetchMock);
314
- const result = await fetch.execute(gas, registers, memory);
315
- assert.strictEqual(result, undefined);
316
- assert.deepStrictEqual(registers.get(IN_OUT_REG), expectedLength);
317
- assert.deepStrictEqual(readBack(), blob.raw);
318
- });
319
- itPre071("should fetch one transfer and write result to memory", async () => {
320
- const currentServiceId = tryAsServiceId(10_000);
321
- const blob = BytesBlob.blobFromNumbers([140, 141, 142]);
322
- const fetchMock = new FetchMock();
323
- const index = tryAsU64(2);
324
- fetchMock.oneTransferResponses.set(index.toString(), blob);
325
- const { registers, memory, readBack, expectedLength } = prepareRegsAndMemory(blob, FetchKind.LegacyOneTransfer);
326
- registers.set(11, index);
327
- const fetch = new Fetch(currentServiceId, fetchMock);
328
- const result = await fetch.execute(gas, registers, memory);
329
- assert.strictEqual(result, undefined);
330
- assert.deepStrictEqual(registers.get(IN_OUT_REG), expectedLength);
331
- assert.deepStrictEqual(readBack(), blob.raw);
332
- assert.deepStrictEqual(fetchMock.oneTransferData, [[index]]);
333
- });
334
- itPost071("should fetch all transfers and operands and write result to memory", async () => {
278
+ it("should fetch all transfers and operands and write result to memory", async () => {
335
279
  const currentServiceId = tryAsServiceId(10_000);
336
280
  const blob = BytesBlob.blobFromNumbers([101, 102, 103]);
337
281
  const fetchMock = new FetchMock();
@@ -343,7 +287,7 @@ describe("Fetch", () => {
343
287
  assert.deepStrictEqual(registers.get(IN_OUT_REG), expectedLength);
344
288
  assert.deepStrictEqual(readBack(), blob.raw);
345
289
  });
346
- itPost071("should fetch one operand or transfer and write result to memory", async () => {
290
+ it("should fetch one operand or transfer and write result to memory", async () => {
347
291
  const currentServiceId = tryAsServiceId(10_000);
348
292
  const blob = BytesBlob.blobFromNumbers([115, 116, 117]);
349
293
  const fetchMock = new FetchMock();
@@ -1 +1 @@
1
- {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/jamnp-s/peers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IAErB,iDAAiD;IACjD,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE,eAAe,CAAC;IAEhC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAWF;;;;;;;GAOG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAEhC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;IAWnD,qDAAqD;IACrD,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAInD,yDAAyD;IACzD,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1D,sDAAsD;IACtD,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC;IAM7E,sDAAsD;IACtD,YAAY;IAIZ,iDAAiD;IAChD,iBAAiB;IAQlB,oDAAoD;IACpD,OAAO,CAAC,UAAU;IAyBlB,8EAA8E;YAChE,iBAAiB;IA0D/B;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE;CAezC"}
1
+ {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../../../packages/jam/jamnp-s/peers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,KAAK,QAAQ,GAAG;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IAErB,iDAAiD;IACjD,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE,eAAe,CAAC;IAEhC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAWF;;;;;;;GAOG;AACH,qBAAa,WAAW;IAIV,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,oFAAoF;IACpF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;gBAEhC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;IAWnD,qDAAqD;IACrD,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAInD,yDAAyD;IACzD,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1D,sDAAsD;IACtD,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,KAAK,CAAC;IAM7E,sDAAsD;IACtD,YAAY;IAIZ,iDAAiD;IAChD,iBAAiB;IAQlB,oDAAoD;IACpD,OAAO,CAAC,UAAU;IAyBlB,8EAA8E;YAChE,iBAAiB;IAqE/B;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE;CAezC"}
@@ -90,6 +90,8 @@ export class Connections {
90
90
  return;
91
91
  }
92
92
  if (markAsDisconnected) {
93
+ // abort any existing reconnect task
94
+ meta.backgroundTask.abort();
93
95
  // mark the peer as disconnected
94
96
  meta.peerRef = null;
95
97
  meta.backgroundTask = new AbortController();
@@ -120,6 +122,10 @@ export class Connections {
120
122
  if (meta.peerRef !== null) {
121
123
  return;
122
124
  }
125
+ // also check via network.peers to handle race with incoming connections
126
+ if (this.network.peers.isConnected(id)) {
127
+ return;
128
+ }
123
129
  // attempt to connect to the peer
124
130
  try {
125
131
  logger.trace `[${id}] Attempting to connect to peer at ${meta.address.host}:${meta.address.port}.`;
@@ -130,6 +136,10 @@ export class Connections {
130
136
  if (signal.aborted) {
131
137
  return;
132
138
  }
139
+ // check if we got connected via incoming connection while dialing
140
+ if (this.network.peers.isConnected(id)) {
141
+ return;
142
+ }
133
143
  // failing to connect, will retry.
134
144
  logger.trace `[${id}] Failure reason: ${e}`;
135
145
  logger.trace `[${id}] attempt failed. Will retry (${meta.currentRetry}/${meta.maxRetries})`;
@@ -44,7 +44,7 @@ export declare class ServerHandler implements StreamHandler<typeof STREAM_KIND>
44
44
  kind: 128 & import("@typeberry/numbers").WithBytesRepresentation<1>;
45
45
  constructor(chainSpec: ChainSpec, getBlockSequence: (streamId: StreamId, hash: HeaderHash, direction: Direction, maxBlocks: U32) => BlockView[]);
46
46
  onStreamMessage(sender: StreamMessageSender, message: BytesBlob): void;
47
- onClose(): void;
47
+ onClose(_streamId: StreamId): void;
48
48
  }
49
49
  export declare class ClientHandler implements StreamHandler<typeof STREAM_KIND> {
50
50
  private readonly chainSpec;
@@ -1 +1 @@
1
- {"version":3,"file":"ce-128-block-request.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-128-block-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;GAIG;AAEH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,oBAAY,SAAS;IACnB;;;;OAIG;IACH,OAAO,IAAI;IACX;;;;OAIG;IACH,QAAQ,IAAI;CACb;AAED,qBAAa,YAAa,SAAQ,SAAS;aAwBvB,UAAU,EAAE,UAAU;aACtB,SAAS,EAAE,SAAS;aACpB,SAAS,EAAE,GAAG;IAzBhC,MAAM,CAAC,KAAK;;;;QAgBT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;IAI7E,OAAO;CAOR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAInE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJnC,IAAI,gEAAe;gBAGA,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,CACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,GAAG,KACX,SAAS,EAAE;IAGlB,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAYtE,OAAO;CACR;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAMzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,IAAI,gEAAe;IAEnB,OAAO,CAAC,gBAAgB,CAA0D;IAClF,OAAO,CAAC,gBAAgB,CAAwD;gBAEnD,SAAS,EAAE,SAAS;IAEjD,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAUtE,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAOpB,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,SAAS,EAAE,CAAC;CAexB;AAED,0CAA0C;AAC1C,oBAAY,kBAAkB;IAC5B,+CAA+C;IAC/C,YAAY,IAAI;IAChB,iFAAiF;IACjF,WAAW,IAAI;CAChB;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,GAAG,GACT,MAAM,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAmEzC"}
1
+ {"version":3,"file":"ce-128-block-request.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-128-block-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;GAIG;AAEH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,oBAAY,SAAS;IACnB;;;;OAIG;IACH,OAAO,IAAI;IACX;;;;OAIG;IACH,QAAQ,IAAI;CACb;AAED,qBAAa,YAAa,SAAQ,SAAS;aAwBvB,UAAU,EAAE,UAAU;aACtB,SAAS,EAAE,SAAS;aACpB,SAAS,EAAE,GAAG;IAzBhC,MAAM,CAAC,KAAK;;;;QAgBT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;IAI7E,OAAO;CAOR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAInE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAJnC,IAAI,gEAAe;gBAGA,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,CACjC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,GAAG,KACX,SAAS,EAAE;IAGlB,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAYtE,OAAO,CAAC,SAAS,EAAE,QAAQ;CAC5B;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAMzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IALtC,IAAI,gEAAe;IAEnB,OAAO,CAAC,gBAAgB,CAA0D;IAClF,OAAO,CAAC,gBAAgB,CAAwD;gBAEnD,SAAS,EAAE,SAAS;IAEjD,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAWtE,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAOpB,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,SAAS,EAAE,CAAC;CAgBxB;AAED,0CAA0C;AAC1C,oBAAY,kBAAkB;IAC5B,+CAA+C;IAC/C,YAAY,IAAI;IAChB,iFAAiF;IACjF,WAAW,IAAI;CAChB;AAED,sEAAsE;AACtE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,QAAQ,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,GAAG,GACT,MAAM,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAmEzC"}
@@ -71,7 +71,7 @@ export class ServerHandler {
71
71
  sender.bufferAndSend(Encoder.encodeObject(codec.sequenceFixLen(Block.Codec.View, blocks.length), blocks, this.chainSpec));
72
72
  sender.close();
73
73
  }
74
- onClose() { }
74
+ onClose(_streamId) { }
75
75
  }
76
76
  export class ClientHandler {
77
77
  chainSpec;
@@ -82,13 +82,14 @@ export class ClientHandler {
82
82
  this.chainSpec = chainSpec;
83
83
  }
84
84
  onStreamMessage(sender, message) {
85
- if (!this.promiseResolvers.has(sender.streamId)) {
85
+ const { streamId } = sender;
86
+ if (!this.promiseResolvers.has(streamId)) {
86
87
  throw new Error("Received an unexpected message from the server.");
87
88
  }
88
89
  const blocks = Decoder.decodeSequence(Block.Codec.View, message, this.chainSpec);
89
- logger.log `[${sender.streamId}] Server returned ${blocks.length} blocks in ${message.length} bytes of data.`;
90
- this.promiseResolvers.get(sender.streamId)?.(blocks);
91
- this.promiseResolvers.delete(sender.streamId);
90
+ logger.log `[${streamId}] Server returned ${blocks.length} blocks in ${message.length} bytes of data.`;
91
+ this.promiseResolvers.get(streamId)?.(blocks);
92
+ this.promiseResolvers.delete(streamId);
92
93
  }
93
94
  onClose(streamId) {
94
95
  this.promiseRejectors.get(streamId)?.("Stream closed.");
@@ -96,12 +97,13 @@ export class ClientHandler {
96
97
  this.promiseRejectors.delete(streamId);
97
98
  }
98
99
  async requestBlockSequence(sender, headerHash, direction, maxBlocks) {
99
- if (this.promiseResolvers.has(sender.streamId)) {
100
+ const { streamId } = sender;
101
+ if (this.promiseResolvers.has(streamId)) {
100
102
  throw new Error("It is disallowed to use the same stream for multiple requests.");
101
103
  }
102
104
  return new Promise((resolve, reject) => {
103
- this.promiseResolvers.set(sender.streamId, resolve);
104
- this.promiseRejectors.set(sender.streamId, reject);
105
+ this.promiseResolvers.set(streamId, resolve);
106
+ this.promiseRejectors.set(streamId, reject);
105
107
  sender.bufferAndSend(Encoder.encodeObject(BlockRequest.Codec, BlockRequest.create({ headerHash, direction, maxBlocks })));
106
108
  sender.close();
107
109
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ce-129-state-request.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-129-state-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;GAIG;AAEH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAGhD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAO7C,qBAAa,YAAa,SAAQ,SAAS;aAWvB,GAAG,EAAE,GAAG;aACR,KAAK,EAAE,SAAS;IAXlC,MAAM,CAAC,KAAK;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;gBAKrC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS;CAInC;AAED,qBAAa,aAAc,SAAQ,SAAS;aASN,aAAa,EAAE,YAAY,EAAE;IARjE,MAAM,CAAC,KAAK;;;;;QAET;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC;IAI3D,OAAO;CAGR;AAED,qBAAa,YAAa,SAAQ,SAAS;aAavB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,GAAG;aACb,MAAM,EAAE,GAAG;aACX,WAAW,EAAE,GAAG;IAflC,MAAM,CAAC,KAAK;;;;;QAKT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;IAItF,OAAO;CAQR;AAID,qBAAa,OAAQ,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAO7D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IARpC,IAAI,gEAAe;IAEnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4D;gBAGpE,QAAQ,GAAE,OAAe,EACzB,gBAAgB,CAAC,GAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,aAAA,EAC/E,gBAAgB,CAAC,GAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,YAAY,EAAE,aAAA;IAOtG,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IA+BtE,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAK1B,aAAa,CACX,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAClC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;CAc7C"}
1
+ {"version":3,"file":"ce-129-state-request.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-129-state-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAG7E,OAAO,EAAY,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;GAIG;AAEH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAGhD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAO7C,qBAAa,YAAa,SAAQ,SAAS;aAWvB,GAAG,EAAE,GAAG;aACR,KAAK,EAAE,SAAS;IAXlC,MAAM,CAAC,KAAK;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;gBAKrC,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,SAAS;CAInC;AAED,qBAAa,aAAc,SAAQ,SAAS;aASN,aAAa,EAAE,YAAY,EAAE;IARjE,MAAM,CAAC,KAAK;;;;;QAET;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,aAAa,CAAC;IAI3D,OAAO;CAGR;AAED,qBAAa,YAAa,SAAQ,SAAS;aAavB,UAAU,EAAE,UAAU;aACtB,QAAQ,EAAE,GAAG;aACb,MAAM,EAAE,GAAG;aACX,WAAW,EAAE,GAAG;IAflC,MAAM,CAAC,KAAK;;;;;QAKT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC;IAItF,OAAO;CAQR;AAID,qBAAa,OAAQ,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAO7D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IARpC,IAAI,gEAAe;IAEnB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwC;IACtE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4D;gBAGpE,QAAQ,GAAE,OAAe,EACzB,gBAAgB,CAAC,GAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,QAAQ,EAAE,aAAA,EAC/E,gBAAgB,CAAC,GAAE,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,KAAK,YAAY,EAAE,aAAA;IAOtG,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAgCtE,OAAO,CAAC,QAAQ,EAAE,QAAQ;IAK1B,aAAa,CACX,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,EAClC,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI;CAe7C"}
@@ -82,37 +82,39 @@ export class Handler {
82
82
  }
83
83
  }
84
84
  onStreamMessage(sender, message) {
85
+ const { streamId } = sender;
85
86
  if (this.isServer) {
86
- logger.info `[${sender.streamId}][server]: Received request.`;
87
+ logger.info `[${streamId}][server]: Received request.`;
87
88
  if (this.getBoundaryNodes === undefined || this.getKeyValuePairs === undefined) {
88
89
  return;
89
90
  }
90
91
  const request = Decoder.decodeObject(StateRequest.Codec, message);
91
92
  const boundaryNodes = this.getBoundaryNodes(request.headerHash, request.startKey, request.endKey);
92
93
  const keyValuePairs = this.getKeyValuePairs(request.headerHash, request.startKey, request.endKey);
93
- logger.info `[${sender.streamId}][server]: <-- responding with boundary nodes and key value pairs.`;
94
+ logger.info `[${streamId}][server]: <-- responding with boundary nodes and key value pairs.`;
94
95
  sender.bufferAndSend(Encoder.encodeObject(codec.sequenceVarLen(trieNodeCodec), boundaryNodes));
95
96
  sender.bufferAndSend(Encoder.encodeObject(StateResponse.Codec, StateResponse.create({ keyValuePairs })));
96
97
  sender.close();
97
98
  return;
98
99
  }
99
- if (!this.boundaryNodes.has(sender.streamId)) {
100
- this.boundaryNodes.set(sender.streamId, Decoder.decodeObject(codec.sequenceVarLen(trieNodeCodec), message));
101
- logger.info `[${sender.streamId}][client]: Received boundary nodes.`;
100
+ if (!this.boundaryNodes.has(streamId)) {
101
+ this.boundaryNodes.set(streamId, Decoder.decodeObject(codec.sequenceVarLen(trieNodeCodec), message));
102
+ logger.info `[${streamId}][client]: Received boundary nodes.`;
102
103
  return;
103
104
  }
104
- this.onResponse.get(sender.streamId)?.(Decoder.decodeObject(StateResponse.Codec, message));
105
- logger.info `[${sender.streamId}][client]: Received state values.`;
105
+ this.onResponse.get(streamId)?.(Decoder.decodeObject(StateResponse.Codec, message));
106
+ logger.info `[${streamId}][client]: Received state values.`;
106
107
  }
107
108
  onClose(streamId) {
108
109
  this.boundaryNodes.delete(streamId);
109
110
  this.onResponse.delete(streamId);
110
111
  }
111
112
  getStateByKey(sender, headerHash, startKey, onResponse) {
112
- if (this.onResponse.has(sender.streamId)) {
113
+ const { streamId } = sender;
114
+ if (this.onResponse.has(streamId)) {
113
115
  throw new Error("It is disallowed to use the same stream for multiple requests.");
114
116
  }
115
- this.onResponse.set(sender.streamId, onResponse);
117
+ this.onResponse.set(streamId, onResponse);
116
118
  sender.bufferAndSend(Encoder.encodeObject(StateRequest.Codec, StateRequest.create({ headerHash, startKey, endKey: startKey, maximumSize: tryAsU32(4096) })));
117
119
  sender.close();
118
120
  }
@@ -3,7 +3,7 @@ import { SignedTicket } from "#@typeberry/block/tickets.js";
3
3
  import type { BytesBlob } from "#@typeberry/bytes";
4
4
  import { type CodecRecord } from "#@typeberry/codec";
5
5
  import { WithDebug } from "#@typeberry/utils";
6
- import { type StreamHandler, type StreamMessageSender } from "./stream.js";
6
+ import { type StreamHandler, type StreamId, type StreamMessageSender } from "./stream.js";
7
7
  /**
8
8
  * JAM-SNP CE-131 and CE-132 streams.
9
9
  *
@@ -32,13 +32,13 @@ export declare class ServerHandler<T extends STREAM_KIND> implements StreamHandl
32
32
  private readonly onTicketReceived;
33
33
  constructor(kind: T, onTicketReceived: (epochIndex: Epoch, ticket: SignedTicket) => void);
34
34
  onStreamMessage(sender: StreamMessageSender, message: BytesBlob): void;
35
- onClose(): void;
35
+ onClose(_streamId: StreamId): void;
36
36
  }
37
37
  export declare class ClientHandler<T extends STREAM_KIND> implements StreamHandler<T> {
38
38
  readonly kind: T;
39
39
  constructor(kind: T);
40
40
  onStreamMessage(sender: StreamMessageSender): void;
41
- onClose(): void;
41
+ onClose(_streamId: StreamId): void;
42
42
  sendTicket(sender: StreamMessageSender, epochIndex: Epoch, ticket: SignedTicket): void;
43
43
  }
44
44
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ce-131-ce-132-safrole-ticket-distribution.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE5F;;;;;;GAMG;AAEH,eAAO,MAAM,8BAA8B,+DAAuB,CAAC;AACnE,eAAO,MAAM,wBAAwB,+DAAuB,CAAC;AAE7D,KAAK,WAAW,GAAG,OAAO,8BAA8B,GAAG,OAAO,wBAAwB,CAAC;AAE3F,qBAAa,yBAA0B,SAAQ,SAAS;aAWpC,UAAU,EAAE,KAAK;aACjB,MAAM,EAAE,YAAY;IAXtC,MAAM,CAAC,KAAK;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAI5E,OAAO;CAMR;AAID,qBAAa,aAAa,CAAC,CAAC,SAAS,WAAW,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAEzD,IAAI,EAAE,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADjB,IAAI,EAAE,CAAC,EACN,gBAAgB,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI;IAGtF,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAOtE,OAAO;CACR;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,WAAW,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAC/C,IAAI,EAAE,CAAC;gBAAP,IAAI,EAAE,CAAC;IAEnC,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO;IAEP,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY;CAKhF"}
1
+ {"version":3,"file":"ce-131-ce-132-safrole-ticket-distribution.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-131-ce-132-safrole-ticket-distribution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AAEH,eAAO,MAAM,8BAA8B,+DAAuB,CAAC;AACnE,eAAO,MAAM,wBAAwB,+DAAuB,CAAC;AAE7D,KAAK,WAAW,GAAG,OAAO,8BAA8B,GAAG,OAAO,wBAAwB,CAAC;AAE3F,qBAAa,yBAA0B,SAAQ,SAAS;aAWpC,UAAU,EAAE,KAAK;aACjB,MAAM,EAAE,YAAY;IAXtC,MAAM,CAAC,KAAK;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAI5E,OAAO;CAMR;AAID,qBAAa,aAAa,CAAC,CAAC,SAAS,WAAW,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAEzD,IAAI,EAAE,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBADjB,IAAI,EAAE,CAAC,EACN,gBAAgB,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI;IAGtF,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAOtE,OAAO,CAAC,SAAS,EAAE,QAAQ;CAC5B;AAED,qBAAa,aAAa,CAAC,CAAC,SAAS,WAAW,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;aAC/C,IAAI,EAAE,CAAC;gBAAP,IAAI,EAAE,CAAC;IAEnC,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO,CAAC,SAAS,EAAE,QAAQ;IAE3B,UAAU,CAAC,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY;CAKhF"}
@@ -42,7 +42,7 @@ export class ServerHandler {
42
42
  this.onTicketReceived(ticketDistribution.epochIndex, ticketDistribution.ticket);
43
43
  sender.close();
44
44
  }
45
- onClose() { }
45
+ onClose(_streamId) { }
46
46
  }
47
47
  export class ClientHandler {
48
48
  kind;
@@ -53,7 +53,7 @@ export class ClientHandler {
53
53
  logger.warn `[${sender.streamId}][ce-${this.kind}] Unexpected message received. Closing.`;
54
54
  sender.close();
55
55
  }
56
- onClose() { }
56
+ onClose(_streamId) { }
57
57
  sendTicket(sender, epochIndex, ticket) {
58
58
  const request = TicketDistributionRequest.create({ epochIndex, ticket });
59
59
  sender.bufferAndSend(Encoder.encodeObject(TicketDistributionRequest.Codec, request));
@@ -21,7 +21,7 @@ export declare class CoreWorkPackage extends WithDebug {
21
21
  workPackage: import("@typeberry/codec").Descriptor<WorkPackage, import("@typeberry/codec").ViewOf<WorkPackage, {
22
22
  authCodeHost: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
23
23
  authCodeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
24
- context: import("@typeberry/codec").Descriptor<import("@typeberry/block/refine-context.js").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block/refine-context.js").RefineContext, {
24
+ context: import("@typeberry/codec").Descriptor<import("@typeberry/block").RefineContext, import("@typeberry/codec").ViewOf<import("@typeberry/block").RefineContext, {
25
25
  anchor: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"HeaderHash">, import("@typeberry/bytes").Bytes<32>>;
26
26
  stateRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"StateRootHash">, import("@typeberry/bytes").Bytes<32>>;
27
27
  beefyRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"BeefyHash">, import("@typeberry/bytes").Bytes<32>>;
@@ -31,18 +31,18 @@ export declare class CoreWorkPackage extends WithDebug {
31
31
  }>>;
32
32
  authorization: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
33
33
  parametrization: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
34
- items: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block/work-item.js").WorkItem, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block/work-item.js").WorkItem, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-item.js").WorkItem, {
34
+ items: import("@typeberry/codec").Descriptor<import("@typeberry/collections").FixedSizeArray<import("@typeberry/block").WorkItem, import("@typeberry/numbers").U8>, import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkItem, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkItem, {
35
35
  service: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<4> & import("@typeberry/utils").WithOpaque<"ServiceId[u32]">, import("@typeberry/bytes").Bytes<4>>;
36
36
  codeHash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"CodeHash">, import("@typeberry/bytes").Bytes<32>>;
37
37
  refineGasLimit: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
38
38
  accumulateGasLimit: import("@typeberry/codec").Descriptor<bigint & import("@typeberry/numbers").WithBytesRepresentation<8> & import("@typeberry/utils").WithOpaque<"ServiceGas[u64]">, import("@typeberry/bytes").Bytes<8>>;
39
39
  exportCount: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U16, import("@typeberry/bytes").Bytes<2>>;
40
40
  payload: import("@typeberry/codec").Descriptor<BytesBlob, BytesBlob>;
41
- importSegments: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block/work-item.js").ImportSpec[] & import("@typeberry/utils").WithOpaque<"Less than 2048">, import("@typeberry/codec").SequenceView<import("@typeberry/block/work-item.js").ImportSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-item.js").ImportSpec, {
41
+ importSegments: import("@typeberry/codec").Descriptor<readonly import("@typeberry/block").ImportSpec[] & import("@typeberry/utils").WithOpaque<"Less than 2048">, import("@typeberry/codec").SequenceView<import("@typeberry/block").ImportSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").ImportSpec, {
42
42
  treeRoot: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32>, import("@typeberry/bytes").Bytes<32>>;
43
43
  index: import("@typeberry/codec").Descriptor<number & import("@typeberry/numbers").WithBytesRepresentation<2> & import("@typeberry/utils").WithOpaque<"Segment Index [U16]">, import("@typeberry/bytes").Bytes<2>>;
44
44
  }>>>;
45
- extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block/work-item.js").WorkItemExtrinsicSpec[], import("@typeberry/codec").SequenceView<import("@typeberry/block/work-item.js").WorkItemExtrinsicSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block/work-item.js").WorkItemExtrinsicSpec, {
45
+ extrinsic: import("@typeberry/codec").Descriptor<import("@typeberry/block").WorkItemExtrinsicSpec[], import("@typeberry/codec").SequenceView<import("@typeberry/block").WorkItemExtrinsicSpec, import("@typeberry/codec").ViewOf<import("@typeberry/block").WorkItemExtrinsicSpec, {
46
46
  hash: import("@typeberry/codec").Descriptor<import("@typeberry/bytes").Bytes<32> & import("@typeberry/utils").WithOpaque<"ExtrinsicHash">, import("@typeberry/bytes").Bytes<32>>;
47
47
  len: import("@typeberry/codec").Descriptor<import("@typeberry/numbers").U32, import("@typeberry/bytes").Bytes<4>>;
48
48
  }>>>;
@@ -56,14 +56,14 @@ export declare class ServerHandler implements StreamHandler<typeof STREAM_KIND>
56
56
  private readonly onWorkPackage;
57
57
  kind: 133 & import("@typeberry/numbers").WithBytesRepresentation<1>;
58
58
  constructor(onWorkPackage: (i: CoreIndex, w: WorkPackage, e: WorkPackageExtrinsics) => void);
59
- readonly workPackages: Map<import("@typeberry/numbers").U32, CoreWorkPackage>;
59
+ readonly workPackages: Map<string & import("@typeberry/utils").WithOpaque<"streamId">, CoreWorkPackage>;
60
60
  onStreamMessage(sender: StreamMessageSender, message: BytesBlob): void;
61
61
  onClose(streamId: StreamId): void;
62
62
  }
63
63
  export declare class ClientHandler implements StreamHandler<typeof STREAM_KIND> {
64
64
  kind: 133 & import("@typeberry/numbers").WithBytesRepresentation<1>;
65
65
  onStreamMessage(sender: StreamMessageSender): void;
66
- onClose(): void;
66
+ onClose(_streamId: StreamId): void;
67
67
  sendWorkPackage(sender: StreamMessageSender, coreIndex: CoreIndex, workPackage: WorkPackage, extrinsic: WorkPackageExtrinsics): void;
68
68
  }
69
69
  //# sourceMappingURL=ce-133-work-package-submission.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ce-133-work-package-submission.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-133-work-package-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,qBAAqB,EAA2B,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,SAAS;aAW1B,SAAS,EAAE,SAAS;aACpB,WAAW,EAAE,WAAW;IAX1C,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC;IAItE,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,IAAI,gEAAe;gBAEU,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,qBAAqB,KAAK,IAAI;IAE5G,SAAgB,YAAY,yDAAwC;IAEpE,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAiBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IAEnB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO,IAAI,IAAI;IAEf,eAAe,CACb,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,qBAAqB;CAUnC"}
1
+ {"version":3,"file":"ce-133-work-package-submission.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-133-work-package-submission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,qBAAqB,EAA2B,MAAM,+BAA+B,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,eAAgB,SAAQ,SAAS;aAW1B,SAAS,EAAE,SAAS;aACpB,WAAW,EAAE,WAAW;IAX1C,MAAM,CAAC,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,WAAW,CAAC,eAAe,CAAC;IAItE,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAF1C,IAAI,gEAAe;gBAEU,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,qBAAqB,KAAK,IAAI;IAE5G,SAAgB,YAAY,mFAAwC;IAEpE,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAiBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IAEnB,eAAe,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAKlD,OAAO,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI;IAElC,eAAe,CACb,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,qBAAqB;CAUnC"}
@@ -37,7 +37,7 @@ export class ServerHandler {
37
37
  }
38
38
  workPackages = new Map();
39
39
  onStreamMessage(sender, message) {
40
- const streamId = sender.streamId;
40
+ const { streamId } = sender;
41
41
  // initially we expect the `CoreWorkPackage`
42
42
  const workPackage = this.workPackages.get(streamId);
43
43
  if (workPackage === undefined) {
@@ -62,7 +62,7 @@ export class ClientHandler {
62
62
  logger.warn `[${sender.streamId}] Got unexpected message on CE-133 stream. Closing.`;
63
63
  sender.close();
64
64
  }
65
- onClose() { }
65
+ onClose(_streamId) { }
66
66
  sendWorkPackage(sender, coreIndex, workPackage, extrinsic) {
67
67
  const corePack = CoreWorkPackage.create({ coreIndex, workPackage });
68
68
  logger.trace `[${sender.streamId}] Sending work package: ${corePack}`;
@@ -1 +1 @@
1
- {"version":3,"file":"ce-134-work-package-sharing.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AAIH,KAAK,iBAAiB,GAAG,SAAS,CAAC;AAGnC,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,SAAS;aAWpC,SAAS,EAAE,SAAS;aACpB,oBAAoB,EAAE,eAAe,EAAE;IAXzD,MAAM,CAAC,KAAK;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAIzF,OAAO;CAMR;AAED,qBAAa,0BAA2B,SAAQ,SAAS;aAWrC,cAAc,EAAE,cAAc;aAC9B,SAAS,EAAE,gBAAgB;IAX7C,MAAM,CAAC,KAAK;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,0BAA0B,CAAC;IAIpF,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAInE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHhC,IAAI,gEAAe;gBAGA,aAAa,EAAE,CAC9B,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,eAAe,EAAE,EACvC,iBAAiB,EAAE,iBAAiB,KACjC,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAE9E,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAsBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IACnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM5B;IAEJ,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAYtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ3B,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,eAAe,EAAE,EACvC,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAW5E"}
1
+ {"version":3,"file":"ce-134-work-package-sharing.d.ts","sourceRoot":"","sources":["../../../../../../packages/jam/jamnp-s/protocol/ce-134-work-package-sharing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAE3G;;;;;;GAMG;AAIH,KAAK,iBAAiB,GAAG,SAAS,CAAC;AAGnC,eAAO,MAAM,WAAW,+DAAuB,CAAC;AAEhD,qBAAa,yBAA0B,SAAQ,SAAS;aAWpC,SAAS,EAAE,SAAS;aACpB,oBAAoB,EAAE,eAAe,EAAE;IAXzD,MAAM,CAAC,KAAK;;;;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,EAAE,WAAW,CAAC,yBAAyB,CAAC;IAIzF,OAAO;CAMR;AAED,qBAAa,0BAA2B,SAAQ,SAAS;aAWrC,cAAc,EAAE,cAAc;aAC9B,SAAS,EAAE,gBAAgB;IAX7C,MAAM,CAAC,KAAK;;;QAGT;IAEH,MAAM,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,0BAA0B,CAAC;IAIpF,OAAO;CAMR;AAID,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IAInE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHhC,IAAI,gEAAe;gBAGA,aAAa,EAAE,CAC9B,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,eAAe,EAAE,EACvC,iBAAiB,EAAE,iBAAiB,KACjC,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkD;IAE9E,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAsBtE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,OAAO,WAAW,CAAC;IACrE,IAAI,gEAAe;IACnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAM5B;IAEJ,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAatE,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAQ3B,eAAe,CACnB,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,eAAe,EAAE,EACvC,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC;QAAE,cAAc,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAY5E"}
@@ -53,7 +53,7 @@ export class ServerHandler {
53
53
  sender.close();
54
54
  }
55
55
  onStreamMessage(sender, message) {
56
- const streamId = sender.streamId;
56
+ const { streamId } = sender;
57
57
  const request = this.requestsMap.get(streamId);
58
58
  if (request === undefined) {
59
59
  const receivedRequest = Decoder.decodeObject(WorkPackageSharingRequest.Codec, message);
@@ -78,12 +78,13 @@ export class ClientHandler {
78
78
  kind = STREAM_KIND;
79
79
  pendingRequests = new Map();
80
80
  onStreamMessage(sender, message) {
81
- const pendingRequest = this.pendingRequests.get(sender.streamId);
81
+ const { streamId } = sender;
82
+ const pendingRequest = this.pendingRequests.get(streamId);
82
83
  if (pendingRequest === undefined) {
83
84
  throw new Error("Unexpected message received.");
84
85
  }
85
86
  const response = Decoder.decodeObject(WorkPackageSharingResponse.Codec, message);
86
- logger.info `[${sender.streamId}] Received work report hash and signature.`;
87
+ logger.info `[${streamId}] Received work report hash and signature.`;
87
88
  pendingRequest.resolve({ workReportHash: response.workReportHash, signature: response.signature });
88
89
  sender.close();
89
90
  }
@@ -95,13 +96,14 @@ export class ClientHandler {
95
96
  }
96
97
  }
97
98
  async sendWorkPackage(sender, coreIndex, segmentsRootMappings, workPackageBundle) {
99
+ const { streamId } = sender;
98
100
  const request = WorkPackageSharingRequest.create({ coreIndex, segmentsRootMappings });
99
- logger.trace `[${sender.streamId}] Sending core index and segments-root mappings.`;
101
+ logger.trace `[${streamId}] Sending core index and segments-root mappings.`;
100
102
  sender.bufferAndSend(Encoder.encodeObject(WorkPackageSharingRequest.Codec, request));
101
- logger.trace `[${sender.streamId}] Sending work package bundle.`;
103
+ logger.trace `[${streamId}] Sending work package bundle.`;
102
104
  sender.bufferAndSend(Encoder.encodeObject(WorkPackageBundleCodec, workPackageBundle));
103
105
  return new Promise((resolve, reject) => {
104
- this.pendingRequests.set(sender.streamId, { resolve, reject });
106
+ this.pendingRequests.set(streamId, { resolve, reject });
105
107
  });
106
108
  }
107
109
  }