@cfxlabsinc/b2b-services
    Preparing search index...

    Class NttManagerAdminService

    The stage's NTT managers, EVM and Solana, with both sides of each peering and what CFX can do to each. Writes start nttManagerMutationWorkflow; nothing here signs.

    Index
    • Parameters

      • __namedParameters: {
            id: `evm:${number}` | "solana";
            permissions?: readonly string[];
            targetsOnly?: boolean;
        }

      Returns Promise<NttManager | null>

    • The incident action: no confirmation beyond the capability.

      Parameters

      • args: { managerId: `evm:${number}` | "solana"; permissions: readonly string[] }

      Returns Promise<
          | { ok: true; value: { workflowId: string } }
          | { error: StartError; ok: false },
      >

    • Solana first, then the chain file's order. Every manager is read, since peerings span them; one that cannot be read is READ_FAILED.

      Parameters

      • __namedParameters: {
            ids?: (`evm:${number}` | "solana")[];
            page?: number;
            pageSize?: number;
            permissions?: readonly string[];
            targetsOnly?: boolean;
        } = {}
        • Optionalids?: (`evm:${number}` | "solana")[]
        • Optionalpage?: number
        • OptionalpageSize?: number
        • Optionalpermissions?: readonly string[]

          The viewer's admin permissions; capabilities need ntt:w, and ntt/mainnet:w on mainnet.

        • OptionaltargetsOnly?: boolean

          Reads only ids, so another chain's outage cannot stall a write: each peering is UNKNOWN with no there.

      Returns Promise<
          {
              ok: true;
              value: { hasNext: boolean; items: NttManager[]; total: number };
          },
      >

    • Parameters

      • __namedParameters: {
            limit: BigNumber;
            managerId: `evm:${number}` | "solana";
            peerChainId: number;
            permissions: readonly string[];
        }
        • limit: BigNumber

          In this manager's token units; 0 stops transfers in from that peer.

        • managerId: `evm:${number}` | "solana"
        • peerChainId: number
        • permissions: readonly string[]

      Returns Promise<
          | {
              error: | StartError
              | ServiceError<"PEER_NOT_PINNED">
              | ServiceError<"INVALID_LIMIT">;
              ok: false;
          }
          | { ok: true; value: { workflowId: string } },
      >

    • Parameters

      • __namedParameters: {
            limit: BigNumber;
            managerId: `evm:${number}` | "solana";
            permissions: readonly string[];
        }
        • limit: BigNumber

          In this manager's token units; 0 stops transfers out.

        • managerId: `evm:${number}` | "solana"
        • permissions: readonly string[]

      Returns Promise<
          | { ok: true; value: { workflowId: string } }
          | { error: StartError | ServiceError<"INVALID_LIMIT">; ok: false },
      >

    • Sets a pinned peer; its address and decimals come from the chain file, never from here.

      Parameters

      • __namedParameters: {
            inboundLimit: BigNumber;
            managerId: `evm:${number}` | "solana";
            peerChainId: number;
            permissions: readonly string[];
        }
        • inboundLimit: BigNumber

          In this manager's token units.

        • managerId: `evm:${number}` | "solana"
        • peerChainId: number

          A Wormhole id the manager's pins name, else PEER_NOT_PINNED.

        • permissions: readonly string[]

      Returns Promise<
          | { ok: true; value: { workflowId: string } }
          | {
              error:
                  | StartError
                  | ServiceError<"PEER_NOT_PINNED">
                  | ServiceError<"INVALID_LIMIT">;
              ok: false;
          },
      >

    • Parameters

      • args: { managerId: `evm:${number}` | "solana"; permissions: readonly string[] }

      Returns Promise<
          | { error: StartError; ok: false }
          | { ok: true; value: { workflowId: string } },
      >