Registers chains, connections, assets in the provided chainHub.

If either is not provided, registration will be skipped.

TODO #10580 remove 'brandKey' in favor of LegibleCapData

  • Parameters

    • chainHub: Guarded<{
          getAsset(denom: string, srcChainName: string): undefined | DenomDetail;
          getChainInfo<K>(chainName: K): Vow<ActualChainInfo<K>>;
          getChainsAndConnection<C1, C2>(primaryName: C1, counterName: C2): Vow<[ActualChainInfo<C1>, ActualChainInfo<C2>, IBCConnectionInfo]>;
          getConnectionInfo(primary: string | {
              chainId: string;
          }, counter: string | {
              chainId: string;
          }): Vow<IBCConnectionInfo>;
          getDenom(brand: Brand): undefined | string;
          makeChainAddress(partialId: string): CosmosChainAddress;
          makeTransferRoute(destination: AccountIdArg, denomAmount: DenomAmount, srcChainName: string, forwardOpts?: {
              intermediateRecipient?: CosmosChainAddress;
              retries?: number;
              timeout?:
                  | `${number}s`
                  | `${number}m`
                  | `${number}h`
                  | `${number}ms`
                  | `${number}us`
                  | `${number}ns`;
          }): TransferRoute;
          registerAsset(denom: string, detail: DenomDetail): void;
          registerChain(name: string, chainInfo: Readonly<{
              bech32Prefix?: string;
              chainId: string;
              connections?: Record<string, IBCConnectionInfo>;
              icaEnabled?: boolean;
              icqEnabled?: boolean;
              pfmEnabled?: boolean;
              stakingTokens?: readonly {
                  denom: string;
              }[];
          }>): void;
          registerConnection(primaryChainId: string, counterpartyChainId: string, connectionInfo: IBCConnectionInfo): void;
          resolveAccountId(partialId: string): `${string}:${string}:${string}`;
          updateAsset(denom: string, detail: DenomDetail): void;
          updateChain(chainName: string, chainInfo: Readonly<{
              bech32Prefix?: string;
              chainId: string;
              connections?: Record<string, IBCConnectionInfo>;
              icaEnabled?: boolean;
              icqEnabled?: boolean;
              pfmEnabled?: boolean;
              stakingTokens?: readonly {
                  denom: string;
              }[];
          }>): void;
          updateConnection(primaryChainId: string, counterpartyChainId: string, connectionInfo: IBCConnectionInfo): void;
      }>
    • brands: Record<string, Brand<"nat">>
    • chainInfo: undefined | Record<string, Readonly<{
          bech32Prefix?: string;
          chainId: string;
          connections?: Record<string, IBCConnectionInfo>;
          icaEnabled?: boolean;
          icqEnabled?: boolean;
          pfmEnabled?: boolean;
          stakingTokens?: readonly {
              denom: string;
          }[];
      }>>
    • assetInfo: undefined | [string, DenomDetail & {
          brandKey?: string;
      }][]

    Returns void