diff --git a/src/server.ts b/src/server.ts index 5e869511..26c43793 100644 --- a/src/server.ts +++ b/src/server.ts @@ -104,6 +104,13 @@ wss.on('connection', (ws: Server.Ws) => { return; } + if (!process.env.NETWORK) { + const message = prepareErrorMessage(-1, `Missing NETWORK env variable see: ${REPOSITORY_URL}`); + + ws.send(message); + return; + } + ws.on('error', error => { const message = prepareErrorMessage(-1, error); ws.send(message); diff --git a/src/utils/address.ts b/src/utils/address.ts index 6f391575..673f3d8d 100644 --- a/src/utils/address.ts +++ b/src/utils/address.ts @@ -16,7 +16,7 @@ export const deriveAddress = ( addressIndex: number, type: number, ): { address: string; path: string } => { - const networkId = getNetworkId(blockfrostAPI.apiUrl); + const networkId = getNetworkId(); const accountKey = Bip32PublicKey.from_bytes(Buffer.from(publicKey, 'hex')); const utxoPubKey = accountKey.derive(type).derive(addressIndex); const stakeKey = accountKey.derive(2).derive(0); @@ -34,7 +34,7 @@ export const deriveAddress = ( export const deriveStakeAddress = (publicKey: string): string => { const accountKey = Bip32PublicKey.from_bytes(Buffer.from(publicKey, 'hex')); - const networkId = getNetworkId(blockfrostAPI.apiUrl); + const networkId = getNetworkId(); const stakeKey = accountKey.derive(2).derive(0); const rewardAddr = RewardAddress.new( networkId, diff --git a/src/utils/common.ts b/src/utils/common.ts index ff5c984b..92fb96b8 100644 --- a/src/utils/common.ts +++ b/src/utils/common.ts @@ -1,4 +1,5 @@ import { format } from 'date-fns'; +import { blockfrostAPI } from '../utils/blockfrostAPI'; import got from 'got'; import { NetworkInfo } from '@emurgo/cardano-serialization-lib-nodejs'; @@ -38,10 +39,10 @@ export const getRatesForDate = async (date: number): Promise { - const networkId = apiUrl.includes('mainnet') - ? NetworkInfo.mainnet().network_id() - : NetworkInfo.testnet().network_id(); +export const getNetworkId = (): number => { + const networkId = blockfrostAPI.options.isTestnet + ? NetworkInfo.testnet().network_id() + : NetworkInfo.mainnet().network_id(); return networkId; };