Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 38x 38x 38x 38x 38x 3x 1x 38x 16x 3x 13x 11x 2x 38x 8x | /* eslint-disable promise/no-nesting */ /* eslint-disable @typescript-eslint/no-explicit-any */ import { DnsResolver } from '../utils'; import { Logger } from 'ts-log'; import { MissingCardanoNodeOption } from '../errors'; import { OgmiosCardanoNode, OgmiosObservableCardanoNode, urlToConnectionConfig } from '@cardano-sdk/ogmios'; import { OgmiosOptionDescriptions, OgmiosProgramOptions } from '../options/ogmios'; import { defer, from, of } from 'rxjs'; /** * Creates an ObservableOgmiosCardanoNode instance : * - use passed srv service name in order to resolve the port * - all other operations are bind to pool object without modifications * * @returns ObservableOgmiosCardanoNode instance */ export const ogmiosObservableCardanoNodeWithDiscovery = ( dnsResolver: DnsResolver, logger: Logger, serviceName: string ): OgmiosObservableCardanoNode => new OgmiosObservableCardanoNode( { connectionConfig$: defer(() => from(dnsResolver(serviceName).then(({ name, port }) => ({ host: name, port })))) }, { logger } ); export const getOgmiosObservableCardanoNode = ( dnsResolver: DnsResolver, logger: Logger, options?: OgmiosProgramOptions ): OgmiosObservableCardanoNode => { if (options?.ogmiosSrvServiceName) return ogmiosObservableCardanoNodeWithDiscovery(dnsResolver, logger, options.ogmiosSrvServiceName); if (options?.ogmiosUrl) return new OgmiosObservableCardanoNode( { connectionConfig$: of(urlToConnectionConfig(options.ogmiosUrl)) }, { logger } ); throw new MissingCardanoNodeOption([OgmiosOptionDescriptions.Url, OgmiosOptionDescriptions.SrvServiceName]); }; export const getOgmiosCardanoNode = async ( dnsResolver: DnsResolver, logger: Logger, options?: OgmiosProgramOptions ): Promise<OgmiosCardanoNode> => new OgmiosCardanoNode(getOgmiosObservableCardanoNode(dnsResolver, logger, options), logger); |