Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eventmanager #1714

Closed
wants to merge 19 commits into from
17 changes: 14 additions & 3 deletions app/keepers/keepers.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ import (
claimsmanagertypes "github.com/quicksilver-zone/quicksilver/x/claimsmanager/types"
epochskeeper "github.com/quicksilver-zone/quicksilver/x/epochs/keeper"
epochstypes "github.com/quicksilver-zone/quicksilver/x/epochs/types"
emkeeper "github.com/quicksilver-zone/quicksilver/x/eventmanager/keeper"
emtypes "github.com/quicksilver-zone/quicksilver/x/eventmanager/types"
interchainquerykeeper "github.com/quicksilver-zone/quicksilver/x/interchainquery/keeper"
interchainquerytypes "github.com/quicksilver-zone/quicksilver/x/interchainquery/types"
"github.com/quicksilver-zone/quicksilver/x/interchainstaking"
Expand Down Expand Up @@ -110,6 +112,7 @@ type AppKeepers struct {
ClaimsManagerKeeper claimsmanagerkeeper.Keeper
InterchainstakingKeeper *interchainstakingkeeper.Keeper
InterchainQueryKeeper interchainquerykeeper.Keeper
EventManagerKeeper emkeeper.Keeper
ParticipationRewardsKeeper *participationrewardskeeper.Keeper
AirdropKeeper *airdropkeeper.Keeper
SupplyKeeper supplykeeper.Keeper
Expand Down Expand Up @@ -376,8 +379,7 @@ func (appKeepers *AppKeepers) InitKeepers(
// claimsmanagerModule := claimsmanager.NewAppModule(appCodec, appKeepers.ClaimsManagerKeeper)

appKeepers.InterchainQueryKeeper = interchainquerykeeper.NewKeeper(appCodec, appKeepers.keys[interchainquerytypes.StoreKey], appKeepers.IBCKeeper)

// interchainQueryModule := interchainquery.NewAppModule(appCodec, appKeepers.InterchainQueryKeeper)
appKeepers.EventManagerKeeper = emkeeper.NewKeeper(appCodec, appKeepers.keys[emtypes.StoreKey])

appKeepers.InterchainstakingKeeper = interchainstakingkeeper.NewKeeper(
appCodec,
Expand All @@ -391,6 +393,7 @@ func (appKeepers *AppKeepers) InitKeepers(
appKeepers.IBCKeeper,
appKeepers.TransferKeeper,
appKeepers.ClaimsManagerKeeper,
appKeepers.EventManagerKeeper,
appKeepers.GetSubspace(interchainstakingtypes.ModuleName),
)

Expand All @@ -409,6 +412,7 @@ func (appKeepers *AppKeepers) InitKeepers(
&appKeepers.InterchainQueryKeeper,
appKeepers.InterchainstakingKeeper,
appKeepers.ClaimsManagerKeeper,
appKeepers.EventManagerKeeper,
authtypes.FeeCollectorName,
proofOpsFn,
selfProofOpsFn,
Expand All @@ -418,12 +422,18 @@ func (appKeepers *AppKeepers) InitKeepers(
panic(err)
}

// participationrewardsModule := participationrewards.NewAppModule(appCodec, appKeepers.ParticipationRewardsKeeper)
if err := appKeepers.EventManagerKeeper.SetCallbackHandler(interchainstakingtypes.ModuleName, appKeepers.InterchainstakingKeeper.EventCallbackHandler()); err != nil {
panic(err)
}

if err := appKeepers.InterchainQueryKeeper.SetCallbackHandler(participationrewardstypes.ModuleName, appKeepers.ParticipationRewardsKeeper.CallbackHandler()); err != nil {
panic(err)
}

if err := appKeepers.EventManagerKeeper.SetCallbackHandler(participationrewardstypes.ModuleName, appKeepers.ParticipationRewardsKeeper.EventCallbackHandler()); err != nil {
panic(err)
}

// Quicksilver Keepers
appKeepers.EpochsKeeper = epochskeeper.NewKeeper(appCodec, appKeepers.keys[epochstypes.StoreKey])
appKeepers.ParticipationRewardsKeeper.SetEpochsKeeper(appKeepers.EpochsKeeper)
Expand Down Expand Up @@ -535,6 +545,7 @@ func (*AppKeepers) initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *cod
paramsKeeper.Subspace(minttypes.ModuleName)
paramsKeeper.Subspace(interchainstakingtypes.ModuleName)
paramsKeeper.Subspace(interchainquerytypes.ModuleName)
paramsKeeper.Subspace(emtypes.ModuleName)
paramsKeeper.Subspace(participationrewardstypes.ModuleName)
paramsKeeper.Subspace(airdroptypes.ModuleName)

Expand Down
2 changes: 2 additions & 0 deletions app/keepers/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
airdroptypes "github.com/quicksilver-zone/quicksilver/x/airdrop/types"
claimsmanagertypes "github.com/quicksilver-zone/quicksilver/x/claimsmanager/types"
epochstypes "github.com/quicksilver-zone/quicksilver/x/epochs/types"
emtypes "github.com/quicksilver-zone/quicksilver/x/eventmanager/types"
interchainquerytypes "github.com/quicksilver-zone/quicksilver/x/interchainquery/types"
interchainstakingtypes "github.com/quicksilver-zone/quicksilver/x/interchainstaking/types"
minttypes "github.com/quicksilver-zone/quicksilver/x/mint/types"
Expand Down Expand Up @@ -61,6 +62,7 @@ func KVStoreKeys() []string {
epochstypes.StoreKey,
interchainstakingtypes.StoreKey,
interchainquerytypes.StoreKey,
emtypes.StoreKey,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Store upgrade handling needs to be implemented for the eventmanager module

The verification reveals that while there's a v1.9.0 upgrade handler, it doesn't include the required store upgrades for the new eventmanager module. For breaking changes involving new store keys:

  • The latest upgrade handler (v1.9.0) only contains basic version migrations
  • No store upgrades are defined for the eventmanager module
  • Store upgrades are necessary to properly handle the new emtypes.StoreKey

Action items:

  • Add eventmanager to store upgrades in the v1.9.0 upgrade handler
  • Include proper store initialization in the upgrade handler
  • Add upgrade tests to verify the store migration
🔗 Analysis chain

Verify upgrade handling for the new store key.

The store key addition is correctly placed. However, since adding a new store key is a breaking change:

  1. Ensure there's an upgrade handler to manage the state migration
  2. Verify that the upgrade path is properly tested

Let's verify the upgrade handling:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for upgrade handler implementation

# Look for upgrade handler related to eventmanager
rg -A 5 "func.*Upgrade.*Handler" 

# Check for eventmanager migrations
rg -A 5 "RegisterMigration.*event"

# Look for upgrade tests
rg -A 5 "TestUpgrade.*event"

Length of output: 5486


Script:

#!/bin/bash
# Let's check for the latest upgrade handler and store upgrades

# Check the latest upgrade version file
fd "v.*go" app/upgrades/ --exec ls -lt {} | head -n 1

# Look for store upgrades in the latest version
rg -A 10 "StoreUpgrades.*=" app/upgrades/

# Check if eventmanager is registered in the module manager
rg -A 5 "RegisterServices|NewAppModule.*event" 

# Look for any event manager related code in upgrades
rg -i "eventmanager|emkeeper" app/upgrades/

Length of output: 5757


Script:

#!/bin/bash
# Let's check the latest upgrade file content and store upgrades

# Check content of v1_9.go
cat app/upgrades/v1_9.go

# Check if there are any pending upgrades
rg "Upgrades\(\)" app/upgrades/ -A 10

# Look for store upgrade definitions
rg "NewStoreKeys|StoreUpgrades" app/upgrades/

Length of output: 1764

participationrewardstypes.StoreKey,
airdroptypes.StoreKey,
supplytypes.StoreKey,
Expand Down
10 changes: 9 additions & 1 deletion app/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ import (
claimsmanagertypes "github.com/quicksilver-zone/quicksilver/x/claimsmanager/types"
"github.com/quicksilver-zone/quicksilver/x/epochs"
epochstypes "github.com/quicksilver-zone/quicksilver/x/epochs/types"
"github.com/quicksilver-zone/quicksilver/x/eventmanager"
eventmanagertypes "github.com/quicksilver-zone/quicksilver/x/eventmanager/types"
"github.com/quicksilver-zone/quicksilver/x/interchainquery"
interchainquerytypes "github.com/quicksilver-zone/quicksilver/x/interchainquery/types"
"github.com/quicksilver-zone/quicksilver/x/interchainstaking"
Expand Down Expand Up @@ -107,6 +109,7 @@ var (
participationrewards.AppModuleBasic{},
airdrop.AppModuleBasic{},
supply.AppModuleBasic{},
eventmanager.AppModuleBasic{},
)

// module account permissions.
Expand Down Expand Up @@ -169,6 +172,7 @@ func appModules(
epochs.NewAppModule(appCodec, app.EpochsKeeper),
interchainstaking.NewAppModule(appCodec, app.InterchainstakingKeeper),
interchainquery.NewAppModule(appCodec, app.InterchainQueryKeeper),
eventmanager.NewAppModule(appCodec, app.EventManagerKeeper),
participationrewards.NewAppModule(appCodec, app.ParticipationRewardsKeeper),
airdrop.NewAppModule(appCodec, app.AirdropKeeper),
supply.NewAppModule(appCodec, app.SupplyKeeper),
Expand Down Expand Up @@ -207,6 +211,7 @@ func simulationModules(
epochs.NewAppModule(appCodec, app.EpochsKeeper),
interchainstaking.NewAppModule(appCodec, app.InterchainstakingKeeper),
interchainquery.NewAppModule(appCodec, app.InterchainQueryKeeper),
eventmanager.NewAppModule(appCodec, app.EventManagerKeeper),
participationrewards.NewAppModule(appCodec, app.ParticipationRewardsKeeper),
airdrop.NewAppModule(appCodec, app.AirdropKeeper),
// supply.NewAppModule(appCodec, app.SupplyKeeper),
Expand Down Expand Up @@ -237,7 +242,8 @@ func orderBeginBlockers() []string {
stakingtypes.ModuleName,
ibchost.ModuleName,
interchainstakingtypes.ModuleName,
interchainquerytypes.ModuleName, // check ordering here.
interchainquerytypes.ModuleName,
eventmanagertypes.ModuleName,
// no-op modules
ibctransfertypes.ModuleName,
icatypes.ModuleName,
Expand Down Expand Up @@ -297,6 +303,7 @@ func orderEndBlockers() []string {
participationrewardstypes.ModuleName,
airdroptypes.ModuleName,
supplytypes.ModuleName,
eventmanagertypes.ModuleName,
// currently no-op.
}
}
Expand Down Expand Up @@ -339,6 +346,7 @@ func orderInitBlockers() []string {
participationrewardstypes.ModuleName,
airdroptypes.ModuleName,
supplytypes.ModuleName,
eventmanagertypes.ModuleName,
// NOTE: crisis module must go at the end to check for invariants on each module
crisistypes.ModuleName,
}
Expand Down
5 changes: 5 additions & 0 deletions app/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
v6 "github.com/cosmos/ibc-go/v6/testing/simapp/upgrades/v6" // nolint:revive

"github.com/quicksilver-zone/quicksilver/app/upgrades"
emtypes "github.com/quicksilver-zone/quicksilver/x/eventmanager/types"
supplytypes "github.com/quicksilver-zone/quicksilver/x/supply/types"
)

Expand Down Expand Up @@ -76,6 +77,10 @@ func (app *Quicksilver) setUpgradeStoreLoaders() {
storeUpgrades = &storetypes.StoreUpgrades{
Deleted: []string{wasmModuleName, tfModuleName},
}
case upgrades.V010900UpgradeName:
storeUpgrades = &storetypes.StoreUpgrades{
Added: []string{emtypes.ModuleName},
}
default:
// no-op
}
Expand Down
1 change: 1 addition & 0 deletions app/upgrades/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ const (

V010700UpgradeName = "v1.7.0"
V010702UpgradeName = "v1.7.2"
V010900UpgradeName = "v1.9.0"
)

// Upgrade defines a struct containing necessary fields that a SoftwareUpgradeProposal
Expand Down
18 changes: 18 additions & 0 deletions app/upgrades/v1_9.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package upgrades

import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
"github.com/quicksilver-zone/quicksilver/app/keepers"
)

func V010900UpgradeHandler(
mm *module.Manager,
configurator module.Configurator,
appKeepers *keepers.AppKeepers,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return mm.RunMigrations(ctx, configurator, fromVM)
}
Comment on lines +15 to +17
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Add error handling for RunMigrations

The migration might fail, and it would be helpful to wrap the error with context about which upgrade failed.

-    return mm.RunMigrations(ctx, configurator, fromVM)
+    newVM, err := mm.RunMigrations(ctx, configurator, fromVM)
+    if err != nil {
+        return nil, fmt.Errorf("failed to run v1.9.0 upgrade migrations: %w", err)
+    }
+    return newVM, nil
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return mm.RunMigrations(ctx, configurator, fromVM)
}
return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
newVM, err := mm.RunMigrations(ctx, configurator, fromVM)
if err != nil {
return nil, fmt.Errorf("failed to run v1.9.0 upgrade migrations: %w", err)
}
return newVM, nil
}

}
Comment on lines +10 to +18
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Add EventManager migration logic

The upgrade handler currently only runs default migrations without initializing or migrating the new EventManager state. Given that this upgrade introduces the EventManager feature (as per PR objectives), consider adding custom migration logic to:

  1. Initialize EventManager state
  2. Migrate any existing async operations to the new event system
  3. Handle potential data inconsistencies during migration

Here's a suggested structure:

 func V010900UpgradeHandler(
   mm *module.Manager,
   configurator module.Configurator,
   appKeepers *keepers.AppKeepers,
 ) upgradetypes.UpgradeHandler {
   return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
+    // Initialize EventManager state
+    if err := initializeEventManager(ctx, appKeepers); err != nil {
+      return nil, err
+    }
+
+    // Migrate existing async operations if needed
+    if err := migrateAsyncOperations(ctx, appKeepers); err != nil {
+      return nil, err
+    }
+
     return mm.RunMigrations(ctx, configurator, fromVM)
   }
 }

Committable suggestion skipped: line range outside the PR's diff.

3 changes: 2 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ services:
- osmosisd
- start
hermes:
image: informalsystems/hermes:v1.8.0
image: informalsystems/hermes:v1.8.2
hostname: hermes
volumes:
- ./data/hermes:/home/hermes/.hermes
Expand All @@ -121,3 +121,4 @@ services:
- icq-relayer
- run
restart: always

14 changes: 6 additions & 8 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ go 1.23.3

require (
cosmossdk.io/errors v1.0.1
cosmossdk.io/math v1.3.0
cosmossdk.io/math v1.4.0
github.com/armon/go-metrics v0.4.1
github.com/celestiaorg/go-square/v2 v2.0.0
github.com/celestiaorg/nmt v0.22.2
Expand All @@ -13,6 +13,7 @@ require (
github.com/confio/ics23/go v0.9.1
github.com/cosmos/cosmos-proto v1.0.0-beta.5
github.com/cosmos/cosmos-sdk v0.46.16
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/gogoproto v1.7.0
github.com/cosmos/ibc-apps/middleware/packet-forward-middleware/v6 v6.1.2
github.com/cosmos/ibc-go/v6 v6.3.1
Expand All @@ -34,6 +35,7 @@ require (
github.com/tendermint/tendermint v0.34.33
github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b
go.opencensus.io v0.24.0
go.uber.org/zap v1.27.0
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
golang.org/x/tools v0.27.0
google.golang.org/genproto/googleapis/api v0.0.0-20240827150818-7e3bb234dfed
Expand Down Expand Up @@ -113,7 +115,6 @@ require (
github.com/coinbase/rosetta-sdk-go v0.8.5 // indirect
github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect
github.com/cosmos/btcutil v1.0.5 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/iavl v0.19.6 // indirect
github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect
github.com/creachadair/taskgroup v0.9.0 // indirect
Expand All @@ -126,7 +127,7 @@ require (
github.com/desertbit/timer v1.0.1 // indirect
github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
github.com/dgraph-io/badger/v4 v4.2.0 // indirect
github.com/dgraph-io/ristretto v0.1.1 // indirect
github.com/dgraph-io/ristretto v0.2.0 // indirect
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
Expand Down Expand Up @@ -159,7 +160,6 @@ require (
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
github.com/gofrs/flock v0.12.1 // indirect
github.com/gogo/gateway v1.1.0 // indirect
github.com/golang/glog v1.2.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb // indirect
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
Expand Down Expand Up @@ -317,11 +317,11 @@ require (
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect
go.opentelemetry.io/otel v1.29.0 // indirect
go.opentelemetry.io/otel/metric v1.29.0 // indirect
go.opentelemetry.io/otel/sdk v1.29.0 // indirect
go.opentelemetry.io/otel/trace v1.29.0 // indirect
go.uber.org/automaxprocs v1.6.0 // indirect
go.uber.org/mock v0.4.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/crypto v0.29.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20240909161429-701f63a606c0 //indirect
golang.org/x/mod v0.22.0 // indirect
Expand Down Expand Up @@ -359,6 +359,4 @@ replace (
github.com/tendermint/tm-db => github.com/notional-labs/tm-db v0.11.0
)

retract (
v1.7.0 // safety bug
)
retract v1.7.0 // safety bug
13 changes: 4 additions & 9 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1V
cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE=
cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k=
cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ=
cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
Expand Down Expand Up @@ -479,8 +479,7 @@ github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN
github.com/dgraph-io/badger/v4 v4.2.0 h1:kJrlajbXXL9DFTNuhhu9yCx7JJa4qpYWxtE8BzuWsEs=
github.com/dgraph-io/badger/v4 v4.2.0/go.mod h1:qfCqhPoWDFJRx1gp5QwwyGo8xk1lbHUxvK9nK0OGAak=
github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
github.com/dgraph-io/ristretto v0.2.0 h1:XAfl+7cmoUDWW/2Lx8TGZQjjxIQ2Ley9DSf52dru4WE=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
Expand Down Expand Up @@ -615,8 +614,6 @@ github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0=
github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic=
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY=
github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w=
github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
Expand Down Expand Up @@ -1371,8 +1368,7 @@ go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw=
go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8=
go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc=
go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8=
go.opentelemetry.io/otel/sdk v1.28.0 h1:b9d7hIry8yZsgtbmM0DKyPWMMUMlK9NEKuIG4aBqWyE=
go.opentelemetry.io/otel/sdk v1.28.0/go.mod h1:oYj7ClPUA7Iw3m+r7GeEjz0qckQRJK2B8zjcZEfu7Pg=
go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo=
go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4=
go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
Expand Down Expand Up @@ -1674,7 +1670,6 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
Expand Down
Loading
Loading