mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
* context for storing subchain config and tx view for subchain * address page and block page for subchain * address aggregated page: local txs tab * connect MultichainSelect to context * home page placeholder * refactor subchain select state * envs for demo * fix ts * clear value for l2 review * subchain widgets on home page * csp policies * sockets, duck and goose * fix socket on subchain address page * link builder for subchain views * update home widget * fix time increment * enable tx interpretator and metadata service * generate multichain config based on every chain app config * Fix the multichain config to work in Docker * multichain socket test * rename subchain-id to subchain-slug path param * refactoring * update chain icons on entities * home page: latest local txs * latest cross-chain txs * minor improvements * renaming, pt. 1 * rename chain routes * enable blockchain interaction * add loading state to icon shield * fix build * fix tests * update types package
44 lines
1003 B
TypeScript
44 lines
1003 B
TypeScript
import type { MultichainConfig } from 'types/multichain';
|
|
|
|
let value: MultichainConfig | undefined = undefined;
|
|
|
|
function readFileConfig() {
|
|
// eslint-disable-next-line no-restricted-properties
|
|
if (process.env.NEXT_RUNTIME !== 'nodejs') {
|
|
throw new Error('NEXT_RUNTIME is not nodejs');
|
|
}
|
|
|
|
try {
|
|
const path = require('path');
|
|
const { readFileSync } = require('fs');
|
|
const publicFolder = path.resolve('public');
|
|
const configPath = path.resolve(publicFolder, 'assets/multichain/config.json');
|
|
|
|
const config = readFileSync(configPath, 'utf8');
|
|
|
|
value = JSON.parse(config) as MultichainConfig;
|
|
return value;
|
|
} catch (error) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
export async function load() {
|
|
if (!value) {
|
|
return new Promise<MultichainConfig | undefined>((resolve) => {
|
|
const value = readFileConfig();
|
|
resolve(value);
|
|
});
|
|
}
|
|
|
|
return Promise.resolve(value);
|
|
}
|
|
|
|
export function getValue() {
|
|
if (!value) {
|
|
return readFileConfig();
|
|
}
|
|
|
|
return value;
|
|
}
|