From 66d1bbe4cb41d2f3ee12132959944f095a785c76 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Wed, 13 May 2020 17:56:26 +0200 Subject: [PATCH] Don't re-calculate extinsic hash (status updates) (#2277) --- packages/api/src/submittable/createClass.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/api/src/submittable/createClass.ts b/packages/api/src/submittable/createClass.ts index 0505917c8a..8d344848d0 100644 --- a/packages/api/src/submittable/createClass.ts +++ b/packages/api/src/submittable/createClass.ts @@ -185,7 +185,7 @@ export default function createClass ({ api, apiType, ); } - #observeStatus = (status: ExtrinsicStatus): Observable => { + #observeStatus = (hash: Hash, status: ExtrinsicStatus): Observable => { if (!status.isFinalized && !status.isInBlock) { return of(new SubmittableResult({ status })); } @@ -197,7 +197,7 @@ export default function createClass ({ api, apiType, return api.derive.tx.events(blockHash).pipe( map(({ block, events }): ISubmittableResult => new SubmittableResult({ - events: filterEvents(this.hash, block, events, status), + events: filterEvents(hash, block, events, status), status }) ) @@ -213,9 +213,11 @@ export default function createClass ({ api, apiType, } #observeSubscribe = (updateId = -1): Observable => { + const hash = this.hash; + return api.rpc.author.submitAndWatchExtrinsic(this).pipe( switchMap((status): Observable => - this.#observeStatus(status) + this.#observeStatus(hash, status) ), tap((status): void => { this.#updateSigner(updateId, status);