MCPcopy Create free account
hub / github.com/akash-network/node / ExportGenesis

Method ExportGenesis

x/bme/keeper/genesis.go:70–119  ·  view source on GitHub ↗

ExportGenesis returns genesis state for the deployment module

(ctx sdk.Context)

Source from the content-addressed store, hash-verified

68
69// ExportGenesis returns genesis state for the deployment module
70func (k *keeper) ExportGenesis(ctx sdk.Context) *types.GenesisState {
71 params, err := k.GetParams(ctx)
72 if err != nil {
73 panic(err)
74 }
75
76 state, err := k.GetState(ctx)
77 if err != nil {
78 panic(err)
79 }
80
81 ledgerRecords := make([]types.GenesisLedgerRecord, 0)
82
83 err = k.IterateLedgerRecords(ctx, func(id types.LedgerRecordID, record types.LedgerRecord) (bool, error) {
84 ledgerRecords = append(ledgerRecords, types.GenesisLedgerRecord{
85 ID: id,
86 Record: record,
87 })
88 return false, nil
89 })
90 if err != nil {
91 panic(err)
92 }
93
94 ledgerPendingRecords := make([]types.GenesisLedgerPendingRecord, 0)
95 err = k.IterateLedgerPendingRecords(ctx, func(id types.LedgerRecordID, record types.LedgerPendingRecord) (bool, error) {
96 ledgerPendingRecords = append(ledgerPendingRecords, types.GenesisLedgerPendingRecord{
97 ID: id,
98 Record: record,
99 })
100
101 return false, nil
102 })
103 if err != nil {
104 panic(err)
105 }
106
107 return &types.GenesisState{
108 Params: params,
109 State: types.GenesisVaultState{
110 TotalBurned: state.TotalBurned,
111 TotalMinted: state.TotalMinted,
112 RemintCredits: state.RemintCredits,
113 },
114 Ledger: &types.GenesisLedgerState{
115 Records: ledgerRecords,
116 PendingRecords: ledgerPendingRecords,
117 },
118 }
119}

Callers

nothing calls this directly

Calls 4

GetParamsMethod · 0.95
GetStateMethod · 0.95
IterateLedgerRecordsMethod · 0.95

Tested by

no test coverage detected