Usecases

A usecase is a definition of how to procee Radar Events into alerts. A creator or research would define the type of Radar Events to be processed, the rule to process the data, and how to display useful information if the event should be alerted.

Generally, a usecase should include following information:

  • Name: A name to be displayed as alert

  • Description: A short description to describe the alert

  • Event type: Type of events to trigger this usecase. Read more in Defining a rule

  • Impact: Describe in detail how the alert affect the user

  • Response: Provide a general guide on how to respond when the alert happens

  • Rule: Define a rule of how to process by receiving Radar Event as the input and whether the Event should be alerted or not as the output See more

Alert types

Usecases can be used to alert different types of information.

In order to inform user properly, there are two types of alert: Incident and Case.

Incident

An alert that indicates a negative alert. It is divided in two levels: Danger and Warning.

  • Danger incident signifies that the alert is critical and need immediate response

  • Warning incident signifies that the user should investigate the alert accordingly

Case

An alert that indicates a neutral alert that does not have negative connotations. It is divided in two levels: Major and Minor.

  • Major case signifies that the alert is significant and rarely occurs

  • Minor case signifies that the alert is of no importance and serves as generic information

Writing impact and incident response

For flexibility of writing impact and incident, which usually requires detailed explanation, Markdown syntax is available to write the content.

Supported markdown syntax includes # ## ### #### #### *bold* _italic_ [link](https://inspex.co)

Defining a rule

We currently allow writing a flexible and customizable rule using Javascript.

The structure of the rule is as follows:

function process({ event, judger, utils }) {
  // Write your rules here

  return {
    isAlert: true, // or false
    message: "Alert message"
  }
}

Here's an example of code running for usecase to track a transfer of certain NFT token:

function process({ event, judger, utils }) {
  if (judger.getTokenActionType() === "erc721-transfer" && judger.getTokenAction().tokenId === "0") {
    return {
      isAlert: true,
      message: `IAYC #0 is transferred to ${judger.getTokenAction().to}`
    }
  }
}

Judger (event-specific methods), Utility functions and Data sources are available to use in the rule.

Read more about available inputs and outputs formatting in API Documentation

Last updated