@@ -9,14 +9,9 @@ import (
99
1010 cmtcfg "github.com/cometbft/cometbft/config"
1111 cmtjson "github.com/cometbft/cometbft/libs/json"
12- "github.com/cometbft/cometbft/light"
1312 "github.com/cometbft/cometbft/node"
1413 "github.com/cometbft/cometbft/p2p"
1514 pvm "github.com/cometbft/cometbft/privval"
16- cmtstore "github.com/cometbft/cometbft/proto/tendermint/store"
17- sm "github.com/cometbft/cometbft/state"
18- "github.com/cometbft/cometbft/statesync"
19- "github.com/cometbft/cometbft/store"
2015 cmtversion "github.com/cometbft/cometbft/version"
2116 "github.com/spf13/cobra"
2217 "sigs.k8s.io/yaml"
@@ -28,7 +23,6 @@ import (
2823 "github.com/cosmos/cosmos-sdk/client/grpc/cmtservice"
2924 rpc "github.com/cosmos/cosmos-sdk/client/rpc"
3025 cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
31- servercmtlog "github.com/cosmos/cosmos-sdk/server/log"
3226 "github.com/cosmos/cosmos-sdk/server/types"
3327 sdk "github.com/cosmos/cosmos-sdk/types"
3428 "github.com/cosmos/cosmos-sdk/types/query"
@@ -387,62 +381,7 @@ func BootstrapStateCmd(appCreator types.AppCreator) *cobra.Command {
387381 height = app .CommitMultiStore ().LastCommitID ().Version
388382 }
389383
390- blockStoreDB , err := cmtcfg .DefaultDBProvider (& cmtcfg.DBContext {ID : "blockstore" , Config : cfg })
391- if err != nil {
392- return err
393- }
394- blockStore := store .NewBlockStore (blockStoreDB )
395-
396- stateDB , err := cmtcfg .DefaultDBProvider (& cmtcfg.DBContext {ID : "state" , Config : cfg })
397- if err != nil {
398- return err
399- }
400- stateStore := sm .NewStore (stateDB , sm.StoreOptions {
401- DiscardABCIResponses : cfg .Storage .DiscardABCIResponses ,
402- })
403-
404- genState , _ , err := node .LoadStateFromDBOrGenesisDocProvider (stateDB , node .DefaultGenesisDocProviderFunc (cfg ))
405- if err != nil {
406- return err
407- }
408-
409- stateProvider , err := statesync .NewLightClientStateProvider (
410- cmd .Context (),
411- genState .ChainID , genState .Version , genState .InitialHeight ,
412- cfg .StateSync .RPCServers , light.TrustOptions {
413- Period : cfg .StateSync .TrustPeriod ,
414- Height : cfg .StateSync .TrustHeight ,
415- Hash : cfg .StateSync .TrustHashBytes (),
416- }, servercmtlog.CometLoggerWrapper {Logger : logger .With ("module" , "light" )})
417- if err != nil {
418- return fmt .Errorf ("failed to set up light client state provider: %w" , err )
419- }
420-
421- state , err := stateProvider .State (cmd .Context (), uint64 (height ))
422- if err != nil {
423- return fmt .Errorf ("failed to get state: %w" , err )
424- }
425-
426- commit , err := stateProvider .Commit (cmd .Context (), uint64 (height ))
427- if err != nil {
428- return fmt .Errorf ("failed to get commit: %w" , err )
429- }
430-
431- if err := stateStore .Bootstrap (state ); err != nil {
432- return fmt .Errorf ("failed to bootstrap state: %w" , err )
433- }
434-
435- if err := blockStore .SaveSeenCommit (state .LastBlockHeight , commit ); err != nil {
436- return fmt .Errorf ("failed to save seen commit: %w" , err )
437- }
438-
439- store .SaveBlockStoreState (& cmtstore.BlockStoreState {
440- // it breaks the invariant that blocks in range [Base, Height] must exists, but it do works in practice.
441- Base : state .LastBlockHeight ,
442- Height : state .LastBlockHeight ,
443- }, blockStoreDB )
444-
445- return nil
384+ return node .BootstrapState (cmd .Context (), cfg , cmtcfg .DefaultDBProvider , uint64 (height ), nil )
446385 },
447386 }
448387
0 commit comments