Skip to content

Commit dfc5901

Browse files
author
LazyLuis
committed
optimized log level
1 parent e10e70e commit dfc5901

4 files changed

Lines changed: 33 additions & 37 deletions

File tree

scripts/local_cluster.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,4 +203,4 @@ for ((i=START; i<=N; i++)); do
203203
done
204204

205205
# Start the node (remove the --pruning=nothing flag if historical queries are not needed)
206-
$BINARY start --log_level info --minimum-gas-prices=0.0001${DENOMS[0]} --home ${APPHOME%?}1
206+
$BINARY start --log_level "*:info,oracle:debug" --minimum-gas-prices=0.0001${DENOMS[0]} --home ${APPHOME%?}1

x/oracle/abci/extension.go

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ type PriceOracleVoteExtHandler struct {
3333
}
3434

3535
var LOCAL_ADDRESS = ""
36-
var CURRENT_PROPOSER = ""
3736

3837
func NewPriceOracleVoteExtHandler(logger log.Logger, valStore baseapp.ValidatorStore, oracleKeeper keeper.Keeper, config *types.OracleConfig) PriceOracleVoteExtHandler {
3938
client, err := rpcclient.New(&rpcclient.ConnConfig{
@@ -48,7 +47,7 @@ func NewPriceOracleVoteExtHandler(logger log.Logger, valStore baseapp.ValidatorS
4847
}
4948

5049
return PriceOracleVoteExtHandler{
51-
logger: logger,
50+
logger: logger.With("module", types.ModuleName),
5251
currentBlock: 0,
5352
valStore: valStore,
5453
Keeper: oracleKeeper,
@@ -65,27 +64,23 @@ func (h *PriceOracleVoteExtHandler) ExtendVoteHandler() sdk.ExtendVoteHandler {
6564
}
6665

6766
proposer := hex.EncodeToString(req.ProposerAddress)
68-
h.logger.Warn("Prepare vote extension", "proposer", CURRENT_PROPOSER, "my", LOCAL_ADDRESS)
69-
// here we'd have a helper function that gets all the prices and does a weighted average
7067

71-
prices := make(map[string]string)
68+
var prices map[string]string
7269
blocks := newBlock(0, nil)
73-
if proposer != LOCAL_ADDRESS {
74-
// prices = h.getAllVolumeWeightedPrices()
75-
for {
76-
prices = h.getAllVolumeWeightedPrices()
77-
if len(prices) > 0 {
78-
break
79-
}
80-
time.Sleep(time.Second * 2)
81-
}
82-
height, headers, err := h.getBitcoinHeaders(ctx, req.Height)
83-
if err != nil {
84-
h.logger.Error("failed to fetch bitcoin headers", "error", err)
70+
// prices = h.getAllVolumeWeightedPrices()
71+
for {
72+
prices = h.getAllVolumeWeightedPrices()
73+
if len(prices) > 0 {
74+
break
8575
}
86-
blocks = newBlock(height, headers)
87-
h.lastPriceSyncTS = req.Time.UnixMilli()
76+
time.Sleep(time.Second * 2)
8877
}
78+
height, headers, err := h.getBitcoinHeaders(ctx, req.Height)
79+
if err != nil {
80+
h.logger.Error("failed to fetch bitcoin headers", "error", err)
81+
}
82+
blocks = newBlock(height, headers)
83+
h.lastPriceSyncTS = req.Time.UnixMilli()
8984

9085
voteExt := types.OracleVoteExtension{
9186
Height: req.Height,
@@ -127,11 +122,11 @@ func (h *PriceOracleVoteExtHandler) VerifyVoteExtensionHandler() sdk.VerifyVoteE
127122
}
128123

129124
if voteExt.Proposer != validator && (len(voteExt.Prices) == 0 || voteExt.Blocks.Best == 0) {
130-
h.logger.Error("VerifyVoteExtensionHandler", "height", voteExt.Blocks.Best, "validator", validator, "Price", len(voteExt.Prices), "proposer", voteExt.Proposer)
125+
h.logger.Error("verification failed", "height", voteExt.Blocks.Best, "validator", validator, "Price", len(voteExt.Prices), "proposer", voteExt.Proposer)
131126
return &abci.ResponseVerifyVoteExtension{Status: abci.ResponseVerifyVoteExtension_REJECT}, nil
132127
}
133128

134-
h.logger.Info("VerifyVoteExtensionHandler", "height", voteExt.Blocks.Best, "validator", validator, "Price", len(voteExt.Prices), "proposer", voteExt.Proposer)
129+
h.logger.Debug("verification succeeded", "height", voteExt.Blocks.Best, "validator", validator, "Price", len(voteExt.Prices), "proposer", voteExt.Proposer)
135130

136131
for _, blk := range voteExt.Blocks.Headers {
137132
if err = blk.Validate(); err != nil {
@@ -246,7 +241,7 @@ func (h *PriceOracleVoteExtHandler) PreBlocker(ctx sdk.Context, req *abci.Reques
246241
return nil, err
247242
}
248243

249-
prices, headers, err := h.extractPricesAndBlockHeaders(ctx, injectedVoteExtTx)
244+
count, prices, headers, err := h.extractPricesAndBlockHeaders(ctx, injectedVoteExtTx)
250245
if err != nil {
251246
return nil, err
252247
}
@@ -262,7 +257,7 @@ func (h *PriceOracleVoteExtHandler) PreBlocker(ctx sdk.Context, req *abci.Reques
262257
return nil, err
263258
}
264259

265-
h.logger.Warn("Oracle Final States", "price", prices, "headers", headers, "votes", len(injectedVoteExtTx.Votes))
260+
h.logger.Info("Oracle Final States", "price", prices, "headers", headers, "votes", count)
266261

267262
return res, nil
268263
}
@@ -363,7 +358,7 @@ func (h *PriceOracleVoteExtHandler) getAllVolumeWeightedPrices() map[string]stri
363358
}
364359
}
365360

366-
h.logger.Debug("AvgPrice", "prices", avgPrices)
361+
h.logger.Debug("average prices from exchanges", "prices", avgPrices)
367362

368363
textPrices := make(map[string]string)
369364
for symbol, price := range avgPrices {
@@ -373,7 +368,7 @@ func (h *PriceOracleVoteExtHandler) getAllVolumeWeightedPrices() map[string]stri
373368
return textPrices
374369
}
375370

376-
func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context, commit abci.ExtendedCommitInfo) (map[string]math.LegacyDec, []*types.BlockHeader, error) {
371+
func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context, commit abci.ExtendedCommitInfo) (int, map[string]math.LegacyDec, []*types.BlockHeader, error) {
377372
var totalStake int64
378373

379374
stakeWeightedPrices := make(map[string]math.LegacyDec, len(types.PRICE_CACHE)) // base -> average stake-weighted price
@@ -382,6 +377,7 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
382377
blockHeaders := make(map[string][]*types.BlockHeader)
383378
headerStakes := make(map[string]int64)
384379

380+
count := 0
385381
for _, v := range commit.Votes {
386382
if v.BlockIdFlag != cmtproto.BlockIDFlagCommit {
387383
continue
@@ -390,10 +386,10 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
390386
var voteExt types.OracleVoteExtension
391387
if err := voteExt.Unmarshal(v.VoteExtension); err != nil {
392388
h.logger.Error("failed to decode vote extension", "err", err, "validator", fmt.Sprintf("%x", v.Validator.Address))
393-
return nil, nil, err
389+
return count, nil, nil, err
394390
}
395391

396-
h.logger.Warn("extension", "validator", hex.EncodeToString(v.Validator.Address), "extension", voteExt)
392+
h.logger.Debug("received", "validator", hex.EncodeToString(v.Validator.Address), "extension", voteExt)
397393

398394
totalStake += v.Validator.Power
399395

@@ -431,16 +427,17 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
431427
} else {
432428
headerStakes[key] = v.Validator.Power
433429
}
430+
count++
434431
}
435432

436433
if totalStake == 0 {
437-
return nil, nil, types.ErrInsufficientVotingPower
434+
return count, nil, nil, types.ErrInsufficientVotingPower
438435
}
439436

440437
// finalize average by dividing by total stake, i.e. total weights
441438
for base, price := range stakeWeightedPrices {
442439
if price.GT(math.LegacyZeroDec()) {
443-
if vp, ok := stakeWeightedVotingPower[base]; ok && vp.RoundInt64()*2+1 > totalStake {
440+
if vp, ok := stakeWeightedVotingPower[base]; ok && vp.RoundInt64()*2 >= totalStake {
444441
finalPrice[base] = price.Quo(vp)
445442
}
446443
} else {
@@ -450,12 +447,13 @@ func (h *PriceOracleVoteExtHandler) extractPricesAndBlockHeaders(_ sdk.Context,
450447

451448
headers := []*types.BlockHeader{}
452449
for key, power := range headerStakes {
453-
if selected, ok := blockHeaders[key]; ok && power*2+1 > totalStake {
450+
if selected, ok := blockHeaders[key]; ok && power*2 >= totalStake {
454451
headers = append(headers, selected...)
455452
break
456453
}
457454
}
458-
return finalPrice, headers, nil
455+
456+
return count, finalPrice, headers, nil
459457
}
460458

461459
func voteExtensionEnabled(ctx sdk.Context, height int64) bool {

x/oracle/module/service.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ func Start(svrCtx *server.Context, clientCtx client.Context, ctx context.Context
2727

2828
if types.StartProviders {
2929

30-
svrCtx.Logger.Info("price service", "module", "oracle", "msg", "Start Oracle Price Subscriber")
31-
3230
go binance.Subscribe(svrCtx, ctx)
3331
go okex.Subscribe(svrCtx, ctx)
3432
go coinbase.Subscribe(svrCtx, ctx)

x/oracle/types/provider.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ func Subscribe(provider string, svrCtx *server.Context, ctx context.Context, url
3434
if c, _, err = websocket.DefaultDialer.Dial(url, nil); err == nil {
3535
reconnect = false
3636
sendMessage(c, msg)
37-
svrCtx.Logger.Info("connected price provider", "url", url)
37+
svrCtx.Logger.With("module", ModuleName).Info("connected price provider", "url", url)
3838
break
3939
} else {
40-
svrCtx.Logger.Error("re-connecting...", "error", err, "provider", provider)
40+
svrCtx.Logger.With("module", ModuleName).Error("re-connecting...", "error", err, "provider", provider)
4141
}
4242
}
4343
}
@@ -48,7 +48,7 @@ func Subscribe(provider string, svrCtx *server.Context, ctx context.Context, url
4848
CachePrice(provider, p)
4949
}
5050
} else {
51-
svrCtx.Logger.Error("provider disconnected", "error", err, "provider", provider)
51+
svrCtx.Logger.With("module", ModuleName).Error("provider disconnected", "error", err, "provider", provider)
5252
c.Close()
5353
reconnect = true
5454
}

0 commit comments

Comments
 (0)