From f2479ad8663e18a9a618eb7f5ddf907e5c4df80e Mon Sep 17 00:00:00 2001 From: Sander Declerck Date: Tue, 5 May 2026 13:10:42 +0200 Subject: [PATCH] Listen to blocks with reason new_package --- .../ramaProxy/createRamaProxy.js | 24 ++++++++++++------- .../ramaProxy/reportingServer.js | 1 + 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/safe-chain/src/registryProxy/ramaProxy/createRamaProxy.js b/packages/safe-chain/src/registryProxy/ramaProxy/createRamaProxy.js index f266cfe..e749061 100644 --- a/packages/safe-chain/src/registryProxy/ramaProxy/createRamaProxy.js +++ b/packages/safe-chain/src/registryProxy/ramaProxy/createRamaProxy.js @@ -48,18 +48,26 @@ export function createRamaProxy(ramaPath) { return Object.assign(emitter, { startServer: async () => { await reportingServer.start(); - reportingServer.addListener("blockReceived", (ev) => - emitter.emit("malwareBlocked", { - packageName: ev.artifact.identifier, - packageVersion: ev.artifact.version, - }), - ); + reportingServer.addListener("blockReceived", (ev) => { + if (ev.block_reason === "new_package") { + emitter.emit("minimumAgeRequestBlocked", { + packageName: ev.artifact.identifier, + packageVersion: ev.artifact.version, + }); + } + else { + emitter.emit("malwareBlocked", { + packageName: ev.artifact.identifier, + packageVersion: ev.artifact.version, + }); + } + }); reportingServer.addListener("minPackageAgeSuppressionReceived", (ev) => emitter.emit("minPackageAgeVersionsSuppressed", { packageName: ev.artifact.identifier, packageVersions: ev.suppressed_versions, - }) - ) + }), + ); ui.writeVerbose( `Started reporting server at ${reportingServer.getAddress()}`, ); diff --git a/packages/safe-chain/src/registryProxy/ramaProxy/reportingServer.js b/packages/safe-chain/src/registryProxy/ramaProxy/reportingServer.js index 42443e4..2414963 100644 --- a/packages/safe-chain/src/registryProxy/ramaProxy/reportingServer.js +++ b/packages/safe-chain/src/registryProxy/ramaProxy/reportingServer.js @@ -7,6 +7,7 @@ const SERVER_STOP_TIMEOUT_MS = 1000; * @typedef {Object} BlockEvent * @property {number} ts_ms * @property {{ product: string, identifier: string, version: string }} artifact + * @property {string} block_reason */ /**