Hierarchy

  • BasePlugin<ChainConnectorPluginConfig>
    • ChainConnectorPlugin

Constructors

Properties

_ccuFrequency: number
_ccuSaveLimit: number
_chainConnectorPluginDB: Database
_chainConnectorStore: ChainConnectorStore
_isReceivingChainMainchain: boolean
_isSaveCCU: boolean
_lastCertificate: LastCertificate
_maxCCUSize: number
_ownChainID: Buffer
_receivingChainClient: APIClient
_receivingChainID: Buffer
_registrationHeight: number
_sendingChainClient: APIClient
configSchema: {
    $id: string;
    default: {
        ccuFrequency: number;
        ccuSaveLimit: number;
        isSaveCCU: boolean;
        maxCCUSize: number;
        registrationHeight: number;
    };
    properties: {
        ccuFee: {
            description: string;
            format: string;
            type: string;
        };
        ccuFrequency: {
            description: string;
            type: string;
        };
        ccuSaveLimit: {
            description: string;
            minimum: number;
            type: string;
        };
        encryptedPrivateKey: {
            description: string;
            type: string;
        };
        isSaveCCU: {
            description: string;
            type: string;
        };
        maxCCUSize: {
            description: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        receivingChainID: {
            description: string;
            type: string;
        };
        receivingChainIPCPath: {
            description: string;
            type: string;
        };
        receivingChainWsURL: {
            description: string;
            type: string;
        };
        registrationHeight: {
            description: string;
            minimum: number;
            type: string;
        };
    };
    required: string[];
    type: string;
} = configSchema

Type declaration

  • $id: string
  • default: {
        ccuFrequency: number;
        ccuSaveLimit: number;
        isSaveCCU: boolean;
        maxCCUSize: number;
        registrationHeight: number;
    }
    • ccuFrequency: number
    • ccuSaveLimit: number
    • isSaveCCU: boolean
    • maxCCUSize: number
    • registrationHeight: number
  • properties: {
        ccuFee: {
            description: string;
            format: string;
            type: string;
        };
        ccuFrequency: {
            description: string;
            type: string;
        };
        ccuSaveLimit: {
            description: string;
            minimum: number;
            type: string;
        };
        encryptedPrivateKey: {
            description: string;
            type: string;
        };
        isSaveCCU: {
            description: string;
            type: string;
        };
        maxCCUSize: {
            description: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        receivingChainID: {
            description: string;
            type: string;
        };
        receivingChainIPCPath: {
            description: string;
            type: string;
        };
        receivingChainWsURL: {
            description: string;
            type: string;
        };
        registrationHeight: {
            description: string;
            minimum: number;
            type: string;
        };
    }
    • ccuFee: {
          description: string;
          format: string;
          type: string;
      }
      • description: string
      • format: string
      • type: string
    • ccuFrequency: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • ccuSaveLimit: {
          description: string;
          minimum: number;
          type: string;
      }
      • description: string
      • minimum: number
      • type: string
    • encryptedPrivateKey: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • isSaveCCU: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • maxCCUSize: {
          description: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • description: string
      • maximum: number
      • minimum: number
      • type: string
    • receivingChainID: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • receivingChainIPCPath: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • receivingChainWsURL: {
          description: string;
          type: string;
      }
      • description: string
      • type: string
    • registrationHeight: {
          description: string;
          minimum: number;
          type: string;
      }
      • description: string
      • minimum: number
      • type: string
  • required: string[]
  • type: string
endpoint: Endpoint = ...
logger: Logger

Accessors

  • get apiClient(): APIClient
  • Returns APIClient

  • get appConfig(): ApplicationConfigForPlugin
  • Returns ApplicationConfigForPlugin

  • get config(): T
  • Returns T

  • get dataPath(): string
  • Returns string

  • get events(): string[]
  • Returns string[]

  • get name(): string
  • Returns string

Methods

  • See

    https://github.com/LiskHQ/lips/blob/main/proposals/lip-0053.md#cross-chain-update-transaction-properties This function computes CCU params especially, certificate, activeValidatorsUpdate and inboxUpdate

    • Uses either lastCertificate or newCertificate
    • When lastCertificate, it only computes pending CCMs if any else it skips CCU creation
    • When newCertificate it computes certificate, activeValidatorsUpdate and inboxUpdate

    Parameters

    • blockHeaders: BlockHeader[]
    • aggregateCommits: AggregateCommit[]
    • validatorsHashPreimage: ValidatorsData[]
    • ccmsFromEvents: CCMsFromEvents[]

    Returns Promise<undefined | {
        ccuParams: CrossChainUpdateTransactionParams;
        lastCCMToBeSent: undefined | LastSentCCMWithHeight;
    }>

  • This function saves block header, aggregateCommit, validatorsHashPreimage and crossChainMessages for a new block

    Parameters

    • newBlockHeader: BlockHeader

    Returns Promise<{
        aggregateCommits: AggregateCommit[];
        blockHeaders: BlockHeader[];
        crossChainMessages: CCMsFromEvents[];
        validatorsHashPreimage: ValidatorsData[];
    }>

Generated using TypeDoc