|
14 | 14 | * limitations under the License. |
15 | 15 | */ |
16 | 16 |
|
17 | | -import { Buffer } from "buffer"; |
18 | | - |
19 | 17 | import { |
20 | 18 | deserializeAvmResult, |
21 | 19 | InterpreterResult, |
@@ -165,7 +163,7 @@ export abstract class FluencePeer { |
165 | 163 | * @param serviceId - the service id by which the service can be accessed in aqua |
166 | 164 | */ |
167 | 165 | async registerMarineService( |
168 | | - wasm: SharedArrayBuffer | Buffer, |
| 166 | + wasm: ArrayBuffer | SharedArrayBuffer, |
169 | 167 | serviceId: string, |
170 | 168 | ): Promise<void> { |
171 | 169 | if (this.jsServiceHost.hasService(serviceId)) { |
@@ -342,10 +340,7 @@ export abstract class FluencePeer { |
342 | 340 | private async sendParticleToRelay( |
343 | 341 | item: ParticleQueueItem & { result: InterpreterResult }, |
344 | 342 | ) { |
345 | | - const newParticle = cloneWithNewData( |
346 | | - item.particle, |
347 | | - Buffer.from(item.result.data), |
348 | | - ); |
| 343 | + const newParticle = cloneWithNewData(item.particle, item.result.data); |
349 | 344 |
|
350 | 345 | log_particle.debug( |
351 | 346 | "id %s. sending particle into network. Next peer ids: %s", |
@@ -407,7 +402,10 @@ export abstract class FluencePeer { |
407 | 402 | retCode: res.retCode, |
408 | 403 | }; |
409 | 404 |
|
410 | | - const newParticle = cloneWithNewData(item.particle, Buffer.from([])); |
| 405 | + const newParticle = cloneWithNewData( |
| 406 | + item.particle, |
| 407 | + Uint8Array.from([]), |
| 408 | + ); |
411 | 409 |
|
412 | 410 | this._incomingParticles.next({ |
413 | 411 | ...item, |
@@ -467,7 +465,7 @@ export abstract class FluencePeer { |
467 | 465 | private mapParticleGroup( |
468 | 466 | group$: GroupedObservable<string, ParticleQueueItem>, |
469 | 467 | ) { |
470 | | - let prevData: Uint8Array = Buffer.from([]); |
| 468 | + let prevData = Uint8Array.from([]); |
471 | 469 |
|
472 | 470 | return group$.pipe( |
473 | 471 | concatMap(async (item) => { |
@@ -515,13 +513,14 @@ export abstract class FluencePeer { |
515 | 513 | const res = await this.marineHost.callService("avm", "invoke", args); |
516 | 514 |
|
517 | 515 | avmCallResult = deserializeAvmResult(res); |
| 516 | + // TODO: This is bug in @fluencelabs/avm package. 'avmCallResult.data' actually number array, not Uint8Array as stated in type. |
| 517 | + avmCallResult.data = Uint8Array.from(avmCallResult.data); |
518 | 518 | } catch (e) { |
519 | 519 | avmCallResult = e instanceof Error ? e : new Error(String(e)); |
520 | 520 | } |
521 | 521 |
|
522 | 522 | if (!(avmCallResult instanceof Error) && avmCallResult.retCode === 0) { |
523 | | - const newData = Buffer.from(avmCallResult.data); |
524 | | - prevData = newData; |
| 523 | + prevData = avmCallResult.data; |
525 | 524 | } |
526 | 525 |
|
527 | 526 | return { |
|
0 commit comments