diff --git a/.changelog/package-version-source.md b/.changelog/package-version-source.md new file mode 100644 index 0000000..17cc950 --- /dev/null +++ b/.changelog/package-version-source.md @@ -0,0 +1,5 @@ +--- +wallet-cli: patch +--- + +Read CLI version output from package metadata instead of a hardcoded source fallback. diff --git a/src/shared/constants.ts b/src/shared/constants.ts index 689f0d3..62f1649 100644 --- a/src/shared/constants.ts +++ b/src/shared/constants.ts @@ -1,4 +1,10 @@ -export const version = process.env.TEMPO_WALLET_VERSION ?? "0.6.2"; +import { readFileSync } from "node:fs"; + +type PackageJson = { + version?: string; +}; + +export const version = process.env.TEMPO_WALLET_VERSION ?? packageVersion(); export const usdcToken = "0x20c000000000000000000000b9537d11c60e8b50" as const; export const mainnetEscrow = "0x33b901018174ddabe4841042ab76ba85d4e24f25" as const; export const moderatoEscrow = "0xe1c4d3dce17bc111181ddf716f75bae49e61a336" as const; @@ -7,6 +13,16 @@ export const logQueryBlockRange = 50_000n; export const logScanDepth = 100_000n; export const logHeadMargin = 10n; +function packageVersion() { + const packageJson = JSON.parse( + readFileSync(new URL("../../package.json", import.meta.url), "utf8"), + ) as PackageJson; + + if (!packageJson.version) throw new Error("package.json is missing version"); + + return packageJson.version; +} + export const escrowAbi = [ { type: "function",