@chalabi/client
TypeScript icon, indicating that this package has built-in type declarations

1.18.1 • Public • Published

@chain-registry/client

A Client for chain-registry that allows you to dynamically fetch data.

Usage

import { ChainRegistryFetcher, ChainRegistryFetcherOptions } from '@chain-registry/client';

const options: ChainRegistryFetcherOptions = {
  urls: [
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/chain.json',
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/osmosis/assetlist.json',
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/juno/assetlist.json',
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/secretnetwork/assetlist.json',
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/_IBC/juno-osmosis.json',
    'https://raw.githubusercontent.com/cosmos/chain-registry/master/_IBC/osmosis-secretnetwork.json'
  ]
};
const registry = new ChainRegistryFetcher(options);
await registry.fetchUrls();

Fetching Schemata

We currently only support fetching JSON schemas as defined in https://github.com/cosmos/chain-registry. Supported are assetlist.schema.json, chain.schema.json and ibc_data.schema.json.

fetchUrls

You can set the ChainRegistry.urls property and call ChainRegistry.fetchUrls()

registry.urls = [
  // urls to fetch
];
await registry.fetchUrls();

fetch

Or, you can simply call ChainRegistry.fetch()

await registry.fetch('https://some-json-schema.com/some-schema.json');

Asset lists

You can get generated asset lists directly from the registry:

// generated asset lists
const generated: AssetList[] = registry.getGeneratedAssetLists('osmosis');

You can get generated AssetList[] objects directly from the ChainRegistry via the assetLists method:

// you can also get generated assets from ChainInfo object
const chainInfo: Chain = registry.getChainInfo('osmosis');
const generatedAssets: AssetList[] = chainInfo.assetLists;

Chain info

You can get Chain object directly from the ChainRegistry via the getChain method:

// get Chain from registry
const chain: Chain = registry.getChain('osmosis');

or get the ChainInfo object:

const chainInfo: ChainInfo = registry.getChainInfo('osmosis');

// AssetList[] of the generated assets
const assets: AssetList[] = chainInfo.assetLists;

// Chain 
const chain: Chain = chainInfo.chain;

// Native asset list
const nativeAssetList: AssetList = chainInfo.nativeAssetList;

Related

Checkout these related projects:

Credits

🛠 Built by Cosmology — if you like our tools, please consider delegating to our validator ⚛️

Readme

Keywords

none

Package Sidebar

Install

npm i @chalabi/client

Weekly Downloads

1

Version

1.18.1

License

SEE LICENSE IN LICENSE

Unpacked Size

32.7 kB

Total Files

13

Last publish

Collaborators

  • chalabi