-
Notifications
You must be signed in to change notification settings - Fork 7
/
forensics.go
33 lines (27 loc) · 1.04 KB
/
forensics.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package types
import "github.com/XinFinOrg/XDC-Subnet/common"
type ForensicsInfo struct {
HashPath []string `json:"hashPath"`
QuorumCert QuorumCert `json:"quorumCert"`
SignerAddresses []string `json:"signerAddresses"`
}
type ForensicsContent struct {
DivergingBlockNumber uint64 `json:"divergingBlockNumber"`
DivergingBlockHash string `json:"divergingBlockHash"`
AcrossEpoch bool `json:"acrossEpoch"`
SmallerRoundInfo *ForensicsInfo `json:"smallerRoundInfo"`
LargerRoundInfo *ForensicsInfo `json:"largerRoundInfo"`
}
type VoteEquivocationContent struct {
SmallerRoundVote *Vote `json:"smallerRoundVote"`
LargerRoundVote *Vote `json:"largerRoundVote"`
Signer common.Address `json:"signer"`
}
type ForensicProof struct {
Id string `json:"id"`
ForensicsType string `json:"forensicsType"` // QC or VOTE
Content string `json:"content"` // Json string of the forensics data
}
type ForensicsEvent struct {
ForensicsProof *ForensicProof
}