Skip to content

Commit

Permalink
fix: init in the right order
Browse files Browse the repository at this point in the history
  • Loading branch information
arirubinstein authored and mergify[bot] committed Oct 14, 2022
1 parent 3c37418 commit 3050d11
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 35 deletions.
37 changes: 14 additions & 23 deletions golang/cosmos/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -645,7 +645,8 @@ func NewAgoricApp(
// NOTE: Capability module must occur first so that it can initialize any capabilities
// so that other modules that want to create or claim capabilities afterwards in InitChain
// can do so safely.
app.mm.SetOrderInitGenesis(

moduleOrderForGenesisAndUpgrade := []string{
capabilitytypes.ModuleName,
authtypes.ModuleName,
banktypes.ModuleName,
Expand All @@ -670,7 +671,10 @@ func NewAgoricApp(
vibc.ModuleName,
swingset.ModuleName,
lien.ModuleName,
)
}

app.mm.SetOrderInitGenesis(moduleOrderForGenesisAndUpgrade...)
app.mm.SetOrderMigrations(moduleOrderForGenesisAndUpgrade...)

app.mm.RegisterInvariants(&app.CrisisKeeper)
app.mm.RegisterRoutes(app.Router(), app.QueryRouter(), encodingConfig.Amino)
Expand Down Expand Up @@ -769,34 +773,22 @@ func NewAgoricApp(

func upgrade8Handler(app *GaiaApp, targetUpgrade string) func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
return func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
//Run migrations first so InitGenesis is called for swingset, vibc, vbank, vstorage, lien
vm, err := app.mm.RunMigrations(ctx, app.configurator, vm)
if err != nil {
return vm, err
}

// Set bean count
currentSwingsetParams := app.SwingSetKeeper.GetParams(ctx)
ctx.Logger().Info("pre-swingset upgrade", "subspace", swingset.ModuleName, "params", currentSwingsetParams)

for i := 0; i < len(currentSwingsetParams.BeansPerUnit); i++ {
if currentSwingsetParams.BeansPerUnit[i].Key == swingsettypes.BeansPerBlockComputeLimit {
currentSwingsetParams.BeansPerUnit[i].Beans = sdk.NewUint(6_500_000_000)
}
}

swingsettypes.DefaultBeansPerBlockComputeLimit = sdk.NewUint(6_500_000_000)
// Set bootstrap
switch targetUpgrade {
case upgradeName:
currentSwingsetParams.BootstrapVatConfig = "@agoric/vats/decentral-main-psm-config.json"
swingsettypes.DefaultBootstrapVatConfig = "@agoric/vats/decentral-main-psm-config.json"
case upgradeNameTest:
currentSwingsetParams.BootstrapVatConfig = "@agoric/vats/decentral-test-psm-config.json"
swingsettypes.DefaultBootstrapVatConfig = "@agoric/vats/decentral-test-psm-config.json"
default:
return vm, fmt.Errorf("invalid upgrade name")
}
ctx.Logger().Info("post-swingset upgrade", "subspace", swingset.ModuleName, "params", currentSwingsetParams)

app.SwingSetKeeper.SetParams(ctx, currentSwingsetParams)
//Run migrations so InitGenesis is called for lien, swingset, vibc, vbank, vstorage
vm, err := app.mm.RunMigrations(ctx, app.configurator, vm)
if err != nil {
return vm, err
}

return vm, err
}
Expand All @@ -821,7 +813,6 @@ func (app *GaiaApp) MustInitController(ctx sdk.Context) {
return
}
app.controllerInited = true

// Begin initializing the controller here.
action := &cosmosInitAction{
Type: "AG_COSMOS_INIT",
Expand Down
25 changes: 14 additions & 11 deletions golang/cosmos/x/swingset/types/default-params.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,6 @@ var (
DefaultBeansPerMessageByte = DefaultBeansPerFeeUnit.Quo(sdk.NewUint(50_000)) // $0.0002
DefaultBeansPerMinFeeDebit = DefaultBeansPerFeeUnit.Quo(sdk.NewUint(5)) // $0.2

DefaultBeansPerUnit = []StringBeans{
NewStringBeans(BeansPerBlockComputeLimit, DefaultBeansPerBlockComputeLimit),
NewStringBeans(BeansPerFeeUnit, DefaultBeansPerFeeUnit),
NewStringBeans(BeansPerInboundTx, DefaultBeansPerInboundTx),
NewStringBeans(BeansPerMessage, DefaultBeansPerMessage),
NewStringBeans(BeansPerMessageByte, DefaultBeansPerMessageByte),
NewStringBeans(BeansPerMinFeeDebit, DefaultBeansPerMinFeeDebit),
NewStringBeans(BeansPerVatCreation, DefaultBeansPerVatCreation),
NewStringBeans(BeansPerXsnapComputron, DefaultBeansPerXsnapComputron),
}

DefaultBootstrapVatConfig = "@agoric/vats/decentral-core-config.json"

DefaultPowerFlagFees = []PowerFlagFee{
Expand All @@ -71,3 +60,17 @@ var (
NewQueueSize(QueueInbound, DefaultInboundQueueMax),
}
)

// move DefaultBeansPerUnit to a function to allow for boot overriding of the Default params
func DefaultBeansPerUnit() []StringBeans {
return []StringBeans{
NewStringBeans(BeansPerBlockComputeLimit, DefaultBeansPerBlockComputeLimit),
NewStringBeans(BeansPerFeeUnit, DefaultBeansPerFeeUnit),
NewStringBeans(BeansPerInboundTx, DefaultBeansPerInboundTx),
NewStringBeans(BeansPerMessage, DefaultBeansPerMessage),
NewStringBeans(BeansPerMessageByte, DefaultBeansPerMessageByte),
NewStringBeans(BeansPerMinFeeDebit, DefaultBeansPerMinFeeDebit),
NewStringBeans(BeansPerVatCreation, DefaultBeansPerVatCreation),
NewStringBeans(BeansPerXsnapComputron, DefaultBeansPerXsnapComputron),
}
}
2 changes: 1 addition & 1 deletion golang/cosmos/x/swingset/types/params.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ func ParamKeyTable() paramtypes.KeyTable {
// DefaultParams returns default swingset parameters
func DefaultParams() Params {
return Params{
BeansPerUnit: DefaultBeansPerUnit,
BeansPerUnit: DefaultBeansPerUnit(),
BootstrapVatConfig: DefaultBootstrapVatConfig,
FeeUnitPrice: DefaultFeeUnitPrice,
PowerFlagFees: DefaultPowerFlagFees,
Expand Down

0 comments on commit 3050d11

Please sign in to comment.