Skip to content

Commit 65110d7

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 9963c5e commit 65110d7

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")
@@ -39,6 +41,11 @@ module.exports = async function() {
3941
const keepBonding = await KeepBonding.deployed()
4042
const tbtcSystem = await TBTCSystem.deployed()
4143

44+
const deploymentBlock = await contractHelper.getDeploymentBlockNumber(
45+
KeepBondingJson,
46+
web3,
47+
)
48+
4249
console.log(clc.yellow(`*** Contract Addresses ***`))
4350
console.log(`KeepToken: ${keepToken.address}`)
4451
console.log(`TokenStaking: ${tokenStaking.address}`)
@@ -85,9 +92,36 @@ module.exports = async function() {
8592
console.log(clc.italic(`Fetching staking info for [${ecdsaOperators.length}] ECDSA operators...`))
8693
console.log(``)
8794

95+
const bondCreatedEvents = await keepBonding.getPastEvents("BondCreated", {
96+
fromBlock: deploymentBlock,
97+
toBlock: "latest",
98+
})
99+
100+
const totalOperatorBondsAmount = {}
101+
const totalBondedAmount = web3.utils.toBN(0)
102+
103+
for (let i = 0; i < bondCreatedEvents.length; i++) {
104+
const event = bondCreatedEvents[i]
105+
106+
const operator = event.args.operator.toLowerCase()
107+
const bondAmount = web3.utils.toBN(event.args.amount)
108+
109+
totalBondedAmount.iadd(bondAmount)
110+
111+
if (totalOperatorBondsAmount[operator] === undefined) {
112+
totalOperatorBondsAmount[operator] = bondAmount
113+
} else {
114+
totalOperatorBondsAmount[operator].iadd(bondAmount)
115+
}
116+
}
117+
118+
console.log(
119+
`Total bonded ETH: ${web3.utils.fromWei(totalBondedAmount).toString()}`,
120+
)
121+
88122
const ecdsaSummary = []
89123
for (let i = 0; i < ecdsaOperators.length; i++) {
90-
const operator = ecdsaOperators[i]
124+
const operator = ecdsaOperators[i].toLowerCase()
91125

92126
const eligibleStake = await tokenStaking.eligibleStake(operator, keepRandomBeaconOperator.address)
93127
const eligibleStakeKeep = eligibleStake.div(tokenDecimalMultiplier)
@@ -107,17 +141,23 @@ module.exports = async function() {
107141
isUpToDateInTbtcPool = "N/A"
108142
}
109143

144+
const bondsAmountEth = web3.utils.fromWei(
145+
web3.utils.toBN(totalOperatorBondsAmount[operator] || 0),
146+
)
147+
110148
ecdsaSummary.push({
111149
address: operator,
112150
eligibleStakeKeep: eligibleStakeKeep.toString(),
113151
operatorBalanceEth: operatorBalanceEth.toString(),
114152
unbondedValueEth: unbondedValueEth.toString(),
153+
bondsAmountEth: bondsAmountEth.toString(),
115154
isRegisteredInTbtcPool: isRegisteredInTbtcPool,
116155
isUpToDateInTbtcPool: isUpToDateInTbtcPool
117156
})
118157
}
119158

120159
console.log(clc.yellow(`*** ECDSA Operators ***`))
160+
121161
if (process.env.OUTPUT_MODE === "text") {
122162
ecdsaSummary.forEach((s) =>
123163
console.log(

0 commit comments

Comments
 (0)