From 92a08145ed020314a2e93eb74de6294d8ce4fb71 Mon Sep 17 00:00:00 2001 From: Oleksii Kosynskyi Date: Wed, 16 Aug 2023 13:31:48 -0400 Subject: [PATCH] fix provider --- libs/remix-simulator/src/provider.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/libs/remix-simulator/src/provider.ts b/libs/remix-simulator/src/provider.ts index 913272fd38..0d0a7efd38 100644 --- a/libs/remix-simulator/src/provider.ts +++ b/libs/remix-simulator/src/provider.ts @@ -70,7 +70,7 @@ export class Provider { } } - sendAsync (payload: JSONRPCRequestPayload, callback: (err: Error, result?: JSONRPCResponsePayload) => void) { + _send(payload: JSONRPCRequestPayload, callback: (err: Error, result?: JSONRPCResponsePayload) => void) { // log.info('payload method is ', payload.method) // commented because, this floods the IDE console if (!this.initialized) { this.pendingRequests.push({ payload, callback }) @@ -96,8 +96,24 @@ export class Provider { callback(new Error('unknown method ' + payload.method)) } + sendAsync (payload: JSONRPCRequestPayload, callback: (err: Error, result?: JSONRPCResponsePayload) => void) { + return new Promise((resolve,reject)=>{ + const cb = (err, result) => { + if(typeof callback==='function'){ + callback(err,result) + } + if(err){ + console.log('err',err) + return reject(err) + } + return resolve(result) + } + this._send(payload, cb) + }) + } + send (payload, callback) { - this.sendAsync(payload, callback || function () {}) + return this.sendAsync(payload,callback) } isConnected () {