From 61d4dbc122beef9eb4334c5096fb6fc113ce191f Mon Sep 17 00:00:00 2001 From: geaxed <98810017+geaxed@users.noreply.github.com> Date: Mon, 23 Oct 2023 13:01:49 +0200 Subject: [PATCH] fix: getSetStatesForJuror --- src/bots/court.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/bots/court.js b/src/bots/court.js index fb7e5d6..b85a3ad 100644 --- a/src/bots/court.js +++ b/src/bots/court.js @@ -335,34 +335,26 @@ const formatAmount = (amount) => { const getSetStakesForJuror = async (setStakeEvents, policyRegistryInstance, web3) => { const subcourtCache = {}; const jurors = {}; + for (const log of setStakeEvents) { if (!jurors[log.returnValues._address]) jurors[log.returnValues._address] = {}; + let policy = subcourtCache[log.returnValues._subcourtID]; + if (!subcourtCache[log.returnValues._subcourtID]) { let uri = await policyRegistryInstance.methods.policies(log.returnValues._subcourtID).call(); + if (uri.substring(0, 6) === "/ipfs/") { uri = `https://ipfs.kleros.io${uri}`; } - try { - policy = (await axios.get(uri)).data; - subcourtCache[log.returnValues._subcourtID] = policy; - } catch (error) { - console.error(`Failed to fetch policy from URI: ${uri}`, error); - continue; // If invalid subcourt URI, skip notification of StakeSet. - } - } - // Check for empty or undefined policy name - if (!policy.name) { - console.warn(`Empty policy name encountered for subcourtID: ${log.returnValues._subcourtID}`); - continue; + policy = (await axios.get(uri)).data; + subcourtCache[log.returnValues._subcourtID] = policy; } // Take the most recent value for each subcourt jurors[log.returnValues._address][policy.name] = Number(web3.utils.fromWei(log.returnValues._stake)).toFixed(0); } -} - const formatted = {}; for (const j of Object.keys(jurors)) {