UNPKG

2.07 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const util_1 = __importDefault(require("util"));
7class Web3HTTPProviderAdapter {
8 constructor(provider) {
9 this._provider = provider;
10 // We bind everything here because some test suits break otherwise
11 this.send = this.send.bind(this);
12 this.isConnected = this.isConnected.bind(this);
13 this._sendJsonRpcRequest = this._sendJsonRpcRequest.bind(this);
14 }
15 send(payload, callback) {
16 if (!Array.isArray(payload)) {
17 util_1.default.callbackify(() => this._sendJsonRpcRequest(payload))(callback);
18 return;
19 }
20 util_1.default.callbackify(async () => {
21 const responses = [];
22 for (const request of payload) {
23 const response = await this._sendJsonRpcRequest(request);
24 responses.push(response);
25 if (response.error !== undefined) {
26 break;
27 }
28 }
29 return responses;
30 })(callback);
31 }
32 isConnected() {
33 return true;
34 }
35 async _sendJsonRpcRequest(request) {
36 const response = {
37 id: request.id,
38 jsonrpc: "2.0",
39 };
40 try {
41 const result = await this._provider.send(request.method, request.params);
42 response.result = result;
43 }
44 catch (error) {
45 if (error.code === undefined) {
46 throw error;
47 }
48 response.error = {
49 code: error.code ? +error.code : 404,
50 message: error.message,
51 data: {
52 stack: error.stack,
53 name: error.name,
54 },
55 };
56 }
57 return response;
58 }
59}
60exports.Web3HTTPProviderAdapter = Web3HTTPProviderAdapter;
61//# sourceMappingURL=web3-provider-adapter.js.map
\No newline at end of file