@agoric/cosmos 0.35.0-u20.0 → 0.35.0-u21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/.clang-format +116 -0
  2. package/CHANGELOG.md +14 -2
  3. package/Makefile +38 -67
  4. package/ante/ante.go +2 -2
  5. package/ante/inbound_test.go +1 -1
  6. package/app/app.go +173 -142
  7. package/app/export.go +6 -6
  8. package/app/genesis.go +4 -0
  9. package/app/sim_test.go +299 -50
  10. package/app/upgrade.go +125 -24
  11. package/app/upgrade_test.go +1 -1
  12. package/cmd/agd/agvm.go +1 -1
  13. package/cmd/agd/main.go +1 -1
  14. package/cmd/libdaemon/main.go +34 -1
  15. package/daemon/cmd/root.go +26 -35
  16. package/daemon/cmd/root_test.go +5 -4
  17. package/daemon/cmd/testnet.go +221 -95
  18. package/daemon/main.go +1 -0
  19. package/git-revision.txt +1 -1
  20. package/go.mod +93 -58
  21. package/go.sum +148 -95
  22. package/package.json +6 -3
  23. package/proto/agoric/swingset/genesis.proto +7 -11
  24. package/proto/agoric/swingset/msgs.proto +56 -75
  25. package/proto/agoric/swingset/query.proto +7 -10
  26. package/proto/agoric/swingset/swingset.proto +79 -108
  27. package/proto/agoric/vbank/genesis.proto +5 -5
  28. package/proto/agoric/vbank/msgs.proto +1 -2
  29. package/proto/agoric/vbank/vbank.proto +42 -52
  30. package/proto/agoric/vibc/msgs.proto +8 -11
  31. package/proto/agoric/vstorage/genesis.proto +6 -9
  32. package/proto/agoric/vstorage/query.proto +19 -48
  33. package/proto/agoric/vstorage/vstorage.proto +4 -10
  34. package/proto/agoric/vtransfer/genesis.proto +7 -7
  35. package/proto/buf.gen.gogo.yaml +8 -0
  36. package/proto/buf.gen.pulsar.yaml +17 -0
  37. package/proto/buf.gen.swagger.yaml +5 -0
  38. package/proto/buf.yaml +10 -0
  39. package/scripts/protocgen.sh +14 -21
  40. package/third_party/proto/amino/amino.proto +79 -0
  41. package/third_party/proto/cosmos/base/v1beta1/coin.proto +7 -2
  42. package/third_party/proto/cosmos/ics23/v1/proofs.proto +243 -0
  43. package/third_party/proto/cosmos/msg/v1/msg.proto +30 -0
  44. package/third_party/proto/cosmos/upgrade/v1beta1/upgrade.proto +17 -5
  45. package/third_party/proto/cosmos_proto/cosmos.proto +16 -1
  46. package/third_party/proto/gogoproto/gogo.proto +2 -2
  47. package/third_party/proto/google/protobuf/any.proto +6 -3
  48. package/third_party/proto/ibc/core/channel/v1/channel.proto +1 -1
  49. package/third_party/proto/ibc/core/client/v1/client.proto +4 -2
  50. package/types/address_hooks.go +2 -2
  51. package/types/address_hooks_test.go +3 -3
  52. package/types/ibc_packet.go +3 -3
  53. package/types/ibc_packet_test.go +3 -3
  54. package/vm/client.go +32 -7
  55. package/vm/proto_json.go +2 -2
  56. package/x/swingset/abci.go +1 -1
  57. package/x/swingset/alias.go +0 -1
  58. package/x/swingset/config.go +1 -1
  59. package/x/swingset/keeper/extension_snapshotter.go +1 -1
  60. package/x/swingset/keeper/extension_snapshotter_test.go +1 -1
  61. package/x/swingset/keeper/keeper.go +1 -1
  62. package/x/swingset/keeper/keeper_test.go +1 -1
  63. package/x/swingset/keeper/querier.go +1 -30
  64. package/x/swingset/keeper/swing_store_exports_handler.go +1 -1
  65. package/x/swingset/keeper/swing_store_exports_handler_test.go +1 -1
  66. package/x/swingset/module.go +1 -14
  67. package/x/swingset/types/default-params.go +24 -16
  68. package/x/swingset/types/genesis.pb.go +2 -2
  69. package/x/swingset/types/msgs.pb.go +4 -3
  70. package/x/swingset/types/msgs_test.go +1 -1
  71. package/x/swingset/types/query.pb.go +4 -3
  72. package/x/swingset/types/swingset.pb.go +2 -2
  73. package/x/vbank/genesis.go +1 -1
  74. package/x/vbank/keeper/querier.go +1 -21
  75. package/x/vbank/module.go +1 -16
  76. package/x/vbank/types/genesis.pb.go +2 -2
  77. package/x/vbank/types/msgs.pb.go +3 -2
  78. package/x/vbank/types/query.pb.go +4 -3
  79. package/x/vbank/types/vbank.pb.go +2 -2
  80. package/x/vbank/vbank_test.go +95 -16
  81. package/x/vibc/keeper/keeper.go +8 -5
  82. package/x/vibc/keeper/migrations.go +36 -0
  83. package/x/vibc/keeper/triggers.go +1 -1
  84. package/x/vibc/module.go +9 -17
  85. package/x/vibc/types/expected_keepers.go +5 -10
  86. package/x/vibc/types/ibc_module.go +4 -4
  87. package/x/vibc/types/msgs.go +1 -1
  88. package/x/vibc/types/msgs.pb.go +5 -4
  89. package/x/vibc/types/receiver.go +2 -2
  90. package/x/vlocalchain/keeper/keeper.go +3 -3
  91. package/x/vlocalchain/types/vlocalchain.pb.go +1 -1
  92. package/x/vlocalchain/vlocalchain_test.go +6 -6
  93. package/x/vstorage/alias.go +0 -1
  94. package/x/vstorage/client/cli/query.go +1 -1
  95. package/x/vstorage/genesis.go +1 -1
  96. package/x/vstorage/keeper/keeper.go +6 -5
  97. package/x/vstorage/keeper/keeper_test.go +24 -24
  98. package/x/vstorage/keeper/querier.go +1 -32
  99. package/x/vstorage/keeper/querier_test.go +41 -6
  100. package/x/vstorage/module.go +1 -14
  101. package/x/vstorage/types/genesis.pb.go +2 -2
  102. package/x/vstorage/types/query.pb.go +8 -5
  103. package/x/vstorage/types/vstorage.pb.go +2 -2
  104. package/x/vstorage/vstorage_test.go +3 -3
  105. package/x/vtransfer/genesis.go +1 -1
  106. package/x/vtransfer/ibc_middleware.go +4 -4
  107. package/x/vtransfer/ibc_middleware_test.go +10 -11
  108. package/x/vtransfer/keeper/keeper.go +5 -5
  109. package/x/vtransfer/module.go +1 -14
  110. package/x/vtransfer/types/expected_keepers.go +2 -18
  111. package/x/vtransfer/types/genesis.pb.go +2 -2
  112. package/x/vtransfer/utils_test.go +15 -15
  113. package/daemon/cmd/genaccounts.go +0 -195
package/app/upgrade.go CHANGED
@@ -6,13 +6,28 @@ import (
6
6
 
7
7
  "github.com/Agoric/agoric-sdk/golang/cosmos/vm"
8
8
  swingsetkeeper "github.com/Agoric/agoric-sdk/golang/cosmos/x/swingset/keeper"
9
+ "github.com/cosmos/cosmos-sdk/baseapp"
9
10
  sdk "github.com/cosmos/cosmos-sdk/types"
10
11
  "github.com/cosmos/cosmos-sdk/types/module"
12
+
13
+ authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
14
+ banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
15
+ crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types"
16
+ distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
17
+ govtypes "github.com/cosmos/cosmos-sdk/x/gov/types"
18
+ govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
19
+ minttypes "github.com/cosmos/cosmos-sdk/x/mint/types"
20
+ paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
21
+ slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
22
+ stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
11
23
  upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
24
+
25
+ ibctmmigrations "github.com/cosmos/ibc-go/v7/modules/light-clients/07-tendermint/migrations"
12
26
  )
13
27
 
14
28
  var upgradeNamesOfThisVersion = []string{
15
- "agoric-upgrade-20",
29
+ "agoric-upgrade-21",
30
+ "agoric-upgrade-21-a3p",
16
31
  }
17
32
 
18
33
  // isUpgradeNameOfThisVersion returns whether the provided plan name is a
@@ -46,7 +61,8 @@ func isPrimaryUpgradeName(name string) bool {
46
61
  return false
47
62
  }
48
63
  switch name {
49
- case validUpgradeName("agoric-upgrade-20"):
64
+ case validUpgradeName("agoric-upgrade-21"),
65
+ validUpgradeName("agoric-upgrade-21-a3p"):
50
66
  return true
51
67
  default:
52
68
  panic(fmt.Errorf("unexpected upgrade name %s", validUpgradeName(name)))
@@ -94,17 +110,10 @@ func buildProposalStepWithArgs(moduleName string, entrypoint string, args ...vm.
94
110
 
95
111
  func getVariantFromUpgradeName(upgradeName string) string {
96
112
  switch upgradeName {
97
- case "UNRELEASED_A3P_INTEGRATION":
113
+ case "agoric-upgrade-21-a3p":
98
114
  return "A3P_INTEGRATION"
99
- case "UNRELEASED_main":
115
+ case "agoric-upgrade-21":
100
116
  return "MAINNET"
101
- case "UNRELEASED_devnet":
102
- return "DEVNET"
103
- case "UNRELEASED_emerynet":
104
- return "EMERYNET"
105
- case "UNRELEASED_BASIC":
106
- // Noupgrade for this version.
107
- return ""
108
117
  default:
109
118
  return ""
110
119
  }
@@ -129,11 +138,64 @@ func buildProposalStepFromScript(targetUpgrade string, builderScript string) (vm
129
138
  )
130
139
  }
131
140
 
132
- // upgrade20Handler performs standard upgrade actions plus custom actions for upgrade-20.
133
- func upgrade20Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgradetypes.Plan, module.VersionMap) (module.VersionMap, error) {
141
+ // RegisterUpgradeHandlers registers the upgrade handlers for all upgradeNames.
142
+ func (app *GaiaApp) RegisterUpgradeHandlers() {
143
+ // Set param key table for params module migration
144
+ for _, subspace := range app.ParamsKeeper.GetSubspaces() {
145
+ subspace := subspace
146
+
147
+ var keyTable paramstypes.KeyTable
148
+ switch subspace.Name() {
149
+ case authtypes.ModuleName:
150
+ keyTable = authtypes.ParamKeyTable() //nolint:staticcheck
151
+ case banktypes.ModuleName:
152
+ keyTable = banktypes.ParamKeyTable() //nolint:staticcheck
153
+ case stakingtypes.ModuleName:
154
+ keyTable = stakingtypes.ParamKeyTable() //nolint:staticcheck
155
+ case minttypes.ModuleName:
156
+ keyTable = minttypes.ParamKeyTable() //nolint:staticcheck
157
+ case distrtypes.ModuleName:
158
+ keyTable = distrtypes.ParamKeyTable() //nolint:staticcheck
159
+ case slashingtypes.ModuleName:
160
+ keyTable = slashingtypes.ParamKeyTable() //nolint:staticcheck
161
+ case govtypes.ModuleName:
162
+ keyTable = govv1.ParamKeyTable() //nolint:staticcheck
163
+ case crisistypes.ModuleName:
164
+ keyTable = crisistypes.ParamKeyTable() //nolint:staticcheck
165
+ default:
166
+ continue
167
+ }
168
+
169
+ if !subspace.HasKeyTable() {
170
+ subspace.WithKeyTable(keyTable)
171
+ }
172
+ }
173
+
174
+ baseAppLegacySS := app.ParamsKeeper.Subspace(baseapp.Paramspace).WithKeyTable(paramstypes.ConsensusParamsKeyTable())
175
+
176
+ for _, name := range upgradeNamesOfThisVersion {
177
+ app.UpgradeKeeper.SetUpgradeHandler(
178
+ name,
179
+ upgrade21Handler(app, name, baseAppLegacySS),
180
+ )
181
+ }
182
+ }
183
+
184
+ // upgrade21Handler performs standard upgrade actions plus custom actions for upgrade-21.
185
+ func upgrade21Handler(app *GaiaApp, targetUpgrade string, baseAppLegacySS paramstypes.Subspace) func(sdk.Context, upgradetypes.Plan, module.VersionMap) (module.VersionMap, error) {
186
+ _ = targetUpgrade
134
187
  return func(ctx sdk.Context, plan upgradetypes.Plan, fromVm module.VersionMap) (module.VersionMap, error) {
135
188
  app.CheckControllerInited(false)
136
189
 
190
+ // prune expired tendermint consensus states to save storage space
191
+ _, err := ibctmmigrations.PruneExpiredConsensusStates(ctx, app.AppCodec(), app.IBCKeeper.ClientKeeper)
192
+ if err != nil {
193
+ return nil, err
194
+ }
195
+
196
+ // Migrate Tendermint consensus parameters from x/params module to a dedicated x/consensus module.
197
+ baseapp.MigrateParams(ctx, baseAppLegacySS, &app.ConsensusParamsKeeper)
198
+
137
199
  CoreProposalSteps := []vm.CoreProposalStep{}
138
200
 
139
201
  // These CoreProposalSteps are not idempotent and should only be executed
@@ -149,26 +211,65 @@ func upgrade20Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgr
149
211
  // Each CoreProposalStep runs sequentially, and can be constructed from
150
212
  // one or more modules executing in parallel within the step.
151
213
  CoreProposalSteps = append(CoreProposalSteps,
152
- // Orchestration vats: Fix memory leak in vow tools
153
- // vat-ibc (included in orchestration): Accommodate string sequence numbers.
154
- vm.CoreProposalStepForModules(
155
- "@agoric/builders/scripts/vats/upgrade-orchestration.js",
156
- ),
157
214
  // Register a new ZCF to be used for all future contract instances and upgrades
158
215
  vm.CoreProposalStepForModules(
159
216
  "@agoric/builders/scripts/vats/upgrade-zcf.js",
160
217
  ),
218
+ vm.CoreProposalStepForModules(
219
+ "@agoric/builders/scripts/vats/upgrade-provisionPool-to-BLD.js",
220
+ ),
161
221
  // because of #10794, we need to do at least a null upgrade of
162
222
  // the walletFactory on every software upgrade
163
223
  vm.CoreProposalStepForModules(
164
224
  "@agoric/builders/scripts/smart-wallet/build-wallet-factory2-upgrade.js",
165
225
  ),
166
- // vat-bank is slowly leaking, possibly because of the liveslots resolved promise leak
167
- // (https://github.com/Agoric/agoric-sdk/issues/11118). Restart to pick up the fix.
168
- vm.CoreProposalStepForModules(
169
- "@agoric/builders/scripts/vats/upgrade-bank.js",
170
- ),
171
226
  )
227
+
228
+ // Reserve contract needs to be upgraded for IST wind-down.
229
+ reserveUpgradeStep, err := buildProposalStepWithArgs(
230
+ "@agoric/builders/scripts/vats/upgrade-vats.js",
231
+ "upgradeZoeContractsProposalBuilder",
232
+ []struct {
233
+ KitLookup []string `json:"kitLookup"`
234
+ BundleName string `json:"bundleName"`
235
+ Entrypoint string `json:"entrypoint"`
236
+ }{
237
+ {
238
+ KitLookup: []string{"reserveKit"},
239
+ BundleName: "reserve",
240
+ Entrypoint: "@agoric/inter-protocol/src/reserve/assetReserve.js",
241
+ },
242
+ },
243
+ )
244
+ if err != nil {
245
+ return module.VersionMap{}, err
246
+ }
247
+ CoreProposalSteps = append(CoreProposalSteps,
248
+ reserveUpgradeStep,
249
+ )
250
+
251
+ // terminationTargets is a slice of "$boardID:$instanceKitLabel" strings.
252
+ var terminationTargets []string
253
+ switch getVariantFromUpgradeName(targetUpgrade) {
254
+ case "MAINNET":
255
+ // v111 "zcf-b1-4522b-stkATOM-USD_price_feed"
256
+ terminationTargets = []string{"board052184:stkATOM-USD_price_feed"}
257
+ case "A3P_INTEGRATION":
258
+ terminationTargets = []string{"board04091:stATOM-USD_price_feed"}
259
+ }
260
+ if len(terminationTargets) > 0 {
261
+ args := []vm.Jsonable{terminationTargets}
262
+ terminationStep, err := buildProposalStepWithArgs(
263
+ "@agoric/vats/src/proposals/terminate-governed-instance.js",
264
+ // defaultProposalBuilder(powers, targets)
265
+ "defaultProposalBuilder",
266
+ args...,
267
+ )
268
+ if err != nil {
269
+ return module.VersionMap{}, err
270
+ }
271
+ CoreProposalSteps = append(CoreProposalSteps, terminationStep)
272
+ }
172
273
  }
173
274
 
174
275
  app.upgradeDetails = &upgradeDetails{
@@ -181,7 +282,7 @@ func upgrade20Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgr
181
282
  }
182
283
 
183
284
  // Always run module migrations
184
- mvm, err := app.mm.RunMigrations(ctx, app.configurator, fromVm)
285
+ mvm, err := app.ModuleManager.RunMigrations(ctx, app.configurator, fromVm)
185
286
  if err != nil {
186
287
  return mvm, err
187
288
  }
@@ -17,7 +17,7 @@ func TestBuildProposalSteps(t *testing.T) {
17
17
  "buildProposalStepFromScript",
18
18
  func() (vm.CoreProposalStep, error) {
19
19
  return buildProposalStepFromScript(
20
- "UNRELEASED_A3P_INTEGRATION",
20
+ "agoric-upgrade-21-a3p",
21
21
  "@agoric/builders/scripts/vats/upgrade-orchestration.js",
22
22
  )
23
23
  },
package/cmd/agd/agvm.go CHANGED
@@ -5,7 +5,7 @@ import (
5
5
  "os"
6
6
  "os/exec"
7
7
 
8
- "github.com/tendermint/tendermint/libs/log"
8
+ "github.com/cometbft/cometbft/libs/log"
9
9
  )
10
10
 
11
11
  // NewVMCommand creates a new OS command to run the Agoric VM. It sets up the
package/cmd/agd/main.go CHANGED
@@ -10,8 +10,8 @@ import (
10
10
  "syscall"
11
11
  "time"
12
12
 
13
+ "github.com/cometbft/cometbft/libs/log"
13
14
  "github.com/spf13/cast"
14
- "github.com/tendermint/tendermint/libs/log"
15
15
 
16
16
  gaia "github.com/Agoric/agoric-sdk/golang/cosmos/app"
17
17
  "github.com/Agoric/agoric-sdk/golang/cosmos/daemon"
@@ -15,8 +15,9 @@ import (
15
15
  "net/rpc"
16
16
  "os"
17
17
  "path/filepath"
18
+ "runtime/debug"
18
19
 
19
- log "github.com/tendermint/tendermint/libs/log"
20
+ log "github.com/cometbft/cometbft/libs/log"
20
21
 
21
22
  gaia "github.com/Agoric/agoric-sdk/golang/cosmos/app"
22
23
  "github.com/Agoric/agoric-sdk/golang/cosmos/daemon"
@@ -25,6 +26,11 @@ import (
25
26
  servertypes "github.com/cosmos/cosmos-sdk/server/types"
26
27
  )
27
28
 
29
+ // Taken from sysexits.h
30
+ const (
31
+ EX_SOFTWARE = 70 /* internal software error */
32
+ )
33
+
28
34
  type goReturn = struct {
29
35
  str string
30
36
  err error
@@ -32,6 +38,8 @@ type goReturn = struct {
32
38
 
33
39
  const SwingSetPort = 123
34
40
 
41
+ var logger = log.NewTMLogger(log.NewSyncWriter(os.Stderr)).With("module", "cmd/libdaemon")
42
+
35
43
  var vmClientCodec *vm.ClientCodec
36
44
  var agdServer *vm.AgdServer
37
45
 
@@ -59,8 +67,29 @@ func ConnectVMClientCodec(ctx context.Context, nodePort int, sendFunc func(int,
59
67
  return vmClientCodec, sendToNode
60
68
  }
61
69
 
70
+ // handlePanic is a helper function to recover from panics, log them, and exit the process.
71
+ func handlePanic(caller string) {
72
+ if r := recover(); r != nil {
73
+ defer func() {
74
+ if err := recover(); err != nil {
75
+ // If we panic again, we will exit the process without logging the error or stack.
76
+ os.Stderr.WriteString("Double panic in exported Go function: " + caller + "\n")
77
+ os.Exit(EX_SOFTWARE)
78
+ }
79
+ }()
80
+
81
+ // Log the panic with the caller information.
82
+ logger.Error("Panic in exported Go function", "caller", caller, "error", r, "stack", debug.Stack())
83
+
84
+ // Exit the process with a non-zero exit code.
85
+ os.Exit(EX_SOFTWARE)
86
+ }
87
+ }
88
+
62
89
  //export RunAgCosmosDaemon
63
90
  func RunAgCosmosDaemon(nodePort C.int, toNode C.sendFunc, cosmosArgs []*C.char) C.int {
91
+ defer handlePanic("RunAgCosmosDaemon")
92
+
64
93
  userHomeDir, err := os.UserHomeDir()
65
94
  if err != nil {
66
95
  panic(err)
@@ -92,6 +121,8 @@ func RunAgCosmosDaemon(nodePort C.int, toNode C.sendFunc, cosmosArgs []*C.char)
92
121
  // fmt.Fprintln(os.Stderr, "Starting Cosmos", args)
93
122
  os.Args = args
94
123
  go func() {
124
+ defer handlePanic("daemon.RunWithController")
125
+
95
126
  // We run in the background, but exit when the job is over.
96
127
  // swingset.SendToNode("hello from Initial Go!")
97
128
  exitCode := 0
@@ -112,6 +143,7 @@ func RunAgCosmosDaemon(nodePort C.int, toNode C.sendFunc, cosmosArgs []*C.char)
112
143
 
113
144
  //export ReplyToGo
114
145
  func ReplyToGo(replyPort C.int, isError C.int, resp C.Body) C.int {
146
+ defer handlePanic("ReplyToGo")
115
147
  respStr := C.GoString(resp)
116
148
  // fmt.Printf("Reply to Go %d %s\n", replyPort, respStr)
117
149
  if err := vmClientCodec.Receive(int(replyPort), int(isError) != 0, respStr); err != nil {
@@ -126,6 +158,7 @@ type errorWrapper struct {
126
158
 
127
159
  //export SendToGo
128
160
  func SendToGo(port C.int, msg C.Body) C.Body {
161
+ defer handlePanic("SendToGo")
129
162
  msgStr := C.GoString(msg)
130
163
  // fmt.Fprintln(os.Stderr, "Send to Go", msgStr)
131
164
  var respStr string
@@ -10,6 +10,12 @@ import (
10
10
 
11
11
  serverconfig "github.com/cosmos/cosmos-sdk/server/config"
12
12
 
13
+ rosettaCmd "cosmossdk.io/tools/rosetta/cmd"
14
+
15
+ dbm "github.com/cometbft/cometbft-db"
16
+ tmcfg "github.com/cometbft/cometbft/config"
17
+ tmcli "github.com/cometbft/cometbft/libs/cli"
18
+ "github.com/cometbft/cometbft/libs/log"
13
19
  "github.com/cosmos/cosmos-sdk/client"
14
20
  "github.com/cosmos/cosmos-sdk/client/config"
15
21
  "github.com/cosmos/cosmos-sdk/client/debug"
@@ -29,10 +35,6 @@ import (
29
35
  "github.com/spf13/cast"
30
36
  "github.com/spf13/cobra"
31
37
  "github.com/spf13/viper"
32
- tmcfg "github.com/tendermint/tendermint/config"
33
- tmcli "github.com/tendermint/tendermint/libs/cli"
34
- "github.com/tendermint/tendermint/libs/log"
35
- dbm "github.com/tendermint/tm-db"
36
38
 
37
39
  gaia "github.com/Agoric/agoric-sdk/golang/cosmos/app"
38
40
  "github.com/Agoric/agoric-sdk/golang/cosmos/app/params"
@@ -131,7 +133,7 @@ func initAppConfig() (string, interface{}) {
131
133
  // FIXME: We may want a non-zero min gas price.
132
134
  // For now, we set it to zero to reduce friction (the default "" fails
133
135
  // startup, forcing each validator to set their own value).
134
- srvCfg.MinGasPrices = "0uist"
136
+ srvCfg.MinGasPrices = "0ubld"
135
137
 
136
138
  customAppConfig := CustomAppConfig{
137
139
  Config: *srvCfg,
@@ -152,20 +154,27 @@ func initRootCmd(sender vm.Sender, rootCmd *cobra.Command, encodingConfig params
152
154
  cfg.Seal()
153
155
 
154
156
  ac := appCreator{
155
- encCfg: encodingConfig,
156
157
  sender: sender,
157
158
  agdServer: vm.NewAgdServer(),
158
159
  }
159
160
 
161
+ genesisCmd := genutilcli.GenesisCoreCommand(
162
+ encodingConfig.TxConfig,
163
+ gaia.ModuleBasics,
164
+ gaia.DefaultNodeHome,
165
+ )
166
+
160
167
  rootCmd.AddCommand(
161
168
  genutilcli.InitCmd(gaia.ModuleBasics, gaia.DefaultNodeHome),
162
- genutilcli.CollectGenTxsCmd(banktypes.GenesisBalancesIterator{}, gaia.DefaultNodeHome),
163
- genutilcli.MigrateGenesisCmd(),
164
- genutilcli.GenTxCmd(gaia.ModuleBasics, encodingConfig.TxConfig, banktypes.GenesisBalancesIterator{}, gaia.DefaultNodeHome),
165
- genutilcli.ValidateGenesisCmd(gaia.ModuleBasics),
166
- AddGenesisAccountCmd(encodingConfig.Marshaler, gaia.DefaultNodeHome),
169
+ genesisCmd,
170
+ )
171
+ // Alias all the genesis commands to the top level as well.
172
+ rootCmd.AddCommand(
173
+ genesisCmd.Commands()...,
174
+ )
175
+ rootCmd.AddCommand(
167
176
  tmcli.NewCompletionCmd(rootCmd, true),
168
- testnetCmd(gaia.ModuleBasics, banktypes.GenesisBalancesIterator{}),
177
+ NewTestnetCmd(gaia.ModuleBasics, banktypes.GenesisBalancesIterator{}, AppName),
169
178
  debug.Cmd(),
170
179
  config.Cmd(),
171
180
  pruning.Cmd(ac.newSnapshotsApp, gaia.DefaultNodeHome),
@@ -217,7 +226,7 @@ func initRootCmd(sender vm.Sender, rootCmd *cobra.Command, encodingConfig params
217
226
  keys.Commands(gaia.DefaultNodeHome),
218
227
  )
219
228
  // add rosetta
220
- rootCmd.AddCommand(server.RosettaCommand(encodingConfig.InterfaceRegistry, encodingConfig.Marshaler))
229
+ rootCmd.AddCommand(rosettaCmd.RosettaCommand(encodingConfig.InterfaceRegistry, encodingConfig.Marshaler))
221
230
  }
222
231
 
223
232
  const (
@@ -301,7 +310,6 @@ func txCommand() *cobra.Command {
301
310
  }
302
311
 
303
312
  type appCreator struct {
304
- encCfg params.EncodingConfig
305
313
  sender vm.Sender
306
314
  agdServer *vm.AgdServer
307
315
  }
@@ -319,12 +327,6 @@ func (ac appCreator) newApp(
319
327
  }
320
328
 
321
329
  baseappOptions := server.DefaultBaseappOptions(appOpts)
322
-
323
- skipUpgradeHeights := make(map[int64]bool)
324
- for _, h := range cast.ToIntSlice(appOpts.Get(server.FlagUnsafeSkipUpgrades)) {
325
- skipUpgradeHeights[int64(h)] = true
326
- }
327
-
328
330
  homePath := cast.ToString(appOpts.Get(flags.FlagHome))
329
331
 
330
332
  // Set a default value for FlagSwingStoreExportDir based on homePath
@@ -337,10 +339,7 @@ func (ac appCreator) newApp(
337
339
 
338
340
  return gaia.NewAgoricApp(
339
341
  ac.sender, ac.agdServer,
340
- logger, db, traceStore, true, skipUpgradeHeights,
341
- homePath,
342
- cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)),
343
- ac.encCfg,
342
+ logger, db, traceStore, true,
344
343
  appOpts,
345
344
  baseappOptions...,
346
345
  )
@@ -360,14 +359,9 @@ func (ac appCreator) newSnapshotsApp(
360
359
 
361
360
  baseappOptions := server.DefaultBaseappOptions(appOpts)
362
361
 
363
- homePath := cast.ToString(appOpts.Get(flags.FlagHome))
364
-
365
362
  return gaia.NewAgoricApp(
366
363
  ac.sender, ac.agdServer,
367
- logger, db, traceStore, true, map[int64]bool{},
368
- homePath,
369
- cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)),
370
- ac.encCfg,
364
+ logger, db, traceStore, true,
371
365
  appOpts,
372
366
  baseappOptions...,
373
367
  )
@@ -479,6 +473,7 @@ func (ac appCreator) appExport(
479
473
  forZeroHeight bool,
480
474
  jailAllowedAddrs []string,
481
475
  appOpts servertypes.AppOptions,
476
+ modulesToExport []string,
482
477
  ) (servertypes.ExportedApp, error) {
483
478
  swingStoreExportMode, ok := appOpts.Get(gaia.FlagSwingStoreExportMode).(string)
484
479
  if !(ok && allowedSwingSetExportModes[swingStoreExportMode]) {
@@ -508,10 +503,6 @@ func (ac appCreator) appExport(
508
503
  db,
509
504
  traceStore,
510
505
  loadLatest,
511
- map[int64]bool{},
512
- homePath,
513
- cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)),
514
- ac.encCfg,
515
506
  appOpts,
516
507
  )
517
508
 
@@ -521,7 +512,7 @@ func (ac appCreator) appExport(
521
512
  }
522
513
  }
523
514
 
524
- return gaiaApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs)
515
+ return gaiaApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs, modulesToExport)
525
516
  }
526
517
 
527
518
  // replaceCosmosSnapshotExportCommand monkey-patches the "snapshots export" command
@@ -10,12 +10,12 @@ import (
10
10
  "github.com/spf13/pflag"
11
11
  "github.com/stretchr/testify/require"
12
12
 
13
+ dbm "github.com/cometbft/cometbft-db"
14
+ "github.com/cometbft/cometbft/libs/log"
13
15
  "github.com/cosmos/cosmos-sdk/server"
14
16
  svrcmd "github.com/cosmos/cosmos-sdk/server/cmd"
15
17
  serverconfig "github.com/cosmos/cosmos-sdk/server/config"
16
18
  servertypes "github.com/cosmos/cosmos-sdk/server/types"
17
- "github.com/tendermint/tendermint/libs/log"
18
- dbm "github.com/tendermint/tm-db"
19
19
 
20
20
  app "github.com/Agoric/agoric-sdk/golang/cosmos/app"
21
21
  "github.com/Agoric/agoric-sdk/golang/cosmos/daemon/cmd"
@@ -42,10 +42,10 @@ func TestCLIFlags(t *testing.T) {
42
42
  "abci-client-type": "",
43
43
  "address": "",
44
44
  "app-db-backend": "",
45
+ "block_sync": "",
45
46
  "cpu-profile": "",
46
47
  "db_backend": "",
47
48
  "db_dir": "",
48
- "fast_sync": "",
49
49
  "genesis_hash": "",
50
50
  "grpc-only": "",
51
51
  "halt-height": "",
@@ -93,6 +93,8 @@ func TestCLIFlags(t *testing.T) {
93
93
  "grpc.max-recv-msg-size": "",
94
94
  "grpc.max-send-msg-size": "",
95
95
 
96
+ "mempool.max-txs": "",
97
+
96
98
  "p2p.external-address": "",
97
99
  "p2p.laddr": "",
98
100
  "p2p.persistent_peers": "",
@@ -101,7 +103,6 @@ func TestCLIFlags(t *testing.T) {
101
103
  "p2p.seed_mode": "",
102
104
  "p2p.seeds": "",
103
105
  "p2p.unconditional_peer_ids": "",
104
- "p2p.upnp": "",
105
106
 
106
107
  "rpc.grpc_laddr": "",
107
108
  "rpc.laddr": "",