diff --git a/app/upgrade_0_11_4.go b/app/upgrade_0_11_4.go index 1999b73f..71b362f6 100644 --- a/app/upgrade_0_11_4.go +++ b/app/upgrade_0_11_4.go @@ -124,7 +124,6 @@ func (app *App) WithdrawReconciliationBalances(ctx types.Context, networkInfo *N return fmt.Errorf("landing address does not exist") } - manifest.Reconciliation.Transfers = nil transfers := UpgradeReconciliationTransfers{} for _, record := range records { @@ -164,11 +163,19 @@ func (app *App) WithdrawReconciliationBalances(ctx types.Context, networkInfo *N if transfers.NumberOfTransfers > 0 { transfers.To = networkInfo.ReconciliationInfo.TargetAddress + + if manifest.Reconciliation == nil { + manifest.Reconciliation = &UpgradeReconciliation{} + } manifest.Reconciliation.Transfers = &transfers } else { if !transfers.AggregatedTransferredAmount.IsZero() { return fmt.Errorf("manifest: Transfers: `NumberOfTransfers` is zero but `AggregatedTransferredAmount` is not zero") } + + if manifest.Reconciliation != nil { + manifest.Reconciliation.Transfers = nil + } } return nil @@ -200,11 +207,18 @@ func (app *App) ReplaceReconciliationContractState(ctx types.Context, networkInf } if contractState.NumberOfBalanceRecords > 0 { + if manifest.Reconciliation == nil { + manifest.Reconciliation = &UpgradeReconciliation{} + } + manifest.Reconciliation.ContractState = &contractState } else { if !contractState.AggregatedBalancesAmount.IsZero() { return fmt.Errorf("manifest: ContractState: `NumberOfBalanceRecords` is zero but `AggregatedBalancesAmount` is not zero") } + if manifest.Reconciliation != nil { + manifest.Reconciliation.ContractState = nil + } } return nil diff --git a/app/upgrade_v_11_4_manifest.go b/app/upgrade_v_11_4_manifest.go index 91e11b26..5b2e0def 100644 --- a/app/upgrade_v_11_4_manifest.go +++ b/app/upgrade_v_11_4_manifest.go @@ -17,19 +17,7 @@ type UpgradeManifest struct { func NewUpgradeManifest() *UpgradeManifest { return &UpgradeManifest{ - Reconciliation: &UpgradeReconciliation{ - Transfers: &UpgradeReconciliationTransfers{ - Transfers: make([]UpgradeReconciliationTransfer, 0), - }, - ContractState: &UpgradeReconciliationContractState{ - Balances: make([]UpgradeReconciliationContractStateBalanceRecord, 0), - }, - }, - Contracts: &Contracts{ - StateCleaned: make([]string, 0), - AdminUpdated: make([]ContractValueUpdate, 0), - LabelUpdated: make([]ContractValueUpdate, 0), - }, + Contracts: &Contracts{}, } }