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
30 lines
791 B
TypeScript
30 lines
791 B
TypeScript
import type { ApiName, ApiResource } from './types';
|
|
import type { ChainConfig } from 'types/multichain';
|
|
|
|
import config from 'configs/app';
|
|
|
|
import type { ResourceName } from './resources';
|
|
import { RESOURCES } from './resources';
|
|
|
|
export default function getResourceParams(resourceFullName: ResourceName, chain?: ChainConfig) {
|
|
const [ apiName, resourceName ] = resourceFullName.split(':') as [ ApiName, string ];
|
|
|
|
const apiConfig = (() => {
|
|
if (chain) {
|
|
return chain.config.apis[apiName];
|
|
}
|
|
|
|
return config.apis[apiName];
|
|
})();
|
|
|
|
if (!apiConfig) {
|
|
throw new Error(`API config for ${ apiName } not found`);
|
|
}
|
|
|
|
return {
|
|
api: apiConfig,
|
|
apiName,
|
|
resource: RESOURCES[apiName][resourceName as keyof typeof RESOURCES[ApiName]] as ApiResource,
|
|
};
|
|
}
|