diff --git a/apps/entropy-tester/config.sample.json b/apps/entropy-tester/config.sample.json index 7ceb05dd28..f9cd1dc434 100644 --- a/apps/entropy-tester/config.sample.json +++ b/apps/entropy-tester/config.sample.json @@ -9,6 +9,7 @@ }, { "chain-id": "blast", - "interval": "10m" + "interval": "10m", + "rpc-endpoint": "https://rpc.blast.io" } ] diff --git a/apps/entropy-tester/package.json b/apps/entropy-tester/package.json index 33d46ce646..29116077a7 100644 --- a/apps/entropy-tester/package.json +++ b/apps/entropy-tester/package.json @@ -1,6 +1,6 @@ { "name": "@pythnetwork/entropy-tester", - "version": "1.0.2", + "version": "1.1.0", "description": "Utility to test entropy provider callbacks", "private": true, "type": "module", diff --git a/apps/entropy-tester/src/index.ts b/apps/entropy-tester/src/index.ts index 815812c8f1..ecadcf90d8 100644 --- a/apps/entropy-tester/src/index.ts +++ b/apps/entropy-tester/src/index.ts @@ -2,6 +2,7 @@ import fs from "node:fs/promises"; import type { PrivateKey } from "@pythnetwork/contract-manager/core/base"; import { toPrivateKey } from "@pythnetwork/contract-manager/core/base"; +import { EvmChain } from "@pythnetwork/contract-manager/core/chains"; import { EvmEntropyContract } from "@pythnetwork/contract-manager/core/contracts/evm"; import { DefaultStore } from "@pythnetwork/contract-manager/node/store"; import type { Logger } from "pino"; @@ -44,6 +45,7 @@ async function loadConfig(configPath: string): Promise { z.strictObject({ "chain-id": z.string(), interval: z.string(), + "rpc-endpoint": z.string().optional(), }), ); const configContent = (await import(configPath, { @@ -66,6 +68,16 @@ async function loadConfig(configPath: string): Promise { `Multiple contracts found for chain ${config["chain-id"]}, check contract manager store.`, ); } + if (config["rpc-endpoint"]) { + const evmChain = firstContract.chain; + firstContract.chain = new EvmChain( + evmChain.getId(), + evmChain.isMainnet(), + evmChain.getNativeToken(), + config["rpc-endpoint"], + evmChain.networkId, + ); + } return { contract: firstContract, interval }; }); return loadedConfigs; diff --git a/contract_manager/src/core/chains.ts b/contract_manager/src/core/chains.ts index 78df53a4c1..8b2f91b6ea 100644 --- a/contract_manager/src/core/chains.ts +++ b/contract_manager/src/core/chains.ts @@ -429,8 +429,8 @@ export class EvmChain extends Chain { id: string, mainnet: boolean, nativeToken: TokenId | undefined, - private rpcUrl: string, - private networkId: number, + public rpcUrl: string, + public networkId: number, ) { // On EVM networks we use the chain id as the wormhole chain name super(id, mainnet, id, nativeToken);