Skip to content

Commit 8cfb203

Browse files
authored
Merge branch 'main' into dang/add-reset-method-for-circuit-module
2 parents aa9e94b + fdccc84 commit 8cfb203

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+2211
-370
lines changed

client/v2/autocli/app.go

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package autocli
22

33
import (
4+
"github.com/cosmos/gogoproto/proto"
45
"github.com/spf13/cobra"
56
"google.golang.org/grpc"
67
"google.golang.org/protobuf/reflect/protoregistry"
@@ -9,12 +10,15 @@ import (
910
"cosmossdk.io/client/v2/autocli/flag"
1011
"cosmossdk.io/core/appmodule"
1112
"cosmossdk.io/depinject"
13+
"cosmossdk.io/log"
14+
"cosmossdk.io/x/tx/signing"
1215

1316
"github.com/cosmos/cosmos-sdk/client"
1417
sdkflags "github.com/cosmos/cosmos-sdk/client/flags"
18+
"github.com/cosmos/cosmos-sdk/codec/types"
1519
)
1620

17-
// AppOptions are autocli options for an app. These options can be built via depinject based on an app config. Ex:
21+
// AppOptions are input options for an autocli enabled app. These options can be built via depinject based on an app config.
1822
// Ex:
1923
//
2024
// var autoCliOpts autocli.AppOptions
@@ -36,6 +40,8 @@ type AppOptions struct {
3640

3741
// ClientCtx contains the necessary information needed to execute the commands.
3842
ClientCtx client.Context
43+
44+
skipValidation bool
3945
}
4046

4147
// EnhanceRootCommand enhances the provided root command with autocli AppOptions,
@@ -76,8 +82,10 @@ func (appOptions AppOptions) EnhanceRootCommand(rootCmd *cobra.Command) error {
7682
}
7783

7884
func (appOptions AppOptions) EnhanceRootCommandWithBuilder(rootCmd *cobra.Command, builder *Builder) error {
79-
if err := builder.ValidateAndComplete(); err != nil {
80-
return err
85+
if !appOptions.skipValidation {
86+
if err := builder.ValidateAndComplete(); err != nil {
87+
return err
88+
}
8189
}
8290

8391
// extract any custom commands from modules
@@ -127,3 +135,49 @@ func (appOptions AppOptions) EnhanceRootCommandWithBuilder(rootCmd *cobra.Comman
127135

128136
return nil
129137
}
138+
139+
// NewAppOptionsFromConfig returns AppOptions for an app based on the provided modulesConfig and moduleOptions.
140+
// It returns an AppOptions instance usable for CLI parsing but not execution. For an execution usable AppOptions
141+
// see ProvideAppOptions, which expects input to be filled by depinject.
142+
func NewAppOptionsFromConfig(
143+
modulesConfig depinject.Config,
144+
moduleOptions map[string]*autocliv1.ModuleOptions,
145+
) (AppOptions, error) {
146+
interfaceRegistry, err := types.NewInterfaceRegistryWithOptions(types.InterfaceRegistryOptions{
147+
ProtoFiles: proto.HybridResolver,
148+
SigningOptions: signing.Options{
149+
AddressCodec: nopAddressCodec{},
150+
ValidatorAddressCodec: nopAddressCodec{},
151+
},
152+
})
153+
if err != nil {
154+
return AppOptions{}, err
155+
}
156+
cfg := struct {
157+
depinject.In
158+
Modules map[string]appmodule.AppModule
159+
}{
160+
Modules: nil,
161+
}
162+
err = depinject.Inject(depinject.Configs(
163+
modulesConfig,
164+
depinject.Supply(
165+
log.NewNopLogger(),
166+
)), &cfg)
167+
if err != nil {
168+
return AppOptions{}, err
169+
}
170+
171+
return AppOptions{
172+
Modules: cfg.Modules,
173+
ClientCtx: client.Context{InterfaceRegistry: interfaceRegistry},
174+
ModuleOptions: moduleOptions,
175+
skipValidation: true,
176+
}, nil
177+
}
178+
179+
type nopAddressCodec struct{}
180+
181+
func (nopAddressCodec) StringToBytes(_ string) ([]byte, error) { return nil, nil }
182+
183+
func (nopAddressCodec) BytesToString(_ []byte) (string, error) { return "", nil }

client/v2/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.23.1
55
require (
66
cosmossdk.io/api v0.7.6
77
cosmossdk.io/core v1.0.0-alpha.5
8-
cosmossdk.io/depinject v1.0.0
8+
cosmossdk.io/depinject v1.1.0
99
cosmossdk.io/x/bank v0.0.0-20240226161501-23359a0b6d91
1010
cosmossdk.io/x/gov v0.0.0-20231113122742-912390d5fc4a
1111
cosmossdk.io/x/tx v1.0.0-alpha.1
@@ -26,7 +26,7 @@ require (
2626
cosmossdk.io/collections v0.4.1-0.20241104084251-838f1557af0a // indirect
2727
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29 // indirect
2828
cosmossdk.io/errors v1.0.1 // indirect
29-
cosmossdk.io/log v1.4.1 // indirect
29+
cosmossdk.io/log v1.4.1
3030
cosmossdk.io/math v1.3.0
3131
cosmossdk.io/schema v0.3.1-0.20241010135032-192601639cac // indirect
3232
cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect

client/v2/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ cosmossdk.io/core v1.0.0-alpha.5 h1:McjYXAQ6XcT20v2uHyH7PhoWH8V+mebzfVFqT3GinsI=
1010
cosmossdk.io/core v1.0.0-alpha.5/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY=
1111
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29 h1:NxxUo0GMJUbIuVg0R70e3cbn9eFTEuMr7ev1AFvypdY=
1212
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29/go.mod h1:8s2tPeJtSiQuoyPmr2Ag7meikonISO4Fv4MoO8+ORrs=
13-
cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
14-
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
13+
cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E=
14+
cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI=
1515
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
1616
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
1717
cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM=

codec/depinject.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ import (
1616
"github.com/cosmos/cosmos-sdk/codec/types"
1717
)
1818

19+
var DefaultProviders = depinject.Provide(
20+
ProvideInterfaceRegistry,
21+
ProvideLegacyAmino,
22+
ProvideProtoCodec,
23+
ProvideAddressCodec,
24+
)
25+
1926
func ProvideInterfaceRegistry(
2027
addressCodec address.Codec,
2128
validatorAddressCodec address.ValidatorAddressCodec,

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
cosmossdk.io/collections v0.4.0
88
cosmossdk.io/core v1.0.0-alpha.5
99
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29
10-
cosmossdk.io/depinject v1.0.0
10+
cosmossdk.io/depinject v1.1.0
1111
cosmossdk.io/errors v1.0.1
1212
cosmossdk.io/log v1.4.1
1313
cosmossdk.io/math v1.3.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ cosmossdk.io/core v1.0.0-alpha.5 h1:McjYXAQ6XcT20v2uHyH7PhoWH8V+mebzfVFqT3GinsI=
88
cosmossdk.io/core v1.0.0-alpha.5/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY=
99
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29 h1:NxxUo0GMJUbIuVg0R70e3cbn9eFTEuMr7ev1AFvypdY=
1010
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29/go.mod h1:8s2tPeJtSiQuoyPmr2Ag7meikonISO4Fv4MoO8+ORrs=
11-
cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
12-
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
11+
cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E=
12+
cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI=
1313
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
1414
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
1515
cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM=

orm/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
cosmossdk.io/api v0.7.6
77
cosmossdk.io/core v1.0.0-alpha.5
88
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29
9-
cosmossdk.io/depinject v1.0.0
9+
cosmossdk.io/depinject v1.1.0
1010
cosmossdk.io/errors v1.0.1
1111
github.com/cosmos/cosmos-db v1.0.3-0.20240829004618-717cba019b33
1212
github.com/cosmos/cosmos-proto v1.0.0-beta.5

orm/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ cosmossdk.io/core v1.0.0-alpha.5 h1:McjYXAQ6XcT20v2uHyH7PhoWH8V+mebzfVFqT3GinsI=
44
cosmossdk.io/core v1.0.0-alpha.5/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY=
55
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29 h1:NxxUo0GMJUbIuVg0R70e3cbn9eFTEuMr7ev1AFvypdY=
66
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29/go.mod h1:8s2tPeJtSiQuoyPmr2Ag7meikonISO4Fv4MoO8+ORrs=
7-
cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
8-
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
7+
cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E=
8+
cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI=
99
cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0=
1010
cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U=
1111
cosmossdk.io/schema v0.3.0 h1:01lcaM4trhzZ1HQTfTV8z6Ma1GziOZ/YmdzBN3F720c=

runtime/v2/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ replace (
1414
require (
1515
cosmossdk.io/api v0.7.6
1616
cosmossdk.io/core v1.0.0-alpha.5
17-
cosmossdk.io/depinject v1.0.0
17+
cosmossdk.io/depinject v1.1.0
1818
cosmossdk.io/log v1.4.1
1919
cosmossdk.io/schema v0.3.0
2020
cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000

runtime/v2/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ cosmossdk.io/core v1.0.0-alpha.5 h1:McjYXAQ6XcT20v2uHyH7PhoWH8V+mebzfVFqT3GinsI=
66
cosmossdk.io/core v1.0.0-alpha.5/go.mod h1:3u9cWq1FAVtiiCrDPpo4LhR+9V6k/ycSG4/Y/tREWCY=
77
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29 h1:NxxUo0GMJUbIuVg0R70e3cbn9eFTEuMr7ev1AFvypdY=
88
cosmossdk.io/core/testing v0.0.0-20240923163230-04da382a9f29/go.mod h1:8s2tPeJtSiQuoyPmr2Ag7meikonISO4Fv4MoO8+ORrs=
9-
cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050=
10-
cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8=
9+
cosmossdk.io/depinject v1.1.0 h1:wLan7LG35VM7Yo6ov0jId3RHWCGRhe8E8bsuARorl5E=
10+
cosmossdk.io/depinject v1.1.0/go.mod h1:kkI5H9jCGHeKeYWXTqYdruogYrEeWvBQCw1Pj4/eCFI=
1111
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA=
1212
cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc=
1313
cosmossdk.io/log v1.4.1 h1:wKdjfDRbDyZRuWa8M+9nuvpVYxrEOwbD/CA8hvhU8QM=

0 commit comments

Comments
 (0)