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

feat: Add nv22 skeleton #6268

Merged
merged 4 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/submodule/chain/chaininfo_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,7 @@ func (cia *chainInfoAPI) StateGetNetworkParams(ctx context.Context) (*types.Netw
UpgradeLightningHeight: cfg.NetworkParams.ForkUpgradeParam.UpgradeLightningHeight,
UpgradeThunderHeight: cfg.NetworkParams.ForkUpgradeParam.UpgradeThunderHeight,
UpgradeWatermelonHeight: cfg.NetworkParams.ForkUpgradeParam.UpgradeWatermelonHeight,
UpgradePineappleHeight: cfg.NetworkParams.ForkUpgradeParam.UpgradePineappleHeight,
},
Eip155ChainID: cfg.NetworkParams.Eip155ChainID,
}
Expand Down
3 changes: 2 additions & 1 deletion fixtures/networks/butterfly.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@ func ButterflySnapNet() *NetworkConf {
UpgradeHyggeHeight: -21,
UpgradeLightningHeight: -22,
UpgradeThunderHeight: -23,
UpgradeWatermelonHeight: 400,
UpgradeWatermelonHeight: -24,
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 999999999999999,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 1},
AddressNetwork: address.Testnet,
Expand Down
1 change: 1 addition & 0 deletions fixtures/networks/calibration.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ func Calibration() *NetworkConf {
UpgradeWatermelonHeight: 1013134, // 2023-10-19T13:00:00Z
UpgradeWatermelonFixHeight: 1070494, // 2023-11-07T13:00:00Z
UpgradeWatermelonFix2Height: 1108174, // 2023-11-21T13:00:00Z
UpgradePineappleHeight: 999999999999999,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 1},
AddressNetwork: address.Testnet,
Expand Down
5 changes: 3 additions & 2 deletions fixtures/networks/forcenet.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func ForceNet() *NetworkConf {
Network: config.NetworkParamsConfig{
DevNet: true,
NetworkType: types.NetworkForce,
GenesisNetworkVersion: network.Version20,
GenesisNetworkVersion: network.Version21,
ReplaceProofTypes: []abi.RegisteredSealProof{
abi.RegisteredSealProof_StackedDrg8MiBV1,
abi.RegisteredSealProof_StackedDrg512MiBV1,
Expand Down Expand Up @@ -57,9 +57,10 @@ func ForceNet() *NetworkConf {
UpgradeHyggeHeight: -21,
UpgradeLightningHeight: -22,
UpgradeThunderHeight: -23,
UpgradeWatermelonHeight: 200,
UpgradeWatermelonHeight: -24,
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 200,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: config.DrandMainnet},
AddressNetwork: address.Testnet,
Expand Down
1 change: 1 addition & 0 deletions fixtures/networks/integrationtestnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ func IntegrationNet() *NetworkConf {
UpgradeWatermelonHeight: 3431940,
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 9999999999999,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 5, 51000: 1},
AddressNetwork: address.Testnet,
Expand Down
3 changes: 2 additions & 1 deletion fixtures/networks/interopnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@ func InteropNet() *NetworkConf {
UpgradeHyggeHeight: -21,
UpgradeLightningHeight: -22,
UpgradeThunderHeight: -23,
UpgradeWatermelonHeight: 50,
UpgradeWatermelonHeight: -24,
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 50,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 1},
AddressNetwork: address.Testnet,
Expand Down
1 change: 1 addition & 0 deletions fixtures/networks/mainnet.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ func Mainnet() *NetworkConf {
UpgradeWatermelonHeight: 3469380, // 2023-12-12T13:30:00Z
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 9999999999999,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 5, 51000: 1},
AddressNetwork: address.Mainnet,
Expand Down
5 changes: 3 additions & 2 deletions fixtures/networks/net_2k.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ func Net2k() *NetworkConf {
Network: config.NetworkParamsConfig{
DevNet: true,
NetworkType: types.Network2k,
GenesisNetworkVersion: network.Version20,
GenesisNetworkVersion: network.Version21,
ReplaceProofTypes: []abi.RegisteredSealProof{
abi.RegisteredSealProof_StackedDrg2KiBV1,
abi.RegisteredSealProof_StackedDrg8MiBV1,
Expand Down Expand Up @@ -51,9 +51,10 @@ func Net2k() *NetworkConf {
UpgradeHyggeHeight: -21,
UpgradeLightningHeight: -22,
UpgradeThunderHeight: -23,
UpgradeWatermelonHeight: 200,
UpgradeWatermelonHeight: -24,
UpgradeWatermelonFixHeight: -100, // This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -101, // This fix upgrade only ran on calibrationnet
UpgradePineappleHeight: 200,
},
DrandSchedule: map[abi.ChainEpoch]config.DrandEnum{0: 1},
AddressNetwork: address.Testnet,
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ require (
github.com/filecoin-project/go-fil-markets v1.28.2
github.com/filecoin-project/go-jsonrpc v0.1.5
github.com/filecoin-project/go-paramfetch v0.0.4
github.com/filecoin-project/go-state-types v0.12.8
github.com/filecoin-project/go-state-types v0.12.9-0.20231205164216-231a5d9537a1
github.com/filecoin-project/pubsub v1.0.0
github.com/filecoin-project/specs-actors v0.9.15
github.com/filecoin-project/specs-actors/v2 v2.3.6
Expand Down
5 changes: 3 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,8 @@ github.com/filecoin-project/go-state-types v0.1.4/go.mod h1:xCA/WfKlC2zcn3fUmDv4
github.com/filecoin-project/go-state-types v0.1.6/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q=
github.com/filecoin-project/go-state-types v0.1.10/go.mod h1:UwGVoMsULoCK+bWjEdd/xLCvLAQFBC7EDT477SKml+Q=
github.com/filecoin-project/go-state-types v0.11.2-0.20230712101859-8f37624fa540/go.mod h1:SyNPwTsU7I22gL2r0OAPcImvLoTVfgRwdK/Y5rR1zz8=
github.com/filecoin-project/go-state-types v0.12.8 h1:W/UObdAsv+LbB9EfyLg92DSYoatzUWmlfV8FGyh30VA=
github.com/filecoin-project/go-state-types v0.12.8/go.mod h1:gR2NV0CSGSQwopxF+3In9nDh1sqvoYukLcs5vK0AHCA=
github.com/filecoin-project/go-state-types v0.12.9-0.20231205164216-231a5d9537a1 h1:XwF+/Aucg1wrYs5b/zV/m6BmKrftdGj4Ya/8iSkW0t8=
github.com/filecoin-project/go-state-types v0.12.9-0.20231205164216-231a5d9537a1/go.mod h1:gR2NV0CSGSQwopxF+3In9nDh1sqvoYukLcs5vK0AHCA=
github.com/filecoin-project/go-statemachine v0.0.0-20200925024713-05bd7c71fbfe/go.mod h1:FGwQgZAt2Gh5mjlwJUlVB62JeYdo+if0xWxSEfBD9ig=
github.com/filecoin-project/go-statemachine v1.0.3 h1:N07o6alys+V1tNoSTi4WuuoeNC4erS/6jE74+NsgQuk=
github.com/filecoin-project/go-statemachine v1.0.3/go.mod h1:jZdXXiHa61n4NmgWFG4w8tnqgvZVHYbJ3yW7+y8bF54=
Expand Down Expand Up @@ -2046,6 +2046,7 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/mysql v1.1.1 h1:yr1bpyqiwuSPJ4aGGUX9nu46RHXlF8RASQVb1QQNcvo=
Expand Down
2 changes: 2 additions & 0 deletions pkg/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ type ForkUpgradeConfig struct {
UpgradeWatermelonHeight abi.ChainEpoch `json:"upgradeWatermelonHeight"`
UpgradeWatermelonFixHeight abi.ChainEpoch `json:"upgradeWatermelonFixHeight"`
UpgradeWatermelonFix2Height abi.ChainEpoch `json:"upgradeWatermelonFix2Height"`
UpgradePineappleHeight abi.ChainEpoch `json:"upgradePineappleHeight"`
}

func IsNearUpgrade(epoch, upgradeEpoch abi.ChainEpoch) bool {
Expand Down Expand Up @@ -373,6 +374,7 @@ var DefaultForkUpgradeParam = &ForkUpgradeConfig{
UpgradeWatermelonFixHeight: -1,
// This fix upgrade only ran on calibrationnet
UpgradeWatermelonFix2Height: -2,
UpgradePineappleHeight: 999999999999,
}

func newDefaultNetworkParamsConfig() *NetworkParamsConfig {
Expand Down
2 changes: 1 addition & 1 deletion pkg/constants/shared_vals.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const TestNetworkVersion = network.Version{{.latestNetworkVersion}}

/* inline-gen start */

const TestNetworkVersion = network.Version21
const TestNetworkVersion = network.Version22

/* inline-gen end */

Expand Down
128 changes: 128 additions & 0 deletions pkg/fork/fork.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (
nv18 "github.com/filecoin-project/go-state-types/builtin/v10/migration"
nv19 "github.com/filecoin-project/go-state-types/builtin/v11/migration"
nv21 "github.com/filecoin-project/go-state-types/builtin/v12/migration"
nv22 "github.com/filecoin-project/go-state-types/builtin/v13/migration"
nv17 "github.com/filecoin-project/go-state-types/builtin/v9/migration"
"github.com/filecoin-project/go-state-types/migration"
"github.com/filecoin-project/specs-actors/actors/migration/nv3"
Expand Down Expand Up @@ -412,6 +413,18 @@ func DefaultUpgradeSchedule(cf *ChainFork, upgradeHeight *config.ForkUpgradeConf
Network: network.Version21,
Migration: cf.buildUpgradeActorsV12MinerFix(calibnetv12BuggyMinerCID2, calibnetv12CorrectManifestCID1),
},
{
Height: upgradeHeight.UpgradePineappleHeight,
Network: network.Version22,
Migration: cf.UpgradeActorsV13,
PreMigrations: []PreMigration{{
PreMigration: cf.PreUpgradeActorsV13,
StartWithin: 120,
DontStartWithin: 15,
StopWithin: 10,
}},
Expensive: true,
},
}

for _, u := range updates {
Expand Down Expand Up @@ -2824,6 +2837,121 @@ func (c *ChainFork) upgradeActorsV12Common(
return newRoot, nil
}

func (c *ChainFork) PreUpgradeActorsV13(ctx context.Context,
cache MigrationCache,
root cid.Cid,
epoch abi.ChainEpoch,
ts *types.TipSet,
) error {
// Use half the CPUs for pre-migration, but leave at least 3.
workerCount := MigrationMaxWorkerCount
if workerCount <= 4 {
workerCount = 1
} else {
workerCount /= 2
}

nv := c.GetNetworkVersion(ctx, epoch)
lbts, lbRoot, err := c.cr.GetLookbackTipSetForRound(ctx, ts, epoch, nv)
if err != nil {
return fmt.Errorf("error getting lookback ts for premigration: %w", err)
}

config := migration.Config{
MaxWorkers: uint(workerCount),
ProgressLogPeriod: time.Minute * 5,
}

_, err = c.upgradeActorsV13Common(ctx, cache, lbRoot, epoch, lbts, config)
return err
}

func (c *ChainFork) UpgradeActorsV13(ctx context.Context,
cache MigrationCache,
root cid.Cid,
epoch abi.ChainEpoch,
ts *types.TipSet,
) (cid.Cid, error) {
// Use all the CPUs except 2.
workerCount := MigrationMaxWorkerCount - 3
if workerCount <= 0 {
workerCount = 1
}
config := migration.Config{
MaxWorkers: uint(workerCount),
JobQueueSize: 1000,
ResultQueueSize: 100,
ProgressLogPeriod: 10 * time.Second,
}
newRoot, err := c.upgradeActorsV13Common(ctx, cache, root, epoch, ts, config)
if err != nil {
return cid.Undef, fmt.Errorf("migrating actors v11 state: %w", err)
}
return newRoot, nil
}

func (c *ChainFork) upgradeActorsV13Common(ctx context.Context,
cache MigrationCache,
root cid.Cid,
epoch abi.ChainEpoch,
ts *types.TipSet,
config migration.Config,
) (cid.Cid, error) {
writeStore := blockstoreutil.NewAutobatch(ctx, c.bs, units.GiB/4)
adtStore := adt.WrapStore(ctx, cbor.NewCborStore(writeStore))

// ensure that the manifest is loaded in the blockstore
if err := actors.LoadBundles(ctx, writeStore, actorstypes.Version13); err != nil {
return cid.Undef, fmt.Errorf("failed to load manifest bundle: %w", err)
}

// Load the state root.
var stateRoot vmstate.StateRoot
if err := adtStore.Get(ctx, root, &stateRoot); err != nil {
return cid.Undef, fmt.Errorf("failed to decode state root: %w", err)
}

if stateRoot.Version != vmstate.StateTreeVersion5 {
return cid.Undef, fmt.Errorf(
"expected state root version 5 for actors v13 upgrade, got %d",
stateRoot.Version,
)
}

manifest, ok := actors.GetManifest(actorstypes.Version13)
if !ok {
return cid.Undef, fmt.Errorf("no manifest CID for v13 upgrade")
}

// Perform the migration
newHamtRoot, err := nv22.MigrateStateTree(ctx, adtStore, manifest, stateRoot.Actors, epoch, config,
migrationLogger{}, cache)
if err != nil {
return cid.Undef, fmt.Errorf("upgrading to actors v11: %w", err)
}

// Persist the result.
newRoot, err := adtStore.Put(ctx, &vmstate.StateRoot{
Version: vmstate.StateTreeVersion5,
Actors: newHamtRoot,
Info: stateRoot.Info,
})
if err != nil {
return cid.Undef, fmt.Errorf("failed to persist new state root: %w", err)
}

// Persists the new tree and shuts down the flush worker
if err := writeStore.Flush(ctx); err != nil {
return cid.Undef, fmt.Errorf("writeStore flush failed: %w", err)
}

if err := writeStore.Shutdown(ctx); err != nil {
return cid.Undef, fmt.Errorf("writeStore shutdown failed: %w", err)
}

return newRoot, nil
}

// ////////////////////
func (c *ChainFork) buildUpgradeActorsV12MinerFix(oldBuggyMinerCID, newManifestCID cid.Cid) func(ctx context.Context, cache MigrationCache, root cid.Cid, epoch abi.ChainEpoch, ts *types.TipSet) (cid.Cid, error) {
return func(ctx context.Context, cache MigrationCache, root cid.Cid, epoch abi.ChainEpoch, ts *types.TipSet) (cid.Cid, error) {
Expand Down
8 changes: 4 additions & 4 deletions pkg/paychmgr/paych_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ import (
"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
paychtypes "github.com/filecoin-project/go-state-types/builtin/v8/paych"
"github.com/filecoin-project/go-state-types/crypto"
"github.com/filecoin-project/specs-actors/v2/actors/builtin"
paych2 "github.com/filecoin-project/specs-actors/v2/actors/builtin/paych"
tutils "github.com/filecoin-project/specs-actors/v6/support/testing"

crypto2 "github.com/filecoin-project/venus/pkg/crypto"
Expand Down Expand Up @@ -643,7 +643,7 @@ func TestCheckSpendable(t *testing.T) {

// Check that the secret was passed through correctly
lastCall := s.mock.getLastCall()
var p paych2.UpdateChannelStateParams
var p paychtypes.UpdateChannelStateParams
err = p.UnmarshalCBOR(bytes.NewReader(lastCall.Params))
require.NoError(t, err)
require.Equal(t, secret, p.Secret)
Expand Down Expand Up @@ -698,7 +698,7 @@ func TestSubmitVoucher(t *testing.T) {

// Check that the secret was passed through correctly
msg := s.mock.pushedMessages(submitCid)
var p paych2.UpdateChannelStateParams
var p paychtypes.UpdateChannelStateParams
err = p.UnmarshalCBOR(bytes.NewReader(msg.Message.Params))
require.NoError(t, err)

Expand All @@ -710,7 +710,7 @@ func TestSubmitVoucher(t *testing.T) {
require.NoError(t, err)

msg = s.mock.pushedMessages(submitCid)
var p3 paych2.UpdateChannelStateParams
var p3 paychtypes.UpdateChannelStateParams
err = p3.UnmarshalCBOR(bytes.NewReader(msg.Message.Params))
require.NoError(t, err)

Expand Down
2 changes: 1 addition & 1 deletion pkg/state/tree/state.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ func VersionForNetwork(ver network.Version) (StateTreeVersion, error) {
return StateTreeVersion3, nil
case network.Version13, network.Version14, network.Version15, network.Version16, network.Version17:
return StateTreeVersion4, nil
case network.Version18, network.Version19, network.Version20, network.Version21:
case network.Version18, network.Version19, network.Version20, network.Version21, network.Version22:
return StateTreeVersion5, nil
default:
panic(fmt.Sprintf("unsupported network version %d", ver))
Expand Down
1 change: 1 addition & 0 deletions pkg/vm/register/default.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ func GetDefaultActros() *dispatch.CodeLoader {
DefaultActorBuilder.AddMany(actorstypes.Version10, dispatch.ActorsVersionPredicate(actorstypes.Version10), builtin.MakeRegistry(actorstypes.Version10))
DefaultActorBuilder.AddMany(actorstypes.Version11, dispatch.ActorsVersionPredicate(actorstypes.Version11), builtin.MakeRegistry(actorstypes.Version11))
DefaultActorBuilder.AddMany(actorstypes.Version12, dispatch.ActorsVersionPredicate(actorstypes.Version12), builtin.MakeRegistry(actorstypes.Version12))
DefaultActorBuilder.AddMany(actorstypes.Version13, dispatch.ActorsVersionPredicate(actorstypes.Version13), builtin.MakeRegistry(actorstypes.Version13))
defaultActors = DefaultActorBuilder.Build()
})

Expand Down
12 changes: 6 additions & 6 deletions venus-devtool/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ require (
github.com/filecoin-project/go-data-transfer/v2 v2.0.0-rc7
github.com/filecoin-project/go-fil-markets v1.28.3
github.com/filecoin-project/go-jsonrpc v0.3.1
github.com/filecoin-project/go-state-types v0.12.8
github.com/filecoin-project/lotus v1.24.0
github.com/filecoin-project/go-state-types v0.12.9-0.20231205164216-231a5d9537a1
github.com/filecoin-project/lotus v1.25.3-0.20240111155443-13248220a923
github.com/filecoin-project/venus v0.0.0-00010101000000-000000000000
github.com/google/uuid v1.3.0
github.com/ipfs/go-block-format v0.1.2
github.com/ipfs/go-cid v0.4.1
github.com/ipfs/go-graphsync v0.14.6
github.com/ipld/go-ipld-selector-text-lite v0.0.1
github.com/libp2p/go-libp2p v0.30.0
github.com/libp2p/go-libp2p v0.31.1
github.com/libp2p/go-libp2p-pubsub v0.9.3
github.com/multiformats/go-multiaddr v0.11.0
github.com/multiformats/go-multiaddr v0.12.1
github.com/urfave/cli/v2 v2.25.5
github.com/whyrusleeping/cbor-gen v0.0.0-20230923211252-36a87e1ba72f
golang.org/x/tools v0.12.1-0.20230815132531-74c255bcf846
Expand Down Expand Up @@ -170,10 +170,10 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/polydawn/refmt v0.89.0 // indirect
github.com/prometheus/client_golang v1.14.0 // indirect
github.com/prometheus/client_golang v1.16.0 // indirect
github.com/prometheus/client_model v0.4.0 // indirect
github.com/prometheus/common v0.42.0 // indirect
github.com/prometheus/procfs v0.9.0 // indirect
github.com/prometheus/procfs v0.10.1 // indirect
github.com/prometheus/statsd_exporter v0.23.0 // indirect
github.com/puzpuzpuz/xsync/v2 v2.4.1 // indirect
github.com/raulk/clock v1.1.0 // indirect
Expand Down
Loading
Loading