Skip to content

Commit

Permalink
Derive and sort quorum slice from ejections
Browse files Browse the repository at this point in the history
  • Loading branch information
pschork committed Oct 25, 2024
1 parent 6fb398a commit bc1c491
Showing 1 changed file with 20 additions and 3 deletions.
23 changes: 20 additions & 3 deletions tools/ejections/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,27 @@ func RunScan(ctx *cli.Context) error {
return ejections[i].BlockTimestamp > ejections[j].BlockTimestamp
})

// Create a map to track unique quorums
quorumSet := make(map[uint8]struct{})
for _, ejection := range ejections {
quorumSet[ejection.Quorum] = struct{}{}
}

// Convert map keys to slice
quorums := make([]uint8, 0, len(quorumSet))
for quorum := range quorumSet {
quorums = append(quorums, quorum)
}
sort.Slice(quorums, func(i, j int) bool {
return quorums[i] < quorums[j]
})

stateCache := make(map[uint64]*core.OperatorState)
ejectedOperatorIds := make(map[core.OperatorID]struct{})
for _, ejection := range ejections {
previouseBlock := ejection.BlockNumber - 1
if _, exists := stateCache[previouseBlock]; !exists {
state, err := chainState.GetOperatorState(context.Background(), uint(previouseBlock), []uint8{0, 1})
state, err := chainState.GetOperatorState(context.Background(), uint(previouseBlock), quorums)
if err != nil {
return err
}
Expand Down Expand Up @@ -176,8 +191,10 @@ func RunScan(ctx *cli.Context) error {
return orderedEjectionTransactions[i].BlockNumber > orderedEjectionTransactions[j].BlockNumber
})
for _, txn := range orderedEjectionTransactions {
for quorum, ejections := range txn.QuorumEjections {
txnQuorums.AppendRow(table.Row{txn.TransactionHash, txn.BlockTimestamp, quorum, txn.QuorumStakePercentage[quorum], ejections}, rowConfigAutoMerge)
for _, quorum := range quorums {
if _, exists := txn.QuorumEjections[quorum]; exists {
txnQuorums.AppendRow(table.Row{txn.TransactionHash, txn.BlockTimestamp, quorum, txn.QuorumStakePercentage[quorum], txn.QuorumEjections[quorum]}, rowConfigAutoMerge)
}
}
}

Expand Down

0 comments on commit bc1c491

Please sign in to comment.