fix: tests/setup/stack.ts: contract addresses have no env var override path (#391)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
b1c2e4aff8
commit
0fe098ddc3
1 changed files with 26 additions and 2 deletions
|
|
@ -24,18 +24,42 @@ export interface StackConfig {
|
|||
}
|
||||
|
||||
/**
|
||||
* Load contract addresses from deployments file
|
||||
* Load contract addresses, preferring env var overrides over the deployments file.
|
||||
* Env vars: STACK_KRAIKEN_ADDRESS, STACK_STAKE_ADDRESS, STACK_LM_ADDRESS.
|
||||
* Falls back to onchain/deployments-local.json when env vars are absent.
|
||||
*/
|
||||
function loadContractAddresses(): ContractAddresses {
|
||||
const envKraiken = process.env.STACK_KRAIKEN_ADDRESS;
|
||||
const envStake = process.env.STACK_STAKE_ADDRESS;
|
||||
const envLm = process.env.STACK_LM_ADDRESS;
|
||||
|
||||
if (envKraiken && envStake && envLm) {
|
||||
return {
|
||||
Kraiken: envKraiken,
|
||||
Stake: envStake,
|
||||
LiquidityManager: envLm,
|
||||
};
|
||||
}
|
||||
|
||||
let fileContracts: ContractAddresses;
|
||||
try {
|
||||
const deploymentsPath = join(process.cwd(), 'onchain', 'deployments-local.json');
|
||||
const deploymentsJson = readFileSync(deploymentsPath, 'utf-8');
|
||||
const deployments = JSON.parse(deploymentsJson);
|
||||
return deployments.contracts;
|
||||
fileContracts = deployments.contracts;
|
||||
} catch (error) {
|
||||
console.error('Failed to load contract addresses from deployments-local.json:', error);
|
||||
throw new Error('Cannot run tests without deployed contract addresses');
|
||||
}
|
||||
|
||||
return {
|
||||
Kraiken: envKraiken ?? fileContracts.Kraiken,
|
||||
Stake: envStake ?? fileContracts.Stake,
|
||||
LiquidityManager: envLm ?? fileContracts.LiquidityManager,
|
||||
...(fileContracts.OptimizerProxy !== undefined
|
||||
? { OptimizerProxy: fileContracts.OptimizerProxy }
|
||||
: {}),
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue