Skip to content

Commit 21cf9d4

Browse files
committed
Check bonded ETH for operators
We are getting bond creation events to obtain values of bonds created for all the ECDSA operators.
1 parent f4e4a9f commit 21cf9d4

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

inspector/scripts/inspect-operators.js

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
const truffleContract = require("@truffle/contract")
22
const clc = require("cli-color")
33

4+
const contractHelper = require("./lib/contract-helper")
5+
46
const KeepTokenJson = require("@keep-network/keep-core/artifacts/KeepToken.json")
57
const TokenStakingJson = require("@keep-network/keep-core/artifacts/TokenStaking.json")
68
const KeepBondingJson = require("@keep-network/keep-ecdsa/artifacts/KeepBonding.json")
@@ -41,6 +43,11 @@ module.exports = async function () {
4143
const keepBonding = await KeepBonding.deployed()
4244
const tbtcSystem = await TBTCSystem.deployed()
4345

46+
const deploymentBlock = await contractHelper.getDeploymentBlockNumber(
47+
KeepBondingJson,
48+
web3,
49+
)
50+
4451
console.log(clc.yellow(`*** Contract Addresses ***`))
4552
console.log(`KeepToken: ${keepToken.address}`)
4653
console.log(`TokenStaking: ${tokenStaking.address}`)
@@ -102,9 +109,36 @@ module.exports = async function () {
102109
)
103110
console.log(``)
104111

112+
const bondCreatedEvents = await keepBonding.getPastEvents("BondCreated", {
113+
fromBlock: deploymentBlock,
114+
toBlock: "latest",
115+
})
116+
117+
const totalOperatorBondsAmount = {}
118+
const totalBondedAmount = web3.utils.toBN(0)
119+
120+
for (let i = 0; i < bondCreatedEvents.length; i++) {
121+
const event = bondCreatedEvents[i]
122+
123+
const operator = event.args.operator.toLowerCase()
124+
const bondAmount = web3.utils.toBN(event.args.amount)
125+
126+
totalBondedAmount.iadd(bondAmount)
127+
128+
if (totalOperatorBondsAmount[operator] === undefined) {
129+
totalOperatorBondsAmount[operator] = bondAmount
130+
} else {
131+
totalOperatorBondsAmount[operator].iadd(bondAmount)
132+
}
133+
}
134+
135+
console.log(
136+
`Total bonded ETH: ${web3.utils.fromWei(totalBondedAmount).toString()}`,
137+
)
138+
105139
const ecdsaSummary = []
106140
for (let i = 0; i < ecdsaOperators.length; i++) {
107-
const operator = ecdsaOperators[i]
141+
const operator = ecdsaOperators[i].toLowerCase()
108142

109143
const eligibleStake = await tokenStaking.eligibleStake(
110144
operator,
@@ -133,17 +167,23 @@ module.exports = async function () {
133167
isUpToDateInTbtcPool = "N/A"
134168
}
135169

170+
const bondsAmountEth = web3.utils.fromWei(
171+
web3.utils.toBN(totalOperatorBondsAmount[operator] || 0),
172+
)
173+
136174
ecdsaSummary.push({
137175
address: operator,
138176
eligibleStakeKeep: eligibleStakeKeep.toString(),
139177
operatorBalanceEth: operatorBalanceEth.toString(),
140178
unbondedValueEth: unbondedValueEth.toString(),
179+
bondsAmountEth: bondsAmountEth.toString(),
141180
isRegisteredInTbtcPool: isRegisteredInTbtcPool,
142181
isUpToDateInTbtcPool: isUpToDateInTbtcPool,
143182
})
144183
}
145184

146185
console.log(clc.yellow(`*** ECDSA Operators ***`))
186+
147187
if (process.env.OUTPUT_MODE === "text") {
148188
ecdsaSummary.forEach((s) =>
149189
console.log(

0 commit comments

Comments
 (0)