Skip to content

Commit 2ec14fe

Browse files
committed
Add BandProtocol_laozi-testnet
1 parent 49ef56a commit 2ec14fe

File tree

11 files changed

+501
-49
lines changed

11 files changed

+501
-49
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Cosmos-IE
2-
![CreatePlan](https://img.shields.io/badge/release-v3.0.2-red)
2+
![CreatePlan](https://img.shields.io/badge/release-v3.0.3-red)
33
![CreatePlan](https://img.shields.io/badge/go-1.15%2B-blue)
44
![CreatePlan](https://img.shields.io/badge/license-Apache--2.0-green)
55
Integrated Exporter for CosmosSDK
@@ -8,7 +8,7 @@ Integrated Exporter for CosmosSDK
88
This Prometheus exporter is for monitoring information which is not provided from Tendermint’s basic Prometheus exporter(localhost:26660)
99

1010
## List of supported chains
11-
Cosmos(cosmoshub-4), IRISnet(irishub-1)
11+
Cosmos(cosmoshub-4), IRISnet(irishub-1), BandProtocol-testnet(band-laozi-testnet1)
1212

1313
## Install
1414
```bash
@@ -19,7 +19,7 @@ cd $HOME/Cosmos-IE
1919
go build
2020

2121
./Cosmos-IE version
22-
## Cosmos-IE v3.0.2
22+
## Cosmos-IE v3.0.3
2323
```
2424

2525
## Service(ex: cosmos)

cmd/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
)
2323

2424
var (
25-
version string = "v3.0.2"
25+
version string = "v3.0.3"
2626

2727
// versionCmd represents the version command
2828
versionCmd = &cobra.Command{

exporter/exporter.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,23 @@ func Start(chain string, log *zap.Logger) {
157157

158158
func addGauges(chain string, metricData *metric, log *zap.Logger) {
159159

160-
if chain == "terra" {
160+
if chain == "band" {
161+
if len(additionalGauges) == 0 {
162+
additionalGauges = make([]prometheus.Gauge, len(gaugesNamespaceList_Band))
163+
164+
for i := 0; i < len(gaugesNamespaceList_Band); i++ {
165+
additionalGauges[i] = utils.NewGauge("exporter", gaugesNamespaceList_Band[i], "")
166+
prometheus.MustRegister(additionalGauges[i])
167+
}
168+
} else {
169+
gaugesValue := [...]float64{
170+
metricData.Validator.Oracle.Active,
171+
}
172+
for i:=0; i < len(gaugesNamespaceList_Band); i++ {
173+
additionalGauges[i].Set(gaugesValue[i])
174+
}
175+
}
176+
} else if chain == "terra" {
161177
if len(additionalGauges) == 0 {
162178
additionalGauges = make([]prometheus.Gauge, len(gaugesNamespaceList_Terra))
163179

exporter/metric.go

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func SetMetric(currentBlock int64, restData *rest.RESTData, log *zap.Logger) {
1414
consPubKey := restData.Validator.Consensus_pubkey.Key
1515
consAddr := restData.Validatorsets[consPubKey][0]
1616

17-
//// network
17+
/* network */
1818
metricData.Network.ChainID = restData.Commit.ChainId
1919
metricData.Network.BlockHeight = currentBlock
2020

@@ -23,54 +23,56 @@ func SetMetric(currentBlock int64, restData *rest.RESTData, log *zap.Logger) {
2323
metricData.Network.Staking.TotalSupply = restData.StakingPool.Pool.Total_supply
2424
metricData.Network.Staking.BondedRatio = metricData.Network.Staking.BondedTokens / metricData.Network.Staking.TotalSupply
2525

26-
// minting
26+
//// minting
2727
metricData.Network.Minting.Inflation = restData.Inflation
2828
metricData.Network.Minting.ActualInflation = metricData.Network.Minting.Inflation / metricData.Network.Staking.BondedRatio
2929

30-
//gov
30+
////gov
3131
metricData.Network.Gov.TotalProposalCount = restData.Gov.TotalProposalCount
3232
metricData.Network.Gov.VotingProposalCount = restData.Gov.VotingProposalCount
3333

3434

35-
//// validator
35+
/* validator */
3636
metricData.Validator.Moniker = restData.Validator.Description.Moniker
3737
metricData.Validator.VotingPower = utils.StringToFloat64(restData.Validatorsets[consPubKey][1])
3838
metricData.Validator.MinSelfDelegation = utils.StringToFloat64(restData.Validator.MinSelfDelegation)
3939
metricData.Validator.JailStatus = utils.BoolToFloat64(restData.Validator.Jailed)
4040

41-
// address
41+
//// address
4242
metricData.Validator.Address.Operator = operAddr
4343
metricData.Validator.Address.Account = utils.GetAccAddrFromOperAddr(operAddr, log)
4444
metricData.Validator.Address.ConsensusHex = utils.Bech32AddrToHexAddr(consAddr, log)
4545

46-
// proposer
46+
//// proposer
4747
// metricData.Validator.Proposer.Ranking = utils.StringToFloat64(restData.Validatorsets[consPubKey][3])
4848
// metricData.Validator.Proposer.Status = restData.Commit.ValidatorProposingStatus
4949

50-
// delegation
50+
//// delegation
5151
metricData.Validator.Delegation.Shares = utils.StringToFloat64(restData.Validator.DelegatorShares)
5252
metricData.Validator.Delegation.Ratio = metricData.Validator.Delegation.Shares / metricData.Network.Staking.BondedTokens
5353
metricData.Validator.Delegation.DelegatorCount = restData.Delegations.DelegationCount
5454
metricData.Validator.Delegation.Self = restData.Delegations.SelfDelegation
5555

56-
// commission
56+
//// commission
5757
metricData.Validator.Commission.Rate = utils.StringToFloat64(restData.Validator.Commission.Commission_rates.Rate)
5858
metricData.Validator.Commission.MaxRate = utils.StringToFloat64(restData.Validator.Commission.Commission_rates.Max_rate)
5959
metricData.Validator.Commission.MaxChangeRate = utils.StringToFloat64(restData.Validator.Commission.Commission_rates.Max_change_rate)
6060

61-
// account
61+
//// account
6262
metricData.Validator.Account.Balances = restData.Balances
6363
metricData.Validator.Account.Commission = restData.Commission
6464
metricData.Validator.Account.Rewards = restData.Rewards
6565

66-
// commit
66+
//// commit
6767
// metricData.Validator.Commit.VoteType = restData.Commit.VoteType
6868
metricData.Validator.Commit.PrecommitStatus = restData.Commit.ValidatorPrecommitStatus
6969

70-
// oracle
71-
metricData.Validator.Oracle.Miss = restData.Oracle.Miss
72-
//for Terra
73-
metricData.Validator.Oracle.FeederBalance = utils.StringToFloat64(restData.Oracle.Feeder.Balance.Amount)
70+
//// oracle
71+
// Terra
72+
metricData.Validator.Oracle.Miss = restData.Oracle_terra.Miss
73+
metricData.Validator.Oracle.FeederBalance = utils.StringToFloat64(restData.Oracle_terra.Feeder.Balance.Amount)
74+
// Band
75+
metricData.Validator.Oracle.Active = restData.Oracle_band
7476

7577
}
7678

exporter/run.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
sdk "github.com/cosmos/cosmos-sdk/types"
99
iris "github.com/irisnet/irishub/address"
1010

11-
1211
terra "github.com/terra-project/core/types"
1312
// kava "github.com/kava-labs/kava/app"
1413
emoney "github.com/e-money/em-ledger/types"
@@ -47,6 +46,20 @@ func setConfig(chain string) {
4746
switch chain {
4847
case "iris":
4948
iris.ConfigureBech32Prefix()
49+
case "band":
50+
bech32MainPrefix := "band"
51+
var bip44CoinType uint32 = 494
52+
53+
accountPrefix := bech32MainPrefix
54+
validatorPrefix := bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixOperator
55+
consensusPrefix := bech32MainPrefix + sdk.PrefixValidator + sdk.PrefixConsensus
56+
57+
config.SetBech32PrefixForAccount(accountPrefix, accountPrefix+sdk.PrefixPublic)
58+
config.SetBech32PrefixForValidator(validatorPrefix, validatorPrefix+sdk.PrefixPublic)
59+
config.SetBech32PrefixForConsensusNode(consensusPrefix, consensusPrefix+sdk.PrefixPublic)
60+
config.SetCoinType(bip44CoinType)
61+
62+
// fmt.Println(accountPrefix, validatorPrefix, consensusPrefix)
5063

5164
case "terra":
5265
config.SetCoinType(terra.CoinType)

exporter/types.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ var (
3636
gaugesNamespaceList_Terra = [...]string{"oracleMiss",
3737
"oracleFeederBalance",
3838
}
39+
gaugesNamespaceList_Band = [...]string{"oracleActive",
40+
}
3941

4042
metricData metric
4143
)
@@ -107,10 +109,13 @@ type metric struct {
107109
PrecommitStatus float64
108110
}
109111

110-
// for Terra
112+
// for Terra & Band
111113
Oracle struct {
114+
// Terra
112115
Miss float64
113116
FeederBalance float64
117+
// Band
118+
Active float64
114119
}
115120

116121
}
@@ -123,11 +128,12 @@ func getDenomList(chain string) []string {
123128
// Add a staking denom to index 0
124129
switch chain{
125130
case "cosmos":
126-
// dList = []string{"uatom"}
127131
dList = []string{"uatom"}
128132
case "iris":
129133
dList = []string{"uiris"}
130134
// dList = []string{"ubif"}
135+
case "band":
136+
dList = []string{"uband"}
131137
case "terra":
132138
dList = []string{"uluna",
133139
"ukrw", "usdr", "uusd", "umnt"}

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ module github.com/node-a-team/Cosmos-IE
33
go 1.15
44

55
require (
6+
github.com/bandprotocol/chain v1.0.0
67
github.com/cosmos/cosmos-sdk v0.41.3
78
github.com/e-money/em-ledger v0.9.4
89
github.com/irisnet/irishub v1.0.1
@@ -13,7 +14,7 @@ require (
1314
github.com/spf13/viper v1.7.1
1415
github.com/tendermint/tendermint v0.34.7
1516
github.com/terra-project/core v0.4.2
16-
go.uber.org/zap v1.13.0
17+
go.uber.org/zap v1.15.0
1718
)
1819

1920
replace google.golang.org/grpc => google.golang.org/grpc v1.33.2

0 commit comments

Comments
 (0)