UNPKG

ssv-scanner

Version:

Tool for retrieving events data (cluster snapshots and owner nonce) from the SSV network contract.

35 lines (29 loc) 1.14 kB
export const ContractVersion = { MAINNET: 'prod:v4.mainnet', HOODI: 'prod:v4.hoodi', HOODI_STAGE: 'stage:v4.hoodi', LOCAL_TESTNET: 'local:v4.testnet', } as const; const getContractSettings = (networkAndEnv: string) => { const [contractEnv, contractNetwork] = ContractVersion[networkAndEnv.toUpperCase() as keyof typeof ContractVersion].split(':'); let jsonCoreData; try { // eslint-disable-next-line @typescript-eslint/no-var-requires jsonCoreData = require(`../shared/abi/${contractEnv}.${contractNetwork}.abi.json`); } catch (err) { console.error(`Failed to load JSON data from ${contractEnv}.${contractNetwork}.abi.json`, err); throw err; } // Check if required properties exist in jsonData if ( !jsonCoreData.contractAddress || !jsonCoreData.abi || (!jsonCoreData.genesisBlock && jsonCoreData.genesisBlock !== 0) ) { throw new Error( `Missing core data in JSON for ${contractEnv}.${contractNetwork}`, ); } return { contractAddress: jsonCoreData.contractAddress, abi: jsonCoreData.abi, genesisBlock: jsonCoreData.genesisBlock }; } export { getContractSettings }