Harmony’s whitepaper states the following:

Different Protocol’s Slashing Mechanism

Ethereum

The above is pre-Bellatrix; the below contains information from Bellatrix upgrade (https://eth2book.info/bellatrix/part2/incentives/slashing/)

Harmony’s Implementation

When a new node is started through New(...) (node.go) function, the following goroutine is started:

Untitled

If a doubleSign record is received in the SlashChan, it is processed by the node (TODO: When and where is the doubleSign message formed in the first place?). Depending on whether the node is a running in beacon chain or not, the record will either be added to the pending slashing candidates or broadcasted respectively.