class PermJsonRpcMethods extends ApiGroupJsonRpcMethods {

  @Override
  protected Map<String, JsonRpcMethod> create() {
    return mapOf(
        new PermAddNodesToWhitelist(nodeWhitelistController),
        new PermAddNodesToAllowlist(nodeWhitelistController),
        new PermRemoveNodesFromWhitelist(nodeWhitelistController),
        new PermRemoveNodesFromAllowlist(nodeWhitelistController),
        new PermGetNodesWhitelist(nodeWhitelistController),
        new PermGetNodesAllowlist(nodeWhitelistController),
        new PermGetAccountsWhitelist(accountsWhitelistController),
        new PermGetAccountsAllowlist(accountsWhitelistController),
        new PermAddAccountsToWhitelist(accountsWhitelistController),
        new PermAddAccountsToAllowlist(accountsWhitelistController),
        new PermRemoveAccountsFromWhitelist(accountsWhitelistController),
        new PermRemoveAccountsFromAllowlist(accountsWhitelistController),
        new PermReloadPermissionsFromFile(accountsWhitelistController, nodeWhitelistController));
  }

  public  PermJsonRpcMethods(
      final Optional<AccountLocalConfigPermissioningController> accountsWhitelistController,
      final Optional<NodeLocalConfigPermissioningController> nodeWhitelistController);

}