diff --git a/.changeset/fix-validate-network.md b/.changeset/fix-validate-network.md new file mode 100644 index 0000000..8030da2 --- /dev/null +++ b/.changeset/fix-validate-network.md @@ -0,0 +1,5 @@ +--- +"@satoshai/abi-cli": patch +--- + +Validate network parameter before fetch loop for fail-fast behavior diff --git a/src/commands/fetch.ts b/src/commands/fetch.ts index cd7c64c..d03a7a0 100644 --- a/src/commands/fetch.ts +++ b/src/commands/fetch.ts @@ -1,6 +1,7 @@ import { defineCommand } from 'citty'; import { parseContractId, fetchContractAbi } from '../fetcher.js'; import { generateTypescript, generateJson, defaultFilename } from '../codegen.js'; +import { resolveNetwork } from '../network.js'; import { writeFile } from 'node:fs/promises'; import { resolve } from 'node:path'; @@ -44,6 +45,9 @@ export const fetchCommand = defineCommand({ throw new Error(`Invalid format "${format}". Use "ts" or "json".`); } + // Validate network early to fail fast before fetching any contracts + resolveNetwork(args.network); + const contractIds = args.contract.split(',').map((s) => s.trim()); for (const contractId of contractIds) {