UNPKG

@machinomy/hdwallet-provider

Version:

HD Wallet-enabled Web3 provider

42 lines 1.49 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Engine = void 0; const web3_provider_engine_1 = __importDefault(require("web3-provider-engine")); const util_1 = require("./util"); class Engine extends web3_provider_engine_1.default { async _getBlockByNumberRepeat(blockNumber) { const attempts = 5; const interval = 1000; const req = util_1.createPayload({ method: "eth_getBlockByNumber", params: [blockNumber, false], skipCache: true }); for (let attempt = 0; attempt < attempts; attempt++) { const response = await this._handlePromise(req); if (response.error || response.result) { return response; } else { await util_1.timeout(interval); } } } _handlePromise(req) { return new Promise((resolve, reject) => { this._handleAsync(req, (err, res) => { err ? reject(err) : resolve(res); }); }); } _getBlockByNumber(blockNumber, callback) { this._getBlockByNumberRepeat(blockNumber) .then(result => { callback(null, result); }) .catch(error => { callback(error); }); } } exports.Engine = Engine; //# sourceMappingURL=engine.js.map