@agoric/cosmos 0.35.0-u18.3 → 0.35.0-u18.5

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,40 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.35.0-u18.5](https://github.com/Agoric/agoric-sdk/compare/@agoric/cosmos@0.35.0-u18.4...@agoric/cosmos@0.35.0-u18.5) (2024-12-24)
7
+
8
+
9
+ ### Features
10
+
11
+ * **cosmos:** Support arbitrary core eval builder arguments ([#10767](https://github.com/Agoric/agoric-sdk/issues/10767)) ([a944f4c](https://github.com/Agoric/agoric-sdk/commit/a944f4cdf36012e8c07fe0804de5e9f3532db3ce)), closes [#10752](https://github.com/Agoric/agoric-sdk/issues/10752) [#10752](https://github.com/Agoric/agoric-sdk/issues/10752)
12
+ * **cosmos:** use `x/vbank` ConsensusVersion to upgrade monitoring ([0e367d3](https://github.com/Agoric/agoric-sdk/commit/0e367d3e9870622acc8a38afe57c2b6cbe629341))
13
+ * migrate upgrade of v7-board from upgrade 19 to upgrade 18 ([#10761](https://github.com/Agoric/agoric-sdk/issues/10761)) ([837776e](https://github.com/Agoric/agoric-sdk/commit/837776e6eb693603bce4ed3f9af5c659c9a19d2d)), closes [#10760](https://github.com/Agoric/agoric-sdk/issues/10760)
14
+ * upgrade v7-board and test it ([#10516](https://github.com/Agoric/agoric-sdk/issues/10516)) ([d8a109e](https://github.com/Agoric/agoric-sdk/commit/d8a109edcc78c977ef856131b52dd449e6a9d724)), closes [#10394](https://github.com/Agoric/agoric-sdk/issues/10394)
15
+ * **vbank:** new param `allowed_monitoring_accounts` ([5ac4c52](https://github.com/Agoric/agoric-sdk/commit/5ac4c527b5a3e85bb14ba91a32bcbb6beb0097c9))
16
+ * **vtransfer:** extract base address from parameterized address ([3d44b53](https://github.com/Agoric/agoric-sdk/commit/3d44b5363324baa803a2d9523ce11ded7cce1ed1))
17
+ * **vtransfer:** port some `address-hooks.js` functions to Go ([159098b](https://github.com/Agoric/agoric-sdk/commit/159098bbfaddf4448da4778aa29fbc072aed80a9))
18
+ * **x/swingset:** Add parameters for controlling vat cleanup budget ([02c8138](https://github.com/Agoric/agoric-sdk/commit/02c8138bb2090bc995bfe517bc52952014458984)), closes [#8928](https://github.com/Agoric/agoric-sdk/issues/8928)
19
+ * **x/swingset:** Define default vat cleanup budget as { default: 5, kv: 50 } ([d86ee6d](https://github.com/Agoric/agoric-sdk/commit/d86ee6d5cf0882a53ac3a6e3b802e4002c4c1d12))
20
+ * **x/swingset:** Read beansPerUnit in each message handler and pass down to helpers ([55b9b49](https://github.com/Agoric/agoric-sdk/commit/55b9b49d5f77be9db33ae132a8f7b7017a90d0a9))
21
+ * **x/swingset:** Require a non-empty vat cleanup budget to include `default` ([28c4d8b](https://github.com/Agoric/agoric-sdk/commit/28c4d8bf9897f1ff744e64ea0e681ee41064aafd))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **agd:** upgrade all orchestration vats to new liveslots ([59fa82c](https://github.com/Agoric/agoric-sdk/commit/59fa82c4740e1ddace28e1389e3c7c875bcdf93e))
27
+ * **cosmos:** return an error if version is unsupported ([d17e55b](https://github.com/Agoric/agoric-sdk/commit/d17e55b5d5c0a178e49ed9a0402ed52827074426))
28
+ * **x/swingset:** Let migration see incomplete Params structs ([315cdd5](https://github.com/Agoric/agoric-sdk/commit/315cdd56e0955ba26d624ca3a4997888abc1d635))
29
+
30
+
31
+
32
+ ## [0.35.0-u18.4](https://github.com/Agoric/agoric-sdk/compare/@agoric/cosmos@0.35.0-u18.3...@agoric/cosmos@0.35.0-u18.4) (2024-12-17)
33
+
34
+ **Note:** Version bump only for package @agoric/cosmos
35
+
36
+
37
+
38
+
39
+
6
40
  ## [0.35.0-u18.3](https://github.com/Agoric/agoric-sdk/compare/@agoric/cosmos@0.35.0-u18.2...@agoric/cosmos@0.35.0-u18.3) (2024-12-09)
7
41
 
8
42
  **Note:** Version bump only for package @agoric/cosmos
@@ -215,7 +215,7 @@ func (msk mockSwingsetKeeper) GetBeansPerUnit(ctx sdk.Context) map[string]sdkmat
215
215
  return nil
216
216
  }
217
217
 
218
- func (msk mockSwingsetKeeper) ChargeBeans(ctx sdk.Context, addr sdk.AccAddress, beans sdkmath.Uint) error {
218
+ func (msk mockSwingsetKeeper) ChargeBeans(ctx sdk.Context, beansPerUnit map[string]sdkmath.Uint, addr sdk.AccAddress, beans sdkmath.Uint) error {
219
219
  return fmt.Errorf("not implemented")
220
220
  }
221
221
 
@@ -223,6 +223,6 @@ func (msk mockSwingsetKeeper) GetSmartWalletState(ctx sdk.Context, addr sdk.AccA
223
223
  panic(fmt.Errorf("not implemented"))
224
224
  }
225
225
 
226
- func (msk mockSwingsetKeeper) ChargeForSmartWallet(ctx sdk.Context, addr sdk.AccAddress) error {
226
+ func (msk mockSwingsetKeeper) ChargeForSmartWallet(ctx sdk.Context, beansPerUnit map[string]sdkmath.Uint, addr sdk.AccAddress) error {
227
227
  return fmt.Errorf("not implemented")
228
228
  }
package/app/app.go CHANGED
@@ -137,13 +137,22 @@ import (
137
137
 
138
138
  const appName = "agoric"
139
139
 
140
- // FlagSwingStoreExportDir defines the config flag used to specify where a
141
- // genesis swing-store export is expected. For start from genesis, the default
142
- // value is config/swing-store in the home directory. For genesis export, the
143
- // value is always a "swing-store" directory sibling to the exported
144
- // genesis.json file.
145
- // TODO: document this flag in config, likely alongside the genesis path
146
- const FlagSwingStoreExportDir = "swing-store-export-dir"
140
+ const (
141
+ // FlagSwingStoreExportDir defines the config flag used to specify where a
142
+ // genesis swing-store export is expected. For start from genesis, the default
143
+ // value is config/swing-store in the home directory. For genesis export, the
144
+ // value is always a "swing-store" directory sibling to the exported
145
+ // genesis.json file.
146
+ // TODO: document this flag in config, likely alongside the genesis path
147
+ FlagSwingStoreExportDir = "swing-store-export-dir"
148
+ // FlagSwingStoreExportMode defines the export mode for the swing store
149
+ // Alongside the default mode `operational`, there are two other modes
150
+ //
151
+ // 1- `skip` mode will skip the swing store export altogether
152
+ //
153
+ // 2- `debug` mode will export all the available store
154
+ FlagSwingStoreExportMode = "swing-store-export-mode"
155
+ )
147
156
 
148
157
  var (
149
158
  // DefaultNodeHome default home directories for the application daemon
@@ -673,6 +682,7 @@ func NewAgoricApp(
673
682
  app.EvidenceKeeper = *evidenceKeeper
674
683
 
675
684
  swingStoreExportDir := cast.ToString(appOpts.Get(FlagSwingStoreExportDir))
685
+ swingStoreExportMode := cast.ToString(appOpts.Get(FlagSwingStoreExportMode))
676
686
 
677
687
  // NOTE: Any module instantiated in the module manager that is later modified
678
688
  // must be passed by reference here.
@@ -702,7 +712,14 @@ func NewAgoricApp(
702
712
  icaModule,
703
713
  packetforward.NewAppModule(app.PacketForwardKeeper),
704
714
  vstorage.NewAppModule(app.VstorageKeeper),
705
- swingset.NewAppModule(app.SwingSetKeeper, &app.SwingStoreExportsHandler, setBootstrapNeeded, app.ensureControllerInited, swingStoreExportDir),
715
+ swingset.NewAppModule(
716
+ app.SwingSetKeeper,
717
+ &app.SwingStoreExportsHandler,
718
+ setBootstrapNeeded,
719
+ app.ensureControllerInited,
720
+ swingStoreExportDir,
721
+ swingStoreExportMode,
722
+ ),
706
723
  vibcModule,
707
724
  vbankModule,
708
725
  vtransferModule,
package/app/upgrade.go CHANGED
@@ -3,6 +3,7 @@ package gaia
3
3
  import (
4
4
  "encoding/json"
5
5
  "fmt"
6
+ "reflect"
6
7
  "strings"
7
8
  "text/template"
8
9
 
@@ -79,14 +80,27 @@ func isFirstTimeUpgradeOfThisVersion(app *GaiaApp, ctx sdk.Context) bool {
79
80
  return true
80
81
  }
81
82
 
82
- func buildProposalStepWithArgs(moduleName string, entrypoint string, opts map[string]any) (vm.CoreProposalStep, error) {
83
+ func buildProposalStepWithArgs(moduleName string, entrypoint string, extra any) (vm.CoreProposalStep, error) {
83
84
  t := template.Must(template.New("").Parse(`{
84
- "module": "{{.moduleName}}",
85
- "entrypoint": "{{.entrypoint}}",
86
- "args": [ {{.optsArg}} ]
87
- }`))
85
+ "module": "{{.moduleName}}",
86
+ "entrypoint": "{{.entrypoint}}",
87
+ "args": {{.args}}
88
+ }`))
88
89
 
89
- optsArg, err := json.Marshal(opts)
90
+ var args []byte
91
+ var err error
92
+ if extra == nil {
93
+ // The specified entrypoint will be called with no extra arguments after powers.
94
+ args = []byte(`[]`)
95
+ } else if reflect.TypeOf(extra).Kind() == reflect.Map && reflect.TypeOf(extra).Key().Kind() == reflect.String {
96
+ // The specified entrypoint will be called with this options argument after powers.
97
+ args, err = json.Marshal([]any{extra})
98
+ } else if reflect.TypeOf(extra).Kind() == reflect.Slice {
99
+ // The specified entrypoint will be called with each of these arguments after powers.
100
+ args, err = json.Marshal(extra)
101
+ } else {
102
+ return nil, fmt.Errorf("proposal extra must be nil, array, or string map, not %v", extra)
103
+ }
90
104
  if err != nil {
91
105
  return nil, err
92
106
  }
@@ -95,7 +109,7 @@ func buildProposalStepWithArgs(moduleName string, entrypoint string, opts map[st
95
109
  err = t.Execute(&result, map[string]any{
96
110
  "moduleName": moduleName,
97
111
  "entrypoint": entrypoint,
98
- "optsArg": string(optsArg),
112
+ "args": string(args),
99
113
  })
100
114
  if err != nil {
101
115
  return nil, err
@@ -158,6 +172,42 @@ func replacePriceFeedsCoreProposal(upgradeName string) (vm.CoreProposalStep, err
158
172
  )
159
173
  }
160
174
 
175
+ func terminateGovernorCoreProposal(upgradeName string) (vm.CoreProposalStep, error) {
176
+ // targets is a slice of "$boardID:$instanceKitLabel" strings.
177
+ var targets []string
178
+ switch getVariantFromUpgradeName(upgradeName) {
179
+ case "MAINNET":
180
+ targets = []string{"board052184:stkATOM-USD_price_feed"}
181
+ case "A3P_INTEGRATION":
182
+ targets = []string{"board04091:stATOM-USD_price_feed"}
183
+ default:
184
+ return nil, nil
185
+ }
186
+
187
+ return buildProposalStepWithArgs(
188
+ "@agoric/builders/scripts/vats/terminate-governor-instance.js",
189
+ // Request `defaultProposalBuilder(powers, targets)`.
190
+ "defaultProposalBuilder",
191
+ []any{targets},
192
+ )
193
+ }
194
+
195
+ // func upgradeMintHolderCoreProposal(upgradeName string) (vm.CoreProposalStep, error) {
196
+ // variant := getVariantFromUpgradeName(upgradeName)
197
+
198
+ // if variant == "" {
199
+ // return nil, nil
200
+ // }
201
+
202
+ // return buildProposalStepWithArgs(
203
+ // "@agoric/builders/scripts/vats/upgrade-mintHolder.js",
204
+ // "defaultProposalBuilder",
205
+ // map[string]any{
206
+ // "variant": variant,
207
+ // },
208
+ // )
209
+ // }
210
+
161
211
  // upgrade18Handler performs standard upgrade actions plus custom actions for upgrade-18.
162
212
  func upgrade18Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgradetypes.Plan, module.VersionMap) (module.VersionMap, error) {
163
213
  return func(ctx sdk.Context, plan upgradetypes.Plan, fromVm module.VersionMap) (module.VersionMap, error) {
@@ -213,7 +263,56 @@ func upgrade18Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgr
213
263
  // Upgrade to include a cleanup from https://github.com/Agoric/agoric-sdk/pull/10319
214
264
  "@agoric/builders/scripts/smart-wallet/build-wallet-factory2-upgrade.js",
215
265
  ),
266
+ vm.CoreProposalStepForModules(
267
+ "@agoric/builders/scripts/vats/upgrade-board.js",
268
+ ),
269
+ )
270
+
271
+ // Upgrade vats using Vows in Upgrade 18 in order to use a new liveslots that
272
+ // avoids a memory leak in watchPromise.
273
+ CoreProposalSteps = append(CoreProposalSteps,
274
+ vm.CoreProposalStepForModules(
275
+ "@agoric/builders/scripts/vats/upgrade-orchestration.js",
276
+ ),
216
277
  )
278
+
279
+ // CoreProposals for Upgrade 19. These should not be introduced
280
+ // before upgrade 18 is done because they would be run in n:upgrade-next
281
+ //
282
+ // upgradeMintHolderStep, err := upgradeMintHolderCoreProposal(targetUpgrade)
283
+ // if err != nil {
284
+ // return nil, err
285
+ // } else if upgradeMintHolderStep != nil {
286
+ // CoreProposalSteps = append(CoreProposalSteps, upgradeMintHolderStep)
287
+ // }
288
+ //
289
+ // CoreProposalSteps = append(CoreProposalSteps,
290
+ // vm.CoreProposalStepForModules(
291
+ // "@agoric/builders/scripts/inter-protocol/replace-feeDistributor.js",
292
+ // ),
293
+ // vm.CoreProposalStepForModules(
294
+ // "@agoric/builders/scripts/vats/upgrade-paRegistry.js",
295
+ // ),
296
+ // vm.CoreProposalStepForModules(
297
+ // "@agoric/builders/scripts/vats/upgrade-provisionPool.js",
298
+ // ),
299
+ // vm.CoreProposalStepForModules(
300
+ // "@agoric/builders/scripts/vats/upgrade-bank.js",
301
+ // ),
302
+ // vm.CoreProposalStepForModules(
303
+ // "@agoric/builders/scripts/vats/upgrade-agoricNames.js",
304
+ // ),
305
+ // vm.CoreProposalStepForModules(
306
+ // "@agoric/builders/scripts/vats/upgrade-asset-reserve.js",
307
+ // ),
308
+ // )
309
+
310
+ terminateOldGovernor, err := terminateGovernorCoreProposal(targetUpgrade)
311
+ if err != nil {
312
+ return nil, err
313
+ } else if terminateOldGovernor != nil {
314
+ CoreProposalSteps = append(CoreProposalSteps, terminateOldGovernor)
315
+ }
217
316
  }
218
317
 
219
318
  app.upgradeDetails = &upgradeDetails{
@@ -386,6 +386,12 @@ const (
386
386
  ExportedSwingStoreDirectoryName = "swing-store"
387
387
  )
388
388
 
389
+ var allowedSwingSetExportModes = map[string]bool{
390
+ swingset.SwingStoreExportModeDebug: true,
391
+ swingset.SwingStoreExportModeOperational: true,
392
+ swingset.SwingStoreExportModeSkip: true,
393
+ }
394
+
389
395
  // extendCosmosExportCommand monkey-patches the "export" command added by
390
396
  // cosmos-sdk to add a required "export-dir" command-line flag, and create the
391
397
  // genesis export in the specified directory if the VM is running.
@@ -396,31 +402,52 @@ func extendCosmosExportCommand(cmd *cobra.Command) {
396
402
  panic(err)
397
403
  }
398
404
 
405
+ var keys []string
406
+ for key := range allowedSwingSetExportModes {
407
+ keys = append(keys, key)
408
+ }
409
+
410
+ cmd.Flags().String(
411
+ gaia.FlagSwingStoreExportMode,
412
+ swingset.SwingStoreExportModeOperational,
413
+ fmt.Sprintf(
414
+ "The mode for swingstore export (%s)",
415
+ strings.Join(keys, " | "),
416
+ ),
417
+ )
418
+
399
419
  originalRunE := cmd.RunE
400
420
 
401
421
  extendedRunE := func(cmd *cobra.Command, args []string) error {
402
422
  serverCtx := server.GetServerContextFromCmd(cmd)
403
423
 
404
424
  exportDir, _ := cmd.Flags().GetString(FlagExportDir)
425
+ swingStoreExportMode, _ := cmd.Flags().GetString(gaia.FlagSwingStoreExportMode)
426
+
405
427
  err := os.MkdirAll(exportDir, os.ModePerm)
406
428
  if err != nil {
407
429
  return err
408
430
  }
409
431
 
410
432
  genesisPath := filepath.Join(exportDir, ExportedGenesisFileName)
411
- swingStoreExportPath := filepath.Join(exportDir, ExportedSwingStoreDirectoryName)
412
433
 
413
- err = os.MkdirAll(swingStoreExportPath, os.ModePerm)
414
- if err != nil {
415
- return err
434
+ // Since none mode doesn't perform any swing store export
435
+ // There is no point in creating the export directory
436
+ if swingStoreExportMode != swingset.SwingStoreExportModeSkip {
437
+ swingStoreExportPath := filepath.Join(exportDir, ExportedSwingStoreDirectoryName)
438
+
439
+ err = os.MkdirAll(swingStoreExportPath, os.ModePerm)
440
+ if err != nil {
441
+ return err
442
+ }
443
+ // We unconditionally set FlagSwingStoreExportDir as for export, it makes
444
+ // little sense for users to control this location separately, and we don't
445
+ // want to override any swing-store artifacts that may be associated to the
446
+ // current genesis.
447
+ serverCtx.Viper.Set(gaia.FlagSwingStoreExportDir, swingStoreExportPath)
416
448
  }
417
- // We unconditionally set FlagSwingStoreExportDir as for export, it makes
418
- // little sense for users to control this location separately, and we don't
419
- // want to override any swing-store artifacts that may be associated to the
420
- // current genesis.
421
- serverCtx.Viper.Set(gaia.FlagSwingStoreExportDir, swingStoreExportPath)
422
449
 
423
- if hasVMController(serverCtx) {
450
+ if hasVMController(serverCtx) || swingStoreExportMode == swingset.SwingStoreExportModeSkip {
424
451
  // Capture the export in the genesisPath.
425
452
  // This will fail if a genesis.json already exists in the export-dir
426
453
  genesisFile, err := os.OpenFile(
@@ -453,7 +480,16 @@ func (ac appCreator) appExport(
453
480
  jailAllowedAddrs []string,
454
481
  appOpts servertypes.AppOptions,
455
482
  ) (servertypes.ExportedApp, error) {
456
- if OnExportHook != nil {
483
+ swingStoreExportMode, ok := appOpts.Get(gaia.FlagSwingStoreExportMode).(string)
484
+ if !(ok && allowedSwingSetExportModes[swingStoreExportMode]) {
485
+ return servertypes.ExportedApp{}, fmt.Errorf(
486
+ "export mode '%s' is not supported",
487
+ swingStoreExportMode,
488
+ )
489
+ }
490
+
491
+ // We don't have to launch VM in case the swing store export is not required
492
+ if swingStoreExportMode != swingset.SwingStoreExportModeSkip && OnExportHook != nil {
457
493
  if err := OnExportHook(ac.agdServer, logger, appOpts); err != nil {
458
494
  return servertypes.ExportedApp{}, err
459
495
  }
@@ -464,10 +500,7 @@ func (ac appCreator) appExport(
464
500
  return servertypes.ExportedApp{}, errors.New("application home is not set")
465
501
  }
466
502
 
467
- var loadLatest bool
468
- if height == -1 {
469
- loadLatest = true
470
- }
503
+ loadLatest := height == -1
471
504
 
472
505
  gaiaApp := gaia.NewAgoricApp(
473
506
  ac.sender, ac.agdServer,
package/e2e_test/go.mod CHANGED
@@ -6,7 +6,7 @@ require (
6
6
  github.com/agoric-labs/interchaintest/v6 v6.0.1-agoriclabs
7
7
  github.com/cosmos/cosmos-sdk v0.46.13
8
8
  github.com/cosmos/ibc-go/v6 v6.2.0
9
- github.com/stretchr/testify v1.8.4
9
+ github.com/stretchr/testify v1.9.0
10
10
  go.uber.org/zap v1.26.0
11
11
  )
12
12
 
@@ -17,7 +17,7 @@ require (
17
17
  cloud.google.com/go/iam v1.1.1 // indirect
18
18
  cloud.google.com/go/storage v1.30.1 // indirect
19
19
  cosmossdk.io/errors v1.0.0-beta.7 // indirect
20
- cosmossdk.io/math v1.0.0-rc.0 // indirect
20
+ cosmossdk.io/math v1.4.0 // indirect
21
21
  filippo.io/edwards25519 v1.0.0-rc.1 // indirect
22
22
  github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
23
23
  github.com/99designs/keyring v1.2.2 // indirect
@@ -200,7 +200,7 @@ require (
200
200
  modernc.org/sqlite v1.23.1 // indirect
201
201
  modernc.org/strutil v1.1.3 // indirect
202
202
  modernc.org/token v1.0.1 // indirect
203
- sigs.k8s.io/yaml v1.3.0 // indirect
203
+ sigs.k8s.io/yaml v1.4.0 // indirect
204
204
  )
205
205
 
206
206
  // Some replace copied from https://github.com/gjermundgaraba/ibctest/blob/110aa579a5a889b2af760bed4f3d90e0d2475e7a/go.mod
@@ -215,3 +215,25 @@ replace (
215
215
  github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27
216
216
  github.com/vedhavyas/go-subkey => github.com/strangelove-ventures/go-subkey v1.0.7
217
217
  )
218
+
219
+ // Agoric-specific replacements:
220
+ replace (
221
+ // We need a fork of cosmos-sdk until all of the differences are merged.
222
+ github.com/cosmos/cosmos-sdk => github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5
223
+
224
+ // Pick up an IAVL race fix.
225
+ github.com/cosmos/iavl => github.com/cosmos/iavl v0.19.7
226
+
227
+ // Use a version of ibc-go that is compatible with the above forks.
228
+ github.com/cosmos/ibc-go/v6 => github.com/agoric-labs/ibc-go/v6 v6.3.1-alpha.agoric.2
229
+
230
+ // use cometbft
231
+ // Use our fork at least until post-v0.34.14 is released with
232
+ // https://github.com/tendermint/tendermint/issue/6899 resolved.
233
+ // github.com/tendermint/tendermint => github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.1
234
+
235
+ // For testing against a local cosmos-sdk, ibc-go, or cometbft
236
+ // github.com/cosmos/cosmos-sdk => ../../../forks/cosmos-sdk
237
+ // github.com/cosmos/ibc-go/v6 => ../../../forks/ibc-go/v6
238
+ // github.com/tendermint/tendermint => ../../../forks/cometbft
239
+ )
package/e2e_test/go.sum CHANGED
@@ -51,8 +51,8 @@ cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7Biccwk
51
51
  collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE=
52
52
  cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w=
53
53
  cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE=
54
- cosmossdk.io/math v1.0.0-rc.0 h1:ml46ukocrAAoBpYKMidF0R2tQJ1Uxfns0yH8wqgMAFc=
55
- cosmossdk.io/math v1.0.0-rc.0/go.mod h1:Ygz4wBHrgc7g0N+8+MrnTfS9LLn9aaTGa9hKopuym5k=
54
+ cosmossdk.io/math v1.4.0 h1:XbgExXFnXmF/CccPPEto40gOO7FpWu9yWNAZPN3nkNQ=
55
+ cosmossdk.io/math v1.4.0/go.mod h1:O5PkD4apz2jZs4zqFdTr16e1dcaQCc5z6lkEnrrppuk=
56
56
  dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
57
57
  filippo.io/edwards25519 v1.0.0-rc.1 h1:m0VOOB23frXZvAOK44usCgLWvtsxIoMCTBGJZlpmGfU=
58
58
  filippo.io/edwards25519 v1.0.0-rc.1/go.mod h1:N1IkdkCkiLB6tki+MYJoSx2JTY9NUlxZE7eHn5EwJns=
@@ -85,6 +85,10 @@ github.com/StirlingMarketingGroup/go-namecase v1.0.0/go.mod h1:ZsoSKcafcAzuBx+sn
85
85
  github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw=
86
86
  github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE=
87
87
  github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig=
88
+ github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5 h1:cwbONQaVbGEPzfVqvTY9PGcLZptlR9LTPunZ9La0QCg=
89
+ github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5/go.mod h1:Yny/YE+GJ+y/++UgvraITGzfLhXCnwETSWw3dAY5NDg=
90
+ github.com/agoric-labs/ibc-go/v6 v6.3.1-alpha.agoric.2 h1:vEzy4JaExzlWNHV3ZSVXEVZcRE9loEFUjieE2TXwDdI=
91
+ github.com/agoric-labs/ibc-go/v6 v6.3.1-alpha.agoric.2/go.mod h1:L1xcBjCLIHN7Wd9j6cAQvZertn56pq+eRGFZjRO5bsY=
88
92
  github.com/agoric-labs/interchaintest/v6 v6.0.1-agoriclabs h1:OG3Z7F9YsqFKCi2w/JZVhMWs+VWNsAEujy39/I2Clxo=
89
93
  github.com/agoric-labs/interchaintest/v6 v6.0.1-agoriclabs/go.mod h1:B/KLzyRfuZI+uFKDQe+AXrvjJKRBjl5gds27iOwT9mM=
90
94
  github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
@@ -179,17 +183,13 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk=
179
183
  github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis=
180
184
  github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw=
181
185
  github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I=
182
- github.com/cosmos/cosmos-sdk v0.46.13 h1:LhL6WDBadczqBuCW0t5BHUzGQR3vbujdOYOfU0ORt+o=
183
- github.com/cosmos/cosmos-sdk v0.46.13/go.mod h1:EfY521ATNEla8eJ6oJuZBdgP5+p360s7InnRqX+TWdM=
184
186
  github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y=
185
187
  github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY=
186
188
  github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw=
187
189
  github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y=
188
190
  github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw=
189
- github.com/cosmos/iavl v0.19.6 h1:XY78yEeNPrEYyNCKlqr9chrwoeSDJ0bV2VjocTk//OU=
190
- github.com/cosmos/iavl v0.19.6/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
191
- github.com/cosmos/ibc-go/v6 v6.2.0 h1:HKS5WNxQrlmjowHb73J9LqlNJfvTnvkbhXZ9QzNTU7Q=
192
- github.com/cosmos/ibc-go/v6 v6.2.0/go.mod h1:+S3sxcNwOhgraYDJAhIFDg5ipXHaUnJrg7tOQqGyWlc=
191
+ github.com/cosmos/iavl v0.19.7 h1:ij32FaEnwxfEurtK0QKDNhTWFnz6NUmrI5gky/WnoY0=
192
+ github.com/cosmos/iavl v0.19.7/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw=
193
193
  github.com/cosmos/ledger-cosmos-go v0.12.4 h1:drvWt+GJP7Aiw550yeb3ON/zsrgW0jgh5saFCr7pDnw=
194
194
  github.com/cosmos/ledger-cosmos-go v0.12.4/go.mod h1:fjfVWRf++Xkygt9wzCsjEBdjcf7wiiY35fv3ctT+k4M=
195
195
  github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
@@ -752,8 +752,8 @@ github.com/strangelove-ventures/go-subkey v1.0.7/go.mod h1:E34izOIEm+sZ1YmYawYRq
752
752
  github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
753
753
  github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
754
754
  github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
755
- github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
756
755
  github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
756
+ github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
757
757
  github.com/stretchr/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
758
758
  github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
759
759
  github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ -766,8 +766,8 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F
766
766
  github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
767
767
  github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
768
768
  github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
769
- github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
770
- github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
769
+ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
770
+ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
771
771
  github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
772
772
  github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
773
773
  github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc=
@@ -1319,5 +1319,5 @@ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8
1319
1319
  rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
1320
1320
  rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
1321
1321
  rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
1322
- sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
1323
- sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
1322
+ sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
1323
+ sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
package/git-revision.txt CHANGED
@@ -1 +1 @@
1
- 793783b3b
1
+ f8c45b8a2
package/go.mod CHANGED
@@ -187,7 +187,7 @@ replace (
187
187
  // Agoric-specific replacements:
188
188
  replace (
189
189
  // We need a fork of cosmos-sdk until all of the differences are merged.
190
- github.com/cosmos/cosmos-sdk => github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.4
190
+ github.com/cosmos/cosmos-sdk => github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5
191
191
 
192
192
  // Pick up an IAVL race fix.
193
193
  github.com/cosmos/iavl => github.com/cosmos/iavl v0.19.7
@@ -198,7 +198,7 @@ replace (
198
198
  // use cometbft
199
199
  // Use our fork at least until post-v0.34.14 is released with
200
200
  // https://github.com/tendermint/tendermint/issue/6899 resolved.
201
- github.com/tendermint/tendermint => github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.1
201
+ github.com/tendermint/tendermint => github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.2
202
202
 
203
203
  // For testing against a local cosmos-sdk, ibc-go, or cometbft
204
204
  // github.com/cosmos/cosmos-sdk => ../../../forks/cosmos-sdk
package/go.sum CHANGED
@@ -230,10 +230,10 @@ github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:
230
230
  github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I=
231
231
  github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
232
232
  github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
233
- github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.1 h1:tqCNL72pQXdUmBzgv1md5SN2U3K/PaYQ4qZ5pFv8v6w=
234
- github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.1/go.mod h1:myvkihZD8eg9jKE3WFaugkNoL5nvEqlP7Jbjg98pCek=
235
- github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.4 h1:i5IgChQjTyWulV/y5NpVBB5qBJETQ59hYglod6vhok0=
236
- github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.4/go.mod h1:d7e4h+w7FNBNmE6ysp6duBVuQg67pqMtvsLwpT9ca3E=
233
+ github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.2 h1:JxNpTyzHIGXcaSmdb5jtygGn7cRSbiceVa+dn8pN1BM=
234
+ github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.2/go.mod h1:myvkihZD8eg9jKE3WFaugkNoL5nvEqlP7Jbjg98pCek=
235
+ github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5 h1:cwbONQaVbGEPzfVqvTY9PGcLZptlR9LTPunZ9La0QCg=
236
+ github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5/go.mod h1:Yny/YE+GJ+y/++UgvraITGzfLhXCnwETSWw3dAY5NDg=
237
237
  github.com/agoric-labs/cosmos-sdk/ics23/go v0.8.0-alpha.agoric.1 h1:2jvHI/2d+psWAZy6FQ0vXJCHUtfU3ZbbW+pQFL04arQ=
238
238
  github.com/agoric-labs/cosmos-sdk/ics23/go v0.8.0-alpha.agoric.1/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg=
239
239
  github.com/agoric-labs/ibc-go/v6 v6.3.1-alpha.agoric.2 h1:vEzy4JaExzlWNHV3ZSVXEVZcRE9loEFUjieE2TXwDdI=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agoric/cosmos",
3
- "version": "0.35.0-u18.3",
3
+ "version": "0.35.0-u18.5",
4
4
  "description": "Connect JS to the Cosmos blockchain SDK",
5
5
  "parsers": {
6
6
  "js": "mjs"
@@ -39,5 +39,5 @@
39
39
  "typeCoverage": {
40
40
  "atLeast": 0
41
41
  },
42
- "gitHead": "793783b3b1ff6b47565a959cb7ba60a1835e2486"
42
+ "gitHead": "f8c45b8a2e29a51522a81a6692af25b2d7f6b50f"
43
43
  }
@@ -82,6 +82,18 @@ message Params {
82
82
  repeated QueueSize queue_max = 5 [
83
83
  (gogoproto.nullable) = false
84
84
  ];
85
+
86
+ // Vat cleanup budget values.
87
+ // These values are used by SwingSet to control the pace of removing data
88
+ // associated with a terminated vat as described at
89
+ // https://github.com/Agoric/agoric-sdk/blob/master/packages/SwingSet/docs/run-policy.md#terminated-vat-cleanup
90
+ //
91
+ // There is no required order to this list of entries, but all the chain
92
+ // nodes must all serialize and deserialize the existing order without
93
+ // permuting it.
94
+ repeated UintMapEntry vat_cleanup_budget = 6 [
95
+ (gogoproto.nullable) = false
96
+ ];
85
97
  }
86
98
 
87
99
  // The current state of the module.
@@ -119,6 +131,7 @@ message PowerFlagFee {
119
131
  }
120
132
 
121
133
  // Map element of a string key to a size.
134
+ // TODO: Replace with UintMapEntry?
122
135
  message QueueSize {
123
136
  option (gogoproto.equal) = true;
124
137
 
@@ -129,6 +142,18 @@ message QueueSize {
129
142
  int32 size = 2;
130
143
  }
131
144
 
145
+ // Map element of a string key to an unsigned integer.
146
+ // The value uses cosmos-sdk Uint rather than a native Go type to ensure that
147
+ // zeroes survive "omitempty" JSON serialization.
148
+ message UintMapEntry {
149
+ option (gogoproto.equal) = true;
150
+ string key = 1;
151
+ string value = 2 [
152
+ (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Uint",
153
+ (gogoproto.nullable) = false
154
+ ];
155
+ }
156
+
132
157
  // Egress is the format for a swingset egress.
133
158
  message Egress {
134
159
  option (gogoproto.equal) = false;
@@ -33,6 +33,13 @@ message Params {
33
33
  int64 reward_smoothing_blocks = 3 [
34
34
  (gogoproto.moretags) = "yaml:\"reward_smoothing_blocks\""
35
35
  ];
36
+
37
+ // allowed_monitoring_accounts is an array of account addresses that can be
38
+ // monitored for sends and receives. An element of `"*"` will permit any
39
+ // address.
40
+ repeated string allowed_monitoring_accounts = 4 [
41
+ (gogoproto.moretags) = "yaml:\"allowed_monitoring_accounts\""
42
+ ];
36
43
  }
37
44
 
38
45
  // The current state of the module.