Some checks failed
Build SimApp / build (amd64) (push) Waiting to run
Build SimApp / build (arm64) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Build & Push / build (push) Waiting to run
Run Gosec / Gosec (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Checks dependencies and mocks generation / Check go mod tidy (push) Waiting to run
Checks dependencies and mocks generation / Check up to date mocks (push) Waiting to run
System Tests / setup (push) Waiting to run
System Tests / test-system (push) Blocked by required conditions
System Tests / test-system-legacy (push) Blocked by required conditions
Tests / Code Coverage / split-test-files (push) Waiting to run
Tests / Code Coverage / tests (00) (push) Blocked by required conditions
Tests / Code Coverage / tests (01) (push) Blocked by required conditions
Tests / Code Coverage / tests (02) (push) Blocked by required conditions
Tests / Code Coverage / tests (03) (push) Blocked by required conditions
Tests / Code Coverage / test-integration (push) Waiting to run
Tests / Code Coverage / test-e2e (push) Waiting to run
Tests / Code Coverage / repo-analysis (push) Blocked by required conditions
Tests / Code Coverage / test-sim-nondeterminism (push) Waiting to run
Tests / Code Coverage / test-clientv2 (push) Waiting to run
Tests / Code Coverage / test-core (push) Waiting to run
Tests / Code Coverage / test-depinject (push) Waiting to run
Tests / Code Coverage / test-errors (push) Waiting to run
Tests / Code Coverage / test-math (push) Waiting to run
Tests / Code Coverage / test-schema (push) Waiting to run
Tests / Code Coverage / test-collections (push) Waiting to run
Tests / Code Coverage / test-cosmovisor (push) Waiting to run
Tests / Code Coverage / test-confix (push) Waiting to run
Tests / Code Coverage / test-store (push) Waiting to run
Tests / Code Coverage / test-log (push) Waiting to run
Tests / Code Coverage / test-x-tx (push) Waiting to run
Tests / Code Coverage / test-x-nft (push) Waiting to run
Tests / Code Coverage / test-x-circuit (push) Waiting to run
Tests / Code Coverage / test-x-feegrant (push) Waiting to run
Tests / Code Coverage / test-x-evidence (push) Waiting to run
Tests / Code Coverage / test-x-upgrade (push) Waiting to run
Tests / Code Coverage / test-tools-benchmark (push) Waiting to run
Build & Push SDK Proto Builder / build (push) Has been cancelled
57 lines
No EOL
2.6 KiB
Protocol Buffer
57 lines
No EOL
2.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package cosmos.app.v1alpha1;
|
|
|
|
import "google/protobuf/any.proto";
|
|
|
|
option go_package = "cosmossdk.io/depinject/appconfig/v1alpha1";
|
|
|
|
// Config represents the configuration for a Cosmos SDK ABCI app.
|
|
// It is intended that all state machine logic including the version of
|
|
// baseapp and tx handlers (and possibly even Tendermint) that an app needs
|
|
// can be described in a config object. For compatibility, the framework should
|
|
// allow a mixture of declarative and imperative app wiring, however, apps
|
|
// that strive for the maximum ease of maintainability should be able to describe
|
|
// their state machine with a config object alone.
|
|
message Config {
|
|
// modules are the module configurations for the app.
|
|
repeated ModuleConfig modules = 1;
|
|
|
|
// golang_bindings specifies explicit interface to implementation type bindings which
|
|
// depinject uses to resolve interface inputs to provider functions. The scope of this
|
|
// field's configuration is global (not module specific).
|
|
repeated GolangBinding golang_bindings = 2;
|
|
}
|
|
|
|
// ModuleConfig is a module configuration for an app.
|
|
message ModuleConfig {
|
|
// name is the unique name of the module within the app. It should be a name
|
|
// that persists between different versions of a module so that modules
|
|
// can be smoothly upgraded to new versions.
|
|
//
|
|
// For example, for the module cosmos.bank.module.v1.Module, we may chose
|
|
// to simply name the module "bank" in the app. When we upgrade to
|
|
// cosmos.bank.module.v2.Module, the app-specific name "bank" stays the same
|
|
// and the framework knows that the v2 module should receive all the same state
|
|
// that the v1 module had. Note: modules should provide info on which versions
|
|
// they can migrate from in the ModuleDescriptor.can_migration_from field.
|
|
string name = 1;
|
|
|
|
// config is the config object for the module. Module config messages should
|
|
// define a ModuleDescriptor using the cosmos.app.v1alpha1.is_module extension.
|
|
google.protobuf.Any config = 2;
|
|
|
|
// golang_bindings specifies explicit interface to implementation type bindings which
|
|
// depinject uses to resolve interface inputs to provider functions. The scope of this
|
|
// field's configuration is module specific.
|
|
repeated GolangBinding golang_bindings = 3;
|
|
}
|
|
|
|
// GolangBinding is an explicit interface type to implementing type binding for dependency injection.
|
|
message GolangBinding {
|
|
// interface_type is the interface type which will be bound to a specific implementation type
|
|
string interface_type = 1;
|
|
|
|
// implementation is the implementing type which will be supplied when an input of type interface is requested
|
|
string implementation = 2;
|
|
} |