File tree Expand file tree Collapse file tree 11 files changed +41
-16
lines changed Expand file tree Collapse file tree 11 files changed +41
-16
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ export REACT_APP_DEPLOYMENT=devnet
33export REACT_APP_CORE_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-coreneo-devnet/version/latest
44export REACT_APP_DRT_ARBSEPOLIA_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-drt-arbisep-devnet/version/latest
55export REACT_APP_STATUS_URL=https://kleros-v2-devnet.betteruptime.com/badge
6- export REACT_APP_GENESIS_BLOCK_ARBSEPOLIA=3084598
76export REACT_APP_DEVTOOLS_URL=https://dev--kleros-v2-neo-devtools.netlify.app
87export REACT_APP_ARBITRATOR_TYPE=neo
98export REACT_APP_ATLAS_URI=http://localhost:3000
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ export REACT_APP_DEPLOYMENT=devnet
33export REACT_APP_CORE_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-coreuni-devnet/version/latest
44export REACT_APP_DRT_ARBSEPOLIA_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-drt-arbisep-devnet/version/latest
55export REACT_APP_STATUS_URL=https://kleros-v2-devnet.betteruptime.com/badge
6- export REACT_APP_GENESIS_BLOCK_ARBSEPOLIA=3084598
76export REACT_APP_ARBITRATOR_TYPE=university
87export REACT_APP_ATLAS_URI=http://localhost:3000
98export WALLETCONNECT_PROJECT_ID=
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ export REACT_APP_DEPLOYMENT=devnet
33export REACT_APP_CORE_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-core-devnet/version/latest
44export REACT_APP_DRT_ARBSEPOLIA_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-drt-arbisep-devnet/version/latest
55export REACT_APP_STATUS_URL=https://kleros-v2-devnet.betteruptime.com/badge
6- export REACT_APP_GENESIS_BLOCK_ARBSEPOLIA=3084598
76export REACT_APP_ATLAS_URI=http://localhost:3000
87export REACT_APP_DEVTOOLS_URL=https://dev--kleros-v2-testnet-devtools.netlify.app
98export NODE_OPTIONS='--max-old-space-size=7680'
Original file line number Diff line number Diff line change @@ -3,7 +3,6 @@ export REACT_APP_DEPLOYMENT=mainnet
33export REACT_APP_CORE_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-coreneo/version/latest
44export REACT_APP_DRT_ARBMAINNET_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-drt/version/latest
55export REACT_APP_STATUS_URL=https://kleros-v2-devnet.betteruptime.com/badge
6- export REACT_APP_GENESIS_BLOCK_ARBMAINNET=190274403
76export REACT_APP_DEVTOOLS_URL=https://devtools.v2.kleros.builders
87export REACT_APP_ARBITRATOR_TYPE=neo
98export REACT_APP_ATLAS_URI=http://localhost:3000
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ export REACT_APP_CORE_SUBGRAPH=https://api.studio.thegraph.com/query/61738/klero
44export REACT_APP_DRT_ARBSEPOLIA_SUBGRAPH=https://api.studio.thegraph.com/query/61738/kleros-v2-drt-arbisep-devnet/version/latest
55export REACT_APP_STATUS_URL=https://kleros-v2.betteruptime.com/badge
66export REACT_APP_ATLAS_URI=http://localhost:3000
7- export REACT_APP_GENESIS_BLOCK_ARBSEPOLIA=3842783
87export REACT_APP_DEVTOOLS_URL=https://devtools.v2-testnet.kleros.builders
98export WALLETCONNECT_PROJECT_ID=
109export ALCHEMY_API_KEY=
Original file line number Diff line number Diff line change 7575 "dependencies" : {
7676 "@cyntler/react-doc-viewer" : " ^1.16.3" ,
7777 "@kleros/kleros-sdk" : " workspace:^" ,
78+ "@kleros/kleros-v2-contracts" : " workspace:^" ,
7879 "@kleros/ui-components-library" : " ^2.15.0" ,
7980 "@lifi/wallet-management" : " ^3.0.3" ,
8081 "@lifi/widget" : " ^3.2.0" ,
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ export const ETH_ADDRESS_REGEX = /^0x[a-fA-F0-9]{40}$/;
2828export const ETH_SIGNATURE_REGEX = / ^ 0 x [ a - f A - F 0 - 9 ] { 130 } $ / ;
2929
3030export const isProductionDeployment = ( ) => import . meta. env . REACT_APP_DEPLOYMENT === "mainnet" ;
31+ export const isTestnetDeployment = ( ) => import . meta. env . REACT_APP_DEPLOYMENT === "testnet" ;
3132
3233export const isKlerosUniversity = ( ) => getArbitratorType ( ) === ArbitratorTypes . university ;
3334export const isKlerosNeo = ( ) => getArbitratorType ( ) === ArbitratorTypes . neo ;
@@ -36,10 +37,6 @@ export const getArbitratorType = (): ArbitratorTypes =>
3637
3738export const getDevToolsUrl = ( ) => import . meta. env . REACT_APP_DEVTOOLS_URL || "https://devtools.v2.kleros.builders" ;
3839
39- export const GENESIS_BLOCK_ARBSEPOLIA = BigInt ( import . meta. env . REACT_APP_GENESIS_BLOCK_ARBSEPOLIA ?? 0 ) ;
40- export const GENESIS_BLOCK_ARBMAINNET = BigInt ( import . meta. env . REACT_APP_GENESIS_BLOCK_ARBMAINNET ?? 0 ) ;
41- export const genesisBlock = ( ) => ( isProductionDeployment ( ) ? GENESIS_BLOCK_ARBMAINNET : GENESIS_BLOCK_ARBSEPOLIA ) ;
42-
4340export const INVALID_DISPUTE_DATA_ERROR = `The dispute data is not valid, please vote "Refuse to arbitrate"` ;
4441export const RPC_ERROR = `RPC Error: Unable to fetch dispute data. Please avoid voting.` ;
4542
Original file line number Diff line number Diff line change @@ -26,10 +26,6 @@ export const isKlerosNeo = () => getArbitratorType() === ArbitratorTypes.neo;
2626export const getArbitratorType = ( ) : ArbitratorTypes =>
2727 _getArbitratorType ( process . env . REACT_APP_ARBITRATOR_TYPE ?. toLowerCase ( ) ) ;
2828
29- export const GENESIS_BLOCK_ARBSEPOLIA = BigInt ( process . env . REACT_APP_GENESIS_BLOCK_ARBSEPOLIA ?? 0 ) ;
30- export const GENESIS_BLOCK_ARBMAINNET = BigInt ( process . env . REACT_APP_GENESIS_BLOCK_ARBMAINNET ?? 0 ) ;
31- export const genesisBlock = ( ) => ( isProductionDeployment ( ) ? GENESIS_BLOCK_ARBMAINNET : GENESIS_BLOCK_ARBSEPOLIA ) ;
32-
3329export const INVALID_DISPUTE_DATA_ERROR = `The dispute data is not valid, please vote "Refuse to arbitrate"` ;
3430export const RPC_ERROR = `RPC Error: Unable to fetch dispute data. Please avoid voting.` ;
3531
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { isUndefined } from "utils/index";
55
66import { graphql } from "src/graphql" ;
77import { HomePageBlockQuery } from "src/graphql/graphql" ;
8+ import useGenesisBlock from "../useGenesisBlock" ;
89export type { HomePageBlockQuery } ;
910
1011const homePageBlockQuery = graphql ( `
@@ -58,18 +59,20 @@ export type HomePageBlockStats = {
5859} ;
5960
6061export const useHomePageBlockQuery = ( blockNumber : number | undefined , allTime : boolean ) => {
61- const isEnabled = ! isUndefined ( blockNumber ) || allTime ;
62+ const genesisBlock = useGenesisBlock ( ) ;
63+ const isEnabled = ! isUndefined ( blockNumber ) || allTime || ! isUndefined ( genesisBlock ) ;
6264 const { graphqlBatcher } = useGraphqlBatcher ( ) ;
6365
6466 return useQuery < HomePageBlockStats > ( {
6567 queryKey : [ `homePageBlockQuery${ blockNumber } -${ allTime } ` ] ,
6668 enabled : isEnabled ,
6769 staleTime : Infinity ,
6870 queryFn : async ( ) => {
71+ const targetBlock = Math . max ( blockNumber ! , genesisBlock ! ) ;
6972 const data = await graphqlBatcher . fetch ( {
7073 id : crypto . randomUUID ( ) ,
7174 document : homePageBlockQuery ,
72- variables : { blockNumber } ,
75+ variables : { blockNumber : targetBlock } ,
7376 } ) ;
7477
7578 return processData ( data , allTime ) ;
Original file line number Diff line number Diff line change 1+ import { useEffect , useState } from "react" ;
2+ import { isKlerosNeo , isKlerosUniversity , isTestnetDeployment } from "~src/consts" ;
3+
4+ /**
5+ * @returns genesis block for kleros core contract
6+ */
7+ const useGenesisBlock = ( ) => {
8+ const [ genesisBlock , setGenesisBlock ] = useState < number > ( ) ;
9+ useEffect ( ( ) => {
10+ if ( isKlerosUniversity ( ) ) {
11+ import ( "@kleros/kleros-v2-contracts/deployments/arbitrumSepoliaDevnet/KlerosCoreUniversity.json" ) . then ( ( json ) =>
12+ setGenesisBlock ( json . receipt . blockNumber )
13+ ) ;
14+ } else if ( isKlerosNeo ( ) ) {
15+ import ( "@kleros/kleros-v2-contracts/deployments/arbitrum/KlerosCoreNeo.json" ) . then ( ( json ) =>
16+ setGenesisBlock ( json . receipt . blockNumber )
17+ ) ;
18+ } else if ( isTestnetDeployment ( ) ) {
19+ import ( "@kleros/kleros-v2-contracts/deployments/arbitrumSepolia/KlerosCore.json" ) . then ( ( json ) =>
20+ setGenesisBlock ( json . receipt . blockNumber )
21+ ) ;
22+ } else {
23+ import ( "@kleros/kleros-v2-contracts/deployments/arbitrumSepoliaDevnet/KlerosCore.json" ) . then ( ( json ) =>
24+ setGenesisBlock ( json . receipt . blockNumber )
25+ ) ;
26+ }
27+ } , [ ] ) ;
28+
29+ return genesisBlock ;
30+ } ;
31+
32+ export default useGenesisBlock ;
You can’t perform that action at this time.
0 commit comments