From 7fe9b4244a3bbceea74d5c266f67fc2b1b0a2528 Mon Sep 17 00:00:00 2001 From: Chris Hibbert Date: Fri, 16 Aug 2024 17:10:28 -0700 Subject: [PATCH] feat: remove vaults, auctions, and priceFeeds from upgrade.go --- golang/cosmos/app/upgrade.go | 135 ----------------------------------- 1 file changed, 135 deletions(-) diff --git a/golang/cosmos/app/upgrade.go b/golang/cosmos/app/upgrade.go index a7e052176de2..e8d0adf9d967 100644 --- a/golang/cosmos/app/upgrade.go +++ b/golang/cosmos/app/upgrade.go @@ -1,10 +1,6 @@ package gaia import ( - "encoding/json" - "fmt" - "strings" - "text/template" "github.com/Agoric/agoric-sdk/golang/cosmos/vm" swingsetkeeper "github.com/Agoric/agoric-sdk/golang/cosmos/x/swingset/keeper" @@ -29,132 +25,6 @@ func isFirstTimeUpgradeOfThisVersion(app *GaiaApp, ctx sdk.Context) bool { return true } -// upgradePriceFeedCoreProposalSteps returns the core proposal steps for the -// price feed upgrade and associated changes to scaledPriceAuthority and -// vaultManager. -func upgradePriceFeedCoreProposalSteps(upgradeName string) ([]vm.CoreProposalStep, error) { - isThisUpgrade := func(expectedUpgradeName string) bool { - if !upgradeNamesOfThisVersion[expectedUpgradeName] { - panic(fmt.Errorf("invalid upgrade name: %s", expectedUpgradeName)) - } - return upgradeName == expectedUpgradeName - } - - t := template.Must(template.New("").Parse(`{ - "module": "@agoric/builders/scripts/vats/priceFeedSupport.js", - "entrypoint": {{.entrypointJson}}, - "args": [{ - "AGORIC_INSTANCE_NAME": {{.instanceNameJson}}, - "ORACLE_ADDRESSES": {{.oracleAddressesJson}}, - "IN_BRAND_LOOKUP": {{.inBrandLookupJson}}, - "IN_BRAND_DECIMALS": 6, - "OUT_BRAND_LOOKUP": ["agoricNames", "oracleBrand", "USD"], - "OUT_BRAND_DECIMALS": 4 - }] - }`)) - - var oracleAddresses []string - - var entrypoint string - switch { - case isThisUpgrade("UNRELEASED_A3P_INTEGRATION"): - entrypoint = "deprecatedPriceFeedProposalBuilder" - case isThisUpgrade("UNRELEASED_main"): - oracleAddresses = []string{ - "agoric144rrhh4m09mh7aaffhm6xy223ym76gve2x7y78", // DSRV - "agoric19d6gnr9fyp6hev4tlrg87zjrzsd5gzr5qlfq2p", // Stakin - "agoric19uscwxdac6cf6z7d5e26e0jm0lgwstc47cpll8", // 01node - "agoric1krunjcqfrf7la48zrvdfeeqtls5r00ep68mzkr", // Simply Staking - "agoric1n4fcxsnkxe4gj6e24naec99hzmc4pjfdccy5nj", // P2P - } - entrypoint = "strictPriceFeedProposalBuilder" - case isThisUpgrade("UNRELEASED_devnet"): - oracleAddresses = []string{ - "agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft", // DSRV - "agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82", // Stakin - "agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4", // 01node - "agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf", // Simply Staking - "agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk", // P2P - } - entrypoint = "strictPriceFeedProposalBuilder" - - // No price feed upgrade for this version. - case isThisUpgrade("UNRELEASED_BASIC"): - } - - if entrypoint == "" { - return []vm.CoreProposalStep{}, nil - } - - entrypointJson, err := json.Marshal(entrypoint) - if err != nil { - return nil, err - } - - var inBrandNames []string - switch { - case isThisUpgrade("UNRELEASED_A3P_INTEGRATION"), isThisUpgrade("UNRELEASED_main"): - inBrandNames = []string{ - "ATOM", - "stATOM", - "stOSMO", - "stTIA", - "stkATOM", - } - case isThisUpgrade("UNRELEASED_devnet"): - inBrandNames = []string{ - "ATOM", - "stTIA", - "stkATOM", - } - } - - oracleAddressesJson, err := json.Marshal(oracleAddresses) - if err != nil { - return nil, err - } - - proposals := make(vm.CoreProposalStep, 0, len(inBrandNames)) - for _, inBrandName := range inBrandNames { - instanceName := inBrandName + "-USD price feed" - instanceNameJson, err := json.Marshal(instanceName) - if err != nil { - return nil, err - } - inBrandLookup := []string{"agoricNames", "oracleBrand", inBrandName} - inBrandLookupJson, err := json.Marshal(inBrandLookup) - if err != nil { - return nil, err - } - - var result strings.Builder - err = t.Execute(&result, map[string]any{ - "entrypointJson": string(entrypointJson), - "inBrandLookupJson": string(inBrandLookupJson), - "instanceNameJson": string(instanceNameJson), - "oracleAddressesJson": string(oracleAddressesJson), - }) - if err != nil { - return nil, err - } - - jsonStr := result.String() - jsonBz := []byte(jsonStr) - if !json.Valid(jsonBz) { - return nil, fmt.Errorf("invalid JSON: %s", jsonStr) - } - proposals = append(proposals, vm.ArbitraryCoreProposal{Json: jsonBz}) - } - return []vm.CoreProposalStep{ - // Add new vats for price feeds. The existing ones will be retired shortly. - vm.CoreProposalStepForModules(proposals...), - // Add new auction contract. The old one will be retired shortly. - vm.CoreProposalStepForModules("@agoric/builders/scripts/vats/add-auction.js"), - // upgrade vaultFactory. - vm.CoreProposalStepForModules("@agoric/builders/scripts/vats/upgradeVaults.js"), - }, nil -} - // unreleasedUpgradeHandler performs standard upgrade actions plus custom actions for the unreleased upgrade. func unreleasedUpgradeHandler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgradetypes.Plan, module.VersionMap) (module.VersionMap, error) { return func(ctx sdk.Context, plan upgradetypes.Plan, fromVm module.VersionMap) (module.VersionMap, error) { @@ -168,11 +38,6 @@ func unreleasedUpgradeHandler(app *GaiaApp, targetUpgrade string) func(sdk.Conte // Each CoreProposalStep runs sequentially, and can be constructed from // one or more modules executing in parallel within the step. CoreProposalSteps = []vm.CoreProposalStep{} - priceFeedSteps, err := upgradePriceFeedCoreProposalSteps(targetUpgrade) - if err != nil { - return nil, err - } - CoreProposalSteps = append(CoreProposalSteps, priceFeedSteps...) } app.upgradeDetails = &upgradeDetails{