node/governor: fix linter warnings
This commit is contained in:
parent
8de708193b
commit
990f8d1dbe
|
@ -14,7 +14,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// WARNING: Change me in ./node/governor as well
|
// WARNING: Change me in ./node/governor as well
|
||||||
const maxEnqueuedTime = time.Duration(time.Hour * 24)
|
const maxEnqueuedTime = time.Hour * 24
|
||||||
|
|
||||||
type GovernorDB interface {
|
type GovernorDB interface {
|
||||||
StoreTransfer(t *Transfer) error
|
StoreTransfer(t *Transfer) error
|
||||||
|
|
|
@ -230,7 +230,7 @@ func TestStorePendingMsg(t *testing.T) {
|
||||||
ConsistencyLevel: 16,
|
ConsistencyLevel: 16,
|
||||||
}
|
}
|
||||||
|
|
||||||
pending := &PendingTransfer{ReleaseTime: msg.Timestamp.Add(time.Duration(time.Hour * 72)), Msg: *msg}
|
pending := &PendingTransfer{ReleaseTime: msg.Timestamp.Add(time.Hour * 72), Msg: *msg}
|
||||||
|
|
||||||
err3 := db.StorePendingMsg(pending)
|
err3 := db.StorePendingMsg(pending)
|
||||||
require.NoError(t, err3)
|
require.NoError(t, err3)
|
||||||
|
@ -258,7 +258,7 @@ func TestDeletePendingMsg(t *testing.T) {
|
||||||
ConsistencyLevel: 16,
|
ConsistencyLevel: 16,
|
||||||
}
|
}
|
||||||
|
|
||||||
pending := &PendingTransfer{ReleaseTime: msg.Timestamp.Add(time.Duration(time.Hour * 72)), Msg: *msg}
|
pending := &PendingTransfer{ReleaseTime: msg.Timestamp.Add(time.Hour * 72), Msg: *msg}
|
||||||
|
|
||||||
err3 := db.StorePendingMsg(pending)
|
err3 := db.StorePendingMsg(pending)
|
||||||
require.NoError(t, err3)
|
require.NoError(t, err3)
|
||||||
|
@ -454,7 +454,7 @@ func TestLoadingOldPendingTransfers(t *testing.T) {
|
||||||
|
|
||||||
// Write the first pending event in the old format.
|
// Write the first pending event in the old format.
|
||||||
pending1 := &PendingTransfer{
|
pending1 := &PendingTransfer{
|
||||||
ReleaseTime: now.Add(time.Duration(time.Hour * 72)), // Since we are writing this in the old format, this will not get stored, but computed on reload.
|
ReleaseTime: now.Add(time.Hour * 72), // Since we are writing this in the old format, this will not get stored, but computed on reload.
|
||||||
Msg: common.MessagePublication{
|
Msg: common.MessagePublication{
|
||||||
TxHash: eth_common.HexToHash("0x06f541f5ecfc43407c31587aa6ac3a689e8960f36dc23c332db5510dfc6a4063"),
|
TxHash: eth_common.HexToHash("0x06f541f5ecfc43407c31587aa6ac3a689e8960f36dc23c332db5510dfc6a4063"),
|
||||||
Timestamp: now,
|
Timestamp: now,
|
||||||
|
@ -470,11 +470,11 @@ func TestLoadingOldPendingTransfers(t *testing.T) {
|
||||||
db.storeOldPendingMsg(t, &pending1.Msg)
|
db.storeOldPendingMsg(t, &pending1.Msg)
|
||||||
require.Nil(t, err)
|
require.Nil(t, err)
|
||||||
|
|
||||||
now2 := now.Add(time.Duration(time.Second * 5))
|
now2 := now.Add(time.Second * 5)
|
||||||
|
|
||||||
// Write the second one in the new format.
|
// Write the second one in the new format.
|
||||||
pending2 := &PendingTransfer{
|
pending2 := &PendingTransfer{
|
||||||
ReleaseTime: now2.Add(time.Duration(time.Hour * 71)), // Setting it to 71 hours so we can confirm it didn't get set to the default.
|
ReleaseTime: now2.Add(time.Hour * 71), // Setting it to 71 hours so we can confirm it didn't get set to the default.
|
||||||
Msg: common.MessagePublication{
|
Msg: common.MessagePublication{
|
||||||
TxHash: eth_common.HexToHash("0x06f541f5ecfc43407c31587aa6ac3a689e8960f36dc23c332db5510dfc6a4063"),
|
TxHash: eth_common.HexToHash("0x06f541f5ecfc43407c31587aa6ac3a689e8960f36dc23c332db5510dfc6a4063"),
|
||||||
Timestamp: now2,
|
Timestamp: now2,
|
||||||
|
@ -533,18 +533,16 @@ func marshalOldTransfer(xfer *Transfer) []byte {
|
||||||
return buf.Bytes()
|
return buf.Bytes()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Database) storeOldTransfer(t *testing.T, xfer *Transfer) error {
|
func (d *Database) storeOldTransfer(xfer *Transfer) error {
|
||||||
key := []byte(fmt.Sprintf("%v%v", oldTransfer, xfer.MsgID))
|
key := []byte(fmt.Sprintf("%v%v", oldTransfer, xfer.MsgID))
|
||||||
b := marshalOldTransfer(xfer)
|
b := marshalOldTransfer(xfer)
|
||||||
|
|
||||||
err := d.db.Update(func(txn *badger.Txn) error {
|
return d.db.Update(func(txn *badger.Txn) error {
|
||||||
if err := txn.Set(key, b); err != nil {
|
if err := txn.Set(key, b); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
require.NoError(t, err)
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDeserializeOfOldTransfer(t *testing.T) {
|
func TestDeserializeOfOldTransfer(t *testing.T) {
|
||||||
|
@ -603,7 +601,7 @@ func TestOldTransfersUpdatedWhenReloading(t *testing.T) {
|
||||||
// Do not set the Hash.
|
// Do not set the Hash.
|
||||||
}
|
}
|
||||||
|
|
||||||
err = db.storeOldTransfer(t, xfer1)
|
err = db.storeOldTransfer(xfer1)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// Write the second one in the new format.
|
// Write the second one in the new format.
|
||||||
|
|
|
@ -53,7 +53,7 @@ const (
|
||||||
)
|
)
|
||||||
|
|
||||||
// WARNING: Change me in ./node/db as well
|
// WARNING: Change me in ./node/db as well
|
||||||
const maxEnqueuedTime = time.Duration(time.Hour * 24)
|
const maxEnqueuedTime = time.Hour * 24
|
||||||
|
|
||||||
type (
|
type (
|
||||||
// Layout of the config data for each token
|
// Layout of the config data for each token
|
||||||
|
|
|
@ -32,7 +32,7 @@ func (gov *ChainGovernor) loadFromDBAlreadyLocked() error {
|
||||||
})
|
})
|
||||||
|
|
||||||
for _, p := range pending {
|
for _, p := range pending {
|
||||||
gov.reloadPendingTransfer(p, now)
|
gov.reloadPendingTransfer(p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ func (gov *ChainGovernor) loadFromDBAlreadyLocked() error {
|
||||||
startTime := now.Add(-time.Minute * time.Duration(gov.dayLengthInMinutes))
|
startTime := now.Add(-time.Minute * time.Duration(gov.dayLengthInMinutes))
|
||||||
for _, xfer := range xfers {
|
for _, xfer := range xfers {
|
||||||
if startTime.Before(xfer.Timestamp) {
|
if startTime.Before(xfer.Timestamp) {
|
||||||
gov.reloadTransfer(xfer, now, startTime)
|
gov.reloadTransfer(xfer)
|
||||||
} else {
|
} else {
|
||||||
if err := gov.db.DeleteTransfer(xfer); err != nil {
|
if err := gov.db.DeleteTransfer(xfer); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -56,7 +56,7 @@ func (gov *ChainGovernor) loadFromDBAlreadyLocked() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gov *ChainGovernor) reloadPendingTransfer(pending *db.PendingTransfer, now time.Time) {
|
func (gov *ChainGovernor) reloadPendingTransfer(pending *db.PendingTransfer) {
|
||||||
msg := &pending.Msg
|
msg := &pending.Msg
|
||||||
ce, exists := gov.chains[msg.EmitterChain]
|
ce, exists := gov.chains[msg.EmitterChain]
|
||||||
if !exists {
|
if !exists {
|
||||||
|
@ -156,7 +156,7 @@ func (gov *ChainGovernor) reloadPendingTransfer(pending *db.PendingTransfer, now
|
||||||
gov.msgsSeen[hash] = transferEnqueued
|
gov.msgsSeen[hash] = transferEnqueued
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gov *ChainGovernor) reloadTransfer(xfer *db.Transfer, now time.Time, startTime time.Time) {
|
func (gov *ChainGovernor) reloadTransfer(xfer *db.Transfer) {
|
||||||
ce, exists := gov.chains[xfer.EmitterChain]
|
ce, exists := gov.chains[xfer.EmitterChain]
|
||||||
if !exists {
|
if !exists {
|
||||||
gov.logger.Error("reloaded transfer for unsupported chain, dropping it",
|
gov.logger.Error("reloaded transfer for unsupported chain, dropping it",
|
||||||
|
|
|
@ -441,13 +441,13 @@ func (gov *ChainGovernor) CollectMetrics(hb *gossipv1.Heartbeat, sendC chan<- []
|
||||||
chain.String(), // chain_name
|
chain.String(), // chain_name
|
||||||
enabled, // enabled
|
enabled, // enabled
|
||||||
totalNotional, // total_notional
|
totalNotional, // total_notional
|
||||||
).Set(float64(available))
|
).Set(available)
|
||||||
|
|
||||||
metricEnqueuedVAAs.WithLabelValues(
|
metricEnqueuedVAAs.WithLabelValues(
|
||||||
chainId, // chain_id
|
chainId, // chain_id
|
||||||
chain.String(), // chain_name
|
chain.String(), // chain_name
|
||||||
enabled, // enabled
|
enabled, // enabled
|
||||||
).Set(float64(numPending))
|
).Set(numPending)
|
||||||
}
|
}
|
||||||
|
|
||||||
metricTotalEnqueuedVAAs.Set(float64(totalPending))
|
metricTotalEnqueuedVAAs.Set(float64(totalPending))
|
||||||
|
|
|
@ -213,7 +213,7 @@ func (gov *ChainGovernor) queryCoinGeckoChunk(query string) (map[string]interfac
|
||||||
var result map[string]interface{}
|
var result map[string]interface{}
|
||||||
|
|
||||||
gov.logger.Debug("executing CoinGecko query", zap.String("query", query))
|
gov.logger.Debug("executing CoinGecko query", zap.String("query", query))
|
||||||
response, err := http.Get(query) //nolint:gosec
|
response, err := http.Get(query) //nolint:gosec,noctx
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return result, fmt.Errorf("failed to query CoinGecko: %w", err)
|
return result, fmt.Errorf("failed to query CoinGecko: %w", err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
//nolint:unparam // we exclude the unparam linter because there are many cases here where parameters are static
|
||||||
package governor
|
package governor
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
@ -79,7 +80,7 @@ func (gov *ChainGovernor) setTokenForTesting(tokenChainID vaa.ChainID, tokenAddr
|
||||||
decimalsFloat := big.NewFloat(math.Pow(10.0, float64(8)))
|
decimalsFloat := big.NewFloat(math.Pow(10.0, float64(8)))
|
||||||
decimals, _ := decimalsFloat.Int(nil)
|
decimals, _ := decimalsFloat.Int(nil)
|
||||||
|
|
||||||
key := tokenKey{chain: vaa.ChainID(tokenChainID), addr: tokenAddr}
|
key := tokenKey{chain: tokenChainID, addr: tokenAddr}
|
||||||
te := &tokenEntry{cfgPrice: bigPrice, price: bigPrice, decimals: decimals, symbol: symbol, coinGeckoId: symbol, token: key}
|
te := &tokenEntry{cfgPrice: bigPrice, price: bigPrice, decimals: decimals, symbol: symbol, coinGeckoId: symbol, token: key}
|
||||||
gov.tokens[key] = te
|
gov.tokens[key] = te
|
||||||
cge, cgExists := gov.tokensByCoinGeckoId[te.coinGeckoId]
|
cge, cgExists := gov.tokensByCoinGeckoId[te.coinGeckoId]
|
||||||
|
@ -1504,11 +1505,11 @@ func TestDontReloadDuplicates(t *testing.T) {
|
||||||
assert.Equal(t, 4, len(pendings))
|
assert.Equal(t, 4, len(pendings))
|
||||||
|
|
||||||
for _, p := range xfers {
|
for _, p := range xfers {
|
||||||
gov.reloadTransfer(p, now, startTime)
|
gov.reloadTransfer(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range pendings {
|
for _, p := range pendings {
|
||||||
gov.reloadPendingTransfer(p, now)
|
gov.reloadPendingTransfer(p)
|
||||||
}
|
}
|
||||||
|
|
||||||
numTrans, valueTrans, numPending, valuePending := gov.getStatsForAllChains()
|
numTrans, valueTrans, numPending, valuePending := gov.getStatsForAllChains()
|
||||||
|
|
|
@ -36,8 +36,8 @@ func TestChainDailyLimitRange(t *testing.T) {
|
||||||
/* Assuming that a governed chains should always be more than zero and less than 50,000,001 */
|
/* Assuming that a governed chains should always be more than zero and less than 50,000,001 */
|
||||||
for _, chainConfigEntry := range chainConfigEntries {
|
for _, chainConfigEntry := range chainConfigEntries {
|
||||||
t.Run(chainConfigEntry.emitterChainID.String(), func(t *testing.T) {
|
t.Run(chainConfigEntry.emitterChainID.String(), func(t *testing.T) {
|
||||||
assert.Greater(t, chainConfigEntry.dailyLimit, uint64(min_daily_limit))
|
assert.Greater(t, chainConfigEntry.dailyLimit, min_daily_limit)
|
||||||
assert.Less(t, chainConfigEntry.dailyLimit, uint64(max_daily_limit))
|
assert.Less(t, chainConfigEntry.dailyLimit, max_daily_limit)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ func TestTokenListChainTokensPresent(t *testing.T) {
|
||||||
|
|
||||||
/* Assume that all chains within a token bridge will have governed tokens */
|
/* Assume that all chains within a token bridge will have governed tokens */
|
||||||
for e := range sdk.KnownTokenbridgeEmitters {
|
for e := range sdk.KnownTokenbridgeEmitters {
|
||||||
t.Run(vaa.ChainID(e).String(), func(t *testing.T) {
|
t.Run(e.String(), func(t *testing.T) {
|
||||||
found := false
|
found := false
|
||||||
for _, tokenConfigEntry := range tokenConfigEntries {
|
for _, tokenConfigEntry := range tokenConfigEntries {
|
||||||
if tokenConfigEntry.chain == uint16(e) {
|
if tokenConfigEntry.chain == uint16(e) {
|
||||||
|
|
Loading…
Reference in New Issue