The BaseModule represents Lisk modules by providing a generic interface, from which each module extends from.

Hierarchy

Constructors

Properties

_changeCommissionCommand: ChangeCommissionCommand = ...
_claimRewardsCommand: ClaimRewardsCommand = ...
_feeMethod: FeeMethod
_internalMethod: InternalMethod = ...
_moduleConfig: ModuleConfig
_randomMethod: RandomMethod
_registerValidatorCommand: ValidatorRegistrationCommand = ...
_reportMisbehaviorCommand: ReportMisbehaviorCommand = ...
_stakeCommand: StakeCommand = ...
_tokenMethod: TokenMethod
_unlockCommand: UnlockCommand = ...
_updateGeneratorKeyCommand: UpdateGeneratorKeyCommand = ...
_validatorsMethod: ValidatorsMethod
commands: (ValidatorRegistrationCommand | ReportMisbehaviorCommand | UnlockCommand | UpdateGeneratorKeyCommand | StakeCommand | ChangeCommissionCommand | ClaimRewardsCommand)[] = ...
configSchema: {
    $id: string;
    properties: {
        baseStakeAmount: {
            format: string;
            minimum: number;
            type: string;
        };
        commissionIncreasePeriod: {
            format: string;
            type: string;
        };
        factorSelfStakes: {
            format: string;
            minimum: number;
            type: string;
        };
        failSafeInactiveWindow: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        failSafeMissedBlocks: {
            format: string;
            minimum: number;
            type: string;
        };
        lockingPeriodSelfStaking: {
            format: string;
            type: string;
        };
        lockingPeriodStaking: {
            format: string;
            type: string;
        };
        maxBFTWeightCap: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxCommissionIncreaseRate: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxLengthName: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxNumberPendingUnlocks: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxNumberSentStakes: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        minWeightStandby: {
            format: string;
            minimum: number;
            type: string;
        };
        numberActiveValidators: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        numberStandbyValidators: {
            format: string;
            maximum: number;
            type: string;
        };
        posTokenID: {
            format: string;
            type: string;
        };
        punishmentWindowSelfStaking: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        reportMisbehaviorLimitBanned: {
            format: string;
            minimum: number;
            type: string;
        };
        reportMisbehaviorReward: {
            format: string;
            type: string;
        };
        useInvalidBLSKey: {
            type: string;
        };
        validatorRegistrationFee: {
            format: string;
            type: string;
        };
    };
    required: string[];
    type: string;
} = configSchema

Type declaration

  • $id: string
  • properties: {
        baseStakeAmount: {
            format: string;
            minimum: number;
            type: string;
        };
        commissionIncreasePeriod: {
            format: string;
            type: string;
        };
        factorSelfStakes: {
            format: string;
            minimum: number;
            type: string;
        };
        failSafeInactiveWindow: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        failSafeMissedBlocks: {
            format: string;
            minimum: number;
            type: string;
        };
        lockingPeriodSelfStaking: {
            format: string;
            type: string;
        };
        lockingPeriodStaking: {
            format: string;
            type: string;
        };
        maxBFTWeightCap: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxCommissionIncreaseRate: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxLengthName: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxNumberPendingUnlocks: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        maxNumberSentStakes: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        minWeightStandby: {
            format: string;
            minimum: number;
            type: string;
        };
        numberActiveValidators: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        numberStandbyValidators: {
            format: string;
            maximum: number;
            type: string;
        };
        posTokenID: {
            format: string;
            type: string;
        };
        punishmentWindowSelfStaking: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        };
        reportMisbehaviorLimitBanned: {
            format: string;
            minimum: number;
            type: string;
        };
        reportMisbehaviorReward: {
            format: string;
            type: string;
        };
        useInvalidBLSKey: {
            type: string;
        };
        validatorRegistrationFee: {
            format: string;
            type: string;
        };
    }
    • baseStakeAmount: {
          format: string;
          minimum: number;
          type: string;
      }
      • format: string
      • minimum: number
      • type: string
    • commissionIncreasePeriod: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
    • factorSelfStakes: {
          format: string;
          minimum: number;
          type: string;
      }
      • format: string
      • minimum: number
      • type: string
    • failSafeInactiveWindow: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • failSafeMissedBlocks: {
          format: string;
          minimum: number;
          type: string;
      }
      • format: string
      • minimum: number
      • type: string
    • lockingPeriodSelfStaking: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
    • lockingPeriodStaking: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
    • maxBFTWeightCap: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • maxCommissionIncreaseRate: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • maxLengthName: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • maxNumberPendingUnlocks: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • maxNumberSentStakes: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • minWeightStandby: {
          format: string;
          minimum: number;
          type: string;
      }
      • format: string
      • minimum: number
      • type: string
    • numberActiveValidators: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • numberStandbyValidators: {
          format: string;
          maximum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • type: string
    • posTokenID: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
    • punishmentWindowSelfStaking: {
          format: string;
          maximum: number;
          minimum: number;
          type: string;
      }
      • format: string
      • maximum: number
      • minimum: number
      • type: string
    • reportMisbehaviorLimitBanned: {
          format: string;
          minimum: number;
          type: string;
      }
      • format: string
      • minimum: number
      • type: string
    • reportMisbehaviorReward: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
    • useInvalidBLSKey: {
          type: string;
      }
      • type: string
    • validatorRegistrationFee: {
          format: string;
          type: string;
      }
      • format: string
      • type: string
  • required: string[]
  • type: string
endpoint: PoSEndpoint = ...
events: NamedRegistry = ...
method: PoSMethod = ...
offchainStores: NamedRegistry = ...
stores: NamedRegistry = ...

Accessors

Methods

  • Parameters

    • validators: ValidatorWeight[]
    • capValue: number

    Returns ValidatorWeight[]

  • Parameters

    • activeValidators: ValidatorWeight[]

    Returns ValidatorWeight[]

  • Parameters

    • blockTime: number = 10

    Returns {
        $id: string;
        properties: {
            baseStakeAmount: {
                format: string;
                minimum: number;
                type: string;
            };
            commissionIncreasePeriod: {
                format: string;
                type: string;
            };
            factorSelfStakes: {
                format: string;
                minimum: number;
                type: string;
            };
            failSafeInactiveWindow: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            failSafeMissedBlocks: {
                format: string;
                minimum: number;
                type: string;
            };
            lockingPeriodSelfStaking: {
                format: string;
                type: string;
            };
            lockingPeriodStaking: {
                format: string;
                type: string;
            };
            maxBFTWeightCap: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            maxCommissionIncreaseRate: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            maxLengthName: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            maxNumberPendingUnlocks: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            maxNumberSentStakes: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            minWeightStandby: {
                format: string;
                minimum: number;
                type: string;
            };
            numberActiveValidators: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            numberStandbyValidators: {
                format: string;
                maximum: number;
                type: string;
            };
            posTokenID: {
                format: string;
                type: string;
            };
            punishmentWindowSelfStaking: {
                format: string;
                maximum: number;
                minimum: number;
                type: string;
            };
            reportMisbehaviorLimitBanned: {
                format: string;
                minimum: number;
                type: string;
            };
            reportMisbehaviorReward: {
                format: string;
                type: string;
            };
            useInvalidBLSKey: {
                type: string;
            };
            validatorRegistrationFee: {
                format: string;
                type: string;
            };
        };
        required: string[];
        type: string;
    }

    • $id: string
    • properties: {
          baseStakeAmount: {
              format: string;
              minimum: number;
              type: string;
          };
          commissionIncreasePeriod: {
              format: string;
              type: string;
          };
          factorSelfStakes: {
              format: string;
              minimum: number;
              type: string;
          };
          failSafeInactiveWindow: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          failSafeMissedBlocks: {
              format: string;
              minimum: number;
              type: string;
          };
          lockingPeriodSelfStaking: {
              format: string;
              type: string;
          };
          lockingPeriodStaking: {
              format: string;
              type: string;
          };
          maxBFTWeightCap: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          maxCommissionIncreaseRate: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          maxLengthName: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          maxNumberPendingUnlocks: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          maxNumberSentStakes: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          minWeightStandby: {
              format: string;
              minimum: number;
              type: string;
          };
          numberActiveValidators: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          numberStandbyValidators: {
              format: string;
              maximum: number;
              type: string;
          };
          posTokenID: {
              format: string;
              type: string;
          };
          punishmentWindowSelfStaking: {
              format: string;
              maximum: number;
              minimum: number;
              type: string;
          };
          reportMisbehaviorLimitBanned: {
              format: string;
              minimum: number;
              type: string;
          };
          reportMisbehaviorReward: {
              format: string;
              type: string;
          };
          useInvalidBLSKey: {
              type: string;
          };
          validatorRegistrationFee: {
              format: string;
              type: string;
          };
      }
      • baseStakeAmount: {
            format: string;
            minimum: number;
            type: string;
        }
        • format: string
        • minimum: number
        • type: string
      • commissionIncreasePeriod: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
      • factorSelfStakes: {
            format: string;
            minimum: number;
            type: string;
        }
        • format: string
        • minimum: number
        • type: string
      • failSafeInactiveWindow: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • failSafeMissedBlocks: {
            format: string;
            minimum: number;
            type: string;
        }
        • format: string
        • minimum: number
        • type: string
      • lockingPeriodSelfStaking: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
      • lockingPeriodStaking: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
      • maxBFTWeightCap: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • maxCommissionIncreaseRate: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • maxLengthName: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • maxNumberPendingUnlocks: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • maxNumberSentStakes: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • minWeightStandby: {
            format: string;
            minimum: number;
            type: string;
        }
        • format: string
        • minimum: number
        • type: string
      • numberActiveValidators: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • numberStandbyValidators: {
            format: string;
            maximum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • type: string
      • posTokenID: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
      • punishmentWindowSelfStaking: {
            format: string;
            maximum: number;
            minimum: number;
            type: string;
        }
        • format: string
        • maximum: number
        • minimum: number
        • type: string
      • reportMisbehaviorLimitBanned: {
            format: string;
            minimum: number;
            type: string;
        }
        • format: string
        • minimum: number
        • type: string
      • reportMisbehaviorReward: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
      • useInvalidBLSKey: {
            type: string;
        }
        • type: string
      • validatorRegistrationFee: {
            format: string;
            type: string;
        }
        • format: string
        • type: string
    • required: string[]
    • type: string
  • Parameters

    • randomMethod: RandomMethod
    • validatorsMethod: ValidatorsMethod
    • tokenMethod: TokenMethod
    • feeMethod: FeeMethod

    Returns void

  • Returns {
        assets: never[];
        commands: {
            name: string;
            params: Schema;
        }[];
        endpoints: never[];
        events: {
            data: Schema;
            name: string;
        }[];
        stores: {
            data: Schema;
            key: string;
        }[];
    }

    • assets: never[]
    • commands: {
          name: string;
          params: Schema;
      }[]
    • endpoints: never[]
    • events: {
          data: Schema;
          name: string;
      }[]
    • stores: {
          data: Schema;
          key: string;
      }[]

Generated using TypeDoc