diff --git a/app/app.go b/app/app.go index 6e5fea2b..aa1815ed 100644 --- a/app/app.go +++ b/app/app.go @@ -80,10 +80,13 @@ import ( "github.com/mycel-domain/mycel/docs" // Epochs + _ "github.com/mycel-domain/mycel/x/epochs/module" epochsmodulekeeper "github.com/mycel-domain/mycel/x/epochs/keeper" // Furnace + _ "github.com/mycel-domain/mycel/x/furnace/module" furnacemodulekeeper "github.com/mycel-domain/mycel/x/furnace/keeper" // Registry + _ "github.com/mycel-domain/mycel/x/registry/module" registrymodulekeeper "github.com/mycel-domain/mycel/x/registry/keeper" ) diff --git a/debug_container.dot b/debug_container.dot index f246d9ab..7a6bac80 100644 --- a/debug_container.dot +++ b/debug_container.dot @@ -1,3 +1,468 @@ digraph "" { + subgraph "cluster_auth" { + graph [fontsize="12.0", label="Module: auth", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_authz" { + graph [fontsize="12.0", label="Module: authz", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_bank" { + graph [fontsize="12.0", label="Module: bank", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_circuit" { + graph [fontsize="12.0", label="Module: circuit", penwidth="0.5", style="rounded"]; + "cosmossdk.io/x/circuit.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_consensus" { + graph [fontsize="12.0", label="Module: consensus", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_crisis" { + graph [fontsize="12.0", label="Module: crisis", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_distribution" { + graph [fontsize="12.0", label="Module: distribution", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_epochs" { + graph [fontsize="12.0", label="Module: epochs", penwidth="0.5", style="rounded"]; + "github.com/mycel-domain/mycel/x/epochs/module.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_evidence" { + graph [fontsize="12.0", label="Module: evidence", penwidth="0.5", style="rounded"]; + "cosmossdk.io/x/evidence.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_feegrant" { + graph [fontsize="12.0", label="Module: feegrant", penwidth="0.5", style="rounded"]; + "cosmossdk.io/x/feegrant/module.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_genutil" { + graph [fontsize="12.0", label="Module: genutil", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_gov" { + graph [fontsize="12.0", label="Module: gov", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideKeyTable"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_group" { + graph [fontsize="12.0", label="Module: group", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_mint" { + graph [fontsize="12.0", label="Module: mint", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_nft" { + graph [fontsize="12.0", label="Module: nft", penwidth="0.5", style="rounded"]; + "cosmossdk.io/x/nft/module.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_params" { + graph [fontsize="12.0", label="Module: params", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/params.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_runtime" { + graph [fontsize="12.0", label="Module: runtime", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideBasicManager"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideCometInfoService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideEventService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideGenesisTxHandler"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideHeaderInfoService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_slashing" { + graph [fontsize="12.0", label="Module: slashing", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_staking" { + graph [fontsize="12.0", label="Module: staking", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_tx" { + graph [fontsize="12.0", label="Module: tx", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideProtoRegistry"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_upgrade" { + graph [fontsize="12.0", label="Module: upgrade", penwidth="0.5", style="rounded"]; + "cosmossdk.io/x/upgrade.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + subgraph "cluster_vesting" { + graph [fontsize="12.0", label="Module: vesting", penwidth="0.5", style="rounded"]; + "github.com/cosmos/cosmos-sdk/x/auth/vesting.ProvideModule"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5", shape="box"]; + } + + "*cosmossdk.io/api/cosmos/app/runtime/v1alpha1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/app/v1alpha1.Config"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/auth/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/authz/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/bank/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/circuit/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/consensus/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/crisis/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/distribution/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/evidence/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/feegrant/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/genutil/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/gov/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/group/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/mint/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/nft/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/params/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/slashing/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/staking/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/tx/config/v1.Config"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/upgrade/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/api/cosmos/vesting/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/store/types.KVStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/store/types.MemoryStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/store/types.TransientStoreKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*cosmossdk.io/x/upgrade/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/baseapp.MsgServiceRouter"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/codec.LegacyAmino"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/x/crisis/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/x/gov/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "*github.com/mycel-domain/mycel/api/mycel/epochs/module/v1.Module"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "[]cosmossdk.io/x/tx/signing.CustomGetSigner"[color="lightgrey", comment="many-per-container", fontcolor="dimgrey", penwidth="0.5"]; + "[]github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1.HandlerRoute"[color="lightgrey", comment="many-per-container", fontcolor="dimgrey", penwidth="0.5"]; + "[]runtime.BaseAppOption"[color="lightgrey", comment="many-per-container", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/address.Codec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/appconfig.Compose"[color="black", fontcolor="black", penwidth="1.5", shape="box"]; + "cosmossdk.io/core/comet.BlockInfoService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/event.Service"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/genesis.TxHandler"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/header.Service"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/store.KVStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/store.MemoryStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/store.TransientStoreService"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/depinject.ModuleKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/depinject.OwnModuleKey"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/log.Logger"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/circuit/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/evidence/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/feegrant/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/nft.BankKeeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/nft/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/x/tx/signing.ProtoFileResolver"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "func() []signing.SignModeHandler"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "func() address.Codec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "func() runtime.ConsensusAddressCodec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "func() runtime.ValidatorAddressCodec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "func() types.AccountI"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/client.TxConfig"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/codec.Codec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/runtime.ConsensusAddressCodec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/runtime.ValidatorAddressCodec"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/server/types.AppOptions"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/auth/ante.FeegrantKeeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/auth/exported.Subspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/auth/tx.ConfigOptions"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/auth/vesting/types.BankKeeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/authz/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/bank/exported.Subspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/consensus/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/group/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/mint/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/params/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/params/types.Subspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/slashing/exported.Subspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/slashing/keeper.Keeper"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "github.com/cosmos/cosmos-sdk/x/staking/exported.Subspace"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "google.golang.org/protobuf/reflect/protodesc.Resolver"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "google.golang.org/protobuf/reflect/protoregistry.MessageTypeResolver"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "map[string]cosmossdk.io/core/appmodule.AppModule"[color="lightgrey", comment="one-per-module", fontcolor="dimgrey", penwidth="0.5"]; + "map[string]github.com/cosmos/cosmos-sdk/types/module.AppModuleBasic"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "map[string]github.com/cosmos/cosmos-sdk/x/params/types.KeyTable"[color="lightgrey", comment="one-per-module", fontcolor="dimgrey", penwidth="0.5"]; + "map[string]github.com/cosmos/cosmos-sdk/x/staking/types.StakingHooksWrapper"[color="lightgrey", comment="one-per-module", fontcolor="dimgrey", penwidth="0.5"]; + "types.InflationCalculationFn"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "types.RandomGenesisAccountsFn"[color="lightgrey", fontcolor="dimgrey", penwidth="0.5"]; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/app/v1alpha1.Config"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/app/runtime/v1alpha1.Module"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideApp"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "github.com/cosmos/cosmos-sdk/codec.Codec"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "*github.com/cosmos/cosmos-sdk/codec.LegacyAmino"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "*github.com/cosmos/cosmos-sdk/baseapp.MsgServiceRouter"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "google.golang.org/protobuf/reflect/protodesc.Resolver"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideApp" -> "google.golang.org/protobuf/reflect/protoregistry.MessageTypeResolver"; + "cosmossdk.io/core/address.Codec" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry"; + "github.com/cosmos/cosmos-sdk/runtime.ValidatorAddressCodec" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry"; + "[]cosmossdk.io/x/tx/signing.CustomGetSigner" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry" -> "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry"; + "*cosmossdk.io/api/cosmos/app/runtime/v1alpha1.Module" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey" -> "*cosmossdk.io/store/types.KVStoreKey"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreKey"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreKey"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreKey" -> "*cosmossdk.io/store/types.TransientStoreKey"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreKey"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreKey"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreKey" -> "*cosmossdk.io/store/types.MemoryStoreKey"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideGenesisTxHandler"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideGenesisTxHandler" -> "cosmossdk.io/core/genesis.TxHandler"; + "*cosmossdk.io/api/cosmos/app/runtime/v1alpha1.Module" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService" -> "cosmossdk.io/core/store.KVStoreService"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreService"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreService"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreService" -> "cosmossdk.io/core/store.MemoryStoreService"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreService"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreService"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreService" -> "cosmossdk.io/core/store.TransientStoreService"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideEventService" -> "cosmossdk.io/core/event.Service"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideHeaderInfoService"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideHeaderInfoService" -> "cosmossdk.io/core/header.Service"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideCometInfoService" -> "cosmossdk.io/core/comet.BlockInfoService"; + "*github.com/cosmos/cosmos-sdk/runtime.AppBuilder" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideBasicManager"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideBasicManager" -> "map[string]github.com/cosmos/cosmos-sdk/types/module.AppModuleBasic"; + "*cosmossdk.io/api/cosmos/auth/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"; + "*cosmossdk.io/api/cosmos/staking/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"; + "func() address.Codec" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"; + "func() runtime.ValidatorAddressCodec" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"; + "func() runtime.ConsensusAddressCodec" -> "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec" -> "cosmossdk.io/core/address.Codec"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec" -> "github.com/cosmos/cosmos-sdk/runtime.ValidatorAddressCodec"; + "github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec" -> "github.com/cosmos/cosmos-sdk/runtime.ConsensusAddressCodec"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/auth/module/v1.Module"; + "*cosmossdk.io/api/cosmos/auth/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "types.RandomGenesisAccountsFn" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "func() types.AccountI" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/exported.Subspace" -> "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper"; + "github.com/cosmos/cosmos-sdk/x/auth.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/nft/module/v1.Module"; + "cosmossdk.io/core/store.KVStoreService" -> "cosmossdk.io/x/nft/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "cosmossdk.io/x/nft/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "cosmossdk.io/x/nft/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "cosmossdk.io/x/nft/module.ProvideModule"; + "cosmossdk.io/x/nft.BankKeeper" -> "cosmossdk.io/x/nft/module.ProvideModule"; + "cosmossdk.io/x/nft/module.ProvideModule" -> "cosmossdk.io/x/nft/keeper.Keeper"; + "cosmossdk.io/x/nft/module.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/vesting/module/v1.Module"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/vesting.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/vesting/types.BankKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/vesting.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/vesting.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/bank/module/v1.Module"; + "*cosmossdk.io/api/cosmos/bank/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "cosmossdk.io/log.Logger" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/exported.Subspace" -> "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper"; + "github.com/cosmos/cosmos-sdk/x/bank.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/staking/module/v1.Module"; + "*cosmossdk.io/api/cosmos/staking/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/runtime.ValidatorAddressCodec" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/runtime.ConsensusAddressCodec" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/staking/exported.Subspace" -> "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule" -> "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/staking.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/slashing/module/v1.Module"; + "*cosmossdk.io/api/cosmos/slashing/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/codec.LegacyAmino" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/slashing/exported.Subspace" -> "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/slashing/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule" -> "map[string]github.com/cosmos/cosmos-sdk/x/staking/types.StakingHooksWrapper"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/params/module/v1.Module"; + "*cosmossdk.io/store/types.KVStoreKey" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideModule"; + "*cosmossdk.io/store/types.TransientStoreKey" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/codec.LegacyAmino" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/params.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/params/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/params.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/params.ProvideModule" -> "[]github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1.HandlerRoute"; + "cosmossdk.io/depinject.ModuleKey" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace"; + "github.com/cosmos/cosmos-sdk/x/params/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace"; + "map[string]github.com/cosmos/cosmos-sdk/x/params/types.KeyTable" -> "github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace"; + "github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace" -> "github.com/cosmos/cosmos-sdk/x/params/types.Subspace"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/tx/config/v1.Config"; + "*cosmossdk.io/api/cosmos/tx/config/v1.Config" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/runtime.ValidatorAddressCodec" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "cosmossdk.io/x/tx/signing.ProtoFileResolver" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/ante.FeegrantKeeper" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "func() []signing.SignModeHandler" -> "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule" -> "github.com/cosmos/cosmos-sdk/client.TxConfig"; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/auth/tx.ConfigOptions"; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule" -> "[]runtime.BaseAppOption"; + "github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideProtoRegistry" -> "cosmossdk.io/x/tx/signing.ProtoFileResolver"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/genutil/module/v1.Module"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule"; + "cosmossdk.io/core/genesis.TxHandler" -> "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule"; + "github.com/cosmos/cosmos-sdk/client.TxConfig" -> "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/authz/module/v1.Module"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/baseapp.MsgServiceRouter" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/authz/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/upgrade/module/v1.Module"; + "*cosmossdk.io/api/cosmos/upgrade/module/v1.Module" -> "cosmossdk.io/x/upgrade.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "cosmossdk.io/x/upgrade.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "cosmossdk.io/x/upgrade.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "cosmossdk.io/x/upgrade.ProvideModule"; + "github.com/cosmos/cosmos-sdk/server/types.AppOptions" -> "cosmossdk.io/x/upgrade.ProvideModule"; + "cosmossdk.io/x/upgrade.ProvideModule" -> "*cosmossdk.io/x/upgrade/keeper.Keeper"; + "cosmossdk.io/x/upgrade.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/x/upgrade.ProvideModule" -> "[]runtime.BaseAppOption"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/distribution/module/v1.Module"; + "*cosmossdk.io/api/cosmos/distribution/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/params/types.Subspace" -> "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule" -> "map[string]github.com/cosmos/cosmos-sdk/x/staking/types.StakingHooksWrapper"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/evidence/module/v1.Module"; + "cosmossdk.io/core/store.KVStoreService" -> "cosmossdk.io/x/evidence.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "cosmossdk.io/x/evidence.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "cosmossdk.io/x/evidence.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/slashing/keeper.Keeper" -> "cosmossdk.io/x/evidence.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "cosmossdk.io/x/evidence.ProvideModule"; + "cosmossdk.io/core/comet.BlockInfoService" -> "cosmossdk.io/x/evidence.ProvideModule"; + "cosmossdk.io/x/evidence.ProvideModule" -> "cosmossdk.io/x/evidence/keeper.Keeper"; + "cosmossdk.io/x/evidence.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/mint/module/v1.Module"; + "cosmossdk.io/depinject.OwnModuleKey" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "*cosmossdk.io/api/cosmos/mint/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "types.InflationCalculationFn" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/params/types.Subspace" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/mint/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/mint.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/group/module/v1.Module"; + "*cosmossdk.io/api/cosmos/group/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "*cosmossdk.io/store/types.KVStoreKey" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/baseapp.MsgServiceRouter" -> "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/group/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/feegrant/module/v1.Module"; + "cosmossdk.io/core/store.KVStoreService" -> "cosmossdk.io/x/feegrant/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "cosmossdk.io/x/feegrant/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "cosmossdk.io/x/feegrant/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "cosmossdk.io/x/feegrant/module.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec/types.InterfaceRegistry" -> "cosmossdk.io/x/feegrant/module.ProvideModule"; + "cosmossdk.io/x/feegrant/module.ProvideModule" -> "cosmossdk.io/x/feegrant/keeper.Keeper"; + "cosmossdk.io/x/feegrant/module.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/gov/module/v1.Module"; + "*cosmossdk.io/api/cosmos/gov/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "cosmossdk.io/depinject.OwnModuleKey" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/baseapp.MsgServiceRouter" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/auth/keeper.AccountKeeper" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "*github.com/cosmos/cosmos-sdk/x/staking/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/distribution/keeper.Keeper" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/params/types.Subspace" -> "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule" -> "*github.com/cosmos/cosmos-sdk/x/gov/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideModule" -> "[]github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1.HandlerRoute"; + "github.com/cosmos/cosmos-sdk/x/gov.ProvideKeyTable" -> "map[string]github.com/cosmos/cosmos-sdk/x/params/types.KeyTable"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/crisis/module/v1.Module"; + "*cosmossdk.io/api/cosmos/crisis/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "github.com/cosmos/cosmos-sdk/server/types.AppOptions" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/bank/keeper.BaseKeeper" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/params/types.Subspace" -> "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule" -> "*github.com/cosmos/cosmos-sdk/x/crisis/keeper.Keeper"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/consensus/module/v1.Module"; + "*cosmossdk.io/api/cosmos/consensus/module/v1.Module" -> "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule"; + "cosmossdk.io/core/event.Service" -> "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule"; + "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule" -> "github.com/cosmos/cosmos-sdk/x/consensus/keeper.Keeper"; + "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule" -> "[]runtime.BaseAppOption"; + "cosmossdk.io/core/appconfig.Compose" -> "*cosmossdk.io/api/cosmos/circuit/module/v1.Module"; + "*cosmossdk.io/api/cosmos/circuit/module/v1.Module" -> "cosmossdk.io/x/circuit.ProvideModule"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "cosmossdk.io/x/circuit.ProvideModule"; + "cosmossdk.io/core/store.KVStoreService" -> "cosmossdk.io/x/circuit.ProvideModule"; + "cosmossdk.io/core/address.Codec" -> "cosmossdk.io/x/circuit.ProvideModule"; + "cosmossdk.io/x/circuit.ProvideModule" -> "cosmossdk.io/x/circuit/keeper.Keeper"; + "cosmossdk.io/x/circuit.ProvideModule" -> "map[string]cosmossdk.io/core/appmodule.AppModule"; + "cosmossdk.io/x/circuit.ProvideModule" -> "[]runtime.BaseAppOption"; + "cosmossdk.io/core/appconfig.Compose" -> "*github.com/mycel-domain/mycel/api/mycel/epochs/module/v1.Module"; + "github.com/cosmos/cosmos-sdk/codec.Codec" -> "github.com/mycel-domain/mycel/x/epochs/module.ProvideModule"; } diff --git a/debug_container.log b/debug_container.log index 19e570d2..87822847 100644 --- a/debug_container.log +++ b/debug_container.log @@ -1,6 +1,156 @@ Initializing logger Registering providers - Failed registering providers because of: no module registered for type URL /mycel.epochs.module.v1.Module, did you forget to import github.com/mycel-domain/mycel/x/epochs: find more information on how to make a module ready for app wiring: https://docs.cosmos.network/main/building-modules/depinject + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideApp (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:84) + Registering resolver for simple type codec.Codec + Registering resolver for simple type *codec.LegacyAmino + Registering resolver for simple type *runtime.AppBuilder + Registering resolver for simple type *baseapp.MsgServiceRouter + Registering resolver for one-per-module type appmodule.AppModule + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering resolver for simple type protodesc.Resolver + Registering resolver for simple type protoregistry.MessageTypeResolver + Registering resolver for many-per-container type signing.CustomGetSigner + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideInterfaceRegistry (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:161) + Registering resolver for simple type types.InterfaceRegistry + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreKey (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:198) + Registering resolver for module-scoped type *types.KVStoreKey + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreKey (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:213) + Registering resolver for module-scoped type *types.TransientStoreKey + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreKey (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:219) + Registering resolver for module-scoped type *types.MemoryStoreKey + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideGenesisTxHandler (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:225) + Registering resolver for simple type genesis.TxHandler + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideKVStoreService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:229) + Registering resolver for module-scoped type store.KVStoreService + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideMemoryStoreService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:234) + Registering resolver for module-scoped type store.MemoryStoreService + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/runtime.ProvideTransientStoreService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:239) + Registering resolver for module-scoped type store.TransientStoreService + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideEventService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:244) + Registering resolver for simple type event.Service + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideHeaderInfoService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:252) + Registering resolver for simple type header.Service + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideCometInfoService (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:248) + Registering resolver for simple type comet.BlockInfoService + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideBasicManager (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:256) + Registering resolver for simple type module.BasicManager + Registering github.com/cosmos/cosmos-sdk/runtime.ProvideAddressCodec (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/runtime/module.go:281) + Registering resolver for simple type address.Codec + Registering resolver for simple type runtime.ValidatorAddressCodec + Registering resolver for simple type runtime.ConsensusAddressCodec + Registering github.com/cosmos/cosmos-sdk/x/auth.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/auth/module.go:209) + Registering resolver for simple type keeper.AccountKeeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type nft.AccountKeeper + Registering cosmossdk.io/x/nft/module.ProvideModule (/Users/taru/go/pkg/mod/cosmossdk.io/x/nft@v0.1.0/module/module.go:183) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering github.com/cosmos/cosmos-sdk/x/auth/vesting.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/auth/vesting/module.go:140) + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Registering github.com/cosmos/cosmos-sdk/x/bank.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/bank/module.go:227) + Registering resolver for simple type keeper.BaseKeeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Registering github.com/cosmos/cosmos-sdk/x/staking.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/staking/module.go:221) + Registering resolver for simple type *keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Registering github.com/cosmos/cosmos-sdk/x/slashing.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/slashing/module.go:230) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering resolver for one-per-module type types.StakingHooksWrapper + Found resolver for types.StakingHooksWrapper: *depinject.onePerModuleResolver + Registering github.com/cosmos/cosmos-sdk/x/params.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/params/module.go:129) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering resolver for many-per-container type v1beta1.HandlerRoute + Found resolver for v1beta1.HandlerRoute: *depinject.groupResolver + Registering resolver for one-per-module type types.KeyTable + Registering module-scoped provider: github.com/cosmos/cosmos-sdk/x/params.ProvideSubspace (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/params/module.go:146) + Registering resolver for module-scoped type types.Subspace + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type tx.BankKeeper + Implicitly registering resolver keeper.AccountKeeper for interface type ante.AccountKeeper + Registering github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/auth/tx/config/config.go:68) + Registering resolver for simple type client.TxConfig + Registering resolver for simple type tx.ConfigOptions + Registering resolver for many-per-container type runtime.BaseAppOption + Found resolver for runtime.BaseAppOption: *depinject.groupResolver + Registering github.com/cosmos/cosmos-sdk/x/auth/tx/config.ProvideProtoRegistry (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/auth/tx/config/config.go:64) + Registering resolver for simple type signing.ProtoFileResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Registering github.com/cosmos/cosmos-sdk/x/genutil.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/genutil/module.go:138) + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type authz.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type authz.BankKeeper + Implicitly registering resolver *baseapp.MsgServiceRouter for interface type baseapp.MessageRouter + Registering github.com/cosmos/cosmos-sdk/x/authz/module.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/authz/module/module.go:178) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering cosmossdk.io/x/upgrade.ProvideModule (/Users/taru/go/pkg/mod/cosmossdk.io/x/upgrade@v0.1.1/module.go:194) + Registering resolver for simple type *keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Found resolver for runtime.BaseAppOption: *depinject.groupResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Implicitly registering resolver types.Subspace for interface type exported.Subspace + Registering github.com/cosmos/cosmos-sdk/x/distribution.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/distribution/module.go:232) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Found resolver for types.StakingHooksWrapper: *depinject.onePerModuleResolver + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Implicitly registering resolver keeper.Keeper for interface type types.SlashingKeeper + Registering cosmossdk.io/x/evidence.ProvideModule (/Users/taru/go/pkg/mod/cosmossdk.io/x/evidence@v0.1.0/module.go:210) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver types.Subspace for interface type exported.Subspace + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Registering github.com/cosmos/cosmos-sdk/x/mint.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/mint/module.go:221) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type group.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type group.BankKeeper + Registering github.com/cosmos/cosmos-sdk/x/group/module.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/group/module/module.go:208) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type feegrant.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type feegrant.BankKeeper + Registering cosmossdk.io/x/feegrant/module.ProvideModule (/Users/taru/go/pkg/mod/cosmossdk.io/x/feegrant@v0.1.0/module/module.go:184) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.AccountKeeper for interface type types.AccountKeeper + Implicitly registering resolver keeper.BaseKeeper for interface type types.BankKeeper + Implicitly registering resolver *keeper.Keeper for interface type types.StakingKeeper + Implicitly registering resolver keeper.Keeper for interface type types.DistributionKeeper + Implicitly registering resolver types.Subspace for interface type types.ParamSubspace + Registering github.com/cosmos/cosmos-sdk/x/gov.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/gov/module.go:189) + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering resolver for simple type *keeper.Keeper + Found resolver for v1beta1.HandlerRoute: *depinject.groupResolver + Registering github.com/cosmos/cosmos-sdk/x/gov.ProvideKeyTable (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/gov/module.go:218) + Found resolver for types.KeyTable: *depinject.onePerModuleResolver + Implicitly registering resolver keeper.BaseKeeper for interface type types.SupplyKeeper + Implicitly registering resolver types.Subspace for interface type exported.Subspace + Registering github.com/cosmos/cosmos-sdk/x/crisis.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/crisis/module.go:201) + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Registering resolver for simple type *keeper.Keeper + Registering github.com/cosmos/cosmos-sdk/x/consensus.ProvideModule (/Users/taru/go/pkg/mod/github.com/cosmos/cosmos-sdk@v0.50.3/x/consensus/module.go:117) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Found resolver for runtime.BaseAppOption: *depinject.groupResolver + Registering cosmossdk.io/x/circuit.ProvideModule (/Users/taru/go/pkg/mod/cosmossdk.io/x/circuit@v0.1.0/module.go:154) + Registering resolver for simple type keeper.Keeper + Found resolver for appmodule.AppModule: *depinject.onePerModuleResolver + Found resolver for runtime.BaseAppOption: *depinject.groupResolver + Failed registering providers because of: Multiple implementations found for interface types.StoreKey: (1) attached stack trace -- stack trace: | cosmossdk.io/depinject.Configs.func1 @@ -23,11 +173,39 @@ Wraps: (2) attached stack trace -- stack trace: | cosmossdk.io/depinject.Configs.func1 | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:175 - | [...repeated from below...] + | cosmossdk.io/depinject.containerConfig.apply + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:185 + | cosmossdk.io/depinject.Configs.func1 + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:173 + | cosmossdk.io/depinject.containerConfig.apply + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:185 + | cosmossdk.io/depinject.doInject + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/inject.go:74 + | cosmossdk.io/depinject.inject + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/inject.go:45 + | cosmossdk.io/depinject.Inject + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/inject.go:19 + | github.com/mycel-domain/mycel/cmd/myceld/cmd.NewRootCmd + | /Users/taru/dev/mycel/mycel/cmd/myceld/cmd/root.go:41 + | main.main + | /Users/taru/dev/mycel/mycel/cmd/myceld/main.go:14 + | runtime.main + | /opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:267 Wraps: (3) attached stack trace -- stack trace: - | cosmossdk.io/depinject.Error.func1 - | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:165 + | cosmossdk.io/depinject.Configs.func1 + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:175 + | [...repeated from below...] +Wraps: (4) attached stack trace + -- stack trace: + | cosmossdk.io/depinject.provide + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:51 + | cosmossdk.io/depinject.ProvideInModule.func1 + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:39 + | cosmossdk.io/depinject.containerConfig.apply + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:185 + | cosmossdk.io/depinject.Configs.func1 + | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:173 | cosmossdk.io/depinject.containerConfig.apply | /Users/taru/go/pkg/mod/cosmossdk.io/depinject@v1.0.0-alpha.4/config.go:185 | cosmossdk.io/depinject.Configs.func1 @@ -52,52 +230,13 @@ Wraps: (3) attached stack trace | /opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/proc.go:267 | runtime.goexit | /opt/homebrew/Cellar/go/1.21.5/libexec/src/runtime/asm_arm64.s:1197 -Wraps: (4) no module registered for type URL /mycel.epochs.module.v1.Module, did you forget to import github.com/mycel-domain/mycel/x/epochs: find more information on how to make a module ready for app wiring: https://docs.cosmos.network/main/building-modules/depinject - | - | registered modules are: - | cosmos.authz.module.v1.Module - | cosmos.bank.module.v1.Module - | cosmos.distribution.module.v1.Module - | cosmos.tx.config.v1.Config - | cosmos.nft.module.v1.Module - | cosmos.vesting.module.v1.Module - | cosmos.params.module.v1.Module - | cosmos.crisis.module.v1.Module - | cosmos.consensus.module.v1.Module - | cosmos.auth.module.v1.Module - | cosmos.app.runtime.v1alpha1.Module - | cosmos.slashing.module.v1.Module - | cosmos.group.module.v1.Module - | cosmos.staking.module.v1.Module - | cosmos.evidence.module.v1.Module - | cosmos.circuit.module.v1.Module - | cosmos.upgrade.module.v1.Module - | cosmos.gov.module.v1.Module - | cosmos.genutil.module.v1.Module - | cosmos.mint.module.v1.Module - | cosmos.feegrant.module.v1.Module -Error types: (1) *withstack.withStack (2) *withstack.withStack (3) *withstack.withStack (4) *errors.errorString - Error: no module registered for type URL /mycel.epochs.module.v1.Module, did you forget to import github.com/mycel-domain/mycel/x/epochs: find more information on how to make a module ready for app wiring: https://docs.cosmos.network/main/building-modules/depinject -registered modules are: - cosmos.authz.module.v1.Module - cosmos.bank.module.v1.Module - cosmos.distribution.module.v1.Module - cosmos.tx.config.v1.Config - cosmos.nft.module.v1.Module - cosmos.vesting.module.v1.Module - cosmos.params.module.v1.Module - cosmos.crisis.module.v1.Module - cosmos.consensus.module.v1.Module - cosmos.auth.module.v1.Module - cosmos.app.runtime.v1alpha1.Module - cosmos.slashing.module.v1.Module - cosmos.group.module.v1.Module - cosmos.staking.module.v1.Module - cosmos.evidence.module.v1.Module - cosmos.circuit.module.v1.Module - cosmos.upgrade.module.v1.Module - cosmos.gov.module.v1.Module - cosmos.genutil.module.v1.Module - cosmos.mint.module.v1.Module - cosmos.feegrant.module.v1.Module +Wraps: (5) Multiple implementations found for interface types.StoreKey: + | cosmossdk.io/store/types/*types.KVStoreKey + | cosmossdk.io/store/types/*types.MemoryStoreKey + | cosmossdk.io/store/types/*types.TransientStoreKey +Error types: (1) *withstack.withStack (2) *withstack.withStack (3) *withstack.withStack (4) *withstack.withStack (5) depinject.ErrMultipleImplicitInterfaceBindings + Error: Multiple implementations found for interface types.StoreKey: + cosmossdk.io/store/types/*types.KVStoreKey + cosmossdk.io/store/types/*types.MemoryStoreKey + cosmossdk.io/store/types/*types.TransientStoreKey Saved graph of container to /Users/taru/dev/mycel/mycel/debug_container.dot diff --git a/x/epochs/keeper/abci_test.go b/x/epochs/keeper/abci_test.go index d2dd12b1..0e24351c 100644 --- a/x/epochs/keeper/abci_test.go +++ b/x/epochs/keeper/abci_test.go @@ -4,7 +4,7 @@ import ( "fmt" "time" - "github.com/mycel-domain/mycel/x/epochs" + "github.com/mycel-domain/mycel/x/epochs/module" "github.com/mycel-domain/mycel/x/epochs/types" ) diff --git a/x/epochs/module.go b/x/epochs/module.go deleted file mode 100644 index 9ed2d18d..00000000 --- a/x/epochs/module.go +++ /dev/null @@ -1,164 +0,0 @@ -package epochs - -import ( - "context" - "encoding/json" - "fmt" - "log" - "time" - - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - - "cosmossdk.io/core/appmodule" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/codec" - cdctypes "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/telemetry" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - - "github.com/mycel-domain/mycel/x/epochs/client/cli" - "github.com/mycel-domain/mycel/x/epochs/keeper" - "github.com/mycel-domain/mycel/x/epochs/types" -) - -var ( - _ module.AppModuleBasic = AppModuleBasic{} - _ module.HasGenesisBasics = AppModuleBasic{} - - _ appmodule.AppModule = AppModule{} - _ appmodule.HasBeginBlocker = AppModule{} - _ module.HasConsensusVersion = AppModule{} - _ module.HasGenesis = AppModule{} - _ module.HasServices = AppModule{} -) - -// ---------------------------------------------------------------------------- -// AppModuleBasic -// ---------------------------------------------------------------------------- - -// AppModuleBasic implements the AppModuleBasic interface that defines the independent methods a Cosmos SDK module needs to implement. -type AppModuleBasic struct { - cdc codec.BinaryCodec -} - -func NewAppModuleBasic(cdc codec.BinaryCodec) AppModuleBasic { - return AppModuleBasic{cdc: cdc} -} - -// Name returns the name of the module as a string -func (AppModuleBasic) Name() string { - return types.ModuleName -} - -// RegisterLegacyAminoCodec registers the amino codec for the module, which is used to marshal and unmarshal structs to/from []byte in order to persist them in the module's KVStore -func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { - types.RegisterCodec(cdc) -} - -// RegisterInterfaces registers a module's interface types and their concrete implementations as proto.Message -func (a AppModuleBasic) RegisterInterfaces(reg cdctypes.InterfaceRegistry) { - types.RegisterInterfaces(reg) -} - -// DefaultGenesis returns a default GenesisState for the module, marshalled to json.RawMessage. The default GenesisState need to be defined by the module developer and is primarily used for testing -func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { - return cdc.MustMarshalJSON(types.DefaultGenesis()) -} - -// ValidateGenesis used to validate the GenesisState, given in its json.RawMessage form -func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error { - var genState types.GenesisState - if err := cdc.UnmarshalJSON(bz, &genState); err != nil { - return fmt.Errorf("failed to unmarshal %s genesis state: %w", types.ModuleName, err) - } - return genState.Validate() -} - -// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the module -func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { - err := types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) - if err != nil { - log.Printf("%v", err) - } -} - -// GetTxCmd returns the root Tx command for the module. The subcommands of this root command are used by end-users to generate new transactions containing messages defined in the module -func (a AppModuleBasic) GetTxCmd() *cobra.Command { - return cli.GetTxCmd() -} - -// GetQueryCmd returns the root query command for the module. The subcommands of this root command are used by end-users to generate new queries to the subset of the state defined by the module -func (AppModuleBasic) GetQueryCmd() *cobra.Command { - return cli.GetQueryCmd(types.StoreKey) -} - -// ---------------------------------------------------------------------------- -// AppModule -// ---------------------------------------------------------------------------- - -// AppModule implements the AppModule interface that defines the inter-dependent methods that modules need to implement -type AppModule struct { - AppModuleBasic - - keeper keeper.Keeper - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper -} - -func NewAppModule( - cdc codec.Codec, - keeper keeper.Keeper, - accountKeeper types.AccountKeeper, - bankKeeper types.BankKeeper, -) AppModule { - return AppModule{ - AppModuleBasic: NewAppModuleBasic(cdc), - keeper: keeper, - accountKeeper: accountKeeper, - bankKeeper: bankKeeper, - } -} - -// IsAppModule implements the appmodule.AppModule interface. -func (am AppModule) IsAppModule() {} - -// IsOnePerModuleType is a marker function just indicates that this is a one-per-module type. -func (am AppModule) IsOnePerModuleType() {} - -// RegisterServices registers a gRPC query service to respond to the module-specific gRPC queries -func (am AppModule) RegisterServices(cfg module.Configurator) { - types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper)) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) -} - -// RegisterInvariants registers the invariants of the module. If an invariant deviates from its predicted value, the InvariantRegistry triggers appropriate logic (most often the chain will be halted) -func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} - -// InitGenesis performs the epochs module's genesis initialization It returns -// no validator updates. -func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, gs json.RawMessage) { - var genState types.GenesisState - // Initialize global index to index in genesis state - cdc.MustUnmarshalJSON(gs, &genState) - - InitGenesis(ctx, am.keeper, genState) -} - -// ExportGenesis returns the module's exported genesis state as raw JSON bytes. -func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { - genState := ExportGenesis(ctx, am.keeper) - return cdc.MustMarshalJSON(genState) -} - -// ConsensusVersion is a sequence number for state-breaking change of the module. It should be incremented on each consensus-breaking change introduced by the module. To avoid wrong/empty versions, the initial version should be set to 1 -func (AppModule) ConsensusVersion() uint64 { return 1 } - -// BeginBlock contains the logic that is automatically triggered at the beginning of each block -func (am AppModule) BeginBlock(ctx context.Context) error { - defer telemetry.ModuleMeasureSince(am.Name(), time.Now(), telemetry.MetricKeyBeginBlocker) - am.keeper.BeginBlocker(sdk.UnwrapSDKContext(ctx)) - return nil -} diff --git a/x/epochs/module/module.go b/x/epochs/module/module.go index 9ed2d18d..13857c4f 100644 --- a/x/epochs/module/module.go +++ b/x/epochs/module/module.go @@ -4,21 +4,24 @@ import ( "context" "encoding/json" "fmt" - "log" "time" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - "cosmossdk.io/core/appmodule" - + "cosmossdk.io/depinject" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + // this line is used by starport scaffolding # 1 + + modulev1 "github.com/mycel-domain/mycel/api/mycel/epochs/module/v1" "github.com/mycel-domain/mycel/x/epochs/client/cli" "github.com/mycel-domain/mycel/x/epochs/keeper" "github.com/mycel-domain/mycel/x/epochs/types" @@ -81,7 +84,6 @@ func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncod func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux) { err := types.RegisterQueryHandlerClient(context.Background(), mux, types.NewQueryClient(clientCtx)) if err != nil { - log.Printf("%v", err) } } @@ -162,3 +164,51 @@ func (am AppModule) BeginBlock(ctx context.Context) error { am.keeper.BeginBlocker(sdk.UnwrapSDKContext(ctx)) return nil } + +// ---------------------------------------------------------------------------- +// App Wiring Setup +// ---------------------------------------------------------------------------- + +func init() { + appmodule.Register( + &modulev1.Module{}, + appmodule.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + Cdc codec.Codec + StoreKey storetypes.StoreKey + MemKey storetypes.StoreKey + ParamStore paramtypes.Subspace + Config *modulev1.Module + + AccountKeeper types.AccountKeeper + BankKeeper types.BankKeeper +} + +type ModuleOutputs struct { + depinject.Out + + EpochsKeeper keeper.Keeper + Module appmodule.AppModule +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + k := keeper.NewKeeper( + in.Cdc, + in.StoreKey, + in.MemKey, + in.ParamStore, + ) + m := NewAppModule( + in.Cdc, + *k, + in.AccountKeeper, + in.BankKeeper, + ) + + return ModuleOutputs{EpochsKeeper: *k, Module: m} +} diff --git a/x/epochs/module/module_simulation.go b/x/epochs/module/module_simulation.go deleted file mode 100644 index 740b948f..00000000 --- a/x/epochs/module/module_simulation.go +++ /dev/null @@ -1,54 +0,0 @@ -package epochs - -import ( - "math/rand" - - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - - "github.com/mycel-domain/mycel/testutil/sample" - epochssimulation "github.com/mycel-domain/mycel/x/epochs/simulation" - "github.com/mycel-domain/mycel/x/epochs/types" -) - -// avoid unused import issue -var ( - _ = sample.AccAddress - _ = epochssimulation.FindAccount - _ = simulation.MsgEntryKind - _ = baseapp.Paramspace - _ = rand.Rand{} -) - -const ( -// this line is used by starport scaffolding # simapp/module/const -) - -// GenerateGenesisState creates a randomized GenState of the module -func (AppModule) GenerateGenesisState(simState *module.SimulationState) { - accs := make([]string, len(simState.Accounts)) - for i, acc := range simState.Accounts { - accs[i] = acc.Address.String() - } - epochsGenesis := types.GenesisState{ - Epochs: types.DefaultGenesis().Epochs, - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&epochsGenesis) -} - -// ProposalMsgs doesn't return any content functions for governance proposals -func (AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { - return nil -} - -// WeightedOperations returns the all the gov module operations with their respective weights. -func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { - operations := make([]simtypes.WeightedOperation, 0) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -} diff --git a/x/furnace/module/module.go b/x/furnace/module/module.go index 83a0ed2a..36f434ff 100644 --- a/x/furnace/module/module.go +++ b/x/furnace/module/module.go @@ -6,17 +6,20 @@ import ( "fmt" "log" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - "cosmossdk.io/core/appmodule" - + "cosmossdk.io/depinject" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + // this line is used by starport scaffolding # 1 + modulev1 "github.com/mycel-domain/mycel/api/mycel/furnace/module/v1" "github.com/mycel-domain/mycel/x/furnace/client/cli" "github.com/mycel-domain/mycel/x/furnace/keeper" "github.com/mycel-domain/mycel/x/furnace/types" @@ -101,22 +104,22 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { type AppModule struct { AppModuleBasic - keeper keeper.Keeper - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper + keeper keeper.Keeper + bankKeeper types.BankKeeper + epochsKeeper types.EpochsKeeper } func NewAppModule( cdc codec.Codec, keeper keeper.Keeper, - accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, + epochsKeeper types.EpochsKeeper, ) AppModule { return AppModule{ AppModuleBasic: NewAppModuleBasic(cdc), keeper: keeper, - accountKeeper: accountKeeper, bankKeeper: bankKeeper, + epochsKeeper: epochsKeeper, } } @@ -157,3 +160,53 @@ func (AppModule) ConsensusVersion() uint64 { return 1 } func (am AppModule) BeginBlock(_ context.Context) error { return nil } + +// ---------------------------------------------------------------------------- +// App Wiring Setup +// ---------------------------------------------------------------------------- + +func init() { + appmodule.Register( + &modulev1.Module{}, + appmodule.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + Cdc codec.Codec + StoreKey storetypes.StoreKey + MemKey storetypes.StoreKey + ParamStore paramtypes.Subspace + Config *modulev1.Module + + BankKeeper types.BankKeeper + EpochsKeeper types.EpochsKeeper +} + +type ModuleOutputs struct { + depinject.Out + + EpochsKeeper keeper.Keeper + Module appmodule.AppModule +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + k := keeper.NewKeeper( + in.Cdc, + in.StoreKey, + in.MemKey, + in.ParamStore, + in.BankKeeper, + in.EpochsKeeper, + ) + m := NewAppModule( + in.Cdc, + *k, + in.BankKeeper, + in.EpochsKeeper, + ) + + return ModuleOutputs{EpochsKeeper: *k, Module: m} +} diff --git a/x/furnace/module/module_simulation.go b/x/furnace/module/module_simulation.go deleted file mode 100644 index 5c36163a..00000000 --- a/x/furnace/module/module_simulation.go +++ /dev/null @@ -1,56 +0,0 @@ -package furnace - -import ( - "math/rand" - - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - - "github.com/mycel-domain/mycel/testutil/sample" - furnacesimulation "github.com/mycel-domain/mycel/x/furnace/simulation" - "github.com/mycel-domain/mycel/x/furnace/types" -) - -// avoid unused import issue -var ( - _ = sample.AccAddress - _ = furnacesimulation.FindAccount - _ = simulation.MsgEntryKind - _ = baseapp.Paramspace - _ = rand.Rand{} -) - -const ( -// this line is used by starport scaffolding # simapp/module/const -) - -// GenerateGenesisState creates a randomized GenState of the module. -func (AppModule) GenerateGenesisState(simState *module.SimulationState) { - accs := make([]string, len(simState.Accounts)) - for i, acc := range simState.Accounts { - accs[i] = acc.Address.String() - } - furnaceGenesis := types.GenesisState{ - Params: types.DefaultParams(), - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(&furnaceGenesis) -} - -// WeightedOperations returns the all the gov module operations with their respective weights. -func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { - operations := make([]simtypes.WeightedOperation, 0) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -} - -// ProposalMsgs returns msgs used for governance proposals for simulations. -func (am AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { - return []simtypes.WeightedProposalMsg{ - // this line is used by starport scaffolding # simapp/module/OpMsg - } -} diff --git a/x/registry/module/module.go b/x/registry/module/module.go index bb5e9753..1a4a0a60 100644 --- a/x/registry/module/module.go +++ b/x/registry/module/module.go @@ -6,17 +6,20 @@ import ( "fmt" "log" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - "cosmossdk.io/core/appmodule" - + "cosmossdk.io/depinject" + storetypes "cosmossdk.io/store/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" cdctypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" + paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" + "github.com/grpc-ecosystem/grpc-gateway/runtime" + "github.com/spf13/cobra" + // this line is used by starport scaffolding # 1 + modulev1 "github.com/mycel-domain/mycel/api/mycel/registry/module/v1" "github.com/mycel-domain/mycel/x/registry/client/cli" "github.com/mycel-domain/mycel/x/registry/keeper" "github.com/mycel-domain/mycel/x/registry/types" @@ -101,22 +104,31 @@ func (AppModuleBasic) GetQueryCmd() *cobra.Command { type AppModule struct { AppModuleBasic - keeper keeper.Keeper - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper + keeper keeper.Keeper + bankKeeper types.BankKeeper + distributionKeeper types.DistributionKeeper + mintKeeper types.MintKeeper + mintKeeperMinter types.MintKeeperMinter + furnaceKeeper types.FurnaceKeeper } func NewAppModule( cdc codec.Codec, keeper keeper.Keeper, - accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, + distributionKeeper types.DistributionKeeper, + mintKeeper types.MintKeeper, + mintKeeperMinter types.MintKeeperMinter, + furnaceKeeper types.FurnaceKeeper, ) AppModule { return AppModule{ - AppModuleBasic: NewAppModuleBasic(cdc), - keeper: keeper, - accountKeeper: accountKeeper, - bankKeeper: bankKeeper, + AppModuleBasic: NewAppModuleBasic(cdc), + keeper: keeper, + bankKeeper: bankKeeper, + distributionKeeper: distributionKeeper, + mintKeeper: mintKeeper, + mintKeeperMinter: mintKeeperMinter, + furnaceKeeper: furnaceKeeper, } } @@ -158,3 +170,61 @@ func (am AppModule) BeginBlock(ctx context.Context) error { // defer telemetry.ModuleMeasureSince(am.Name(), time.Now(), telemetry.MetricKeyBeginBlocker) return nil } + +// ---------------------------------------------------------------------------- +// App Wiring Setup +// ---------------------------------------------------------------------------- + +func init() { + appmodule.Register( + &modulev1.Module{}, + appmodule.Provide(ProvideModule), + ) +} + +type ModuleInputs struct { + depinject.In + + Cdc codec.Codec + StoreKey storetypes.StoreKey + MemKey storetypes.StoreKey + ParamStore paramtypes.Subspace + Config *modulev1.Module + BankKeeper types.BankKeeper + DistributionKeeper types.DistributionKeeper + MintKeeper types.MintKeeper + MintKeeperMinter types.MintKeeperMinter + FurnaceKeeper types.FurnaceKeeper +} + +type ModuleOutputs struct { + depinject.Out + + EpochsKeeper keeper.Keeper + Module appmodule.AppModule +} + +func ProvideModule(in ModuleInputs) ModuleOutputs { + k := keeper.NewKeeper( + in.Cdc, + in.StoreKey, + in.MemKey, + in.ParamStore, + in.BankKeeper, + in.DistributionKeeper, + in.MintKeeper, + in.MintKeeperMinter, + in.FurnaceKeeper, + ) + m := NewAppModule( + in.Cdc, + *k, + in.BankKeeper, + in.DistributionKeeper, + in.MintKeeper, + in.MintKeeperMinter, + in.FurnaceKeeper, + ) + + return ModuleOutputs{EpochsKeeper: *k, Module: m} +} diff --git a/x/registry/module/module_simulation.go b/x/registry/module/module_simulation.go deleted file mode 100644 index 4d5c6137..00000000 --- a/x/registry/module/module_simulation.go +++ /dev/null @@ -1,162 +0,0 @@ -package registry - -import ( - "math/rand" - - "github.com/cosmos/cosmos-sdk/baseapp" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/simulation" - - "github.com/mycel-domain/mycel/testutil/sample" - registrysimulation "github.com/mycel-domain/mycel/x/registry/simulation" - "github.com/mycel-domain/mycel/x/registry/types" -) - -// avoid unused import issue -var ( - _ = sample.AccAddress - _ = registrysimulation.FindAccount - _ = simulation.MsgEntryKind - _ = baseapp.Paramspace - _ = rand.Rand{} -) - -const ( - opWeightMsgUpdateWalletRecord = "op_weight_msg_update_wallet_record" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgUpdateWalletRecord int = 100 - - opWeightMsgRegisterSecondLevelDomain = "op_weight_msg_register_domain" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgRegisterSecondLevelDomain int = 100 - - opWeightMsgRegisterTopLevelDomain = "op_weight_msg_register_top_level_domain" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgRegisterTopLevelDomain int = 100 - - opWeightMsgWithdrawRegistrationFee = "op_weight_msg_withdraw_registration_fee" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgWithdrawRegistrationFee int = 100 - - opWeightMsgExtendTopLevelDomainExpirationDate = "op_weight_msg_extend_top_level_domain_expiration" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgExtendTopLevelDomainExpirationDate int = 100 - - opWeightMsgUpdateTextRecord = "op_weight_msg_update_text_record" // #nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgUpdateTextRecord int = 100 - - opWeightMsgUpdateTopLevelDomainRegistrationPolicy = "op_weight_msg_update_top_level_domain_registration_policy" //#nosec G101 - // TODO: Determine the simulation weight value - defaultWeightMsgUpdateTopLevelDomainRegistrationPolicy int = 100 - - // this line is used by starport scaffolding # simapp/module/const -) - -// GenerateGenesisState creates a randomized GenState of the module -func (AppModule) GenerateGenesisState(simState *module.SimulationState) { - accs := make([]string, len(simState.Accounts)) - for i, acc := range simState.Accounts { - accs[i] = acc.Address.String() - } - registryGenesis := types.GenesisState{ - Params: types.DefaultParams(), - // this line is used by starport scaffolding # simapp/module/genesisState - } - simState.GenState[types.ModuleName] = simState.Cdc.MustMarshalJSON(®istryGenesis) -} - -// ProposalMsgs doesn't return any content functions for governance proposals -func (AppModule) ProposalMsgs(simState module.SimulationState) []simtypes.WeightedProposalMsg { - return nil -} - -// WeightedOperations returns the all the gov module operations with their respective weights. -func (am AppModule) WeightedOperations(simState module.SimulationState) []simtypes.WeightedOperation { - operations := make([]simtypes.WeightedOperation, 0) - - var weightMsgUpdateWalletRecord int - simState.AppParams.GetOrGenerate(opWeightMsgUpdateWalletRecord, &weightMsgUpdateWalletRecord, nil, - func(_ *rand.Rand) { - weightMsgUpdateWalletRecord = defaultWeightMsgUpdateWalletRecord - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUpdateWalletRecord, - registrysimulation.SimulateMsgUpdateWalletRecord(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRegisterSecondLevelDomain int - simState.AppParams.GetOrGenerate(opWeightMsgRegisterSecondLevelDomain, &weightMsgRegisterSecondLevelDomain, nil, - func(_ *rand.Rand) { - weightMsgRegisterSecondLevelDomain = defaultWeightMsgRegisterSecondLevelDomain - }) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRegisterSecondLevelDomain, - registrysimulation.SimulateMsgRegisterSecondLevelDomain(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgRegisterTopLevelDomain int - simState.AppParams.GetOrGenerate(opWeightMsgRegisterTopLevelDomain, &weightMsgRegisterTopLevelDomain, nil, - func(_ *rand.Rand) { - weightMsgRegisterTopLevelDomain = defaultWeightMsgRegisterTopLevelDomain - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgRegisterTopLevelDomain, - registrysimulation.SimulateMsgRegisterTopLevelDomain(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgWithdrawRegistrationFee int - simState.AppParams.GetOrGenerate(opWeightMsgWithdrawRegistrationFee, &weightMsgWithdrawRegistrationFee, nil, - func(_ *rand.Rand) { - weightMsgWithdrawRegistrationFee = defaultWeightMsgWithdrawRegistrationFee - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgWithdrawRegistrationFee, - registrysimulation.SimulateMsgWithdrawRegistrationFee(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgExtendTopLevelDomainExpirationDate int - simState.AppParams.GetOrGenerate(opWeightMsgExtendTopLevelDomainExpirationDate, &weightMsgExtendTopLevelDomainExpirationDate, nil, - func(_ *rand.Rand) { - weightMsgExtendTopLevelDomainExpirationDate = defaultWeightMsgExtendTopLevelDomainExpirationDate - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgExtendTopLevelDomainExpirationDate, - registrysimulation.SimulateMsgExtendTopLevelDomainExpirationDate(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgUpdateTextRecord int - simState.AppParams.GetOrGenerate(opWeightMsgUpdateTextRecord, &weightMsgUpdateTextRecord, nil, - func(_ *rand.Rand) { - weightMsgUpdateTextRecord = defaultWeightMsgUpdateTextRecord - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUpdateTextRecord, - registrysimulation.SimulateMsgUpdateTextRecord(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - var weightMsgUpdateTopLevelDomainRegistrationPolicy int - simState.AppParams.GetOrGenerate(opWeightMsgUpdateTopLevelDomainRegistrationPolicy, &weightMsgUpdateTopLevelDomainRegistrationPolicy, nil, - func(_ *rand.Rand) { - weightMsgUpdateTopLevelDomainRegistrationPolicy = defaultWeightMsgUpdateTopLevelDomainRegistrationPolicy - }, - ) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUpdateTopLevelDomainRegistrationPolicy, - registrysimulation.SimulateMsgUpdateTopLevelDomainRegistrationPolicy(am.accountKeeper, am.bankKeeper, am.keeper), - )) - operations = append(operations, simulation.NewWeightedOperation( - weightMsgUpdateTopLevelDomainRegistrationPolicy, - registrysimulation.SimulateMsgUpdateTopLevelDomainRegistrationPolicy(am.accountKeeper, am.bankKeeper, am.keeper), - )) - - // this line is used by starport scaffolding # simapp/module/operation - - return operations -}