diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee5e1e93..34f108ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,6 +92,6 @@ jobs: - name: build seismic-viem run: bun viem:build - name: Test devnet - run: bun viem:test:devnet + run: bun viem:test:reth - name: Remove reth files run: rm -rf "$RETH_DATA_DIR" && rm -rf "$RETH_STATIC_FILES" diff --git a/package.json b/package.json index 06a075f4..189b37c0 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "viem:build": "bun run --cwd packages/seismic-viem build", "viem:publish": "npm publish -w packages/seismic-viem", "viem:test:anvil": "bun run --cwd tests/seismic-viem test:anvil", - "viem:test:devnet": "bun run --cwd tests/seismic-viem test:devnet", + "viem:test:reth": "bun run --cwd tests/seismic-viem test:reth", "react:typecheck": "bun run viem:build && bun run --cwd packages/seismic-react typecheck", "react:build": "bun run --cwd packages/seismic-react build", "react:publish": "npm publish -w packages/seismic-react", diff --git a/packages/seismic-viem-tests/package.json b/packages/seismic-viem-tests/package.json index fa9041d8..34d62b38 100644 --- a/packages/seismic-viem-tests/package.json +++ b/packages/seismic-viem-tests/package.json @@ -1,6 +1,6 @@ { "name": "seismic-viem-tests", - "version": "0.1.3", + "version": "0.1.4", "type": "module", "module": "./dist/_esm/index.js", "types": "./dist/_types/index.d.ts", diff --git a/packages/seismic-viem-tests/src/process/node.ts b/packages/seismic-viem-tests/src/process/node.ts index 71258065..8b493ff9 100644 --- a/packages/seismic-viem-tests/src/process/node.ts +++ b/packages/seismic-viem-tests/src/process/node.ts @@ -25,24 +25,27 @@ export type SpawnedNode = { enum ChainName { Anvil = 'anvil', - Devnet = 'devnet', + Reth = 'reth', } +const CHAIN_VALUES = Object.values(ChainName).sort() +const CHAIN_OPTIONS = `{${CHAIN_VALUES.join('|')}}` + const nameToChain = (name: ChainName): Chain => { switch (name) { case ChainName.Anvil: return sanvil as Chain - case ChainName.Devnet: + case ChainName.Reth: return localSeismicDevnet as Chain default: - throw new Error(`Unable to map ${name} to Chain`) + throw new Error(`CHAIN should be one of ${CHAIN_OPTIONS}`) } } export const envChain = (): Chain => { const chainName = process.env.CHAIN as ChainName - if (!Object.values(ChainName).includes(chainName)) { - throw new Error(`CHAIN env variable must be either "anvil" or "reth"`) + if (!CHAIN_VALUES.includes(chainName)) { + throw new Error(`CHAIN should be one of ${CHAIN_OPTIONS}`) } return nameToChain(chainName) } @@ -61,23 +64,29 @@ export const setupNode = async ( case localSeismicDevnet.id: return setupRethNode({ port, ...rest }) default: - throw new Error(`Unable to map Chain ${chain.id} to Backend`) + throw new Error(`CHAIN should be one of ${CHAIN_OPTIONS}`) } } export const buildNode = async (chain: Chain) => { switch (chain.id) { - case sanvil.id: + case sanvil.id: { const sfoundryDir = process.env.SFOUNDRY_ROOT - if (sfoundryDir) { - return buildAnvil(sfoundryDir) + if (!sfoundryDir) { + throw new Error( + 'SFOUNDRY_ROOT env variable must be set to build sanvil' + ) } - case localSeismicDevnet.id: + return buildAnvil(sfoundryDir) + } + case localSeismicDevnet.id: { const srethDir = process.env.SRETH_ROOT - if (srethDir) { - return buildReth(srethDir) + if (!srethDir) { + throw new Error('SRETH_ROOT env variable must be set to build reth') } + return buildReth(srethDir) + } default: - throw new Error(`Unable to map Chain ${chain.id} to Backend`) + throw new Error(`CHAIN should be one of ${CHAIN_OPTIONS}`) } } diff --git a/tests/seismic-viem/package.json b/tests/seismic-viem/package.json index 6f3d0ffc..1d0d0bcb 100644 --- a/tests/seismic-viem/package.json +++ b/tests/seismic-viem/package.json @@ -6,7 +6,7 @@ "clean": "rimraf dist", "typecheck": "tsc --noEmit", "test:anvil": "CHAIN=anvil bun test", - "test:devnet": "CHAIN=devnet bun test" + "test:reth": "CHAIN=reth bun test" }, "devDependencies": { "dotenv": "^16.4.7",