From ae621c361c94e9db7bd61bbf65c563ab52c93939 Mon Sep 17 00:00:00 2001 From: kyrers Date: Mon, 10 Nov 2025 17:12:02 +0000 Subject: [PATCH 1/3] fix: parse chain IDs when builindg iframe URL --- src/components/disputeSummary.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/disputeSummary.js b/src/components/disputeSummary.js index 5180889..f00e482 100644 --- a/src/components/disputeSummary.js +++ b/src/components/disputeSummary.js @@ -12,10 +12,10 @@ class DisputeSummary extends React.Component { const { arbitratorDisputeID, arbitratorAddress, arbitratorChainID, chainID, web3Provider } = this.props; return { disputeID: arbitratorDisputeID, - chainID, + parsedChainID: parseInt(chainID, 10), arbitratorContractAddress: arbitratorAddress, arbitratorJsonRpcUrl: getReadOnlyRpcUrl({ chainId: arbitratorChainID }) ?? web3Provider, - arbitratorChainID, + arbitratorChainID: parseInt(arbitratorChainID, 10), }; } @@ -23,7 +23,7 @@ class DisputeSummary extends React.Component { const { arbitrableChainID, arbitrated, web3Provider } = this.props; return { arbitrableContractAddress: arbitrated, - arbitrableChainID, + arbitrableChainID: parseInt(arbitrableChainID, 10), arbitrableJsonRpcUrl: getReadOnlyRpcUrl({ chainId: arbitrableChainID }) ?? web3Provider, }; } @@ -31,10 +31,10 @@ class DisputeSummary extends React.Component { getInjectedArgs() { const { web3Provider, chainID } = this.props; // Convert web3Provider object to URL string if needed - const jsonRpcUrl = typeof web3Provider === 'object' - ? getReadOnlyRpcUrl({ chainId: chainID }) + const jsonRpcUrl = typeof web3Provider === 'object' + ? getReadOnlyRpcUrl({ chainId: chainID }) : web3Provider; - + // Follow Kleros Court approach: only pass essential parameters // Do NOT pass block range parameters - let evidence interfaces handle optimization internally const baseArgs = { @@ -58,7 +58,7 @@ class DisputeSummary extends React.Component { renderAliases(metaevidenceJSON) { if (!metaevidenceJSON.aliases) return null; - + return ( {Object.entries(metaevidenceJSON.aliases).map(([key, value]) => ( From 56eca97293bd194319bc6a067872f9038d3462f0 Mon Sep 17 00:00:00 2001 From: kyrers Date: Mon, 10 Nov 2025 17:12:17 +0000 Subject: [PATCH 2/3] fix: standardize address casing in arbitrableWhitelist --- src/ethereum/arbitrableWhitelist.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ethereum/arbitrableWhitelist.js b/src/ethereum/arbitrableWhitelist.js index f884c7e..940d0e6 100644 --- a/src/ethereum/arbitrableWhitelist.js +++ b/src/ethereum/arbitrableWhitelist.js @@ -27,7 +27,7 @@ const arbitrableWhitelist = { "0xf339047c85d0dd2645f2bd802a1e8a5e7af61053", "0xf65c7560d6ce320cc3a16a07f1f65aab66396b9e", "0xf72cfd1b34a91a64f9a98537fe63fbab7530adca", - "0xbE9834097A4E97689d9B667441acafb456D0480A" + "0xbe9834097a4e97689d9b667441acafb456d0480a" ], 100: [ "0x0b928165a67df8254412483ae8c3b8cc7f2b4d36", @@ -50,10 +50,10 @@ const arbitrableWhitelist = { "0xd5994f15be9987104d9821aa99d1c97227c7c08c", "0xe04f5791d671d5c4e08ab49b39807087b591ea3e", "0xf7de5537ecd69a94695fcf4bcdbdee6329b63322", - "0xa4AC94C4fa65Bb352eFa30e3408e64F72aC857bc" + "0xa4ac94c4fa65bb352efa30e3408e64f72ac857bc" ], 8453: [ - "0xF0b37Feda6CDF5F78B37e1Fbccc24969059F2044" + "0xf0b37feda6cdf5f78b37e1fbccc24969059f2044" ] }; From f7d7d0baa3225e51284f46ee1d2a709d164c0bac Mon Sep 17 00:00:00 2001 From: kyrers Date: Mon, 10 Nov 2025 17:23:07 +0000 Subject: [PATCH 3/3] fix: wrong iframe source URL param name - replace parseInt with Number.parseInt --- src/components/disputeSummary.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/disputeSummary.js b/src/components/disputeSummary.js index f00e482..25d4d8f 100644 --- a/src/components/disputeSummary.js +++ b/src/components/disputeSummary.js @@ -12,10 +12,10 @@ class DisputeSummary extends React.Component { const { arbitratorDisputeID, arbitratorAddress, arbitratorChainID, chainID, web3Provider } = this.props; return { disputeID: arbitratorDisputeID, - parsedChainID: parseInt(chainID, 10), + chainID: Number.parseInt(chainID, 10), arbitratorContractAddress: arbitratorAddress, arbitratorJsonRpcUrl: getReadOnlyRpcUrl({ chainId: arbitratorChainID }) ?? web3Provider, - arbitratorChainID: parseInt(arbitratorChainID, 10), + arbitratorChainID: Number.parseInt(arbitratorChainID, 10), }; } @@ -23,7 +23,7 @@ class DisputeSummary extends React.Component { const { arbitrableChainID, arbitrated, web3Provider } = this.props; return { arbitrableContractAddress: arbitrated, - arbitrableChainID: parseInt(arbitrableChainID, 10), + arbitrableChainID: Number.parseInt(arbitrableChainID, 10), arbitrableJsonRpcUrl: getReadOnlyRpcUrl({ chainId: arbitrableChainID }) ?? web3Provider, }; }