Skip to content

Commit

Permalink
feat(events): more granular stake slashing info PE-7029 (#125)
Browse files Browse the repository at this point in the history
  • Loading branch information
arielmelendez authored Oct 23, 2024
2 parents 557d1e8 + 3c20565 commit d0ccf73
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
4 changes: 3 additions & 1 deletion spec/gar_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1560,7 +1560,9 @@ describe("gar", function()
local expectedSlashedStake = math.floor(gar.getSettings().operators.minStake * 0.2)
assert.are.same({
prunedGateways = { "address1" },
slashedGateways = { "address3" },
slashedGateways = {
address3 = expectedSlashedStake,
},
stakeSlashed = expectedSlashedStake,
delegateStakeReturned = 0,
gatewayStakeReturned = 0,
Expand Down
2 changes: 1 addition & 1 deletion src/gar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ function gar.pruneGateways(currentTimestamp, msgId)
math.floor(slashableOperatorStake * garSettings.operators.failedEpochSlashPercentage)
gar.slashOperatorStake(address, slashAmount)
gar.leaveNetwork(address, currentTimestamp, msgId)
table.insert(result.slashedGateways, address)
result.slashedGateways[address] = slashAmount
result.stakeSlashed = result.stakeSlashed + slashAmount
else
if gateway.status == "leaving" and gateway.endTimestamp <= currentTimestamp then
Expand Down
8 changes: 6 additions & 2 deletions src/main.lua
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,11 @@ end, function(msg)
lastKnownWithdrawSupply = lastKnownWithdrawSupply
- (pruneGatewayResults.delegateStakeReturned or 0)
- (pruneGatewayResults.gatewayStakeReturned or 0)
lastKnownStakedSupply = lastKnownStakedSupply - (pruneGatewayResults.stakeSlashed or 0)
local totalGwStakesSlashed = (pruneGatewayResults.stakeSlashed or 0)
lastKnownStakedSupply = lastKnownStakedSupply - totalGwStakesSlashed
if totalGwStakesSlashed > 0 then
msg.ioEvent:addField("Total-Gateways-Stake-Slashed", totalGwStakesSlashed)
end

local prunedGateways = pruneGatewayResults.prunedGateways or {}
local prunedGatewaysCount = utils.lengthOfTable(prunedGateways)
Expand All @@ -265,7 +269,7 @@ end, function(msg)
local slashedGateways = pruneGatewayResults.slashedGateways or {}
local slashedGatewaysCount = utils.lengthOfTable(slashedGateways or {})
if slashedGatewaysCount > 0 then
msg.ioEvent:addField("Slashed-Gateways", slashedGateways)
msg.ioEvent:addField("Slashed-Gateway-Amounts", slashedGateways)
msg.ioEvent:addField("Slashed-Gateways-Count", slashedGatewaysCount)
local invariantSlashedGateways = {}
for _, gwAddress in pairs(slashedGateways) do
Expand Down

0 comments on commit d0ccf73

Please sign in to comment.