From 3e7d6e88fd71ff3edcc176776cd9b5e4801ad74c Mon Sep 17 00:00:00 2001 From: jonathansumner Date: Wed, 12 Jun 2024 12:15:34 +0100 Subject: [PATCH 1/3] chore: amend asi manifest structure --- cmd/fetchd/cmd/gen_asi_upgrade_manifest.go | 23 ++++++++++++---------- cmd/fetchd/cmd/genesis-asi-upgrade.go | 17 ++++++++-------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go index b8a5f3db..2264d3d5 100644 --- a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go +++ b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go @@ -64,9 +64,8 @@ type ASIUpgradeSupply struct { } type ContractValueUpdate struct { - Address string `json:"address"` - From string `json:"from"` - To string `json:"to"` + Address string `json:"address"` + ValueUpdate ValueUpdate `json:"value_update"` } type ValueUpdate struct { @@ -74,20 +73,24 @@ type ValueUpdate struct { To string `json:"to"` } -type MainParams struct { +type NetworkParams struct { GenesisTime *ValueUpdate `json:"genesis_time,omitempty"` ChainID *ValueUpdate `json:"chain_id,omitempty"` AddressPrefix *ValueUpdate `json:"address_prefix,omitempty"` Supply *ASIUpgradeSupply `json:"supply,omitempty"` } +type ContractsManifest struct { + StateCleaned []string `json:"contracts_state_cleaned,omitempty"` + AdminUpdated []ContractValueUpdate `json:"contracts_admin_updated,omitempty"` + LabelUpdated []ContractValueUpdate `json:"contracts_label_updated,omitempty"` +} + type ASIUpgradeManifest struct { - Main *MainParams `json:"main,omitempty"` - IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"` - Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"` - ContractsStateCleaned []string `json:"contracts_state_cleaned,omitempty"` - ContractsAdminUpdated []ContractValueUpdate `json:"contracts_admin_updated,omitempty"` - ContractsLabelUpdated []ContractValueUpdate `json:"contracts_label_updated,omitempty"` + Network *NetworkParams `json:"network,omitempty"` + IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"` + Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"` + ContractsManifest *ContractsManifest `json:"contracts,omitempty"` } func SaveASIManifest(manifest *ASIUpgradeManifest, config *config2.Config) error { diff --git a/cmd/fetchd/cmd/genesis-asi-upgrade.go b/cmd/fetchd/cmd/genesis-asi-upgrade.go index 32538516..83869ca8 100644 --- a/cmd/fetchd/cmd/genesis-asi-upgrade.go +++ b/cmd/fetchd/cmd/genesis-asi-upgrade.go @@ -194,7 +194,8 @@ func ASIGenesisUpgradeCmd(defaultNodeHome string) *cobra.Command { // create a new manifest manifest := ASIUpgradeManifest{ - Main: &MainParams{}, + Network: &NetworkParams{}, + ContractsManifest: &ContractsManifest{}, } _, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) @@ -362,7 +363,7 @@ func ASIGenesisUpgradeUpdateGenesisTime(genDoc *types.GenesisDoc, newGenesisTime panic(err) } genDoc.GenesisTime = tmtime.Canonical(genesisTime) - manifest.Main.GenesisTime = &ValueUpdate{ + manifest.Network.GenesisTime = &ValueUpdate{ From: oldGenesisTime.String(), To: genDoc.GenesisTime.String(), } @@ -735,7 +736,7 @@ func ASIGenesisUpgradeReplaceDenomMetadata(jsonData map[string]interface{}, netw func ASIGenesisUpgradeReplaceChainID(genesisData *types.GenesisDoc, networkInfo NetworkConfig, manifest *ASIUpgradeManifest) { oldChainID := genesisData.ChainID genesisData.ChainID = networkInfo.NewChainID - manifest.Main.ChainID = &ValueUpdate{ + manifest.Network.ChainID = &ValueUpdate{ From: oldChainID, To: genesisData.ChainID, } @@ -836,7 +837,7 @@ func ASIGenesisUpgradeReplaceAddresses(jsonData map[string]interface{}, networkI // contract addresses replaceAddresses(AccAddressPrefix, jsonData, WasmAddrDataLength+AddrChecksumLength) - manifest.Main.AddressPrefix = &ValueUpdate{ + manifest.Network.AddressPrefix = &ValueUpdate{ From: OldAddrPrefix, To: NewAddrPrefix, } @@ -1067,7 +1068,7 @@ func ASIGenesisUpgradeASISupply(jsonData map[string]interface{}, networkInfo Net MintedAmount: sdk.NewCoins(additionalSupplyCoin), ResultingTotalSupply: sdk.NewCoins(newSupplyCoins), } - manifest.Main.Supply = &supplyRecord + manifest.Network.Supply = &supplyRecord // update the supply in the bank module supply[curSupplyIdx].(map[string]interface{})["amount"] = newSupplyCoins.Amount.String() @@ -1099,19 +1100,19 @@ func replaceContractAdminAndLabel(genesisContractStruct map[string]interface{}, if newAdmin != nil { oldAdmin := contractInfo["admin"].(string) contractInfo["admin"] = *newAdmin - manifest.ContractsAdminUpdated = append(manifest.ContractsAdminUpdated, ContractValueUpdate{Address: contractAddress, From: oldAdmin, To: *newAdmin}) + manifest.ContractsManifest.AdminUpdated = append(manifest.ContractsManifest.AdminUpdated, ContractValueUpdate{Address: contractAddress, ValueUpdate: ValueUpdate{oldAdmin, *newAdmin}}) } if newLabel != nil { oldLabel := contractInfo["label"].(string) contractInfo["label"] = *newLabel - manifest.ContractsLabelUpdated = append(manifest.ContractsLabelUpdated, ContractValueUpdate{Address: contractAddress, From: oldLabel, To: *newLabel}) + manifest.ContractsManifest.LabelUpdated = append(manifest.ContractsManifest.LabelUpdated, ContractValueUpdate{Address: contractAddress, ValueUpdate: ValueUpdate{oldLabel, *newLabel}}) } } func deleteContractState(genesisContractStruct map[string]interface{}, manifest *ASIUpgradeManifest) { contractAddress := genesisContractStruct["contract_address"].(string) genesisContractStruct["contract_state"] = []interface{}{} - manifest.ContractsStateCleaned = append(manifest.ContractsStateCleaned, contractAddress) + manifest.ContractsManifest.StateCleaned = append(manifest.ContractsManifest.StateCleaned, contractAddress) } func crawlJson(key string, value interface{}, idx int, strHandler func(string, interface{}, int) interface{}) interface{} { From 0fd525bc582869575af2771dd583db6138efd640 Mon Sep 17 00:00:00 2001 From: jonathansumner Date: Thu, 13 Jun 2024 10:46:03 +0100 Subject: [PATCH 2/3] chore: amend asi manifest structure --- cmd/fetchd/cmd/gen_asi_upgrade_manifest.go | 9 +++++---- cmd/fetchd/cmd/genesis-asi-upgrade.go | 14 +++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go index 2264d3d5..39e62771 100644 --- a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go +++ b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go @@ -64,8 +64,9 @@ type ASIUpgradeSupply struct { } type ContractValueUpdate struct { - Address string `json:"address"` - ValueUpdate ValueUpdate `json:"value_update"` + Address string `json:"address"` + From string `json:"from"` + To string `json:"to"` } type ValueUpdate struct { @@ -80,7 +81,7 @@ type NetworkParams struct { Supply *ASIUpgradeSupply `json:"supply,omitempty"` } -type ContractsManifest struct { +type Contracts struct { StateCleaned []string `json:"contracts_state_cleaned,omitempty"` AdminUpdated []ContractValueUpdate `json:"contracts_admin_updated,omitempty"` LabelUpdated []ContractValueUpdate `json:"contracts_label_updated,omitempty"` @@ -90,7 +91,7 @@ type ASIUpgradeManifest struct { Network *NetworkParams `json:"network,omitempty"` IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"` Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"` - ContractsManifest *ContractsManifest `json:"contracts,omitempty"` + ContractsManifest *Contracts `json:"contracts,omitempty"` } func SaveASIManifest(manifest *ASIUpgradeManifest, config *config2.Config) error { diff --git a/cmd/fetchd/cmd/genesis-asi-upgrade.go b/cmd/fetchd/cmd/genesis-asi-upgrade.go index 83869ca8..d3229d8f 100644 --- a/cmd/fetchd/cmd/genesis-asi-upgrade.go +++ b/cmd/fetchd/cmd/genesis-asi-upgrade.go @@ -99,7 +99,7 @@ var networkInfos = map[string]NetworkConfig{ TargetAddress: "fetch1tynmzk68pq6kzawqffrqdhquq475gw9ccmlf9gk24mxjjy6ugl3q70aeyd", InputCSVRecords: readInputReconciliationData(reconciliationData), }, - Contracts: &Contracts{ + Contracts: &ContractSet{ Almanac: &Almanac{ ProdAddr: "fetch1mezzhfj7qgveewzwzdk6lz5sae4dunpmmsjr9u7z0tpmdsae8zmquq3y0y", }, @@ -141,7 +141,7 @@ var networkInfos = map[string]NetworkConfig{ TargetAddress: "fetch1g5ur2wc5xnlc7sw9wd895lw7mmxz04r5syj3s6ew8md6pvwuweqqavkgt0", InputCSVRecords: readInputReconciliationData(reconciliationDataTestnet), }, - Contracts: &Contracts{ + Contracts: &ContractSet{ Almanac: &Almanac{ ProdAddr: "fetch1tjagw8g8nn4cwuw00cf0m5tl4l6wfw9c0ue507fhx9e3yrsck8zs0l3q4w", DevAddr: "fetch135h26ys2nwqealykzey532gamw4l4s07aewpwc0cyd8z6m92vyhsplf0vp", @@ -195,7 +195,7 @@ func ASIGenesisUpgradeCmd(defaultNodeHome string) *cobra.Command { // create a new manifest manifest := ASIUpgradeManifest{ Network: &NetworkParams{}, - ContractsManifest: &ContractsManifest{}, + ContractsManifest: &Contracts{}, } _, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) @@ -1100,12 +1100,12 @@ func replaceContractAdminAndLabel(genesisContractStruct map[string]interface{}, if newAdmin != nil { oldAdmin := contractInfo["admin"].(string) contractInfo["admin"] = *newAdmin - manifest.ContractsManifest.AdminUpdated = append(manifest.ContractsManifest.AdminUpdated, ContractValueUpdate{Address: contractAddress, ValueUpdate: ValueUpdate{oldAdmin, *newAdmin}}) + manifest.ContractsManifest.AdminUpdated = append(manifest.ContractsManifest.AdminUpdated, ContractValueUpdate{contractAddress, oldAdmin, *newAdmin}) } if newLabel != nil { oldLabel := contractInfo["label"].(string) contractInfo["label"] = *newLabel - manifest.ContractsManifest.LabelUpdated = append(manifest.ContractsManifest.LabelUpdated, ContractValueUpdate{Address: contractAddress, ValueUpdate: ValueUpdate{oldLabel, *newLabel}}) + manifest.ContractsManifest.LabelUpdated = append(manifest.ContractsManifest.LabelUpdated, ContractValueUpdate{contractAddress, oldLabel, *newLabel}) } } @@ -1197,7 +1197,7 @@ type NetworkConfig struct { ReconciliationInfo *ReconciliationInfo SupplyInfo SupplyInfo DenomInfo DenomInfo - Contracts *Contracts + Contracts *ContractSet } type ReconciliationInfo struct { @@ -1216,7 +1216,7 @@ type DenomInfo struct { OldDenom string } -type Contracts struct { +type ContractSet struct { TokenBridge *TokenBridge Almanac *Almanac AName *AName From df9cc2d03db61c5ad683d03b1d0196f20a2e01d4 Mon Sep 17 00:00:00 2001 From: jonathansumner Date: Thu, 13 Jun 2024 10:49:13 +0100 Subject: [PATCH 3/3] chore: amend asi manifest structure --- cmd/fetchd/cmd/gen_asi_upgrade_manifest.go | 8 ++++---- cmd/fetchd/cmd/genesis-asi-upgrade.go | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go index 39e62771..17bdddd0 100644 --- a/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go +++ b/cmd/fetchd/cmd/gen_asi_upgrade_manifest.go @@ -88,10 +88,10 @@ type Contracts struct { } type ASIUpgradeManifest struct { - Network *NetworkParams `json:"network,omitempty"` - IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"` - Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"` - ContractsManifest *Contracts `json:"contracts,omitempty"` + Network *NetworkParams `json:"network,omitempty"` + IBC *ASIUpgradeIBCTransfers `json:"ibc,omitempty"` + Reconciliation *ASIUpgradeReconciliation `json:"reconciliation,omitempty"` + Contracts *Contracts `json:"contracts,omitempty"` } func SaveASIManifest(manifest *ASIUpgradeManifest, config *config2.Config) error { diff --git a/cmd/fetchd/cmd/genesis-asi-upgrade.go b/cmd/fetchd/cmd/genesis-asi-upgrade.go index d3229d8f..b618fb65 100644 --- a/cmd/fetchd/cmd/genesis-asi-upgrade.go +++ b/cmd/fetchd/cmd/genesis-asi-upgrade.go @@ -194,8 +194,8 @@ func ASIGenesisUpgradeCmd(defaultNodeHome string) *cobra.Command { // create a new manifest manifest := ASIUpgradeManifest{ - Network: &NetworkParams{}, - ContractsManifest: &Contracts{}, + Network: &NetworkParams{}, + Contracts: &Contracts{}, } _, genDoc, err := genutiltypes.GenesisStateFromGenFile(genFile) @@ -1100,19 +1100,19 @@ func replaceContractAdminAndLabel(genesisContractStruct map[string]interface{}, if newAdmin != nil { oldAdmin := contractInfo["admin"].(string) contractInfo["admin"] = *newAdmin - manifest.ContractsManifest.AdminUpdated = append(manifest.ContractsManifest.AdminUpdated, ContractValueUpdate{contractAddress, oldAdmin, *newAdmin}) + manifest.Contracts.AdminUpdated = append(manifest.Contracts.AdminUpdated, ContractValueUpdate{contractAddress, oldAdmin, *newAdmin}) } if newLabel != nil { oldLabel := contractInfo["label"].(string) contractInfo["label"] = *newLabel - manifest.ContractsManifest.LabelUpdated = append(manifest.ContractsManifest.LabelUpdated, ContractValueUpdate{contractAddress, oldLabel, *newLabel}) + manifest.Contracts.LabelUpdated = append(manifest.Contracts.LabelUpdated, ContractValueUpdate{contractAddress, oldLabel, *newLabel}) } } func deleteContractState(genesisContractStruct map[string]interface{}, manifest *ASIUpgradeManifest) { contractAddress := genesisContractStruct["contract_address"].(string) genesisContractStruct["contract_state"] = []interface{}{} - manifest.ContractsManifest.StateCleaned = append(manifest.ContractsManifest.StateCleaned, contractAddress) + manifest.Contracts.StateCleaned = append(manifest.Contracts.StateCleaned, contractAddress) } func crawlJson(key string, value interface{}, idx int, strHandler func(string, interface{}, int) interface{}) interface{} {