github.com/lino-network/lino@v0.6.11/x/global/model/dumper.go (about)

     1  package model
     2  
     3  import (
     4  	sdk "github.com/cosmos/cosmos-sdk/types"
     5  
     6  	"github.com/lino-network/lino/testutils"
     7  	types "github.com/lino-network/lino/types"
     8  )
     9  
    10  func NewDumper(store GlobalStorage, options ...testutils.OptionCodec) *testutils.Dumper {
    11  	dumper := testutils.NewDumper(store.key, store.cdc, options...)
    12  	dumper.RegisterType(&types.TimeEventList{}, "lino/global/eventlist", TimeEventListSubStore)
    13  	dumper.RegisterType(&GlobalTime{}, "lino/global/time", TimeSubStore)
    14  	dumper.RegisterType(&[]EventError{}, "lino/global/eventerr", EventErrorSubStore)
    15  	dumper.RegisterType(&[]types.BCEventErr{}, "lino/global/bceventerr", BCErrorSubStore)
    16  	return dumper
    17  }
    18  
    19  func DumpToFile(ctx sdk.Context, store GlobalStorage, filepath string) {
    20  	dumper := NewDumper(store)
    21  	dumper.DumpToFile(ctx, filepath)
    22  }
    23  
    24  func LoadFromFile(ctx sdk.Context, store GlobalStorage, filepath string) {
    25  	dumper := NewDumper(store)
    26  	dumper.LoadFromFile(ctx, filepath)
    27  }