New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@metamask/eth-block-tracker

Package Overview
Dependencies
Maintainers
9
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/eth-block-tracker - npm Package Compare versions

Comparing version 11.0.2 to 11.0.3

1

dist/PollingBlockTracker.d.ts

@@ -14,2 +14,3 @@ import type { SafeEventEmitterProvider } from '@metamask/eth-json-rpc-provider';

export declare class PollingBlockTracker extends SafeEventEmitter implements BlockTracker {
#private;
private _isRunning;

@@ -16,0 +17,0 @@ private readonly _blockResetDuration;

"use strict";
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _PollingBlockTracker_instances, _PollingBlockTracker_internalEventListeners, _PollingBlockTracker_pendingLatestBlock, _PollingBlockTracker_addInternalListener, _PollingBlockTracker_removeInternalListener, _PollingBlockTracker_rejectPendingLatestBlock;
Object.defineProperty(exports, "__esModule", { value: true });

@@ -14,3 +26,2 @@ exports.PollingBlockTracker = void 0;

const sec = 1000;
const calculateSum = (accumulator, currentValue) => accumulator + currentValue;
const blockTrackerEvents = ['sync', 'latest'];

@@ -24,2 +35,5 @@ class PollingBlockTracker extends safe_event_emitter_1.default {

super();
_PollingBlockTracker_instances.add(this);
_PollingBlockTracker_internalEventListeners.set(this, []);
_PollingBlockTracker_pendingLatestBlock.set(this, void 0);
// config

@@ -49,2 +63,3 @@ this._blockResetDuration = opts.blockResetDuration || 20 * sec;

super.removeAllListeners();
__classPrivateFieldGet(this, _PollingBlockTracker_instances, "m", _PollingBlockTracker_rejectPendingLatestBlock).call(this, new Error('Block tracker destroyed'));
}

@@ -62,6 +77,18 @@ isRunning() {

}
else if (__classPrivateFieldGet(this, _PollingBlockTracker_pendingLatestBlock, "f")) {
return await __classPrivateFieldGet(this, _PollingBlockTracker_pendingLatestBlock, "f").promise;
}
const { promise, resolve, reject } = (0, utils_1.createDeferredPromise)({
suppressUnhandledRejection: true,
});
__classPrivateFieldSet(this, _PollingBlockTracker_pendingLatestBlock, { reject, promise }, "f");
// wait for a new latest block
const latestBlock = await new Promise((resolve) => this.once('latest', resolve));
// return newly set current block
return latestBlock;
const onLatestBlock = (value) => {
__classPrivateFieldGet(this, _PollingBlockTracker_instances, "m", _PollingBlockTracker_removeInternalListener).call(this, onLatestBlock);
resolve(value);
__classPrivateFieldSet(this, _PollingBlockTracker_pendingLatestBlock, undefined, "f");
};
__classPrivateFieldGet(this, _PollingBlockTracker_instances, "m", _PollingBlockTracker_addInternalListener).call(this, onLatestBlock);
this.once('latest', onLatestBlock);
return await promise;
}

@@ -125,5 +152,7 @@ // dont allow module consumer to remove our internal event listeners

_getBlockTrackerEventCount() {
return blockTrackerEvents
.map((eventName) => this.listenerCount(eventName))
.reduce(calculateSum);
return (blockTrackerEvents
.map((eventName) => this.listeners(eventName))
.flat()
// internal listeners are not included in the count
.filter((listener) => __classPrivateFieldGet(this, _PollingBlockTracker_internalEventListeners, "f").every((internalListener) => !Object.is(internalListener, listener))).length);
}

@@ -252,2 +281,11 @@ _shouldUseNewBlock(newBlock) {

exports.PollingBlockTracker = PollingBlockTracker;
_PollingBlockTracker_internalEventListeners = new WeakMap(), _PollingBlockTracker_pendingLatestBlock = new WeakMap(), _PollingBlockTracker_instances = new WeakSet(), _PollingBlockTracker_addInternalListener = function _PollingBlockTracker_addInternalListener(listener) {
__classPrivateFieldGet(this, _PollingBlockTracker_internalEventListeners, "f").push(listener);
}, _PollingBlockTracker_removeInternalListener = function _PollingBlockTracker_removeInternalListener(listener) {
__classPrivateFieldGet(this, _PollingBlockTracker_internalEventListeners, "f").splice(__classPrivateFieldGet(this, _PollingBlockTracker_internalEventListeners, "f").indexOf(listener), 1);
}, _PollingBlockTracker_rejectPendingLatestBlock = function _PollingBlockTracker_rejectPendingLatestBlock(error) {
var _a;
(_a = __classPrivateFieldGet(this, _PollingBlockTracker_pendingLatestBlock, "f")) === null || _a === void 0 ? void 0 : _a.reject(error);
__classPrivateFieldSet(this, _PollingBlockTracker_pendingLatestBlock, undefined, "f");
};
/**

@@ -254,0 +292,0 @@ * Converts a number represented as a string in hexadecimal format into a native

@@ -10,2 +10,3 @@ import type { SafeEventEmitterProvider } from '@metamask/eth-json-rpc-provider';

export declare class SubscribeBlockTracker extends SafeEventEmitter implements BlockTracker {
#private;
private _isRunning;

@@ -12,0 +13,0 @@ private readonly _blockResetDuration;

"use strict";
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _SubscribeBlockTracker_instances, _SubscribeBlockTracker_internalEventListeners, _SubscribeBlockTracker_pendingLatestBlock, _SubscribeBlockTracker_addInternalListener, _SubscribeBlockTracker_removeInternalListener, _SubscribeBlockTracker_rejectPendingLatestBlock;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SubscribeBlockTracker = void 0;
const safe_event_emitter_1 = __importDefault(require("@metamask/safe-event-emitter"));
const utils_1 = require("@metamask/utils");
const json_rpc_random_id_1 = __importDefault(require("json-rpc-random-id"));
const createRandomId = (0, json_rpc_random_id_1.default)();
const sec = 1000;
const calculateSum = (accumulator, currentValue) => accumulator + currentValue;
const blockTrackerEvents = ['sync', 'latest'];

@@ -20,2 +32,5 @@ class SubscribeBlockTracker extends safe_event_emitter_1.default {

super();
_SubscribeBlockTracker_instances.add(this);
_SubscribeBlockTracker_internalEventListeners.set(this, []);
_SubscribeBlockTracker_pendingLatestBlock.set(this, void 0);
// config

@@ -41,2 +56,3 @@ this._blockResetDuration = opts.blockResetDuration || 20 * sec;

super.removeAllListeners();
__classPrivateFieldGet(this, _SubscribeBlockTracker_instances, "m", _SubscribeBlockTracker_rejectPendingLatestBlock).call(this, new Error('Block tracker destroyed'));
}

@@ -54,6 +70,18 @@ isRunning() {

}
else if (__classPrivateFieldGet(this, _SubscribeBlockTracker_pendingLatestBlock, "f")) {
return await __classPrivateFieldGet(this, _SubscribeBlockTracker_pendingLatestBlock, "f").promise;
}
const { resolve, reject, promise } = (0, utils_1.createDeferredPromise)({
suppressUnhandledRejection: true,
});
__classPrivateFieldSet(this, _SubscribeBlockTracker_pendingLatestBlock, { reject, promise }, "f");
// wait for a new latest block
const latestBlock = await new Promise((resolve) => this.once('latest', resolve));
// return newly set current block
return latestBlock;
const onLatestBlock = (value) => {
__classPrivateFieldGet(this, _SubscribeBlockTracker_instances, "m", _SubscribeBlockTracker_removeInternalListener).call(this, onLatestBlock);
resolve(value);
__classPrivateFieldSet(this, _SubscribeBlockTracker_pendingLatestBlock, undefined, "f");
};
__classPrivateFieldGet(this, _SubscribeBlockTracker_instances, "m", _SubscribeBlockTracker_addInternalListener).call(this, onLatestBlock);
this.once('latest', onLatestBlock);
return await promise;
}

@@ -117,5 +145,7 @@ // dont allow module consumer to remove our internal event listeners

_getBlockTrackerEventCount() {
return blockTrackerEvents
.map((eventName) => this.listenerCount(eventName))
.reduce(calculateSum);
return (blockTrackerEvents
.map((eventName) => this.listeners(eventName))
.flat()
// internal listeners are not included in the count
.filter((listener) => __classPrivateFieldGet(this, _SubscribeBlockTracker_internalEventListeners, "f").every((internalListener) => !Object.is(internalListener, listener))).length);
}

@@ -175,2 +205,3 @@ _shouldUseNewBlock(newBlock) {

this.emit('error', e);
__classPrivateFieldGet(this, _SubscribeBlockTracker_instances, "m", _SubscribeBlockTracker_rejectPendingLatestBlock).call(this, e);
}

@@ -187,2 +218,3 @@ }

this.emit('error', e);
__classPrivateFieldGet(this, _SubscribeBlockTracker_instances, "m", _SubscribeBlockTracker_rejectPendingLatestBlock).call(this, e);
}

@@ -208,2 +240,11 @@ }

exports.SubscribeBlockTracker = SubscribeBlockTracker;
_SubscribeBlockTracker_internalEventListeners = new WeakMap(), _SubscribeBlockTracker_pendingLatestBlock = new WeakMap(), _SubscribeBlockTracker_instances = new WeakSet(), _SubscribeBlockTracker_addInternalListener = function _SubscribeBlockTracker_addInternalListener(listener) {
__classPrivateFieldGet(this, _SubscribeBlockTracker_internalEventListeners, "f").push(listener);
}, _SubscribeBlockTracker_removeInternalListener = function _SubscribeBlockTracker_removeInternalListener(listener) {
__classPrivateFieldGet(this, _SubscribeBlockTracker_internalEventListeners, "f").splice(__classPrivateFieldGet(this, _SubscribeBlockTracker_internalEventListeners, "f").indexOf(listener), 1);
}, _SubscribeBlockTracker_rejectPendingLatestBlock = function _SubscribeBlockTracker_rejectPendingLatestBlock(error) {
var _a;
(_a = __classPrivateFieldGet(this, _SubscribeBlockTracker_pendingLatestBlock, "f")) === null || _a === void 0 ? void 0 : _a.reject(error);
__classPrivateFieldSet(this, _SubscribeBlockTracker_pendingLatestBlock, undefined, "f");
};
/**

@@ -210,0 +251,0 @@ * Converts a number represented as a string in hexadecimal format into a native

3

package.json
{
"name": "@metamask/eth-block-tracker",
"version": "11.0.2",
"version": "11.0.3",
"description": "A block tracker for the Ethereum blockchain. Keeps track of the latest block.",

@@ -65,2 +65,3 @@ "repository": {

},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e",
"engines": {

@@ -67,0 +68,0 @@ "node": "^18.16 || ^20 || >=22"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc