@agoric/cosmos 0.34.2-upgrade-16-dev-0549112.0 → 0.34.2-upgrade-16-dev-b7c2f02.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.
- package/app/upgrade.go +1 -140
- package/daemon/cmd/root.go +9 -6
- package/git-revision.txt +1 -1
- package/package.json +2 -2
package/app/upgrade.go
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
package gaia
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
|
-
"encoding/json"
|
|
5
|
-
"fmt"
|
|
6
|
-
"strings"
|
|
7
|
-
"text/template"
|
|
8
|
-
|
|
9
4
|
"github.com/Agoric/agoric-sdk/golang/cosmos/vm"
|
|
10
5
|
swingsetkeeper "github.com/Agoric/agoric-sdk/golang/cosmos/x/swingset/keeper"
|
|
11
6
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
@@ -14,10 +9,7 @@ import (
|
|
|
14
9
|
)
|
|
15
10
|
|
|
16
11
|
var upgradeNamesOfThisVersion = map[string]bool{
|
|
17
|
-
"agoric-upgrade-16
|
|
18
|
-
"agoric-upgrade-16-a3p-integration": true,
|
|
19
|
-
"agoric-upgrade-16-main": true,
|
|
20
|
-
"agoric-upgrade-16-devnet": true,
|
|
12
|
+
"agoric-upgrade-16": true,
|
|
21
13
|
}
|
|
22
14
|
|
|
23
15
|
func isFirstTimeUpgradeOfThisVersion(app *GaiaApp, ctx sdk.Context) bool {
|
|
@@ -29,132 +21,6 @@ func isFirstTimeUpgradeOfThisVersion(app *GaiaApp, ctx sdk.Context) bool {
|
|
|
29
21
|
return true
|
|
30
22
|
}
|
|
31
23
|
|
|
32
|
-
// upgradePriceFeedCoreProposalSteps returns the core proposal steps for the
|
|
33
|
-
// price feed upgrade and associated changes to scaledPriceAuthority and
|
|
34
|
-
// vaultManager.
|
|
35
|
-
func upgradePriceFeedCoreProposalSteps(upgradeName string) ([]vm.CoreProposalStep, error) {
|
|
36
|
-
isThisUpgrade := func(expectedUpgradeName string) bool {
|
|
37
|
-
if !upgradeNamesOfThisVersion[expectedUpgradeName] {
|
|
38
|
-
panic(fmt.Errorf("invalid upgrade name: %s", expectedUpgradeName))
|
|
39
|
-
}
|
|
40
|
-
return upgradeName == expectedUpgradeName
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
t := template.Must(template.New("").Parse(`{
|
|
44
|
-
"module": "@agoric/builders/scripts/vats/priceFeedSupport.js",
|
|
45
|
-
"entrypoint": {{.entrypointJson}},
|
|
46
|
-
"args": [{
|
|
47
|
-
"AGORIC_INSTANCE_NAME": {{.instanceNameJson}},
|
|
48
|
-
"ORACLE_ADDRESSES": {{.oracleAddressesJson}},
|
|
49
|
-
"IN_BRAND_LOOKUP": {{.inBrandLookupJson}},
|
|
50
|
-
"IN_BRAND_DECIMALS": 6,
|
|
51
|
-
"OUT_BRAND_LOOKUP": ["agoricNames", "oracleBrand", "USD"],
|
|
52
|
-
"OUT_BRAND_DECIMALS": 4
|
|
53
|
-
}]
|
|
54
|
-
}`))
|
|
55
|
-
|
|
56
|
-
var oracleAddresses []string
|
|
57
|
-
|
|
58
|
-
var entrypoint string
|
|
59
|
-
switch {
|
|
60
|
-
case isThisUpgrade("agoric-upgrade-16-a3p-integration"):
|
|
61
|
-
entrypoint = "deprecatedPriceFeedProposalBuilder"
|
|
62
|
-
case isThisUpgrade("agoric-upgrade-16-main"):
|
|
63
|
-
oracleAddresses = []string{
|
|
64
|
-
"agoric144rrhh4m09mh7aaffhm6xy223ym76gve2x7y78", // DSRV
|
|
65
|
-
"agoric19d6gnr9fyp6hev4tlrg87zjrzsd5gzr5qlfq2p", // Stakin
|
|
66
|
-
"agoric19uscwxdac6cf6z7d5e26e0jm0lgwstc47cpll8", // 01node
|
|
67
|
-
"agoric1krunjcqfrf7la48zrvdfeeqtls5r00ep68mzkr", // Simply Staking
|
|
68
|
-
"agoric1n4fcxsnkxe4gj6e24naec99hzmc4pjfdccy5nj", // P2P
|
|
69
|
-
}
|
|
70
|
-
entrypoint = "strictPriceFeedProposalBuilder"
|
|
71
|
-
case isThisUpgrade("agoric-upgrade-16-devnet"):
|
|
72
|
-
oracleAddresses = []string{
|
|
73
|
-
"agoric1lw4e4aas9q84tq0q92j85rwjjjapf8dmnllnft", // DSRV
|
|
74
|
-
"agoric1zj6vrrrjq4gsyr9lw7dplv4vyejg3p8j2urm82", // Stakin
|
|
75
|
-
"agoric1ra0g6crtsy6r3qnpu7ruvm7qd4wjnznyzg5nu4", // 01node
|
|
76
|
-
"agoric1qj07c7vfk3knqdral0sej7fa6eavkdn8vd8etf", // Simply Staking
|
|
77
|
-
"agoric10vjkvkmpp9e356xeh6qqlhrny2htyzp8hf88fk", // P2P
|
|
78
|
-
}
|
|
79
|
-
entrypoint = "strictPriceFeedProposalBuilder"
|
|
80
|
-
|
|
81
|
-
// No price feed upgrade for this version.
|
|
82
|
-
case isThisUpgrade("agoric-upgrade-16-basic"):
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if entrypoint == "" {
|
|
86
|
-
return []vm.CoreProposalStep{}, nil
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
entrypointJson, err := json.Marshal(entrypoint)
|
|
90
|
-
if err != nil {
|
|
91
|
-
return nil, err
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
var inBrandNames []string
|
|
95
|
-
switch {
|
|
96
|
-
case isThisUpgrade("agoric-upgrade-16-a3p-integration"), isThisUpgrade("agoric-upgrade-16-main"):
|
|
97
|
-
inBrandNames = []string{
|
|
98
|
-
"ATOM",
|
|
99
|
-
"stATOM",
|
|
100
|
-
"stOSMO",
|
|
101
|
-
"stTIA",
|
|
102
|
-
"stkATOM",
|
|
103
|
-
}
|
|
104
|
-
case isThisUpgrade("agoric-upgrade-16-devnet"):
|
|
105
|
-
inBrandNames = []string{
|
|
106
|
-
"ATOM",
|
|
107
|
-
"stTIA",
|
|
108
|
-
"stkATOM",
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
oracleAddressesJson, err := json.Marshal(oracleAddresses)
|
|
113
|
-
if err != nil {
|
|
114
|
-
return nil, err
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
proposals := make(vm.CoreProposalStep, 0, len(inBrandNames))
|
|
118
|
-
for _, inBrandName := range inBrandNames {
|
|
119
|
-
instanceName := inBrandName + "-USD price feed"
|
|
120
|
-
instanceNameJson, err := json.Marshal(instanceName)
|
|
121
|
-
if err != nil {
|
|
122
|
-
return nil, err
|
|
123
|
-
}
|
|
124
|
-
inBrandLookup := []string{"agoricNames", "oracleBrand", inBrandName}
|
|
125
|
-
inBrandLookupJson, err := json.Marshal(inBrandLookup)
|
|
126
|
-
if err != nil {
|
|
127
|
-
return nil, err
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
var result strings.Builder
|
|
131
|
-
err = t.Execute(&result, map[string]any{
|
|
132
|
-
"entrypointJson": string(entrypointJson),
|
|
133
|
-
"inBrandLookupJson": string(inBrandLookupJson),
|
|
134
|
-
"instanceNameJson": string(instanceNameJson),
|
|
135
|
-
"oracleAddressesJson": string(oracleAddressesJson),
|
|
136
|
-
})
|
|
137
|
-
if err != nil {
|
|
138
|
-
return nil, err
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
jsonStr := result.String()
|
|
142
|
-
jsonBz := []byte(jsonStr)
|
|
143
|
-
if !json.Valid(jsonBz) {
|
|
144
|
-
return nil, fmt.Errorf("invalid JSON: %s", jsonStr)
|
|
145
|
-
}
|
|
146
|
-
proposals = append(proposals, vm.ArbitraryCoreProposal{Json: jsonBz})
|
|
147
|
-
}
|
|
148
|
-
return []vm.CoreProposalStep{
|
|
149
|
-
// Add new vats for price feeds. The existing ones will be retired shortly.
|
|
150
|
-
vm.CoreProposalStepForModules(proposals...),
|
|
151
|
-
// Add new auction contract. The old one will be retired shortly.
|
|
152
|
-
vm.CoreProposalStepForModules("@agoric/builders/scripts/vats/add-auction.js"),
|
|
153
|
-
// upgrade vaultFactory.
|
|
154
|
-
vm.CoreProposalStepForModules("@agoric/builders/scripts/vats/upgradeVaults.js"),
|
|
155
|
-
}, nil
|
|
156
|
-
}
|
|
157
|
-
|
|
158
24
|
// upgrade16Handler performs standard upgrade actions plus custom actions for upgrade-16.
|
|
159
25
|
func upgrade16Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgradetypes.Plan, module.VersionMap) (module.VersionMap, error) {
|
|
160
26
|
return func(ctx sdk.Context, plan upgradetypes.Plan, fromVm module.VersionMap) (module.VersionMap, error) {
|
|
@@ -182,11 +48,6 @@ func upgrade16Handler(app *GaiaApp, targetUpgrade string) func(sdk.Context, upgr
|
|
|
182
48
|
"@agoric/builders/scripts/vats/init-transfer.js",
|
|
183
49
|
),
|
|
184
50
|
}
|
|
185
|
-
priceFeedSteps, err := upgradePriceFeedCoreProposalSteps(targetUpgrade)
|
|
186
|
-
if err != nil {
|
|
187
|
-
return nil, err
|
|
188
|
-
}
|
|
189
|
-
CoreProposalSteps = append(CoreProposalSteps, priceFeedSteps...)
|
|
190
51
|
}
|
|
191
52
|
|
|
192
53
|
app.upgradeDetails = &upgradeDetails{
|
package/daemon/cmd/root.go
CHANGED
|
@@ -2,6 +2,7 @@ package cmd
|
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
4
|
"errors"
|
|
5
|
+
"fmt"
|
|
5
6
|
"io"
|
|
6
7
|
"os"
|
|
7
8
|
"path/filepath"
|
|
@@ -452,7 +453,7 @@ func replaceCosmosSnapshotExportCommand(cmd *cobra.Command, ac appCreator) {
|
|
|
452
453
|
replacedRunE := func(cmd *cobra.Command, args []string) error {
|
|
453
454
|
ctx := server.GetServerContextFromCmd(cmd)
|
|
454
455
|
|
|
455
|
-
|
|
456
|
+
heightFlag, err := cmd.Flags().GetInt64("height")
|
|
456
457
|
if err != nil {
|
|
457
458
|
return err
|
|
458
459
|
}
|
|
@@ -467,13 +468,15 @@ func replaceCosmosSnapshotExportCommand(cmd *cobra.Command, ac appCreator) {
|
|
|
467
468
|
app := ac.newSnapshotsApp(ctx.Logger, db, nil, ctx.Viper)
|
|
468
469
|
gaiaApp := app.(*gaia.GaiaApp)
|
|
469
470
|
|
|
470
|
-
|
|
471
|
-
|
|
471
|
+
latestHeight := app.CommitMultiStore().LastCommitID().Version
|
|
472
|
+
|
|
473
|
+
if heightFlag != 0 && latestHeight != heightFlag {
|
|
474
|
+
return fmt.Errorf("cannot export at height %d, only latest height %d is supported", heightFlag, latestHeight)
|
|
472
475
|
}
|
|
473
476
|
|
|
474
|
-
cmd.Printf("Exporting snapshot for height %d\n",
|
|
477
|
+
cmd.Printf("Exporting snapshot for height %d\n", latestHeight)
|
|
475
478
|
|
|
476
|
-
err = gaiaApp.SwingSetSnapshotter.InitiateSnapshot(
|
|
479
|
+
err = gaiaApp.SwingSetSnapshotter.InitiateSnapshot(latestHeight)
|
|
477
480
|
if err != nil {
|
|
478
481
|
return err
|
|
479
482
|
}
|
|
@@ -488,7 +491,7 @@ func replaceCosmosSnapshotExportCommand(cmd *cobra.Command, ac appCreator) {
|
|
|
488
491
|
return err
|
|
489
492
|
}
|
|
490
493
|
|
|
491
|
-
snapshotHeight := uint64(
|
|
494
|
+
snapshotHeight := uint64(latestHeight)
|
|
492
495
|
|
|
493
496
|
for _, snapshot := range snapshotList {
|
|
494
497
|
if snapshot.Height == snapshotHeight {
|
package/git-revision.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
b7c2f02
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/cosmos",
|
|
3
|
-
"version": "0.34.2-upgrade-16-dev-
|
|
3
|
+
"version": "0.34.2-upgrade-16-dev-b7c2f02.0+b7c2f02",
|
|
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": "
|
|
42
|
+
"gitHead": "b7c2f02873a830fc76909505a8637a69a72f1adb"
|
|
43
43
|
}
|